Press "Enter" to skip to content

Layla El Asri:如何建立更智能的人机对话系统

Layla El Asri博士是微软蒙特利尔研究院的研究经理,研究重点为对话系统的强化学习,当前研究兴趣包括对话系统的评估、视觉对话(visual dialogue)、人际对话的离线强化学习等。在微软蒙特利尔研究院,Layla El Asri博士与她的团队致力于探索对话系统研究的前沿,并改进微软产品中的对话功能。

早在上世纪90年代,对话系统就已经投入使用,但直到2011年Siri面市,对话系统才开始更广泛地在生活中扮演人们喜闻乐见的“个人助手”角色。不过在大多数情况下,它们只能帮你做一些简单的服务,比如预定日程。

 

在微软蒙特利尔研究院,研究经理Layla El Asri博士正通过强化学习让对话系统胜任更复杂的任务,比如帮你处理财务,解决使用计算机时遇到的问题,甚至任何在生活中遇到的疑难杂症。语音助手会用像人类一样流畅易懂的自然语言为你做出解答,使你感到像是在向一位专业人士进行咨询。

 

训练一个能与你无缝衔接地进行对话的AI,绝不是一件易事。因为在对话场景中,对话生成的可能性是无限的。语音对话系统面临的最大挑战,正是这种巨大的不确定性。比如,自动语音识别需要明辨不同口音、不同年龄层的用户的差异,文本识别要努力不被人们错误的拼写和随意的句法混淆,等等。这对我们来说似乎很容易,因为人类有常识(common sense),而对话系统并不具备。

 

这正是当前机器学习的一大难点。对于如何让机器具备常识,目前业界还没有很好的方法。研究者们无法为整个世界编写规则,也无法将对整个世界的分类输入一台机器。他们采取的方法之一,是让机器与世界互动,让机器在阅读文本、观看图像、聆听声音的过程中,试图建立常识。但机器并不能真正以人类的方式学习,这是这条路径的困难之处。尽管如此,这是一条非常活跃的研究路径,许多有趣的研究项目正在进展之中。

 

建构对话系统

 

像Cortana、Siri和Alexa这样的对话系统,通常包含以下几个模块:

 

• 自动语音识别。先通过自动语音识别,对用户口述的内容进行文字转录。

 

•自然语言理解 。在听到用户说“我想在市中心找一家餐馆”后,系统要对用户的意图进行理解,明白你所谈论的领域。

 

• 状态跟踪。这一模块的作用是跟踪整个对话,发现能够帮它回答问题的更多有用信息,比如,早先你可能提到过“意大利”。

 

• 数据查找。系统在餐馆数据库中查找市中心的意大利餐馆,我们假设它返回了20个结果。

 

• 对话管理。在获得20个结果后,对话管理模块将查看对话状态,试图进一步缩小范围。这时它可能意识到,用户也许有预算要求,因此它会通过自然语言生成一个问题。

 

• 文本转语音。系统通过这个模块询问用户,在根据用户回答删去部分餐馆后,呈现最终的结果。

 

以上模块各自管理对话系统的一个方面,也正因如此,系统能够执行的对话受到了模块化结构的限制。因此,强化学习非常适合对话情境,因为系统可以在与用户的多轮交互中学习得更好。

 

Layla博士与她的团队目前围绕对话系统所做的研究,是通过神经网络让模型从以往的对话中,学习到下一步应该说的内容。这其中包含太多值得推敲的因素,包括语法、词法、清晰度、词汇选择等。下面是他们正在进行的几个有趣的研究。

 

Chat Painter

 

在机器学习中,像GANs(生成式对抗网络)这样的图像生成模型正变得越来越强,能够生成非常逼真的图像,但这些神经网络模型的原理却非常难解。

 

为了让人们更简单、高效地使用它们,Chat Painter为图像生成模型添加了对话界面,让人们可以完全通过与系统的对话来生成绘画,并控制所生成的图像。比如你可以说,“在画面中间加一棵树,在左上方画一个太阳,在草地上加一个小男孩”。

 

Layla团队目前正在制作一个开放给公众的公开演示版。无论用户是否明白图像生成的原理,只要与模型进行交谈,都可以利用机器进行天马行空的绘画。

 

这是一个提升技术的可及性(accessibility)的典例。除此之外,知识的可及性也是一个很有前景的发展方向。在这一场景中,对话系统将帮你“消化”难以理解或是连篇累牍的文章,并用比较简洁的词汇向你解释,让用户得以方便地理解和运用这些知识。

 

TextWorld

 

在TextWorld中,只要向游戏引擎讲述规则,TextWorld就可以为用户生成文本游戏。

 

用户可以通过输入语句来创造世界和引导角色,比如“有一间卧室,与浴室和起居室相连”,然后在每个房间里放置物品,“在卧室放一张床,在浴室放一个柜子,并把开箱的钥匙放在客厅里”。接着定义一项任务,“找到钥匙,打开柜子,收集其中的一项物品,玩家就可以通过这一关卡”。

 

在评估对话系统的效果时,主要有两大指标。其一是语言的质量,包括语法、遣词造句的正确性,其二是看句子的内容是否能够推动对话的发展,以及与上下文是否一致。

 

TextWorld就提供了一个训练对话系统的理想环境。首先它本身是一个人机对话的过程,其次对于在TextWorld生成的游戏,解谜者想要通关,就必须对系统输出有意义的句子,比如“我要开门。我要拿钥匙。我要用钥匙打开柜子”。在听到解谜者的语音指令时,系统首先会判定句子是否正确,然后评估指令在游戏进程中的进展情况。所以,语音指令必须满足以下两个条件:句子正确,以及内容能让解谜者在任务中向前移动。

 

收集对话数据的两种方式

 

由于难以从互联网中获取对话数据,这对需要大量对话数据的对话系统研究来说,是一个尤其棘手的问题。在缺乏数据的情况下,Layla博士通常采取两种方式来收集数据。

 

其一是通过模拟对话自主建立数据集。Layla博士与她的团队建立了自己的目标导向型对话数据集——Frames数据集。Frames数据集的对话内容是两人之间关于度假预订的交谈,由一个人扮演提出需求的用户,另一个人扮演试图找出解决方法的机器,随后将他们的所有对话整合形成数据集。

 

其二是搭建类似TextWorld的模拟环境,去生成大量对话作为训练数据。这种方式得到的数据会更为清晰简洁,因为在特定的模拟环境中,对话用到的词汇量会相对较少。因此Layla博士更加偏好模拟环境,她认为这能让他们的对话系统更进一畴。

 

对话系统的标准与规范

 

评估模型的质量与效果是构建对话系统的另一大挑战。人工评估的成本非常高,因此建立自动的衡量标准对模型进行评估是必要的,在最后阶段才使用人工评估验证假设,并与先前的其它模型进行比较。然而,建立这种自动指标是非常困难的,目前业界建立的自动指标也都不尽如人意。

 

此时,常用的方式是将对话系统生成的句子与原始对话数据中的相应句子进行比较,看看它们是否相同。这个指标叫“Blue Score”,是一个事实上非常不靠谱的指标,因为在不同的情境下,对话下文可以使用的措辞有很多,它们都符合正确、得体、上下文一致的要求,都在当前语境下有意义,仅判断系统是否猜中原文中的那句话是显然不对的。但要考察句意是否在当前语境中富有意义,这确实非常困难。

 

如果你和Cortana、Siri等系统谈论比较私人的问题,它们可能会给出这样的回应:“我不知道你在说什幺”。这是因为设计者在对话系统的自然语言理解模块定义了系统能够识别的意图,如果谈话内容超出了这一范围,它只能说“我不理解”,或者“我不想谈论它”。Layla博士一直试图摆脱这种模块化的结构,让对话系统能够理解任何事物。

 

但这一点也让她深感不安。在上世纪60年代,美国麻省理工学院的Joseph Weizenbaum教授创造了历史上的第一个对话系统Eliza。Eliza的使命是模仿心理治疗师的行为,鼓励它的使用者更多地谈论他们主动提出的话题,比如当用户述说“我和父母的关系不好”,它会回应“请详细谈谈关于你父母的事情”。在当时,人们以一种出乎意料的程度向Eliza敞开了心扉,愿意与她倾诉非常私密的话题。一次Weizebaum的秘书和Eliza对话时,竟然要求Weizenbaum回避。这让Weizenbaum意识到,如果机器鼓励患者过多地谈论自己的隐私问题,或是说出一些伤人的话,对患者来说是一种潜在的伤害。如果世界上真的存在可以理解任何事物的对话系统,制造者们该如何对它加以限制?

 

因此,即便对话系统研究试图摆脱模块化的系统结构,研究者们仍然应该对对话系统的内容保持警惕,仍然应该努力让系统以负责任的、符合伦理的方式给出回答,这正是微软所身体力行的。在世界范围内,也有越来越多的公司和研究实验室意识到了这个问题,并试图为此建立标准。

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注