自然言语不等于英语,为什么NLPer该当看法到这个成绩,以及该怎样做?

图灵汇官网

改写后的文章

自然语言并非等同于英语。然而,在当前的自然语言处理(NLP)研究中,很多人默认认为英语具有足够的代表性。除英语外的其他语言研究通常被视为“特殊语言”,在同等条件下被认为不如英语研究重要。这实际上是对语言的误解。近日,华盛顿大学的语言学家Emily M. Bender撰写了一篇文章《The Bender Rule: On Naming the Languages We Study and Why It Matters》,探讨了这一问题,并提出了对语言命名和标记的改进方案。

高资源语言与低资源语言

自然语言处理领域的进展依赖于语言资源的存在。这些资源通常需要带有标注或注解的数据,以反映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是一个跨学科领域,不同领域的研究者关注的角度不同。从事信息抽取工作的人对数字化语言编码的信息感兴趣,就像一个人在室内观察窗外的景色。而从事语言学工作的人对语言的结构和形式以及它们与交流意图的关系感兴趣,这类似于探索雨滴在窗户上的形态以及它们如何影响我们观察窗外的风景。

把这个比喻延伸一下,每种语言(包括英语)都是一扇有特定雨滴形态的窗户,各有其独特的风格。

以下是英语不能代表所有语言的一些原因,即使是在广泛使用的语言中,这些原因也并未被广泛认识:

  1. 英语是一种行为语言,而非符号语言。如果我们只研究英语,就会错过一类重要的语言。

  2. 英语有一个完善、长期使用、大致基于发音的拼写系统。例如,西班牙语等其他语言的拼写系统更加透明,而像传统希伯来语和阿拉伯语这样的语言只代表辅音,或者像马拉雅拉姆语、韩语或日语假名这样的语言代表音节,而非单一声音。还有一些语言没有口语或口语历史较短,尚未发展出标准拼写系统。英语拼写的标准化简化了NLP的任务,但我们往往忽视了这个问题。

  3. 英语的拼写系统提供了一个“单词”的概念,不同单词之间有空格间隔。但并非所有语言都有这一特点,例如汉语、日语和泰语,这些语言的NLP任务必须从分词开始。

  4. 大部分英语写作通常只使用每台计算机上都能找到的低位ASCII字符。在使用英语时,我们不必担心不常见的字符编码或不支持的Unicode符号。

  5. 英语的屈折形态相对较少,因此每个单词的形式较少。许多NLP技术存在数据稀疏的问题,只有在相同单词以多种形式出现在高度变化的语言中时,这个问题才会变得更加严重。

  6. 英语有相对固定的词序。与许多其他语言相比,英语在词序上较为固定,通常保持主谓宾顺序、形容词在名词之后、关系从句在后等。如果不测试更灵活的词序语言,我们怎能知道哪些系统在多大程度上依赖英语的这一特性?

  7. 英语的表单可能会“意外”匹配数据库字段名、本体条目等。许多语言技术通过将输入语言中的字符串映射到外部知识库或将这些字符串转换为语法或语义表示来实现特定任务。当输入字符串和知识库中的字段名或条目使用同一种语言时,处理变得容易。但这能适用于多少种语言?

  8. 英语有大量的训练数据(如用于训练BERT的33亿语言符号)。如果我们将所有精力集中在依赖大量训练数据的方法上,而这些数据不适用于大多数语言,我们将如何构建适用于其他语言的系统?同样,如果只关注使用这些技术的工作(例如在会议论文评审中),我们又如何期待在跨语言NLP方面取得进展?

Bender规则

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),我们应该明确认识到,关于训练和测试模型所使用的数据,我们应该提供更多相关信息。

首先,语言之间的差异:所有语言都在不断变化;除了那些使用人数极少的语言外,一种语言的不同变体之间总是存在很大差异。这包括不同地区之间的差异以及不同社会群体和社会身份相关的差异。针对某一特定人群的语音/文本/标志训练的模型不一定适用于其他人群,即使是在使用相同语言的人群中也是如此。

其次,模型会吸收训练文本中包含的偏见,这些偏见来源于生产文本的人如何看待和谈论世界。

为了避免这两个问题带来的潜在问题,Batya Friedman和我在《Bender & Friedman 2018》中提出了“数据声明”的概念,这是一种清晰记录NLP系统中使用的数据集的做法。我们建议所有NLP系统都应该附带关于训练数据的详细信息,包括所涉及的特定语言种类、选择数据的原理(如何选择数据以及为什么选择该数据)、有关说话者和注释者的人口统计信息等。当然,仅凭这些信息并不能解决偏见问题,但它为解决这些问题提供了可能性。

本文来源: 图灵汇 文章作者: 张宇