微软邓力详解聊天机器人的分类与发展历程
邓力在 AI NEXT 演讲现场
本月18日,由美中技术与创新协会(Association of Technology and Innovation,ATI)主办的第一届“AI NEXT”大会在西雅图召开。本次会议的主要嘉宾包括:微软首席 AI 科学家邓力,微软院士黄学东,Uber 深度学习负责人 Luming Wang 等。华人之外,还有亚马逊 Alexa 首席科学家 Nikko Strom,微软小娜架构师 Savas Parastatidis 等业内知名专家。
大会主题是“探索 AI 的潜力,把 AI 技术应用于实用项目和服务”,对 CV、NLP、智能助手、深度学习框架均做了专题报告。其中,邓力博士以”对话系统:历史发展与现状“为题,向与会者作了 ppt 演讲报告。
邓力:很高兴能够来这里,与大家分享我的一些研究——对于该领域,我个人将其称之为”聊天机器人技术“(Bot Technology),有时也被叫做对话系统(Dialogue System),与人机交流(Human-Machine Communication)紧密相关。对该领域的研究,已经有相当长的历史。借这次机会,我想要与大家分享该技术的历史发展,以及一些时新论文研究中的前沿技术突破。
当我们谈起对话系统、对话代理(Conversational Agent)、对话式交互界面(Conversational UI)或者聊天机器人,它们其实从属于同一类技术,是实现人机交互(HCI)的一种方式。今天我主要想讲讲,在过去的二三十年间,这类技术是如何发展的。就好像对于神经网络专家,今天所流行的深度学习以及各种 AI 技术,其根源都要追溯到二三十年前。过去许多有价值的研究,都被现在的年轻人忽视了。我希望大家能够回头看看这些技术的演进历程——今天的技术都不是孤立存在的,也不是科研人员用一两年时间一下子研究出来的。
我先从对该技术的简单介绍开始。
首先,这类技术可被分为两类:基于文字(Text-based)和基于语音(Speech-based)。大家将会从下一位演讲者 Nikko(亚马逊 Alexa 首席科学家 Nikko Strom,本次大会上他的演讲主题为 “Alexa是怎样炼成的”)那里,听到更多关于”基于语音“的东西,因此我会重点讲”基于文字“和它们之间的区别。
有一种视角把口语对话系统看作是两类系统的接替(基于语音→基于文字):先是语音识别,然后,语音识别的结果变成一连串的文字,这就成了基于文字的系统。这是传统的观点。
但现在看来,这两种系统可以很好的整合到一起,不再是两条分离的流水线(Pipeline)。这样可以对端到端(End-to-End)的性能进行优化。这方面有些不错的学术出版物。
所以,我写的“对话系统= | ≠语音识别+基于文字的对话系统”的意思是:口语对话系统既可被看作是两种系统的接替,也可不这么看。传统的观点十分简洁,可以有两个不同的开发者社群来进行技术开发:一个是语音识别,一个是用基于文字的系统识别错误,因为语音识别会产生错误。
在这里,我想指出三点:
设计对话系统有两种不同方式:整合学习(Integrated learning)vs. Simply pipelined;
对于基于语音的系统,它包含额外的信息:我们称之为 Para-linguistic cues,这在文字中是缺失的。若能充分利用 Para-linguistic cues,比如说话者的情绪、肢体语言,基于语音的系统会远远强大于基于文字的系统。当然,后者也有一些表达情绪的方式,比如 emoji 的使用,但和 Para-linguistic cues 相比仍然是不同的东西。这是基于语音和基于文字系统的一项主要区别。
另外,取决不同的用户,语音输入可能会比文字输入更简单——或者更复杂。对我个人而言,由于对语音技术比较了解,在噪音不高的情况下,我倾向于使用语音来于小娜对话。但对于大多数人而言,他们倾向于使用基于文字的对话,因为他们不知道语音识别在什么情况下效果好,什么情况下效果不好。区别于不同用户,会有不同的人机对话行为,这是系统设计中需要考虑的、很重要的一点。
另一个重要区别是:窄领域 vs 宽领域(narrow domain vs wide domain)。目前来讲,基于文字的系统一般被看作是宽领域,语音是窄领域。但这是由于目前技术所限,随着语音识别技术成熟,情况很快就可能发生变化,尤其鉴于深度学习对语音识别的改善。今天的研究人员,已经可以着手思考怎么让基于语音的系统更宽更 open。
接下来,我会讲讲口语对话系统的三代发展。
口语对话系统的三代发展
近几年,我们经历了一轮又一轮公众对于 AI 技术的兴奋期。但现实是,相关技术的基础在1980年代末、1990 年代初就已经开发出来了。我会对这些技术如何从第一代发展到最新一代作个概括。
第一代:基于符号规则、模板
首先,第一代技术从1980 年代末开启,在流行度上面,几年前这一波技术就可以说是结束了,虽然你能够发现一些商用系统和 bot 初创企业还在使用它们。这代技术依赖于专家人工制定的语法规则和本体设计(ontological design)。这些规则很容易解释、理解,比较透明,这就是这代技术为什么能催生出一系列的成功商业应用的原因。修补漏洞很容易,系统更新也很容易。
它的局限性:
依赖于专家。如果没有懂得编写这类应用的专家,开发会极其困难。
跨领域的扩展性不足
数据用来设计规则,而不是学习
早期有相当多的高校、*机关、商业公司研发这类系统。它们可分为语音识别和语言理解系统。它们全都由符号规则组成,需要付出极大的努力来开发。
由于这些局限,第一代技术只能应用于极狭窄的领域,而这也许是一件好事。有一个非常好的、关于这类技术的论文,它的研究对象是伯克利的餐厅。雷锋网获知,普通餐厅反而是不行的,因为需要写的规则太多。
第二代:数据驱动、浅层学习
第二代技术是数据驱动型的。
从业者不愿意把这代技术称之为浅层学习(shallow learning),但事实如此,它们是传统的浅层学习方法。对了,用于对话规则(dialogue policy)的强化学习就是这时候研究出来的(1990 年代)。今天我们看到的强化学习高潮,在那时就打下了基矗如今深度学习的进步进一步起到了帮助。
这种基于浅层学习的数据驱动方式,不容易理解和修补漏洞,但确实有学习能力。
这篇论文(“POMDP-based statistical spoken dialogue systems:a review”)对第二代技术做了整体归纳,它发表的时间是 4 年前(2013),恰恰在深度学习登场之前。这篇论文是剑桥大学的成果,他们做了很多努力来把该系统商业化。
第三代:数据驱动的深度学习
第三代技术用深度学习取代了浅层学习的部分。和第二代技术一样,数据被用来学习对话系统中的所有东西。第三代的神经模型和表示远远比前两代要强大,端到端的学习也变得可行。从两年前开始,它吸引了全世界范围内巨大的研究兴趣。但它也有许多局限性:
解释、修补漏洞、更新系统仍然不容易。
在神经网络学习和符号自然语言之间缺乏交互界面
跨领域的扩展,但相当多的研究在想办法利用深度迁移学习和强化学习来实现
尚无明确的商业成功案例。
这三代技术有各自的强项,如何把这些优点整合起来,是一项主要的挑战。很多研究聚焦于此。
研究前沿
这里我列出了三项前沿研究领域:
基于语音 vs 基于文字
针对对话的深度强化学习
符号-神经之间的整合
邓力简介:邓老师原为加拿大滑铁卢大学教授,1999年加入微软,2016年起担任微软首席人工智能科学家,负责微软深度学习技术中心应用趋向的深度学习研究。