NarrativeQA故事任务模型评估:Rouge分数平均方式的标准实践咨询
NarrativeQA任务中ROUGE指标的平均方式标准实践
问题背景
我正在开展NarrativeQA故事任务的模型评估工作,采用的评估指标包括Rouge、BLEU-1/4、METEOR。现咨询数据集评估的标准实践:Rouge分数应跨文档进行平均还是按问题进行平均?
当前我使用PyTorch-Ignite库中的RougeL指标,代码如下:
evaluator = RougeL(multiref="best", alpha=0.5) evaluator.update(([predicted_response], [references]))
目前我会在每个问题处理完成后执行update操作。
解答
ROUGE的标准平均方式:按问题(单样本)平均
在NarrativeQA这类问答任务里,标准做法是给每个独立问题计算单独的ROUGE分数,最后对所有问题的分数取算术平均值。每个问题都是独立的评估单元,跨文档平均会打乱不同文档下的问题分布,没法准确反映模型在单个问答样本上的真实性能。你的代码实现符合规范
你现在每个问题处理完就调用update的流程是对的:每次传入单个问题的预测结果和对应参考回答,让评估器累积所有样本的分数,最后调用compute()得到的就是所有问题的平均ROUGE分数,完全符合任务评估的要求。其他指标的注意事项
- BLEU-1/4:同样按问题平均,每个样本算完BLEU分数后取整体均值,注意处理单样本可能出现的零分情况,避免极端值拉偏结果。
- METEOR:该指标本身就是针对单样本计算的,最终也是对所有样本的METEOR分数取平均,逻辑和ROUGE、BLEU一致。
内容的提问来源于stack exchange,提问作者parth sarthi
相关产品推荐
相关产品推荐

