2017-03-31 8 views
0

でリストからnltk.corpusでストップワードを削除します。私はこのようになりますレビュー、すべての区切りの単語とのリストを含むリストを持っているリスト

texts = [['fine','for','a','night'],['it','was','good']] 

を私はNLTKを使用して、すべてのストップワードを削除したいです。コーパスパッケージを作成し、ストップワードのないすべての単語をリストに戻します。最終結果はストップワードのない単語のリストからなるリストでなければなりません。このことは私が試した:このコードは、実際に働いていた

import nltk 
nltk.download() # to download stopwords corpus 
from nltk.corpus import stopwords 
stopwords=stopwords.words('english') 
words_reviews=[] 

for review in texts: 
    wr=[] 
    for word in review: 
     if word not in stopwords: 
      wr.append(word) 
     words_reviews.append(wr) 

が、今、私はエラーを取得する:はAttributeError:「リスト」オブジェクトは、ストップワードを参照して、何の属性の言葉」を持っていません。私はすべてのパッケージをインストールしたことを確認しました。何が問題なの?最初の行の後

from nltk.corpus import stopwords 
stopwords=stopwords.words('english') 

を、stopwordswords()方法とコーパスのリーダーである:

+0

:あなたはこれを使用する場合は、より良いパフォーマンスを得られますので、実際には、リストで物事を見て

は、本当に遅いのですか? – lenz

+0

可能な重複:http://stackoverflow.com/questions/19130512/stopword-removal-with-nltk – alvas

答えて

2

問題は、あなたのコード内でstopwordsを再定義することです。 2行目の後、それがリストです。それに応じて続行します。コードの行は、このエラーが発生し

stopwords = set(stopwords.words('english')) 
関連する問題