PDF 物理页索引 270
文件中的第 271 页 · 印刷页码:未识别
第四部分
自然语言<sub>:</sub>让计算机理解它所<sup>“</sup>阅
读<sup>”</sup>的内容
PDF 物理页索引 271
文件中的第 272 页 · 印刷页码:未识别
自然语言的本质
1.自然语言处理包括诸如语音识别、网络搜索、自动问答和机器翻译等多个主题。深度学习一直是自然语言处理领域的大部分最新进展背后的驱动力。理解和使用自然语言是人工智能当前面临的最困难的挑战之一。
2.一些早期的自然语言处理系统的方法是:找到一些特定的单词或短语作为文本中情感的线索。例如,用“黑暗”“怪异”“沉重”“令人不安”“恐怖”“完全不”等词语来表明影评中的负面情感。
3.在深度网络开始在计算机视觉和语音识别上“得心应手”后不久,自然语言处理的研究者就开始试着把它们应用于情感分析。
4.自然语言处理的研究者提出了几种能够获取单词之间的语义关系的编码方法,所有这些方法都是基于相同的思想:一个单词的含义可以依据与其经常一同出现的其他单词来定义,这些其他单词又可以依据与它们经常一同出现的单词来定义,以此类推。
5.把句子按照情感进行分类、翻译文档和描述照片,尽管自然语言处理系统在这些任务上的水平还远不及人类,但对于完成许多现实世界中的任务还是很有用的。
PDF 物理页索引 272
文件中的第 273 页 · 印刷页码:未识别
6.“提问-回答”这个课题一直是自然语言处理研究的一个重点。自然语言处理研究人员的终极梦想是设计能够实时地与用户进行流畅和灵活互动的机器。
PDF 物理页索引 273
文件中的第 274 页 · 印刷页码:未识别
词语<sub>,</sub>以及与它一同出现的词
本章的内容要从一个小故事说起。
餐厅际遇
一位男士走进一家餐厅,点了一个汉堡包,要半熟的。当汉堡包上桌时,它是烤煳了的。女服务生在这位男士的桌子旁停下,并问道:“汉堡包还可以吗?”“哦,它简直太好了!”这个人说着,把椅子推到后面,没有付钱就冲出了餐厅。女服务生在他后面喊道:“嘿,账单怎么办?”她耸了耸肩,小声嘀咕着:“他为什么如此愤怒?” <sup>1</sup>
现在,我的问题是:那位男士吃汉堡包了吗?
我猜你对自己的答案很有信心,即使这个故事没有直接说明这个问题,我们也很容易从字里行间里领悟出这层意思。毕竟,理解语言,特别是理解其中隐含的部分,是人类智能的一个基本部分。图灵把他著名的图灵测试构造为一场关于语言之生成和理解的比赛,这并非偶然。
这一部分将探讨自然语言处理 <sup>(31)</sup> ,也就是让计算机处理人类的语言。自然语言处理包括诸如语音识别、网络搜索、自动问答和机器翻译等多个主题。与我们在前几章中看到的相似,深度学习一直是自然语言处理领域的大部分最新进展背后的驱动力。我将描述其中的一些进展,用《餐厅际遇》这个故事来说明机器在理解和使用人类语言时面临的一些主要挑战。
PDF 物理页索引 274
文件中的第 275 页 · 印刷页码:未识别
语言的微妙之处
问答系统是当前自然语言处理研究的一个焦点,这主要也是因为人们希望使用自然语言与计算机进行交互,想一想Siri、Alexa、Google Now和其他虚拟助理。设想一下,如果我们想要创建一个能够阅读一篇文章并回答相关问题的程序。比如,能够回答和《餐厅际遇》这个故事类似的文本的相关问题,那么这个程序将需要复杂的语言技能以及大量关于世界运作方式的知识。
那位男士吃汉堡包了吗?想要自信地回答这个问题,这个程序需要知道汉堡包属于食物的范畴,并且食物是可食用的。该程序也应该知道,你走进一家餐厅,点一个汉堡包,通常意味着你打算吃这个汉堡包,而且如果你点的餐到了,你就可以吃了。该程序还需要知道,如果你点了一个半熟的汉堡包,结果服务员送来的却是已经被烤煳了的,那么你一般不会想吃它。程序应该认识到,当你说“哦,它简直太好了”时,那么你是在讽刺,而这里的“它”指的是汉堡包。该程序还应当能够推测出:如果你没有付钱就冲出了餐厅,那么很可能你还没吃过你点的餐。
PDF 物理页索引 275
文件中的第 276 页 · 印刷页码:未识别
为了对关于这个故事的一个基本问题给出信心满满的答案,这个程序所需要具备的所有背景知识的总量是令人难以想象的。如果我们问:“那个人给女服务生小费了吗?”那么,程序将需要知道关于小费的一些习惯,以及给小费的目的是回报好的服务。为什么女服务生说“账单(bill)怎么办”?程序需要弄明白,说到“bill”,女服务生指的并不是鸟嘴、金融票据或法院传票 <sup>(32)</sup> ,而是指这位男士点餐的账单。女服务生知道那位男士生气了吗?程序必须明确这一点:文中“他为什么如此愤怒”中的“他”是指那位男士,而“愤怒”是一个表示“烦躁且生气”的词语。女服务生知道男士为什么离开餐厅吗?如果我们的程序知道“耸了耸肩”这个姿势暗示着女服务生并不明白他为什么要冲出去,它就能明白这个问题的答案。
思考这样的程序到底需要知道些什么的过程中,我想起了在我的孩子们很小的时候,我试图回答他们无穷无尽的问题的情境。在我的儿子4岁的时候,有一次,我带他去银行。他问了我一个简单的问题:“什么是银行?”我接下来的回答引发了一连串似乎无穷无尽的“为什么”:“为什么人们要用钱”“为什么人们想要很多钱”“为什么人们不把所有的钱都放在家里”“为什么我不能自己赚钱”。这些全部都是好问题,但如果不讲一些在一个4岁孩子经验范围之外的知识,就很难把以上那些问题解释清楚。
对于机器而言,情况还要极端得多。听过前文《餐厅际遇》故事的人,即使是孩子,都有人、桌子和汉堡包这些很基本的概念。孩子们有基本的常识,他们知道:当男士走出餐厅时,他就不在餐厅里面了,但桌子和椅子可能仍在那里;当汉堡包“到达”时,一定是有人把它带来的,它不可能自己过来。以上这些连一个4岁的孩子都能理解的语言中所包含的各种相互关联的概念和常识,恰恰是机器所不具备的。
PDF 物理页索引 276
文件中的第 277 页 · 印刷页码:未识别
所以,毫无疑问,理解和使用自然语言是人工智能当前面临的最大的挑战之一。语言常常是充满歧义的,极度依赖语境,而且通常用语言沟通的各方需要具备大量共同的背景知识。与人工智能的其他领域一样,自然语言处理相关的研究在最初的几十年集中在符号化的、基于规则的方法上,就是那种给定语法和其他语言规则,并把这些规则应用到输入语句上的方法。这些方法并没有取得很好的效果,看来通过使用一组明确的规则来捕捉语言的微妙是行不通的。
20世纪90年代,基于规则的自然语言处理方法被掩盖在更成功的统计学方法下,大量的数据集被用来训练机器学习算法。最近,这种统计数据驱动的方法已经聚焦在深度学习上了。深度学习能与大数据一道创造出灵活可靠的、能够处理人类语言的机器吗?
语音识别和最后的10%
自动语音识别(automatic speech recognition)是深度学习在自然语言处理中的第一个重大成就,并且我敢说,这是迄今为止人工智能在所有领域中取得的最重要的成就。自动语音识别是一项将口语实时转录成文本的技术。
PDF 物理页索引 277
文件中的第 278 页 · 印刷页码:未识别
2012年,在深度学习革新计算机视觉的同时,来自多伦多大学、微软、谷歌和IBM的多个研究团队联合发表了一篇关于语音识别的里程碑式论文 <sup>2</sup> 。这些团队一直在为语音识别的各个方面开发适用的DNN,也就是深度神经网络,比如,从声音信号中识别音素,从音素的组合中预测单词,从单词的组合中预测短语,等等。谷歌的一位语音识别专家称:“DNN的使用促成了20年来语音研究中最大的单项进步。” <sup>3</sup> 同一年,一个新版的DNN语音识别系统在Android手机上面向消费者推出。2016年6月,苹果在其iPhone上推出了智能语音助手Siri,苹果一位工程师评论道:“有时候,一种性能的提升太过显著,以至于你会再次进行测试以确保没有漏掉一个小数点,Siri的出现就是这样的情况之一。” 4
如果你恰好在2012年前后分别使用过某种语音识别工具,你应该会注意到这种技术的大幅度改进。语音识别从2012年之前的极其无用到稍微有点用,然后突然之间就变得近乎完美了。我现在能够用我手机上的语音识别应用程序口述所有的文本和电子邮件,就在写下这段文字的前几分钟,我用正常的语速,把《餐厅际遇》的故事讲给了我的手机“听”,而它准确地转录了每个单词。
令人震惊的是:语音识别系统在不理解其转录文本的含义的情况下完成了这一切。虽然我手机上的语音识别系统可以转录故事中的每一个字,但我向你保证,它不会理解其中的一丁点儿信息,或其他任何事情。包括我在内的许多人工智能领域的研究者,过去都认为人工智能语音识别在没有真正理解语言的情况下,永远不可能达到如此高水平的性能表现,但事实证明我们错了。
PDF 物理页索引 278
文件中的第 279 页 · 印刷页码:未识别
与媒体上的一些报道相反,自动语音识别的确还没有达到人类的水平。背景噪声会显著影响这些系统的准确性,它们在一辆移动着的汽车里的表现比在一间安静的房间里要差得多。此外,这些系统偶尔还会被一些不常见的单词或短语所误导,而这恰恰表明了其对转录的语言是缺乏理解的。例如,我说“慕斯(mousse)是我最喜欢的甜点”,我的手机会将其转录为“驼鹿(moose)是我最喜欢的甜点”。我说“光头的(bareheaded)男士需要帽子”,我的手机会将其转录为“熊领头(bear headed)男士需要帽子”。找到这种会让语音识别系统困惑的句子并不难,然而,对于安静环境下的日常会话,我猜想这些系统识别的准确率是人类准确率的90%~95%,这里的准确率是以转录正确的词语来衡量的。 <sup>5</sup> 如果你增加背景噪声或其他复杂因素,其准确率会大大降低。
任何一个复杂的工程项目都适用一个著名的经验法则:项目前90%的工作占用10%的时间,而后10%的工作占用90%的时间。我认为这个规则也适用于许多人工智能领域,比如自动驾驶汽车,当然也适用于语音识别。对于语音识别来说,这最后的10%不仅包括处理噪声、不熟悉的口音和不认识的单词,还包括影响语音集成的语言的歧义和上下文的关联性。最后这顽固的“10%”需要怎样来解决呢?更多的数据?更多的网络层?或者,这最后的“10%”需要要求系统真正理解讲话人所说的话吗?我倾向于最后这种观点,但我之前已经错过一次了。
PDF 物理页索引 279
文件中的第 280 页 · 印刷页码:未识别
语音识别系统是十分复杂的,从声波到句子都需要若干种不同的处理方法。当前最先进的语音识别系统集成了许多不同的组件,包含多个DNN。 <sup>6</sup> 其他自然语言处理任务,如语言翻译或问答系统,乍一看似乎更简单——输入和输出都只有单词,然而,深度学习的数据驱动方法还没有在这些领域取得它们在语音识别上取得的那种进展。为什么呢?想要回答这个问题,我们可以先来看几个深度学习如何被应用于重要的自然语言处理任务的例子。
分类情感
第一个例子,让我们来看下被称为“情感分类”的自然语言处理的一个领域。下面是关于电影《夺宝奇兵2:印第安纳·琼斯和魔域奇兵》(Indiana Jones and the Temple of Doom)的一些短评论 <sup>7</sup> :
“情节沉重,并且很大程度上缺乏幽默感。”
“对我来说有些太黑暗了。”