首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >亚马逊Alexa对话管理的科技创新

亚马逊Alexa对话管理的科技创新

原创
作者头像
用户11764306
发布2026-03-17 21:30:54
发布2026-03-17 21:30:54
870
举报

今天,我们宣布Alexa对话管理(Alexa Conversations)功能公开测试版发布。Alexa开发者现在可以利用由深度学习驱动的先进对话管理器,来创建复杂的非线性体验——这种对话远不止于今天常见的单轮交互,例如“Alexa,今天的天气预报怎么样?”或“Alexa,设置一个十分钟的煮面计时器”。

Alexa的自然语言理解模型会根据领域(domain)对请求进行分类,领域指的是负责处理客户意图的特定服务。这些模型还能识别请求中提到的实体(entity)的槽位类型(slot types),即这些实体在完成请求中所扮演的角色。在“播放安德拉·戴的《Rise Up》”这个请求中,领域是音乐,意图是播放音乐,而“Rise Up”和“安德拉·戴”这两个名称则分别填充了歌曲名和艺术家名这两个槽位。

自然对话不会遵循这种预设的对话路径,通常包含回指(例如通过说“播放它”来指代之前提到过的歌曲)、实体的上下文延续、客户修正请求以及许多其他类型的交互。

Alexa对话管理功能使客户能够以自然、对话的方式与Alexa进行交互。同时,它也使开发者不必再花费精力去编写复杂的对话管理规则,这些规则难以维护,并且常常导致脆弱的客户体验。其对话增强算法和深度学习模型解决了设计灵活且稳健的对话体验所面临的挑战。

Alexa对话管理的核心技术由两大科学创新驱动:一个是用于数据增强的对话模拟器,它可以将开发者提供的少量对话样本泛化为成千上万条带注释的对话;另一个是对话优先的建模架构,它利用生成的对话来训练基于深度学习的模型,以支持超出样本对话所提供的理想路径之外的多种对话。

Alexa 对话模拟器

构建高性能的深度学习模型需要大量且多样化的数据集,而获取这些数据的成本很高。通过Alexa对话管理功能,对话模拟器可以从开发者提供的、覆盖技能功能的少量示例对话中自动生成多样性数据,并且也能生成可能发生的困难或不常见的交互。

对话模拟器的输入包括:开发者提供的应用程序编程接口(API)、槽位及其对应的槽位值目录(例如城市、州)、以及回复模板(Alexa在不同情境下的回复,例如向客户索要槽位值)。这些输入及其参数和输出值共同定义了对话管理器将要预测的动作和槽位的特定技能模式。

对话模拟器使用这些输入,通过两个步骤生成额外的对话样本。

第一步,模拟器生成代表对话可能采取的不同路径的对话变体,例如槽位值的不同序列,以及当客户改变主意时出现的分叉路径。

更具体地说,我们将对话视为客户和Alexa这两个主体之间协作的、目标导向的交互。在这种设定下,客户有一个想要达成的目标,例如预订一张机票,而Alexa可以访问一些资源,例如用于搜索航班信息或预订机票的API,这些资源可以帮助客户达成目标。

模拟对话是通过两个主体模拟器(一个模拟客户,一个模拟Alexa)的交互生成的。首先,模拟器从开发者提供的示例对话中,采样出几个与技能交互的客户可能想要达成的合理目标。基于一个采样的目标,我们生成两个模拟主体之间的合成交互。客户主体逐步向Alexa主体揭示其目标,同时Alexa主体收集客户主体的信息、确认信息,并就缺失信息提出后续问题,从而引导交互完成目标。

第二步,模拟器向对话路径中注入语言变体。这些变体包括表达相同客户意图的不同方式,例如“给我推荐一部电影”与“我想看部电影”。其中一些替代表达由示例对话和Alexa回复模板提供,另一些则通过释义生成。变体还包括替代的槽位值(例如艺术家名槽位的“安德拉·戴”或“艾莉西亚·凯斯”),这些值是从开发者提供的槽位目录中采样的。通过这两个步骤,模拟器生成了成千上万条带注释的对话示例,用于训练对话模型。

Alexa 对话管理的建模架构

自然的对话体验可能遵循多种多样的非线性对话模式中的任何一种。其对话优先的建模架构利用对话模拟器和对话建模组件,来支持包含实体延续、回指、槽位和API确认、主动提供相关功能,以及在对话中途客户改变主意时的稳健支持等多种对话模式。

我们采用端到端的对话建模方法,模型会考虑当前的客户话语以及整个对话历史中的上下文,来预测Alexa接下来应采取的最优动作。这些动作可能包括调用开发者提供的API来检索信息并将信息传达给客户;向客户询问更多信息;或者其他多种可能性。

该建模架构采用最先进的深度学习技术构建,包含三个模型:命名实体识别(NER)模型动作预测(AP)模型参数填充(AF)模型。这些模型的构建结合了两种技术:在对话模拟器生成的带注释合成对话上进行监督训练,以及在文本语料库上对大型基于Transformer的组件进行无监督预训练。

首先,NER模型识别每个客户话语中的槽位,从开发者在构建时定义的槽位集(如日期、城市等)中进行选择。例如,对于请求“搜索明天去西雅图的航班”,NER模型会将“西雅图”识别为城市槽位,将“明天”识别为日期槽位。

NER模型是一个序列标注模型,在基于Transformer的预训练句子编码器之上构建了一个双向LSTM层。除了当前句子,NER还以对话上下文作为输入,该上下文通过一个分层LSTM架构进行编码,该架构捕获了对话历史,包括过去的槽位和Alexa的动作。

接着,AP模型预测Alexa接下来应采取的最优动作,例如调用API或回复客户以获取更多信息或完成请求。动作空间由开发者在技能编写过程中提供的API和Alexa回复模板定义。

AP模型是一个分类模型,与NER模型类似,它使用分层LSTM架构对当前话语和过去的对话上下文进行编码,最终传递到一个前馈网络以生成动作预测。

最后,AF模型通过审视整个对话以获取上下文,来填充API和回复模板的参数值。利用一种基于注意力的指向机制,AF模型从NER模型之前识别的所有槽位值中选择兼容的槽位。

例如,假设对话上下文中存在“西雅图”作为城市槽位值、“明天”作为日期槽位值,并且AP模型预测“搜索航班”API为下一个最优动作。AF模型将用适当的值填充API参数,生成一个完整的API调用:SearchFlight (city=“西雅图”, date=“明天”)。

在客户话语之后,AP和AF模型也可能预测并生成多个动作。例如,它们可能决定先调用一个API来检索航班信息,然后调用一个Alexa回复模板将这些信息传达给客户。因此,AP和AF模型可以按顺序预测动作,包括决定停止预测更多动作并等待下一个客户请求。

细节精要

一致性检查逻辑确保最终的预测都是有效的动作,并与开发者提供的关于其API的信息一致。例如,如果某个输入参数是开发者要求必需的,系统就不会生成一个带有空输入参数的API调用。

输入包括整个对话历史以及最新的客户请求,使得模型预测具有上下文相关性、相关性强且不重复。例如,如果客户在搜索航班时已经提供了旅行日期,Alexa在预订航班时就不会再询问日期。相反,之前提供的日期将作为上下文延续并传递给相应的API。

我们利用了大型预训练Transformer组件(BERT)来编码对话中当前和过去的请求。为了确保模型在构建时和运行时都具有最先进的延迟表现,我们执行了推理架构优化,例如在GPU上加速嵌入计算、实现高效缓存,以及利用数据和模型层面的并行处理。

我们对这些进展感到兴奋,它们使得Alexa开发者能够构建灵活且稳健的对话体验,让客户能够与他们的设备进行自然交互。有兴趣了解更多关于如何构建这些对话体验的开发者,可以阅读我们随附的开发者博客。FINISHED

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Alexa 对话模拟器
  • Alexa 对话管理的建模架构
  • 细节精要
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档