这篇博文由埃森哲的 Nick Vargas 和 Anna Schreiber 共同撰写。
安排客户约会通常是一个人工和劳动密集型的过程。 您可以利用自助服务技术的进步来自动安排预约。
在这篇博文中,我们将向您展示如何构建一个使用 亚马逊Lex 和 亚马逊通. 该解决方案允许用户通过 Meta Messenger 创建约会,并通过 SMS 移动消息接收约会确认。 它还提供了一个基于 Web 的仪表板,因此您可以在预定时间通过单击按钮向用户提供呼叫。
Amazon Lex 与 Meta messenger 集成,可用于启用聊天对话。 Lex 是一种完全托管的人工智能 (AI) 服务,具有自然语言理解 (NLU),用于在应用程序中设计、构建、测试和部署对话界面。
解决方案概述
下面的架构图显示了不同 AWS 组件和服务之间交互的高级概述。 该解决方案由以下主要组件组成:使用 Meta Messenger 的客户交互、通过 Lex 启用的 SMS 的预约安排以及来自 Connect 的客户外拨拨号器。 这个呼出拨号器可以很容易地从一个简单的 UI 界面创建对客户的呼出呼叫。
这篇文章使用以下示例机器人对话:
用户: 我想预约。
经纪人: 我可以给你找什么约会? 您可以说“帐单”、“常规”或“优惠”。
用户: 计费
经纪人: 你的名字是什么?
用户: 萨米尔
经纪人: 带国家代码的电话号码是多少?
用户:+10001234567
经纪人: 我应该什么时候安排您的账单预约?
用户: 下周星期二
经纪人: 我应该在什么时间安排账单预约?
用户: 上午 9:00
经纪人: Sameer, 09:00 有空,我应该继续预约吗?
用户:是的
经纪人: 谢谢Sameer,您的预约已于09:00 确认,我们已将详细信息发送至您的电话号码。
对于调度程序和客户通知组件,一个 AWS Lambda handler 用于处理调度请求。 然后约会信息被保存到一个 Amazon DynamoDB 数据库。 成功保存信息后,将通过 SMS 向客户发送通知,确认预约详情 亚马逊Pinpoint.
创建一个 React.js 应用程序,以日历视图格式显示数据库中保存的客户约会。 这使员工可以轻松识别需要呼叫的客户。 单击日历条目中的呼叫按钮以启动呼叫。 这将立即发出呼出请求,以使用 Amazon Connect 将客户与员工联系起来。
先决条件
对于此项目,您应该具备以下先决条件:
- 从下载的代码文件 GitHub存储库.
存储库包含:- React 应用程序文件,位于 UI
- Amazon Connect 联系流,位于 后端/连接/contact_flows 此演示有四个带有文件名的联系流
AgentWhisper
,CustomerWaiting
,InboundCall
和OutboundCall
. - Amazon Lex 机器人的 zip 文件,位于 后端/lex 文件名为 AppointmentSchedulerBot.zip 的目录。
- npm 安装在您的本地计算机上。 参考 如何在你的机器上安装 node.js 和 npm,
该解决方案的部署尽可能使用 CloudFormation 实现自动化,但是,部署中的一些配置和步骤是手动的。
部署解决方案
要在您的 AWS 账户中为约会计划程序演示应用程序设置所需的基础设施,请完成以下步骤:
- 登录 AWS管理控制台.
- 启动堆栈:
- 点击 创建堆栈 页面,在 指定模板,选择 上载模板文件.
- 选择
AppointmentsSchedulerCFTemplate
您从 GitHub 下载的文件。 - 下一页.
- 针对 堆栈名称, 输入堆栈的唯一名称,例如
AppointmentSchedulerDemo
.
- 下一页,然后选择 下一页 在 配置堆栈选项 页面上发布服务提醒。
- 点击 评论 页面,选择 我承认AWS CloudFormation可能会创建IAM资源 并选择 创建.
堆栈生成以下资源:
-
- DynamoDB 表
AppointmentSchedulerTable
- Amazon Pinpoint 应用程序
AppointmentSchedulerPinpointApp
- 二 AWS身份和访问管理 (IAM) 政策:
AppointmentSchedulerPinpointPolicy
AppointmentSchedulerDynamoApiPolicy
- 两个 IAM 角色:
AppointmentsLambdaRole
OutboundContactLambdaRole
- 两个 Lambda 函数:
AppointmentScheduler
AppointmentSchedulerOutboundContact
- Amazon API网关 实例约会
- 亚马逊的CloudFront的 分配
- 亚马逊简单存储服务 (Amazon S3) 存储桶
appointment-scheduler-website
- DynamoDB 表
配置 Amazon Pinpoint 应用程序
要配置 Amazon Pinpoint 应用程序,请完成以下步骤:
- 去 精确控制台.
- 导航到 预约排程器PinpointApp 部署在上面。
- 在左侧菜单下 个人设置 点击 短信和语音.
- 在号码设置下单击 请求电话号码.
- 选择您的原籍国,选择 免费电话和点击 下一页, 然后 请求.
这篇文章的 Amazon Lex 机器人有一个意图, MakeAppointment
,它会询问用户前面示例中的一系列问题,以获取客户的约会类型、日期、时间、姓名和电话号码。
AppointmentTypeValue
是此机器人的唯一自定义槽类型,并采用以下三个值之一:Billing、General 或 Offers。 Name、Phone、Date 和 Time 槽均使用 Amazon Lex 提供的内置槽类型。
部署 Amazon Lex 自动程序
要部署机器人,首先导入 Amazon Lex 机器人 (AppointmentSchedulerLex.zip
) 进入您的帐户。
- 登录 Amazon Lex V2 控制台.
- 如果这是您第一次使用 Amazon Lex,您将看到欢迎页面,选择 创建机器人.
- 当出现创建您的机器人页面时,向下滚动到页面底部,然后选择 取消. 如果这不是您第一次使用 Amazon Lex,请跳过此步骤。
- 行动, 然后 进口.
- 输入 预约调度机器人 对于机器人的名称,然后选择要导入的 .zip 存档。
- 在 IAM 权限下,选择 创建具有基本 Amazon Lex 权限的角色。
- 在 COPPA 下,选择 没有.
- 点击 进口.
- 通过单击机器人的名称打开机器人。
- 下 部署 在左侧菜单中,单击 别名, 选择 测试机器人别名 并点击 英语(美国) 下 语言。 选择
AppointmentScheduler
Lambda 函数并单击 保存.
- 在左侧菜单的机器人版本下,选择 意向 并在页面的右下角,单击 建立.
- [可选] 构建完成后,单击 测试 使用右侧显示的窗口测试机器人(单击麦克风图标与您的机器人交谈或在文本框中输入)。
设置 Amazon Connect 实例
要设置您的 Amazon Connect 实例和联系流,您需要完成以下步骤:
- 设置 Amazon Connect 实例。
- 去 Amazon Connect控制台.
- 如果这是您第一次访问 Amazon Connect 控制台,您将看到欢迎页面,选择 立即购买.
- 如果这不是您第一次使用 Amazon Connect,请单击 添加一个实例.
- 针对 身份管理, 选择 在 Amazon Connect 中存储用户.
- 针对 访问网址,为您的实例键入一个唯一名称,例如,
AppointmentSchedulerDemo
,然后选择 下一页. - 点击 添加管理员 页面,为 Amazon Connect 添加一个新的管理员账户。 稍后使用此帐户使用唯一访问 URL 登录您的实例。 点击 下一步.
- 在接下来的两页中—— 电话选项和数据存储 – 接受默认设置并选择 下一步.
- 点击 查看并创建 页面,选择 创建实例.
- 将 Amazon Lex 自动程序添加到您新创建的 Amazon Connect 实例。
- 登录实例并领取电话号码
- 添加
OutboundQueue
- 将电话号码添加到
BasicQueue
- 从左侧的导航菜单中,选择 队列 从路由菜单。
- 点击
BasicQueue
. - 在 Outbound caller ID number 字段中,添加您之前声明的电话号码。
- 点击 保存 在右上角。
- 导入
InboundCall
联系流 - 然后,将此流与电话号码相关联。
- 导入
AgentWhisper
,CustomerWaiting
及OutboundCall
联系流- 从左侧导航菜单中,选择 联系我们 流动 下 路由.
- 点击 创建代理耳语流.
- 在页面右侧,单击向下箭头,然后单击 导入流量(测试版).
- 找到 AgentWhisper 文件并选择 进口.
- 点击 发布.
- 导航回 联络流程 列表并单击旁边的向下箭头 创建联系流程.
- 点击创建 客户队列流程.
- 在页面的右侧,单击向下箭头,然后单击导入流(测试版)。
- 找出
CustomerWaiting
文件并选择导入。 - 单击发布。
- 导航回联系流列表,然后单击创建联系流旁边的向下箭头。
- 选择创建联系流。
- 在页面的右侧,单击向下箭头,然后单击导入流(测试版)。
- 找出
OutboundCall
从您之前下载的 GitHub 存储库中创建文件,然后选择 Import。 - 单击发布。
编辑 Lambda 函数:
- 去 Lambda控制台.
- 点击
AppointmentScheduler
功能。 - 点击 配置 和 环境变量 从左侧菜单。
- 点击 编辑. 用您的 Pinpoint 替换值 项目ID 和 无费号码。 点击 保存.
- 返回到 Lambda控制台 并点击
AppointmentSchedulerOutboundContact
功能。 - 重复步骤 3 和 4,替换
CONTACT_FLOW
,INSTANCE_ID
和QUEUE_ID
具有正确的值。 点击 保存 一旦完成。
Lex 机器人和 Amazon Connect 实例现已准备就绪。 接下来,我们将部署 UI。
编辑 API 网关路由:
- 去 API网关控制台
- 单击名为的实例 约会
- 在资源部分下,单击属于 /outcall 资源的 POST 方法。
- 点击 整合要求.
- 然后单击 Lambda 函数字段右侧的编辑图标。 然后单击出现在文本字段右侧的复选标记图标。
- 单击确定以向 Lambda 函数添加权限。
部署用户界面:
- 部署前配置 UI
- 在您首选的代码编辑器中,打开 ui 下载的代码文件中的文件夹。
- 更换 和 使用您的 API ID(可在 API 网关控制台) 和您部署的资源的区域在以下行中:103、168、310、397、438、453。
- 更换 在第 172 和 402 行使用您的 Amazon Connect 实例名称。
- [可选] 在 index.js 文件第 331 行添加应用徽标:
在 index.html 文件的第 5 行:
- 在终端中,导航到 ui 下载项目的文件夹。
- 运行 npm 安装。 这将需要几分钟才能完成。
- 运行 npm 运行脚本构建. 这将生成一个 构建文件夹 ,在 ui 目录。
- 将代码文件添加到 S3 存储桶:
- 去 S3 控制台.
- 搜索使用 CloudFormation Stack 部署的存储桶, 约会-调度-网站-.
- 拖放内容 建立 夹 在上一步创建的 ui 目录中放入桶中。
- 点击 上传.
您现在应该能够从 CloudFront Distribution 访问应用程序。
- 将 CloudFront 分配添加为已批准的来源。
-
- 转到 Amazon Connect 控制台。
- 选择要添加机器人的实例的实例别名。
- 选择已批准的来源。
- 单击 + 添加源并输入您的 CloudFront 分配的 URL。
- 点击添加。
-
- 现在导航到您的 CloudFront 分发 URL 和 index.html。 (例如,
https:// <DistributionDomainName>.cloudfront.net/index.html
)
清理
完成此解决方案后,请确保清理您的 AWS 环境,以免产生不必要的费用。
- 去 S3 控制台,清空由 CloudFormation 模板 (appointment-scheduler-website) 创建的存储桶。
- 去 CloudFormation 控制台,删除你的堆栈。 确保与此堆栈关联的所有资源均已成功删除。
- 去 Amazon Connect控制台,删除您的实例。
- 去 Amazon Lex控制台,删除您创建的机器人。
结论
对于这个博客, Accenture 和 AWS 合作开发了一种机器学习解决方案,该解决方案突出了使用 AWS 服务来构建自动预约计划程序。 该解决方案展示了在 AWS 中构建预约计划解决方案是多么容易。 Amazon Lex 支持 Meta messenger 等第三方消息传递服务的能力扩展了该解决方案跨多个渠道的潜在覆盖范围。 使用 Amazon Pinpoint 以最少的工作量通过 SMS 实现客户通知。 借助 Amazon Connect,出站拨号程序与日历视图 Web 应用程序无缝集成,使员工能够通过一个简单的点击通话按钮立即与客户建立联系。
您可以通过埃森哲 AWS 业务集团 (AABG) 加速创新。 您可以从两位领先创新者的资源、技术专长和行业知识中学习,帮助您加快创新步伐,提供颠覆性的产品和服务。 AABG 通过快速原型开发帮助客户为客户构思和创新云解决方案。 与我们的团队联系:accentureaws@amazon.com,了解和加速如何在您的产品和服务中使用机器学习。
作者简介
萨默尔·戈尔(Sameer Goel) 是荷兰的高级解决方案架构师,他通过在尖端计划上构建原型来推动客户成功。 在加入 AWS 之前,Sameer 毕业于波士顿,获得硕士学位,主修数据科学。 他喜欢在 Raspberry Pi 上构建和试验 AI/ML 项目。
尼克·巴尔加斯 是埃森哲的经理和技术架构师。 他领导埃森哲 AWS 业务集团 (AABG) 内的快速原型设计团队的项目交付。 他喜欢早上和他的狗 Bingo 一起散步、旅行、去海滩和远足。
安娜施瑞伯 是埃森哲 AWS 业务集团 (AABG) 原型设计团队的一员。 作为一名高级 AWS 开发人员,她参与了多项备受瞩目的概念验证工作,帮助将客户的愿景变为现实。 不工作时,她喜欢烹饪、制作和和她的柯基吉姆利玩耍。
- "
- 100
- 9
- a
- 对,能力--
- 加快
- Accenture
- ACCESS
- 无障碍
- 账号管理
- 横过
- 额外
- 进步
- 向前
- AI
- 所有类型
- 允许
- Amazon
- API
- 应用
- 应用领域
- 应用领域
- 约定
- 架构
- 档案
- 人造的
- 人工智能
- 人工智能(AI)
- 律师
- 相关
- 自动化
- 自动化
- 可使用
- AWS
- before
- 如下。
- 测试
- 之间
- 计费
- 博客
- 边界
- 波士顿
- 博特
- 机器人
- 盒子
- 带来
- 建立
- 建筑物
- 内建的
- 商业
- 日历
- 呼叫
- 呼叫者
- 通道
- 收费
- 要求
- 云端技术
- 码
- 柱
- 完成
- 元件
- 组件
- 浓度
- 分享链接
- 安慰
- CONTACT
- 包含
- Contents
- 谈话
- 对话
- 国家
- 创建信息图
- 创建
- 创建
- 资历
- 习俗
- 顾客
- 客户成功
- 合作伙伴
- 前沿
- XNUMX月XNUMX日
- data
- 数据科学
- 数据库
- 交货
- 部署
- 部署
- 部署
- 设计
- 详情
- 开发
- 开发商
- 研发支持
- 不同
- 直接
- 屏 显:
- 破坏性
- 分配
- 向下
- 下降
- 每
- 编辑
- 努力
- 员工
- enable
- 使
- 输入
- 进入
- 环境
- 例子
- 专门知识
- 姓氏:
- 第一次
- 流
- 以下
- 格式
- 止
- 功能
- 功能
- 网关
- 其他咨询
- 生成
- GitHub上
- 去
- 团队
- 帮助
- 帮助
- 帮助
- 亮点
- 创新中心
- How To
- 但是
- HTTPS
- ICON
- 鉴定
- 身分
- 立即
- 实施
- 指数
- 行业中的应用:
- 信息
- 基础设施
- 项目
- 創新
- 创新
- 安装
- 例
- 集成
- 房源搜索
- 意图
- 相互作用
- 接口
- IT
- 知识
- 语言
- 发射
- 领导
- 信息
- 学习用品
- 学习
- 离开
- Line
- 线
- 清单
- 本地
- 商标
- 机
- 机器学习
- 使
- 制作
- 颠覆性技术
- 经理
- 手册
- 硕士
- 消息
- 信使
- 元
- 可能
- 联络号码
- 多
- 名称
- 自然
- 导航
- 旅游导航
- 荷兰
- 下页
- 通知
- 数
- 优惠精选
- 打开
- 操作
- 附加选项
- 部分
- 播放
- 政策
- 可能
- 潜力
- 小学
- 过程
- 热销产品
- 本人简介
- 项目
- 项目
- 证明
- 原型
- 原型
- 提供
- 提供
- 提供
- 发布
- 达到
- 应对
- 接收
- 地区
- 知识库
- 请求
- 必须
- 资源
- 资源
- 角色
- 路线
- 科学
- 无缝
- 系列
- 服务
- 特色服务
- 集
- 几个
- 如图
- 简易
- 短信
- So
- 固体
- 方案,
- 解决方案
- 一些
- 说话
- 堆
- 存储
- 成功
- 顺利
- SUPPORT
- 团队
- 文案
- 专业技术
- 终端
- test
- 荷兰人
- 第三方
- 三
- 通过
- 次
- 最佳
- 旅游
- ui
- 下
- 理解
- 独特
- us
- 使用
- 用户
- 利用
- 折扣值
- 查看
- 愿景
- 卷筒纸
- 基于网络的
- 周
- 欢迎进入
- 什么是
- 什么是
- 耳语
- WHO
- 中
- 工作
- 加工
- 将
- 您一站式解决方案