本文へ移動

G検定(ジェネラリスト検定)

ふぁすとてきすと

fastText

FastText

fastTextは、各単語を文字n-gramの袋として表し、文字n-gramのベクトルの和で単語ベクトルを作るskipgramベースの単語表現の手法で、学習データに無い未知語にも表現を計算できます。

詳しい説明

各単語に1つのベクトルを割り当てる方式の限界

大規模なラベルなしコーパスで学習する連続的な単語表現は、多くの自然言語処理タスクで役立ちます。しかし、こうした表現を学習する代表的なモデルは、各単語に別々のベクトルを1つずつ割り当てるため、単語の形態論(morphology)、つまり単語の内部構造を無視しています。この点は、語彙が大きく、稀な単語が多い言語で特に大きな制約になります。

形態論的に豊かな言語で起きる問題

トルコ語やフィンランド語のような形態論的に豊かな言語では、単語の内部構造を無視することが重要な制約になります。例えばフランス語やスペイン語では、ほとんどの動詞が40種類を超える活用形を持ち、フィンランド語では名詞に15の格があります。こうした言語には、学習コーパスの中でまれにしか現れない、あるいはまったく現れない語形が多く含まれるため、良い単語表現を学習するのが難しくなります。

単語を文字n-gramの袋として表す

fastTextの元になった手法は、skipgramモデルに基づきつつ、各単語を文字n-gram(単語を構成する部分文字列)の袋として表現します。各文字n-gramにはそれぞれベクトル表現が対応づけられ、単語はそれらのベクトルの和として表されます。単語をひとまとまりの記号として扱うのではなく、その単語を構成する部分文字列の情報を表現に取り込む点が、各単語に独立したベクトルを割り当てる従来の方式との違いです。

学習データに無い単語にも表現を作れる

この方式では、学習データに現れなかった単語(未知語)についても、その単語に含まれる文字n-gramのベクトルを足し合わせることで表現を得られます。各単語に1つのベクトルを割り当てる方式では、学習時に現れなかった単語に対応するベクトルがありませんが、文字n-gramを単位にすることで、この問題に対応できます。

また、この方法は高速で、大規模なコーパスでもモデルを素早く学習できるとされています。

9つの言語での評価

提案された単語表現は、9つの異なる言語で、単語の類似度を測る課題とアナロジー(類推)課題の両方について評価されました。当時提案されていた、形態論を考慮する他の単語表現と比較した結果、これらの課題で最先端(state-of-the-art)の性能を達成したと報告されています。

fastTextを理解するための要点

fastTextの要点は、単語の内部構造を表現に取り込む点にあります。稀な単語や未知語が多い状況でも表現を作れること、活用形や格の多い形態論的に豊かな言語での課題に対応できること、そして学習が高速で大規模なコーパスを扱えることが、各単語に独立したベクトルを割り当てる方式と比べたときの特徴です。

試験で問われること

G検定

  • 従来の単語表現モデルが各単語に別々のベクトルを1つずつ割り当てることで生じる限界は何か、またそれが特にどのような言語で顕著になるかを説明できるか。
  • fastTextの元になった手法で、単語のベクトルが文字n-gramのベクトルからどのように作られるかを説明できるか。
  • 学習データに現れなかった未知語について、fastTextではどのように単語表現を得るかを説明できるか。
  • トルコ語やフィンランド語のような形態論的に豊かな言語で単語の内部構造を考慮することがなぜ重要かを、活用形や格の多さと関連づけて説明できるか。
  • fastTextの元になった手法がどのモデルを基盤とし、いくつの言語で、どのような課題によって評価されたかを答えられるか。

最終更新日: 2026/09/23