limoXD's picture
Release v0.2 Mozc-backed Japanese IME reranker
f11438f verified
|
Raw
History Blame Contribute Delete
3.52 kB

実装仕様

v0.1 の履歴仕様です。表層読み、Mozc辞書候補、未使用PUD外部評価を採用した現行仕様は spec-v02.md を参照してください。

ゴール

既存 IME が生成した有限個のかな漢字候補を ku-nlp/deberta-v2-tiny-japanese の文脈スコアで再順位付けし、頻度順だけの ベースラインより変換精度を大きく改善する。実装、CLI、再現可能評価、テスト、 Windows 向け実行手順を同じリポジトリで提供する。

公開境界

  1. Python API: 前文脈・後文脈・読み・候補列を受け取り、根拠付き順位を返す。
  2. CLI: 1 件の JSON または JSON Lines を受け取り、機械可読 JSON を返す。
  3. 評価: 固定リビジョンの UD Japanese-GSD から train の読み別候補表を作り、 dev で設定を選び、test で頻度ベースラインと再順位付けを比較する。

必須要件

  • Masked LM を文章生成器として使わず、入力された有限候補だけを順位付けする。
  • 候補が空、長すぎる、未知トークンを含む、スコア差が小さい、モデルを 読み込めない場合は、既存順位を維持する fail-open/fail-safe 動作にする。
  • モデルと評価コーパスの revision、依存関係、乱数 seed、設定を記録する。
  • 頻度ベースライン、モデル単体、調整済み混合スコアを分離して報告する。
  • dev で選んだ設定を test に固定し、test を調整に使わない。
  • ローカル PASS を Windows TSF 統合、実機、公開、本番の PASS と呼ばない。

非ゴール

  • OS の TSF サービスとしてのインストール。
  • DeBERTa に候補生成や自由文生成をさせること。
  • 外部 API、クラウド、モデル再学習、公開リポジトリへの push。
  • 小規模な手作り例だけを根拠に「大幅改善」と主張すること。

成功条件

  • test の oracle-in-pool 対象で、調整済み reranker の top-1 accuracy が頻度 ベースラインを統計的に明確に上回る。
  • 改善幅、対象件数、95% 信頼区間、悪化件数、棄却/維持件数、レイテンシを outputs/ の再生成可能なレポートへ保存する。
  • 全テスト、静的検査、CLI スモーク、オフライン再実行が成功する。

達成結果(2026-08-10)

  • ku-nlp/deberta-v2-tiny-japanese の target-only pseudo-log-likelihood、 upstream prior 混合、positive confidence margin、fail-safe fallback を実装した。
  • dev 5,824件だけで prior_weight=2.0min_margin=0.1 を選択した。
  • プロトタイプで参照した test 120件を除く sealed remainder 6,263件で、頻度順 75.89% から 88.74% へ +12.85ポイント改善した。paired bootstrap 95%区間は +11.83〜+13.91ポイント、改善969件、悪化164件だった。
  • model-only は 80.62% であり、prior と confidence gate の寄与を混同していない。
  • tokenizer [UNK] を含む31行は除外せず、既存順位維持として分母に含めた。
  • CPU p50 20.25 ms、p95 49.08 ms、model load 0.82秒だった。
  • 証拠は outputs/benchmark_full.jsonoutputs/benchmark_full.md に保存した。

達成したのは条件付き LOCAL_BENCHMARK である。候補 recall、raw romaji、 Windows TSF、既存商用IMEの cost、実機入力、公開/本番/Human GO は未検証のまま。