Word2vec
異なるモデルパラメータと異なるコーパスサイズを使用すると、word2vecモデルの品質に大きく影響する可能性がある。精度は、モデル構造(CBoWモデルまたはSkip-gramモデル)の選択、トレーニングデータセットの増加、ベクトルの次元数の増加、アルゴリズムで考慮される単語のウィンドウサイズの増加など、いくつかの方法で改善できる。こうした改善策のそれぞれには、計算の複雑さが増してモデル生成時間が増加するというコストが伴う。
大規模なコーパスと高次元を使用するモデルでは、skip-gramモデルで最も高い精度が得られ、ほとんどの場合における構文精度だけでなく意味論的関係の精度も最大化する。ただし、CBoWでも低い計算コストで同様の精度の結果を得ることができる。
使用される単語の数が増えるほど、また次元の数が増えるほど、精度は全体的に向上する。ミコロフらは、トレーニングデータの量を2倍にすると、計算の複雑さが増加し、ベクトルの次元数を2倍にすることに相当することを報告した。
Altszylerらは、異なるコーパスサイズの2つのセマンティックテストでWord2vecのパフォーマンスを調査し、Word2vecの学習曲線が急峻であることを発見した。中規模から大規模のコーパス(1,000万語以上)では別の単語埋め込み手法(LSA)よりも優れていたが、小規模のコーパスでは、LSAの方が優れていた。さらに、最適なパラメータ設定はタスクとコーパスに依存することを示した。とはいえ、中規模のコーパスを用いたskip-gramの場合、次元数50、ウィンドウサイズ15および負のサンプル10が適切なパラメーター設定のようであった。
Word2vecでは、CBoW(continuous bag-of-words)モデルおよびskip gramモデルという二つのモデル構造のいずれかを使用し、単語の分散表現を生成する。
CBoWモデルでは、周囲のコンテキスト単語から現在の単語を予測する。コンテキスト単語の順序は問わない。skip-gramモデルでは、現在の単語を使用して、周囲のコンテキスト単語を予測する。現在の単語に近ければ近いほど、コンテキスト単語の重みを大きくする。
著者のメモによれば、skip-gramモデルはCBOWモデルと比較すると低速ではあるが、頻度の低い単語に対しては有用である。
word2vecフレームワークで単語の埋め込み学習が成功する理由はよくわかっていない。GoldbergとLevyは、word2vec目的関数が類似のコンテキストで発生する単語に類似の埋め込み(コサイン類似度で測定)をもたらすことを指摘している。これはJRファースの分布仮説と一致する。しかし、彼らはこの説明は「非常に波打つ」ものであり、より正式な説明が望ましいと主張している。
レヴィら(2015)は、下流のタスクにおけるword2vecまたは同様の埋め込みの優れたパフォーマンスの多くは、モデル自体の結果ではなく、特定のハイパーパラメーターの選択の結果であることを示している。これらのハイパーパラメータをより「従来の」アプローチに転送すると、ダウンストリームタスクで同様のパフォーマンスが得らる。アロラらはword2vecと関連アルゴリズムを、テキストの単純な生成モデルの推論を実行するものとして説明している。これには、対数線形トピックモデルに基づくランダムウォーク生成プロセスが含まれる。 彼らはこれを使用して、類推を解決するための使用を含め、単語の埋め込みのいくつかの特性を説明する。