人工智能|自然语言处理——机器翻译评价指标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博客

相关推荐
irislinAmelia6 小时前
缺陷检测AI关键点在哪
人工智能·嵌入式硬件·1024程序员节
Ai-_Man6 小时前
Meta Muse还是不可以导出左侧所有对话,只能点进去单条内容导出,方法不对吗?
开发语言·人工智能·ai·小程序·c#·1024程序员节
安托智造6 小时前
MBD:从二维图纸到三维模型的制造革命(下)
大数据·人工智能·制造·mbd
火山引擎开发者社区6 小时前
VeOps 深度调查:让 AI 排障从“能用”走向“可靠”
人工智能
梓豪csd6 小时前
消息订阅中心:谁该收到哪条通知
java·开发语言·人工智能·低代码·自动化·1024程序员节
王中阳Go6 小时前
两个入口答案不一致先别调模型:6 行入口口径对账表(附脚本)
人工智能·后端·python·大语言模型·1024程序员节
武天旭6 小时前
AI安全--AI大模型的隐私保护与法律法规
人工智能·安全
Solange__6 小时前
影视预演怎么用AI生成3D场景?从分镜、Blockout到镜头交付的完整流程
人工智能·游戏·3d·ai·自然语言处理·aigc·游戏策划
冬奇Lab7 小时前
一次 Skill 评测的复盘:我推翻了一份现成的模型选型结论,然后自己造了个评测平台
人工智能·llm·agent
不脱发的程序猿8 小时前
纳指ETF量化策略
数据库·人工智能·1024程序员节