第四部分 自然语言:让计算机理解它所“阅读”的内容
13 虚拟助理——随便问我任何事情
《星际迷航》或许给我们许多人都编织了一个梦想:能够向计算机询问任何事情,并且它可以做出准确、简洁和有用的回应。
虽然计算机目前已经可以准确地转述我们的请求,但别忘了我们的终极目标是:让计算机真正理解我们所问的问题的含义。
沃森的故事
2011年,IBM的沃森令人震惊地在游戏节目《危险边缘》中击败了两位人类冠军。
当给出一条《危险边缘》的线索时,沃森通过综合大量不同的人工智能方法来做出回应,使用多种不同的自然语言处理方法来分析线索,计算出其中的哪些单词是重要的,并根据需要的回应类型来对线索进行分类,例如,一个人、一个地方、一个数字、一个电影名称。该程序在专用的并行计算机上运行,以便在庞大的知识数据库中快速搜索。对于一条给定的线索,程序会产生多个可能的响应,并让算法为每个响应分配置信度值,如果置信度最高的响应超过一个阈值,程序就会按下抢答器来进行抢答。
用大约一周的时间教沃森阅读了基本的医学文献,然后沃森又用了大约一周的时间阅读了2 500万篇论文。对于“阅读”这个词,其内涵究竟是理解其所读的内容,还是像沃森那样简单地处理文本并将其添加到数据库中?
现实世界中的问题不像《危险边缘》节目中的线索那样具有简短的结构,其答案也不像节目中的那样明确。此外,对于现实世界中的问题,并不存在大量完善的、清晰标记的训练样本,且这些样本代表的每种情况都对应一个唯一正确的答案。
如何判定一台计算机是否会做阅读理解
阅读是指能够真正理解其处理的文本的意义。我们如何判定一台计算机是否理解了它所阅读的内容?我们能给计算机做一个阅读理解的测试吗?
2016年,斯坦福大学的自然语言研究团队设计了一个测试,并且很快就成了衡量机器阅读理解能力的标准,这就是斯坦福问答数据集(Stanford question answer dataset,SQuAD)。它由维基百科文章中的段落组成,每个段落都附有一个问题。这其中的数十万个问题都是由亚马逊土耳其机器人创建的。
(Mechanical Turk)“亚马逊土耳其机器人”是一种众包网络集市,能使计算机程序员调用人类智能来执行目前计算机尚不足以胜任的 任务。这一平台有两种参与者。“工作者”完成任务,“请求者”发布工作并设定任务报酬。每个任务都被称为“人类智能任务(Human Intelligence Task)”,简称“任务”。
SQuAD测试比人类读者做的那种典型的阅读理解测试要简单得多,因为在创建问题的说明中,斯坦福大学的研究人员规定答案必须以句子或短语的形式在文本中出现过。
想要做对这道题,其实你并不需要读懂字里行间的意思,也不需要真正的推理,比起“阅读理解”,可能这项任务更准确的叫法应该是“答案提取”。答案提取对机器来说是一项很有用的技能,事实上,答案提取也正是Alexa、Siri以及其他数字助理软件所需要做的:将接收到的问题转换为一个搜索引擎查询序列,然后从搜索结果中提取答案。
斯坦福大学的研究团队还就这些问题对亚马逊土耳其机器人进行了测试,以便将机器的性能与人类进行比较。测试者会给每个被试一段话,且后面会跟着一个问题,要求被试在段落中选择能够回答这个问题的最短内容。正确的答案由最初提出这个问题的亚马逊土耳其机器人给出。使用这种评估方法,测得人类在SQuAD测试上的正确率为87%。
SQuAD迅速成为最受欢迎的测试问答算法能力的标准测试集,全世界的自然语言处理研究人员都在努力优化自己的算法,争取在SQuAD测试集的排行榜上获得更靠前的排名。其中,最成功的方法使用了专门的DNN,也就是一种比我之前描述的编码器-解码器网络更复杂的版本。在这些系统中,输入是文本形式的段落和问题;输出则是网络对于该问题答案的预测,这种预测通过标注答案语句的起始与终止位置给出。
2018年,两个分别来自微软研究实验室和中国阿里巴巴公司的团队,创建了能够在这项任务上超越斯坦福大学测出的人类准确性的程序。
人工智能研究有一个惯用的套路:定义一个在细分领域中比较有用的任务,收集一个大型数据集来测试机器在该任务上的性能,对人类在该数据集上完成任务的能力进行一个有限的度量,然后,建立一场竞赛使得人工智能系统可以在该数据集上互相竞争,直到最终达到或超过人类的表现。相关各方不仅会对真正令人印象深刻且有用的成就进行报道,还会虚假地声称,获胜的人工智能系统在一项更为通用的任务上,达到了媲美人类的能力。
《华盛顿邮报》(Washington Post)对此给出了谨慎的评价:“人工智能专家表示,这种测试太过局限,根本无法与真正的阅读相提并论,因为其答案不是通过对文本的理解产生的,而是由系统在文本中利用查找模式并进行术语匹配找到的。这项测试只能在格式清晰的维基百科文章上行得通,而在书籍、新闻文章和广告牌等宽泛语料上却不可行,而且测试集中的每一篇文章都一定包括答案,使模型不必对概念进行处理或用其他概念来进行推理。人工智能专家说,阅读理解的真正要义在于阅读字里行间中相互关联的概念并进行推理,进而理解文本中有所暗示但又未具体给出的信息。”
“提问-回答”这个课题一直是自然语言处理研究的一个重点。在我写这部分内容的时候,人工智能研究人员已经收集了多个新的数据集,并已经规划了新的竞赛,这些数据集可为竞争程序提供更严峻的挑战。艾伦人工智能研究所(Allen Institute for Artificial Intelligence)是一家由微软的联合创始人保罗·艾伦(Paul Allen)资助的位于西雅图的私人研究机构。它开发了一套面向小学生和中学生的多项选择科学题库。若想正确回答这些问题,不仅需要答案提取的技能,还需要具备自然语言处理和常识推理的集成能力,以及一些必要的背景知识。
艾伦人工智能研究所的研究人员对那个在SQuAD测试上表现得超越人类的神经网络进行了改造,并对它在这组新问题上的表现进行测试。他们发现:即便这些网络在这8 000个科学问题的一个子集上进行了进一步训练,其在新问题上的表现也不会比随机猜测好多少。在写这部分内容时,一个在该数据集上运行的人工智能系统的最高正确率大概是45%,而随机猜测的正确率是25%。艾伦人工智能研究所的研究人员将他们关于此数据集的论文命名为:“你认为你已经解决了‘提问-回答’这个课题吗?”如果有副标题的话,我想可能会是:“那你再想想。”
“它”是指什么?
例子中的每对句子,除了一个词之外,其他都是一模一样的,但正是这个词改变了“他们”“他”或“它”这些代词所指代的事物。为了正确地回答这些问题,机器不仅要能够处理句子,而且还要能够理解它们,至少在一定程度上是这样。一般来说,理解这些句子需要我们的常识。例如,叔叔通常比侄子年长;把水从一个容器倒入另一个容器,意味着第一个容器将变空,而另一个容器将变满;如果一个物体不能穿过一个空间,那是因为这个物体太宽了,而不是太窄。
这些微型的语言理解测试被称为“威诺格拉德模式”(Winograd schemas),以最先提出这个想法的自然语言处理领域的先驱特里·威诺格拉德(Terry Winograd)的名字命名。威诺格拉德模式被精确设计为对人类而言很简单,但对计算机而言却很棘手。2011年,3名人工智能研究人员——赫克特·莱韦斯克(Hector Levesque)、欧内斯特·戴维斯和丽奥拉·摩根施特恩(Leora Morgenstern),提议使用大量的威诺格拉德模式测试作为图灵测试的替代。他们认为:与图灵测试不同,威诺格拉德模式的测试可以防止机器在没有真正理解句子的内容之前就给出正确答案。这三位研究人员非常谨慎地提出了他们的看法:“很可能,任何正确的回答都需要能够体现人类的思考。威诺格拉德模式不允许被试躲在语言技巧、玩笑或固定回答的烟幕后面……我们在这里提出的要求显然没有图灵想象的关于十四行诗的智能对话那样苛刻,但是,它确实提供了一个不易被滥用的测试挑战。”
几个自然语言处理研究团队已经试验了多种不同的方法来回答威诺格拉德模式测试题。在我写下这部分内容的时候,程序的最佳性能表现是:在一组约有250个问题的威诺格拉德模式测试集上达到了大约61%的正确率。虽然这比随机猜测的50%的正确率要好,但仍远低于人类在这项任务上的正确率——如果人类用心的话,正确率可达100%。这个程序对威诺格拉德模式测试题的判定不是通过理解句子,而是通过统计来实现的。
艾伦人工智能研究所的所长奥伦·埃齐奥尼(Oren Etzioni)曾打趣道:“如果人工智能连一句话中的‘它’指的是什么都无法判断,那么我相信它也很难接管整个世界。”
自然语言处理系统中的对抗式攻击
自然语言处理系统想要统治世界面临的另一个障碍是:与计算机视觉程序类似,自然语言处理系统易受对抗样本的攻击。
自然语言处理的研究人员也证实了,在我之前描述过的情感分类和问答系统上进行对抗式攻击的可能性。这些攻击通常是改变几个词或在文本中增添一个句子。这种对抗式的改变不会影响这段文本对人类读者的意义,但会引发系统给出一个错误的答案。例如,斯坦福大学的自然语言处理研究人员表明:“向SQuAD的段落中添加某些简单的句子,即便是性能最好的系统也会输出错误的答案,从而导致系统整体性能的大幅下降。”
尽管深度学习已经在语音识别、语言翻译、情感分析及自然语言处理的其他领域取得了一些非常显著的进展,但人类水平的语言处理能力仍然是一个遥远的目标。斯坦福大学的教授克里斯托弗·曼宁(Christopher Manning),也是一位自然语言处理领域的大师,他在2017年指出:“到目前为止,深度学习已经使得语音识别和物体识别的错误率大幅下降,但其在高级别的语言处理任务中并没有产生同等的效用,真正的戏剧化的进展可能只有在真正的信号处理任务上才能实现。”
虽然机器的自然语言处理已经取得了长足的进步,但我不相信机器将能够完全理解人类的语言,除非它们具备人类所拥有的常识。自然语言处理系统正在我们的生活中变得越来越普遍——转录话语、分析情感、翻译文本、回答问题。是不是无论这些系统的性能有多强,只要它们缺乏和人类相似的理解方式,就会不可避免地导致这些系统的脆弱、不可靠、易受攻击等方面的问题?没有人知道答案,因此,我们都该停下来好好想一想。
《AI 3.0》读书笔记
《AI 3.0》读书笔记 序1
《AI 3.0》读书笔记 序2
《AI 3.0》读书笔记 序3
《AI 3.0》读书笔记 译者序
《AI 3.0》读书笔记 第一部分 若想对未来下注,先要厘清人工智能为何仍然无法超越人类智能01
《AI 3.0》读书笔记 第一部分 若想对未来下注,先要厘清人工智能为何仍然无法超越人类智能02
《AI 3.0》读书笔记 第一部分 若想对未来下注,先要厘清人工智能为何仍然无法超越人类智能03
《AI 3.0》读书笔记 第二部分 视觉识别:始终是“看”起来容易“做”起来难 04 何人,何物,何时,何地,为何
《Ai 3.0》读书笔记 第二部分 视觉识别:始终是“看”起来容易“做”起来难 05 ConvNets和ImageNet,现代人工智能的基石
《AI 3.0》读书笔记 第二部分 视觉识别:始终是“看”起来容易“做”起来难 06 难以避免的长尾效应
《AI 3.0》读书笔记 第二部分 视觉识别:始终是“看”起来容易“做”起来难 07 确保价值观一致,构建值得信赖、有道德的人工智能
《AI 3.0》第三部分 游戏与推理:开发具有更接近人类水平的学习和推理能力的机器
《AI 3.0》第三部分 08 强化学习,最重要的是学会给机器人奖励
《AI 3.0》第三部分 09 学会玩游戏,智能究竟从何而来从
《AI 3.0》第三部分 10 游戏只是手段,通用人工智能才是目标
《AI 3.0》第四部分 自然语言:让计算机理解它所“阅读”的内容
《AI 3.0》第四部分 11 词语,以及与它一同出现的词
《AI 3.0》第四部分 12 机器翻译,仍然不能从人类理解的角度来理解图像与文字