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

Rouge是一种衡量文本摘要质量的指标,基于召回率,包括Rouge-N、Rouge-L等多个类别。它计算模型生成摘要与人工摘要间的n-gram重叠,Rouge-L关注最长公共子序列,考虑词序。在不同摘要任务中,选择合适的Rouge指标,如单文档摘要常使用ROUGE-2和ROUGE-L。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

在这里插入图片描述

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

Rouge-L的理解

  • 最长公共子序列,Longest Common Subsequence(LCS)
  • LCS和最长公共子串不同,不要求连续,保序即可 Rouge-N 只关注匹配单元的数量,像词袋一样,不关注词序 Rouge-L 关注词序
    在这里插入图片描述
  • 注:lcs经过了去重
  • ideal摘要:“矿泉水和纯净水的所含物质不同”
  • pred摘要:“矿泉水含有丰富的矿物质元素,纯净水不含矿物质”

在这里插入图片描述

  • 代码示例:
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

### 使用Transformer模型生成文本摘要的实现方法 #### 方法概述 Transformer模型是一种基于自注意力机制(Self-Attention Mechanism)的神经网络架构,广泛应用于自然语言处理任务中。对于文本摘要生成任务,Transformer可以通过预训练和微调的方式完成端到端的学习过程[^1]。 #### 数据预处理 在实际应用中,原始文本需要经过一系列预处理步骤才能被输入到Transformer模型中。这些步骤包括但不限于分词、编码以及序列长度截断或填充。具体而言: - **分词**:将文本分割为单词或子词单元。 - **编码**:将分词后的结果映射为数值向量表示。 - **序列调整**:确保所有输入具有相同的长度,通常通过截断过长的部分或将较短部分补零来实现[^2]。 #### 模型结构设计 一个典型的用于文本摘要生成的Transformer模型包含以下几个主要组件: - 编码器(Encoder):负责理解源文档的内容并提取特征; - 解码器(Decoder):依据编码器输出逐步预测目标摘要中的下一个词语; 两者之间通过交叉注意层连接起来共享上下文信息。 #### 训练流程说明 为了使该类模型具备良好的泛化能力,在正式部署前需经历充分的数据驱动式优化阶段——即所谓的“训练”。此过程中会利用大量的带标签样本集反复迭代更新参数直至收敛为止。损失函数一般选用负对数似然估计(Negative Log Likelihood, NLL),配合Adam等高效求解算法共同作用下达到最佳效果。 以下是Python环境下使用Hugging Face库快速搭建并运行的一个简单例子: ```python from transformers import pipeline # 初始化摘要生成pipeline对象,默认加载t5-base checkpoint summarizer = pipeline("summarization") ARTICLE = """Your long article text goes here.""" print(summarizer(ARTICLE)) ``` 上述脚本展示了如何借助预先训练好的T5模型轻松获得高质量的文章概要服务;当然也可以替换其他更适合特定场景需求版本号如`bart-large-cnn`等等[^4]。 ### 性能评估指标考量因素 当衡量某个具体的transformer-based summarization system的表现优劣程度时,则往往考虑如下几个维度标准之一或多者组合运用: - ROUGE Score (Recall-Oriented Understudy for Gisting Evaluation): 衡量候选总结与参考标准之间的重叠情况. - BLEU Score: 主要用来比较机器翻译质量的一种度量方式但在某些情况下也可适用于评价自动产生的简述准确性. ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

椒椒。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值