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意识到,如果机器鼓励患者过多地谈论自己的隐私问题,或是说出一些伤人的话,对患者来说是一种潜在的伤害。如果世界上真的存在可以理解任何事物的对话系统,制造者们该如何对它加以限制?

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

微软研究院AI头条
微软研究院AI头条

专注科研19年,盛产黑科技

工程文本转语音自然语言理解语音识别人机对话
1
相关数据
机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

自然语言理解技术

自然语言理解是人工智能的核心课题之一,也被广泛认为是最困难和最具标志性的任务。最经典的两个人工智能思想实验——图灵测试和中文房间,都是围绕自然语言理解来构建的。自然语言理解在人工智能技术体系中的重要性不言而喻,它一方面承载着机器和人的交流,另一方面直达知识和逻辑。自然语言理解也是人工智能学者孜孜以求的圣杯,机器学习的巨擘 Michael I. Jordan 就曾经在 Reddit 上的 AMA(Ask Me Anything)栏目中畅想用十亿美元建立一个专门用于自然语言理解的实验室。

数据库技术

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 所谓“数据库”系以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

图像生成技术

图像生成(合成)是从现有数据集生成新图像的任务。

对话系统技术

对话系统大致被分成两类: 任务为导向的对话系统,帮助用户去完成特定任务,比如找商品,订住宿,订餐厅等。实现任务为导向的对话系统,主要有两类方式,流水线方法和端到端方法。非任务导向的对话系统,与用户进行互动并提供回答,简单的说,就是在开放领域的闲聊。实现非任务导向对话系统也主要可分为两类,生成方法和基于检索的方法。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

自然语言生成技术

自然语言生成(NLG)是自然语言处理的一部分,从知识库或逻辑形式等等机器表述系统去生成自然语言。这种形式表述当作心理表述的模型时,心理语言学家会选用语言产出这个术语。自然语言生成系统可以说是一种将资料转换成自然语言表述的翻译器。不过产生最终语言的方法不同于编译程式,因为自然语言多样的表达。NLG出现已久,但是商业NLG技术直到最近才变得普及。自然语言生成可以视为自然语言理解的反向: 自然语言理解系统须要厘清输入句的意涵,从而产生机器表述语言;自然语言生成系统须要决定如何把概念转化成语言。

暂无评论
暂无评论~