中文分词工具简介与安装教程(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.6 ltp

2.6.1 ltp简介

ltp语言技术平台(Language Technology Platform,LTP)是哈工大社会计算与信息检索研究中心历时十年开发的一整套中文语言处理系统。LTP制定了基于XML的语言处理结果表示,并在此基础上提供了一整套自底向上的丰富而且高效的中文语言处理模块(包括词法、句法、语义等6项中文处理核心技术),以及基于动态链接库(Dynamic Link Library, DLL)的应用程序接口、可视化工具,并且能够以网络服务(Web Service)的形式进行使用。

Ltp支持中文文本进行分词、词性标注、依存句法分析、语义角色标注、语义依存分析。

Ltp官方参考文档:https://github.com/HIT-SCIR/ltp

2.6.1 ltp安装问题反馈

Ltp的安装稍微麻烦一些,需要下载较多的文件,而且出现了较多的问题。

Ltp库下载网站:https://github.com/HIT-SCIR/ltp/releases

Ltp模型下载网站:http://ltp.ai/download.html

Ltp安装需要下载visual C++2015,下载地址:https://visualstudio.microsoft.com/zh-hans/downloads/

http://go.microsoft.com/fwlink/?LinkId=691126&fixForIE=.exe.

http://download.microsoft.com/download/B/8/9/B898E46E-CBAE-4045-A8E2-2D33DD36F3C4/vs2015.pro_chs.iso

因为ltp没有安装成功,所以本文考虑各个工具性能时不考虑ltp工具。

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

2.9 StanfordNLP

2.9.1 StanfordNLP简介

StanfordNLP是由Stanford高校创建的一个自然语言处理库,它包含了许多个小库,功能十分强大,包括常用的分词、词性标注、关键词提取。Stanford CoreNLP的源代码是使用Java写的,提供了Server方式进行交互。stanfordcorenlp是一个对Stanford CoreNLP进行了封装的Python工具包,使用非常方便。

2.9.2StanfordNLP安装

安装stanfordcorenlp很方便,只需要使用:pip install stanfordcorenlp,即可正确安装。

原文地址:https://www.cnblogs.com/maxxu11/p/12604569.html

时间: 2024-11-05 13:42:08

中文分词工具简介与安装教程(jieba、nlpir、hanlp、pkuseg、foolnltk、snownlp、thulac)的相关文章

中文分词工具——jieba

汉字是智慧和想象力的宝库. --索尼公司创始人井深大 简介 在英语中,单词就是"词"的表达,一个句子是由空格来分隔的,而在汉语中,词以字为基本单位,但是一篇文章的表达是以词来划分的,汉语句子对词构成边界方面很难界定.例如:南京市长江大桥,可以分词为:"南京市/长江/大桥"和"南京市长/江大桥",这个是人为判断的,机器很难界定.在此介绍中文分词工具jieba,其特点为: 社区活跃.目前github上有19670的star数目 功能丰富,支持关键词提

NLP(十三)中文分词工具的使用尝试

??本文将对三种中文分词工具进行使用尝试,这三种工具分别为哈工大的LTP,结巴分词以及北大的pkuseg. ??首先我们先准备好环境,即需要安装三个模块:pyltp, jieba, pkuseg以及LTP的分词模型文件cws.model.在用户字典中添加以下5个词语: 经 少安 贺凤英 F-35战斗机 埃达尔·阿勒坎 ??测试的Python代码如下: # -*- coding: utf-8 -*- import os import jieba import pkuseg from pyltp i

基于开源中文分词工具pkuseg-python,我用张小龙的3万字演讲做了测试

做过搜索的同学都知道,分词的好坏直接决定了搜索的质量,在英文中分词比中文要简单,因为英文是一个个单词通过空格来划分每个词的,而中文都一个个句子,单独一个汉字没有任何意义,必须联系前后文字才能正确表达它的意思. 因此,中文分词技术一直是nlp领域中的一大挑战.Python 中有个比较著名的分词库是结巴分词,从易用性来说对用户是非常友好的,但是准确度不怎么好.这几天发现另外一个库,pkuseg-python,看起来应该是北大的某个学生团队弄出来的,因为这方面没看到过多的介绍,pkuseg-pytho

java读取中文分词工具(三)

import java.io.EOFException; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.io.RandomAccessFile; import java.util.ArrayList; /* * 文件格式:已分词的文本,词语之间用空格,换行等空白符分割. * 到了文件末尾就结束 * 适合读取一行很大的文本,因为这里的缓冲不是一行,

java读取中文分词工具(四)

import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.RandomAccessFile; import java.io.Serializable; import java.util.ArrayList; import java.ut

java读取中文分词工具(2)

import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.StringTokenizer; /* * 文件格式:已分词的中文文本,每个词语空格分割,每行一个段落. * 这个类适

微信小程序开发工具下载以及安装教程

当我们已经申请微信小程序账号,接下来我们就需要安装一个微信小程序开发工具,下面微信小程序观察网请添加链接描述就和大家介绍一下微信小程序开发工具下载以及安装教程,希望对大家的工作与学习有所帮助! 第一步:微信公众平台上登录你的微信小程序账号 第二步:登录进入小程序开发-工具-下载,再根据你的系统选择相对应的版本地址进行下载. 第三步:以管理员身份运行下载,点击下一步,如图所示: 第四步:下一步,就会出现许可证协议,选择我接受.如图所示: 第五步:选定安装位置,浏览,选择桌面,点击安装,如图所示:

2 中文分词工具 jieba 和 HanLP

前言 中文分词有很多种,常见的比如有中科院计算所 NLPIR.哈工大 LTP.清华大学 THULAC .斯坦福分词器.Hanlp 分词器.jieba 分词.IKAnalyzer 等.这里针对 jieba 和 HanLP 分别介绍不同场景下的中文分词应用. jieba 分词 jieba 安装 (1)Python 2.x 下 jieba 的三种安装方式,如下: 全自动安装:执行命令 easy_install jieba 或者 pip install jieba / pip3 install jieb

PyNLPIR python中文分词工具

官网:https://pynlpir.readthedocs.io/en/latest/ github:https://github.com/tsroten/pynlpir NLPIR分词系统前身为2000年发布的ICTCLAS词法分析系统,从2009年开始,为了和以前工作进行大的区隔,并推广NLPIR自然语言处理与信息检索共享平台,调整命名为NLPIR分词系统. 其主要的功能有中文分词,标注词性和获取句中的关键词. 主要用到的函数有两个: pynlpir.segment(s, pos_tagg