使用 Amazon Lex 和 Amazon Chime SDK PlatoBlockchain Data Intelligence 将对话式 AI 添加到任何联络中心。 垂直搜索。 哎。

使用 Amazon Lex 和 Amazon Chime SDK 将对话式 AI 添加到任何联络中心

客户满意度是直接影响组织盈利能力的有效指标。 随着过去十年左右的快速技术进步,通过以下方式提升客户关注度变得更加重要:

  • 让您的客户可以通过多种方式访问​​您的组织,包括语音、文本、社交媒体等
  • 为您的客户提供高效的售后和服务体验
  • 随着业务趋势和动态的变化,不断提高您的服务质量

建立高效的联络中心需要高度自动化、扩展能力以及通过客户反馈进行主动学习的机制。 在联络中心客户旅程的每个阶段都存在挑战——从开始时的长时间等待到与平均处理时间长相关的运营成本。

在传统的联络中心,一种长时间保持时间的解决方案是使用交互式语音响应系统 (IVR) 为客户提供自助服务选项。 IVR 使用一组自动菜单选项来帮助减少代理呼叫量,方法是解决常见的常见请求,而无需在线代理。 然而,传统的 IVR 通常遵循预先确定的顺序,无法智能地响应客户请求。 诸如此类的非对话式 IVR 会使您的客户感到沮丧,并导致他们尝试尽快联系座席,从而增加您的呼叫转移率。 您可以通过将人工智能 (AI) 添加到您的 IVR 来解决这一挑战。 支持 AI 的 IVR 可以更快、更准确地帮助您的客户解决问题,而无需人工干预。 当需要代理时,支持 AI 的 IVR 可以使用已收集的正确信息将您的客户路由到正确的代理,从而使客户不必重复信息。 借助 AWS AI 服务,它变得更加容易,因为无需机器学习 (ML) 培训或专业知识即可使用强大的预训练 ML 模型。

人工智能驱动的自动化应用程序是 IVR 的自然选择,因为它们可以用自然语言理解和响应。 此外,您可以为 IVR 添加增强功能,以根据客户与其交互的方式进行学习和发展。 和 亚马逊Lex,您可以构建强大的多语言对话式 AI 系统,并为您的客户提升自助服务体验,而无需 ML 技能。 借助 Amazon Chime 开发工具包,您可以使用 Amazon Chime SDK SIP 媒体应用程序. 这包括联系中心,例如 Avaya、Cisco、Genesys 等。 Amazon Chime SDK 与 Amazon Lex 的集成在美国东部(弗吉尼亚北部)和美国西部(俄勒冈)AWS 区域可用。

这使您能够灵活地与 Amazon Lex 进行本地集成以实现 AI 支持的自助服务,并能够与许多其他 AWS AI 服务集成以转变您的整个联络中心运营。

在这篇博文中,我们将介绍如何通过最近推出的使用 Amazon Chime SDK 和 Amazon Lex 将 AI 驱动的 IVR 添加到任何支持 SIP 中继的联络中心。 Amazon Chime SDK PSTN 音频与 Amazon Lex 的集成. 我们在这篇文章中涵盖了以下主题:

  • 自助式 AI 参考解决方案架构
  • 部署解决方案
  • 查看账户余额聊天机器人
  • 查看 Amazon Chime 开发工具包语音连接器
  • 测试解决方案
  • 清理资源

解决方案概述

如上一节所述,我们使用 Amazon Lex 和 Amazon Chime SDK 这两项关键 AWS 服务来构建自助式 AI 解决方案。 我们还使用 AWS Lambda (完全托管的无服务器计算服务), 亚马逊弹性计算云 (Amazon EC2,一种计算基础设施),以及 Amazon DynamoDB (一个完全托管的无 SQL 数据库)来创建一个工作示例。 此解决方案的代码库可在 随附的GitHub存储库. 下一部分提供了部署和测试此解决方案的说明。

下图说明了解决方案体系结构。

解决方案工作流程包括以下步骤:

  1. 当我们使用固定电话或手机拨打电话时,公共交换电话网络 (PSTN) 将我们连接到对方。 在这个演示中,我们使用 星号服务器 (免费联络中心框架)部署在 Amazon EC2 服务器上,以模拟通过 Amazon Chime Voice Connector 连接到 PSTN 的联络中心。 Asterisk 是专用小交换机 (PBX) 的软件实现 — 公司或组织内使用的专用电话网络的控制器。
  2. 作为此演示的一部分,电话号码通过 Amazon Chime SDK 获取并与 Asterisk PBX 关联。 当呼叫此号码时,它会以 SIP(会话发起协议) 到 Asterisk PBX 服务器。 然后,Asterisk PBX 使用 SIP 将此呼叫路由到 Amazon Chime Voice Connector,在此触发一个 Amazon Chime SIP 媒体应用程序.
  3. Amazon Chime PSTN 音频使用 SIP 媒体应用程序创建一个 可编程 VoIP 应用程序。 Amazon Chime SIP 媒体应用程序与 Lambda 函数配合使用,以编程方式处理呼叫。
  4. 当呼叫到达 Amazon Chime SIP 媒体应用程序时,将调用关联的 Lambda 函数。 该函数将调用信息存储在 DynamoDB 表中并返回一个 StartBotConversation 行动。 这 StartBotConversation 操作在 PSTN 上的最终用户和 Amazon Lex 机器人之间建立语音对话。
  5. Amazon Lex 是一项完全托管的 AWS AI 服务,具有用于在应用程序中设计、构建、测试和部署对话界面的高级自然语言模型。 它结合了自动语音识别和自然语言理解技术,为您的应用程序创建类人交互。 例如,此演示部署了一个机器人来执行三个自动化任务,或者 意向: Check Balance, Transfer FundsOpen Account. 意图表示用户想要执行的操作。
  6. 对话从调用者与 Amazon Lex 机器人交互开始,告诉机器人他们想要做什么。 机器人的自动语音识别 (ASR) 和自然语言理解 (NLU) 功能有助于它理解用户输入。 Amazon Lex 能够根据调用者输入和为每个意图配置的示例话语来确定请求的意图。
  7. 确定意图后,Amazon Lex 与调用者交互以收集为该意图配置的所有槽的信息。 例如, Open Account 意图包括四个槽:
    1. 帐户类型
    2. 电话号码
  8. Amazon Lex 与调用者一起为所选意图的所有这些必需槽捕获信息。 在捕获这些并实现意图后,Amazon Lex 会将呼叫处理连同 Amazon Lex 机器人对话的完整结果一起返回给 Amazon Chime SIP 媒体应用程序。
  9. 后续处理步骤由 PSTN 音频处理程序 Lambda 函数执行。 这包括解析结果、确定下一个呼叫路由操作、将结果存储在 DynamoDB 表中以及返回挂断操作。
  10. Asterisk PBX 使用存储在 DynamoDB 表中的信息来确定下一步操作。 例如,如果呼叫者想检查他们的余额,则呼叫结束。 但是,如果呼叫者想要开立账户,呼叫将发送到代理并包含在 Amazon Lex 机器人中捕获的信息。

我们用过 AWS云开发套件 (AWS CDK) 打包此应用程序,以便在您的账户中轻松部署。 AWS CDK 是一个开源软件开发框架,用于使用熟悉的编程语言定义您的云应用程序资源。 它提供了高级组件,称为 结构体 使用经过验证的默认值预配置云资源,因此您可以轻松构建云应用程序。

先决条件

在部署解决方案之前,我们需要有一个 AWS 账户和一台本地机器来运行 AWS CDK 堆栈。 完成以下步骤:

  1. 登录到您的 AWS 账户。
    如果您没有 AWS 账户,您可以 注册一个.对于新客户,AWS 提供了 免费套餐,它提供了免费探索和试用 AWS 服务的能力(最高为每项服务的指定限制)。 这可以帮助您获得 AWS 平台、产品和服务的实践经验。我们使用本地计算机(例如笔记本电脑或台式计算机)来使用 AWS CDK 部署堆栈。
  2. 为 MacOS 打开一个新的终端窗口,或 油灰 为 Windows 操作系统安装部署解决方案所需的所有先决条件。
  3. 安装以下必备软件:
    1. AWS命令行界面 (AWS CLI) – 用于与 AWS 服务交互的命令行工具。 有关安装说明,请参阅 安装,更新和卸载AWS CLI.
    2. Node.js的 > 16 – 用于应用程序开发和部署的开源 JavaScript 后端引擎。 有关安装说明,请参阅 教程:在 Amazon EC2 实例上设置 Node.js.
    3. – Yarn 是您代码的包管理器。 它允许在开发人员之间轻松访问和共享代码。 运行以下命令安装 Yarn:
      curl -o- -L https://yarnpkg.com/install.sh | bash

      现在我们运行以下命令来设置我们需要的 AWS 访问密钥。 有关详细信息,请参阅 管理 IAM 用户的访问密钥.

  4. 运行以下命令:
    aws configure list

  5. 运行以下命令:
    aws configure

  6. 提供您的 AWS 账户的访问密钥 ID 和秘密访问密钥的值。
  7. 更改区域名称或保持默认区域不变。
  8. 接受 JSON 的默认值作为输出格式。

部署解决方案

您还可以根据您的要求自定义此解决方案。 查看此部署包含的输出资源并修改 Lambda 函数以添加您自己的解决方案所需的自定义业务逻辑。

在同一终端中运行以下步骤以部署应用程序:

  1. 克隆 git 存储库:
    git clone https://github.com/aws-samples/amazon-chime-pstn-audio-with-amazon-lex.git

    使用 Amazon Lex 和 Amazon Chime SDK PlatoBlockchain Data Intelligence 将对话式 AI 添加到任何联络中心。 垂直搜索。 哎。

  2. 进入项目目录:

    cd amazon-chime-pstn-audio-with-amazon-lex

    使用 Amazon Lex 和 Amazon Chime SDK PlatoBlockchain Data Intelligence 将对话式 AI 添加到任何联络中心。 垂直搜索。 哎。

  3. 部署 AWS CDK 应用程序:
    yarn launch

    使用 Amazon Lex 和 Amazon Chime SDK PlatoBlockchain Data Intelligence 将对话式 AI 添加到任何联络中心。 垂直搜索。 哎。
    几分钟后,您的堆栈部署应该完成。 以下屏幕截图显示了示例输出。
    使用 Amazon Lex 和 Amazon Chime SDK PlatoBlockchain Data Intelligence 将对话式 AI 添加到任何联络中心。 垂直搜索。 哎。

  4. 使用以下命令安装 Web 客户端 SIP 电话:
    cd site 使用 Amazon Lex 和 Amazon Chime SDK PlatoBlockchain Data Intelligence 将对话式 AI 添加到任何联络中心。 垂直搜索。 哎。
    Yarn 使用 Amazon Lex 和 Amazon Chime SDK PlatoBlockchain Data Intelligence 将对话式 AI 添加到任何联络中心。 垂直搜索。 哎。

    yarn run start

    使用 Amazon Lex 和 Amazon Chime SDK PlatoBlockchain Data Intelligence 将对话式 AI 添加到任何联络中心。 垂直搜索。 哎。

查看 Amazon Chime 开发工具包语音连接器

在本文中,我们使用 Amazon Chime SDK 将 Asterisk PBX 服务器(或您现有的联络中心)上收到的呼叫路由到 Amazon Lex。 这是使用 Amazon Chime SIP PSTN 音频和 Amazon Chime Voice Connector 完成的。 Amazon Chime PSTN 音频使您能够使用 Lambda 函数创建可编程电话应用程序。 这些 Amazon Chime SIP 媒体应用程序由 PSTN 电话号码或 Amazon Chime Voice Connector 触发。 以下屏幕截图显示了由 Amazon Chime SDK Voice Connector 触发并以 SIP 媒体应用程序为目标的 SIP 规则。

使用 Amazon Lex 和 Amazon Chime SDK PlatoBlockchain Data Intelligence 将对话式 AI 添加到任何联络中心。 垂直搜索。 哎。

查看账户余额聊天机器人

此演示中的 Amazon Lex 机器人包括三个意图。 这些意图可以通过来自呼叫者的自然语言语音来请求。 例如, Check Balance 意图是用以下示例话语播种的。

使用 Amazon Lex 和 Amazon Chime SDK PlatoBlockchain Data Intelligence 将对话式 AI 添加到任何联络中心。 垂直搜索。 哎。

一个意图可能需要零个或多个参数,这些参数称为 插槽. 我们在构建印迹时添加插槽作为意图配置的一部分。 在运行时,Amazon Lex 会提示用户输入特定的槽值。 用户必须为所有必需的插槽提供值,然后 Amazon Lex 才能实现该意图。

如报名参加 Check Balance 意图,Amazon Lex 提示输入槽数据,例如:

For which account would you like to check the balance?
For verification purposes, what is your date of birth?

使用 Amazon Lex 和 Amazon Chime SDK PlatoBlockchain Data Intelligence 将对话式 AI 添加到任何联络中心。 垂直搜索。 哎。

在 Amazon Lex 自动程序收集所有必需的槽信息后,它会通过调用适当的响应来实现意图。 在这种情况下,它会查询与该帐户相关的帐户余额并将其提供给客户。

在这篇文章中,我们使用 Lambda 函数来帮助初始化、验证和实现意图。 以下是示例 Python 代码,显示了函数如何根据使用的意图处理调用:

def dispatch(intent_request):
    intent_name = intent_request["sessionState"]["intent"]["name"]
    response = None
    # Dispatch to your bot's intent handlers
    if intent_name == "CheckBalance":
        return CheckBalance(intent_request)
    elif intent_name == "FollowupCheckBalance":
        return FollowupCheckBalance(intent_request)
    elif intent_name == "OpenAccount":
        return OpenAccount(intent_request)

    raise Exception("Intent with name " + intent_name + " not supported")


def lambda_handler(event, context):
    print(event)
    response = dispatch(event)
    print(response)
    return response 

以下是解释代码块的示例代码 Check Balance Lambda 函数中的意图。 在此示例中,我们生成一个随机数作为帐户余额,但这可以与您现有的数据库集成以提供准确的呼叫者信息。

def CheckBalance(intent_request):
    session_attributes = get_session_attributes(intent_request)
    slots = get_slots(intent_request)
    account = get_slot(intent_request, "accountType")
    # The account balance in this case is a random number
    # Here is where you could query a system to get this information
    balance = str(random_num())
    text = "Thank you. The balance on your " + account + " account is $" + balance
    message = {"contentType": "PlainText", "content": text}
    fulfillment_state = "Fulfilled"
    return close(session_attributes, "CheckBalance", fulfillment_state, message)

测试解决方案

让我们按照单个用户请求的路径来介绍解决方案:

  1. 部署 AWS CDK 后从输出中获取电话号码:
    Outputs:
    LexContactCenter.voiceConnectorPhone = +1NPANXXXXXX

  2. 从任何基于 PSTN 的电话拨入电话号码。
  3. 现在您可以尝试菜单选项。

让 Amazon Lex 机器人了解 Check Balance 意图,您可以说出以下任何话语:

  • 我的帐户余额是多少?
  • 检查我的帐户余额?
  • 我要查余额?

Amazon Lex 提示输入实现此意图所需的槽数据。 为了 Check Balance 意图,Amazon Lex 提示输入帐户和出生日期:

  • 您想查看哪个帐户的余额?
  • 出于验证目的,您的出生数据是什么?

在您提供所需信息后,机器人会实现意图并提供账户余额信息。 以下是示例输出消息 Check Balance 意图: Thank you. The balance on your <account> account is $<balance>.

  1. 通过挂断或转接给座席来完成通话。

与 Amazon Lex 机器人的对话完成后,调用将返回到 SIP 媒体应用程序和关联的 Lambda 函数以及来自机器人对话的结果。

Amazon Chime SIP 媒体应用程序执行后处理步骤并将调用返回给 Asterisk PBX。 为了 Open Account 意图,这会导致 Asterisk PBX 使用基于 Web 客户端的 SIP 电话呼叫代理。 以下屏幕截图显示了带有代理呼叫信息的仪表板。 可以在 Web 客户端上接听此呼叫,以在呼叫者和座席之间建立双向音频。 如屏幕截图所示,呼叫者提供的信息已被保存并呈现给座席。

使用 Amazon Lex 和 Amazon Chime SDK PlatoBlockchain Data Intelligence 将对话式 AI 添加到任何联络中心。 垂直搜索。 哎。

观看以下视频,了解有关如何使用 Amazon Chime SDK 将 Amazon Lex 与 Cisco Unified Contact Center 集成的合作伙伴解决方案示例:

清理资源

要清理此演示中使用的资源并避免产生更多费用,请在终端窗口中运行以下命令:

yarn destroy

使用 Amazon Lex 和 Amazon Chime SDK PlatoBlockchain Data Intelligence 将对话式 AI 添加到任何联络中心。 垂直搜索。 哎。

AWS CloudFormation AWS CDK 创建的堆栈被销毁,移除所有分配的资源。

结论

在这篇博文中,我们展示了一个带有参考架构的解决方案,可以使用 Amazon Lex 和 Amazon Chime SDK 将自助式 AI 添加到任何联络中心。 我们展示了该解决方案的工作原理,并提供了代码和部署步骤的详细演练。 此解决方案旨在作为参考架构或快速入门指南,您可以根据自己的需要进行自定义。

试一试,通过在评论部分留下反馈,让我们知道这是如何解决您的用例的。 有关详细信息,请参阅 项目 GitHub 存储库.


关于作者

使用 Amazon Lex 和 Amazon Chime SDK PlatoBlockchain Data Intelligence 将对话式 AI 添加到任何联络中心。 垂直搜索。 哎。普雷姆兰加 是 AWS 的 NLP 领域负责人和高级 AI/ML 专家 SA,并且经常发表博客、研究论文和最近出版的 NLP 教科书。 当他不帮助客户采用 AWS AI/ML 时,Prem 涉足为 AWS 办公室构建 Simple Beer Service 单元,使用 DeepRacer 和 DeepComposer 举办竞争性游戏活动,并教育学生和年轻专业人士建立 AI/ML 技能的职业生涯。 你可以关注 Prem 的工作 LinkedIn.

使用 Amazon Lex 和 Amazon Chime SDK PlatoBlockchain Data Intelligence 将对话式 AI 添加到任何联络中心。 垂直搜索。 哎。考特舒特 是 Amazon Chime SDK 的首席布道者,具有电话背景,现在喜欢构建能够构建事物的事物。 Court 专注于教授开发人员和非开发人员如何使用 AWS 进行构建。

使用 Amazon Lex 和 Amazon Chime SDK PlatoBlockchain Data Intelligence 将对话式 AI 添加到任何联络中心。 垂直搜索。 哎。瓦姆什·克里希纳·埃纳博塔拉 是 AWS 的高级 AI/ML 专家 SA,在大数据、分析和为初创企业和企业编排可扩展 AI/ML 架构方面拥有专业知识。 Vamshi 专注于语言 AI,并在构建世界级推荐引擎方面进行创新。 工作之余,Vamshi 是一名 RC 爱好者,建造和使用 RC 设备(飞机、汽车和无人机),还喜欢园艺。

时间戳记:

更多来自 AWS机器学习