人工智能|自然语言处理——机器翻译评价指标Bleu和Rouge

在机器翻译任务中,BLEU 和 ROUGE 是两个常用的评价指标,BLEU 根据精确率(Precision)衡量翻译的质量 ,而 ROUGE 根据召回率(Recall)衡量翻译的质量

  • BLEU(Bilingual Evaluation Understudy): BLEU是一种用于评估机器翻译结果质量的指标。它主要侧重于衡量机器翻译输出与参考翻译之间的相似程度,着重于句子的准确性和精确匹配。BLEU通过计算N-gram(连续N个词)的匹配程度,来评估机器翻译的精确率(Precision)。
  • ROUGE(Recall-Oriented Understudy for Gisting Evaluation): ROUGE是一种用于评估文本摘要(或其他自然语言处理任务)质量的指标。与BLEU不同,ROUGE主要关注机器生成的摘要中是否捕捉到了参考摘要的信息,着重于涵盖参考摘要的内容和信息的完整性。ROUGE通过计算N-gram的共现情况,来评估机器生成的摘要的召回率(Recall)。
  • 简而言之,BLEU侧重于衡量翻译的准确性和精确匹配程度,更偏向于Precision,而ROUGE侧重于衡量摘要的信息完整性和涵盖程度,更偏向于Recall 。这两个指标在不同的任务和应用场景中都有其重要性,因此在评估自然语言处理模型时,经常会同时使用它们来综合考虑模型的表现

一、理解什么是n-gram

n代表连续的n个词的组合。"n"可以是1、2、3,或者更高。

  • 1-gram:也称为unigram,是指单个的词语。例如,在句子 "我喜欢学习自然语言处理。" 中的1-gram为:["我", "喜欢", "学习", "自然语言处理", "。"]
  • 2-gram:也称为bigram,是指两个连续的词语组合。例如,在句子 "我喜欢学习自然语言处理。" 中的2-gram为:["我喜欢", "喜欢学习", "学习自然语言处理", "自然语言处理。"]
  • 3-gram:也称为trigram,是指三个连续的词语组合。例如,在句子 "我喜欢学习自然语言处理。" 中的3-gram为:["我喜欢学习", "喜欢学习自然语言处理", "学习自然语言处理。"]
  • n-gram在自然语言处理中是一种常用的技术,特别在机器翻译、文本摘要和语言模型等任务中广泛使用。使用n-gram可以捕捉一定长度的上下文信息,有助于更好地理解文本和评估翻译质量。例如,在机器翻译中,使用n-gram可以帮助评估系统生成的翻译与参考翻译之间的相似程度。

二、一个例子理解BLEU 和ROUGE的计算过程

让我们通过一个简单的例子来解释BLEU(Bilingual Evaluation Understudy)和ROUGE(Recall-Oriented Understudy for Gisting Evaluation)指标的计算过程。

假设我们有两个句子,一个是参考翻译(Reference Translation),另一个是系统生成的翻译(Candidate Translation)。

  • 参考翻译: "今天天气晴朗。"
  • 系统生成的翻译: "今天的天气是晴朗的。"

我们将使用这两个句子来计算BLEU和ROUGE指标。

2.1 BLEU指标计算过程:

a. 首先,我们将参考翻译和系统生成翻译拆分成n-gram序列。n-gram是连续n个词的组合。

  • 参考翻译的1-gram:["今天", "天气", "晴朗", "。"]
  • 系统生成翻译的1-gram:["今天", "的", "天气", "是", "晴朗", "的", "。"]

b. 接下来,我们计算系统生成的翻译中n-gram与参考翻译中n-gram的匹配数。例如,1-gram中有4个匹配:["今天", "天气", "晴朗" "。"]
c. 计算BLEU的精确度(precision) :将系统生成的翻译中的匹配数除以系统生成的翻译的总n-gram数。在这里,精确度为4/7。
d. 由于较长的翻译可能具有较高的n-gram匹配,我们使用短文本惩罚(brevity penalty)来调整精确度 。短文本惩罚可以防止短翻译在BLEU中得分过高。
e. 最后,计算BLEU得分:BLEU = 短文本惩罚 * exp(1/n * (log(p1) + log(p2) + ... + log(pn))),其中,p1, p2, ..., pn是1-gram, 2-gram, ..., n-gram的精确度,n是n-gram的最大长度。

2.2 ROUGE指标计算过程:着重于信息完整性和涵盖程度

a. ROUGE指标是用于评估文本摘要任务的 ,因此我们将参考翻译和系统生成的翻译视为两个文本摘要
b. 首先,我们计算系统生成的翻译中包含的n-gram在参考翻译中出现的次数。
c. 接下来,计算召回率(recall):将匹配的n-gram总数除以参考翻译中的总n-gram数。例如,1-gram中有3个匹配,参考翻译总共有4个1-gram,因此召回率为3/4。
d. ROUGE得分可以根据需要使用不同的n-gram大小,通常使用ROUGE-1、ROUGE-2和ROUGE-L

  • ROUGE-1 = 召回率(系统生成的1-gram匹配数 / 参考翻译中的1-gram总数)
  • ROUGE-2 = 召回率(系统生成的2-gram匹配数 / 参考翻译中的2-gram总数)
  • ROUGE-L = 最长公共子序列(Longest Common Subsequence,LCSS)的长度 / 参考翻译的总长度

请注意,这里的计算过程只是为了帮助理解,实际上,BLEU和ROUGE指标的计算还涉及一些调整和平滑方法,以便更好地评估翻译和文本摘要的质量

三、Bleu和Rouge计算公式

可参考以下博客:LLMs:LLMs大语言模型评估的简介(两标+六性+九维,大模型排行榜多种),两类基准---通用任务的基准(单任务【BLEU/ROUGE-MT-Bench/Chatbot Arena】、多任务【Super_llms之ppl-CSDN博客

相关推荐
爱研究的小牛8 分钟前
Rerender A Video 技术浅析(二):视频增强
人工智能·深度学习·aigc
Bdawn18 分钟前
【通义实验室】开源【文本生成图片】大模型
人工智能·python·llm
黑马王子1326 分钟前
谷歌史上最强大模型-Gemini2.0震撼发布!以后世界都属于智能体?
人工智能·google
电报号dapp11928 分钟前
当前热门 DApp 模式解析:六大方向的趋势与创新
人工智能·去中心化·区块链·智能合约
宸码34 分钟前
【机器学习】手写数字识别的最优解:CNN+Softmax、Sigmoid与SVM的对比实战
人工智能·python·神经网络·算法·机器学习·支持向量机·cnn
睡觉狂魔er1 小时前
自动驾驶控制与规划——Project 1: 车辆纵向控制
人工智能·机器学习·自动驾驶
goomind1 小时前
YOLOv8实战bdd100k自动驾驶目标识别
人工智能·深度学习·yolo·计算机视觉·目标跟踪·自动驾驶·bdd100k
GIS 数据栈1 小时前
自动驾驶领域常用的软件与工具
人工智能·机器学习·自动驾驶
博雅智信1 小时前
人工智能-自动驾驶领域
人工智能·python·深度学习·yolo·机器学习·计算机视觉·自动驾驶
Jackilina_Stone1 小时前
【自动驾驶】1 自动驾驶概述
人工智能·自动驾驶