BERTScore评估
BERTscore:使用bert评估文本生成摘要
该博客是对于BERTscore评估做了一个简单的了解,对于论文后续的实验,没有具体深入了解,感兴趣的可以查看论文地址:http://arxiv.org/abs/1904.09675v3
论文标题:BERTSCORE: EVALUATING TEXT GENERATION WITH BERT , ICLR 2020
- 摘要:BERTScore计算候选句子中每个标记与参考句子中每个标记的相似性分数,使用上下文嵌入计算标识的相似性,而不是精确匹配。
- 介绍
①BERTSCORE,一种基于预训练的BERT上下文嵌入的语言生成评估指标。BERTSCORE将两个句子的相似度计算为其标记嵌入之间的余弦相似度之和。
②解决了两个弊端:第一个是匹配释义,第二个是无法捕获遥远的依赖关系并惩罚语义上关键的顺序变化。
匹配释义 | 字符串匹配 |
---|---|
喜欢外国汽车的人 | 给定一个大小为2的小窗口 |
BLEU和METEOR错误地给喜欢到国外旅游的人打了一个更高的分数,而消费者更喜欢进口汽车。 | BLEU只会轻微地惩罚因果子句的交换(例如,a因为B而不是B因为a),特别是当参数a和B是长短语时。 |
③在机器翻译中,BERTSCORE与人类评判的系统级和语段级的相关性比现有指标在多个常见基准上的相关性更强,并且与BLEU相比显示出强大的模型选择性能。BERTScore代码链接
3.问题陈述和先验指标
- n-gram匹配
最常用的生成度量计算参考x和候选x中出现的n-gram。n越高,度量就越能够捕获词序,但它也变得更加严格,并且受限于引用的确切形式。
精确匹配精度(精确Pn)和召回率(精确Rn)分数为:
BLEU | METEOR | BERTSCORE |
---|---|---|
right-aligned 是针对n的多个值(例如n=1,2,3,4)计算的,分数是几何平均值 | 计算精确-p1和精确-r1,同时允许从精确的单字匹配后退到匹配词干、同义词和释义。METEOR需要外部资源,所以完整的功能集只支持五种语言,部分支持十一种语言 | 依赖于能够捕获潜在无限长度依赖关系的上下文化嵌入,允许轻松匹配,但依赖于在大量原始文本上训练的BERT嵌入,目前可用于104种语言。BERTSCORE还支持重要性权重,我们使用简单的语料库统计数据对其进行估计。 |
①NIST是BLEU的修订版,对每个n-gram的权重不同,并使用另一种简洁的惩罚。
②CHRF比较了参考句和候选句中的字符n-grams。
③CHRF++扩展了CHRF,以包括单词大词匹配。
④ROUGE是一个常用于总结评估的指标。
⑤ROUGE-n计算Exact-Rn(通常n=1,2),而ROUGE-L是Exact-R1的一个变体,分子被最长的公共子序列的长度取代。
⑥CIDER是一个图像字幕指标,计算tf-idf加权n-grams之间的余弦相似度。我们采用了类似的方法,以不同的方式权衡tokens。
- 编辑距离
TER通过参考词的数量对编辑距离进行标准化;
ITER增加了词干匹配和更好的标准化;
PER计算与位置无关的错误率;
CDER将块重新排序建模为编辑操作;
字符和EED在字符级别上运行,并与人类对某些语言的判断实现更高的相关性。 - 嵌入匹配
①单词嵌入是习得的密集标记表示,使用单词嵌入和浅层语义分析来计算词汇和结构相似性。
②YSI-1与YSI-2类似。但使语义分析的使用成为可选。这两种方法都使用了相对简单的相似性计算,包括使用贪婪匹配(和使用与Ysi-1相似的重要性权重进行实验。然而,我们使用上下文嵌入,它捕获句子中标记的特定用法,并潜在地捕获序列信息。我们不使用外部工具来生成语言结构,这使得我们的方法相对简单,并且可以移植到新的语言中。
③WMDO和SMS建议使用基于地球移动器距离的最佳匹配。 - 学习函数
BEER使用基于字符n-grams和单词bigrams的回归模型。BLEND使用回归来结合29个现有的指标。RUSE结合了三个预训练的句子嵌入模型。
- BERTScore
给定一个参考句子
和一个候选句子
我们使用上下文嵌入来表示标记,并使用余弦相似性计算匹配,可选地使用逆文档频率分数加权。
Token Representation
使用上下文嵌入来表示输入句子x和ˆx中的标记。与之前的单词嵌入不同,上下文嵌入,如BERT和ELMO,可以根据周围的单词在不同的句子中为同一单词生成不同的向量表示,构成目标词的上下文。用于生成这些嵌入的模型通常使用各种语言建模目标进行训练,如蒙蔽词预测。
Similarity Measure
向量表示允许软相似性度量,而不是精确的字符串或启发式匹配。参考标记
的余弦相似性
是候选标记我们使用预规范化向量,这将此计算减少到虽然这一度量单独考虑标记,但上下文嵌入包含来自句子其余部分的信息。
BERTSCORE
该图是召回度量RBERT计算的图示。给定参考x和候选ˆx,我们计算BERT嵌入和成对余弦相似性。我们用红色突出显示贪婪匹配,并包括可选的idf重要性权重。
完整分数将x中的每个标记与ˆx中的一个标记匹配以计算召回率,将ˆx中的每个标记与x中的一个标记匹配以计算精度。我们使用贪婪匹配来最大化匹配相似度得分,2其中每个标记与另一个句子中最相似的标记匹配。我们结合精度和召回率来计算F1度量。对于参考x和候选ˆx,召回率、精确度和F1分数为:
Importance Weighting
BERTSCORE使我们能够轻松地纳入重要性权重。我们使用从测试语料库中计算的反向文档频率(idf)分数进行实验。给定M个参考句词条标记w的idf分数为其中I[·]是一个指示函数。我们不使用完整的tf idf度量,因为我们处理单个句子,其中术语频率(tf)可能为1。例如,使用idf权重的召回是
因为我们使用参考句来计算idf,所以在特定测试集上评估的所有系统的idf分数保持不变。我们应用加一平滑法来处理未知的词块。
Baseline Rescaling
使用预规范化向量,我们计算的分数具有相同的余弦相似性数值范围(在−1和1)。然而,在实践中,我们观察到的分数范围更为有限,这可能是因为学习了上下文嵌入的几何学。虽然此特性不会影响BERTSCORE对文本生成系统进行排序的能力,但它会降低实际分数的可读性。我们通过重新调整BERTSCORE的经验下限b作为基线来解决这个问题。我们使用公共爬网单语数据集计算b。对于每种语言和上下文嵌入模型,我们通过分组两个随机句子来创建100万个候选引用对。由于随机配对和语料库的多样性,每一对都有很低的词汇和语义重叠。我们通过平均这些句子对的得分来计算b。有了基线b,我们线性地重新调整了分数。
该方法不影响分数的排名能力和人类相关性,仅用于提高分数的可读性。
BERTScore评估相关推荐
- 【综述阅读】Pre-trained Language Models for Text Generation: A Survey
Pre-trained Language Models for Text Generation: A Survey 中国人民大学 IJCAI 2021 论文链接:https://arxiv.org/p ...
- DSTC10开放领域对话评估比赛冠军方法总结
本文介绍了国际竞赛DSTC10开放领域对话评估赛道的冠军方法MME-CRS,该方法设计了多种评估指标,并利用相关性重归一化算法来集成不同指标的打分,为对话评估领域设计更有效的评估指标提供了参考.相关方 ...
- 2022-2028年中国快捷酒店行业市场全景评估及前瞻分析报告
[报告类型]产业研究 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了快捷酒店行业相关概述.中国快捷酒店行业运行环境.分析了中国快捷酒店行 ...
- Apriori算法通俗详解_fpgrowth2_关联分析评估
20220317 https://blog.csdn.net/a790439710/article/details/103080674 支持度,置信度各指标再理解 条件模式基:在某元素比如y出现的前提 ...
- scikit-learn - 分类模型的评估 (classification_report)
20201225 分类报告输出到csv from sklearn.metrics import classification_report report = classification_report ...
- TVM性能评估分析(七)
TVM性能评估分析(七) Figure 1. Performance Improvement Figure 2. Depthwise convolution Figure 3. Data Fusion ...
- TVM性能评估分析(六)
TVM性能评估分析(六) Figure 1. The workflow of development PC, compile, deploy to the device, test, then mod ...
- TVM性能评估分析(五)
TVM性能评估分析(五) Figure 3. A futher speed up with operator fusion Table 1. Performance issue of cuBLAS' ...
- TVM性能评估分析(四)
TVM性能评估分析(四) Figure 1. Efficient Privacy-Preserving ML Using TVM Figure 2. Motivation: Privacy-Prese ...
最新文章
- ExtJs中column与form布局的再次领悟
- 安装node和pm2
- ROW_NUMBER、RANK、DENSE_RANK的用法
- [Hadoop入门] - 1 Ubuntu系统 Hadoop介绍 MapReduce编程思想
- XML解组基准:JAXB,STAx,Woodstox
- safari浏览器_吹爆苹果自带浏览器Safari,没有比它更贴心的浏览器了!!
- 使用Fiddler对android应用抓包 专题
- 【转】硬盘的寻址和工作模式
- MSsql server里日期不能直接存入date字段,要转换一下
- linux tid为2的线程,Linux 线程Pthread(一)创建、终止、获取TID
- live555 rtsp直播卡顿马赛克优化
- 电脑c盘空间不足怎么清理_C盘空间不足怎么办?如何给C盘扩容?
- 安装程序Repack攻略之MSI篇
- 谷歌宣布退出中国 google.cn已经关闭
- python中class什么意思_python中的class是什么意思
- 生产制造业如何谋求数字化转型?需要哪些信息化系统做支撑?
- 命令提示符PS1的书写格式
- 戴维解惑——用iTestin云测做测试怎样拿大奖
- PLC通讯实现-C#实现西门子PLC串口通讯W95_S7(四)
- w10取消自带杀毒服务器,如何关闭win10自带杀毒软件 Windows Defender 看完你就知道了...