ROUGE: A Package for Automatic Evaluation of Summaries

原文地址

时间:2004

Intro

ROUGE的衡量方向是candidate相对reference的recall值

ROUGE-N: N-gram Co-Occurrence Statistics


其中n是n-gram的长度,Countmatch(gramn)Count_{match}(gram_n)Countmatch​(gramn​)是n-gram同时出现在candidate和reference中的最大次数,ROUGE-N之所以是recall-related,是因为分母是所有出现在reference中的n-gram总数,而不是出现在candidate中的,注意两个点

  • 加入reference summaries时,分母会变大,这是合理的因为可能有多个不同的candidate??
  • 分子是在所有reference summaries上计算的,因此出现在多个reference summary中的n-gram权值会更大,这是合理的,因为这样的candidate与reference的consensus更相似

当一个candidate对多个reference的时候,ROUGE-N计算candidate与每个reference配对的最大值

实现中我们使用Jackknifing procedure,对于M个reference,计算每组M-1个reference中的最大ROUGE-N,然后将这M个值加起来取平均

ROUGE-L:Longest Common Subsequence

Z=[z1,z2,...,zn]Z=[z_1,z_2,...,z_n]Z=[z1​,z2​,...,zn​]是X=[x1,x2,...,xm]X=[x_1,x_2,...,x_m]X=[x1​,x2​,...,xm​]的子列,当存在一个严格递增的序列[i1,i2,...,ik][i_1,i_2,...,i_k][i1​,i2​,...,ik​],使得对于所有jjj,有xij=zjx_{i_j}=z_jxij​​=zj​,最长子列(Longest common subsequence)LCS就是两个字符序列的最长的公共子列

Sentence-level LCS

用LCS来度量,我们先将summary sentence视作词序列,直观的想法是如果两个summary sentence的LCS越长它们就越相似,对于长m的reference XXX和长n的candidate YYY,我们提出了基于LCS的F度量如下

其中β=Plcs/Rlcs\beta=P_{lcs}/R_{lcs}β=Plcs​/Rlcs​,这就是ROUGE-L,当X=Y时ROUGE-L=1,当LCS(X,Y)=0时,ROUGE-L=0

ROUGE-L的优点有两个

  • 不需要连续的词相同,而是子列相同即可
  • 自动求出最大的n-gram而无需预先定义n

对于下面这个例子,ROUGE-L可以捕捉到句子的结构

S1是reference,S2、S3是candidate,ROUGE-2会给它们打一样的分,因为它们的2-gram词出现的次数一样,但是ROUGE-L则可以发现句子中的主被动关系,给S2打更高的分(…敢和ROUGE-3对比吗)

ROUGE-L的缺点是只计算最长的子列,其他长度的公共序列都与最终评分无关,比如

ROUGE-L只算这两个长度为2的公共子列中的一个

Summary-Level LCS

在Summary-level中,我们取每句reference sentence rir_iri​和每句candidate sentence cjc_jcj​的LCS并集,给定一个包括u句话总计m个词的reference summary,和包括v句话总计n个词的candidate,summary-level的 ROUGE-L计算如下

其中LCSULCS_ULCSU​表示reference rir_iri​和candidate summary C的最长子列的并集,比如ri=w1w2w3w4w5r_i=w_1w_2w_3w_4w_5ri​=w1​w2​w3​w4​w5​,c1=w1w2w6w7w8c_1=w_1w_2w_6w_7w_8c1​=w1​w2​w6​w7​w8​,c2=w1w3w5c_2=w_1w_3w_5c2​=w1​w3​w5​,则rir_iri​和c1c_1c1​的最长子列是w1w2w_1w_2w1​w2​,与c2c_2c2​的最长公共子列是w1w3w5w_1w_3w_5w1​w3​w5​,则LCSU(ri,C)LCS_U(r_i,C)LCSU​(ri​,C)就是4

ROUGE-W:Weight Longest Common Subsequence

ROUGE-L有这样的缺点


X是reference时,Y1和Y2有一样的ROUGE-L分数,但显然,更连续的Y1应当是更好的选择,为了 改进ROUGE-L,我们引入Weight LCS,为连续的子列打更高的分数,具体方法详见论文

ROUGE-S:Skip-Bigram Co-Occurrence Statistics

skip-bigram是一句话中任意两个有序的词,它们之间可以间隔任意长,基于skip-bigram的ROUGE-S计算如下

其中C是组合函数,相比与ROUGE-L来说,ROUGE-S能捕捉所有有序的两个词,为了避免匹配一些相隔过长而无意义的词比如"the the",可以设置最长间隔,此时相应的分母也要按照这个最长距离来计算

ROUGE-SU:Extension of ROUGE-S

ROUGE-S的缺点之一就是当skip-bigram不存在时,candidate的得分是0,因此ROUGE-SU在ROUGE-S的基础上,加上了对单个词的考虑

结论

Idea

  • 类似BLEU的n-gram co-occurrence统计方法可以被用来评估生成句的好坏

ROUGE: A Package for Automatic Evaluation of Summaries相关推荐

  1. 相似度系列-3:传统方法ROUGE ROUGE: A Package for Automatic Evaluation of Summaries

    文章目录 ROUGE: A Package for Automatic Evaluation of Summaries introduction 基础模型 Rouge-N Rouge_Nmulti R ...

  2. 《Microsoft COCO Captions Data Collection and Evaluation Server》论文笔记

    出处:CVPR2015 Motivation 本文描述了MSCoco标题数据集及评估服务器(Microsoft COCO Caption dataset and evaluation server), ...

  3. NLP基础知识点:ROUGE

    ROUGE: A Package for Automatic Evaluation of Summaries 1. 简介 ROUGE 指标由 Chin-Yew Lin 提出, 主要用于评估机器翻译和文 ...

  4. ROUGE 简易安装教程

    ROUGE 简介 ROUGE 是一个系列的文本摘要评测指标,可用于评估机器摘要和人工摘要之间的相似度,主要包括以下具体指标: ROUGE-N:表示 N 元模型 (N-gram) 的匹配程度 ROUGE ...

  5. 【NLG】(六)文本生成评价指标—— ROUGE原理及代码示例

    前奏: [NLG](一)文本生成评价指标--BLEU原理及代码示例 [NLG](二)文本生成评价指标-- METEOR原理及代码示例 [NLG](三)文本生成评价指标-- ENTROPY原理及代码示例 ...

  6. 文本生成:自动摘要评价指标 Rouge

    本文结构概览 不同的摘要任务下,选择合适的Rouge指标 Rouge-N的理解与示例 Rouge-L的理解与示例 代码示例(char粒度 计算摘要的Rouge值) 代码示例(word粒度 计算摘要的R ...

  7. 机器翻译, 文本生成等任务评价指标 BLEU, ROUGE, PPL(困惑度)

    一:BLEU  1.1  BLEU 的全称是 Bilingual evaluation understudy,BLEU 的分数取值范围是 0-1,分数越接近1,说明翻译的质量越高.BLEU 主要是基于 ...

  8. 肝了1W字!文本生成评价指标的进化与推翻

    一只小狐狸带你解锁 炼丹术&NLP 秘籍 作者:林镇坤(中山大学研一,对文本生成和猫感兴趣) 前言 文本生成目前的一大瓶颈是如何客观,准确的评价机器生成文本的质量.一个好的评价指标(或者设置合 ...

  9. 斯坦福NLP名课带学详解 | CS224n 第15讲 - NLP文本生成任务(NLP通关指南·完结)

    作者:韩信子@ShowMeAI,路遥@ShowMeAI,奇异果@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/36 本文地址:https://ww ...

最新文章

  1. 音频降噪在58直播中的研究与实现
  2. 基于jQuery带图标的多级下拉菜单
  3. 面试官 | 什么是递归算法?它有什么用?
  4. python3socket非阻塞_Python的socket.accept非阻塞吗?
  5. mybatis plus 事务管理器_学习MyBatis 框架
  6. python源码不需要编译成二进制代码_编译 Python 源代码
  7. Android 中关于属性动画的一些思考,或许能为你解决一定的性能问题
  8. logmmse降噪算法
  9. 腾讯云数据库TDSQL-学习心得与收获
  10. Mirth Connect 第二章 什么是通道?
  11. iMX8MM linux5.15.32移植
  12. STM32 CubeIDE快速创建工程(图文详解)
  13. Android项目之利用手机传感器做惯性导航
  14. [BZOJ4246]两个人的星座(计算几何)
  15. darknetYolov3图片的分类计数、置信度以及输出xmin,xmax,ymin,ymax的结果
  16. 2021-7-19-OpenStack基础知识学习
  17. UVA(WA) 10815 安迪的第一个字典
  18. 互联网下半场,苏宁“拼购村”如何打造现象级模式
  19. 新电脑Linux反应慢怎么回事,电脑反应慢怎么处理 教你几招解决电脑卡慢问题
  20. How to Add a Dotted Underline Beneath HTML Text

热门文章

  1. Ceres Solver从零开始手把手教学使用
  2. python 0基础如何做出雷霆战机?【源码送上】
  3. 怎么在苹果手机计算机上打字,苹果手机怎样设置打字是中文的
  4. Photoshop简单案例(8)——利用文字工具修改图片上文字
  5. win10右键文件夹无反应
  6. (转载)总结一下SQL语句中引号(')、quotedstr()、('')、format()在SQL语句中的用法...
  7. GWO-KELM和GWO-SVR代码实现
  8. 8Manage:大宗商品采购,专注构建企业采购信息化!
  9. SpringBoot 下载打包图片
  10. 金蝶K3开发-工业单据显示物料图片