常用分词工具使用教程
常用分词工具使用教程
以下分词工具均能在Python环境中直接调用(排名不分先后)。
jieba(结巴分词) 免费使用
HanLP(汉语言处理包) 免费使用
SnowNLP(中文的类库) 免费使用
FoolNLTK(中文处理工具包) 免费使用
Jiagu(甲骨NLP) 免费使用
pyltp(哈工大语言云) 商用需要付费
THULAC(清华中文词法分析工具包) 商用需要付费
NLPIR(汉语分词系统) 付费使用
“结巴”中文分词:做最好的 Python 中文分词组件。
项目Github地址:jieba
安装:
pip install jieba
使用:
importjiebajieba.initialize()text='化妆和服装'words=jieba.cut(text)words=list(words)print(words)
HanLP是一系列模型与算法组成的NLP工具包,由大快搜索主导并完全开源,目标是普及自然语言处理在生产环境中的应用。HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点。
项目Github地址:pyhanlp
安装:
pip install pyhanlp
使用:
importpyhanlptext='化妆和服装'words=[]forterminpyhanlp.HanLP.segment(text):words.append(term.word)print(words)
SnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和TextBlob不同的是,这里没有用NLTK,所有的算法都是自己实现的,并且自带了一些训练好的字典。
项目Github地址:snownlp
安装:
pip install snownlp
使用:
importsnownlptext='化妆和服装'words=snownlp.SnowNLP(text).wordsprint(words)
可能不是最快的开源中文分词,但很可能是最准的开源中文分词。
项目Github地址:FoolNLTK
安装:
pip install foolnltk
使用:
importfooltext='化妆和服装'words=fool.cut(text)print(words)
基于BiLSTM模型,使用大规模语料训练而成。将提供中文分词、词性标注、命名实体识别、关键词抽取、文本摘要、新词发现等常用自然语言处理功能。参考了各大工具优缺点制作,将Jiagu回馈给大家。
项目Github地址:jiagu
安装:
pip3 install jiagu
使用:
importjiagujiagu.init()text='化妆和服装'words=jiagu.seg(text)print(words)
pyltp 是 LTP 的 Python 封装,提供了分词,词性标注,命名实体识别,依存句法分析,语义角色标注的功能。
安装:
pip install pyltp
使用:
importpyltpsegmentor=pyltp.Segmentor()segmentor.load('model/ltp_data_v3.4.0/cws.model')#模型放置的路径text='化妆和服装'words=segmentor.segment(text)words=list(words)print(words)
THULAC(THU Lexical Analyzer for Chinese)由清华大学自然语言处理与社会人文计算实验室研制推出的一套中文词法分析工具包,具有中文分词和词性标注功能。
项目Github地址:THULAC-Python
安装:
pip install thulac
使用:
importthulacthu=thulac.thulac(seg_only=True)text='化妆和服装'words=thu.cut(text,text=True).split()print(words)
主要功能包括中文分词;英文分词;词性标注;命名实体识别;新词识别;关键词提取;支持用户专业词典与微博分析。NLPIR系统支持多种编码、多种操作系统、多种开发语言与平台。
项目Github地址:pynlpir
安装:
pip install pynlpir
下载证书覆盖到安装目录,NLPIR.user例如安装目录:/usr/lib64/python3.4/site-packages/pynlpir/Data
使用:
importpynlpirpynlpir.open()text='化妆和服装'words=pynlpir.segment(text,pos_tagging=False)print(words)pynlpir.close()