ROUGE 度的是什么
ROUGE(Lin, 2004)用 n-gram 重叠衡量生成摘要与参考摘要的相似度,常见变体有 ROUGE-1(单词级)、ROUGE-2(双词级)与 ROUGE-L(最长公共子序列)。它适合在同一评测集、同一预处理口径下做版本回归对比:某版突然掉分,多半是摘要策略改了。它不理解语义,也不评价事实一致性,单独使用会奖励大段抄原文的摘要。
基本信息
| 指标含义 | 生成文本与参考文本的 n-gram 重叠度 |
|---|---|
| 常用变体 | ROUGE-1 / ROUGE-2 / ROUGE-L |
| 适用 | 同集同参考下的版本回归对比 |
| 局限 | 同义改写不涨分,抄原文涨分;不评价事实正确性 |
| 常见工具 | Python 的 rouge-score 包 |
典型使用场景
- 版本回归:摘要提示改动后跑同一批样本,观察分数是否异常下降
- 多方案初筛:从若干候选提示里挑出分数明显偏低者直接淘汰
- 预处理验证:确认分词、大小写、截断口径变化带来的分数漂移
- 批量生成巡检:线上摘要抽样与参考答案比对,发现整体走偏
- 与人工评审搭配:自动指标负责快速回归,人工负责正确性与可读性
ROUGE 使用要点
ROUGE 使用要点
pip install rouge-score
# 报告 ROUGE-1 / ROUGE-2 / ROUGE-L,与人工抽查结合
# 同一评测集、同一预处理口径下比较,跨数据集不可比
# 中文场景需先确认分词口径,字符级与词级分数差异很大
python -c "from rouge_score import rouge_scorer; s=rouge_scorer.RougeScorer(['rougeL']); print(s.score('参考摘要','生成摘要'))"
# 记录评测集版本号与预处理脚本版本,便于复现
# 分数下降时先比对样本集是否变动,再怀疑模型或提示变体与适用判断
| 变体 | 度量对象 | 使用建议 |
|---|---|---|
| ROUGE-1 | 单词级重叠 | 看关键词覆盖,最宽松 |
| ROUGE-2 | 双词组合重叠 | 看短语与措辞保留程度 |
| ROUGE-L | 最长公共子序列 | 对语序变化更宽容,摘要场景常用 |
| 人工抽查 | 事实、可读、完整性 | 必须保留,自动指标不能替代 |
把 ROUGE 提高当摘要变好的证据是常见误用:它不评价事实一致性与可读性,抄原文往往分数更高。
分词、大小写、截断长度等预处理不一致时分数不可比;评测前先把口径写进脚本并固定下来。