Kotori日本語入力

KOTORI JAPANESE INPUT

Kotoriのしくみ

Mozcの辞書と変換を土台に、zenzとTinySwallowが文脈を読んで候補を選び直す。品質モード、AI予測、GPU・CPUの使い分けと負荷制御を紹介。

候補の生成と選択

  1. Mozcが候補を組み立てる。辞書・かな漢字変換・文節処理を土台にし、変換用AIのzenzも読みから文を生成します。
  2. AIが候補を採点する。zenzと日本語モデルTinySwallow-1.5Bが、前の文に続けて自然な日本語かを採点します。結果に合わせて文節の区切りも調整します。
  3. 読みを辞書で確かめる。生成した文が読みと一致するかを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
High92.5%約0.08秒速い専用GPU
Unreal93.0%約0.26秒十分に速い専用GPU
CPU向けLow83.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で利用します。

設計とコードを公開する。

Mozcへの変更 · 設計判断の記録 · 精度の評価