Mozkey v0.7.7 #170
koyasi777
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Mozkey(もずきー)
Mozkey v0.7.7 の主な改善点は次のとおりです。
彼 | になった、修正 | したん、練習 | ならなど、確定済み左文脈と現在入力の境界で起きる誤変換を抑制しました。・の単打確定対応、促音便途中形でのライブ変換維持を追加しました。概要
v0.7.7 では、主に次の領域を更新しました。
Zenz 補正まわりでは、補正結果を強くするよりも、ユーザーがすでに示している意図を壊さない方向に整理しました。
具体的には、ユーザー辞書由来の表記、ASCII / mixed-script 表記、全角 / 半角の記号スタイル、過去の rejected feedback を尊重するようにしています。
通常変換まわりでは、左側を先に確定してから続きを入力した場合に起きる誤変換を抑制しました。日本語入力では、一括入力なら自然に変換できる文字列でも、途中確定を挟むと文脈が切れて誤変換しやすくなります。v0.7.7 では、この「確定済み左文脈」と「現在入力」の境界を見て、機能語列や述語表現が内容語候補に食われるケースを抑えています。
Windows renderer まわりでは、ライブ変換中のサジェストウィンドウとルビ表示の重なり、空の候補ウィンドウ、表示直後の枠だけ表示、フォーカス復帰後のちらつきなどを軽減しました。
1. Zenz ライブ補正の安全性向上
Zenz live correction の採用時に、Mozc 通常ライブ変換側で出ているユーザー意図を壊しにくくしました。
対象の例:
たとえば、通常 Mozc ライブ変換でユーザー辞書により
もずきー -> Mozkeyが出ている場合、Zenz がそれをモズキーのような一般的な表記へ戻してしまうことを抑制します。保護対象は、ユーザー辞書全体ではありません。現在の通常 Mozc ライブ変換結果に実際に現れている表記を保護対象にしています。
ASCII / mixed-script 表記については、Zenz prompt 内で一時的に placeholder 化し、Zenz 応答後に元の表記へ戻します。
日本語のみのユーザー辞書表記については、prompt で無理に固定せず、Zenz 応答後に output-side guard で安全に修復できる場合のみ採用します。安全に修復できない場合は、通常 Mozc ライブ変換結果へ戻します。
また、保存済み accepted Zenz feedback を live correction fast path として再利用する場合にも、同じ採用ポリシーを通すようにしました。
これにより、一度保存された Zenz 補正であっても、現在のユーザー辞書表記を壊しにくくなります。
2. Zenz 補正時の記号幅・記号スタイル保持
Zenz が記号を勝手に正規化した場合でも、ユーザーが入力していた可視スタイルへ戻すようにしました。
対象の例:
これは単純な全角化ではありません。
URL、path、コード片、英数字混じりの入力では、記号幅が変わると意味や見た目が壊れる場合があります。v0.7.7 では、Zenz の自然文補正を利用しつつ、記号スタイルは入力元に従うようにしました。
3. Zenz feedback learning の整理
Zenz 補正表示中に Space で通常 Mozc 候補へ戻した場合の feedback 保存を整理しました。
従来は、Space で通常候補へ戻した操作が、そのまま rejected feedback として強く保存されやすい場合がありました。
しかし Space は必ずしも「この Zenz 候補を今後使わない」という意味ではありません。
v0.7.7 では、Space 操作だけではなく、最終確定値を見て rejected feedback を保存するようにしました。
これにより、単なる候補確認や一時的な通常候補への復帰が、過剰な rejected feedback になりにくくなります。
4. Zenz feedback learning pipeline の整理
Zenz feedback store の責務を整理しました。
v0.7.7 では、Zenz feedback TSV は full-sequence の観測記録に限定します。
Zenz の全文補正結果を、文字列 diff だけで文節単位・単語単位に分解すると、誤った学習証拠を作る危険があります。
そのため、Zenz feedback TSV には full-sequence の事実だけを保存します。
一方で、accepted Zenz 補正を安全に Mozc の通常文節へ逆投影できる場合は、Mozc user history 側へ反映します。
これにより、Zenz の全文補正能力と Mozc の文節・履歴学習を混ぜすぎず、橋渡しできる場合だけ橋渡しするようにしました。
5. Zenz 補正の却下履歴に基づく再利用抑制と自動ブロック
保存済み Zenz feedback の再利用ポリシーを追加し、同じ Zenz 補正が繰り返し却下されている場合に、その補正を出し続けにくくしました。
従来は、一度 accepted feedback が保存されると、その後に同じ Zenz 補正が何度か採用されなかった場合でも、その補正が優先候補や live correction fast path として再利用され続ける場合がありました。
v0.7.7 では、Zenz 補正ごとの採用回数と却下回数を見て、却下が優勢になった補正を優先再利用しにくくしました。
さらに、Zenz 補正の却下回数がしきい値に達した補正を、自動的にブロック扱いにする設定を追加しました。Zenz 補正を即時等で使用されていて拒否したものが何度も出てしまうケースなどにご活用いただけるかと思います。
主な状態:
feedback_reject_count_dominantは hard block ではありません。Zenz が新しく同じ補正を返すことや、通常 Mozc 候補を削除することまではしません。ただし、保存済み feedback による優先候補・即時補正としては再利用しません。
feedback_auto_blockedは、Zenz 補正の却下回数が設定上のしきい値に達した場合に、その補正を自動的にブロック扱いにする仕組みです。これは、TSV に不可逆な hard reject を固定保存するものではありません。現在の設定、採用回数、却下回数、しきい値から動的に判定します。
そのため、auto-block 設定を無効にした場合や、feedback 状態が変わった場合は、判定結果もそれに応じて変わります。
この変更により、過去に一度採用した Zenz 補正であっても、その後に繰り返し却下されている場合は出にくくなります。また、明示的に hard reject しなくても、一定回数以上却下された Zenz 補正を自動的に抑止できます。
6. 分割入力時の日本語文脈変換改善
確定済み左文脈と現在入力の境界で起きる誤変換を抑制しました。
日本語入力では、一括入力なら自然に変換できる文でも、途中で左側を確定すると、現在入力だけで変換されるため誤変換が起きやすくなります。
例:
v0.7.7 では、確定済み history と現在入力の境界を見て、名詞相当の左文脈の直後にある機能語列が、内容語候補に食われるケースを抑制します。
対象例:
内部的には、ラティス構築後、Viterbi 前に contextual recomposition scorer を適用し、条件を満たした competing node に bounded penalty を加えます。
対象条件は限定しています。
副作用を避けるため、次のようなケースは対象外または慎重に扱います。
7. サ変名詞 + した 系の誤変換抑制
サ変接続名詞の直後に
した/したの/したんを入力した場合、下、舌、シタンなどの内容語候補に寄りすぎる問題を抑制しました。対象例:
従来は、次のような誤変換が起きる場合がありました。
v0.7.7 では、確定済み左文脈がサ変接続名詞で、現在入力が
した...で始まる場合に限定して、content-word hijack 候補へ soft penalty を加えます。対象条件:
副作用を避けるため、次のような通常の内容語文脈は壊さないようにしています。
8. なら / ならば / ならでは の条件表現保護
名詞相当の確定済み左文脈の直後に
なら/ならば/ならではを入力した場合、地名奈良に寄りすぎる問題を抑制しました。対象例:
従来は、次のような誤変換が起きる場合がありました。
v0.7.7 では、条件表現としての
なら系 functional chain と競合している場合だけ、奈良候補を狭く penalty 対象にします。対象:
対象外:
これにより、
彼なら、練習ならのような条件表現が自然に出やすくなります。9. ライブ変換 UI / renderer の安定化
ライブ変換中の候補表示、サジェスト表示、ルビ表示の安定性を改善しました。
主な改善:
9.1 Ruby window と passive suggestion window の重なり回避
Ruby window が candidate / suggestion UI と重ならないようにしました。
基本方針:
live conversion passive suggestion の表示矩形を WindowManager 側で保持し、candidate window が一時的に存在しない場合でも、直前の passive suggestion rect を回避対象に使います。
9.2 Ruby / suggestion 表示遷移の安定化
passive suggestion と Ruby overlay の表示更新順序を調整しました。
また、同一 target の一時的な不正 geometry では、前回の安定位置を短時間維持するようにしました。target が変わった場合は、古い位置を再利用しません。
9.3 空の live passive suggestion window を非表示
candidate entry が存在していても、実際に描画される本文が空の場合、白い空の候補ウィンドウだけが出ることがありました。
v0.7.7 では、次のいずれかに描画可能文字列がある場合だけ live passive suggestion として扱います。
9.4 候補ウィンドウを表示前に pre-render
live passive suggestion window 表示直後に、枠だけが先に見える first-frame 問題を抑制しました。
v0.7.7 では、layout 確定後に candidate window を事前に bitmap cache 化し、表示直後に完成済み内容を即時 present できるようにしました。
UpdateRoundedWindowRegion()は redraw を要求する可能性があるため、その前に bitmap cache を作成します。10. 入力操作の改善
10.1 Shift 英字復帰由来の raw ASCII サジェスト抑制
システム辞書サジェスト自動表示 OFF 時に、Shift 英字復帰由来の raw ASCII 候補が自動表示される問題を抑制しました。
例:
preedit は
AIでになる一方で、raw string 側のAIdeが suggestion candidate window に表示される場合がありました。v0.7.7 では、システム辞書サジェスト自動表示 OFF の場合、このような raw ASCII rescue 候補を自動表示しないようにしました。
対象経路:
10.2 中黒
・の単打確定対応句読点・記号単打確定の対象に中黒
・を追加しました。ローマ字テーブルで
vb -> ・のように中黒を出す設定をしている場合、次のようにその場で確定されます。対応内容:
10.3 促音便途中形で live conversion pending を維持
促音便の入力途中形で、live conversion / ルビ overlay が消えにくくなりました。
対象例:
従来は、
おもっている、腐っている、と思っているなどを入力する途中で、おもっ/くさっ/とおもっの段階になると live conversion が通常 composition 表示へ落ち、ルビ overlay が消えることがありました。v0.7.7 では、限定された stem + 短い機能語 prefix を transient sokuon prefix として扱い、変換対象から一時的に skip される場合でも live conversion pending 表示を維持します。
対象外:
expressive / interjection 寄りの短い促音表現は、過剰に live conversion pending として維持しないようにしています。
11. 一般語彙カバレッジの拡充
Mozkey 固有の一般語彙カバレッジを補強しました。
対象領域:
英語綴り候補については、第一候補を汚さないように、補助候補として弱めに追加しています。
基本方針:
これにより、実務・開発・Web 作業で使う語彙を出しやすくしつつ、通常の日本語入力を英語候補で汚しにくくしています。
12. Windows IME profile icon の切り替え
Windows 版 Mozkey の IME profile icon を、設定画面から切り替えられるようにしました。
選択肢:
設定画面で選択した内容は、Windows の TSF language profile に登録されている Mozkey の
IconFile/IconIndexに反映されます。HKLM の TSF profile registry を更新する必要があるため、registry 更新は管理者権限で起動した
mozc_tool.exeの内部 helper mode から行います。注意:
Windows 側の icon cache や入力方式一覧の更新タイミングにより、設定変更後すぐにタスクバーや IME 一覧のアイコンへ反映されない場合があります。
反映されない場合は、Windows の再起動が必要になることがあります。
13. upstream Mozc 由来の基盤更新
v0.7.7 では、google/mozc upstream 由来の低リスクな基盤更新も取り込んでいます。
主な内容:
Mozkey 独自変更と衝突しやすい converter、prediction、installer / TIP まわりは、個別に確認しながら段階的に取り込む方針を維持しています。
変更内容一覧
彼 | になったが彼担ったになりやすい問題を抑制彼 | なのかが彼七日になりやすい問題を抑制した/したの/したんの誤変換を抑制修正 | したんが修正シタンになりやすい問題を抑制実行 | したのが実行舌のになりやすい問題を抑制なら/ならば/ならではが奈良に寄りすぎる問題を抑制・を句読点・記号単打確定対象に追加/から・の direct commit trigger を扱うように修正おもっ/くさっ/とおもっなどでルビ overlay が消えにくくなるように修正windows_ime_icon_style設定を追加mozc_tool.exeに TSF profile icon 更新用 internal helper mode を追加BUILD_OSSを6152から6153に更新0.7.6から0.7.7に更新Zenz / オフライン動作
この MSI は、これまでと同様にローカル Zenz 補正用の runtime と GGUF model を同梱したパッケージです。
同梱内容の例:
mozc_zenz_scorer.exellama-server.exemodels\zenz-v3.2-small-Q5_K_M.ggufZenz runtime は localhost の
llama-server.exeを使うローカル推論用の構成であり、外部サーバーへ入力内容を送信する目的のものではありません。インストール
通常の 64-bit Windows では以下を使用してください。
Mozkey_v0.7.7_x64.msi既存の Mozkey がインストールされている環境では、通常の MSI インストールによる更新を想定しています。
内部的には、v0.7.0 以降と同じ
UpgradeCodeを維持しています。TSF / COM registration identifiers は維持しています。
アップデート後に Windows Installer が
3010を返す場合があります。これは再起動要求を表します。その場合は、再起動後に Mozkey を使用してください。
File information
Mozkey_v0.7.7_x64.msiBuild information
Validation
Build / package
packagebuild passed from latestmainmozc_server.exewas presentmozc_tool.exewas presentmozc_renderer.exewas presentmozc_server.exeversion was3.33.6153.100mozc_tool.exeversion was3.33.6153.100mozc_renderer.exeversion was3.33.6153.100ProductVersionwas3.33.6153.100ProductCodewas{547FDF01-0237-4177-8A49-DA45164F607A}UpgradeCoderemained{DD94B570-B5E2-4100-9D42-61930C611D8A}Manufacturerwaskoyasi777Upgrade install
301003.33.6152.100{AD01F91C-A501-4C94-AC58-EAED465950B6}30103.33.6153.100{547FDF01-0237-4177-8A49-DA45164F607A}Get-WinUserLanguageListに Mozkey/Mozc TIP が残っていることを確認FindRelatedProductsdetected v0.7.6 ProductCode{AD01F91C-A501-4C94-AC58-EAED465950B6}RemoveExistingProductswas executed for the old v0.7.6 productRegisterTIP64returned1EnableTipProfilereturned1Return value 3/戻り値 3was not observed3.33.6153.100になっていることを確認Installed binary version check
The following installed files were confirmed as
3.33.6153.100.Installed binary hash check
The following installed files matched the extracted v0.7.7 MSI payload.
Installed binary hashes
Notes
このビルドは google/mozc の公式配布物ではありません。
個人用 fork の experimental / pre-release build です。
MSI は署名されていないため、Windows の警告が表示される場合があります。
Zenz 同梱版は、ローカル推論 runtime と GGUF model を含むため、MSI のファイルサイズが大きくなります。
Zenz runtime は localhost の
llama-server.exeを使うローカル推論用の構成であり、外部サーバーへ入力内容を送信する目的のものではありません。This discussion was created from the release Mozkey v0.7.7.
Beta Was this translation helpful? Give feedback.
All reactions