中文分詞工具簡介與安裝教程(jieba、nlpir、hanlp、pkuseg、foolnltk、snownlp、thulac)


2.1 jieba

2.1.1 jieba簡介

Jieba中文含義結巴,jieba庫是目前做的最好的python分詞組件。首先它的安裝十分便捷,只需要使用pip安裝;其次,它不需要另外下載其它的數據包,在這一點上它比其余五款分詞工具都要便捷。另外,jieba庫支持的文本編碼方式為utf-8。

Jieba庫包含許多功能,如分詞、詞性標注、自定義詞典、關鍵詞提取。基於jieba的關鍵詞提取有兩種常用算法,一是TF-IDF算法;二是TextRank算法。基於jieba庫的分詞,包含三種分詞模式:

  • 精准模式:試圖將句子最精確地切開,適合文本分析);
  • 全模式:把句子中所有的可以成詞的詞語都掃描出來, 速度非常快,但是不能解決歧義);
  • 搜索引擎模式:搜索引擎模式,在精確模式的基礎上,對長詞再次切分,提高召回率,適合用於搜索引擎分詞。

Jieba官方文檔:https://pypi.org/project/jieba/

2.1.2 jieba安裝

Jieba庫安裝比較便捷,只需要在命令框中輸入:pip install jieba;或者在pycharm中,通過setting-project安裝。

2.2 thulac

2.2.1 thulac簡介

THULAC(THU Lexical Analyzer for Chinese)由清華大學自然語言處理與社會人文計算實驗室研制推出的一套中文詞法分析工具包,具有中文分詞和詞性標注功能。THULAC集成了目前世界上規模最大的人工分詞和詞性標注中文語料庫(約含5800萬字),模型標注能力強大。該工具包在標准數據集Chinese Treebank(CTB5)上分詞的F1值可達97.3%,詞性標注的F1值可達到92.9%。同時進行分詞和詞性標注速度為300KB/s,每秒可處理約15萬字。只進行分詞速度可達到1.3MB/s。總的來說,可以理解為thulac訓練的分詞、詞性標注語料庫很大,性能優良。

Thulac的簡單分詞,可以通過python程序import thulac,新建thulac.thulac(args)類,其中args為程序的參數,之后可以通過調用thulac.cut()進行單句分詞。

Thulac使用參考文檔:http://thulac.thunlp.org/

2.2.2 thulac安裝

Thulac庫的安裝也較為簡單,不需要下載特別的數據包,安裝方法:pip install thulac。但是需要注意一點,可能會存在license過期問題,

解決方法:https://www.cnblogs.com/maxxu11/p/12546096.html

2.3 foolNLTK

2.3.1 foolNLTK簡介

FoolNLTK是一個使用雙向LSTM(BiLSTM 模型)構建的便捷的中文處理工具包,可支持python編譯環境。FoolNLTK包含中文分詞、詞性標注、命名實體識別、自定義用戶詞典。根據官方文檔描述,這個中文工具包可能不是最快的開源中文分詞,但很可能是最准的開源中文分詞。

Foolnltk分詞、詞性標注、命名實體識別應用十分簡單,只需要調用cut、pos_cut、analysis函數。

2.3.2 foolNLTK安裝

Foolnltk安裝也不需要數據包,但是它需要依賴庫,如tesonflow庫,如果沒有安裝這個庫,運行foolnltk安裝會失敗。foolnltk安裝方法:pip install foolnltk,tensorflow安裝方法:pip install tensorflow==1.15,解釋foolnltk依賴tensorflow 1.15版本的,安裝最新版會出錯。

2.4 hanLP

2.4.1 hanlp簡介

HanLP是一系列模型與算法組成的NLP工具包,由大快搜索主導並完全開源,目標是普及自然語言處理在生產環境中的應用。hanlp支持中文分詞(N-最短路分詞、CRF分詞、索引分詞、用戶自定義詞調、詞性標注),命名實體識別(中國人民、音譯人民、日本人民,地名,實體機構名識別),關鍵詞提取,自動摘要,短語提取,拼音轉換,簡繁轉換,文本推薦,依存句法分析(MaxEnt依存句法分析、神經網絡依存句法分析)。

Hanlp支持python環境下編譯運行,pyhanlp是hanlp為封裝的python組件。Pyhanlp也支持分詞、詞性標注、命名實體識別。

Hanlp官方參考文檔:https://github.com/hankcs/HanLP

2.4.2 pyhanlp安裝

在python環境下運作hanlp,需要下載安裝pyhanlp庫,安裝方法:pip install pyhanlp,另外還需要下載data-for-1.7.7.zip數據包,並將數據放置到pyhanlp的庫文件中,再運行from python import *即可自動解壓。

Data數據包下載地址:https://github.com/hankcs/HanLP/releases

具體安裝步驟可以參考這篇文檔:https://www.cnblogs.com/maxxu11/p/12594387.html

2.5 nlpir

2.5.1 nlpir簡介

Nlpir平台是文本數據處理平台,NLPIR平台能夠全方位多角度滿足應用者對大數據文本的處理需求,包括大數據完整的技術鏈條:網絡抓取、正文提取、中英文分詞、詞性標注、實體抽取、詞頻統計、關鍵詞提取、語義信息抽取、文本分類、情感分析、語義深度擴展、繁簡編碼轉換、自動注音、文本聚類等。pynlpir是NLPIR / ICTCLAS中文分詞軟件的Python包裝器,它具有分詞、詞性標注、關鍵詞提取等功能。

2.5.2 nlpir安裝

在pycharm環境下使用nlpir,需要安裝pynlpir模塊,安裝命令:pip install pynlpir。

2.7 PKUseg

2.7.1 PKUseg簡介

pkuseg是由北京大學語言計算與機器學習研究組研制推出的一套全新的中文分詞工具包。pkuseg具有如下幾個特點:1、多領域分詞。不同於以往的通用中文分詞工具,此工具包同時致力於為不同領域的數據提供個性化的預訓練模型。根據待分詞文本的領域特點,用戶可以自由地選擇不同的模型。PKUseg目前支持了新聞領域,網絡領域,醫葯領域,旅游領域,以及混合領域的分詞預訓練模型。在使用中,如果用戶明確待分詞的領域,可加載對應的模型進行分詞。如果用戶無法確定具體領域,推薦使用在混合領域上訓練的通用模型。2、更高的分詞准確率。相比於其他的分詞工具包,當使用相同的訓練數據和測試數據,pkuseg可以取得更高的分詞准確率。3、支持用戶自訓練模型。支持用戶使用全新的標注數據進行訓練。4、支持詞性標注。

總的來說,PKUseg功能很完善,而且分詞准確率很高(后面測試測試看看,是不是如文檔描述的這樣)。

Pkuseg分詞可以設定需要分詞文本類型,這一點優於其它分詞器。模型可根據model_name選擇不同的模型,如醫療語料可以選擇medical,金融finance等等。

Pkuseg具體使用可以參考官方文檔:

https://www.biaodianfu.com/pkuseg.html

https://github.com/lancopku/PKUSeg-python

2.7.2 PUKseg安裝

PKUseg目前暫時只支持python3.0以上版本,PUKseg需要的data比較多,如用於分詞的postag、數據模型,因此安裝會比較繁瑣一些。首先,安裝pkuseg,通過pip install pkuseg 安裝;其次,下載數據包,並放置到C盤的目錄下,這個目錄可以通過運行下面這段代碼找出:

import pkuseg

seg = pkuseg.pkuseg(model_name='news')  # 程序會自動下載所對應的細領域模型

text = seg.cut('我以前用的是大哥大')              # 進行分詞

print(text)

詞性標注和數據包下載地址:https://github.com/lancopku/pkuseg-python/releases

2.8 SnowNLP

2.8.1 SonwNLP簡介

SnowNLP是一個python寫的類庫,可以方便的處理中文文本內容,是受到了TextBlob的啟發而寫的,由於現在大部分的自然語言處理庫基本都是針對英文的,於是寫了一個方便處理中文的類庫,並且和TextBlob不同的是,這里沒有用NLTK,所有的算法都是自己實現的,並且自帶了一些訓練好的字典。注意本程序都是處理的unicode編碼,所以使用時請自行decode成unicode。簡單來說,snownlp是一個中文的自然語言處理的Python庫,snownlp主要功能有:中文分詞、詞性標注、情感分析、文本分類、轉換成拼音、繁體轉簡體、提取文本關鍵詞、提取文本摘要、tf,idf、Tokenization、文本相似。

總結:snowNLP庫的情感分析模塊,使用非常方便,功能也很豐富,非常建議大家使用。

官方參考文檔:https://github.com/isnowfy/snownlp

2.8.2 SonwNLP安裝

Snownlp作為一個基於python自然語言處理原生庫,使用方便是它的優點,同時安裝也很方便。安裝代碼:pip install snownlp


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM