Amazon Lex

构建语音和文本对话式界面的服务,基于与 Amazon Alexa 相同的自然语言理解引擎,通过意图和槽位设计定义对话流程

概述

Amazon Lex 是一项将聊天机器人和语音助手等对话式界面嵌入应用的全托管服务。基于支撑 Amazon Alexa 的自然语言理解 (NLU) 和自动语音识别 (ASR) 技术,V2 API 可视化设计多轮对话、条件分支、槽位验证逻辑等高级对话流程。与 Amazon Connect 集成实现联络中心自动应答,支持 25 种以上语言。

意图与槽位设计决定对话质量

Lex 机器人设计中最重要的是正确分类用户发言意图的意图 (Intent) 和收集执行该意图所需信息的槽位 (Slot) 设计。意图表示「想预订酒店」「想查询订单状态」等用户目的,每个意图注册示例话语 (utterance)。Lex 的 NLU 引擎基于示例话语构建机器学习模型,即使未注册的表达也能推断意图。但示例话语的质量和数量直接影响模型精度,因此全面注册用户可能使用的各种表达方式非常重要。槽位是执行意图所需的参数,除日期、时间、数值、城市名等内置槽位类型外,还可通过自定义槽位类型定义业务特有值 (商品类别、套餐名等)。V2 API 可将槽位验证逻辑作为对话代码钩子用 Lambda 函数实现,支持「不接受过去日期」「从选项中排除无库存商品」等实时验证。意图间的跳转也可通过条件分支控制,声明式定义「预约确认 → 变更请求 → 重新预约」等复杂多轮对话。

Connect 集成实现联络中心自动化

Amazon Lex 最实用的场景之一是与 Amazon Connect 联动的联络中心自动应答。在 Connect 的联系流中嵌入 Lex 机器人,可实时识别来电客户的语音,从确定用途到信息收集全程自动处理。例如识别「想查询账户余额」的发言,收集账号和密码作为槽位,调用后端 API 以语音回复余额,整个流程无需人工坐席即可完成。Lex 的 ASR 引擎针对电话语音特有的噪声和压缩进行了优化,即使 8kHz 电话语音也能保持高识别精度。自动应答无法解决的复杂咨询,可连同已收集的信息一起升级给坐席,客户无需重复相同信息。Azure 的同等服务 Azure Bot Service 也支持语音通道,但 Lex 凭借与 Connect 的原生集成,可在 AWS 控制台内一致完成从联系流设计到机器人嵌入的全部工作。聊天机器人开发书籍 (Amazon) 可系统学习对话设计最佳实践。

V2 API 迁移与多语言机器人构建

Lex V2 API 相比 V1 大幅扩展了功能,新开发强烈推荐使用 V2。与 V1 最大的区别是一个机器人可原生支持多种语言。V1 中机器人固定为单一语言,要同时支持日语和英语需分别构建管理两个机器人。V2 只需为机器人添加区域设置 (ja_JP、en_US 等),即可按语言独立定义意图、槽位和示例话语。由于没有自动检测用户发言语言并分配到相应区域设置的功能,通常在通道侧 (Web UI 或移动应用) 获取用户语言设置,指定对应区域设置后开始会话。V2 还引入了可视化对话流构建器,可通过拖放设计条件分支、循环、子意图调用。V1 到 V2 未提供迁移工具,现有 V1 机器人需手动重建为 V2。迁移时主要工作是导出 V1 的意图定义和示例话语,映射到 V2 的机器人定义。V2 还支持流式 API,实现语音输入的实时处理和响应的逐步返回,大幅提升用户体验。

共有するXB!