天天看點

部分常用分詞工具使用整理

以下分詞工具均能在Python環境中直接調用(排名不分先後)。

1、jieba(結巴分詞) 免費使用

2、HanLP(漢語言處理包) 免費使用

3、SnowNLP(中文的類庫) 免費使用

4、FoolNLTK(中文處理工具包) 免費使用

5、Jiagu(甲骨NLP) 免費使用

6、pyltp(哈工大語言雲) 商用需要付費

7、THULAC(清華中文詞法分析工具包) 商用需要付費

8、NLPIR(漢語分詞系統) 付費使用

1、jieba(結巴分詞)

“結巴”中文分詞:做最好的 Python 中文分詞元件。

項目Github位址:jieba

安裝:

pip install jieba

使用:

import jieba

jieba.initialize()

text = '化妝和服裝'

words = jieba.cut(text)

words = list(words)

print(words)

2、HanLP(漢語言處理包)

HanLP是一系列模型與算法組成的NLP工具包,由大快搜尋主導并完全開源,目标是普及自然語言處理在生産環境中的應用。HanLP具備功能完善、性能高效、架構清晰、語料時新、可自定義的特點。

項目Github位址:pyhanlp

pip install pyhanlp

import pyhanlp

words = []

for term in pyhanlp.HanLP.segment(text):

words.append(term.word)           

3、SnowNLP(中文的類庫)

SnowNLP是一個python寫的類庫,可以友善的進行中文文本内容,是受到了TextBlob的啟發而寫的,由于現在大部分的自然語言處理庫基本都是針對英文的,于是寫了一個友善進行中文的類庫,并且和TextBlob不同的是,這裡沒有用NLTK,所有的算法都是自己實作的,并且自帶了一些訓練好的字典。

項目Github位址:snownlp

pip install snownlp

import snownlp

words = snownlp.SnowNLP(text).words

4、FoolNLTK(中文處理工具包)

可能不是最快的開源中文分詞,但很可能是最準的開源中文分詞。

項目Github位址:FoolNLTK

pip install foolnltk

import fool

words = fool.cut(text)

5、Jiagu(甲骨NLP)

基于BiLSTM模型,使用大規模語料訓練而成。将提供中文分詞、詞性标注、命名實體識别、關鍵詞抽取、文本摘要、新詞發現等常用自然語言處理功能。參考了各大工具優缺點制作,将Jiagu回饋給大家。

項目Github位址:jiagu

pip3 install jiagu

import jiagu

jiagu.init()

words = jiagu.seg(text)

6、pyltp(哈工大語言雲)

pyltp 是 LTP 的 Python 封裝,提供了分詞,詞性标注,命名實體識别,依存句法分析,語義角色标注的功能。

項目Github位址:pyltp,3.4模型下載下傳連結:網盤

pip install pyltp

import pyltp

segmentor = pyltp.Segmentor()

segmentor.load('model/ltp_data_v3.4.0/cws.model') # 模型放置的路徑

words = segmentor.segment(text)

7、THULAC(清華中文詞法分析工具包)

THULAC(THU Lexical Analyzer for Chinese)由清華大學自然語言處理與社會人文計算實驗室研制推出的一套中文詞法分析工具包,具有中文分詞和詞性标注功能。

項目Github位址:THULAC-Python

pip install thulac

import thulac

thu = thulac.thulac(seg_only=True)

words = thu.cut(text, text=True).split()

NLPIR(漢語分詞系統)

主要功能包括中文分詞;英文分詞;詞性标注;命名實體識别;新詞識别;關鍵詞提取;支援使用者專業詞典與微網誌分析。NLPIR系統支援多種編碼、多種作業系統、多種開發語言與平台。

項目Github位址:pynlpir

pip install pynlpir

下載下傳證書覆寫到安裝目錄,NLPIR.user 例如安裝目錄:/usr/lib64/python3.4/site-packages/pynlpir/Data

import pynlpir

pynlpir.open()

words = pynlpir.segment(text, pos_tagging=False)

pynlpir.close()

繼續閱讀