次のような2つの英文があったとしよう。me1つ目は、単に「りんごは赤い」と言っているだけである。一方で、2つ目の文章は何を言いたいのかさっぱりわからない。me)の確率は極めて小さいとも言える。統計的言語処理の1つの目的は、膨大に蓄積された言語リソースから、この言語モデルを統計的に推定することと言える。今回のテーマであるn-gramとは、その言語モデルの1つである。直近のn-1語によって、次に出現する語の確率を与える。次の2つの文章を考えてみる。******に何が入るか、予測できるだろうか?1文目は、これは〜です、と言っているため、候補は非常に多い。2文目は彼は〜を食べます、なので〜に入るものは食べ物と予測できる、かつ「彼」という言葉からは男性に一般的に好かれるような食べ物が入る可能性が高い。この我々の中に内在する「直前の語からなんとなく予測できる」が、n-gramで抽出したい言語の特性である。この問題は形式的には、「直前2語を所与とした場合の、次に出現する語の条件つき確率を求めよ」、ということである。eats)この例は、直近の2語から次に出る1語を予測する問題なので、3-gram(trigram)と呼ぶ。n-gramに対して、文書Wの確率は、次のように与えられる。(1)また、特殊な形として、1-gram(unigram)がある。これは、直前の語による影響を受けないモデルである。この場合の文書の確率は以下である。(2)そのうち紹介するLDAなどのトピックモデルは、この1-gramの発展系である。簡単のために、2-gramを例とする。ベイズの定理より、次が成り立つ。観測数1回の多項分布を考える。最尤推定量は、(5)は、語列{i,j}の出現回数、Nはドキュメント内の総語数である。ここで、Eq.(3)の2-gramモデルによる条件つき確率は、次のように計算できる。p(*|look)の確率が高い上位5語をそれぞれ抽出した結果である。主語となるsheの後には動詞が続いていること、形容詞redの次には赤いもの、動詞lookの次にはatなどの前置詞が続き、我々の英語知識に沿った結果が得られているのではないだろうか。今回の2-gramのパラメータ総数はV*V=121,396,324個である。グリム童話の場合、そのうちの実に99.97%のパラメータが値は0のまま、つまりその組み合わせが本文中に観測できなかった。このスパースさが、n-gramの難しい所である。概念的には同じようなものを指していても、最尤推定されたパラメータによる文書の確率推定は度々0になり(Eq.(1)のうち1つでも0になれば、総積によって全体が0となる)、モデルとして役に立たない。4-gramを考えていったとき、パラメータの数は指数的に増大していくため、本質的な解決にはならない。次回は、その緩和としてスムージングと呼ばれる手法の紹介をする。コメントをキャンセルメールアドレスが公開されることはありません。*ウェブサイト上に表示された文字を入力してください。