私はgensim 3.0.1
を使用しています。Doc2Vecモデルは、文書のタグをシンボルで分割します。
私は、フォーム"label_17"
のユニークなラベル付きTaggedDocument
のリストを持っているが、私はDoc2Vecモデルを訓練するとき、それは何とかシンボルにラベルを分割し、そのmodel.docvecs.doctags
の出力は以下の通りです:
{'0': Doctag(offset=5, word_count=378, doc_count=40),
'1': Doctag(offset=6, word_count=1330, doc_count=141),
'2': Doctag(offset=7, word_count=413, doc_count=50),
'3': Doctag(offset=8, word_count=365, doc_count=41),
'4': Doctag(offset=9, word_count=395, doc_count=41),
'5': Doctag(offset=10, word_count=420, doc_count=41),
'6': Doctag(offset=11, word_count=408, doc_count=41),
'7': Doctag(offset=12, word_count=426, doc_count=41),
'8': Doctag(offset=13, word_count=385, doc_count=41),
'9': Doctag(offset=14, word_count=376, doc_count=40),
'_': Doctag(offset=4, word_count=2009, doc_count=209),
'a': Doctag(offset=1, word_count=2009, doc_count=209),
'b': Doctag(offset=2, word_count=2009, doc_count=209),
'e': Doctag(offset=3, word_count=2009, doc_count=209),
'l': Doctag(offset=0, word_count=4018, doc_count=418)}
タグ付き文書の最初のリストには、各文書に固有のラベルが付いています。
model = Doc2Vec(size=300, sample=1e-4, workers=2)
print('Building Vocabulary')
model.build_vocab(data)
print('Training...')
model.train(data, total_words=total_words_count, epochs=20)
そこで私はmodel.docvecs['label_17']
好きではないインデックスマイドキュメントとはKeyError
を取得することができます:
モデルのトレーニングのためのコードは次のようです。
同じことは、ボキャブラリを構築するのではなく、コンストラクタにデータを渡す場合と同じです。
どうしてですか?ありがとう。
はい、それは私の問題を解決しました、ありがとうございます! – rvnbrg
データセットのサイズに関しては、それだけでは不十分だが、現時点で問題のために利用可能なすべてのデータです。とにかくあなたのコメントありがとう! – rvnbrg