Aidemyの問題でBOW(Bag of words)のベクトル表現の(下記コード参照)を解いた後にjupyter notebookのローカル環境で復習したところうまく再現ができません。
再現できない部分は以下の部分で [[], [], []] と空のリストが出力されてしまいます。
bow_corpus = [dictionary.doc2bow(d) for d in documents]
print(bow_corpus)
ちなみに上のdをprintすると<generator object Tokenizer.__tokenize_stream at 0x7f9b66032650>のようにオブジェクト名で出力されてしまうのが原因と思っていますが、
この部分をリストで出力出来ないのが困っています。
お手数ですが、コメントして頂けるとありがたいです。
(以下、コードになります)
from gensim import corpora
from janome.tokenizer import Tokenizer
text1 = "すもももももももものうち"
text2 = "料理も景色もすばらしい"
text3 = "私の趣味は写真撮影です"
t = Tokenizer()
tokens1 = t.tokenize(text1, wakati=True)
tokens2 = t.tokenize(text2, wakati=True)
tokens3 = t.tokenize(text3, wakati=True)
documents = [tokens1, tokens2, tokens3]
corporaを使い単語辞書を作成してください。
dictionary = corpora.Dictionary(documents)
各単語のidを表示してください
print(dictionary.token2id)
Bag of Wordsの作成してください
bow_corpus = [dictionary.doc2bow(d) for d in documents]
(id, 出現回数)のリストが出力されます。
print(bow_corpus)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/03/20 06:18