フリック入力の特許と予測入力の話

mowamowa くんの現状の Android の良い点と良くない点を見て、

それに、使っていてもっさりしているのもいただけない。特に困るのが日本語入力。デフォルトのiWnnは辞書の品質は良いのだが何より遅いため、3GSなどと比較されるとどうしても白旗を上げたくなってしまう。実際には、3GSもHTC magic(GDD phoneとかのアレ)も、どちらもハードな日本語記事を書いたりするのには向かないので、その程度のレスポンスの違いなどそんなに重要ではないのだが、どうしても見た目遅く見えるとダメなのは否定できない。
(中略)
参考のため、しめじも試してみた。入力は快適に感じられるが、辞書が弱い。私の直感ではiWnnの重さは辞書引きの部分にあり、しめじはそこらへんがいい加減だから速いだけ、だ。「とこ」と入力したらiWnnのように「ところが」「ところで」と出てきてわざわざ入力する手間を省くのが携帯入力の本領であるところ、フリック入力のクリック数が少ないというだけで良いと思う人がいるらしい。そーじゃない。「き」でキタ━━━(゚∀゚)━( ゚∀)━( ゚)━( )━(゚ )━(∀゚ )━(゚∀゚)━━━!!!!!って出てほしいんだよ

#つーかフリックの特許とか大丈夫なのか?

というの、自分もちょっと気になるところである。Androidでフリック入力ができるという話なのだが、かふぇ・べいぶ別館によると

iWnnは文字キーの長押しでQWERTY配列を選択できる(勘違いしていた).ただし,縦の時は画面の横幅が狭いので若干注意が必要だが,横の時は入力しやすい.なお,昨日義兄に聞いた時には,フリック入力の特許を出願済(まだ成立はしていない)のようなので,iWnnが公式に対応できるかは微妙かも.

とあるので、特許が成立したら違うやり方でやらないといけなくなるかも。たつをさんのページにiPhone の日本語入力方式(フリック入力)の特許についてまとめられていて、そこからリンクがあるiPhoneのフリック入力に関して特許のことというのを見ると、現在は関連する特許が成立してはいないようで、なおかつ iPhoneフリック入力はそれらの特許には含まれてなさそう、というところまでは分かるのだが、ということは現在出願中の特許が成立する可能性がある、ということなのかな?

Simeji に関しては辞書引きは(Social IME)サーバがやるから(ネットワークが十分速ければ)軽く見えるのであって、辞書引きを手抜きしているわけではないような……。個人辞書をどう使うかが予測入力では重要なので、そこをさぼっているというのはそうだと思うが、最初から予測入力に特化して作らないとここは後回しになりそうだし、ChaIME もまだそこは作っていない。iWnn は恐らく最初から予測を念頭に置いて作っていると思うので、使いやすいのだろうが……。

あと、自然言語処理ではこういうモデルを適応させることは domain adaptation といってここ数年流行りだしているのだが、音声の分野では話者に適応して認識するのが一般的なので、adaptive language model という名前でけっこう蓄積があるらしい。ちゃんと調べないとなぁ。もちろん、SKK がやるように最近変換した単語を一番上に持ってくるようなのはキャッシュモデルと言い、これも非常に効果が高いヒューリスティックであることが分かっており、音声分野でもベースラインとして使われているようである。係り受けの共起を使った変換(AI 変換と呼ばれているもの。なぜ AI なのか自分には謎)なんかも音声の分野では trigger model とかなんだとか、いろいろ研究があるようだ。

かな漢字変換は言語認識技術、予測入力は言語生成技術とすると、研究を進める人は音声認識みたいな音声系の分野の論文も手を広げてみたほうがいいんじゃないかと思う。かな漢字変換機械翻訳の特殊な形(機械翻訳は2言語間の翻訳だが、かな漢字変換は片方の言語がかな文字列、もう片方の言語が分かち書きされた日本語の単語列になっている1言語間の翻訳と等価)だが、最近大流行している統計的機械翻訳の基本的な考え方は、音声認識の分野から来ているし、このあたりはもっとインタラクションがあっていいように思う。

あと、予測入力は恐らくいまはどこもヒューリスティックに作り込んでいるのだと思うが、これは実際のところ言語モデルで次の入力を予測していることに相当するので、ちょうどかな漢字変換でうまく動いていたヒューリスティックの一つである接続コスト最小法が、隠れマルコフモデル(品詞は分かっているので隠れてないけど)によって数学的に説明できたように、予測入力でもうまく動いているヒューリスティック言語モデルで説明できるんじゃないかなぁ、と思ったり。