今天研究的是nlpir的语义分词
首先 安装pynlpir库:
pip install pynlpir
下面写一个测试小程序:
#-*- coding:utf-8 -*- import sys reload(sys) sys.setdefaultencoding("utf-8") import pynlpir pynlpir.open() s=‘聊天机器人到底怎么做呢‘ segments = pynlpir.segment(s) for segment in segments: print segment[0],‘\t‘,segment[1] pynlpir.close()
运行结果:
聊天 verb 机器人 noun 到底 adverb 怎么 pronoun 做 verb 呢 modal particle
下面我们在试一下关键词提取效果:
key_words = pynlpir.get_key_words(s,weighted=True) for key_word in key_words: print key_word[0],‘\t‘,key_word[1]
运行结果:
聊天 2.0 机器人 2.0
从这个小程序看,分词和关键词提取效果非常好
在程序segments 加上一个参数segments = pynlpir.segment(s,pos_english=False) 。也就是不使用英文输出,那麽输出来的就是:
海洋 名词 是 动词 如何 代词 形成 动词 的 助词
解释一次。
这里的segment是切词的的意思,返回来的是tuple(token,pos),其中token就是切除来的词,pos就是词的属性。
调用segment的方法指定的pos_names参数可以是‘all’,‘child‘,‘parent‘,默认是parent,表示获取该词性的最顶级词性,child 表示获取该词性的最具体的信息,all表示获取该词性相关的所有信息,相当于从词性顶级词性到该词性的一条路径。
时间: 2024-11-05 15:51:29