30 - Endlich ist Ibus-PSKK da!
2026年02月01日
Contents
ここ数年開発を続けてきた IME の基本的な機能が一通り実装できたという話をしました。
喋った内容ですが、以下に自分で IME を作ろうと考えた経緯を改めて書いておきます。
- 新しい Linux マシンの購入を期に新下駄配列を使うための仕組みを作ってみる。
- これでは望んだ機能は完全に手に入らないと気が付き、結局 IME に手を出さないといけないという結論になり、mozc の改造を始める。どうにかこうにか自分なりに作りたかった機能を PoC として作り上げる。
- HiroK さん (小松さん) により、mozc に変更を加えていただく。
- 日本語の IME を取り巻く環境が結構大変そう、という思いを持つ (特に開発に企業が割いているリソースについて)。
- 自分で実現したい機能もあったのでオレオレ IME の開発を考える。最初からあった思想として、個人でも充分開発できる程度の複雑度で (つまり開発へのハードルが低い)、なおかつ全体的なスビードで他の IME と同等を目指している (個人差あります)。
上の思想と、実装している機能などをより詳しく書くと:
- 基本的な設計は SKK のようなもの
- 同時打鍵配列
- SandS
- 漢直 (変換前の「読み」の中に漢直の出力である漢字が既にある)
- (実装予定) 複数の文節を前提とした読みに対して文節を分けるために CRF を使う
- これは (word2vec 的な方法では多分難しい) 何故「なんちゃら」という入力は「何ちゃら」と変換されるのか、をわかりやすい形でユーザーに示すことができるようにするため。
- かなから漢字かな混じりの文節変換は辞書で行われるが (つまりここは SKK と一緒) 複数の文節の境界線を予想するのに CRF を使う、というのがポイント。
全体的な考えとしては、クラウド上にある巨大なデータや GPU がなくても、個人のラップトップがあれば、辞書の拡充 (テキストエディターでできる) やモデルの再生成 (CPU でできるような軽めのタスクになる…はず) ができてしまい、個人レベルで入手可能なレベルのリソースだけで、個々人の使用に特化した IME が実現できる、となります。