Loading [MathJax]/jax/output/CommonHTML/jax.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【深度学习】序列生成模型(五):评价方法计算实例:计算BLEU-N得分【理论到程序】

【深度学习】序列生成模型(五):评价方法计算实例:计算BLEU-N得分【理论到程序】

作者头像
Qomolangma
发布于 2024-07-30 03:28:37
发布于 2024-07-30 03:28:37
16200
代码可运行
举报
文章被收录于专栏:深度学习深度学习
运行总次数:0
代码可运行

一、BLEU-N得分(Bilingual Evaluation Understudy)

1. 定义

  设 𝒙 为模型生成的候选序列,

为一组参考序列,𝒲 为从生成的候选序列中提取所有N元组合的集合。BLEU算法的精度(Precision)定义如下:

其中

是N元组合

生成序列

中出现的次数,

是N元组合

参考序列

中出现的次数。

  为了处理生成序列长度短于参考序列的情况,引入长度惩罚因子

其中

是生成序列的长度,

是参考序列的最短长度。

  BLEU算法通过计算不同长度的N元组合的精度,并进行几何加权平均,得到最终的BLEU分数:

其中

为最长N元组合的长度,

是不同N元组合的权重,一般设为

2. 计算

N=1
  • 生成序列
  • 参考序列
N=2
  • 生成序列
  • 参考序列

w w w

c w ( x ) c_w(\mathbf{x}) cw​(x)

c w ( s ( 1 ) ) c_w(\mathbf{s^{(1)}}) cw​(s(1))

c w ( s ( 2 ) ) c_w(\mathbf{s^{(2)}}) cw​(s(2))

max ⁡ k = 1 K c w ( s ( k ) ) ) \max_{k=1}^{K} c_w(\mathbf{s}^{(k)})) maxk=1K​cw​(s(k)))

min ⁡ ( c w ( x ) , max ⁡ k = 1 K c w ( s ( k ) ) ) \min(c_w(\mathbf{x}), \max_{k=1}^{K} c_w(\mathbf{s}^{(k)})) min(cw​(x),maxk=1K​cw​(s(k)))

the cat

1

1

0

1

1

cat sat

1

0

0

0

0

sat on

1

0

1

1

1

on the

1

1

1

1

1

the mat

1

1

0

1

1

the cat11011cat sat10000sat on10111on the11111the mat11011

BLEU-N 得分

  为了处理生成序列长度短于参考序列的情况,引入长度惩罚因子

其中

是生成序列的长度,

是参考序列的最短长度。

  这里

,因此

  BLEU算法通过计算不同长度的N元组合的精度,并进行几何加权平均,得到最终的BLEU分数:

其中

为最长N元组合的长度,

是不同N元组合的权重,一般设为

3. 程序

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
main_string = 'the cat sat on the mat'
string1 = 'the cat is on the mat'
string2 = 'the bird sat on the bush'

# 计算单词
unique_words = set(main_string.split())
total_occurrences, matching_occurrences = 0, 0

for word in unique_words:
    count_main_string = main_string.count(word)
    total_occurrences += count_main_string
    matching_occurrences += min(count_main_string, max(string1.count(word), string2.count(word)))

similarity_word = matching_occurrences / total_occurrences
print(f"N=1: {similarity_word}")

# 计算双词
word_tokens = main_string.split()
bigrams = set([f"{word_tokens[i]} {word_tokens[i + 1]}" for i in range(len(word_tokens) - 1)])
total_occurrences, matching_occurrences = 0, 0

for bigram in bigrams:
    count_main_string = main_string.count(bigram)
    total_occurrences += count_main_string
    matching_occurrences += min(count_main_string, max(string1.count(bigram), string2.count(bigram)))

similarity_bigram = matching_occurrences / total_occurrences
print(f"N=2: {similarity_bigram}")

输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
N=1: 1.0
N=2: 0.8
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-03-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【深度学习】序列生成模型(六):评价方法计算实例:计算ROUGE-N得分【理论到程序】
the22222cat11010is01000on11111mat11010bird00100sat10101bush00100
Qomolangma
2024/07/30
1720
【深度学习】序列生成模型(六):评价方法计算实例:计算ROUGE-N得分【理论到程序】
【深度学习】序列生成模型(四):评价方法
  困惑度(Perplexity)是一种用来衡量序列生成模型性能的指标。在给定一个测试文本集合的情况下,一个好的序列生成模型应该使得测试集合中句子的联合概率尽可能高。困惑度是信息论中的一个概念,用来度量一个分布的不确定性。
Qomolangma
2024/07/30
2740
A.深度学习基础入门篇[二]:机器学习常用评估指标:AUC、mAP、IS、FID、Perplexity、BLEU、ROUGE等详解
机器学习的评价指标有精度、精确率、召回率、P-R曲线、F1 值、TPR、FPR、ROC、AUC等指标,还有在生物领域常用的敏感性、特异性等指标。
汀丶人工智能
2023/04/06
1.8K0
A.深度学习基础入门篇[二]:机器学习常用评估指标:AUC、mAP、IS、FID、Perplexity、BLEU、ROUGE等详解
【论文阅读】Temporal knowledge graph reasoning based on evolutional representation learning
authors:: Zixuan Li, Xiaolong Jin, Wei Li, Saiping Guan, Jiafeng Guo, Huawei Shen, Yuanzhuo Wang, Xueqi Cheng container:: Proceedings of the 44th international ACM SIGIR conference on research and development in information retrieval year:: 2020 DOI:: 10.1145/3404835.3462963 rating:: ⭐⭐⭐ share:: true comment:: 时间知识图谱TKG推理,时间片上采用GCN,顺序关系上采用GRU,并融合静态信息,同时预测实体和关系。
EmoryHuang
2023/04/06
8770
【论文阅读】Temporal knowledge graph reasoning based on evolutional representation learning
异常检测 SVDD 算法
支持向量数据描述 SVDD(Support Vector Data Description,SVDD)是一种单值分类算法,能够实现目标样本和非目标样本的区分,通常应用于异常检测、入侵检测等领域。
为为为什么
2022/10/31
3K0
异常检测 SVDD 算法
【深度学习】机器学习概述(一)机器学习三要素——模型、学习准则、优化算法
  机器学习是从有限的观测数据中学习(或“猜测”)出具有一般性的规律,并可以将总结出来的规律推广应用到未观测样本上。   机器学习方法可以粗略地分为三个基本要素:模型、学习准则、优化算法。
Qomolangma
2024/07/30
8780
【深度学习】机器学习概述(一)机器学习三要素——模型、学习准则、优化算法
【深度学习】序列生成模型(三):N元统计模型
  N元模型(N-Gram Model)是一种常用的序列建模方法,尤其是在处理数据稀疏问题时。该模型基于马尔可夫假设,即假设当前词的生成只依赖于其前面的
Qomolangma
2024/07/30
1810
深度学习应用篇-元学习[14]:基于优化的元学习-MAML模型、LEO模型、Reptile模型
Model-Agnostic Meta-Learning (MAML): 与模型无关的元学习,可兼容于任何一种采用梯度下降算法的模型。 MAML 通过少量的数据寻找一个合适的初始值范围,从而改变梯度下降的方向, 找到对任务更加敏感的初始参数, 使得模型能够在有限的数据集上快速拟合,并获得一个不错的效果。 该方法可以用于回归、分类以及强化学习。
汀丶人工智能
2023/10/11
1.8K0
深度学习应用篇-元学习[14]:基于优化的元学习-MAML模型、LEO模型、Reptile模型
【深度学习】序列生成模型(二):束搜索
,我们可以使用该模型进行序列生成。生成的过程是按照时间顺序逐步生成序列样本。假设在第
Qomolangma
2024/07/30
2120
【深度学习】序列生成模型(二):束搜索
当胶囊网络遇到序列推荐
预备知识:胶囊网络https://zhuanlan.zhihu.com/p/264910554
秋枫学习笔记
2022/09/19
1.2K0
CIKM'21序列推荐|基于区域的embedding捕获用户行为中的偏好
可以先看背景和总结部分,对整个文章做的工作进行了简单的概括,公式太长的可以左右滑动哦~
秋枫学习笔记
2022/09/19
5280
CIKM'22 | 序列推荐中的双重倾向性估计缓解数据有偏问题
对于序列推荐中的数据有偏问题,现有的基于逆向倾向分数(IPS)的无偏学习是在商品维度的,即将反馈数据视为与用户交互的商品序列。然而,也可以从用户的角度将反馈数据视为与商品交互的用户序列。此外,这两种视角可以共同增强倾向得分估计。本文从用户和商品的角度来估计倾向得分,称为双重增强倾向得分估计(DEPS)。具体而言,给定目标用户-商品对以及相应的商品和用户交互序列,DEPS首先构建一个时间感知因果图来表示用户-商品观察概率。根据该图,基于同一组用户反馈数据,分别从商品和用户的视图估计两个互补倾向得分。最后,设计了两个Transformer来进行最终的偏好预测。
秋枫学习笔记
2023/01/30
5490
WSDM'22「京东」个性化会话推荐:异构全局图神经网络
本文是针对会话推荐提出的相关方法,兼顾历史会话信息和会话中商品间的转换模式,提出异构全局图网络HG-GNN,利用所有会话中的商品转换(历史和当前的会话)来推断用户的偏好。全局图包含会话内的item-item关系,user-item关系和全局item共现关系。同时提出一个个性化会话编码器,结合当前会话的一般用户偏好和临时兴趣来生成个性化会话表征进行推荐。
秋枫学习笔记
2022/09/19
3560
A.深度学习基础入门篇[二]:机器学习常用评估指标:AUC、mAP、IS、FID、Perplexity、BLEU、ROUGE等详解
A.深度学习基础入门篇二:机器学习常用评估指标:AUC、mAP、IS、FID、Perplexity、BLEU、ROUGE等详解
汀丶人工智能
2023/04/05
1.9K0
A.深度学习基础入门篇[二]:机器学习常用评估指标:AUC、mAP、IS、FID、Perplexity、BLEU、ROUGE等详解
CIKM'22 | 序列推荐中的多层次对比学习框架
本文主要针对序列推荐中的数据稀疏问题提出相应的解决方法,针对现有对比学习在缓解该问题上的不足提出MCLSR。现有方法的不足:由于对复杂的协作信息(例如用户-商品关系、用户-用户关系和商品-商品关系)的建模不足,学习信息丰富的用户/商品embedding还远远不够。本文提出了一种新的用于序列推荐的多层次对比学习框架,称为 MCLSR。与之前基于对比学习的 SR 方法不同,MCLSR 通过跨视图对比学习范式从两个不同级别(即兴趣级别和特征级别)的四个特定视图学习用户和商品的表征。具体来说,兴趣级对比机制与顺序转换模式共同学习协作信息,特征级对比机制通过捕获共现信息重新观察用户和商品之间的关系。
秋枫学习笔记
2023/01/30
1.1K0
$\mathcal{Y}$-Tuning: 通过对标签表征进行微调的深度学习新范式
ACL2022有一篇名为《\mathcal{Y}-Tuning: An Efficient Tuning Paradigm for Large-Scale Pre-Trained Models via Label Representation Learning》的投稿,从标题上就吸引了我的注意,不同于Fine-Tuning、Adapter-Tuning、Prompt-Tuning,这篇文章的创新之处在于,不调整输入文本特征与大规模预训练模型的参数,仅通过学习标签的特征,以往很少见到论文去学习标签的特征。虽然最终效果可能仍无法与微调相比,但它在节省计算成本方面有很大的优势,并有可能通过后续研究进一步提高性能
mathor
2021/12/14
7700
$\mathcal{Y}$-Tuning: 通过对标签表征进行微调的深度学习新范式
深度学习教程 | Seq2Seq序列模型和注意力机制
本系列为吴恩达老师《深度学习专项课程(Deep Learning Specialization)》学习与总结整理所得,对应的课程视频可以在这里查看。
ShowMeAI
2022/04/15
8590
深度学习教程 | Seq2Seq序列模型和注意力机制
SIGIR'22「amazon」CaFe:从粗粒度到细粒度的稀疏序列推荐
本文是针对序列推荐的一篇短文,主要针对自注意力方法无法很好地应对稀疏数据,无法对稀疏数据提高较好的保证,而提出的从粗到细的自注意力方法CaFe。该方同时从购物意图和交互商品中对用户动态性进行建模,显式地从粗粒度和细粒度两方面学习序列中的含义。
秋枫学习笔记
2022/09/19
6590
CMI:结合对比学习和多兴趣挖掘的微视频推荐
本文主要关注微视频的推荐方面的一篇短文,现有的微视频推荐模型依赖于多模态信息,并且学习的embedding无法反映用户对微视频的多种兴趣。本文结合对比学习提出提取对比多兴趣并设计微视频推荐模型 CMI。CMI 从用户的历史交互序列中为每个用户学习多个兴趣embedding,其中隐式正交微视频类别用于解耦多个用户兴趣。此外,构建对比多兴趣损失,以提高兴趣embedding的鲁棒性和推荐的性能。
秋枫学习笔记
2022/09/19
6440
在线学习方法FTRL原理与实现
原文:https://www.cnblogs.com/massquantity/p/12693314.html 点击阅读原文可以前往
秋枫学习笔记
2022/09/19
7770
推荐阅读
【深度学习】序列生成模型(六):评价方法计算实例:计算ROUGE-N得分【理论到程序】
1720
【深度学习】序列生成模型(四):评价方法
2740
A.深度学习基础入门篇[二]:机器学习常用评估指标:AUC、mAP、IS、FID、Perplexity、BLEU、ROUGE等详解
1.8K0
【论文阅读】Temporal knowledge graph reasoning based on evolutional representation learning
8770
异常检测 SVDD 算法
3K0
【深度学习】机器学习概述(一)机器学习三要素——模型、学习准则、优化算法
8780
【深度学习】序列生成模型(三):N元统计模型
1810
深度学习应用篇-元学习[14]:基于优化的元学习-MAML模型、LEO模型、Reptile模型
1.8K0
【深度学习】序列生成模型(二):束搜索
2120
当胶囊网络遇到序列推荐
1.2K0
CIKM'21序列推荐|基于区域的embedding捕获用户行为中的偏好
5280
CIKM'22 | 序列推荐中的双重倾向性估计缓解数据有偏问题
5490
WSDM'22「京东」个性化会话推荐:异构全局图神经网络
3560
A.深度学习基础入门篇[二]:机器学习常用评估指标:AUC、mAP、IS、FID、Perplexity、BLEU、ROUGE等详解
1.9K0
CIKM'22 | 序列推荐中的多层次对比学习框架
1.1K0
$\mathcal{Y}$-Tuning: 通过对标签表征进行微调的深度学习新范式
7700
深度学习教程 | Seq2Seq序列模型和注意力机制
8590
SIGIR'22「amazon」CaFe:从粗粒度到细粒度的稀疏序列推荐
6590
CMI:结合对比学习和多兴趣挖掘的微视频推荐
6440
在线学习方法FTRL原理与实现
7770
相关推荐
【深度学习】序列生成模型(六):评价方法计算实例:计算ROUGE-N得分【理论到程序】
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档