【学習ノート】Word Vector Model - Word2vec

参考資料: 【word2vec ワードベクトルモデル】 NLP自然言語処理の古典モデルWord2vec
を実装する原理+コードの詳細解説

論文の背景知識

言葉の表現方法

ワンホット表現: ワンホット表現

シンプルですが、単語が増えれば増えるほどベクトルは長くなります。そして言葉と言葉の関係性を表現することはできません。

ここに画像の説明を挿入します

論文予備知識・予備知識

言語モデルの概念

言語モデルは、文が文である確率を計算するモデルです。(文法的にも意味的にも)

言語モデルの開発

専門的な文法規則に基づいた言語モデル

言語学者は、形容詞の後に名詞が続くなど、一連の普遍的な文法規則を要約しようとします。

統計的言語モデル

ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します
一部の単語がコーパスに表示されないか、フレーズが長すぎる可能性があります。したがって確率は0です。この問題を解決するために、統計的言語モデルにおける平滑化操作を以下に提案します。

統計言語モデルでの平滑化操作

ここに画像の説明を挿入します
しかし、これは単語の確率のみを扱っています。
ここに画像の説明を挿入します
大きすぎるパラメータ空間の問題を解決するために、マルコフ仮説が導入されます。
ここに画像の説明を挿入します

言語モデルの評価指標

各分野には独自の評価指標があります。

言語モデルは多分類問題とみなすことができ、
n乗根をとる目的は、長い文の確率が短い文の確率よりも小さくなり、評価が偏ることを避けるためです。

ここに画像の説明を挿入します

モデルの比較

NNLM

ここに画像の説明を挿入します

言語モデルは教師なしであり、ラベル付きコーパスを必要としません。

入力層

ここに画像の説明を挿入します

ループではなく行列として記述できる場合は、そのまま行列として記述してください。複雑さを軽減できます。

隠れ層

ここに画像の説明を挿入します

出力層

ここに画像の説明を挿入します

損失

ここに画像の説明を挿入します

バッチサイズは一種のトレードオフであり、
文の長さが異なるためパッドを追加する必要がありますが、最終的には削除する必要があります。

ここに画像の説明を挿入します

RNNLM

ここに画像の説明を挿入します
ここに画像の説明を挿入します

word2vec

ここに画像の説明を挿入します

多分類のロジスティック回帰モデルも対数線形モデルです。
以下の Skip-gram と cbow も対数線形モデルです。

word2vecの原理

ここに画像の説明を挿入します

スキップグラム

ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します

ボウ

ここに画像の説明を挿入します

Bag-of-Words モデルでは、単語の順序は無視されます。

ここに画像の説明を挿入します
ここに画像の説明を挿入します

キーテクノロジー

ここに画像の説明を挿入します
ソフトマックスの複雑さを軽減する必要があります。

階層的ソフトマックス

ソフトマックス計算をシグモイド計算に変換し
、バイナリ ツリー構造に書き込みます。
ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します

スキップグラムの階層的ソフトマックス

ここに画像の説明を挿入します
ここに画像の説明を挿入します

cbow の階層的ソフトマックス

ここに画像の説明を挿入します

Skip-gram の階層ソフトマックスとの違いは、u0 がコンテキスト ワード ベクトルの avg であることです。Skip
-gram には中心ワード ベクトルの完全なセットしかありません。以前のように中心ワード ベクトルと周囲のワード ベクトルを平均化することはできません。cbow には
完全な単語ベクトルしかありません。周囲の単語ベクトルを設定します

ネガティブサンプリング

アイデア: 複数分類を 2 分類問題に変換します。
ネガティブ サンプリング効果は階層ソフトマックスよりも優れています。

通常、3 ~ 10 個の陰性サンプルがサンプリングされます。

スキップグラムネガティブサンプリング

ここに画像の説明を挿入します
ここに画像の説明を挿入します

重要な単語は出現頻度が低くなり、重要でない単語は出現頻度が高くなる傾向があります。

CBOW ネガティブ サンプリング

ここに画像の説明を挿入します

再サンプリング

ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します

モデルの複雑さ

ここに画像の説明を挿入します

異なるモデルの E と T は同じとみなされます。そのため、以下ではモデルの複雑さを表すために Q が使用されます。

NNLM

ここに画像の説明を挿入します

階層的ソフトマックスを使用すると、V*Hは log 2 V ∗ H log_2V*Hになります。ログ_ _2VH

RNNLM

ここに画像の説明を挿入します

スキップグラム

ここに画像の説明を挿入します

スキップグラムネガティブサンプリング

ここに画像の説明を挿入します

CBOW

ここに画像の説明を挿入します

比較する

ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/zhangyifeng_1995/article/details/132719661