引入ROUGE度量是为了“通过将摘要与人类创建的其他(理想的)摘要进行比较,自动确定摘要的质量”[1]。
在计算任何ROUGE度量时,您将得到一个包含3个参数的AggregateScore对象:low、mid、high。如何计算这些汇总值?
例如,在huggingface实现[2]中:
>>> rouge = evaluate.load('rouge')
>>> predictions = ["hello there", "general kenobi"]
>>> references = ["hello there", "general kenobi"]
>>> results = rouge.compute(predictions=predictions,
... references=references)
>>> print(list(results.keys()))
['rouge1', 'rouge2', 'rougeL', 'rougeLsum']
>>> print(results["rouge1"])
AggregateScore(low=Score(precision=1.0, recall=1.0, fmeasure=1.0), mid=Score(precision=1.0, recall=1.0, fmeasure=1.0), high=Score(precision=1.0, recall=1.0, fmeasure=1.0))
>>> print(results["rouge1"].mid.fmeasure)
1.0编辑:7月7日,huggingface实现被简化为返回一个更干净、更容易理解的dict:https://github.com/huggingface/evaluate/issues/148。
发布于 2022-06-19 08:10:21
给定一个(汇总,gold_summary)对的列表,任何ROUGE度量都会按列表中的每一项计算。在huggingface中,您可以通过添加use_aggregator=False并获得这些值来选择退出聚合部分。
对于聚合,使用了一个引导重采样[1,2]。引导重采样是一种用于提取置信区间[3.,4.]的技术。这样做的想法是,对于n样本,您可以绘制x乘以一个样本,替换n大小,然后计算每个重采样的一些统计数据。现在您得到了一个名为empirical bootstrap distribution的新发行版,它可以用于提取置信区间。
在google [4.]的ROUGE实现中,他们使用了:
nmean2.5th, 50th and 97.5th percentiles分别计算低、中和高的值(可以用confidence_interval参数控制)https://stackoverflow.com/questions/72675260
复制相似问题