読み方 : ファストテキスト
fastText

先行するword2vecと同様に周囲の文脈から単語ベクトルを学習するが、単語をそのまま扱うのではなく、文字N-gramの集合として表現する点が異なる。文字単位のN-gramとは、連続したN文字を一つのまとまりとして扱う手法である。例えば、「phone」の3-gram表現であれば、連続する3文字ずつの要素「pho」「hon」「one」で表される。
fastTextでは一つの単語を文字N-gramで複数の部分文字列(サブワード、部分語)に分割し、それらのベクトルを組み合わせて単語全体の表現を構成する。これにより、語形変化や綴りの類似性、接頭辞や接尾辞といった表層的な特徴がベクトルに反映されやすくなる。学習時に出現しなかった未知語に対しても、部分的に共通する文字列からベクトルを推定でき、活用形が多い言語や、新語が頻繁に出現する環境、日本語のような形態素解析が必要な言語で特に有効である。
計算手法の面でも、階層的ソフトマックス関数など効率を重視した設計により、大規模なコーパス(文例データベース)に対しても比較的短時間で学習が可能である。単語分散表現の学習だけでなく文書分類にも応用することができ、文書内の単語や文字N-gramの情報を平均化することで、文書全体の特徴量を構成して分類モデルを構築することができる。