深度 | 刘群:基于深度学习的自然言语处理,边界在哪里?

图灵汇官网

当前,深度学习在自然语言处理领域取得了显著进展,但依然存在一定的局限性。我们需要探讨的是,深度学习在自然语言处理中发挥效力的边界在哪里。针对这一问题,我们应当深入思考。

最近,在北京语言大学举办的第四届语言与智能高峰论坛上,华为诺亚方舟实验室的语音和语义首席科学家刘群教授发表了一场精彩的演讲,题目是《基于深度学习的自然语言处理:边界在哪里?》。刘教授从自然语言处理的发展历程出发,详细分析了深度学习在自然语言处理中的应用及其局限性。

刘教授指出,自然语言处理经历了从基于规则、统计方法到深度学习的转变。尽管深度学习在许多方面取得了重大突破,但仍然存在一些未解决的问题,这些问题主要受制于数据、语义、符号和因果四大边界。要解决这些问题,我们需要从这些边界出发,探索新的解决方案。

以下是对刘群教授报告的改写:


感谢大会给我这次机会与大家交流。今天我将分享一些关于机器翻译和自然语言处理的研究心得,而不是具体的技术细节。这些观点可能还不够成熟,欢迎大家批评指正。

自然语言处理的范式迁移:从规则、统计到深度学习

大家应该都对自然语言处理范式的变迁有所了解。以机器翻译为例,过去主要依赖基于规则的方法,即通过人工编写规则来指导机器进行翻译。然而,这种方法很快暴露出不足之处,因为无法穷尽所有的规则,并且编写大量细微规则极为困难。

随后,人们转向基于统计的方法,让机器自行学习翻译规则。这种方法虽然取得了一定成效,但其局限性也逐渐显现,特别是在处理复杂的语言结构时。

近年来,随着深度学习技术的发展,机器翻译取得了显著进步。现在,机器翻译不再局限于符号层面的操作,而是将整个翻译过程映射到高维空间,并在高维空间中进行运算。然而,我们难以理解机器在高维空间中的具体操作过程,也无法明确知道机器学习到了什么。

接下来,我将讨论以下几个问题:一、深度学习解决了自然语言处理中的哪些问题?二、还有哪些自然语言处理问题尚未被深度学习解决?三、基于深度学习的自然语言处理的边界在哪里?

深度学习解决了哪些自然语言处理问题?

自然语言处理领域有许多难题,通过深度学习方法,一些难题得到了很好的解决,或者至少提供了良好的框架。这些难题主要包括:词形变化、句法结构、多语言处理、联合训练和在线学习等。下面我将重点讨论前四个问题。

词形变化

词形变化是自然语言处理中的一个重要问题,尤其是在中文中,分词是一项挑战。在基于规则和统计的机器翻译方法中,词形变化是首要需要解决的问题。

对于中文而言,由于基于汉字的翻译效果较差,因此分词成为必需解决的问题。如果不进行分词或分词效果不佳,即使采用统计方法,翻译效果也会大打折扣。然而,分词本身也面临着许多挑战,因为中文词语的界定并不明确,分词的标准难以统一。

除了中文,许多其他语言也存在词形变化的问题。例如,英语词的变化相对较少,而像法语和俄语这样的语言则变化较多。此外,像土耳其语和波斯语这样的黏着语,一个词可以有上千种变化,这对自然语言处理尤其是机器翻译来说是个难题。

对于这些词形复杂的语言,分析难度很大,通常只有语言学家才能清晰描述词语的形态。此外,词形本身是一种结构,所有统计机器翻译都建立在某种结构基础上,例如词汇层、短语层和句法层。如果要在这些结构中加入词形结构,统计机器翻译的建模将变得极其困难。

在统计机器翻译时代,处理复杂词形的语言非常困难。有一种名为“基于要素的统计机器翻译”的方法,即把一个词分解成多个要素,然后分别翻译每个要素,最后合并结果。然而,这种方法在我看来不够优雅且冗余,效果也不佳。

然而,在神经网络框架下,词形问题基本上不再是问题。研究者对中文分词的关注度已经降低,尽管仍有一些研究尝试在神经网络框架下优化分词。对于机器翻译而言,中文分词已经不再是主要挑战,因为大多数中文机器翻译系统现在基本上基于汉字进行翻译,其性能与基于词的系统相差不大。

对于词形复杂的语言,目前提出了一种基于子词或字符的模型,效果非常好。我认为这是一种简洁且优雅的解决方案。

例如,自动化所的张家俊老师等人发表了一篇论文,介绍了基于子词的模型方案,如下图所示。第一行为标准的中文文本,第二行为分词后的文本。现在大多数系统基于汉字即可完成翻译,如第三行所示。然而,我们也可以进行分词,比如第五行使用BPE方法,将“繁花似锦”拆分为“繁花”、“似”和“锦”。

基于字符的模型则是从字母层面入手,逐个字符进行建模和翻译,效果同样出色。因此,在神经网络框架下,词形问题基本上不再是问题。

句法结构问题

接下来,我们来看看句法结构问题。

无论是在基于规则还是基于统计的机器翻译框架下,句法分析对翻译质量都有着重要影响。在基于统计的机器翻译中,基于短语的方法取得了显著成功,因此大多数统计方法不再进行句法分析。

然而,对于中英文这类语法结构差异较大的语言,进行句法分析比不进行句法分析的效果要好得多,因此句法分析仍然很重要。不过,句法分析本身难度较大,一方面会增加模型复杂度,另一方面句法分析本身的错误会影响翻译效果。

在神经网络机器翻译框架下,神经网络能够很好地捕捉句子的结构,无需进行句法分析,系统可以自动获得处理复杂结构句子的能力。

大约在2005年至2015年间,我一直在基于统计的机器翻译研究领域工作,即研究如何在统计方法中加入句法方法。在这段时间里,我们提出了多种方法并撰写了许多论文。下图展示了我们提出的几种模型。

我们的工作主要集中在树到树和树到串的方法。美国和欧洲的许多学者在进行串到树的研究,而树到树的方法则较少。此外,我们还研究了如何避免句法分析错误。然而,在神经网络框架下,这些问题基本上已经不存在。

例如,“第二家加拿大公司因被发现害虫而被从向中国运输油菜籽的名单中除名”是一个多层嵌套结构,但机器翻译结果“The second Canadian company was removed from the list of transporting rapeseed to China due to the discovery of pests”在结构上翻译得很好。另一个例子的结构也没有什么错误。

在神经网络机器翻译方法中,没有任何句法知识的使用,仅凭从网络中学到的复杂结构就能实现优秀的翻译效果。因此,对机器翻译来说,句法分析的意义已经不大。当然,句法结构仍然有一定的价值,但已经不再是机器翻译的主要难点。

多语言处理

在过去,机器翻译研究者的一个梦想是在基于规则的时代实现多语言翻译。当时很多人在做多语言翻译,甚至中间语言翻译。如下图所示,中间语言翻译是一个理想的方案,因为它可以通过某个中间语言来实现多语言之间的相互翻译,从而节省成本。如果使用中间语言,开发系统的数量随翻译语言数量呈线性增长;否则,开发系统的数量将呈平方增长。

然而,在基于规则的机器翻译时代,中间语言的方法不可行。正如日本机器翻译专家Makoto Nagao教授所说:“当我们使用中间语言时,分析阶段的输入结果必须采用一种所有不同语言的机器翻译都能使用的格式,但实际上这是不可能做到的。”

在基于统计的机器翻译时代,广泛采用的是枢纽语言(pivot language)方法,即在两种语言互译时,先将所有语言翻译成英语,然后再翻译成目标语言。这样可以实现多语言机器翻译。

然而,这种方法也存在一些问题,如错误传播和性能下降。此外,我们希望通过多语言之间的相互增强来提高翻译质量,但这种方法并非总是理想的选择。

在神经网络机器翻译时代,谷歌直接应用中间语言的方法建立了一个庞大而完整的系统,实现了所有语言之间的相互翻译以及所有文本的统一编码。尽管这个系统目前还不完美,但已经非常接近理想的中间语言(Interlingua)。

之后,谷歌推出了Multilingual BERT,将104种语言编码到一个模型中,这在以前是无法想象的。

虽然这两种方法目前还无法完全解决多语言问题,但它们的框架非常优美,效果也非常好。因此,我认为在这些方面,我们还有很多事情可以做。

联合训练问题

在基于统计的机器翻译时代,由于各个模块都是独立训练的,导致错误传播问题严重,因此联合训练成为提高性能的有效手段。

然而,联合训练本身也会增加模型复杂度,使开发和维护变得困难。此外,由于搜索范围扩大,系统开销也会增加。不仅如此,由于模块太多,只能有限地进行联合训练,无法将所有模块纳入联合训练。

在神经网络机器翻译框架下,端到端训练成为标准形式,所有模块形成一个有机整体,针对同一目标函数同时训练,有效避免了错误传播,提高了系统性能。

深度学习尚未解决的自然语言处理问题

由于深度学习的应用,我们过去花费大量精力去解决的问题,现在大多不需要再费力解决。然而,深度学习本身仍然存在许多问题,包括资源匮乏、可解释性、可信度、可控性、超长文本处理以及缺乏常识等问题。

资源匮乏问题

资源匮乏问题是显而易见的,但这个问题远比我们大多数人想象的要严重得多。一般来说,对于常用语言,机器翻译可以做得很好。然而,现实世界中有数千种语言,据统计,世界上有7000多种语言,其中大部分语言都是资源匮乏的语言,大多数专业领域实际上也是资源匮乏的。

以WMT 2019医疗领域的评测为例,其语料库包含3000多个文档和4万多个句子。在机器翻译领域,数百万个句子的语料已经算是小规模的,商业系统通常有数千万个句子的训练语料。然而,这里的语料只有4万多个句子,资源匮乏问题严重,翻译质量也非常糟糕,基本上不可接受。此外,从数据上看,西班牙语有10万多个句子,法语有7万多个句子,但中文几乎没有,这意味着很难收集到中文医疗领域的翻译数据。

在工业界,大多数需要解决的问题都没有标注语料,需要自己标注,但很少有人有足够的资金去标注大量的语料。因此,资源匮乏问题比我们想象的要严重得多。

资源匮乏对神经网络机器翻译的影响很大。从下图可以看出,下面两条线代表基于统计的机器翻译方法,下面一条线代表神经网络机器翻译方法。可以看到,神经网络方法只有在语料量足够大的情况下,表现才会优于统计方法,在语料量不足时,表现并不比统计方法更好。

可解释性与可信度问题

我们给神经网络输入一个东西,它会输出一个结果,但其在高维空间中的计算过程是未知的,这存在可解释性问题。但我认为,这个问题的重要性取决于具体情境。有些时候,我们需要解释性,但并非所有时候都需要。

可解释性带来的一个重要问题是可信度问题。在关键领域如医疗领域,如果系统给出一个癌症诊断却没有理由,患者是不会接受治疗的。因此,在这些关键应用中,可解释性非常重要,因为这直接影响到信任问题。

机器翻译中的可信度问题包括翻译错误。例如,重要的人名、地名和机构名不应翻译错误。以翻译美国政府工作报告为例,如果使用之前的语料进行训练,机器可能会将美国总统(特朗普)误译为布什总统,这是一个严重的错误。

另一个可信度问题是翻译结果与原意相反。这在机器翻译中很常见,且较难避免,因为这种反义表达在语料库中的统计特征非常接近,都是在陈述同一件事,因此机器翻译很容易产生相反的翻译结果。

第三个可信度问题是机器翻译会出现一些过于专业的错误,这会直接降低用户的信任感。

可控性问题

由于系统有时无法满足用户需求或频繁出错,我们希望系统变得可控,即知道如何对其进行修正以避免这些错误。

在基于规则的机器翻译方法中,我们可以通过修改规则来纠正错误;在基于统计的机器翻译方法中,虽然方法绕一点,但统计数据是可解释的,我们可以在其中添加短语表来纠正错误。而在神经网络机器学习方法中,几乎无法进行修正。

例如,对于重要的人名、地名、机构名和术语,我们希望机器严格按照给定的方式进行翻译,不能随意乱翻。我之前在爱尔兰做过这方面的一些早期工作,目前这项工作已经有所改进,可以较好地解决机器翻译的可控性问题,但这项工作目前仅适用于机器翻译这一特例,无法推广到神经网络在自然语言处理领域的广泛应用。

超长文本问题

如今的神经网络机器翻译在处理长文本方面取得了显著进步。早期的神经网络翻译系统常常被人诟病:短句翻译得不错,但长句翻译得很差。然而,这种情况已经得到了极大改善,一般的长句翻译效果还不错,但仍存在一些小错误,如遗漏翻译等。

目前基于长文本训练的语言模型如BERT、GPT,其训练的文本单位通常是几百字到上千字,因此在这个范围内处理文本没有太大问题,并且GPT生成一千字以内的文本都非常流畅。

目前,机器翻译可以处理较长的文本,但这并不意味着长文本问题已经解决,它仍然面临许多挑战:

  • 一个是基于篇章的机器翻译问题。不仅我们,学术界也有很多同行在研究这个问题。研究表明,对于改进翻译质量,只有前1-3个句子的上下文才有作用,更长的上下文反而会降低当前句子的翻译质量。理论上,上下文越长,翻译效果应该越好,但实际情况却相反,这是不合理的。

  • 另一个是预训练语言模型问题。目前机器翻译的训练长度通常是几百字到上千字,但实际处理的文本长度可能不止这些,比如一篇八页的英文论文,至少有两三千字。因此,在处理更长文本时,预训练语言模型仍然会遇到许多问题。在这种情况下,语言模型需要消耗大量的计算资源,计算所需的时空复杂度会随着句子长度呈平方或三次方增长。因此,现有模型要想支持更长的文本,还需要解决许多问题。

缺乏常识问题

我将以不久前逝世的董振东先生提供的例子为例。单词“bank”在翻译中具有歧义,可以指“银行”或“岸”。在什么语境下翻译成哪个意思,对于人来说很容易理解,但即使有“fishing”、“water”这样的提示词,谷歌翻译器仍然会将其翻译成“银行”。在神经网络机器翻译时代,这种常识性错误仍然普遍存在。

另一个例子是GPT的文本生成。尽管GPT在文本生成方面已经做得很好,但仍然会犯很多常识性错误。以下是一个经典案例:人类输入的句子是“在一项研究中,科学家们发现了一群独角兽,它们生活在安第斯山脉一个偏远的尚未开发的山谷中,更令人惊讶的是,这些独角兽会说一口流利的英语。”其中“独角兽会说一口流利的英语”在现实中是不可能的事情。然而,GPT系统根据这句话生成了一个故事。

故事写得很美,但存在错误,比如第一句就是错误的:“科学家根据它们独特的角,将它们命名为Ovid’s Unicorn,这些有着银色的四个角的独角兽是科学家从未见过的。”这句话本身就有逻辑错误,独角兽怎么会有四个角呢?这是一个明显的逻辑错误。因此,常识问题在机器翻译中仍然是一个严重的问题。

基于深度学习的自然语言处理的边界在哪里?

自然语言处理中哪些问题可以解决,哪些问题无法解决?这就涉及到它的边界问题。我认为,深度学习有以下几个重要的边界:数据边界、语义边界、符号边界和因果边界。

数据边界

数据边界是限制当前机器翻译技术发展的主要因素之一。简单来说,就是数据不够,这是现有方法无法解决的。

语义边界

人工智能在许多领域取得了巨大成功,其中在围棋、电子竞技等项目上最为显著。早期在没有深度学习和统计方法的情况下,Winograd系统就已经取得了成功。为什么会取得如此大的成功?

我认为这是因为这些领域可以对客观世界的问题进行精确建模,因此能够取得很好的效果。然而,如今的自然语言处理系统大部分都无法对客观世界进行精确建模,因此很难做好。例如,智能音箱和语音助手系统在某些方面取得了一定成果,很大程度上是因为这些系统对应着明确定义的任务,能够对物理世界进行建模,但如果用户的提问超出这些预定义的任务,系统很容易出错。

机器翻译的成功是一个特殊案例,这是由于它的源语言和目标语言的语义是准确对应的,因此只要有足够的数据而不需其他支持,就能取得较好的效果。

目前的自然语言处理系统大部分仅限于对词语符号间的关系建模,而没有对所描述问题的语义进行建模,即没有对客观世界进行建模。而人类在理解语言时,大脑中一定会形成一个客观世界的影像,并在理解后用语言描绘自己的想法。

实际上,自然语言处理的理想状态应该是能够对客观世界进行描述和建模,但对客观世界的建模非常复杂,实现起来并不容易。以颜色为例,可以用三个8位数进行建模,可以组合出数千万种颜色,但描述颜色的词语只有几十个,词语和颜色模型之间的对应关系很难精确描述。

在机器翻译的研究中,对客观世界的建模并不新鲜,早期的本体或知识图谱、语义网络都是人类专家试图对客观世界建立通用模型的努力,其中知识图谱是一项集大成的成果。然而,它目前还没有很好地应用于深度学习中。但我认为这是一个值得探索的方向。

总的来说,我认为自然语言处理的一个理想改进方向是构建世界模型或语义模型,换句话说,不仅仅是处理文本间的交互,还要落地到现实世界中,对现实世界进行建模,而知识图谱是其中值得探索的一个具体方向。

符号边界

心理学家将人的心理活动分为潜意识和意识,我的理解是,可以用语言描述的心理活动称为意识,而无法用语言描述的心理活动称为潜意识。

神经网络实际上是潜意识的行为,它可以输入和输出语言表达,但无法对整个推理和计算过程进行描述,这是它的一个重要缺陷。

举一个简单的例子:使用有限自动机可以准确定义一些特定的表示方式,如数字、年份和网址等,但最好的神经网络也很难准确学习到有限自动机的表达能力。这也是许多实用的自然语言处理系统仍然离不开符号规则方法的原因。

因果边界

人类对客观世界中发生事件的因果关系有明确的理解,因此可以轻易剔除无关信息,抓住问题的本质。

然而,神经网络做不到这一点。它根据数据学习到的东西做出判断,而没有理解真正的因果关系,即不知道哪些因素是事件发生的真正原因,哪些是辅助判断的依据,因此很容易做出错误的判断。

实际上,仅仅根据统计数据进行推断很难得到真正的因果关系。真正的因果关系只有通过精心设计的实验才能得出,例如药物的有效性,美国和中国的药品管理局都需要花费数十年的时间进行实验,才能确定因果关系,这非常不易。

今天,我讨论了基于深度学习的自然语言处理面临的一些问题,我认为这些问题最终是由我提到的四个边界共同形成的,而不仅仅是由单一边界造成的。

总之,我认为自然语言处理的一个理想改进方向是构建世界模型或语义模型,换句话说,不仅仅是处理文本间的交互,还要落地到现实世界中,对现实世界进行建模,而知识图谱是其中值得探索的一个具体方向。

本文来源: 图灵汇 文章作者: 137237205