如何用 Python 中的 NLTK 对中文进行分析和处理

Python016

如何用 Python 中的 NLTK 对中文进行分析和处理,第1张

一、NLTK进行分词

用到的函数:

nltk.sent_tokenize(text) #对文本按照句子进行分割

nltk.word_tokenize(sent) #对句子进行分词

二、NLTK进行词性标注

用到的函数:

nltk.pos_tag(tokens)#tokens是句子分词后的结果,同样是句子级的标注

三、NLTK进行命名实体识别(NER)

用到的函数:

nltk.ne_chunk(tags)#tags是句子词性标注后的结果,同样是句子级

上例中,有两个命名实体,一个是Xi,这个应该是PER,被错误识别为GPE了; 另一个事China,被正确识别为GPE。

四、句法分析

nltk没有好的parser,推荐使用stanfordparser

但是nltk有很好的树类,该类用list实现

可以利用stanfordparser的输出构建一棵python的句法树

这句话应该不是说你feature太多了,而是说for循环中,使用了两个变量去unpack featuresets太多了。

所以应该是你的数据结构有问题,featuresets可能不是适合两个变量来解包的数据结构,或者中文编码有问题。

public IuserinfoService getService() { return service} public void setService(IuserinfoService service) { System.out.println("getService---------")this.service = service}