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

相关推荐
冬奇Lab7 小时前
Workflow 系列(03):状态管理——持久化、幂等性与版本绑定
人工智能·工作流引擎
冬奇Lab7 小时前
每日一个开源项目(第146篇):openpilot - 开源自动驾驶辅助系统,曾在 Consumer Reports 评测中超过特斯拉 Autopilot
人工智能·开源·自动驾驶
吴佳浩8 小时前
AI 工程师知识地图:模型格式、框架、部署工具一次讲明白
人工智能·aigc·ai编程
IT_陈寒9 小时前
Java的Date类又坑了我一次,改用时间戳真香
前端·人工智能·后端
码农胖大海9 小时前
AI额度不够用的解决方案
人工智能
后端小肥肠9 小时前
小红书虚拟商品怎么做?我先用 Skill 跑通了壁纸品类
人工智能·aigc·agent
feiyu_gao9 小时前
从零搭建个人 AI 工作台:一个管理者的 3 个月实验
人工智能·aigc·团队管理
程序员cxuan10 小时前
一句话,让你用上 GPT-5.6
人工智能·后端·程序员
机器之心10 小时前
AI圈刚开始谈Loop Engineering,两位95后博士已经盯上了人类闭环数据
人工智能·openai