新変換エンジンは「Trigram」+「使用語統計」
Q3 IME 2007は今までと何が違う?
A3 変換エンジンが新開発されている。今回の修正プログラムで対応した問題は、いずれもこの新開発の変換エンジンに起因するものだ。
佐藤氏らによれば、マイクロソフトのIMEはWindows 95の頃の変換エンジンに対して改良を加え続け、IME 2003まで使い続けていた。しかしIME 98~IME 2000の頃には、変換精度の向上が飽和しつつあり、手作業での調整が多くて非効率になっていたという。そこで、IME 2000の頃から新しいエンジン開発を目指して、前述のMicrosoft Researchとの共同作業が始まった。
変換方法の変更
Vista IMEまでのエンジンは、変換候補を選び出す際に、品詞のつながりを2つずつ見る処理をしていた。例えば、「生ゴミが散乱」というテキストを変換する際には、まず「なまごみ」という入力を「生ゴミ」という名詞に変換し、これにどんな品詞がつながりやすいかを判断する。この場合は「が」という助詞が適当となる。
次に「が」と「さんらん」について、それぞれ何が適当かを判断する。この例では、入力「が」は助詞の「が」、入力「さんらん」はサ変動詞の語幹である「産卵」が適当と判断する。
品詞を2つずつ見た場合、「生ゴミ」+「が」の組み合わせと、「が」+「産卵」の組み合わせはそれぞれ適当に見える。しかし、1文として続けて見ると「生ゴミが産卵」というおかしな文になってしまう。2つずつ見る方式では、「生ゴミ」と「産卵」の関係を確認できないためだ。
「2つの品詞の組み合わせ」という荒い文法での判断がベースにある以上、精度の向上には限界があった。それを解決するために新しく開発されたのが、IME 2007の変換エンジンである。
IME 2007の変換エンジンでは、「Trigram」と呼ばれる処理をベースにしている。Trigramでは3つの単語のつながりを見る。「品詞ではなく単語で見る」と言われても、今ひとつ素人にはピンとこないが、品詞ベースでは名詞や助詞といった単語の種類同士でつながりやすさを判断していたが、単語ベースでは種類にはこだわらず、きめ細かくなるという。
3つの単語のつながりやすさを見るという点を、先の例で見てみる。まず「生ゴミ」につながる「が」を調べると、「画」や「我」ではなく「が」に続く確率が高い。さらに、「生ゴミ」+「が」に続く「さんらん」を調べると、「散乱」の可能性が高いと出る。これにより、「生ゴミが散乱」という変換結果が選ばれるというわけだ。
IME 2007の変換エンジンは、この考え方をベースにしている。これを実現するには、「単語のつながりやすさ」というデータが大量に必要となるので、さまざまな文章を開発用ソフトウェアに読ませて文章を解析し、つながりやすさのデータを得る。
IME 2007のヘルプには、辞書作成の協力についての謝辞として、読売新聞や電子図書館「青空文庫」、さらにメールマガジンサービス大手の(株)まぐまぐの名が挙げられている。これらが保有する大量の文章が、IME 2007の辞書開発の際に役立っているようだ。
学習方式の変更
変換エンジンの修正でもうひとつ重要なのが、学習方法の変更だ。旧来の学習エンジンは、最新の変換候補を次の変換でも提示する「最新使用語学習」を基本原理としていた。変換処理を行なった際に、ユーザーが第1候補以外の候補を選んだ場合、選ばれた候補のスコア(点数)を第1候補よりも高くする。
例を元に見てみる。最初の変換時に候補1「産卵」、候補2「散乱」、候補3「燦爛」と表示されたのに対して、ユーザーが候補2「散乱」を選ぶ。すると、「散乱」のスコアを「産卵」より高くする処理が変換エンジンで行なわれる。よって、次の変換時には候補1が「散乱」、候補2が「産卵」として提示されるというわけだ。
最新使用語学習はユーザーにとっても分かりやすいが、当然ながら同じ読みで違う漢字を変換しようとすると、正しい結果が出ないことが起きる。これを学習の「副作用」と呼ぶ。IMEの学習機能は副作用を抑制するために、どんどん複雑化していった。これを解消するために、IME 2007の学習機能では「使用語統計+最新使用語」という新しい方式を導入した。
使用語統計の理屈を簡単に言うと、「使う頻度が高い語ほど出やすくする」となる。最新使用語ではなく、いつも使う語の方が出やすいというのが、使用語統計による学習と考えれば分かりやすい。
IME 2007の使用語統計では、ユーザーが選択した単語のすべてで、使用回数のような変数を記録する。使用頻度の高い語ほど変数の値が上がるわけで、変換の際にはこの変数を参照して、高いものを優先して提示する。これに最新使用語学習を組み合わせることで、実際の変換は行なわれているわけだ。