文本摘要生成评价指标——rouge

文本摘要生成评价指标——rouge

    • rouge的作用:
    • rouge的内容:
    • rouge的类别:
    • rouge的使用:
    • rouge-N的理解:
    • Rouge-L的理解

rouge的作用:

-Rouge的全名是Recall-Oriented Understudy for GistingEvaluation,单看名字就会发现Rouge是由召回率演变而来的指标,用于衡量模型生成摘要文本的质量。 Rouge是文本自动摘要领域摘要评价技术的通用指标之一,通过统计模型生成的摘要与人工摘要之间重叠的基本单元,评判模型生成摘要的质量。

rouge的内容:

  • 我在进行文本摘要相关工作时,发现很多学者在进行文本摘要任务时,所采用的rouge任务不尽相同,有的学者使用Rouge-2、Rouge-4 和Rouge-SU4作为评价指标,对摘要结果进行评价;有的学者采用:ROUGE-1、ROUGE-2、ROUGE-L这三个值作为评价指标对得出的摘要进行评价。
  • rouge的计算公式如下所示:

在这里插入图片描述

  • 式(3)中 n 代表比较文本单元的长度,Countmatch 代表的是同时出现在标准摘要和机器生成的摘要的文本的数目。ROUGE-L表示的是标准摘要和本文生成的摘要的最长公共子序列的长度占标准摘要的比例。
  • 基于公式:ROUGE-1衡量一元词匹配情况,ROUGE-2衡量二元词匹配情况,ROUGE-L记录最长的公共子序列,以此类推即可。

rouge的类别:

  • Rouge其实是一组评价指标的统称,包含Rouge-N, Rouge-L, Rouge-W, Rouge-S四个指标。

rouge的使用:

需要选择适合的场景来使用适合的rouge评价指标。不同的摘要任务下,选择合适的Rouge指标。

  • 单文档摘要任务中,ROUGE-2, ROUGE-L, ROUGE-W,以及ROUGE-S表现很好 ;
  • 在短摘要/标题式摘要任务中,ROUGE-1, ROUGE-L, ROUGE-W, ROUGE-SU4,以及ROUGE-SU9表现很棒 ;
  • 在多文档摘要任务中,当停用词被排除在匹配之外时,ROUGE-1, ROUGE-2, ROUGE-S4,ROUGE-S9, ROUGE-SU4, 以及ROUGE-SU9表现不错 ;
  • 排除停用词通常能改善相关性评估 使用多个reference(ideal 摘要)可以改善相关性评估。

rouge-N的理解:

文本摘要生成评价指标——rouge_第1张图片

  • Rouge-n统计了pred和ideal两个字符串的n-gram重叠单元的数量,并计算了重叠单元在ideal字符串中的占比,作为召回率。
  • 以短摘要/title摘要任务为例:

ideal摘要:“武汉长江大桥”
pred摘要:“武汉市长江大桥”

文本摘要生成评价指标——rouge_第2张图片

  • 如有多个ideal摘要,怎么计算?分别计算每个ideal摘要和pred摘要的Rouge值,并取其中最大值,作为当前pred摘要的Rouge值。

Rouge-L的理解

  • 最长公共子序列,Longest Common Subsequence(LCS)
  • LCS和最长公共子串不同,不要求连续,保序即可 Rouge-N 只关注匹配单元的数量,像词袋一样,不关注词序 Rouge-L 关注词序
    文本摘要生成评价指标——rouge_第3张图片
  • 注:lcs经过了去重
  • ideal摘要:“矿泉水和纯净水的所含物质不同”
  • pred摘要:“矿泉水含有丰富的矿物质元素,纯净水不含矿物质”

文本摘要生成评价指标——rouge_第4张图片

  • 代码示例:
from rouge import Rouge
rouge=Rouge()
rouge_scores=rouge.get_scores("Installing collected packages","Installing ")
print('rouge_scores:',rouge_scores)
rl_p=rouge_scores[0]['rouge-l']['p']
print("rouge_scores rl_p",rl_p)
  • 输出结果:
rouge_scores: [{'rouge-1': {'r': 1.0, 'p': 0.3333333333333333, 'f': 0.4999999962500001}, 'rouge-2': {'r': 0.0, 'p': 0.0, 'f': 0.0}, 'rouge-l': {'r': 1.0, 'p': 0.3333333333333333, 'f': 0.4999999962500001}}]
rouge_scores rl_p 0.3333333333333333

Process finished with exit code 0

你可能感兴趣的:(深度学习,自然语言处理,笔记,人工智能,机器学习,数据挖掘)