自然语言处理(NLP)领域的发展在很大程度上依赖于语言资源的存在。这些资源通常需要带有“金标准”标签或注解的数据,以便反映NLP系统在当前任务中的预期输入。尽管无监督、弱监督、半监督或远程监督等机器学习技术减少了对标注数据的依赖,但在评估系统性能时,仍然需要大量的标注数据。此外,许多机器学习技术还需要大量的未标注数据作为支撑。
这种需求导致了NLP领域中高资源语言和低资源语言之间的差距。高资源语言种类有限,主要包括英语、汉语、阿拉伯语和法语,有时还包括德语、葡萄牙语、西班牙语、芬兰语等。这些语言拥有丰富的可访问文本和语音资源,以及一些注释资源,如树形图库和评测集。
截至2019年8月,LRE Map列出了961项英语资源,此外还有121项美式英语资源、216项德语资源、180项法语资源、130项西班牙语资源、103项汉语资源和103项日语资源。其他超过50项资源的语言包括葡萄牙语、意大利语、荷兰语、标准阿拉伯语和捷克语。全球大约还有7000种其他语言,资源极其有限或几乎没有。
同样值得注意的是,世界各地的研究人员在主要的NLP会议上发表的大部分研究工作都集中在高资源语言上,尤其是英语。Robert Munro、Sebastian Mielke和我对NLP领域的几个主要会议进行了语言调研,结果如下:
[图表略]
虽然英语和汉语广泛作为第一语言或第二语言使用,但NLP研究不应局限于这两种语言。
不幸的是,NLP领域陷入了一个恶性循环:除英语外的其他语言研究通常被视为“特殊语言”,因此被认为不如英语研究重要。
NLP会议的审稿人常常持有这样的误解:将某一任务的最先进水平等同于该任务在英语上的最高水平;如果论文不能与英语进行比较,他们就难以判断该研究是否“有价值”。
一个关键因素是人们认为英语是一种足够代表性的语言。当研究资源是英语时,人们往往不会在名称中显示“英语”,这进一步加剧了这种误解。
然而,英语既不是自然语言的代名词,也不是自然语言的代表。
我最近在Widening NLP 2019大会上的演讲中做了一个比喻,将NLP比作一扇被雨水淋湿的窗户。
我们知道NLP是一个跨学科领域,不同领域的人关注的视角各不相同。从事信息提取工作的人对用数字化语言编码的信息感兴趣,就像在屋内注视窗外的场景。而从事语言学工作的人则对语言的结构和形式以及它们与交际意图的关系感兴趣,这类似于想探究雨滴的形态及其如何影响我们看窗外风景的能力。
将这个比喻进一步延伸,每种语言(包括英语)都只是一扇有特定雨滴形态的窗户,各有其独特的风格。
以下是英语不能代表所有语言的原因,即使在最广泛使用的语言中也没有广泛共享:
它是一种行为语言,而不是符号语言。如果我们只研究英语,就会错过一类重要的语言。
它有一个完善的、长期使用的、基于发音拼写的系统。
“基于发音”的意思是字母对应于单独的发音。英语拼写法仅近似于这一原理。其他语言,如西班牙语,有更加透明的基于发音的拼写系统,有些语言仅代表辅音(例如传统的希伯来语和阿拉伯语),或使用表示音节而非单个声音的符号(例如马拉雅拉姆语、韩语或日语假名),还有一些语言使用逻辑系统(例如中文或自创汉字构成的日文)。当然,世界上还有很多语言没有口语,或口语的历史较短,尚未发展出标准的拼写系统。英语拼写的标准化在很大程度上简化了NLP的任务,但我们常常忽视这一问题。
然而,并非所有语言都有这一特点。例如,汉语、日语、泰语等语言的NLP任务必须从分词开始。
大多数情况下,当我们使用英语时,不需要担心罕见的字符编码、不支持的Unicode符号等问题。
许多NLP技术都存在数据稀疏的问题,只有在同一个词以多种不同的形式出现在高度变化的语言中时,这种问题才会显得更加严重。(基于字符n-gram的深度学习模型在一定程度上解决了这个问题,但它仍然是英语和其他许多语言之间的重要区别。)
与世界上许多语言相比,英语在词序上较为固定,在大多数情况下保持主谓宾、形容词在名词后面、关系从句在后等结构。如果不测试更灵活的词序,我们怎么能知道哪些系统在多大程度上依赖英语的这种特性?
许多语言技术通过将输入语言中的字符串映射到外部知识库或将这些字符串转换为语法或语义表示来实现特定任务。当输入字符串和知识库中的字段名或条目使用同一种语言时,可以使用快捷方式。但这又能适用于多少种语言呢?
如果我们把所有的精力都集中在依赖大量训练数据的方法上,而这些数据又无法适用于世界上大多数语言,我们将如何构建适用于其他语言的系统?同样,如果我们只关注使用这些技术的工作(例如在会议论文评审中),我们如何期待在跨语言NLP上取得进展?
2009年,Tim Baldwin和Valia Kordoni在EACL会议上组织了一个研讨会,主题为“语言学与计算语言学之间的互动:良性的、恶性的还是空洞的?”(The Interaction between Linguistics and Computational Linguistics: Virtuous, Vicious or Vacuous?)当时,机器学习(深度学习之前)对NLP来说非常重要。很多人都在讨论如何使NLP的机器学习方法更经济,因为它们比以前基于规则的范式所需的语言专家更少。这在当时非常流行。
在这次会议上有人指出(出现在当时的一些论文中),不对任何特定语言知识进行编码的NLP系统都是与“语言有关的”。
我反对这种观点。我在其中一个研讨会上发表了一篇论文,题为《语言干练!=语言独立:为什么NLP需要语言类型学》(Linguistically Naïve != Language Independent: Why NLP Needs Linguistic Typology)。我认为,如果我们只使用英语(或英语加上一小部分其他语言),我们无法判断所构建的系统是否真正适合所有语言。仅仅因为没有直接编码有关英语的特定语言知识并不意味着该模型适用于所有语言。
此外,如果目的是语言独立或跨语言使用系统,那么我们应该充分利用语言知识。特别是,我们应该利用语言类型学领域的研究成果,该领域研究了世界上各种语言的变化范围以及这种变化的局限性。
在Bender 2011(《关于实现和评估NLP中的语言独立性》,“On Achieving and Evaluating Language-Independence in NLP”)中,我列出了NLP领域中语言相关性的“应该做和不应该做”的事项。它包括了后来被称为Bender规则的早期声明(雷锋网):
然而,直到2019年,这段话才真正流行起来。2018年11月,当我编撰计算语义学和语用学的语言资源时,再次遇到了这样的问题:使用英语语料的论文往往没有说明所讨论的语言是英语。于是我发了如下的推文:
[图表略]
2019年3月至5月,Nathan Schneider、Yuval Pinter、Robert Munro、Andrew Caines等人分别提出了“Bender规则”或“Bender条款”。他们的不同之处在于命名所研究语言的方式,作为论文评审人员应该询问研究人员研究的是哪种/哪些语言,或者当只使用一种语言时应对其语言独立性持怀疑态度。最终,Bender规则合并为一句简单的话:始终注明你正在使用的语言。
在NAACL 2019和ACL 2019及其研讨会上,有几张海报在命名其语言时直接提到了Bender规则。
这样的规则似乎不言而喻且琐碎,但我很荣幸以我的名字命名这个规则。因为我强烈感到NLP领域必须扩展范围,超越英语和少数几种精心研究的语言。我相信,除非我们不再把英语视为默认语言,不再假装学习英语(且只学习英语)不是“语言特定的”,否则我们永远无法实现这一点。
NLP领域开始思考“为语言命名”使我深受鼓舞,尽管大部分工作显然仍在使用英语。
然而,随着NLP领域的人们开始处理NLP技术带来的道德影响以及语言技术对用户和旁观者的负面影响(参见Hovy&Spruit 2016,Speer 2017,Grissom II 2019),我们应该明确意识到:关于训练和测试模型所使用的数据,我们应该提供更多信息。
首先,语言之间的差异性:所有语言都在不断变化;除了极少数使用人数极少的语言外,一种语言的不同变体之间总存在很大差异。(参见Labov 1966,Eckert和Rickford 2001)。这包括不同地区之间的差异,以及不同社会群体和社会身份相关的差异。针对某一特定人群的语音/文本/标志训练的模型不一定适用于其他人群,即使是在使用相同语言的人群中也是如此。
其次,模型会吸收训练文本中的偏见,而这些偏见来源于生产文本的人如何看待和谈论这个世界。(参见Bolukbasi et al. 2016,Speer 2017)。
为了避免这两个问题带来的潜在问题,Batya Friedman和我在(Bender & Friedman 2018)中提出了“数据声明”的概念,这是一种清晰记录NLP系统中使用数据集的做法。我们建议所有NLP系统都应该附带关于训练数据的详细信息,包括所涉及的特定语言种类,选择数据的原理(如何选择数据以及为什么选择该数据),有关说话者和注释者的人口统计信息等。当然,仅凭这些信息并不能解决偏见的问题,但它为解决这些问题提供了可能性。