DBOWモードのgensimのdoc2vecを使用したトレーニングプロセスで、単語ベクトルがどのように関与しているかがまったくわかりません(dm=0
)。でデフォルトで無効になっていることを知っていますdbow_words=0
。しかしdbow_words
、1に設定するとどうなりますか?
DBOWの私の理解では、コンテキストワードは段落ベクトルから直接予測されます。したがって、モデルのパラメーターは、N
p
次元の段落ベクトルと分類子のパラメーターのみです。
しかし、複数の情報源は、DBOWモードで単語とドキュメントのベクトルを共同トレーニングすることが可能であることを示唆しています。例えば:
それで、これはどのように行われますか?どんな説明でも大歓迎です!
注:DMの場合、段落ベクトルは、ターゲット単語を予測するために単語ベクトルと平均化/連結されます。その場合、単語ベクトルがドキュメントベクトルと同時にトレーニングされることは明らかです。そして、N*p + M*q + classifier
パラメータがあります(ここM
で、語彙サイズとq
単語ベクトル空間は薄暗いです)。
を設定するdbow_words=1
と、スキップグラムの単語ベクトルトレーニングがトレーニングループに追加され、通常のPV-DBOWトレーニングとインターリーブされます。
したがって、テキスト内の特定のターゲット単語について、最初に候補のdoc-vectorを使用して(単独で)その単語を予測しようとし、モデルとdoc-vectorに対してバックプロパゲーション調整を行います。次に、周囲の単語の束がそれぞれ1つずつスキップグラム形式で使用され、フォローアップの調整が行われた状態で、同じターゲット単語を予測しようとします。
次に、テキスト内の次のターゲット単語は、同じPV-DBOWにスキップグラム処理を加えたものになり、以下同様に続きます。
これのいくつかの論理的帰結として:
トレーニングは通常のPV-DBOWよりも時間がかかります-window
パラメータとほぼ同じ係数です
単語ベクトルは全体として、ドキュメントベクトルよりも全体的なトレーニングの注目を集めることになりwindow
ます。これもパラメーターに等しい係数です。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加