搜索
您的当前位置:首页正文

中文分词工具简介与安装教程(jieba、nlpir、hanlp、pkuseg、foolnl。。。

来源:哗拓教育
中⽂分词⼯具简介与安装教程(jieba、nlpir、hanlp、pkuseg、

foolnl。。。2.1 jieba

2.1.1 jieba简介

Jieba中⽂含义结巴,jieba库是⽬前做的最好的python分词组件。⾸先它的安装⼗分便捷,只需要使⽤pip安装;其次,它不需要另外下载其它的数据包,在这⼀点上它⽐其余五款分词⼯具都要便捷。另外,jieba库⽀持的⽂本编码⽅式为utf-8。

Jieba库包含许多功能,如分词、词性标注、⾃定义词典、关键词提取。基于jieba的关键词提取有两种常⽤算法,⼀是TF-IDF算法;⼆是TextRank算法。基于jieba库的分词,包含三种分词模式:

精准模式:试图将句⼦最精确地切开,适合⽂本分析);

全模式:把句⼦中所有的可以成词的词语都扫描出来, 速度⾮常快,但是不能解决歧义);

搜索引擎模式:搜索引擎模式,在精确模式的基础上,对长词再次切分,提⾼召回率,适合⽤于搜索引擎分词。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使⽤参考⽂档:2.2.2 thulac安装

Thulac库的安装也较为简单,不需要下载特别的数据包,安装⽅法:pip install thulac。但是需要注意⼀点,可能会存在license过期问题,解决⽅法:

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安装⽅法:pipinstall 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官⽅参考⽂档:

2.4.2 pyhanlp安装

在python环境下运作hanlp,需要下载安装pyhanlp库,安装⽅法:pip install pyhanlp,另外还需要下载data-for-1.7.7.zip数据包,并将数据放置到pyhanlp的库⽂件中,再运⾏from python import *即可⾃动解压。Data数据包下载地址:

具体安装步骤可以参考这篇⽂档:

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具体使⽤可以参考官⽅⽂档:

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)

词性标注和数据包下载地址:

2.8 SnowNLP

2.8.1 SonwNLP简介

SnowNLP是⼀个python写的类库,可以⽅便的处理中⽂⽂本内容,是受到了TextBlob的启发⽽写的,由于现在⼤部分的⾃然语⾔处理库基本都是针对英⽂的,于是写了⼀个⽅便处理中⽂的类库,并且和TextBlob不同的是,这⾥没有⽤NLTK,所有的算法都是⾃⼰实现的,并且⾃带了⼀些训练好的字典。注意本程序都是处理的unicode编码,所以使⽤时请⾃⾏decode成unicode。简单来说,snownlp是⼀个中⽂的⾃然语⾔处理的Python库,snownlp主要功能有:中⽂分词、词性标注、情感分析、⽂本分类、转换成拼⾳、繁体转简体、提取⽂本关键词、提取⽂本摘要、tf,idf、Tokenization、⽂本相似。

总结:snowNLP库的情感分析模块,使⽤⾮常⽅便,功能也很丰富,⾮常建议⼤家使⽤。官⽅参考⽂档:

2.8.2 SonwNLP安装

Snownlp作为⼀个基于python⾃然语⾔处理原⽣库,使⽤⽅便是它的优点,同时安装也很⽅便。安装代码:pip install snownlp

因篇幅问题不能全部显示,请点此查看更多更全内容

Top