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`](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.0``min_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.json``outputs/benchmark_full.md` に保存した。
達成したのは条件付き `LOCAL_BENCHMARK` である。候補 recall、raw romaji、
Windows TSF、既存商用IMEの cost、実機入力、公開/本番/Human GO は未検証のまま。