2017-08-15 7 views
1

私はSnowballStemmerを1つの単語(私の場合は、ロシア語のもの)で実行する方法を知っています。次のことをやって:SnowballStemmer for Russian words list

from nltk.stem.snowball import SnowballStemmer 

stemmer = SnowballStemmer("russian") 
stemmer.stem("Василий") 
'Васил' 

私は[「Василий」、「Геннадий」、「Виталий」]のような単語のリストを持っている場合、私は次の操作を行うことができますどのように?

forループを使用して私のアプローチは:(動作していないことのようです

l=[stemmer.stem(word) for word in l] 
+0

あなたはどんなエラーを受けていますか? – ettanany

+0

Python 3を使用して、私はこれを得ました: '['васил'、 'геннад'、 'витал']' – ettanany

答えて

2

あなたの変数lは、名前のエラーを引き起こして、事前に定義されていません。修正のための私の最後の2行を参照してください。

>>> from nltk.stem.snowball import SnowballStemmer 
>>> stemmer = SnowballStemmer("russian") 
>>> my_words = ['Василий', 'Геннадий', 'Виталий'] 
>>> l=[stemmer.stem(word) for word in l] 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
NameError: name 'l' is not defined 
>>> l=[stemmer.stem(word) for word in my_words] 
>>> l 
['васил', 'геннад', 'витал'] 
関連する問題