在拉斯维加斯举行的亚马逊re:MARS AI大会上,Alexa 副总裁 Rohit Prasad 演示了Alexa智能助手的一种新对话模型。在这个新模型中,Alexa 可以无缝地在技能之间进行转换,并记住对话的上下文,从而消除歧义。
Alexa 用户对于技能的概念无疑很熟悉,这是 Alexa 功能的构建块。用户通过选择一个技能来让 Alexa“打开”或“启动”该技能。一旦某个技能激活,Alexa 的会话功能就会受到该技能需求的限制。与许多其他聊天机器人一样,Alexa 使用意图分类和槽填充模型。意图/槽模型的一个例子是电影票购买技能。在该技能中,意图 PurchaseTickets 拥有槽 theaterCity、theaterName、movieTitle*、*showTime 和 numberOfTickets。
分析用户说出的每个短语,以确定用户希望 Alexa 采取的操作(意图)以及具体的操作参数(槽)。一旦确定了意图,接下来与 Alexa 的大部分对话都是为了填充意图的任何空白槽。这个模型的一个缺点是 Alexa 不记得对话的任何细节。特别是,已经被标识为槽值的项不能供用户稍后可能选择的其他技能使用。例如,如果用户购买了电影票,然后想要使用 Alexa 来安排拼车去影院,目前还不能简单地说,“我需要一辆车去那里。”相反,用户必须显式地打开拼车技能,并填写该技能的槽 destinationAddress(目的地地址)和 arrivalTime(到达时间)。该技能无法把前一技能的槽 theaterName(剧院名称)和 showTime(放映时间)作为上下文推断出这些。
在re:MARS主题演讲中,Prasad 播放了一个视频,演示一段与 Alexa 之间的对话。在这个视频中,用户与 Alexa 进行了长时间的对话,购买电影票,预订餐馆,安排拼车,所有这些全都使用了一个新的对话模型,在这个模型中,Alexa 可以保持上下文信息,在技能之间进行切换,并使用记住的上下文填充槽。Alexa 团队表示,“每一轮对话,系统都会生成一个向量……这代表了对话的上下文和语义内容。”
这个演示代表了许多研究论文的成果,其内部运作机制去年在一篇博文和会议论文中提到过。系统创建槽嵌入,将语义相似的槽在嵌入空间里聚合在一起。这使得 Alexa 能够识别出什么时候可以用一个技能的槽来填充另一个技能的槽。还有一个LSTM神经网络,它决定是否将槽值“结转”到下一步的对话中。
虽然这项技术还没有正式向 Alexa 开发者社区发布,但已经有一个名为Alexa Conversations的开发者预览程序。开发人员可以申请“对即将到来的跨主题功能的早期访问”。一名Alexa冠军Mark Tucker 在推特上说:
Alexa Conversations 预览版承诺了更少的编码和更多的对话体验。每个开发人员都应该开始期待。亚马逊主要关注对话管理,而不是状态管理和意图上下文。这会是解决方案吗?
然而,并不是每个人都对新对话模型表现得很激动。Hacker News的一位评论者指出:
我希望它能走向一个更明确的“项列表->遗传->新的项列表”方法。当你试图与它进行正常对话时,Alexa 最容易暴露缺点。
查看英文原文:Amazon Announces New Cross-Skill Conversational Model for Alexa
评论