Amazon Lex 常见问题
一般性问题
问:什么是 Amazon Lex?
Amazon Lex 是一种使用语音和文本构建对话界面的服务。Amazon Lex 使用的对话引擎与 Alexa 相同,可以提供高质量的语音识别和语言理解功能,让您能够在新的或现有的应用程序中添加掌握自然语言的精密“聊天机器人”。Amazon Lex 可以减少多平台开发的工作量,让您能够轻松将语音或文本聊天机器人发布到移动设备以及 Facebook Messenger、Slack、Kik 或 Twilio SMS 等多种聊天服务。Amazon Lex 可在本地与 AWS Lambda 和 Amazon CloudWatch 进行互操作,还可以轻松集成 AWS 平台上的许多其他服务(包括 Amazon Cognito 和 Amazon DynamoDB),从而让您更轻松地开发机器人。
问:如何开始使用 Amazon Lex?
要开始使用 Amazon Lex,只需登录 AWS 管理控制台并导航到“人工智能”分类下的 “Lex” 即可。您必须具有一个 Amazon Web Services 账户才能开始使用 Amazon Lex。如果您没有账户,系统会在注册过程中提示您创建一个账户。有关更多信息,请参阅 Amazon Lex V2 入门指南。
问:Amazon Lex 最常见的使用案例有哪些?
Amazon Lex 最常见的使用案例包括:
- 自助语音助理和聊天机器人 – 构建呼叫中心机器人
- 信息机器人 — 构建能够回答问题的自动化客户支持代理或机器人
- 应用程序/事务性机器人 — 构建独立的披萨订购代理或旅游机器人
- 企业生产力机器人 — 创建连接企业数据资源的定制机器人
- 设备控制机器人——使用 Amazon Lex 向互联设备发布控制命令
问:Amazon Lex 如何与其他 AWS 服务配合使用?
Amazon Lex 利用 AWS Lambda 实现意图,利用 Amazon Cognito 进行用户身份验证,以及利用 Amazon Polly实现文本转语音。
问:我是否必须是机器学习专家才能使用 Amazon Lex?
不必,使用 Amazon Lex 不需要具备机器学习方面的专门知识。开发人员可以用声明的方式指定对话流程,Amazon Lex 会负责语音识别和自然语言理解工作。开发人员需要用简单的英语提供一些示例语句,并提供他们通过相应提示问题从用户收集的不同参数(信息槽)。之后,Amazon Lex 会自动创建语言模型。
问:哪些 AWS 区域提供 Amazon Lex 服务?
有关支持 Amazon Lex 的 AWS 区域列表,请访问所有 AWS 全球基础设施的 AWS 区域表。有关更多信息,另请参阅 AWS 一般参考中的区域和端点。
问:Amazon Lex 可以支持的最大带宽是多少?
Amazon Lex 可以根据您的需求进行扩展,不存在带宽限制。
问:Amazon Lex 是不是一种托管服务?
Amazon Lex 是一种完全托管的服务,所以您无需担心资源扩展或代码维护的问题。Amazon Lex 会自动备份您使用的交互模式和语言模型。我们还提供全面的版本控制功能,便于回滚。Amazon Lex 架构不要求存储或备份终端用户数据。
问:何时使用 Amazon Polly 和Amazon Lex?
Amazon Polly 可以将文本转换为语音。Amazon Lex 是一种使用语音和文本构建对话界面的服务。
问:Amazon Lex 是否会不断提高智能化水平?
会。借助深度学习技术,Amazon Lex 会不断完善。
机器人结构
问:如何使用 Amazon Lex 创建机器人?
要创建机器人,您首先要定义机器人执行的操作。这些操作就是需要由机器人实现的意图。您需要为每个意图添加语句和信息槽。语句是指调用意图的短语。信息槽是指实现意图所需的输入数据。最后,您需要提供执行操作所需的业务逻辑。Amazon Lex 机器人可以通过控制台和 REST API 创建。
问:我是否可以在客户端实施业务逻辑?
可以。Amazon Lex 允许将解析后的意图和信息槽返回到客户端,以便实施业务逻辑。
问:如何验证用户输入?
Amazon Lex 可以与 AWS Lambda 深度集成,您可以使用初始化和验证 CodeHook 来验证用户输入。该代码会在每一轮对话开始时执行。您可以使用 Codehook 来设置会话参数、验证用户输入以及自定义响应。
问:什么是意图?
要构建 Amazon Lex 机器人,您需要指定一组操作,即要让机器人实现的“意图”。一个机器人可以有多个意图。例如,“订票”机器人的意图包括预订、取消预订和查看预订。
问:什么是语句?
“语句”是指说出或输入的、可以调用意图的短语。例如,要调用一个进行预订的意图,您需要提供一个示例语句,例如“Can I make a reservation?”
问:什么是信息槽?
要实现意图,Amazon Lex 机器人需要来自用户的信息。这些信息收集在“信息槽”中。例如,要实现进行预订的意图,您需要将显示名称和时间定义为信息槽。
问:什么是提示问题?
Amazon Lex 利用提供的“提示问题”来得出定义的“信息槽”的值。例如,要得出“时间”信息槽的值,您需要定义一个提示问题,例如“What show time would you like to reserve?”。Amazon Lex 能够通过多轮对话得出多个信息槽值。
问:如何实现一项操作?
Amazon Lex 集成了 AWS Lambda,可以“实现”操作或业务逻辑。或者,您可以将 Amazon Lex 配置为将解析后的意图和信息槽值返回到客户端,进而完成操作。
问:如何监控和跟踪机器人?
您可以在 Amazon Lex 控制台中的“监控”控制面板上跟踪机器人的指标。目前,您可以按通道跟踪机器人错过的语句数量、请求延迟和流量。您可以查看未被机器人识别出的语句(即“错过的语句”)的列表。利用这些监控功能,您可以查看用户与机器人交互的方式并不断做出改进。
Amazon Lex 自动化聊天机器人设计器(预览版)
问:如何使用自动化聊天机器人设计器?
只需单击几下,自动化聊天机器人设计器便可以帮助您创建机器人设计。首先通过 Lex 控制台(或 SDK)提供一个连接至 S3 的链接,其中包含您的对话文本。然后,自动化聊天机器人设计器处理这些对话文本,生成聊天机器人设计,其中包括用户意图、与意图关联的示例短语以及实现这些意图所需的所有信息的列表。您可以查看自动化聊天机器人设计器提供的结果,并添加最适合您的机器人的意图和槽类型。
问:自动化聊天机器人设计器支持什么格式的转录文本?
转录文本必须包含来电人和坐席之间的会话,对话转录文本为标准 JSON 格式。您可以在 Amazon Lex 文档中找到这种格式的示例转录文本。使用 Contact Lens 的 Amazon Connect 客户可以直接使用原始格式的对话转录文本。来自其他转录服务的对话转录文本可能需要进行简单的转换。可在此处找到有关对话流程的详细信息。
问:自动化聊天机器人设计器支持什么语言?
自动化聊天机器人设计器支持 Amazon Lex 支持的所有英语语言(美国、英国、澳大利亚、印度、沙特阿拉伯)。预览版自动化聊天机器人设计器支持美国英语。
构建和测试
问:构建机器人后会怎样?
构建机器人会触发机器学习并构建适用于该机器人的模型。创建新版本的意图和信息槽类型。该版本一经创建就不可改变。
问:如何测试 Amazon Lex 机器人?
您可以通过控制台上的测试窗口来测试 Amazon Lex 机器人。也可以通过该控制台测试在 AWS Lambda 中实施的任何业务逻辑。所有受支持的浏览器都可以用于对 Amazon Lex 机器人进行文本测试;语音可以通过 Chrome 浏览器进行测试。
部署
问:如何创建适用于移动设备的 Amazon Lex 机器人?
Amazon Lex 提供适用于 iOS 和 Android 的软件开发工具包。您可以使用这些软件开发工具包创建适用于您移动使用案例的机器人。可以借助 Amazon Cognito 进行用户身份验证。
问:如何将 Amazon Lex 机器人用于消息收发服务?
您可以将 Amazon Lex 机器人发布到 Facebook Messenger、Slack、Kik 和 Twilio SMS 等消息收发平台。要发布机器人,您可以在控制台中提供用于身份验证的令牌,我们会将其安全存储起来并向您提供一个回调 URL,您可以将其提供给聊天服务。
问:我是否需要在部署前提交机器人进行认证?
您不需要在部署前将机器人提交给 Amazon 进行认证。
问:我是否可以在部署某个版本的 Amazon Lex 供终端用户使用的同时,继续开发另一个版本?
可以。您可以构建一个版本的机器人并将其部署到生产环境中,同时继续开发另一个版本。每个版本的 Amazon Lex 机器人都有一个 ARN。每个版本都可以有不同的别名。您可以使用这些工具来设置开发、暂存和生产环境。
问:将机器人部署到不同的消息收发服务时,是否可以选择不同的版本?
可以。您可以为每项消息收发服务部署一个特定的版本。每个版本的 Amazon Lex 机器人都有一个 ARN。每个版本都可以关联一个别名。您可以使用这些别名将 Amazon Lex 机器人部署到不同的消息收发服务。您也可以将多个机器人部署到同一项消息收发服务。
问:语音输入最长可以持续多长时间?
Amazon Lex 机器人专为请求和响应交互或持续流式会话而设计。对于请求和响应交互,Amazon Lex 支持最长 15 秒的语音输入。在流式会话中,跨多个回合的所有用户输入都在一个流式 API 调用中进行处理,语音输入(包括静音)最长为 15 秒。
问:我是否可以配置语音输入和文本输出?
可以。您只需要选择 PostContent API 就可以提供语音输入并选择文本输出。
问:Amazon Lex 支持多少种语言?
Amazon Lex 目前支持美国英语、西班牙语、法语、德语、意大利语、日语、澳大利亚英语、英国英语、加拿大法语、拉丁美洲西班牙语和美国西班牙语。
问:Amazon Lex 支持哪些音频格式?
Amazon Lex 支持以下输入音频格式:LPCM 和 Opus;支持以下输出音频格式:MPEG、OGG、PCM。
问:我是否可以在 VPC 中使用 Amazon Lex?
您可以通过公有端点从 VPC 访问 Amazon Lex,进而构建和运行机器人。目前,Amazon Lex 没有提供 VPC 终端节点。
问:是否可以在本地(即没有 Internet 连接的情况下)访问 Amazon Lex 机器人?
不可以。最终用户需要通过互联网才能访问 Amazon Lex 运行时端点。
Lex V2
问:V2 增强型控制台和 API 提供了哪些可用性改进?
Lex V2 控制台和 API 使用更新的信息架构 (IA) 提供简化的版本控制、在机器人中支持多种语言以及流式功能。 其他改进包括保存部分完成的机器人配置、重命名资源、简化导航、批量上传语句和粒度调试。
问:如何使用流式功能?
您可以使用流式 API 与 Lex 机器人进行持续流式会话。对于流式会话,机器人会不断进行监听,并且可以设计为主动响应用户中断和暂停。例如,您可以将机器人配置为在用户需要更多时间进行响应时使会话持续进行,发送定期消息即可,例如“别着急。准备好了就告诉我。”
问:V2 API 的定价详情是什么?
Amazon Lex 机器人专为请求和响应交互或持续流式会话而设计。对于请求和响应交互,每条用户输入(语音或文本)都作为一个单独的 API 调用进行处理。在流式会话中,跨多个回合的所有用户输入都在一个流式 API 调用中进行处理。有关更多详情,请参阅 Amazon Lex 定价页面。
问:是否可以将使用 V2 API 创建的机器人与 Amazon Connect 联系流集成?
是,Amazon Connect 联系流可与 Lex V2 和 V1 API 共同使用。您可以使用 Lex V2 控制台创建机器人并将其与 Amazon Connect 相集成。
问:是否可以对现有机器人利用 V2 API 功能?
不可以。如果您想利用 V2 功能,需要使用 V2 API 重新创建机器人。Lex V1 API 不兼容,因为 V2 API 使用更新的信息架构,以简化资源版本控制并在机器人中支持多种语言。转换为 V2 API 很容易,因此请参阅此分步迁移指南。
问:V2 API 支持哪些区域和语言?
Amazon Lex V2 API 和增强的控制台体验可在所有现有的 8 个区域使用并提供以下语言版本,包括美国英语、西班牙语、法语、德语、意大利语、日语、澳大利亚英语、英国英语、加拿大法语、拉丁美洲西班牙语和美国西班牙语。要查看支持 Amazon Lex 的 AWS 区域列表,请访问 AWS 区域表。
问:现有 API 是否支持新功能,例如简化的版本控制和在机器人支持多种语言?
否。这些功能仅在 V2 API 中可用。如果您想利用这些功能,可以按照此迁移指南迁移到 V2 API。
问:我是否能访问 V1 控制台?
能,您可以在 AWS 管理控制台中访问 V1 控制台。位于 Lex 控制台中后,您可以在 V1 和 V2 控制台之间导航。在 V1 控制台中创建的机器人将只在 V1 控制台中可见。只有在 V2 控制台中重新创建 V1 机器人,才能在 V2 控制台中访问 V1 机器人。将机器人迁移到 V2 很容易,请参阅此分步迁移指南。
问:如何访问 V2 控制台?
您可以单击左侧导航栏中的链接,选择 V1 或 V2 作为控制台。
问:是否仍可以使用 Lex V1 API?
可以。现有 Lex V1 API 仍受支持。您可以继续使用这些 API 构建和执行机器人对话。
Amazon Alexa
问:Amazon Lex 机器人与 Alexa 技能工具包有何区别?
利用 Alexa 技能工具包,可以构建在 Alexa 生态系统和设备中使用的技能,并且开发人员可以充分利用所有的 Alexa 功能(例如 Smart Home 和 Flash Briefing API)、流式音频和丰富的 GUI 经验。Amazon Lex 机器人支持语音和文本处理,并且可以部署到各种移动和消息收发平台。
问:要调用 Amazon Lex 意图,是否需要语音唤醒功能?
Amazon Lex 不支持语音唤醒功能。集成了 Amazon Lex 的应用程序将负责触发麦克风,即“即按即说”功能。
问:Amazon Lex 机器人是否可以使用 Alexa 语音做出响应?
目前,Amazon Lex 不支持使用 Alexa 语音做出响应。但是,我们提供了另外 7 种声音供您选择。
问:我能否从 Amazon Lex 机器人创建一项 Alexa 技能?
Amazon Lex 为您提供了将 Amazon Lex 机器人模式导出到与 Amazon Alexa 兼容的 JSON 文件的能力。一旦下载为 JSON,您需要登录到 Alexa 开发人员门户,导航到“交互模型”选项卡,启动 Alexa 技能构建器,并将机器人模式粘贴到 Alexa 技能的代码编辑器中。有关详细信息和步骤,请参阅 Amazon Lex 文档。
问:在导出 Amazon Lex 机器人模式用于 Alexa 技能时,是否会将我的 AWS Lambda 函数导出并包含在机器人模式中?
不会。仅下载机器人定义。
问:我使用了模式导出功能,从 Amazon Lex 机器人中创建了一项 Alexa 技能。哪个 Alexa 平台会支持 Amazon Lex 机器人模式?
所有支持 Alexa 技能的 Alexa 平台都可以使用:Amazon Echo、Amazon Dot、Amazon Look、Amazon Tap、Amazon Echo Show,以及任何其他启用了 Alexa 的第三方设备。
数据和安全
问:Amazon Lex 是否会存储处理过的语音和文本输入?AWS 如何使用这些输入?
Amazon Lex 可以存储和使用仅由该服务处理的语音和文本输入,以提供和维护服务,以及改进和提高 Amazon Lex 和其他 Amazon 机器学习/人工智能技术的质量。为了持续改善您的 Amazon Lex 客户体验并促进相关技术的开发和训练,我们必须使用您的内容。我们不会根据您的内容中可能包含的任何个人身份信息来向您或您的最终用户推荐产品、服务或进行营销。您的信任以及隐私与内容的安全性是我们最重视的问题,我们会采取适当并且先进的技术和物理控制措施(包括静态和动态加密)来防止他人未经授权访问或披露您的内容,并确保我们依照对您的承诺使用您的内容。有关更多信息,请参阅 https://aws.amazon.com/compliance/data-privacy-faq/。您可以通过使用 AWS Organizations 停用策略,选择不再使用您的内容来改进和提高 Amazon Lex 及其他 Amazon 机器学习/人工智能技术的质量。有关如何退出的信息,请参阅管理 AI 服务退出策略。
问:是否可以删除 Amazon Lex 存储的语音和文本输入?
可以。您可以联系取消删除,请求删除与您的账户相关的语音和文本输入。删除语音和文本输入可能会降低您的 Amazon Lex 体验。有关如何退出的信息,请参阅管理 AI 服务退出策略。
问:谁有权访问 Amazon Lex 处理和存储的内容?
只有经过授权的员工才能访问 Amazon Lex 处理的内容。您的信任以及隐私与内容的安全性是我们最重视的问题,我们会采取适当并且先进的技术和物理控制措施(包括静态和动态加密)来防止他人未经授权访问或披露您的内容,并确保我们依照对您的承诺使用您的内容。有关更多信息,请参阅 https://aws.amazon.com/compliance/data-privacy-faq/。
问:由 Amazon Lex 处理和存储的内容是否仍归我所有?
您始终保留对您的内容的所有权,我们只会在您同意的情况下使用您的内容。
问:Amazon Lex 处理的内容是否会移出我使用 Amazon Lex 所在的 AWS 区域之外?
Amazon Lex 处理的任何内容都会被加密,并静态存储在您使用 Amazon Lex 所在的 AWS 区域中。Amazon Lex 处理的部分内容可能存储在另一个 AWS 区域中,仅用于持续改进和提高您的 Amazon Lex 客户体验及其他 Amazon 机器学习/人工智能技术。您可以联系 AWS Support,请求删除与您的账户相关的语音和文本输入。您的信任以及隐私与内容的安全性是我们最重视的问题,我们会采取适当并且先进的技术和物理控制措施(包括静态和动态加密)来防止他人未经授权访问或披露您的内容,并确保我们依照对您的承诺使用您的内容。有关更多信息,请参阅 https://aws.amazon.com/compliance/data-privacy-faq/。
问:是否可以将 Amazon Lex 用于针对不满 13 岁的儿童并受《儿童网络隐私保护法》(COPPA) 约束的网站、项目或其他应用程序?
可以。但您需要遵守 Amazon Lex 服务条款的规定,包括按照 COPPA 的要求来提供任何需要的通知并获得任何需要的、可验证的家长同意,才能将 Amazon Lex 用于全部或部分针对不满 13 岁的儿童的网站、项目或其他应用程序。对于客户按照 Amazon Lex 服务条款将其确定为全部或部分针对不满 13 岁的儿童并且受 COPPA 约束的网站、项目或应用程序,Amazon Lex 不会存储或保留其中的语音或文本语句信息。
问:怎样确定我的网站、项目或应用程序是否受 COPPA 的约束?
要了解 COPPA 的要求并获取关于如何确定您的网站、计划或其他应用是否受 COPPA 约束的指南,请直接参阅美国联邦贸易委员会提供并维护的各种资源。该网站还提供有关如何确定某种服务是否全部或部分针对不满 13 岁儿童的信息。
开发工具包
问:Amazon Lex 可以支持哪些软件开发工具包?
Amazon Lex 目前支持适用于运行时服务的软件开发工具包。IoS 和 Android 开发工具包以及 Java、JS、Python、CLI、.Net、Ruby、PHP、Go 和 CPP 均支持文本和语音输入。
问:能否用 SDK 来构建机器人?
您可以使用 Java、JavaScript、Python、CLI、.NET、Ruby on Rails、PHP、Go 和 CPP 等开发工具包来构建机器人。
支持和计费
问:为 Amazon Lex 提供了哪些支持?
根据您签订的 AWS 支持合同,Amazon Lex 可以获得开发人员支持计划、商业支持计划和企业支持计划的支持。
问:Amazon Lex 如何计算请求数量?
提供给 Amazon Lex 机器人的每条输入都被计为一条请求。例如,如果一位最终用户在对话过程中向机器人提供了 5 条输入,那么,这 5 条输入将被计为 5 条请求。使用费用是按请求数计量和收费的。
问:Amazon Lex 如何收费?
开始使用 AWS 免费套餐。有关最新定价信息,请参阅Amazon Lex 定价页面。
问:AWS 免费套餐是否包括 Amazon Lex?
可以。您可以免费试用 Amazon Lex。从开始使用 Amazon Lex 之日起,您在第一年内每月可以免费处理多达 10000 条文本请求和 5000 条语音请求。