您现在的位置: 首页 > 科技 > >BERT是否完美,语言模型又是否真正地「理解了语言」呢?

BERT是否完美,语言模型又是否真正地「理解了语言」呢?

2020-03-19 00:52:24 来源:网络 作者:匿名 点击:115

作者:追一科技 AI Lab 研究员 Tony

大家都知道,BERT等语言模型在自然语言处理中得到了广泛的应用。但有时也会出现一个疑问,这些语言模型是否真正地理解了语言呢?专家学者对此也会有不同的见解。本文作者则从语言的本质、语言符号与意义的关系以及语言模型究竟从语言中学到了什么等几个方面阐述了对该主题的看法。

继 18 年 BERT 刷爆了当时刚出不久的 GLUE 榜单后,预训练语言模型便成为自然语言处理 (Natural Language Processing, NLP) 任务的标配。直觉上模型至少某种程度上「理解了语言」才能如此有效 -- 如 Sebastian Ruder 在一篇文章 [1]中所称,要解决语言建模 (Language Modeling) 这个任务,语言模型 (Language Model) 需要同时学到句法 (Syntax) 和语义 (Semantics)。

以 BERT 为代表的语言模型是否真的「理解了语言」?若真如此,随着算力和数据的堆砌,在可见的未来自然语言理解 (Natural Language Understanding, NLU) 将会被彻底解决。然而 Emily Bender 在 9 月份的一个 Talk [2] 否定了这种期待 -- 只靠形式 (Form) 是学不出意义 (Meaning) 的。换言之,Bender 认为语言模型无法学出语义 (Semantics)。

理解这个结论涉及到一个根本性的问题:理解语言意味着什么?在深度学习快速迭代的车轮下,回答这个问题 -- 至少是部分回答 -- 对自然语言处理有着方法论层面的意义。

从千年前的蹒跚学步到近两世纪的激烈争论,语言哲学 (Philosophy of Language)、语言学 (Linguistics) 和心理语言学 (Psycholinguistics) 的学者们逐渐勾勒出上述问题的答案。它们虽然不能对问题盖棺定论,但至少能够提供许多直觉 -- 而这正是工程研究所需要的(一切)。

语言是用来沟通的符号系统 [1]

语言首先是一个符号系统。它由离散的符号组成:我们从连续的语音信号中辨认出音素 (Phonene);从连续的视觉信号中辨认出词素 (Morpheme)。符号间可以组成新的符号,其组合规则由语法 (Grammar) 规定。其中词法 (Morphology) 规定了词素如何组成词 (Word),如"un-deni-able", "go-ing"。句法 (Syntax) 规定了词如何组成句子 (Sentence)。

语言是用来沟通的,因此符号及它们的组合规则都代表着一定的意义 (Meaning)。符号和规则与意义的联系是随意的:中文用「我」表示第一人称,英文用 "I",日文可以用「わたし」。但这种随意性受制于群体的约定俗成。我当然可以把「你大爷」当做表达爱意的那三个字,但前提是我已经做好孤独终老的心理准备。

「理解语言」便意味着理解语言内的符号及其组合规则,及其各自对应的意义。而这两者又是极其困难的问题。

乱中有序的符号系统 [1]

语言这个符号系统是约定俗成的,它具有一定程度的随意性。这种随意性给语言系统带来了歧义和例外,使得语言的分析和学习产生了不少困难。

歧义的表现形式多种多样。同一个词可能来自不同词素的组合:

unlockable = un+lockable / unlock + able

同一句话可以有不同的语法结构和不同意思:

欢迎新老师生前来就餐 = 欢迎+新老师+生前+来+就餐 / 欢迎+新老+师生+前来+就餐

而同一个词也可以有不同的意思:"book" 可以是「书本」,也可以是「预定」。

上述是一个词/句对应多个意思的情况,即歧义。反过来一个意思可以由不同的句子来表达:

新垣结衣是我老婆 = 我是新垣结衣的老公

语言规则的例外也有很多形式。拥有词形变化的语言中通常会有不规则变形,如英文中 "go" 的过去式不是 "goed",而是 "went"。成语和习语则打破了许多语法规则:「卧薪尝胆」和其字面意思完全不同,而 "long time no see" 则完全不符合英文语法。外来词的加入也破坏了词法规则:如"鲁棒"不是山东的什么棒子,而是英文 "robust" 的音译。

理解语言内的符号及其组合规则,意味着我们需要理清并消除存在的歧义,区分规则和例外。

意义不明的意义 [2] [3]

符号和规则有意义 (Meaning)。但是意义是什么呢?这是一个硬核问题,语言哲学中的意义理论 (Theory of Meaning) 有长篇累牍的讨论。

语言是用来沟通的,它常用来描述现实的某种状态。所以语言的意义必然存在与现实相对应的成分,这种对应我们称之为指代 (Refer)。「奥巴马」对应的就是现实中奥巴马这个人,「北京」对应的就是北京这个地方。所以意义里面必须有指代,有人甚至会说意义就是指代。

但意义仅是指代吗?这种朴素的意义理论可以被轻易驳倒。显然有很多词不能从现实中找到指代物 --「如果」、「可能」-- 但它们表达了一定意思。可上面提到的「奥巴马」、「北京」这些专有名词的意义似乎只有指代了吧?Frege's Puzzle 却让这种观点站不住脚。例如「鲁迅是周树人」这句话 (鲁迅:又关我什么事),假如「鲁迅」和「周树人」的意义就是指代,这句话便等价于「鲁迅是鲁迅」-- 一句废话。但「鲁迅是周树人」的确告诉了我们一些东西 -- 因此专有名词的意义里需要有有指代之外的东西。Frege 认为语言的意义是其涵义 (Sense),它存在于语言与被指代物之间,所以「鲁迅」这个词的涵义可能包含了文豪、有弃医从文的经历,而「周树人」的涵义则可能包含某时某刻生于某地。

但词的涵义又是什么?句子的涵义又是什么?可能世界语义 (Possible Worlds Semantics)[2] 认为句子组分的涵义便是从可能世界 (Possible World) 里面选出其描述对象的函数;而句子的涵义这个函数则可以从所有可能世界中,挑出句子描述为真的可能世界 (可能世界如字面意思。举个例子,在一种可能世界里周树人可能没有弃医从文,并成了一代名医;在另一种可能世界里,鲁迅是一个叫马树人的名家)。但我们怎么确定这些函数呢?

对于词而言我们可以说这个函数便是词对应的概念 (Concept)。但概念又是什么?我们可以说每个概念对应这个概念的等价性质。比如鸟的性质是「有羽毛」、「会飞」-- 但有些鸟,比如企鹅,是不会飞的:确定概念的等价性质有操作上的困难。我们也可以说每个概念对应了各自的典型个体,比如鸟的典型个体是鹰、杜鹃这些会飞的鸟,而企鹅并不是那么典型,处于鸟这个概念中的边缘部分 -- 但抽象名词「爱」、「理想」的典型个体是什么?

假设我们已经完成了对意义的刻画 -- 这些都是我们掌握的语言知识 (Linguistic Knowledge)。但语言知识似乎又和百科知识 (Encyclopedic Knowledge) 纠缠不清。我们知道「秃顶就是没头发」是语言知识,它描述了我们对「秃顶」这个符号的意义的约定;「程序员容易秃顶」是百科知识,它描述了关于世界的规律。但「轻的东西会往下掉」是属于语言知识,即「轻」这个符号的意义之一,还是属于百科知识,即包含了万有引力的规律呢?

迄今为止我们并没有把另一个硬核元素考虑进来 -- 情境 (Context)。抛开具体的情境,「你们还是太年轻」中的「你们」是谁?「世界首富真有钱」中的「世界首富」是谁?这些指示词 (Deixis) 需要依靠情境的信息 -- 如这句话从谁口中说出,在什么时候说的 -- 去补全整句话的意义。

在特定情境中,说话人想表达的意思和字面意思是不同的。有求于你的人唤你一句「帅哥」并不是真的因为你帅;「他讲的真有趣」在大家都昏昏欲睡时,与在大家掌声频起时表达的是不同的意思;带着忧郁眼神对酒保说一句「Dry Martini」,他就会给你送来一杯烈酒,即使这并不是完整的一句话。

虽然关于硬核的意义理论的争论仍然会持续不断,但至少我们得到了一个模糊的结论,即指代属于意义的一部分,语言需要和现实世界有对应关系。同时意义是介乎现实和语言之间的涵义,是一种心理表征 (Mental Representation),只是它的形式现在仍没有定论。最后语言的意义依赖于情境。

理解语言的意义便意味着理解涵义的形式及其指代,及两者如何依情境产生变化。

语言模型无法完整理解语言

为了理解语言,我们需要:

理解语言内的符号及其组合规则;

理解语言的意义,即理解涵义的形式及其指代,以及两者如何依情境产生变化。而现有语⾔模型的训练基于⽂本语料。它⻅到的数据是服从语⾔规则、在⼀定情境 (某一时间地点,某种心理状态,基于某些知识,做了某些推理等) 中的⼈输出的⼀堆语⾔符号。假如把人想表达的意义和情境当做输入,文本当做输出,那么语言就是一个将意义和情境映射到服从语言规则的文本的函数。而想要语言模型只依靠函数的可能输出,就能推断出函数的形式,即输入和输出的对应关系,是不可能的。所以按照本⽂的定义,语⾔模型是没办法完整理解语⾔的。

语言模型学到了什么

语言模型必然是学到了相当程度的语言知识,否则不可能这么有效。

和猴子随机按键盘产生的语料不同,训练语言模型的语料中,语言符号的分布不是随机的:它们受制于语言内的符号和组合规则,以及可能表达的意义与情境的组合。

情境和表达的意义相关,这是 Wittgenstein 的语用意义理论 (Use Theory of Meaning) 的洞见。而语境是情境的一部分,那么「经常出现在类似的语境中的词有类似的意义」,即 Firth 的分布式语义假设 (Distributional Hypothesis)。因此虽然我们无法复原语言这个函数,但是可以借由上述洞察,推断出语言符号间的语义相似性 (Semantic Similarity)。语言符号和规则的意义中除指代之外还有别的性质,这些性质部分体现为语义关系 (Semantic Relationship),而语义相似性便是语义关系的一种描述。

语境是由语言符号组成的,服从组合规则。而观察语境中可能出现的符号及其组合方式,模型似乎可以猜测出语言中的符号及其组合规则。而有了语境分布刻画的符号间的语义相似性,模型似乎也可以猜测出组合规则的语义相似性。

模型学到的语义相似性似乎足够满足工程需求了 -- 模型充当了一个抽象接口的角色,把相似意思的纷繁表达归化为同一个输出。而我们的有监督学习范式,以情感分析为例,可以理解为用额外的知识 (即标注),去告诉模型「开心」和「高兴」在情感这个维度上意思相似。所以在大量数据上充分训练的语言模型才可以对情感分析等下游任务有帮助。

然而语言模型也无法完全解决语义关系的建模。

语境的分布只有相似和不相似,因而语言模型能学到的语义关系只有模糊的相似与不相似。这种模糊性在词向量盛行的时代便开始广受诟病 [4]。而语义关系却十分丰富:对于字词,我们有同义词 (Synonymy),反义词 (Antonymy),上义词 (Hypernym),下义词 (Hyponym),派生 (Derivation) 等丰富的关系;对于句子,我们有同义 (Synonymy),矛盾 (Contradiction),隐含 (Entailment),前提 (Presupposition) 等关系 -- 这些都是简单的「相似」所无法区分的。

语境的分布只是真实输入,即意义和情景的一种近似。近似误差的来源有三:一是语境只是情境的一部分,情境中近乎无限的信息只有一小部分被认知,并转化为语言说出来;二是意义与情境只是相关关系,情景并不决定人想表达的意义 -- 看到壮阔的山河,一个人可能只是拍照而不说话,可能感叹「造化钟神秀」,也可能说「今天晚上吃水煮肉吧」;三是语料采样的偏差,这使得语境的分布受制于语料的来源 -- B 站语料中的「哲学」和学术文献语料中的「哲学」出现在完全不同的语境中,而完全无偏的采样在操作上是不可能的。

展望

人无完人,BERT 无完 BERT。从上面对语言模型局限的分析中,我们至少可以看出两个改进方向:

第一个方向是加强对语料内信息的挖掘。从 GPT 到 BERT,再到 XLNET、T5 和 ELECTRA,这一系列进展代表了对「语境」-「语境中的词」这个二元组的更精细建模。

第二个方向则是查漏补缺。作为语言函数输入的意义与情景的缺失,使得对语义关系的推断有很大的偏差。直接的思路有两个:一是用知识图谱直接提供语言符号间丰富语义关系;二是多模态学习,充实语境难以近似的意义和情景。而这两点也是许多 NLP 研究者 (包括追一科技) 开始或者已经在布局的方向。

基于相对局促的训练信息,预训练语言模型已经取得了如此喜人的成绩 -- 在具体任务的研究中,研究者们几乎已经到了谈芝麻街色变的状态 (ELMo, BERT 和 ERNIE 都是芝麻街的人物)。我们有理由相信随着对预训练任务的进一步拓展,以及对模型符号推理能力的进一步探索,语言智能这颗 AI 皇冠上的明珠会离我们越来越近。

[1] https://thegradient.pub/nlp-imagenet/

[2] http://faculty.washington.edu/ebender/papers/GeneralPurposeNLU.pdf

[3] Fromkin, V, R Rodman, and N Hyams. "An Introduction to Language". Cengage Learning, (2013). 

[4] Lycan, William G..「Philosophy of Language: A Contemporary Introduction.」(2018).

[5] Saeed, J I. "Semantics". Wiley, (2011).

[6] Lenci, Alessandro.「Distributional Models of Word Meaning.」doi.org 4.1 (2018): 151–171.