【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

错误的语法会对 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

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2022-01-22 09:003337

评论

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

一朵云开启智慧交通新未来

天翼云开发者社区

区块链 大数据 物联网

不要再手动批量替换了,使用python AST模块批量替换

阿呆

Python AST 批量替换

国内低代码开发平台靠谱的都有哪些?

AIRIOT

低代码 物联网 低代码,项目开发

Ubuntu 20.04 安装 Chisel

贾献华

7月月更

分布式算法入门之 Paxos 算法

宇宙之一粟

Basic paxos 7月月更

微服务链路风险分析

阿泽🧸

7月月更 链路风险分析

7000+字图文并茂解带你深入理解java锁升级的每个细节

华为云开发者联盟

Java 开发 华为云

Spring你牛个啥,我承认刚才说话我声音有点大

zxhtom

7月月更

【刷题记录】1. 两数之和

WangNing

7月月更

牛客java选择题每日打卡Day7

京与旧铺

7月月更

场景化面试:关于分布式锁的十问十答

面试官问

分布式锁

AI金榜题名时,MLPerf榜单的份量究竟有多重?

脑极体

使用 RepositoryProvider简化父子组件的传值

岛上码农

flutter ios 安卓 移动端开发 7月月更

Linux RedHat7.4更换阿里云yum源

Albert Edison

7月月更

企业数字化转型之路,从这里开始

天翼云开发者社区

数字化转型 云存储

中文版Postman?功能真心强大!

Liam

Java 开发者工具 Postman 后端开发 程序员进阶

集合处理的利器

技术小生

java8 7月月更

systemd-resolved 开启 debug 日志

程序员与厨子

ubuntu 运维 DNS systemd-resolved

MMAP

北洋

Andriod 7月月更

如何组织一场实战攻防演练

穿过生命散发芬芳

攻防演练 7月月更

RedHat7.4配置yum软件仓库(RHEL7.4)

Albert Edison

7月月更

让开发效率飞速提升的跨端方案

Geek_99967b

小程序 跨端 小程序容器

一文读懂简单查询代价估算

华为云开发者联盟

数据库 后端 查询引擎

【愚公系列】2022年7月 Go教学课程 004-Go代码注释

愚公搬代码

7月月更

华为云ModelArts文本分类–外卖评论

逝缘~

深度学习 华为云 7月月更

如何开发引入小程序插件

Geek_99967b

小程序插件

开创人工智能产业新未来!7月8日昇思生态论坛与你相约广州

科技热闻

企业级数据安全,天翼云是这样理解的

天翼云开发者社区

数据安全

鱼和熊掌可以兼得!天翼云弹性裸金属一招鲜!

天翼云开发者社区

服务器 弹性扩容

XaaS 陷阱:万物皆服务(可能)并不是IT真正需要的东西

雨果

云服务 xaas DaaS 本地服务

Java方向~~0基础小白如何快速脱离0offer的苦海!

KEY.L

7月月更

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