NLPIR汉语分词系统,主要功能包括中文分词;词性标注;命名实体识别;用户词典功能;支持GBK编码、UTF8编码、BIG5编码。新增微博分词、新词发现与关键词提取;张华平博士先后倾力打造十余年,内核升级10次。(http://ictclas.nlpir.org/)
NLPIR系统提供了丰富的编程接口,包括JAVA、C、C#,当然还有Python。其中利用Python调用分词功能,需要安装PYNLPIR的包。
GIT项目的地址:https://github.com/tsroten/pynlpir
(神奇的是由一个美国人来维护的)
安装了pip工具的可以直接使用pip命令安装:
pip install pynlpir
安装好之后,赶紧来试试基本操作:
分词环境初始化操作:
import pynlpir # 引入依赖包
pynlpir.open() # 打开分词器
s = 'NLPIR分词系统前身为2000年发布的ICTCLAS词法分析系统,从2009年开始,为了和以前工作进行大的区隔,并推广NLPIR自然语言处理与信息检索共享平台,调整命名为NLPIR分词系统。' # 实验文本
基本分词操作:
pynlpir.segment(s) # 默认打开分词和词性标注功能
# 样本输出: [('NLPIR', 'noun'), ('分词', 'verb'), ('系统', 'noun'), ('前身', 'noun'), ('为', 'preposition'), ('2000年', 'time word'), ('发布', 'verb'), . . . ]
当有时候我们只想要分词结果,而不要词性标注结果的时候,可以通过设置pos_tagging关闭,当需要词性标注结果为中文时候可以通过pos_english设置。
pynlpir.segment(s, pos_english=False) # 把词性标注语言变更为汉语
pynlpir.segment(s, pos_tagging=False) # 使用pos_tagging来关闭词性标注
添加自定义词语:
很多时候,我们需要在基础词典上添加自定义的词汇,适应特定的分词任务,这时候可以用以下方法:
from ctypes import c_char_p
pynlpir.nlpir.AddUserWord(c_char_p("自定义词汇".encode()))
使用结束后释放内存:
pynlpir.close()