内容简介:继续中文分词在线PK之旅,上文《
继续中文分词在线PK之旅,上文《 五款中文分词工具在线PK: Jieba, SnowNLP, PkuSeg, THULAC, HanLP 》我们选择了5个中文分词开源工具,这次再追加3个,分别是FoolNLTK、哈工大LTP(pyltp, ltp的 python 封装)、斯坦福大学的CoreNLP(stanfordcorenlp is a Python wrapper for Stanford CoreNLP),测试一下中文分词:我爱自然语言处理:
以下是在Python3.x & Ubuntu16.04 的环境下测试及安装这些中文分词器:
6) FoolNLTK : https://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》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 中文分词工具在线PK新增:FoolNLTK、LTP、StanfordCoreNLP
- HanLP 1.7.0 发布,新增文本聚类、流水线分词
- HanLP 1.7.0 发布,新增文本聚类、流水线分词
- 基于海量公司分词ES中文分词插件
- 北大开源全新中文分词工具包:准确率远超THULAC、结巴分词
- 复旦大学提出中文分词新方法,Transformer连有歧义的分词也能学
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。