Skip to content

Latest commit

 

History

History
45 lines (25 loc) · 3.55 KB

File metadata and controls

45 lines (25 loc) · 3.55 KB

言語モデル

Word2VecやGloVeのようなセマンティック埋め込みは、実際には言語モデルへの第一歩です。つまり、言語の性質を何らかの形で理解(または表現)するモデルを作成することです。

言語モデルの背後にある主なアイデアは、ラベル付けされていないデータセットを使用して教師なしでトレーニングすることです。これは、ラベル付けされていないテキストが膨大に存在する一方で、ラベル付けされたテキストの量はラベル付けに費やせる労力によって常に制限されるため、非常に重要です。多くの場合、テキスト内の欠損単語を予測する言語モデルを構築できます。なぜなら、テキスト内のランダムな単語をマスクしてトレーニングサンプルとして使用するのは簡単だからです。

埋め込みのトレーニング

前回の例では、事前にトレーニングされたセマンティック埋め込みを使用しましたが、それらの埋め込みがどのようにトレーニングされるかを見るのも興味深いです。以下のようなアイデアがいくつかあります:

  • Nグラム言語モデル:N個の前のトークンを見てトークンを予測する(N-gram)。
  • Continuous Bag-of-Words (CBoW):トークン列$W_{-N}$, ..., $W_N$の中間トークン$W_0$を予測する。
  • Skip-gram:中間トークン$W_0$から、隣接するトークンの集合{$W_{-N},\dots, W_{-1}, W_1,\dots, W_N$}を予測する。

単語をベクトルに変換するアルゴリズムに関する論文の画像

画像出典:この論文

✍️ サンプルノートブック: CBoWモデルのトレーニング

以下のノートブックで学習を続けてください:

結論

前回のレッスンでは、単語埋め込みがまるで魔法のように機能することを学びました!今回の内容で、単語埋め込みのトレーニングがそれほど複雑な作業ではないことを理解しました。必要に応じて、特定の分野のテキストに合わせた独自の単語埋め込みをトレーニングできるはずです。

復習と自己学習

このラボでは、CBoWの代わりにSkip-Gramモデルをトレーニングするように、このレッスンのコードを変更する課題に挑戦していただきます。詳細はこちら