2017-01-18 19 views
2

Doc2Vec Figure 2gensimの「docvecs」とは何ですか?

上記の画像はDoc2Vecを紹介したDistributed Representations of Sentences and Documentsです。私はGensimのWord2VecとDoc2Vecの実装を使用しています。これは素晴らしいものですが、私はいくつかの問題を明確にしたいと考えています。

  1. 与えられたdoc2vecモデルdvmについては、dvm.docvecsとは何ですか?私の印象は、単語がすべての段落ベクトルdに埋め込まれた、平均化された連結ベクトルです。これは正しいか、それともdですか?
  2. dvm.docvecsdではないとすれば、1人でアクセスできますか?どうやって?
  3. ボーナスとして、dはどのように計算されますか?紙のみ言う:
  4. 我々の段落ベクトル枠組みにおいて

、すべて 段落もにマッピングされる行列Dとすべての単語で カラムにより、ユニークベクトルにマッピング表現される(図2参照します) 行列Wの列で表される一意のベクトル。

ありがとうございました!

答えて

3

Doc2Vecモデルのdocvecsプロパティは、トレーニング中に見られる 'ドキュメントタグ'の訓練されたすべてのベクトルを保持します。

最も単純なケースでは、Paragraph Vectorsの論文と同様に、各テキストの例(段落)は、 'タグとしてシリアル番号の整数IDを持つだけです0から始めると、これはdocvecsオブジェクトのインデックスになります。model.docvecs.doctag_syn0 numpy配列は、Paragraph Vectorsペーパーの抜粋の(首都)Dと本質的に同じです。

(Gensimは、文書タグとして文字列トークンを使用し、文書ごとに複数のタグを使用し、トレーニング文書の多くでタグを繰り返すこともサポートしています。文字列タグの場合は、docvecs dictによってmodel.docvecs.doctags。)

+0

返信ありがとうございます。あなたの最初の文を理解すると、 'docvecs'は上の図の 'Average/Concatenate'の隣にあるベクトルに対応するユニークなドキュメントベクトルです。あれは正しいですか? –

+2

実際には、 'model.docvecs'は訓練中のドキュメントベクトルをすべて保持しているヘルパーオブジェクトです。それは(ダイアグラムの段落マトリックスに似た 'doctag_syn0'配列)個別のベクトル* D *(オレンジ色の図のように)を取得し、単一のトレーニング例のワードベクトルと混合する。興味深いもの: – gojomo

+0

'dm = 0'でPV-DBOWアルゴリズムが使用されているとき、' model.docvecs'は 'model.docvecs.doctag_syn0'と等しくなります。これは、単語の埋め込みが段落行列に結合されていないためと思われます。助けてくれてありがとう! –

関連する問題