2017-10-24 17 views
1

私は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を取得することができます:

モデルのトレーニングのためのコードは次のようです。

同じことは、ボキャブラリを構築するのではなく、コンストラクタにデータを渡す場合と同じです。

どうしてですか?ありがとう。

答えて

1

Doc2Vecリストのタグtags性質を持つように、テキストとして、形状TaggedDocumentのオブジェクトを期待しています。

['l', 'a', 'b', 'e', 'l', '_', '1', '7'] 

あなたは、たとえばtags=['label_17']ため、tagsリストの-1タグを作成していることを確認しますと:あなたの代わりに文字列を指定した場合

は、'label_17'のように、それは実際に*list-of-characters*, so it's essentially saying that TaggedDocument`タグを持っていますあなたは訓練されたタグの面で結果があなたの期待どおりに見えるはずです。

別途:約200語の文書があり、それぞれ約10語です。 Word2Vec/Doc2Vecには、良好な結果を得るために、さまざまなデータセットが必要です。特にわずか200のテキストではあるが300次元のベクトル次元では、訓練セットの特異性を覚えているだけではなく、訓練タスク(内部単語予測)を非常によくすることができます。距離/配置が一般的な知識を表し、他の例に移るベクトル。

+0

はい、それは私の問題を解決しました、ありがとうございます! – rvnbrg

+0

データセットのサイズに関しては、それだけでは不十分だが、現時点で問題のために利用可能なすべてのデータです。とにかくあなたのコメントありがとう! – rvnbrg

関連する問題