LLM時代の日本語IMEを自作する

LLM時代の日本語IMEを自作する

きっかけ

AppleのIMEがひどいんですよね。

ここ数年、macOS/iOSの日本語変換の精度が目に見えて落ちている。以前はスムーズに出ていた語句がまともに変換されない。「日本人の生産性を落とすためにやっているのでは?」という陰謀論的なことまで考えてしまうくらい、ひどい。

じゃあGoogle日本語入力やATOKに乗り換えればいいのかというと、それも試したけど満足できなかった。どれも何かが足りない。

そこで思ったわけです。自分で作ればいいんじゃないか、と。

しかもオープンソースにして、コミュニティでみんなで開発できるようにしたら面白いんじゃないかなと。

既存のオープンソースIME

調べてみると、すでにいくつかのプロジェクトが存在している。

Mozc — Google日本語入力のオープンソース版。Linux界隈ではデファクトスタンダードになっている。2024年以降はプルリクエストの受け入れ範囲を全体に拡大して、コミュニティからの貢献が増えている。ただし、Googleの豊富な変換辞書は含まれていないので、変換品質はGoogle日本語入力より劣る部分がある。あと、巨大プロジェクトなので個人でフォークしてメンテナンスし続けるのは現実的に厳しいという声もある。

azooKey — iOS向けの日本語キーボードアプリ。変換エンジンを独自実装していて、MITライセンスでオープンソース化されている。個人開発でここまでやっているのはすごい。

Anthy、libkkc、SKK — Linux向けの古くからあるIMEたち。それぞれ特色はあるけど、現代的なニーズに応えるには少し力不足な面がある。

LLMを活用した新しいアプローチ

やっぱり面白いのは、ゼロからモダンな設計で作る方向だと思う。

今ならLLMを活用した文脈理解による変換精度の向上が狙える。従来のIMEは基本的にN-gramベースの統計モデルで、直前の数単語しか見ていない。でもLLMなら文章全体の文脈を理解した上で変換候補を出せる可能性がある。

例えば:

もちろん、レイテンシの問題がある。IMEはリアルタイムで変換候補を出す必要があるので、LLMの推論速度がボトルネックになりうる。ローカルで動く軽量モデルとの組み合わせ、あるいはキャッシュ戦略など、エンジニアリングの工夫が必要になるだろう。

でも、そこが面白いところでもあるんですよね。

「氣」の話 — IMEが文化を守る

ちょっと脱線するけど、「気」と「氣」の違いを知っていますか。

旧字体の「氣」は中に「米」が入っていて、エネルギーが八方に広がるイメージがある。新字体の「気」は中が「〆」で、閉じている。健康や精神性に関わる人たちが「氣」を好んで使うのは、そういう背景がある。

でも今のIMEでは「氣」を一発で変換するのは難しかったりする。こういう文化的な文脈を理解して、ユーザーの意図に寄り添った変換ができるIMEがあったら、それは単なるツールを超えた存在になるんじゃないかと思う。

日本語の豊かさを守るためのIME。そういう思想を持ったプロジェクトがあってもいい。

コミュニティの構想

自分一人で完成させるものではないと思っている。むしろ、同じ課題意識を持つ人たちが集まって、一緒に作っていくのが理想。

やるべきことはたくさんある:

Mozcの開発者の方が書いていた言葉が印象的だった。「IMEに関心を持っていたり、実際に開発に取り組んでいる方がいらっしゃることもとてもうれしく思っています」と。この分野に情熱を持つ人は確実にいる。

次のステップ


これはまだ種の段階。でも、Apple IMEに不満を持つ全ての日本語話者のために、何かを始める価値はあると思う。