Mozkey v0.7.6 #122
koyasi777
announced in
Announcements
Replies: 1 comment 5 replies
-
に書かれている通り、Zenzの補正結果をスペースでキャンセルしても強い拒絶にはならないというのはわかるのですが 代替案ですが、Zenzをスペースでキャンセルした後の確定結果がZenz補正結果と一致しているならrejectとは扱わない/Zenzキャンセルして選んだ結果がZenzと一致していないなら強くスコアリングする、ようなことをするというのはどうでしょうか。 |
Beta Was this translation helpful? Give feedback.
5 replies
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.6 の主な改善点は次のとおりです。
概要
v0.7.6 では、主に次の領域を更新しました。
ライブ変換を使う場合は、入力中にサジェスト候補を確認しやすくなりました。
ライブ変換を使わない場合は、初回変換時に第 1 候補のまま候補ウィンドウを開けるようになり、通常変換の候補確認がしやすくなりました。
Zenz 補正まわりでは、Space で通常変換候補へ戻した後の状態遷移と、feedback learning の扱いを整理しました。
また、Windows 版では候補ウィンドウ、サジェストウィンドウ、ルビ表示の外観設定を拡張しました。
1. ライブ変換中のサジェスト操作改善
ライブ変換中でも、サジェスト候補を補助的に表示し、選択できるようにしました。
従来は、ライブ変換中はライブ変換結果とルビ表示が中心で、サジェスト候補の利用は限定的でした。
v0.7.6 では、ライブ変換を維持したまま、補助的なサジェスト候補を表示できるようにしました。
このサジェスト表示は、通常の変換候補選択状態とは分けて扱われます。
表示されているだけでは通常の候補選択状態には入りません。Space や Down は従来どおり、通常変換候補へ進む操作として扱われます。(キー設定の変更により、Down をサジェストの候補選択にすることも可能です)
一方で、Tab などの予測変換用キーを押すと、キー設定に応じてサジェスト候補を選択できます。
主な影響:
2. Windows 候補表示の外観カスタマイズ拡張
Windows 版の候補表示 UI について、外観カスタマイズ項目を拡張しました。
従来は候補ウィンドウのライト / ダーク切り替えやフォント設定が中心でした。
v0.7.6 では、次の表示を分けて設定できるようにしました。
設定可能な項目の例:
既存のフォント設定も含め、候補ウィンドウ・サジェストウィンドウ・ルビ表示それぞれの外観設定として整理しました。
暗めの背景で使う場合、候補の選択行を強調したい場合、ルビ表示を控えめにしたい場合などに調整できます。
表示種別ごとの設定
内部的には、候補表示の種類に応じて appearance bucket を分けています。
PREDICTIONとSUGGESTIONは、ユーザー視点ではどちらもサジェスト系表示として認識されやすいため、サジェストウィンドウ設定を使います。候補ウィンドウ、用例ウィンドウ、ルビウィンドウには透明度と shadow window が適用されます。角丸、影の広がり、影の距離は論理ピクセルとして扱われ、描画時に DPI に応じてスケーリングされます。
後方互換
既存の
use_dark_mode_candidate_windowは削除せず、後方互換用に残しています。新しい候補ウィンドウ配色テーマが保存されていない場合は、従来の dark mode 設定からライト / ダークを決定します。保存時には、新しい候補ウィンドウ配色テーマに合わせて従来設定も同期します。
これにより、既存設定を持つ環境でも、アップデート後に従来の dark mode 設定を引き継ぎます。
3. 初回変換操作の候補ウィンドウ表示設定(ライブ変換 OFF 時の設定追加)
ライブ変換 OFF 時に、Composition モードの初回変換操作で、第 1 候補を維持したまま候補ウィンドウを表示できる設定を追加しました。
従来の通常変換では、未確定文字列で Space を押すと第 1 候補を選択した変換状態には入るものの、候補ウィンドウは表示されませんでした。
候補一覧を表示するには、もう一度 Space を押す必要がありました。
一方で、最初から
ConvertNext相当の操作にすると、候補ウィンドウは表示されますが、第 2 候補へ進んでしまいます。v0.7.6 では、初回の
Convert成功後に候補リストの表示状態だけを有効にすることで、第 1 候補のまま候補ウィンドウを表示できるようにしました。この挙動は物理 Space キーだけに限定しません。
Space 以外のキーに通常変換、つまり
Convertコマンドを割り当てている場合でも、Composition モードから初回Convertで通常変換に入る場面で同じように候補ウィンドウを表示します。新しい設定:
設定 ON の挙動:
設定 OFF の挙動:
この設定はライブ変換 OFF 時の通常変換向けです。
ライブ変換 ON の場合は、UI 上も無効化され、session 側でも無視されます。ライブ変換中は、既存の Space 操作が優先されます。
初回変換操作で第 1 候補に入った時点で候補一覧も表示することで、候補を見比べたい場合や、すぐに別候補を選びたい場合の操作を減らせます。
4. Zenz 補正を Space で通常変換候補へ戻した後の状態遷移改善
Zenz 補正表示中に
Spaceを押した場合の状態遷移を整理しました。この操作は、Zenz 補正を単にキャンセルして入力途中へ戻る操作ではなく、Zenz 補正候補を採らずに、Mozc の通常変換候補へ切り替える操作として扱います。
これまでも、Zenz 補正表示中に
Spaceを押すと、表示上は Zenz 補正前の Mozc 通常変換結果へ戻っていました。ただし内部的には live conversion の状態が残っていたため、その後に文字入力を続けた場合、戻した変換結果を確定して次の入力へ進むのではなく、同じ未確定文字列を伸ばすような挙動になる場合がありました。
v0.7.6 では、Zenz 補正表示中の装飾キーなしの
Spaceを候補変更操作として扱い、Zenz 補正を剥がした後の状態を live conversion ではなく通常変換状態にします。この状態から、さらに文字入力を続けた場合は、戻した Mozc 通常変換結果を確定してから、新しい入力を開始します。
一方、Zenz 補正を剥がして Mozc 通常変換候補へ戻った後に、もう一度
Spaceを押した場合は、通常変換中の操作として従来どおり候補ウィンドウを開き、次候補へ進みます。この変更により、Zenz 補正候補を採用しなかった場合でも、Mozc の通常変換候補へ戻した状態から候補操作を続けられます。
また、Space で Zenz 補正を剥がした後に文字入力を続けた場合は、戻した通常変換結果を確定してから次の入力へ進みます。
内部的には、次のような処理に整理しています。
Zenz 補正表示中の Space は、「補正を取り消して入力途中へ戻る」操作ではなく、「今回は Zenz 候補を採らず、Mozc の通常変換候補へ戻す」操作として扱うようにしました。
5. Zenz feedback learning の見直し
Zenz feedback learning の rejected feedback の扱いを見直しました。
これまでは、表示中の Zenz 補正から Space や候補移動などで通常変換へ移った場合、その Zenz 候補が強く rejected 扱いされやすく、1 回戻しただけでも候補が出にくくなりすぎる可能性がありました。
v0.7.6 では、Zenz feedback を accepted / rejected の単純な二値判定ではなく、score として扱います。
追加された score 情報:
基本方針:
rejected reason ごとの扱い:
hard reject reason:
通常の Space revert は hard reject ではありません。
Zenz 補正表示中に Space を押す操作は、「この候補を今後使わない」という意味に限定されません。通常の Mozc 候補を見たい場合や、今回は別候補を選びたい場合もあります。
そのため、1 回の Space revert や候補移動を hard rejection として扱わず、候補集合の中で順位を調整する signal として扱うようにしました。
通常変換候補への再利用も見直しました。
効果例:
6. 確定学習ポリシーの整理
v0.7.6 では、変換キャンセル後や句読点・記号による単打確定後の学習ポリシーを整理しました。
対象は主に、変換後にキャンセルしてひらがなへ戻し、そのまま確定する操作です。
このような操作は、「漢字候補ではなく、ひらがな表記を選んだ」操作として扱ったほうが実際の入力意図に近いとみなし、学習対象にしました。
6.1 変換キャンセル後にひらがなで確定した場合の学習
変換中に Esc / Ctrl+Z などでキャンセルしてひらがなへ戻し、そのまま確定した場合、そのひらがな表記を明示的に選ばれた候補として学習するようにしました。
例:
この場合、次の表記選好をユーザーセグメント履歴へ反映します。
これは、ユーザーが F6 でひらがな候補を明示選択して Enter 確定した場合に近い扱いです。
6.2 複数文節キャンセル後の学習を文節単位に近づける
複数文節に分かれていた変換をキャンセルした場合は、キャンセルによって文節情報が消える前に、変換中に見えていた文節 key を snapshot します。
例:
この場合、ひらがな全体を 1 件として学習するのではなく、可能な限り文節単位の表記選好として学習します。
これにより、サジェスト履歴だけでなく、通常変換の文節単位の順位にも、ひらがな表記の選択が反映されやすくなります。
6.3 学習対象は意図的に絞る
副作用を避けるため、対象条件を限定しています。
対象条件:
対象外:
すべてのひらがな確定を学習対象にすると、副作用や意図しない候補順位変化につながる可能性があります。v0.7.6 では、条件を満たすケースに限定して学習します。
6.4 句読点・記号の単打確定後の保留学習
句読点・記号の単打確定による学習は、次の実テキスト入力まで保留されるようにしました。
Backspace / Escape / Ctrl+Z などの Cancel 相当キー、Revert、Reset、Undo は、直後の修正操作として扱い、保留学習を破棄します。
一方、IMEOff / MakeSureIMEOff は取り消しではなく、確定後のモード変更として扱います。IMEOff / MakeSureIMEOff によって保留学習は破棄されず、確定扱いになります。
例:
画面上は句読点・記号を含めて確定されます。
ただし、強いひらがな表記選好として学習する対象は、句点込みの
きょう。ではなく、キャンセル直後のひらがな本体きょうです。また、句読点・記号の単打確定直後に Ctrl+Z などがアプリケーションへ echo back される場合でも、Mozkey 側の保留学習を破棄します。実際に画面上の文字列が取り消されるかどうかは、アプリケーション側の Undo 挙動に任せます。
6.5 stale result による確定文字列上書きの防止
EngineConverter::Reset()で、stale なresult_が直接確定文字列を上書きしないように修正しました。これにより、以前の
CommitPreedit()が残した古い結果が、句読点・記号の単打確定で作った直接確定文字列を上書きすることを防ぎます。この修正により、確定文字列と学習対象の対応がずれにくくなります。
7. TSF / TIP / 再変換 fallback の改善
一部の TSF クライアントで、再変換用テキストを安定して取得できない場合の fallback を改善しました。
この変更は大きく 2 つあります。
7.1 選択文字列なしの再変換要求で IME ON 状態が戻る問題を修正
MS-IME 風キー設定で、次のような運用をしている場合があります。
この状態で、
無変換 -> 変換の後、カーソル移動や focus/context 更新によって IME が再び無効状態へ戻ることがありました。原因は、
Muhenkanで IME を OFF にした直後、Mozc server state がDirectInputになる点にあります。この状態でHenkanを押すと、Precomposition Henkan IMEOnではなく、既存のDirectInput Henkan Reconvertが実行されます。選択文字列がない場合、従来は
TipInputModeManagerの内部状態だけを ON にしており、Mozc server state と TSF の open/close compartment が OFF のまま残っていました。そのため、次の focus/context 更新で TSF 側の OFF 状態が再読込され、IME が無効状態に戻っていました。v0.7.6 では、選択文字列なしの再変換要求で IME が OFF の場合、内部状態だけを更新するのではなく、
TURN_ON_IMEを通常の session path に送るようにしました。これにより、Mozc server state と TSF open/close compartment が同期されます。
7.2 再変換用テキストを取得できない場合の fallback
一部の TSF クライアントでは、再変換用の surrounding text / selected text を取得できない場合があります。
このとき従来は、変換キーや Space が何も起こさない問題がありました。
具体例:
v0.7.6 では、次の fallback を追加しています。
選択文字列を取得できる通常の再変換経路は維持しています。
この修正では keymap や preserved key は変更していません。キー配送ではなく、再変換用テキストを取得できない場合の fallback 処理を修正しています。
8. About 表示の整理
About 画面で、Mozkey のユーザー向けリリース番号と、内部的な Mozc ビルド番号を分けて表示するようにしました。
Mozkey ビルドでは、次のように表示します。
これにより、ユーザー向けの Mozkey リリース番号と、内部的な Mozc / MSI のバージョン番号を区別しやすくなります。
Google 日本語入力ビルドでは、従来どおり Mozc build number を中心とする表示形式を維持します。
変更内容:
変更内容一覧
Convert操作で第 1 候補を維持したまま候補ウィンドウを表示できる設定を追加Convertコマンドに一般化show_candidate_window_on_initial_conversionに整理EngineConverter::Reset()で stale result が直接確定文字列を上書きしないように修正DirectInput Henkan -> Reconvertでテキスト取得に失敗した場合、TURN_ON_IMEに fallbackReconvertSelectionOrInsertSpaceでテキスト取得に失敗した場合、InsertSpacefallback を適用BUILD_OSSを6151から6152に更新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.6_x64.msi既存の Mozkey がインストールされている環境では、通常の MSI インストールによる更新を想定しています。
内部的には、v0.7.0 以降と同じ
UpgradeCodeを維持しています。TSF / COM registration identifiers は維持しています。
アップデート後に Windows Installer が
3010を返す場合があります。これは再起動要求を表します。その場合は、再起動後に Mozkey を使用してください。
File information
Mozkey_v0.7.6_x64.msiBuild information
Validation
Build / package
packagebuild passed from latestmain//config:config_handler_testpassed//session:session_testpassedmozc_server.exewas presentmozc_tool.exewas presentmozc_renderer.exewas presentmozc_tip32.dllwas presentmozc_tip64.dllwas presentmozc_broker.exewas presentProductVersionwas3.33.6152.100ProductCodewas{AD01F91C-A501-4C94-AC58-EAED465950B6}UpgradeCoderemained{DD94B570-B5E2-4100-9D42-61930C611D8A}Upgrade install
30103.33.6152.100{AD01F91C-A501-4C94-AC58-EAED465950B6}Get-WinUserLanguageListに Mozc TIP が残っていることを確認FindRelatedProductsdetected v0.7.5 ProductCode{E65D87FA-0C18-4C82-9D9D-30F7ACA0F410}RemoveExistingProductswas executed for the old v0.7.5 productRegisterTIP64returned1EnableTipProfilereturned1Return value 3was not observed0Installed binary hash check
The following installed files matched the extracted v0.7.6 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.6.
Beta Was this translation helpful? Give feedback.
All reactions