1. 程式人生 > >Python:Python 中 jieba 庫的使用(中文分詞)

Python:Python 中 jieba 庫的使用(中文分詞)

==================================================================

一、說明:

    1、支援三種分詞模式:

             精確模式,試圖將句子最精確地切開,適合文字分析

             全模式,把句子中所有的可以成詞的詞語都掃描出來, 速度非常快,但是不能解決歧義;

             搜尋引擎模式,在精確模式的基礎上,對長詞再次切分,提高召回率,適合用於搜尋引擎分詞。

    2、支援繁體分詞

    3、支援自定義詞典

    4、MIT 授權協議

-----------------------------------------------------------------------------------------------------------------

二、主功能:

    1、jieba.cut 方法接受三個輸入引數: 

            需要分詞的字串;

            cut_all 引數用來控制是否採用全模式,否則為精確模式;

            HMM 引數用來控制是否使用 HMM 模型。

    2、jieba.cut_for_search 方法接受兩個引數(該方法適合用於搜尋引擎構建倒排索引的分詞,粒度比較細):

            需要分詞的字串;

            是否使用 HMM 模型;

    PS:待分詞的字串可以是 unicode 或 UTF-8 字串、GBK 字串。

            注意:不建議直接輸入 GBK 字串,可能無法預料地錯誤解碼成 UTF-8

            jieba.cut 以及 jieba.cut_for_search 返回的結構都是一個可迭代的 generator;

            或者用jieba.lcut 以及 jieba.lcut_for_search 直接返回 list;

            jieba.Tokenizer(dictionary=DEFAULT_DICT) 新建自定義分詞器,可用於同時使用不同詞典。

            jieba.dt 為預設分詞器,所有全域性分詞相關函式都是該分詞器的對映。

-----------------------------------------------------------------------------------------------------------------

三、新增自定義字典:

    1、用法: 

            jieba.load_userdict(file_name) # file_name 為檔案類物件或自定義詞典的路徑;

    2、詞典格式:

            和 dict.txt 一樣,一個詞佔一行;

            每一行分三部分:詞語、詞頻(可省略)、詞性(可省略),用空格隔開,順序不可顛倒;

            file_name 若為路徑或二進位制方式開啟的檔案,則檔案必須為 UTF-8 編碼;

            詞頻省略時使用自動計算的能保證分出該詞的詞頻。

-----------------------------------------------------------------------------------------------------------------

四、調整詞典:

    1、使用 add_word(word, freq=None, tag=None) 和 del_word(word) 可在程式中動態修改詞典;

    2、使用 suggest_freq(segment, tune=True) 可調節單個詞語的詞頻,使其能(或不能)被分出來;

    PS:注意:自動計算的詞頻在使用 HMM 新詞發現功能時可能無效。

-----------------------------------------------------------------------------------------------------------------

五、基於 TF-IDF 演算法的關鍵詞抽取:

    1、匯入:import jieba.analyse

    2、jieba.analyse.extract_tags(sentence, topK=20, withWeight=False, allowPOS=())

            sentence 為待提取的文字;

            topK 為返回幾個 TF/IDF 權重最大的關鍵詞,預設值為 20;

            withWeight 為是否一併返回關鍵詞權重值,預設值為 False;

            allowPOS 僅包括指定詞性的詞,預設值為空,即不篩選;

    3、jieba.analyse.TFIDF(idf_path=None) 新建 TFIDF 例項,idf_path 為 IDF 頻率檔案;

-----------------------------------------------------------------------------------------------------------------

六、基於 TextRank 演算法的關鍵詞抽取

    1、jieba.analyse.textrank(sentence, topK=20, withWeight=False, allowPOS=('ns', 'n', 'vn', 'v')) ;

    2、直接使用,介面相同,注意預設過濾詞性;

    3、jieba.analyse.TextRank() 新建自定義 TextRank 例項

-----------------------------------------------------------------------------------------------------------------

未完待續 . . . . . . 

相關推薦

PythonPython jieba 的使用中文

==================================================================一、說明:    1、支援三種分詞模式:             精確模式,試圖將句子最精確地切開,適合文字分析             全模式

python 讀寫txt文件並用jieba進行中文

mage 亂碼 技術分享 流行 ictclas 函數 結果 class 配置 python用來批量處理一些數據的第一步吧。 對於我這樣的的萌新。這是第一步。 #encoding=utf-8 file=‘test.txt‘ fn=open(file,"r") print f

使用python jieba進行中文

jieba “結巴”中文分詞:做最好的 Python 中文分片語件 "Jieba" (Chinese for "to stutter") Chinese text segmentation: built to be the best Python Chinese word

python讀寫txt檔案,並用jieba進行中文

在虎撲上隨便找了一段文字,貼上到word.txt檔案中,然後對這段文字進行處理。其中用到的matplotlib庫,主要是用來繪圖;jieba庫,對文字進行分詞;wordcloud庫,構建詞雲。一、引用庫

搜尋引擎的那些事中文

                【 宣告:版權所有,歡迎轉載,請勿用於商業用途。  聯絡信箱:feixiaoxing @163.com】     前面,我們在介紹搜尋引擎的時候也談到過中文分詞。和英文不一樣,中文上所有的漢字都是連在一起的,所以我們的一項工作就是把這些詞語拆分成一個一個片語。因為只有這樣才能構

Python第三方jieba結巴-中文入門與進階官方文檔

修改 demo 特點 pypi nlp CA 動態修改 tag 官方文檔 jieba “結巴”中文分詞:做最好的 Python 中文分詞組件。下載地址:https://github.com/fxsjy/jieba 特點 支持三種分詞模式: 精確模式,試圖將句子最精確地

python序列_元組常用基礎知識

err error: 指定 序列相加 針對 enumerate 最小值 推導式 ror 詳細如下: #元組:不可變列表,值不可修改,順序不可變 #元組有很多繼承序列的內容如下: #序列索引從0開始,從最後起則索引為-1 a = (1,8,3,9,5,6) b = (‘小

python機器學習——結巴中文

結巴中文分詞 安裝: pip install jieba1 特點: 支援三種分詞模式: 精確模式,試圖將句子最精確地切開,適合文字分析; 全模式,把句子中所有的可以成詞的詞語都掃描出來, 速度非常快,但是不能解決歧義; 搜尋引擎模式,在精確

python進行資料預處理,過濾特殊符號,英文和數字。適用於中文

要進行中文分詞,必須要求資料格式全部都是中文,需求過濾掉特殊符號、標點、英文、數字等。當然了使用者可以根據自己的要求過濾自定義字元。 實驗環境:python、mysql 實驗目的:從資料庫讀取資料,

STM32學習三下載標準外設Standard Peripherals Library

要想進行STM32程式設計,一是直接操作暫存器,這在上節有介紹,另一個辦法是使用官方提供的標準外設庫(Standard Peripherals Library )。 其實這也沒什麼好說的,按說既然是官方外設庫,應該在官網直接可以下載,可能原來是這樣的,只是我按網上提供的方法

數據分庫中間件對比

系統瓶頸 地址 ring 缺點 無需 網絡io 數據遷移 用戶 osql 轉自:http://www.cnblogs.com/cangqiongbingchen/p/7094822.html 分區:對業務透明,分區只不過把存放數據的文件分成了許多小塊,例如mysql中的一張

《數學之美》讀書記錄【思維導圖記錄】第四章,談談中文

post IT .cn splay top style title mage blog 《數學之美》讀書記錄【思維導圖記錄】:第四章,談談中文分詞

mysql8使用自帶全文索引中文

lte not null incr sdh values 自帶 var 科學 全文索引 修改配置文件:vim /etc/my.cnf [mysqld] ngram_token_size=2 創建表: create table test( id int(11) not nu

中文的演算法與實現結巴

       宣告:程式碼的執行環境為Python3。Python3與Python2在一些細節上會有所不同,希望廣大讀者注意。本部落格以程式碼為主,程式碼中會有詳細的註釋。相關文章將會發布在我的個人部落格專欄《Python自然語言處理》,歡迎大家關注。

ElasticSearch建立索引中文、拼音搜尋

    我這裡用到的建立索引主要用來進行中文分詞搜尋和拼音搜尋功能,建立語句如下: 1、建立索引: PUT /lzjsyd/ { "index" : { "analysis

python中文jieba

 先上效果圖: 資料來源: 分詞後的txt檔案: 分詞後的excel檔案: 原始碼: #!/usr/bin/python # -*- coding: UTF-8 -*- # *************************************

NLP之情感分析基於python程式設計(jieba)實現中文文字情感分析(得到的是情感評分)

NLP之情感分析:基於python程式設計(jieba庫)實現中文文字情感分析(得到的是情感評分) 輸出結果 1、測試物件 data1= '今天上海的天氣真好!我的心情非常高興!如果去旅遊的話我會非常興奮!和你一起去旅遊我會更加幸福!' data2= '今天上海天氣真差,非常討厭下雨,把

基於python中文jieba

簡介 分詞共分三種模式: 精確模式: 試圖將句子最精確的切開 全模式:掃描出句子中所有可能的詞語,速度快 搜尋引擎模式:在精確模式的基礎上,對長詞再次切分適合用於搜尋引擎分詞 例子: import jieba string = '結巴這個分詞工具真的特別的

在PyCharmPython整合開發環境安裝jieba中文工具包

PyCharm IDE中,可以直接引入各種工具包。jieba中文分詞工具包安裝非常方便。 1、開啟Pycharm,點選左上角  >>File  >>Settings。 2、在settings介面中點選Project :***(專案名稱)  >

Python 字符串格式化學習

format) 括號 star date 2-0 jea 渲染 port 花括號 python從2.6開始支持format,新的更加容易讀懂的字符串格式化方法, 從原來的% 模式變成新的可讀性更強的 花括號聲明{}、用於渲染前的參數引用聲明, 花括號裏可以用數字代