Rouge评估方法介绍及使用

Rouge评估方法的使用

文本摘要评估方法介绍:

  1. 内部评价方法:提供参考摘要,以参考摘要为基准评价系统摘要的质量。系统摘要与参考摘要越吻合,质量越高。

    Edmundson:

    适于抽取式文本摘要,比较机械文摘(自动文摘系统得到的文摘)与目标文摘(从原文中抽取的句子)的句子重合率的高低对系统摘要进行评价。

    计算公式:

    ​ 重合率p = 匹配句子数 /专家文摘句子数 * 100%

    每一个机械文摘的重合率为按三个专家给出的文摘得到的重合率的平均值:

    在这里插入图片描述

    其中,pi为相对于第i个专家的重合率,n为专家文摘总数。

    ROUGE-N:

    N-gram模型
    N-gram模型认为第N个词的出现只与前面N-1个词相关,而与其它任何词都不相关。整句的概率就是各个词出现概率的乘积。

    ROUGE(Recall-Oriented Understudy for Gisting Evaluation)基于摘要中n-gram的共现信息评价摘要,是一种面向n元词召回率的评价方法。

    在这里插入图片描述

    其中,Ref summaries表示标准摘要, c o u n t m a t c h ( n − g r a m ) count_{match}(n-gram) countmatch(ngram)表示生成摘要和标准摘要中同时出现n-gram的个数,count(n-gram)表示参考摘要中出现的n-gram个数。

    ​ 例1:

    ​ S1. police killed the gunman.

    ​ S2. the gunman was shot down by police.

    ​ S3. police ended the gunman.

    ​ S4. the gunman murdered police.

    ​ S1,S2为参考摘要,S2和S3为候选摘要。

    R O U G E − 1 s 3 = ( 3 + 3 ) ( 4 + 7 ) = 6 11 ROUGE-1_{s3} = \frac{(3+3)}{(4+7)} = \frac{6}{11} ROUGE1s3=(4+7)(3+3)=116

    R O U G E − 1 s 4 = ( 3 + 3 ) ( 4 + 7 ) = 6 11 ROUGE-1_{s4} = \frac{(3+3)}{(4+7)} = \frac{6}{11} ROUGE1s4=(4+7)(3+3)=116

    R O U G E − 2 s 3 = ( 1 + 1 ) ( 3 + 6 ) = 2 9 ROUGE-2_{s3} = \frac{(1+1)}{(3+6)} = \frac{2}{9} ROUGE2s3=(3+6)(1+1)=92

    R O U G E − 2 s 4 = ( 1 + 1 ) ( 3 + 6 ) = 2 9 ROUGE-2_{s4} = \frac{(1+1)}{(3+6)} = \frac{2}{9} ROUGE2s4=(3+6)(1+1)=92

    ​ 以s3为例,1-gram为(police、ended、the、gunman)4种

    ​ 2-gram为(police ended、ended the、the gunman)3种

    ​ s1:1-gram为(police、killed、the、gunman)4种

    ​ 2-gram为(police killed、killed the、the gunman)3种

    ​ s2:1-gram为(the、gunman、was、shot、down、by、police)7种

    ​ 2-gram为(the gunman、gunman was、was shot、shot down、down by、 by police)6种

    ​ s3的1-gram中和s1的1-gram中同时出现的有3个

    ​ ==========> 3 + 3

    ​ s3的1-gram中和s2的1-gram中同时出现的有3个

    ​ s1的1-gram总数4个

    ​ ==========> 4 + 7

    ​ s2的1-gram总数7个

    ROUGE-L

    下图是ROUGE-L的公式,其中LCS(X,Y)是X和Y的最长公共子序列的长度,m和n分别表示人工标准摘要和机器自动摘要的长度, R l c s R_{lcs} Rlcs P l c s P_{lcs} Plcs分别表示召回率和准确率。 F l c s F_{lcs} Flcs就是Rouge-L。最长公共子序列的一个优点是它不需要连续匹配,而且反映了句子级词序的顺序匹配。由于它自动包含最长的顺序通用n-gram,因此不需要预定义n-gram的长度。

    ROUGE-L: Longest Common Subsequence LCS(最长公共子序列)
    序列X = [ x 1 , x 2 , . . . , x m x_1, x_2,...,x_m x1,x2,...,xm]
    序列Z = [ z 1 , z 2 , . . . , z n z_1,z_2,..., z_n z1,z2,...,zn]
    如果x中存在一个下标严格递增的子序列[ i 1 , i 2 , . . . , i k i_1, i_2, ..., i_k i1,i2,...,ik],使得所有的

    x i j = Z j x_{ij} = Z_j xij=Zj;(j=1,2, …, k).则称Z是X的子序列。

    LCS:给定序列X、Y,使得公共子序列长度最大的序列为两者的最长公共子序列。

    摘要X为参考摘要,长度为m;摘要Y为候选摘要,长度为n。以F值来衡量摘要X,Y的相似度。

    在DUC评测大会中, β \beta β ∞ \infty ,所以只考虑 R l c s R_{lcs} Rlcs

    R l c s = L C S ( X , Y ) m R_{lcs} = \frac{LCS(X, Y)}{m} Rlcs=mLCS(X,Y)

    P l c s = L C S ( X , Y ) n P_{lcs} = \frac{LCS(X, Y)}{n} Plcs=nLCS(X,Y)

    F l c s = ( 1 + β 2 ) R l c s P l c s R l c s + β 2 P l c s F_{lcs} = \frac{(1 + \beta^2)R_{lcs}P_{lcs}}{R_{lcs} + \beta^2P_{lcs}} Flcs=Rlcs+β2Plcs(1+β2)RlcsPlcs

    ​ 例2:

    ​ S1. police killed the gunman.

    ​ S2. police ended the gunman.

    ​ S3. the gunman murdered police.

    ​ S1为参考摘要,S2、S3为候选摘要。取 β \beta β=1

    R O U G E − L s 2 ROUGE-L_{s2} ROUGELs2 = 3 4 \frac{3}{4} 43 ===========> c o u n t ( p o l i c e 、 t h e 、 g u n m a n ) c o u n t ( p o l i c e 、 k i l l e d 、 t h e 、 g u n m a n ) \frac{count(police、the、gunman)}{count(police、killed、the、gunman)} count(policekilledthegunman)count(policethegunman)

    R O U G E − L s 3 ROUGE-L_{s3} ROUGELs3 = 2 4 \frac{2}{4} 42 ===========> c o u n t ( t h e 、 g u n m a n ) c o u n t ( p o l i c e 、 k i l l e d 、 t h e 、 g u n m a n ) \frac{count(the、gunman)}{count(police、killed、the、gunman)} count(policekilledthegunman)count(thegunman)

    ​ 得到 s 2 优于 s 3 s_2优于s_3 s2优于s3

    ​ 例3:

    ​ 参考摘要集句子 r i r_i ri

    r i = W 1 W 2 W 3 W 4 W 5 r_i = W1W2W3W4W5 ri=W1W2W3W4W5

    ​ 候选摘要C包含两个句子

    C 1 = W 1 W 2 W 6 W 7 W 8 C_1 = W_1W_2W_6W_7W_8 C1=W1W2W6W7W8

    C 2 = W 1 W 3 W 8 W 9 W 5 C_2 = W_1W_3W_8W_9W_5 C2=W1W3W8W9W5

    r i 与 c 1 的 L C S 为 w 1 w 2 r_i与c_1的LCS为w_1w_2 ric1LCSw1w2

    r i 与 c 2 的 L C S 为 w 1 w 3 w 5 r_i与c_2的LCS为w_1w_3w_5 ric2LCSw1w3w5

    r i 与 C 的 u n i o n L C S 为 w 1 w 2 w 3 w 5 r_i与C的unionLCS为w_1w_2w_3w_5 riCunionLCSw1w2w3w5

    L C S ∪ ( r i , C ) = 4 LCS\cup(r_i, C)=4 LCS(ri,C)=4

    R O U G E − L = 4 5 ROUGE-L = \frac{4}{5} ROUGEL=54

    ROUGE-W

    引入加权系数W=连续匹配的最长公共子串长度

    ​ WLCS = W * LCS

    为使连续匹配比不连续匹配赋予更大的权重,公式描述如下

    ​ f(x+y)>f(x)+f(y)

    例如 f ( k ) = k a ⋅ a > 1 f(k)=k^a·a > 1 f(k)=kaa>1

    同时为了归一化最终的ROUGE-W值,通常选择函数与反函数具有相似形式的函数。

    例如 f ( k ) = K 2 f(k) = K^2 f(k)=K2 f − 1 ( k ) = k 1 / 2 f^{-1}(k)=k^{1/2} f1(k)=k1/2

    在这里插入图片描述

  2. 外部评价方法:不提供参考摘要,利用文档摘要代替原文档执行某个文档相关的应用。例如:文档检索、文档分类等,能够提高应用性能的摘要被认为是质量好的摘要。

Rouge库在Python中的使用:

from rouge import Rouge
# 生成文本
generated_text = "Life is a journey, not a destination."
# 参考文本列表
reference_texts = "Life is a journey, not an endpoint."
# 计算 ROUGE 指标
rouge = Rouge()
scores = rouge.get_scores(generated_text, reference_texts)
# 打印结果
print("ROUGE-1 p:", scores[0]["rouge-1"]["p"])
print("ROUGE-1 r:", scores[0]["rouge-1"]["r"])
print("ROUGE-1 f:", scores[0]["rouge-1"]["f"])

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/670193.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

配置Jenkins自动构建打包项目

转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权。感谢您喜爱本文,请文明转载,谢谢。 需求说明 1、给A项目配置jenkins每2小时无条件自动构建一次,无论是否有代码提交。 2、给B项目配置jenkins每15分钟检…

Spring Data Envers 数据审计实战2 - 自定义监听程序扩展审计字段及字段值

上篇讲述了如何在Spring项目中集成Spring Data Envers做数据审计和历史版本查看功能。 之前演示的是业务表中已有的字段进行审计,那么如果我们想扩展审计字段呢? 比如目前对员工表加入了Audited审计,员工表有个字段为dept_id,为…

私有化部署跳一跳

目录 效果 安装 1.安装httpd 2.下载跳一跳 3.启动httpd 使用 效果 安装 1.安装httpd yum -y install httpd systemctl enable httpd 2.下载跳一跳 cd /var/www/html/ git clone https://gitee.com/WangZhe168_admin/jump.git 3.启动httpd systemctl start httpd 使…

vue-3d-loader

vue-3d-loader - npm GitHub - king2088/vue-3d-loader: VueJS and threeJS 3d viewer 是对 vue-3d-model 的改进,降低Threejs使用难度 # 默认安装 "vue-3d-loader": "^1.3.4", 只支持vue2 npm i vue-3d-loader # vue3 需要安装2版本&#xf…

Kafka 生产调优

Kafka生产调优 文章目录 Kafka生产调优一、Kafka 硬件配置选择场景说明服务器台数选择磁盘选择内存选择CPU选择 二、Kafka Broker调优Broker 核心参数配置服役新节点/退役旧节点增加副本因子调整分区副本存储 三、Kafka 生产者调优生产者如何提高吞吐量数据可靠性数据去重数据乱…

算法day11

算法day11 239 滑动窗口最大值237 前K个高频元素栈与队列总结 滑动窗口最大值 第一想法,暴力解:这个解法会超时。(这就是为啥是困难题) 思路:每到一个新的窗口,就重新进行一次窗口中的max迭代&#xff0c…

ubuntu22.04@laptop OpenCV Get Started: 000_hello_opencv

ubuntu22.04laptop OpenCV Get Started: 000_hello_opencv 1. 源由2. Hello OpenCV2.1 C应用Demo2.2 Python应用Demo 3. 参考资料 1. 源由 之前,通过敲门砖已经砸开了OpenCV的大门,接下来是体验下“Hello World!”程序。 2. Hello OpenCV …

HarmonyOS鸿蒙ArkTS证件照生成模板(适合二次开发,全套源码版)

预览效果 部分代码 开发语言 HarmonyOS 鸿蒙 ArkTS语言 (Stage模型) 备注 一键生成,自带证件照数集, 为开发者带来二次开发和学习体验, 在这祝福开发者们使用愉快。 使用方法 下载后通过DevEco Studio开发工…

物联网ARM开发-STM32之RTC浅谈

RTC 一.RTC简单介绍 RTC好比我们用来记录时间的一个钟表,他里面有年月日,还可以记录星期,小时,分钟等。是Real Time Clock的缩写,译为实时时钟,本质上是一个独立的定时器。 1. 1 与通用定时器的区别 可以…

EEPROM之MB85RC64介绍

一、芯片介绍 工作频率 : 400 kHz (最大) 即,当主机和一个EEPROM通信时,从机地址为1010 000WR,如果主机和多个EEPROM通信时,从机地址为1010 A2 A1 A0 WR 二、时序分析 (1)从机地址…

适用于 Windows 和 Mac 的 16 款最佳数据恢复软件

数据恢复软件是找回因硬盘损坏、病毒攻击或意外删除数据等原因而在设备上丢失的数据的最佳方法。在数字世界中,丢失数据是一件非常糟糕的事情,这会让许多人的情况变得更糟。使用最佳数据恢复软件可以减轻您必须努力恢复丢失数据的压力。它将带回您的大部…

C# OpenCvSharp DNN 部署yolov4目标检测

目录 效果 项目 代码 下载 效果 项目 代码 using OpenCvSharp; using OpenCvSharp.Dnn; using System; using System.Collections.Generic; using System.Drawing; using System.IO; using System.Linq; using System.Windows.Forms;namespace OpenCvSharp_DNN_Demo {publ…

Linux环境下配置mysql主从复制

主从配置需要注意的地方 1、主DB server和从DB server数据库的版本一致 2、主DB server和从DB server数据库数据一致[这里就会可以把主的备份在从上还原,也可以直接将主的数据目录拷贝到从的相应数据目录] 3、主DB server开启二进制日志,主DB server和从DB serve…

二分查找------蓝桥杯

题目描述&#xff1a; 请实现无重复数字的升序数组的二分查找 给定一个元素升序的、无重复数字的整型数组 nums 和一个目标值 target&#xff0c;写一个函数搜索 nums 中的target&#xff0c;如果目标值存在返回下标 (下标从0 开始)&#xff0c;否则返回-1 数据范围: 0 < l…

分布式文件存储系统minio

参考Linux搭建免费开源对象存储 wget https://dl.minio.io/server/minio/release/linux-amd64/minio yum install -y wget yum install -y wget wget https://dl.minio.io/server/minio/release/linux-amd64/minio chmod x minio sudo mv minio /usr/local/bin/ minio --vers…

外汇天眼:外汇天眼:注意,19个外汇平台因诈骗被监管拉黑!

近年来&#xff0c;全球金融市场出现了众多非法投资平台&#xff0c;这些平台利用虚假宣传和高回报承诺欺骗投资者&#xff0c;造成了严重的经济损失。为了保护投资者利益&#xff0c;监管机构也在加大力度打击这些非法平台。就在最近&#xff0c;又有19个外汇交易平台因涉嫌诈…

【C语言 - 力扣 - 反转链表】

反转链表题目描述 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 题解1-迭代 假设链表为 1→2→3→∅&#xff0c;我们想要把它改成 ∅←1←2←3。 在遍历链表时&#xff0c;将当前节点的 next 指针改为指向前一个节点。由于节点没…

计算机网络-差错控制(纠错编码 海明码 纠错方法)

文章目录 纠错编码-海明码海明距离1.确定校验码位数r2.确定校验码和数据的位置3.求出校验码的值4.检错并纠错纠错方法1纠错方法2 小结 纠错编码-海明码 奇偶校验码&#xff1a;只能发现错误不能找到错误位置和纠正错误 海明距离 如果找到码距为1&#xff0c;那肯定为1了&…

idea运行程序报错 java 程序包org.junit不存在

在 IntelliJ IDEA 中运行程序时遇到错误提示&#xff1a;“java: 程序包org.junit不存在”&#xff0c;针对这一问题&#xff0c;我们可以考虑以下三步来解决&#xff1a; 第一步&#xff1a;检查JUnit依赖 尽管现代项目创建时通常会默认引入JUnit依赖&#xff0c;但仍需检查…

双向链表的插入、删除、按位置增删改查、栈和队列区别、什么是内存泄漏

2024年2月4日 1.请编程实现双向链表的头插&#xff0c;头删、尾插、尾删 头文件&#xff1a; #ifndef __HEAD_H__ #define __HEAD_H__ #include<stdio.h> #include<stdlib.h> #include<string.h> typedef int datatype; enum{FALSE-1,SUCCSE}; typedef str…