对话式机器人构建 - 使用 Amazon Lex 和 Polly 实现自然的会话界面

讲解利用 Amazon Lex 和 Amazon Polly 构建对话式机器人的方法。

对话式机器人的需求与 AWS 的会话 AI 服务

客户支持的自动化、企业内部服务台、预约系统、FAQ 应答等,对话式机器人的应用正在迅速扩大。人们强烈希望将咨询应对的初步环节自动化以缩短等待时间,并让座席专注于附加价值高的工作,不分行业,将对话式机器人定位为主要客户应对渠道之一的组织正在增加。AWS 提供以 Amazon Lex 和 Amazon Polly 为核心的会话 AI 服务,解决这些课题。此外,Lex 在设计上与 Lambda 原生集成,可以用无服务器的方式实现后端的业务逻辑。Lex 可以构建同时支持文本和语音的对话式界面,Polly 则支持多语言的自然语音合成。以下是使用 Lex V2 创建机器人的 CLI 示例。

aws lexv2-models create-bot \
  --bot-name CustomerSupportBot \
  --role-arn arn:aws:iam::123456789012:role/LexBotRole \
  --data-privacy '{"childDirected":false}' \
  --idle-session-ttl-in-seconds 300 \
  --region ap-northeast-1

两项服务都采用按量计费,没有请求的时段成本为零。

Amazon Lex 的对话流程设计

Amazon Lex V2 通过意图(用户的意图)、槽位(参数)、履行(处理的执行)这 3 个概念来设计对话流程。例如在酒店预约机器人中,为 BookHotel 意图定义入住日期、退房日期、房间类型、人数等槽位,所有槽位都填满后,通过 Lambda 函数执行预约处理。Lex V2 原生支持多轮对话,即使用户没有一次提供全部信息,也会按顺序询问并收集缺少的槽位。借助条件分支和槽位的验证逻辑,复杂的对话流程也可以在可视化的流程编辑器中设计。使用 Lex V2 的流式 API,可以实时处理语音输入,无需等待用户说完即可开始应答。此外,Lex V2 可以在单一的机器人资源中管理多种语言的机器人,便于支持多语言。

Amazon Polly 的自然语音合成

Amazon Polly 是利用深度学习技术的文本转语音(TTS)服务,可以根据用途选择 Standard、Neural、Long-form、Generative 各引擎。支持的语言 / 地区变体在 Standard 引擎中有 29 种,在 Neural 引擎中有 36 种(截至 2026 年 8 月)。Neural 引擎生成比以往的 Standard 引擎更自然、更接近人类的语音,Long-form 面向长篇内容,Generative 则提供表现力最高的对话风格语音。在日语方面,Neural 引擎有 Takumi(男性)、Kazuha(女性)、Tomoko(女性)的语音,Standard 引擎则提供 Mizuki(女性)和 Takumi(男性)。使用 SSML(Speech Synthesis Markup Language),可以细致地控制语音输出,例如调整语速、音调和音量,插入停顿,强调特定单词等。借助发音词典功能,可以自定义专业术语和专有名词的读法,使行业特有的术语得到准确发音。Polly 的语音同时支持实时流式传输和批量合成,可以输出 MP3、OGG、PCM 格式。将 Lex 和 Polly 组合使用,可以构建由 Lex 理解语音输入、由 Polly 将应答文本转换为自然语音的端到端语音对话系统。通过与 Amazon Connect(云联络中心)集成,也可以轻松构建基于电话的 IVR(自动语音应答)系统。

实践用例与集成模式

Lex 和 Polly 的组合支持多种用例。在客户支持中,由 FAQ 应答机器人自动回答一般问题、只将复杂的咨询升级给座席的结构是有效的。借助 Lex 的情绪分析功能,还可以实现智能路由:检测用户的情绪(积极、消极、中性),在检测到消极情绪时优先转接给座席。在企业内部服务台中,由 Lex 机器人处理 IT 支持的咨询(密码重置、VPN 连接、软件安装),并通过 Lambda 函数与 Active Directory 和 ServiceNow 联动执行自动处理。在与消息平台的联动方面,Slack、Facebook Messenger、Twilio SMS 可以通过 Lex V2 的内置渠道集成功能直接连接。Microsoft Teams 等不在内置范围内的平台则通过 Lambda 或 API 进行自定义联动来对接。在知识库搜索型机器人中,使用 AMAZON.QnAIntent 可以构建 RAG(Retrieval-Augmented Generation)模式。在该模式中,由 Amazon Bedrock 的基础模型搜索 Bedrock 知识库 / OpenSearch / Amazon Kendra 中的任意一个并生成回答。以往的 AMAZON.KendraSearchIntent 也仍可使用,但请注意两者不能在同一个机器人语言区域设置内同时使用。通过这些集成模式,可以从简单的 FAQ 机器人到高级的企业助手,分阶段地扩展机器人的能力。

Lex 和 Polly 的费用

Lex 的费用按请求数计费。语音请求每 1,000 次约 4.00 美元,文本请求每 1,000 次约 0.75 美元(截至 2026 年 8 月)。Polly 的费用按语音引擎分别以字符数计费,Standard 语音每 100 万字符约 4.00 美元,Neural 语音约 16.00 美元(截至 2026 年 8 月)。提高了表现力的 Long-form / Generative 各引擎设定了比这些更高的单价,最新单价请参阅 AWS 的官方价目表。在 2025 年 7 月 15 日之前创建的旧账户的 12 个月免费套餐中,Lex 的对象为语音每月 10,000 次 / 文本每月 10,000 次。此后的新账户适用最多 200 美元的抵扣金制免费方案(最新条件请参阅 AWS 官方网站)。与 Connect 集成时,会另外产生 Connect 的通话费用。

总结 - 对话式机器人构建的最优解

Lex V2 的多轮对话、条件分支和情绪分析,全面提供了构建实用机器人所需的功能。Polly 的 Neural TTS 生成接近人类的自然语音,大幅提升基于语音的对话体验的质量。通过 Lambda 的无服务器后端集成、与 Connect 的电话渠道集成,以及使用 Bedrock 知识库和 Kendra 的搜索集成,可以从简单的 FAQ 机器人到企业级的对话系统分阶段地构建。在设计对话式机器人时,重要的是从对话流程的复杂程度、支持的渠道、与后端系统的集成要求这 3 个维度来判断最合适的架构。

参考资料(AWS 官方)

本页的第一手信息来源是 AWS 官方网站及官方文档。最新的规格与价格请以下列官方页面为准。

如本页内容与官方文档不一致,请以官方文档为准。

分享