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 例項
-----------------------------------------------------------------------------------------------------------------
未完待續 . . . . . .
相關文章
- python 中文分詞包 jiebaPython中文分詞Jieba
- python jieba庫,句子分詞PythonJieba分詞
- [Python] 基於 jieba 的中文分詞總結PythonJieba中文分詞
- python使用jieba實現中文文件分詞和去停用詞PythonJieba分詞
- 中文分詞原理及常用Python中文分詞庫介紹中文分詞Python
- Laravel 中使用 PHP 分詞庫 (jieba) 和 (scws)LaravelPHP分詞Jieba
- 將使用jieba分詞的語料庫轉化成TFIDF向量Jieba分詞
- 如何用Python做中文分詞?Python中文分詞
- Python 自然語言處理(基於jieba分詞和NLTK)Python自然語言處理Jieba分詞
- python 實現中文分詞統計Python中文分詞
- jieba 詞性標註 & 並行分詞Jieba詞性標註並行分詞
- JB的Python之旅-資料分析篇-jieba&wordcloud(詞雲)PythonJiebaCloud
- 使用cjieba(結巴分詞庫)實現php擴充套件中文分詞JiebaPHP套件中文分詞
- 【python學習手冊】02|使用Python提取中文關鍵詞?Python
- python學習筆記——jieba庫入門Python筆記Jieba
- Hanlp在java中文分詞中的使用介紹HanLPJava中文分詞
- java版JieBa分詞原始碼走讀JavaJieba分詞原始碼
- 自然語言處理之jieba分詞自然語言處理Jieba分詞
- Python詞雲庫wordcloud中文顯示問題詳解PythonCloud
- python分詞和生成詞雲圖Python分詞
- Python自然語言處理實戰(3):中文分詞技術Python自然語言處理中文分詞
- 如何用Python提取中文關鍵詞?Python
- 使用Docker快速安裝部署ES和Kibana並配置IK中文分詞器以及自定義分詞擴充詞庫Docker中文分詞
- elasticsearch教程--中文分詞器作用和使用Elasticsearch中文分詞
- Python文字處理NLP:分詞與詞雲圖Python分詞
- 使用cjieba(結巴分詞庫)實現php擴充套件中文分詞-支援php5, php7JiebaPHP套件中文分詞
- #Elasticsearch中文分詞器 #IK分詞器 @FDDLCElasticsearch中文分詞
- python呼叫hanlp分詞包手記PythonHanLP分詞
- 分詞工具Hanlp基於感知機的中文分詞框架HanLP中文分詞框架
- NLP之中文分詞中文分詞
- 中文分詞技術中文分詞
- 中文分詞工具之基於字標註法的分詞中文分詞
- python中time庫的例項使用方法Python
- Coreseek-帶中文分詞的Sphinx中文分詞
- 古詩詞 中文 分詞 自動化分詞
- HanLP分詞工具中的ViterbiSegment分詞流程HanLP分詞Viterbi
- ElasticSearch7.3學習(十五)----中文分詞器(IK Analyzer)及自定義詞庫Elasticsearch中文分詞
- Hanlp等七種優秀的開源中文分詞庫推薦HanLP中文分詞