中文分词工具在线PK新增:FoolNLTK、HITLTP、StanfordCoreNLP

栏目: 编程工具 · 发布时间: 5年前

内容简介:继续中文分词在线PK之旅,上文《

中文分词 <a href='https://www.codercto.com/tool.html'>工具</a> 在线PK新增:FoolNLTK、HITLTP、StanfordCoreNLP

继续中文分词在线PK之旅,上文《 五款中文分词工具在线PK: Jieba, SnowNLP, PkuSeg, THULAC, HanLP 》我们选择了5个中文分词开源工具,这次再追加3个,分别是FoolNLTK、哈工大LTP(pyltp, ltp的 python 封装)、斯坦福大学的CoreNLP(stanfordcorenlp is a Python wrapper for Stanford CoreNLP),测试一下中文分词:我爱自然语言处理:

中文分词工具在线PK新增:FoolNLTK、HITLTP、StanfordCoreNLP

以下是在Python3.x & Ubuntu16.04 的环境下测试及安装这些中文分词器:

6) FoolNLTKhttps://github.com/rockyzhengwu/FoolNLTK

特点

可能不是最快的开源中文分词,但很可能是最准的开源中文分词

基于BiLSTM模型训练而成

包含分词,词性标注,实体识别,都有比较高的准确率

用户自定义词典

可训练自己的模型

批量处理

定制自己的模型

get clone https://github.com/rockyzhengwu/FoolNLTK.git

cd FoolNLTK/train

详细训练步骤可参考文档

仅在linux Python3环境测试通过

安装,依赖TensorFlow, 会自动安装:

pip install foolnltk

中文分词示例:

In [1]: import fool                                                              
 
In [2]: text = "我爱自然语言处理"                                                
 
In [3]: print(fool.cut(text))                                                    
[['我', '爱', '自然', '语言', '处理']]
 
In [4]: print(' '.join(fool.cut(text)[0]))                                       
我 爱 自然 语言 处理

7) LTP: https://github.com/HIT-SCIR/ltp

pyltp : https://github.com/HIT-SCIR/pyltp

pyltp 是 语言技术平台(Language Technology Platform, LTP) 的 Python 封装。

安装 pyltp

注:由于新版本增加了新的第三方依赖如dynet等,不再支持 windows 下 python2 环境。

使用 pip 安装

使用 pip 安装前,请确保您已安装了 pip

$ pip install pyltp

接下来,需要下载 LTP 模型文件。

下载地址 - `模型下载 http://ltp.ai/download.html`_

当前模型版本 - 3.4.0

注意在windows下 3.4.0 版本的 语义角色标注模块 模型需要单独下载,具体查看下载地址链接中的说明。

请确保下载的模型版本与当前版本的 pyltp 对应,否则会导致程序无法正确加载模型。

从源码安装

您也可以选择从源代码编译安装

$ git clone https://github.com/HIT-SCIR/pyltp

$ git submodule init

$ git submodule update

$ python setup.py install

安装完毕后,也需要下载相应版本的 LTP 模型文件。

这里使用"pip install pyltp"安装,安装完毕后在LTP模型页面下载模型数据: http://ltp.ai/download.html ,我下载的是 ltp_data_v3.4.0.zip ,压缩文件有600多M,解压后1.2G,里面有不同NLP任务的模型。

中文分词示例:

In [5]: from pyltp import Segmentor                                              
 
In [6]: segmentor = Segmentor()                                                  
 
# 分词模型路径,依据你下载后放得位置而定
In [7]: segmentor.load('./data/ltp/ltp_data_v3.4.0/cws.model')                   
 
In [8]: print(' '.join(segmentor.segment('我爱自然语言处理')))                   
我 爱 自然 语言 处理

8) Stanford CoreNLP : https://stanfordnlp.github.io/CoreNLP/

stanfordcorenlp : https://github.com/Lynten/stanford-corenlp

这里用的是斯坦福大学CoreNLP的python封装:stanfordcorenlp

stanfordcorenlp is a Python wrapper for Stanford CoreNLP. It provides a simple API for text processing tasks such as Tokenization, Part of Speech Tagging, Named Entity Reconigtion, Constituency Parsing, Dependency Parsing, and more.

安装很简单,pip即可:

pip install stanfordcorenlp

但是要使用中文NLP模块需要下载两个包,在CoreNLP的下载页面下载模型数据及jar文件,目前官方是3.9.1版本:

https://nlp.stanford.edu/software/corenlp-backup-download.html

第一个是:stanford-corenlp-full-2018-02-27.zip

第二个是:stanford-chinese-corenlp-2018-02-27-models.jar

前者解压后把后者也要放进去,否则指定中文的时候会报错。

中文分词使用示例:

In [11]: from stanfordcorenlp import StanfordCoreNLP                             
 
In [12]: stanford_nlp = StanfordCoreNLP('./data/corenlp/stanford-corenlp-full-201
    ...: 8-02-27', lang='zh')                                                    
 
In [13]: seg_results = stanford_nlp.word_tokenize('我爱自然语言处理')            
 
In [14]: print(' '.join(seg_results))                                            
我爱 自然 语言 处理

最后再说一下,原本计划加上对NLPIR中文分词器的支持,但是发现它的license需要定期更新,对于长久放server端测试不太方便就放弃了;另外之所以选择python,因为我用了Flask restful api框架,也欢迎推荐其他的中文分词开源框架,如果它们有很好的Python封装的话,这里可以继续添加。

注:原创文章,转载请注明出处及保留链接“我爱自然语言处理”: http://www.52nlp.cn

本文链接地址: 中文分词工具在线PK新增:FoolNLTK、HITLTP、StanfordCoreNLP http://www.52nlp.cn/?p=11770


以上所述就是小编给大家介绍的《中文分词工具在线PK新增:FoolNLTK、HITLTP、StanfordCoreNLP》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

计算几何

计算几何

邓俊辉 / 清华大学出版社 / 2009-6 / 49.00元

《计算几何:算法与应用(第3版)》的前4章对几何算法进行了讨论,包括几何求交、三角剖分、线性规划等,其中涉及的随机算法也是《计算几何:算法与应用(第3版)》的一个鲜明特点。第5章至第10章介绍了多种几何结构,包括几何查找、kd树、区域树、梯形图、Voronoi图、排列、Delaunay三角剖分、区间树、优先查找树以及线段树等。第11章至第16章结合实际问题,继续讨论了若干几何算法及其数据结构,包括......一起来看看 《计算几何》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具