LLM 出力テキストの評価指標・前処理
CER (Character Error Rate)
WER (Word Error Rate)
ROUGE 系
rouge や bleu は sumeval 使っている
いい記事、図もわかりやすいしストップワードの有無や表記揺れの話もある
エラーの数とエラーの大きさの話
固有名詞は Jaro-Winkler 距離でやる話、Jon ↔ John, Jon ↔ Andrew は 1 wordでも違う
複数の文章を評価するときは元の長さの加重平均とれよという話
公開データセットにノイズ付加して評価する話
評価
CER など
ROUGE、BLEU など
長く更新されてないのは気になる
bleu の実装
色々な評価指標呼び出せる
うーん bert_score も↑の Tiiger/bert_score ラップしているだけだな
ここにもいろいろある & 説明がよい
前処理・正規化
neologdn
機械的な変換
SudachiPy
書き起こし評価なんかだと normalized_form にしてしまってもよいかも
LLM 出力で係り受けが変なことは稀だから無視してしまう
送り仮名や微妙な活用の差は吸収して評価できたりしない?
長いテキストを評価するにはどうすればいいんだろう?
例えば 30 分のミーティングの書き起こしを評価する
CER ならまあ素朴にやってもよいか
ROGUE や BERT Score はどうする?
Ground Truth と出力のシーケンスをどうマッチさせる?
要約的なタスク以外に使おうとしているのが変という話かも
順序維持したままシーケンスをマッチさせて評価したい
シーケンス自体の粒度の問題もある