3

文があるとしたら、例: 「ここから出て行け」そして、word2vec 埋め込みを使用したい。それを表すために..それを行う3つの異なる方法を見つけました:

1- 各単語について、その埋め込みベクトルの AVG を計算するため、各単語は単一の値に置き換えられます。

2- 1 と同様ですが、埋め込みベクトル値の標準偏差を使用します。

3- または埋め込みを追加します。ベクトルそのまま。したがって、上記の例で長さ 300 の埋め込みベクトルを使用すると、文を表す最終的なベクトルとして (300 * 4 語) の長さ 1200 のベクトルが最終的に含まれます。

それらのどれが最も適しています.. ? 具体的には、文の類似性アプリケーション..

4

1 に答える 1

2

オプション(1)を説明する方法は、各単語が1つの数字になるように聞こえます。それはうまくいきません。

よく使用される単純なアプローチは、文中の単語のすべての単語ベクトルを一緒に平均化することです。したがって、300 次元の単語ベクトルを使用しても、300 次元の文平均ベクトルになります。おそらく、それがあなたのオプション (1) の意味です。

(この操作の前に、すべてのベクトルが単位長に正規化される場合もありますが、正規化されていないベクトルの長さが単語の意味の強さを示す場合があるため、そうでない場合もあります。単語ベクトルは、他の頻度ベースの指標によって重み付けされる場合があります。 TF/IDF などの相対的な重要性の

あなたのオプション (2) が使用されているのを見たことがなく、あなたが何を意味するのか、またはそれがどのように機能するのかがよくわかりません。

オプション(3)は、「単語ベクトルを連結する」と説明する方が適切です。文の単語数に応じて異なるサイズのベクトルを提供します。「get out of here」と「of here get out」を比較するなど、単語の配置にわずかな違いがあると、非常に異なるベクトルになり、ベクトルを比較する通常の方法 (コサイン類似度など) では「近い」とは検出されません。まったく。だから意味がありません、そして私はそれが使われているのを見たことがありません.

したがって、(加重)平均単語ベクトルに適切に実装されているオプション(1)のみが、文の類似性の良いベースラインです。

ただし、これはまだかなり基本的なものであり、テキスト ベクトルを使用して文を比較する方法は他にもたくさんあります。以下にいくつかを示します。

word2vec 自体に密接に関連する 1 つのアルゴリズムは「段落ベクトル」と呼ばれ、多くの場合、Doc2Vec. 非常に word2vec に似たプロセスを使用して、テキスト全体 (フレーズ、センテンス、段落、ドキュメントのいずれであっても) のベクトルをトレーニングします。これは、テキスト全体で「フローティング ドキュメント ID 単語」のように機能します。単語ベクトルの平均化よりも利点がある場合があり、モードによっては、相互に比較可能なドキュメント ベクトルと単語ベクトルの両方を生成できます。

ペアごとの文の類似性だけでなく、ある種のダウンストリーム分類タスクに関心がある場合、word2vec の Facebook の「FastText」改良には分類モードがあり、単語ベクトルは隣接する単語を予測するだけでなく、適切になるようにトレーニングされます。既知のテキスト クラスを予測する際に、単純に加算/平均した場合。(このような分類ベクトルから構築されたテキスト ベクトルは、トレーニング クラスがテキスト間の顕著なコントラストをどれだけうまくキャプチャするかに応じて、類似性にも優れている可能性があります。)

単語ベクトルのみを使用してペアごとの類似性を計算する別の方法は、「Word Mover's Distance」です。テキストのすべての単語ベクトルを単一のテキスト ベクトルに平均化するのではなく、各単語ベクトルを一種の「意味の山」と見なします。別のセンテンスと比較して、1 つのセンテンスから別のセンテンスの構成にすべての「山」を移動するための最小ルーティング作業 (多くの潜在的な単語から単語へのパスに沿った距離) を計算します。計算にはコストがかかる可能性がありますが、通常、素朴な単語ベクトル平均化が達成する単純な単一ベクトル要約よりも、文のコントラストをより適切に表します。

于 2018-04-04T22:22:07.163 に答える