Nグラムモデルとは、連続するN個の単語や文字の並びを単位として出現確率を計算し、次の単語を予測する統計的言語モデルです。自然言語処理の分野で古くから使われており、シンプルながら強力な仕組みとして知られています。
Nグラムモデルとは
一言でいうとNグラムモデルとは、テキスト中の連続するN個の要素の出現頻度をもとに、次に出現する確率を予測する統計的な言語モデルです。
詳しく解説
Nグラムモデルは、直前のN-1個の単語(または文字)の履歴のみに依存して次の単語が決まるというマルコフ連鎖の仮定に基づいています。例えば、Nが2の場合は「バイグラム(Bigram)」、3の場合は「トリグラム(Trigram)」と呼ばれます。大規模なコーパス(テキストデータ)から各単語の並びの出現頻度を数え上げることで確率を算出し、文章の生成や予測、音声認識、機械翻訳などの初期の自然言語処理において中心的な役割を果たしてきました。
具体例・使われ方
例えば「人工知能の勉強を」というフレーズに続く単語を予測する場合、Nグラムモデルでは「勉強を」という直前の単語の並び(バイグラム)に続く確率が高い単語(「始める」「進める」など)を計算して提示します。また、スペルチェックにおいて誤った単語の組み合わせの出現確率が低いことを検出する用途にも利用されます。
似た用語との違い
近年のディープラーニングを活用したニューラルネットワークベースの言語モデル(リカレントニューラルネットワークやトランスフォーマーなど)と比較して、Nグラムモデルは文脈を広く捉えることができません。ニューラルネットワークが膨大なコンテキストを連続的なベクトルで表現するのに対し、Nグラムモデルは局所的な単語の連続のみをカウントする点が異なります。
注意点
Nグラムモデルの最大の限界は、Nを大きくするほど必要なパラメータ数が爆発的に増加する「データの希薄化問題」です。学習データに一度も登場しない単語の組み合わせ(ゼロ確率)に対しては適切に確率を計算できないため、スムージング(平滑化)と呼ばれる手法で補正する必要がありますが、それでも長距離の依存関係を学習することは困難です。