使用 Amazon Lex 构建对话式聊天机器人 - 意图设计与 Lambda 集成
通过自然语言理解(NLU)引擎定义意图和槽位,结合 Lambda 执行后端处理,构建交互式机器人。解析多语言支持和流式对话 API 的活用方法。
Lex 概述
Amazon Lex 是结合自然语言理解(NLU)和自动语音识别(ASR)构建对话式界面的服务。基于与 Alexa 相同的深度学习技术,可构建支持文本和语音的交互式机器人。当前的 Lex V2 相比 V1 大幅增强了功能,提供多语言支持、流式对话 API 和改进的槽位解析逻辑。可用于聊天机器人、IVR(交互式语音应答)、客服自动化等场景。
意图与槽位设计
Lex 的机器人由意图(用户意图)和槽位(参数)组成。例如「酒店预订机器人」中,在 BookHotel 意图下定义 CheckInDate、Nights、RoomType 槽位。为每个意图注册示例话语(「下周五开始住两晚」「预订单人间」),NLU 引擎将用户输入映射到意图并提取槽位值。当必需槽位未填充时,Lex 自动生成提示引导用户提供信息。
Lambda 集成与外部集成
Lex 提供对话代码钩子和履行代码钩子两种 Lambda 集成。对话代码钩子在每轮对话中调用,用于槽位值验证和动态提示生成。履行代码钩子在所有槽位填充后调用,执行实际业务逻辑(预订处理、订单确认)。与 Amazon Connect 集成后,可在联络中心的电话线路上部署语音机器人,实现 IVR 的智能化。
Lex 的定价
Lex V2 按请求数按量计费。文本请求每 1,000 次约 0.75 美元,语音请求每 1,000 次约 4.00 美元。流式对话 API 按语音秒数计费,每秒约 0.0002 美元。免费额度为前 12 个月每月文本请求 10,000 次、语音请求 5,000 次。与自建 NLU 系统相比,无需 ML 基础设施的管理和模型训练成本。
总结
Amazon Lex 是基于与 Alexa 相同 NLU/ASR 技术的对话式机器人构建服务。通过意图和槽位设计定义对话流程,通过 Lambda 集成执行后端处理。结合 Connect 集成的语音机器人、Kendra 集成的 FAQ 自动应答等,通过多种渠道和服务的联动构建对话式界面。