愚かですが、どういうわけかNLTKの語幹機能にアクセスできません。
電話する
import nltk
nltk.stem.porter.step1ab()
しかし、オブジェクトにはstep1ab属性がないと言われます。どういうわけか正しく呼んでいないと思いますが、実際にどうやって到達するのかわかりません。
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'