意味の分散表現論の登場
【 意味の分散表現論の登場 】 コンピュータと自然言語が出会った時以来、大量の言語データを統計的に処理すれば、言語の性質がわかるだろうという楽観論が存在しました。ただ、そうしたアプローチは失敗します。 For breakfast I ate _____eggs. という文の空白部分に入るのは、三つの単語{ to, two, too }のどれかという問題に(答えはもちろん 'two'です)、21世紀に入っても、単純な統計的アプローチは、100% 正確に答えることができませんでした。この論文の著者は、なんと10億語からなる用例集を統計的に処理したのですが。 利用したデータの膨大さにも関わらず、このアプローチの無力さは、なんなのでしょう? 【 Bengioの「次元の呪い」-- 語の数と文の数 】 それは問題の複雑さの尺度を見誤ったことによるものです。データの数を増やせば、問題が解けるようになるとは限らないのです。 26文字のアルファベット15文字以内で構成される語の数は、高々、26^15です。ただし、語彙が10万個ある言語での10個の語からなる文は、100000^10=10^50種類もあるのです。 確認しておくべき重要な事実があります。それは、ある言語ですべての語彙を集めた「辞書」は存在するかもしれないのですが、その言語のすべての文の例を網羅した「用語集」は存在しないということです。 Bengioは、早くから、言語処理に現れる組み合わせの数の爆発を意識していた一人でした。意味の分散表現論の登場を告げる歴史的な2003年の論文で、彼は、それを「次元の呪い」 Curse of Dimentionality と呼びました。 【 Bengioのアプローチ 】 この論文で、Bengioは「次元の呪い」と戦うために、次のような方法を提案します。 1. 語彙中のそれぞれの語に、m個の実数に値を持つ、分散したm次元の特徴ベクトル(word feature vector)を対応づける。 2. 語の並びの結合確率関数を、この並びの中の語の特徴ベクトルで表現する。 3. 語の特徴ベクトルとこの確率関数のパラメーターを、同時に学習する。 乱暴なまとめをすれば、こんなことです。 「文」全体を相手にすると、その数はあまりに多すぎて、い...