前提・実現したいこと
適当な文章をMeCabで分かち書きにした後、単語1つ1つをリストに格納して、単語ごとのベクトルを取得したいのですが、単語がすべてヒットしてくれません。
試しに「コンビニ」という単語をprint(model['コンビニ'])で出力させると、ベクトルが出力されたので、学習済みのword2vecモデルのボキャブラリーにないということはなさそうなので、なぜベクトルが出力されないのかが分かりません。
使ったモデルは東北大学の日本語wikipediaエンティティベクトルです。
http://blog.hassaku-labs.com/post/pretrained-word2vec/
該当のソースコード
python
1import MeCab 2from gensim.models import KeyedVectors 3 4tagger = MeCab.Tagger("-Owakati") 5model = KeyedVectors.load_word2vec_format('./entity_vector.model.bin', binary=True) 6 7#str型で、単語が空白で別れる 8str_output = tagger.parse('コンビニに行った。') 9 10#listに変換する 11list_output = str_output.split(' ') 12 13print(list_output) 14 15for i in range(len(list_output)): 16 try: 17 print(model[list_output]) 18 print(model[list_output[i]]) 19 except: 20 print("読み込めませんでした。")
出力結果
['コンビニ', 'に', '行っ', 'た', '。', '\n'] 読み込めませんでした。 読み込めませんでした。 読み込めませんでした。 読み込めませんでした。 読み込めませんでした。 読み込めませんでした。
回答1件
あなたの回答
tips
プレビュー