前提・実現したいこと
本を見ながらpythonで機械学習の勉強中です。自然言語処理の分野でbag of wordsについての勉強をしている中で、文章中に一意の単語が何回出現かをカウントするのに.count()を使ったところ、下記のエラーが発生しました。
発生している問題・エラーメッセージ
AttributeError Traceback (most recent call last) <ipython-input-23-074696bbff5c> in <module> 3 bag_of_words = [] 4 for unique_word in unique_words: ----> 5 num = words.count(unique_word) 6 bag_of_words.append(num) 7 bow_list.append(bag_of_words) AttributeError: 'generator' object has no attribute 'count'
該当のソースコード
from janome.tokenizer import Tokenizer t = Tokenizer() sentences = [ 'おいしいビールを飲む', 'コーヒーを飲む', 'おいしいクラフトビールを買う' ] words_list = [] for sentence in sentences: words_list.append(t.tokenize(sentence, wakati=True)) words_list unique_words = [] for words in words_list: for word in words: if word not in unique_words: unique_words.append(word) unique_words bow_list = [] for words in words_list: bag_of_words = [] for unique_word in unique_words: num = words.count(unique_word) bag_of_words.append(num) bow_list.append(bag_of_words) bow_list
書籍では、最後のbow_listを表示すると下記のように各文章にunique_wordが何度出てきたか表すリストができます。([1,1,1,1,0,0,0], [0,0,1,1,1,0,0,], [1,1,1,0,0,1,1])
が、ここでAttributeError: 'generator' object has no attribute 'count'が出ます。
試したこと
エラー文で検索をしてみたのですが同じような状況の方が見つけられずにいます。わかる方いらっしゃいましたらどなたか回答をお願いいたします。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/26 18:02
2020/08/26 23:07
2020/08/27 10:48
退会済みユーザー
2020/08/29 07:36
退会済みユーザー
2020/08/29 07:39