論文は、センテンス埋め込みのためのシンプルだがタフなベースラインを読んでいます
Thesis Reads Simple Tough Beat Baseline
このエッセイ 思い付いた SIF文の埋め込み メソッド、作者によって提供されたコードは Github 。
入る
一種として 監督されない 文間の類似性を計算する方法、 sif文の埋め込み 事前に訓練された単語ベクトルを使用し、加重平均法を使用して、文中のすべての単語に対応する単語ベクトルが計算され、文全体の埋め込みベクトルが取得されます。次に、文ベクトルを使用して類似性を計算します。
この論文の前に、この記事のアイデアに非常に似ているアイデアもあります。つまり、それらはすべて使用されています。 単語ベクトル 、平均法で得られた 文ベクトル 、重み付けするとき 重量計算方法 違いがあります。具体的には:
- 文中のすべての単語を直接平均し、各単語の重みは同じで、文を埋め込みます
- 各単語を使用する TF-IDF 値は加重、加重平均、文の埋め込みを取得
この紙を使用しています 滑らかな逆周波数、sif 代わりに、各単語の重みとして TF-IDF 価値、より良い結果を得ました。新しい単語の重み計算方法を使用することに加えて、加重平均の後、失われました 主成分 、最後に文の埋め込みを取得します。
さらに、この論文ではこの方法についても言及しています。 堅牢性 :
- 異なるコーパス(マルチフィールド)トレーニングを使用して異なる 単語の埋め込み 、非常に良い結果を達成しており、さまざまなコーパスの親しみやすさを示しています。
- 異なるコーパスを使用して取得 単語の頻度 単語の重みを計算する要素として、最終結果にはほとんど影響しません。
- メソッドについて ハイパーパラメータ 広い範囲で、得られる結果は常にその領域にあります。つまり、ハイパーパラメータの選択はあまり影響を与えません。
理論
モデルを生成する
最初から 潜在変数生成モデル (潜在変数生成モデル)。このモデルは次のことを前提としています。コーパスの生成は動的なプロセスです。(t )言葉は最初にあります(t )ステップが生成されました。
すべての単語(に)1つに対応( mathbb {R} ^ d )次元ベクトル。そして、この動的なプロセスは 談話ベクトル (c_t in { mathbb {R} ^ d} )の ランダムウォーク 駆動。 談話ベクトル この文を表す 何について話しているのか なので 潜在変数 、文の状態を表します。動的であるため、この状態は時間とともに変化するため、次のように記録されます。(c_t )。
語(に)ベクター(v_w )現在の時間で 談話ベクトル (c_t )の 内部製品 、単語と文全体の関係を示します。そして、私たちは仮定します(t )常に言葉を守る(に)この内積の確率 対数線形 (対数線形)関係:
[Pr( text {時間tで放出されたw} | c_t) propto { exp( langle c_t、v_w rangle)} ]
のため(c_t )比較的小さい ランダムウォーク 所有、(c_t )対(c_ {t + 1} )それらの間には小さなランダムな差ベクトルしかないので、 隣接する言葉 近似 談話ベクトル 生成されます。追加の計算は、このモデルのランダムウォークが時折可能であることを示しています(c_t )より大きなジャンプがあり、共生確率にはほとんど影響しません。
この方法で生成された単語ベクトル、 word2vec(CBOW) と グローブ 生成されたベクトルは類似しています。
2.ランダムウォークモデルの改善
上記のモデルで、私たちは次のように私のために文を取得したいと思っています 文の埋め込み :正解 談話ベクトル 行う 最尤推定 簡単にするために、注意してください(c_t )文全体で単語を生成する過程で、変化は小さいので、すべてのステップを実行します 談話ベクトル 固定ベクトルを仮定します(c_s )証明:はい(c_s )最尤推定値は、ベクトルを埋め込んだすべての単語の平均です。
このペーパーはこのモデルを改善し、追加しました 2つの平滑化項 、次の考慮事項について:
- 一部の単語は、指定されたコンテキストの範囲外に表示されます。 談話ベクトル 影響力がある
- 限られた単語(一般的なストップワードなど)の出現と 談話ベクトル 関係なし
これらの2つの理由から、2つの平滑化項が導入されます。まず、対数線形モデルの加法項です。( alpha p(w))、その中で(p(w))言葉です(に)コーパス全体で発生する確率(単語の頻度角度)、(アルファ)は ハイパーパラメータ このように、さらに(c_s )内積は小さく、単語には確率があります。
次に、修正項目を紹介し、 一般的な談話ベクトル (c_0 in { mathbb {R} ^ d} )、その意味は文です 最も頻繁な意味 文と見なすことができます 最も重要な成分 、しばしば 文法 接続されています。記事は一言で言えば、それは一緒に行くと思います(c_0 )方向成分が大きくなり(つまり、ベクトル投影が長くなり)、この修正により、単語が表示される確率が高くなります。
修正後、与えられた 談話ベクトル (c_s )、 語(に)文中で(s )発生の確率は次のとおりです。
[Pr( text {wは文sで出力されます} | c_s) propto { alpha p(w)+(1- alpha) frac { exp( langle tilde {c} _s、v_w rangle )} {Z _ { tilde {c} _s}}} ]
その中で、( tilde {c} _s = beta c_0 +(1- beta)c_s、 c_0 perp c_s )、(アルファ)と(ベータ)すべて ハイパーパラメータ 、(Z _ { tilde {c} _s} = sum limits_ {w in {V}} exp( langle tilde {c} _s、v_w rangle))はい 正規化定数 式からわかるように、1つと(c_s )無関係な言葉(に)、次の理由で文に表示されることもあります。
- から( alpha p(w))アイテムの価値
- 対 一般的な談話ベクトル (c_0 )関連性
3.文のベクトルを計算します
文ベクトルは上記のモデルにあります(c_s )、 使用する 最尤法 見積もり(c_s )ベクター。まず、すべての単語のベクトルを想定します(v_s )おおざっぱに 均等に分散 ベクトル空間全体で、ここでの正規化(Z_c )異なる文の値については、ほぼ同じです。( tilde {c} _s )、(WITH )値は同じです。この前提の下で、尤度関数が得られます。
[p [s | c_s] = prod limits_ {w in {s}} p(w | c_s)= prod limits_ {w in {s}} [ alpha p(w)+(1 - alpha) frac { exp( langle tilde {c} _s、v_w rangle)} {Z}] ]
対数を取ると、1つの単語が次のように記録されます
[f_w( tilde {c} _s)= log [ alpha p(w)+(1- alpha) frac { exp( langle tilde {c} _s、v_w rangle)} {Z }] ]
上記の式を最大化し、特に論文の詳細な説明に合わせて、最終的な目標は次のとおりです。
[ arg max limits_ {c_s} sum limits_ {w in {s}} f_w( tilde {c} _s)]
取得することができます:
[ tilde {c} _s propto sum limits_ {w in {s}} frac {a} {p(w)+ a} v_w、 a = frac {1- alpha} {アルファZ} ]
だからあなたは得ることができます:
- 最適な解決策は、文中のすべての単語のベクトルです 加重平均
- 頻度の高い単語の場合(に)、重量が小さいので、この方法も同等です ダウンサンプリング よくある言葉
最後に、決勝戦を勝ち取るために 文ベクトル (c_s )、見積もりが必要です(c_0 )ベクトルを計算することによって( tilde {c} _s )の 最初の主成分 (( PCA 主成分)で、次のように解釈します(c_0 )最終的な文のベクトルは( tilde {c} _s )主成分ベクトルを減算します(c_0 )。
4.アルゴリズムの概要
アルゴリズムの手順全体は次のように要約されます。
転載:https://www.cnblogs.com/databingo/p/9788244.html