1

愚かですが、どういうわけかNLTKの語幹機能にアクセスできません。

電話する

import nltk
nltk.stem.porter.step1ab()

しかし、オブジェクトにはstep1ab属性がないと言われます。どういうわけか正しく呼んでいないと思いますが、実際にどうやって到達するのかわかりません。

4

1 に答える 1

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'
于 2013-03-05T09:33:29.847 に答える