KOTORI JAPANESE INPUT
Kotoriのしくみ
Mozcの辞書と変換を土台に、zenzとTinySwallowが文脈を読んで候補を選び直す。品質モード、AI予測、GPU・CPUの使い分けと負荷制御を紹介。
候補の生成と選択
- Mozcが候補を組み立てる。辞書・かな漢字変換・文節処理を土台にし、変換用AIのzenzも読みから文を生成します。
- AIが候補を採点する。zenzと日本語モデルTinySwallow-1.5Bが、前の文に続けて自然な日本語かを採点します。結果に合わせて文節の区切りも調整します。
- 読みを辞書で確かめる。生成した文が読みと一致するかをMozcの辞書で確認し、合わない候補を拒否します。ユーザー辞書の登録語はAIが書き換えません。
入力中のAI予測
1文字ずつの入力はMozcが処理し、AI予測は裏で計算します。候補に「AI」と付いた続きをTabで選べます。v1.1.0-rc.1では、手を止めたときにもAI変換と予測を表示する機能を追加しました。公開版v1.0.0と先行版の機能範囲は区別して案内しています。
品質設定と動作環境
| 品質 | AJIMEE-Bench | 変換の中央値 | 利用環境 |
|---|---|---|---|
| Low(GPU測定) | 88.0% | 約0.06秒 | 小さい専用GPU |
| Standard(既定) | 91.5% | 約0.06秒 | 専用GPU |
| High | 92.5% | 約0.08秒 | 速い専用GPU |
| Unreal | 93.0% | 約0.26秒 | 十分に速い専用GPU |
| CPU向けLow | 83.0% | 約0.12〜0.16秒 | GPUなし・内蔵GPUのみ |
READMEの公開値。GPUの行はRTX 3060、CPUの行はデスクトップCPU、前の文あり。変換結果や時間は環境・読み・入力のタイミングに依存します。測定条件 · 性能記録。現行mainではGPU Lowが87.5%になったことも引き継ぎに記載されています。
負荷と待ち時間を抑える。
AIの計算には時間の上限があり、間に合わなければMozcの結果を出します。内蔵GPUは使わずCPU向けに切り替えます。日本語を10分入力しなければAIモデルを外してVRAMを空け、次の入力時に裏で読み込み直します。
モデルはzenz-v2.5 small / medium、TinySwallow-1.5B。実行環境はllama.cpp / ggmlを使い、専用GPUはVulkanで利用します。