上記の画像はDoc2Vecを紹介したDistributed Representations of Sentences and Documentsです。私はGensimのWord2VecとDoc2Vecの実装を使用しています。これは素晴らしいものですが、私はいくつかの問題を明確にしたいと考えています。
- 与えられたdoc2vecモデル
dvm
については、dvm.docvecs
とは何ですか?私の印象は、単語がすべてとの段落ベクトルd
に埋め込まれた、平均化された連結ベクトルです。これは正しいか、それともdですか? dvm.docvecs
がd
ではないとすれば、1人でアクセスできますか?どうやって?- ボーナスとして、
d
はどのように計算されますか?紙のみ言う: 我々の段落ベクトル枠組みにおいて
、すべて 段落もにマッピングされる行列Dとすべての単語で カラムにより、ユニークベクトルにマッピング表現される(図2参照します) 行列Wの列で表される一意のベクトル。
ありがとうございました!
返信ありがとうございます。あなたの最初の文を理解すると、 'docvecs'は上の図の 'Average/Concatenate'の隣にあるベクトルに対応するユニークなドキュメントベクトルです。あれは正しいですか? –
実際には、 'model.docvecs'は訓練中のドキュメントベクトルをすべて保持しているヘルパーオブジェクトです。それは(ダイアグラムの段落マトリックスに似た 'doctag_syn0'配列)個別のベクトル* D *(オレンジ色の図のように)を取得し、単一のトレーニング例のワードベクトルと混合する。興味深いもの: – gojomo
'dm = 0'でPV-DBOWアルゴリズムが使用されているとき、' model.docvecs'は 'model.docvecs.doctag_syn0'と等しくなります。これは、単語の埋め込みが段落行列に結合されていないためと思われます。助けてくれてありがとう! –