Python调用PYNIPIR(ICTCLAS)进行中文分词

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()

你可能感兴趣的:(Python)