写点什么

错误的语法会对 BERT 模型准确性产生影响吗?

  • 2022-01-22
  • 本文字数:2289 字

    阅读完需:约 8 分钟

错误的语法会对BERT模型准确性产生影响吗?

近几年,预训练语言模型如BERTGPT-3,在自然语言处理(NLP)领域的应用愈发广泛。通过海量文字的训练,语言模型收获了大量关于世界的各类知识,并在多个 NLP 基准上展现了其强大的性能。然而,这些预训练模型往往是不透明的,人们并不知道其优秀表现背后的原因,这限制了模型通过假设驱动的方法来做进一步优化。因此,一个新的科学探索方向出现了:这些模型中到底包含了哪些语言学知识?


在供人们研究的各类语言学知识中,有一个话题可谓是为其他的所有提供了坚实的基础,那就是英语中主谓统一的语法原则。该原则要求句子中谓语动词的在单复数形式上要符合主语的数量,举个例子,


“The dogs run.”


这一句是符合语法规则的,因为“dogs”和“run”都是复数形式。但


“The dogs runs.”


是不符合语法的,因为“runs”是单数形式动词。


至于评估语言模型的知识掌握程度,可以使用针对性句法评估(TSE)框架。该框架会通过模型对最少数量成对句子是否符合语法的判定来评估模型的表现。因此,TSE 也可以用于评估模型在英语主谓一致规则的知识掌握,通过输入两个句子,一个中的动词是单数形式,另一个的则是复数形式动词,让模型判断哪个句子符合语法规则。



在上述背景下,作者于EMNLP 2021上发表论文,《频率对转换器句法规则学习的影响》,研究了 BERT 模型在预训练时接受的词汇次数,是否会影响其在判断英语主谓一致原则时的表现。为测试具体条件,作者通过一系列仔细调控过的数据集,从头开始训练 BERT 模型。


研究结果发现,BERT 在面对未组对出现在预训练集中的主谓词汇组表现良好,这意味着模型确实学会了如何应用动词的主谓一致形式。然而,如果模型接触错误语法形式的次数远高于正确语法形式,则模型会更倾向于预测错误的动词形式,这代表了 BERT 并未将主谓一致当作是必须遵守的原则。这些结果都将帮助研究者更好地了解预训练语言模型的优势和局限性。

前期研究


先前的研究之中,也有使用 TSE 评估 BERT 模型在英语主谓一致原则方面的能力。该研究中使用的设置是填空任务,以“the dog _ across the park”为例,BERT 模型会分别给出单数形式动词“runs”和复数形式动词“run”二者的概率。如果模型成功学会主谓一致原则,那么它应经常在语法正确的动词形式上给出较高的概率。


在前期的研究中,BERT 模型的评估使用的是自然语句(取自维基百科)加上一次性短句(nonce,number only used once 的缩写)的组合,后者指的是在语法上完全合理但句意毫无意义的句子,最著名的例子就是 Noam Chomsky 提出的,“colorless green ideas sleep furiously(无色的绿色想法疯狂睡觉)”。


这类一次性短句在测试模型的句法能力时非常有用,因为它们让模型无法继续依赖表层的语料库统计数据;如果说“dogs runs”比“dogs runs”要常见,但“dogs publish”和“dogs publishes”可是都非常罕见,这让模型不可能靠记住 A 比 B 常见来进行语法判断了。


BERT 模型在一次性短句的测试中达到了 80%的准确率,远远超过 50%的随机概率基准线,作者以此证明了模型已学会如何应用主谓一致原则。在论文之中,作者以前期工作为基准,进一步在特定的数据集中对 BERT 模型进行预训练,以便更进一步地探寻结果背后,预训练数据中的一些模式是如何影响模型性能的。

未见过的主语动词对


作者首先对比的是,模型在面对预训练时见过原封不动的主语动词(SV)对,和训练时未在同一句式中成对出现过的主语动词对时的表现情况:


BERT在面对自然和一次性句式与是否在训练时见过相同句式的错误率对比。BERT在未曾见过的SV对上表现情况远胜简单的启发式方法,如选择更常见的动词或SV词对


对于未见过的 SV 词对,BERT 虽在自然和一次性句式上的错误率略有增加,但相比直接选择在预训练数据集中更常见的动词形式或与主语名词更常搭配出现的形式,这类简单的启发式方法要好。


这一现象可以证明,BERT 不仅仅是反映其在预训练中所见过的东西,也不再局限于依据直观词汇出现频率做出判断,模型会将学习到的词对扩展到其他词汇这一点,表明该模型已经可以应用部分主谓一致原则了。

动词的频率


下一步测试的是词汇出现在数据集中的频率是否会影响 BERT 判断主谓一致的表现。


在实验中,作者选择的是一组 60 个动词的数据集,并创建了好几个版本的预训练数据,确保每个版本中这 60 个动词都以特定的频率出现,并且单数与复数形式出现次数相同。通过这些不同版本的数据集训练后,BERT 模型在主谓一致任务中的评估结果如下:


训练集中动词出现频率不同时,BERT在主谓一致原则任务中的表现


结果表明,虽然 BERT 可以成功学会主谓一致原则,但却需要在训练中见到该动词约一百次后才可正确判断其单复数形式。

动词形式之间的相对频率


最后,作者选择探寻动词单复数的相对频率是如何影响 BERT 的预测。举例来说,如果动词 combat 在预训练数据中出现的频率远胜复数 combats 及其他形式,那么 BERT 是否会选择出现频率更高的形式,即使其在语法上并不正确?


为评估这一点,作者再次使用了包含 60 个动词的数据集,但这一次所创建的版本中,动词的形式之间出现的频率变为了 1:1 到 100:1 间不等。下图展示了 BERT 在这些频率不平衡的预训练数据集中的表现:


随着训练数据中动词形式出现频率不再平衡,BERT判断动词语法正确的表现下降


结果显示,如果在预训练时动词两种形式出现频率相同,那么 BERT 的预测准确率非常不错;一旦动词频率不再平衡,BERT 的错误率会随频率比例增加而上升。


这意味着 BERT 虽然已学会应用主谓一致规则,但并不将其视作是必须遵守的原则,它更倾向于选择训练集中高频率出现的动词,即使这些动词形式并不符合主谓一致的语法规则。

结论


除此之外,通过研究词汇出现在训练数据集中的频率与模型预测能力间的关系,展示了 BERT 在处理竞争优先级时的方式:BERT 知道主谓应保持一致,并且语法正确的动词出现频率应更高,但却不理解主谓一致是必须遵循的原则,而动词出现频率仅仅只是数据集的偏好而已。希望这项关于训练数据集对语言模型表现的影响研究能够为诸位提供帮助。


原文链接Evaluating Syntactic Abilities of Language Models

2022-01-22 09:003897

评论

发布
暂无评论
发现更多内容

KubeEdge发布云原生边缘计算威胁模型及安全防护技术白皮书

华为云开发者联盟

云计算 云原生 安全

在培训机构学到大数据技术

小谷哥

参加java培训学习建议选择

小谷哥

阿里云 MSE 支持 Go 语言流量防护

阿里巴巴云原生

Go 阿里云 云原生 云原生微服务

从0到1:基于云开发的投票小程序开发笔记

CC同学

小程序云开发 投票小程序

兆骑科创创新创业大赛人才引进平台,双创赛事高层次人才引进

兆骑科创凤阁

零代码修改,教你Spring Cloud应用轻松接入CSE

华为云开发者联盟

云计算 后端 CSE

如何做一个好的大数据平台架构

数据社

签约计划第三季

深圳哪的培训机构学习大数据开发?

小谷哥

多线程与高并发—— 源码解析 AQS 原理

王小凡

Java 程序员 AQS JVM 多线程

图的连通性之普里姆算法和克鲁斯卡尔算法

乔乔

7月月更

MQTT over QUIC:下一代物联网标准协议为消息传输场景注入新动力

EMQ映云科技

车联网 物联网 IoT mqtt 弱网

IT远程运维是什么意思?远程运维软件哪个好?

行云管家

IT运维 远程运维 IT远程运维

应该怎么规划学习web前端培训

小谷哥

C#/VB.NET:在PDF中插入文本水印

Geek_249eec

C# PDF VB.NET 水印

【干货】如何建立支持和产品之间的密切关系?

Geek_da0866

A tour of gRPC:05 - gRPC server straming 服务端流

BUG侦探

gRPC RPC protocolBuffer

Rust 入门指南(crate 管理)

王泰

rust

前端培训机构应该如何学习前端开发技术?

小谷哥

【后端开发】Reactor 模型详解

C++后台开发

reactor 后端开发 网络模型 C/C++后台开发 C/C++开发

直播|StarRocks 技术内幕 :低基数全局字典优化

StarRocks

数据库

与字节、小米、移动云等企业一起揭秘 RocketMQ 实践之道

阿里巴巴云原生

阿里云 RocketMQ 云原生 峰会

全链路灰度在数据库上我们是怎么做的?

阿里巴巴云原生

数据库 阿里云 微服务 云原生 全链路灰度

一文简述:SRv6基本原理

穿过生命散发芬芳

7月月更 SRv6

深圳线下报名|StarRocks on AWS:如何对实时数仓进行极速统一分析

StarRocks

数据库

不懂就问,快速成为容器服务进阶玩家!

阿里巴巴云原生

阿里云 容器 云原生 训练营

顿悟!百度强推的Redis天花板笔记,原来数据库是这样理解的

冉然学Java

分布式 redis' 技术专题合集 #java redis 底层原理

“工厂、构造、原型” 设计模式与 JS 继承

掘金安东尼

JavaScript 前端 7月月更

极狐GitLab Helm Registry 使用指南

极狐GitLab

git DevOps gitlab 运维 CI/CD

有奖征文 | 2022 云原生编程挑战赛征稿活动开启!

阿里巴巴云原生

阿里云 云原生编程挑战赛

GIS数据漫谈(六)— 投影坐标系统

ThingJS数字孪生引擎

错误的语法会对BERT模型准确性产生影响吗?_AI&大模型_Jason Wei_InfoQ精选文章