专栏 | 李航教授展望自然语言对话领域:现状与未来

640?wx_fmt=png

来源:机器之心

摘要:原华为诺亚方舟实验室主任、现已加入字节跳动 AI Lab的李航教授近日发表博客,对自然语言对话领域的现状和最新进展进行总结,并展望了未来的走向。


1. 引言


语音助手、智能客服、智能音箱、聊天机器人,近年各种自然语言对话系统如雨后春笋般地涌现,有让人眼花缭乱的感觉。一方面对话系统越来越实用化,另一方面当前技术的局限性也凸显无遗。计算机多大程度上可以自如地和人进行对话?自然语言对话的挑战在什么地方?未来可能会有哪些突破,以及需要重点研究与开发哪些技术?


笔者曾有幸在华为与前同事一起进行了对话技术的研究,以及华为 Mate10 语音助手的开发,本文基于自己的研究与开发经验,尝试对以上问题做出回答。


2. 前提条件


功能主义


脑科学和人工智能的先驱马尔(David Marr)曾提出,计算有三个层面,自上而下分别是功能层面、算法和表征层面、实现和物理层面。如果有两个系统做计算,给定同样输入,产生同样输出,两个系统的行为完全一致,则认为它们在功能层面是等价的。这时不考虑它们在算法层面进行的是串行计算还是并行计算,也不考虑它们在实现层面进行的是数字计算还是模拟计算。


两个系统,一个是人脑,一个是计算机,情况也一样。假设人的思维可以还原为计算,那么只要看到功能上计算机可以和人脑做同样的事情,就认为它们在功能上拥有同等的智能。本文讨论对话系统,也是站在功能主义的立场。


合理行动的智能机器


人工智能是关于构建智能机器(或智能计算机)的科学与工程领域,但对智能机器,有不同的定义。可以是像人一样行动的智能机器,也可以是合理行动的智能机器。本文采用后者的定义。合理行动的智能机器有以下几个特点。1. 系统与环境互动;2. 目标导向,有明确的任务要完成;3. 有评价完成任务好坏的标准;4. 旨在功能上完成任务,并不试图模仿人类;5. 完成任务上能力达到或超过人类。


构建合理行动的智能机器,比起构建像人一样行动的智能机器,在人脑的工作机理还不是很清楚的现在,更加现实可行。现在的大部分人工智能系统都属于这种类型。大数据与机器学习使人工智能的这条路线更加容易取得突破。(笔者近期的短文《合理行动的智能机器》对相关问题做了更详细的论述 [1])。


图灵测试的对象实质上是像人一样行动的智能机器,但如何评价像人一样行动并不容易。如果目的是为人类提供智能性的工具,提高人们的生活质量或工作效率,可能没有必要考虑构建像人一样行动的机器。图灵测试作为人工智能的测试实验有其局限性。


所以,近未来构建「合理行动的」对话系统应该是我们追求的目标。为用户提供问答、帮助用户完成任务(打开音箱、订机票)、甚至做用户的陪伴,都满足以上合理行动的智能机器的特点。


3. 自然语言对话


自然语言理解


自然语言理解,也就是人或机器理解人类语言,有两种不同定义:一种基于表征,另一种基于行为。基于表征(representation),就是系统根据输入的语言产生相应的内部表征,这个过程也称为语义接地(semantic grounding)。比如,有人说「哈利波特」,在大脑里联系到哈利波特的概念就意味着理解了对方的语言。基于行为,就是系统根据输入的语言采取相应的动作。比如,有人说「给我拿一杯茶」,机器人按照命令做了,就认为它理解了人的语言。这两个定义在一定程度上互为补充,前者从语义角度,后者从语用角度界定这个问题。


下面从功能角度概述语言理解过程,可以是人脑,也可以是计算机系统。


自然语言理解,输入是自然语言的语句,输出是语句的语义表征,包括词汇分析、句法分析、语义分析、语用分析几个步骤,如图 1 所示。原则上是自下而上的处理,也有自上而下的指导,一般是两者的结合。词汇分析使用词典,句法分析使用句法,语义分析使用世界知识,语用分析使用上下文信息。

 

640?wx_fmt=png

图 1. 自然语言理解过程


词汇分析将输入语句中的单词映射到单词的语义表征上。每一个单词都有丰富的语义。一个单词的语义包含了它的相关概念,以及使用方法。一个语言的常用词汇量一般在 5 万到 10 万的范围。


句法分析根据句法规则判断输入语句中的单词之间的语法关系,得到语句的语法表征。句法既有一定的规律,也有大量的例外。一个语言的语法是一个非常复杂的规则体系。


语义分析,基于单词的语义表征、语句的语法表征,根据系统中的世界知识的表征,构建语句的(可能是多个)语义表征。


语用分析,基于语句的语义表征,根据系统中的上下文,确定语句具体语义表征。


自然语言理解的核心是:听到一句话或者读到一句话,把它映射到系统的一个表征上面。这个映射是一个多对多的映射,必然产生多义性(ambiguity)和多样性(variability),也就是一句话可以有多个意思,一个意思有多种方法表达。比如:「I saw a girl with a telescope」一句话表示两个不同的意思,这是多义性。再比如:「distance between sun and earth」和「how far is sun from earth」两句话表示的是同一个意思,这是多样性。


语义分析,进行的只是在字面上对语言的理解,可能还有多个意思,对应着多个语义表征。语用分析,进行的是在上下文中的语言理解。同样一句话,比如,「这个房间真热」,语义上就是字面的意思,但是语用上话者的真实意图可能是「请把窗户打开」,只有在上下文中才能判断。


必须指出,语言是一个极其复杂的现象 [2],虽然从功能上,有可能在计算机上实现或者近似语言理解。仍然有许多挑战,还有漫长的路途要走。


人脑的语言理解机制


对人脑的语言处理机制了解的还不多,有一些发现和假说。


人的自然语言理解,整个大脑都在参与,是一个非常复杂的过程。大脑大约有 1 千亿 个神经元,1 千万亿个连接,是一个庞大的复杂网络,人的思维是在这个网络上进行的并行处理。通过核磁共振发现,人在聆听他人朗读的时候,大脑的各个部位都有反应 [3]。


有两个脑区和语言密切相关:布洛卡区(Broca's area)和韦尼克区(Wernicke's area),是在对失语症的研究过程中发现的 [4]。韦尼克区负责词汇,布洛卡区负责句法。患有失语症的病人的特点是:如果布洛卡区受损,说话只会说出一个个单词,没有语法,不能形成语句。如果韦尼克区受损,说话听起来是一个语句,但可能用词不对,不能形成完整的语义。有一个假说是人脑中的词汇分析和句法分析是并行处理,布洛卡区和韦尼克区的功能分工是一个证据。


最近的嵌入模拟假说(embodied simulation hypothesis)颇受瞩目,有大量的脑科学与认知科学的实验佐证 [5]。人脑中语言的理解,是基于视觉、听觉、运动等的表象(image)的模拟。语言理解过程就是把相关表象联系起来,并将这些表象重新组合的过程。比如,问:「大猩猩有没有鼻子?」要回答这个问题,我们会在脑里先浮现出大猩猩的视觉表象,然后根据这个表象去回答问题。说明大猩猩的概念在我们的脑子里,至少有一部分是通过视觉表象记忆和理解的。再比如,听到:「Flying Pig(飞猪)」,不同的人会根据自己对飞的概念的理解(飞的表象),以及对猪的概念的理解(猪的表象)组合成不同的新的表象,也就是语言理解。有人会想象出像小飞象一样的 Flying Pig,也有人会想象出像阿童木一样的 Flying Pig。


语言对话与任务


罗素曾举过这样一个有趣的例子,说明语言的本质是表达和交流的工具。当牙医碰到你时,你可能会不由自主地发出呻吟,这不算语言。但是如果他说「如果我碰到你,你告诉我一声」,这时你发出同样的呻吟,它就成了语言。


对话是两个或更多人之间的书面或口头的交流,从功能主义的角度来看,对话的目的是话者共同完成信息交流的任务。多轮对话包含单轮对话,在对话的每一轮中一方需要理解另一方的语言。比如,问候、问答,协作(如订机票),甚至说服、辩论等,都可以看作是任务。其实聊天也可以看作是任务,目的是进行交流和沟通,整个过程可以分解为不同的子任务,每个子任务都有明确的目标。聊天的特点是开始不特意设定子任务,在过程中,子任务动态地变化,随时被设定、终结、恢复。


对话中要完成的任务一般可以由一个有限状态机表示,其中状态表示完成任务的一个阶段,有一个目标状态,若干个初始状态,从一个初始状态到达目标状态往往有多个路径,甚至许多路径。完成对话对应着从初始状态出发,通过一条路径,到达目标状态。比如说订机票,需要通过与对方交流,提供相关信息,每一个状态表示目前为止明确的信息。当任务简单的时候,有限状态机的状态数不多,模型的复杂度不高。但是,当任务变得复杂时,状态数和模型的复杂度会爆炸式地增加。


现实中,对话任务的形式化还有不少挑战,特别是当任务复杂,状态无法穷举、或者状态无法明确刻画的时候。所以对话系统还都局限在特定任务上,称为任务驱动的对话,比如,命令型、问答型。


对话过程中需要对对方的发话进行理解,也就是产生内部的表征。否则,无法判断任务的完成情况(也就是状态),进行任务驱动的对话。任务驱动的对话需要有语义表征。


4. 当前技术


计算机上达到和人同等的对话能力还非常困难。现在的技术,一般是数据驱动,基于机器学习的。对话技术分单轮对话和多轮对话。


单轮对话有基于分析的,基于检索的,基于生成的方法。表 1 给出几种方法的比较。


基于分析的方法,把问题定义为分类和结构预测。给定自然语言的发话,将发话转为内部的表征,之后产生系统的回复或动作。这种方法有显式的内部语义表征,适合于命令型的对话,在语音助手和智能音箱等应用上被广泛使用。


基于检索的方法,把问题定义为匹配。给定自然语言的发话,将发话与内部的文本进行匹配,之后将匹配到的文本返回,作为回答。这种方法,以文本(非结构化数据)形式拥有内部语义表征,可以做问答型的对话,在问答系统等应用被广泛使用。


基于生成的方法,把问题定义为文本的转换或翻译。给定自然语言的发话,一般利用深度学习模型,自动生成相应的回复。这种方法不拥有显式的语义表征,适合于自动生成回答的场景,比如,邮件的智能回复。


多轮对话系统,使用范围相对有限,当前多用于特定领域的任务型对话。如图 2 所示,一般地,多轮对话系统拥有语言理解,语言生成,对话管理,知识库等模块。对话管理又包括状态跟踪和动作选择子模块。可以认为多轮对话系统,是基于分析的单轮对话的扩展,在每轮对话中,对发话进行语义理解,产生内部表征。对话管理使用有限状态机,表示对话中获取信息的整个过程。经过几轮对话,系统逐步获取所需信息,并执行任务,如航班信息查询。


640?wx_fmt=png

表 1 单轮对话方法比较

 

640?wx_fmt=png

图 2 多轮对话系统


5. 最新进展


近年,深度学习、强化学习被成功应用到包括对话在内的自然语言处理的各个方面,并且取得了重大进展。端到端的训练和表征学习是深度学习的主要特点,正是这些特点使深度学习成为自然语言处理的强大工具,对话也不例外。强化学习适合于系统与环境互动并在这个过程中学习的贯序决策过程(sequential decision process)问题,多轮对话正是其应用。


下面介绍几个最新研究成果。


Liang 等开发了神经符号机(Neural Symbolic Machines)模型 [7]。神经符号机可以从知识图谱三元组中找到答案,回答像「美国最大的城市是哪里?」这样的问题。模型是序列对序列(sequence-to-sequence)模型,将问题的单词序列转换成命令的序列。命令的序列是 LISP 语言的程序,执行程序就可以找到答案。神经符号机的最大特点是序列对序列模型表示和使用程序执行的变量,用附加的键--变量记忆(key-variable memory)记录变量的值,其中键是神经表征、变量是符号表征。模型的训练是基于强化学习(策略梯度法)的端到端的学习。


吕等开发了神经查询器(Neural Enquirer)、符号查询器(Symbolic Enquirer),连接查询器(Coupled Enquirer)三个模型 [8,9],用于自然语言的关系数据库查询。比如,可以从奥林匹克运动会的数据库中找答案,回答「观众人数最多的奥运会的举办城市的面积有多大?」这样的问题。问答系统包括语言处理模块、短期记忆、长期记忆、查询器,语言处理模块又包括编码器和解码器。查询器基于短期记忆的问题表征(神经表征)从长期记忆的数据库中(符号表征与神经表征)寻找答案。


符号查询器是一个循环神经网络,将问句的表征(神经表征)转换为查询操作(符号表征)的序列,执行操作序列就可以找到答案。利用强化学习,具体地策略梯度法,可以端到端地学习这个循环神经网络。神经查询器是一组深度神经网络,将问句的表征(神经表征)多次映射到数据库的一个元素(符号表征),也就是答案,其中一个神经网络表征一次映射的模式。利用深度学习,具体地梯度下降法,可以端到端地学习这些深度神经网络。符号查询器执行效率高,学习效率不高;神经查询器学习效率高,执行效率不高。连接查询器把两者的优点结合起来。学习时先训练神经查询器,然后以其结果训练符号查询器,问答时只使用符号查询器。


Peng 等提出了基于层次化深度强化学习(hierarchical reinforcement learning)的对话策略学习方法,可以通过多轮对话帮助用户做旅行安排,包括预订机票、订酒店 [10]。对话系统整体架构与图 2 的相似,有语言理解、对话管理、语言生成模块。对话管理模块有两层结构,顶层模块负责管理子任务,底层模块负责管理子任务中的动作,状态跟踪模块负责管理全局的跨子任务的约束条件(如酒店的入住时间需晚于航班的达到时间)。对话管理策略通过层次化深度强化学习获得。


6. 未来展望


下面列举自然语言对话中比较重要的研究课题。


• 对话需要语义接地,即将自然语言映射到内部的表征,如何定义和使用语义表征是一个核心问题。


• 语言理解的多义性、多样性问题。虽然迄今有很多研究,但仍然没有根本解决。


• 语言和知识,既可以由符号表征,又可以由向量表征(神经表征),各有优缺点,如何将符号处理和深度学习结合是一个重要的问题。


• 多轮对话系统可以基于深度强化学习,也有很多问题需要研究。


• 对话系统是一个复杂的系统,需要进行层次化和模块化处理,如何构建这样的系统,并使其拥有自动学习功能也是一个大问题。


• 机器学习的数据往往是不够的,这使得端对端训练一个对话系统变得困难,在小样本的条件下学好对话模型是需要解决的重要课题。


7. 总结


以下将本文的主要观点进行总结。


从功能的角度,计算机也有可能能够像人一样,自如地进行自然语言对话,但是现在这个命题无法证真或证伪。原因是尚不清楚人脑的语言理解机制,用计算机完整模拟人的语言理解仍然非常困难。


但在特定领域,特定场景下,和人一样进行自然语言对话的计算机的实现,我们已经看到。问题是如何进行扩展,能够以更低的开发成本覆盖更多的领域和场景。


语言理解的核心是向内部表征的映射。多义性和多样性是计算机进行语言理解最大的挑战。


要完成具体的任务,体现计算机的智能性,定义和使用内部表征看来是不可或缺的。基于分析的方法本质上是重要的,甚至是在聊天机器人的场景。基于检索方法更适合于单轮问答的场景。基于生成的方法只能用于特定的场景。


多轮对话要体现完成任务的整个逻辑,有限状态机表示。开放式的对话意味着动态地改变任务,所以在现在的技术条件下,是非常困难的;在特定领域任务明确的条件下的对话,现实可行。


近年,深度学习和强化学习的使用,使得对话有了长足的进步。主要体现在表征学习、端到端学习上。事实上需要符号表征和神经表征,深度学习和符号处理的结合,这应该是未来发展的重要方向。


参考文献


[1] 李航,合理行动的智能机器,计算机学会通讯,第 14 卷第 7 期,2018 年


[2] 李航,迎接自然语言处理新时代,计算机学会通讯,第 13 卷第 2 期,2017 年


[3] 蒲慕明,脑科学给人工智能带了来什么?2016.


[4] Steven Pinker. The Language Instinct, 1994.


[5] Benjamin Bergen, Louder Than Words: The New Science of How the Mind Makes Meaning, Basic Books, 2012.


[6] 李航、吕正东、尚立峰,基于大数据与深度学习的自然语言对话,CSDN,2015 年


[7] Liang C, Berant J, Le Q, et al. Neural Symbolic Machines: Learning Semantic Parsers on Freebase with Weak Supervision. ACL 2017.


[8] Pengcheng Yin, Zhengdong Lu, Hang Li, Ben Kao. Neural Enquirer: Learning to Query Tables with Natural Language. IJCAI 2016.


[9] Lili Mou, Zhengdong Lu, Hang Li, Zhi Jin, Coupling Distributed and Symbolic Execution for Natural Language Queries, ICML 2017.


[10] Baolin Peng, Xiujun Li, Lihong Li, Jianfeng Gao, Asli Celikyilmaz, Sungjin Lee, Kam-Fai Wong, Composite Task-Completion Dialogue Policy Learning via Hierarchical Deep Reinforcement Learning, EMNLP 2017.


未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能,互联网和脑科学交叉研究机构。


未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/494962.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

浅析智能指针

为什么要有智能指针? 1.什么是智能指针? 智能指针是一个类,这个类的构造函数中传入一个普通指针,析构函数中释放传入的指针。智能指针的类都是栈上的对象,所以当函数(或程序)结束时会自动被释放…

论强化学习的根本缺陷

来源:AI 科技评论摘要:本文来自斯坦福大学博士生 Andrey Kurenkov 在 The Gradient 上发表的文章。在本文中,我们将讨论人工智能的一个核心领域——强化学习——的局限性。在这个过程中,起初我们将通过一个有趣的例子提出我们要讨…

最后期限已至,高通收购恩智浦全剧终!中国一刀切断高通物联网全局梦!

来源:物联网智库摘要:没有一种商业模式可以永享特权。物联网时代,当专利和芯片两大支柱业务均受到剧烈冲击和威胁之下,如何创新以自救,正是考验高通全面战略能力的关键时刻,恩智浦是当前高通给出的最好答案…

斯坦福证明神经网络能直接在光学芯片上训练

来源:全球人工智能摘要:据报道,美国斯坦福大学的研究人员已经证明,可以直接在光学芯片上训练人工神经网络。据报道,美国斯坦福大学的研究人员已经证明,可以直接在光学芯片上训练人工神经网络。这一重大突破…

用Keil-MDK开发TQ2440裸机程序入门教程——LED流水灯实现

觉得此编文章很详实,故转载之,来自http://www.amobbs.com/thread-5281512-1-1.html 开发板也差不多买了半年了, 以前照着教程用的是软件是ADS,在win7下老是崩溃, 后来才知道ADS早就不提供支持了, ADS的公司怎样怎样了...(此处省略300..) 然后我就捣鼓着怎…

关于量子计算,你应该知道的七个事实

来源:资本实验室摘要:在很多人眼中,量子计算机被认为能够完成经典计算机所不能完成的任务。聚焦前沿科技创新与传统产业升级在很多人眼中,量子计算机被认为能够完成经典计算机所不能完成的任务。事实上,如果量子计算机…

机器学习帮助人类找到最硬的过渡金属氮化物

来源:中国科学杂志社摘要:南京大学物理学院孙建教授和王慧田教授领导的研究团队发展了机器学习加速晶体结构搜索的方法,并用其预测了一种超硬的钨氮化合物。机器学习算法在很多领域取得了令人瞩目的进步,从而广受人们关注&#xf…

WEB攻防实战篇,思维导图

转载于:https://www.cnblogs.com/sin4/archive/2012/06/16/2551603.html

二维数组按行和按列遍历的效率

按行遍历的效率大概是是按列遍历的0.5倍 在c语言中,数组在内存中是按行存储的,按行遍历时可以由指向数组第一个数的指针一直向后遍历,由于二维数组的内存地址是连续的,当前行的尾与下一行的头相邻,所以可以直接到下一行…

解读《自适应机器人交互白皮书》:机器人交互需要突破性技术

来源:机器人创新生态摘要:7月11日雷克大会,英特尔中国研究院机器人交互实验室研发总监任海兵在演讲时,就白皮书中的内容进行了重点解读。个人服务机器人在近年来随着人工智能的快速发展开始得到不少关注。个人服务机器人是否真正能…

最长升序子串1231

题目与解析 给定n个数字,在这n个数字中找出最长上升子序列。 那么什么是上升子序列呢? 上升子序列就是在一个数列中递增的部分,不一定是连续的,比如说 图中的24678和24679都是数列24635798的上升子序列 解题思路 就按图上2 4 …

科学革命与科学教科书

来源:《出版科学》2018年第4期摘要:借助科学哲学的反思,加上科学家和出版人的创新实践,一定能够出现既能促进常规科学研究、又能为科学革命做出某些准备的新型科学教科书。《科学革命的结构》托马斯 • 库恩著,金吾伦、…

物联网可应用于十大行业嘛?

来源:亿欧智库摘要:近些年来,全球经济增长乏力,物联网已变成了各国经济发展的新动力。基于此,亿欧智库近日将发布一份新的报告《2018物联网行业应用研究报告》,报告总结出了物联网的十大应用行业&#xff0…

浅析死锁

什么是死锁? 死锁就是两个或多个进程在执行的过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞现象,当进程处于这种状态时,如果没有外力的作用,这些进程都无法继续向前进行。这是操作系统层面的一个错误&#xff…

2018年全球AI突破性技术TOP10

来源:艾瑞网摘要:聪明的科技公司都不再单一的专注于自己的传统业务,而是着眼于未来,不断创新技术,跨界融合打造一个整合的生态系统。人工智能是个高科技、宽领域、多维度、跨学科的集大成者,从立足大数据、…

全球11个行业、71家知名企业的创新Lab与布局

来源:CBInsights新技术的革新引发了商业世界重构的浪潮,在这一波由人工智能引领的创新潮流里唯有拥抱变化才能不为时代淘汰,顺应趋势取得更大的发展。新技术的革新引发了商业世界重构的浪潮,在这一波由人工智能引领的创新潮流里唯…

组队竞赛

题目解析: 队伍的水平值等于该队伍队员中第二高水平值,为了所有队伍的水平值总和最大的解法,也就是说每个队伍的第二个值是尽可能大的值。所以实际值把最大值放到最右边,最小是放到最左边。 解题思路: 本题的主要思路是…

【SD】差异值 生成 同一人物 制作 表情包 【1】

说明:只对AI生成的人物,效果稳定。 Reference差异值 生成表情 首先生成一张图片。 测试命令:1 man,chibi,full body, 模型:envyclarityxl02_v10.safetensors [f6c13197db] 种子:2704867166 》》测试命令&#xff1a…

MySQL索引原理、失效情况

声明:本文是小编在学习过程中,东拼西凑整理,如有雷同,纯属借鉴。 Mysql5.7的版本, InnoDB引擎 目录 1 mysql索引知识 1.1 BTree索引 1.2 主键索引和普通索引的区别 1.3 唯一索引vs普通索引 2 mysql索引优化 2.1 查看索引使…

2018年人工智能全景图与发展趋势分析

来源:专知摘要:风险资本家马特图尔克(Matt Turck)最近发布文章,能力越大,责任越大,介绍了大数据与人工智能在2018年发展的趋势,并发布了全景图,涵盖基础架构、开源框架、…