详解BLEU的原理和计算

NLP评价指标自我总结 阅读详情
AI摘要

本文介绍了机器翻译和图像字幕评估指标BLEU的原理与计算方法,包括修正的n-gram精度、几何平均值及简洁惩罚等核心概念。

机器翻译指标或者image caption指标BLEU的原理和计算

参考:

《BLEU: a Method for Automatic Evaluation of Machine Translation》

计算方法(The Baseline BLEU Metric):
1、precision measure

为了计算精度,只需计算任何参考翻译中出现的候选翻译词(unigrams)的数量,然后除以候选翻译中的总词数。

2、Modified n-gram precision

先对原理总介绍,然后2.1-2.3分别介绍Modified n-gram precision在三种场景下的应用。

首先计算一个单词在任何单个参考翻译中出现的最大次数。 接下来,将每个候选词的总计数除以其最大参考计数,将这些截断的计数相加,然后除以候选词的总数(未截断)。

注:n-gram指的是将n个词作为一个整体,1-gram指的是一个词,2-gram指的是两个连起来的词。对应的matrix就是BLEU-n。BLEU-1更注重单个词的出现,BLEU-4更注重句子的流畅性。

总结:首先提出一种基本的计算方法,然后对其进行优化。优化的思路很重要(举极限的反例来证明):使用1的方法有一个问题,会导致机器翻译系统可能会过度生成“合理”的单词,导致翻译结果很差但精度很高,例如下面的示例2.1:如果使用1的方法计算:BLEU-1 = 7/7。使用2的方法计算:BLEU-1 = 2/7。显然candidate是很差的,使用2的计算结果更合理。

'''
示例2.1
手把手教你计算BLEU和ROUGE分数:附Python代码示例 本文提供了使用Python计算BLEU和ROUGE分数的详细实战指南。针对LLM评估需求,文章深入解析了BLEU侧重精确度、ROUGE关注召回率的核心差异,并给出了处理多参考文本、中文分词及结果解读的完整代码示例与避坑建议,帮助开发者快速集成可靠的文本生成评估流程。 阅读详情

相关推荐

从论文到上线:手把手教你用Python实现BLEU、ROUGE,搞定你的NLP项目评估报告

本文详细介绍了如何在NLP项目中使用Python实现BLEU和ROUGE评估指标,帮助开发者准确衡量机器翻译和文本生成的质量。通过代码示例和中文文本处理的特殊注意事项,指导读者从理论到实践完成项目评估报告。

weixin_30564901的博客 399

BLEU——机器翻译评测

本次BLEU算法的学习参考了东北大学出版的《机器翻译-统计建模与深度学习方法》,代码的学习参考了这篇博客: BLEU算法详解. 目录BLEU算法介绍N-gram 准确率(N-gram Precision)召回率短句惩罚因子(Brevity Penalty, BP)BLEU算法代码实现sentence_bleu语句级的bleu值corpus_bleu语句级的bleu值 BLEU算法介绍 目前使用最广泛的自动评价指标是BLEU。BLEU 是Bilingual Evaluation Understudy的缩写,最

weixin_38792559的博客 4134

BLEU score 原理与解释

BLEU代表bilingual evaluation understudy,即双语评估替补。所谓替补就是代替人类来评估机器翻译的每一个输出结果。 例如法语翻译成英语的任务中,源语句是: Le chat est sur le tapis 而翻译成英语的形式多种多样,例如: reference1:The cat is on the mat. reference2:There is a cat on t...

nstarLDS的博客 4795

BLEU-4、ROUGE-1是什么

BLEU-4、ROUGE-1、ROUGE-2和ROUGE-L是用于评估模型性能的重要指标。

ZhangJiqun&191cm&85kg 1017

show attend and tell 计算bleu分数(1到4)

Calculate BLEU scores 主要是参数的改变,默认计算的是BLEU4的分数,从源码中也可以看出来 # Calculate BLEU-4 scores bleu4 = corpus_bleu(references, hypotheses) # weights = (1.0 / 1.0,) bleu1 = corpus_bleu(references, hypotheses, (1.0 / 1.0,)) bleu2 = corpus_bleu(references, hypotheses, (1

qq_45893319的博客 1570

SAP HR模块配置假期日历和缺勤类型

SAP的HR模块。业务顾问在实施时一般会配置未来10年的假期日历,到期后再进行配置。同时,增加请假类型(缺勤信息类型)。记录这一过程。

福来阁86号技师的妖孽日常 5525

不止于连接:用VS Code Remote-SSH深度开发树莓派(Ubuntu 22.04环境实战)

本文详细介绍了如何在Ubuntu 22.04环境下使用VS Code的Remote-SSH功能进行树莓派深度开发。通过SSH配置、VS Code扩展安装和远程环境优化,开发者可以在本地高效编写代码,同时在树莓派上直接运行和测试,解决性能瓶颈问题。文章还提供了高级功能如端口转发、多项目管理和远程调试的实战技巧。

didui8202的博客 352

【NodeRed】node-red-contrib-opcua实现PLC读写

在之前的博文【Node-RED】node-red-contrib-opcua-server模块使用(1)中,我们介绍了用node-red-contrib-opcua-server模块实现OPCUA服务端的,以及二次开发的内容。本节博文中我们采用官方社区自带的node-red-contrib-opcua组件开展对OPCUA客户端的介绍,详细阐述用该组件中OpcUa-Client节点实现客户端对PLC的读写,以及实现过程中遇到的问题。由于官方社区中并没有找到该组件的介绍实例,这也是本博文编写的第1个原因。

weixin_48618536的博客 959

【动态导通电阻】GaN功率器件中动态导通电阻退化的机制、表征及建模方法

研究目的:鉴于动态RON退化对GaN功率器件性能的显著影响,本文旨在全面综述和讨论GaN功率器件中动态RON退化的机制、表征方法、建模技术以及解决方案,以期为GaN功率器件的设计、优化和应用提供理论指导和实践参考。内容概述:文章首先分析了缓冲层陷阱和栅极不稳定导致动态RON退化的物理机制,并通过物理基础的TCAD模拟与高压背栅测量结果进行对比,揭示缓冲层陷阱的充电/放电过程如何影响动态RON。接着,讨论了不同GaN器件技术中栅极不稳定引起的动态RON增加以及栅极过驱动的作用。

荷塘阅色 1166

论文必备 - 绘制YOLOv8模型在训练过程中,精准率,召回率,mAP_0.5,mAP_0.5:0.95,以及各种损失的变化曲线

文件是模型在训练过程中,实时记录训练的结果,和当时控制台输出的信息一致。当然还包含一些验证损失,学习率变化等数据。epoch:记录训练的轮次,总轮次为训练文件中设置的epochs大小。:边界框损失。在训练过程中,此值逐渐变小,越小表示模型预测的边界框与真实边界框之间的差异越小。:分类损失。在训练过程中,此值逐渐变小,越小表示模型对目标类别的预测越准确。:分布焦点损失。将边界框的回归问题转化为对边界框四个边的分布预测问题,越小表示预测越准确。:精确率也称为查准率。

Limiiiing的博客 1407

微信小程序 - 解决支付报错 requestPayment:fail access denied (微信支付提示错误requestPayment:拒绝访问失败,真机运行测试或打包编译上线后报错问题)

微信小程序,微信支付,wx.requestPayment,微信小程序支付报错requestPayment:fail access denied,调不起微信,无法唤起支付弹窗,支付失败,支付权限没问题,小程序上线后支付报错,小程序真机测试支付报错,微信小程序苹果ios系统手机无法支付,小程序发布上线后支付报错,本地测试没问题,拒绝访问失败,小程序调起支付API requestPayment:fail:access denied微信开发者工具正常支付,权限没问题,微信公众平台,依旧报错怎么办,检查了appid都

🏆 前端领域优质创作者 1万+

nvidia系列教程-AGX-Orin linux源码下载编译

NVIDIA AGX Orin 是一款高性能的嵌入式计算平台,广泛应用于人工智能、自动驾驶、机器人等领域。为 AGX Orin 编译定制的 Linux 内核,可以更好地适应特定应用需求,增强系统的灵活性。本文将详细介绍如何下载、配置和编译适用于 AGX Orin 的 Linux 内核源码。本文介绍了如何为 NVIDIA AGX Orin 平台下载、配置和编译定制的 Linux 内核源码。通过编译和部署定制内核,您可以更好地控制系统的行为,并根据特定应用需求进行优化。

flypig has a dream! 1283

华为od 面试八股文_操作系统_01_含答案

华为od 面试八股文_操作系统_01_含答案

MISAYAONE的博客 3275

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

上一篇: 图的拉普拉斯矩阵
下一篇: 项目:CV和NLP结合的Attention视频字幕生成算法实现
KPer_Yang
博客等级 码龄5年 281粉丝 181原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

KPer_Yang

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

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

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

打赏作者

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

抵扣说明:

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

余额充值