9

私はPythonが初めてで、本の例で練習しています。
このコードでいくつかの例を修正しようとしているときに、何も変更されない理由を誰かが説明できますか?

>>> from nltk.stem import PorterStemmer
>>> stemmer=PorterStemmer()
>>> stemmer.stem('numpang wifi stop gadget shopping')
'numpang wifi stop gadget shopping'

しかし、私がこれを行うとうまくいきます

>>> stemmer.stem('shopping')
'shop'
4

3 に答える 3

13

これを試して:

res = ",".join([ stemmer.stem(kw) for kw in 'numpang wifi stop gadget shopping'.split(" ")])

問題は、おそらく、そのステマーが単一の単語に対して機能することです。文字列には「ルート」単語がありませんが、「ショッピング」という単語にはルート「ショップ」があります。そのため、ステミングを個別に計算する必要があります

編集:

ソースコードから ->

Stemming algorithms attempt to automatically remove suffixes (and in some
cases prefixes) in order to find the "root word" or stem of a given word. This
is useful in various natural language processing scenarios, such as search.

だから私はあなたが実際にあなたの文字列を自分で分割することを余儀なくされていると思います

于 2012-10-19T12:27:40.417 に答える