charsim: 参照平均型の文字 n-gram 類似度
0. この指標が解きたい問題
- 内容が参照に近いほどスコアが上がる。
- 参照より短すぎる候補(情報の取りこぼし)にはペナルティがかかる。
- 参照より長すぎる候補(余計な水増し)にもペナルティがかかる。
- 正解が複数あるとき、「たまたま1本だけに合っている候補」を過大評価しない。
1. 記法
1.1 入力
- 評価したい文字列(ターゲット)を \(t\)
- 参照文を \(r\)
- 複数の参照文の集合を \(\mathcal{R} = \{r^{(1)}, \dots, r^{(K)}\}\)
1.2 文字 n-gram
^、終了境界を $ と書くと、たとえば cat の 3-gram は、境界をまたぐものも含めて ^^c, ^ca, cat, at$, t$$ のように数えます。ただし、^^^ や $$$ のような境界記号だけからなる n-gram は数えません(内容を持たないため)。こうしておくと、前後に補う境界記号の個数によらず、有効な n-gram の総数は一定になります。
1.3 n-gram 頻度と重なり
2. 基本形
2.1 各参照との重なり
2.2 長さで正規化する
2.3 これは min(precision, recall) である
- ターゲットが長すぎると分母が \(L_t^{(n)}\) になり、precision 側が効く。
- ターゲットが短すぎると分母が \(L_i^{(n)}\) になり、recall 側が効く。
- 長さが近ければ重なりそのものが効く。
2.4 複数参照をまとめる
2.5 次数をまとめて最終スコアに
2.6 基本形の性質
- 参照ごとに分母を取るので、長さ補正が参照ごとに正確に入る。
- 各次数のスコアがそのまま \(\min(P, R)\) と読める。
- 単一参照に対する完全一致はちょうど1になる。
- 同じ参照文を重複して追加しても値は変わらない。
3. 主定義(簡約版)
3.1 分子と分母を別々に平均する
3.2 なぜ平均長を使うのか
3.3 基本形との違い
4. 簡約版はどう振る舞うか
4.1 長さも内容も近いとき
4.2 ターゲットが短すぎるとき
4.3 ターゲットが長すぎるとき
4.4 一致が増えるとどれだけ上がるか
4.5 完全一致とその近傍
4.6 同じ断片の繰り返し
5. BLEU / chrF と比べてどこが読みやすいか
5.1 長さの扱いが1本の式で完結する
5.2 sentence-level で壊れにくい
5.3 複数参照の意味が明確
5.4 各次数の寄与が線形で診断しやすい
5.5 文字ベースの柔らかさは chrF と共有
6. 他指標との対応表
| 指標 | 基本単位 | P/R の扱い | 複数参照 | 文字ベースの柔らかさ |
| charsim | 文字 n-gram | 各参照で \(\min(P,R)\) | 参照平均(average-ref) | あり |
| BLEU | 単語 n-gram | precision + 別項の BP | clip(union 的) | なし |
| chrF | 文字 n-gram | P/R を F 値で合成 | 実装依存 | あり |
| chrF++ | 文字 + 短い単語 n-gram | P/R を F 値で合成 | 実装依存 | あり(語順感度を一部回復) |
| ROUGE-N / L | 単語 n-gram / LCS | recall 寄り | 実装依存 | なし |
| METEOR | 単語 alignment | recall 重め(Fmean)+ chunk penalty | alignment ベース | 語彙資源で柔らかい |
- BLEU: 短さの罰が本体と分離し、文単位では smoothing がほぼ必須。clip により「1本でも持っていれば救われる」のに対し、charsim は参照平均で「どれだけ広く支持されるか」を見ます。
- chrF: F 値はバランスがよい一方、片側だけ高くても点が出ます。charsim の \(\min(P,R)\) はより保守的です。
- chrF++: 単語 n-gram を足して語順感度を一部戻した指標。語順や単語単位の整合を強く見たいなら chrF++ に分があり、tokenization 非依存や文字の連続一致を見たいなら charsim が向きます。
- ROUGE: recall 寄り(ROUGE-L は LCS 系)。charsim は長い候補では precision 側にも切り替わるので、被覆率と冗長さを同時に見たいときに向きます。
- METEOR: 語彙資源と alignment を使う richer な指標。charsim はそこまで使わない代わりに、軽く・実装しやすく・式の意味が単純で・多参照の平均支持という解釈が明確です。
7. 実装メモ
7.1 ナイーブ実装
7.2 参照固定なら簡約版が有利
7.3 平均長版と中央値版
8. まとめ
- 基本形は、各参照ごとに \(\min(P, R)\) を取り、それを平均する。
- 主定義(簡約版)は、平均重なりを平均参照長と組み合わせて \(\rho_n = b_n / \max(L_t, \bar L_r)\) とする。
- 最終的に各次数を \(1/n\) 重みで平均する。
9. 参考文献
- 今城健太郎, 平野正徳, 鈴木脩司, 三上裕明. pfgen-bench: 日本語事前学習モデルのための文章生成性能評価ベンチマーク. Jxiv, 2024. 初期の Q&A ベンチマーク向け実装で、参照回答群中の文字 n-gram 出現頻度を足し上げる設計であり、同じ n-gram が複数回出たときの回数を現在の \(\min(c_r,c_t)\) のような多重集合 overlap としては区別していませんでした。
- 今城健太郎, 平野正徳. 高精度翻訳モデルのための自動評価手法の検討. Jxiv, 2026. 文字 n-gram の出現回数を \(f_{w,i}\) で扱う一方、長さ補正は参照訳長の中央値に対する別の罰則項として置いており、本稿のように各次数で平均 overlap を \(\max(L_t,\bar L_r)\) で正規化する形とは異なります。