言語モデル
その目標は、訓練用の単語列 w 1 , w 2 , w 3 , ... , w T {\displaystyle w_{1},w_{2},w_{3},\dots ,w_{T}} が与えられたとき、平均対数確率
を最大化することである。ここで訓練文脈の大きさ k は、中央の単語 w t {\displaystyle w_{t}} の関数とすることができる。skip-gramモデルとbag-of-wordsモデルは、word2vecプログラムの基礎をなしている。 ニューラルネット言語モデルを使用する際に良く行われるのが、実際の確率を計算するのではなく、ネットワークの「隠れ層」に符号化された分散表現を単語の表現として利用するものである。各単語は「単語埋め込み」と呼ばれる n 次元の実数ベクトルが割り当てられる。ここで n は、出力層より前の層の大きさである。特徴的なのは、skip-gramモデルの表現が、単語間の意味的関係を線型結合としてモデル化し、それにより構成性(英語版)の形式を捉えることである。たとえば、このようなモデルでは、単語 w をその n 次元ベクトル表現に対応付ける関数 v があるとき、
という式が成立し、ここで ≈ は正確には右辺が左辺の値の最近傍として定義される。
を予測することを目的とした確率的分類器(英語版)として構築・訓練される。 すなわち、ネットワークは、与えられた言語的コンテキストに基づいて、語彙の確率分布を予測するように訓練される。これは、バックプロパゲーションを用いた確率的勾配降下法などの標準的なニューラルネットワークの学習アルゴリズムによって行われる。コンテキストは、先行する単語の固定サイズのウィンドウとすることができ、ネットワークは先行する k 個の単語を表す特徴ベクトルから
を予測する。もう一つの選択肢として、「過去」と「未来」の単語を特徴として使用し、推定確率を
とする、バッグ・オブ・ワードモデル(英語版)(bag-of-words model)と呼ばれるモデルもある。文脈中の単語の特徴ベクトルを連続演算で連結すると、このモデルは連続バッグ・オブ・ワード(Continuous bag-of-words、CBOW)アーキテクチャと呼ばれる。 第3の選択肢は、skip-gram(英語版)と呼ばれる言語モデルである。これは先の問題を逆にして、与えられた単語から、文脈を出力するようにニューラルネットワークを訓練させるもので、CBOWよりも訓練に時間がかかるが、わずかに良い性能を得ることができる。
ニューラル言語モデルは、連続空間言語モデル(continuous space language models)とも呼ばれ、単語の連続的な表現または埋め込みを使用して予測を行う。これらのモデルでは、ニューラルネットワークが使用されている。
連続空間の埋め込みは、言語モデリングにおける「次元の呪い」を軽減するために有効な手法である。訓練に用いるテキストの大きさ応じて語彙に含まれる固有の単語数も増える。このため、単語列の可能な組みわせ数が指数関数的に増加することにより、データ疎性の問題が発生する。そのため、確率を適切に推定するためには統計が必要となる。この問題を回避するため、ニューラルネットワークでは単語の表現を分散させる手法をとり、ネットワーク内の重みの非線形な組み合わせとして表現する。また、ニューラルネットは言語関数を近似していると捉えることもできる。この目的に使用できるニューラルネットのアーキテクチャには、順伝播型と回帰型の2種類がある。前者は単純であるが、後者の方がより一般的である。
ニューラルネット言語モデルは一般に、語彙 V {\displaystyle V} のすべての単語 t {\displaystyle t} について確率分布