如何使用NLTK干

时间:2013-03-05 09:01:09

标签: python nltk

愚蠢,但我无法在NLTK中访问词干函数。

我打电话

import nltk
nltk.stem.porter.step1ab()

但我被告知该对象没有step1ab属性。我想我在某种程度上没有正确地称它,但我不确定如何实际使用它。

1 个答案:

答案 0 :(得分:8)

step1ab() nltk.stem.porter 模块中类PorterStemmer的方法。所以你可以这样称呼它:

myPorterStemmer = nltk.stem.porter.PorterStemmer()
...
myPorterStemmer.step1ab()

然而,它并不是真正设计为直接调用。通常会调用myPorterStemmer.stem(word),然后委托step1ab()执行部分工作。

如果你真的想要孤立地使用step1ab,你必须设置一堆变量,你会得到这样的结果:

>>> word = "countries"
>>> myStemmer = nltk.stem.porter.PorterStemmer()
>>> myStemmer.b = word
>>> myStemmer.k = len(word) - 1
>>> myStemmer.k0 = 0
>>> myStemmer.step1ab()
>>> myStemmer.b[myStemmer.k0:myStemmer.k+1]
'countri'