在线销售产品或服务的公司需要不断监控购买产品后留在其网站上的客户评论。 公司的营销和客户服务部门分析这些评论以了解客户情绪。 例如,营销部门可以使用这些数据来创建针对不同客户群的活动。 客户服务部门可以使用这些数据来发现客户的不满并采取纠正措施。
传统上,这些数据通过批处理过程收集并发送到数据仓库进行存储、分析和报告,并在数小时甚至数天后提供给决策者。 如果可以立即分析这些数据,它可以为公司提供机会对客户情绪做出快速反应。
在这篇文章中,我们描述了一种近乎实时(几分钟)分析客户反馈整体情绪的方法。 我们还演示了如何直接从 API 理解与文本中特定实体(例如公司、产品、个人或品牌)相关联的不同情绪。
实时情绪分析的用例
实时情绪分析对于有兴趣获得客户对其产品和服务的即时反馈的公司非常有用,例如:
- 优选餐厅
- 销售各种产品或服务的零售或 B2C 公司
- 公司流式传输在线电影(OTT 平台)、现场音乐会或体育赛事
- 金融机构
一般来说,任何有客户接触点并需要做出实时决策的企业都可以从客户的实时反馈中获益。
在以下用例中部署实时情绪方法可能很有用:
- 营销部门可以使用这些数据更好地定位客户群,或针对特定客户群调整营销活动。
- 客户服务部门可以立即联系不满意的客户并尝试解决问题,防止客户流失。
- 对产品的正面或负面情绪可以证明是不同地区产品需求的有用指标。 例如,对于一种快速流通的产品,公司可以使用实时数据来调整仓库中的库存水平,以避免特定区域的库存过剩或缺货。
对情绪有一个细致的了解也很有用,如以下用例所示:
- 企业可以识别员工/客户体验中令人愉快的部分和可以改进的部分。
- 联络中心和客户服务团队可以分析随叫随到的转录或聊天记录,以确定座席培训的有效性和对话细节,例如来自客户的特定反应以及用于引发该响应的短语或单词。
- 产品所有者和 UI/UX 开发人员可以识别用户喜欢的产品功能和需要改进的部分。 这可以支持产品路线图讨论和优先级。
解决方案概述
我们提出了一种解决方案,可以帮助公司根据在其网站上输入的评论,近乎实时(通常在几分钟内)分析客户情绪(全面的和有针对性的)。 它的核心依赖于 亚马逊领悟 执行全面和有针对性的情绪分析。
Amazon Comprehend 情绪 API 识别文本文档的整体情绪。 自 2022 年 XNUMX 月起,您可以使用有针对性的情绪来识别与文本文档中提到的特定实体相关的情绪。 例如,在餐厅评论中说“我喜欢汉堡,但服务很慢”,目标情绪将识别对“汉堡”的正面情绪和对“服务”的负面情绪。
对于我们的用例,北美的一家大型连锁餐厅希望分析客户在其网站上和通过移动应用程序做出的评论。 餐厅想要分析顾客对菜单中各种项目的反馈、分店提供的服务以及对他们体验的整体看法。
例如,一位顾客可以写下以下评论:“您位于纽约的餐厅的食物非常好。 意大利面很好吃。 不过服务太差了!” 对于此评论,餐厅的位置是纽约。 整体情绪喜忧参半——对“食物”和“面食”的情绪是积极的,但对服务的情绪是消极的。
餐厅希望按年龄和性别等客户概况分析评论,以确定客户群中的任何趋势(此数据可以通过他们的网络和移动应用程序捕获并发送到后端系统)。 他们的客户服务部门希望使用此数据通知代理通过在下游 CRM 系统中创建客户工单来跟进问题。 运营部门希望了解哪些项目在给定的一天快速移动,这样他们就可以减少这些项目的准备时间。
目前,所有分析都是通过电子邮件通过需要 2-3 天的批处理报告作为报告交付的。 该餐厅的 IT 部门缺乏复杂的数据分析、流媒体或 AI 和机器学习 (ML) 功能来构建此类解决方案。
以下架构图说明了工作流的第一步。
整个解决方案可以连接到客户网站或移动应用程序的背面。
Amazon API网关 公开两个端点:
- 输入客户评论的客户端点
- 一个服务端点,服务部门可以在其中查看任何特定评论并创建服务票证
工作流程包括以下步骤:
- 当客户输入评论(例如,从网站)时,它会发送到连接到 Amazon Simple Queue服务 (Amazon SQS) 队列。 队列充当缓冲区来存储输入的评论。
- SQS 队列触发一个 AWS Lambda 功能。 如果消息在几次重试后仍未传送到 Lambda 函数,它将被放入死信队列以供将来检查。
- Lambda 函数调用 AWS步骤功能 状态机并传递来自队列的消息。
下图说明了 Step Functions 工作流程。
Step Functions 并行执行以下步骤。
- Step Functions 通过从 Amazon Comprehend 调用 detect_sentiment API 来分析消息的完整情绪。
- 它调用以下步骤:
- 它将结果写入一个 Amazon DynamoDB 表。
- 如果情绪是负面的或混合的,它会执行以下操作:
- 它发送一个通知给 亚马逊简单通知服务 (Amazon SNS),由一个或多个电子邮件地址订阅(例如客户服务总监、营销总监等)。
- 它发送一个事件到 亚马逊EventBridge,它被传递到另一个下游系统以根据收到的评论采取行动。 在示例中,EventBridge 事件被写入一个 亚马逊CloudWatch 日志。 在实际场景中,它可以调用 Lambda 函数将事件发送到 AWS 内部或外部的下游系统(例如库存管理系统或调度系统)。
- 它通过调用
detect_targeted_sentiment
来自 Amazon Comprehend 的 API。 - 它使用 Map 函数将结果写入 DynamoDB 表(并行地,一个用于消息中标识的每个实体)。
下图说明了从 Step Functions 到下游系统的工作流程。
- DynamoDB 表使用 Amazon DynamoDB流 执行更改数据捕获 (CDC)。 插入表中的数据通过流式传输 Amazon Kinesis数据流 至 亚马逊 Kinesis 数据流水线 近实时(设置为 60 秒)。
- Kinesis Data Firehose 将数据存入一个 亚马逊简单存储服务 (Amazon S3)存储桶。
- 亚马逊QuickSight 分析 S3 存储桶中的数据。 结果显示在各种仪表板中,销售、营销或客户服务团队(内部用户)可以查看这些仪表板。 QuickSight 还可以按计划刷新仪表板(本示例设置为 60 分钟)。
AWS CloudFormation 用于创建解决方案架构的模板可在 GitHub上. 请注意,模板不包括 QuickSight 仪表板,但在 README.md 文件中提供了有关如何创建它们的说明。 我们在下一节中提供了一些示例仪表板。
QuickSight 仪表板
仪表板对于营销和客户服务部门非常有用,可以直观地分析他们的产品或服务在关键业务指标方面的表现。 在本节中,我们将介绍一些在 QuickSight 中使用虚构餐厅数据开发的示例报告。 这些报告可在大约 60 分钟内提供给决策者(根据我们的更新周期)。 他们可以帮助回答如下问题:
- 客户如何看待整个业务?
- 客户是否喜欢或不喜欢服务的任何特定方面(例如提供服务所花费的时间、针对客户投诉提供的解决方案)?
- 客户如何喜欢特定的新推出的产品(例如菜单上的项目)? 是否有客户喜欢或不喜欢的特定产品?
- 在不同年龄段、性别或地点(例如当今不同地点流行哪些食品)的客户情绪中是否存在任何可观察到的模式?
满满的情调
下图显示了完整情绪分析的示例。
第一张图是整体情绪。
下图显示了各个年龄段的情绪。
下图显示了不同性别的情绪。
最终图表显示了各个餐厅位置的情绪。
有针对性的情绪
下图显示了目标情绪分析的示例。
第一张图按实体(服务、餐厅、用餐类型等)显示情绪。
以下按实体显示跨年龄组的情绪。
下图按实体显示了不同地点的情绪。
以下屏幕截图来自 CRM 票务系统,可用于对客户情绪进行更精细的分析。 例如,在我们的用例中,我们将客户服务部门设置为接收负面情绪的电子邮件通知。 借助电子邮件中的信息(客户情绪的评论 ID),服务代表可以深入了解情绪的更详细信息。
总结
这篇博文描述了使用 Amazon Comprehend 和其他 AWS 服务进行实时情绪分析的架构。 我们的解决方案具有以下优势:
- 它作为带有 API 网关的 CloudFormation 模板提供,可以部署在面向客户的应用程序或移动应用程序后面
- 您可以使用 Amazon Comprehend 构建解决方案,无需 AI、ML 或自然语言处理方面的专门知识
- 您可以使用 QuickSight 构建报告,而无需专门了解 SQL
- 它可以完全无服务器,提供弹性扩展,只在需要时消耗资源
实时情绪分析对于有兴趣获得客户对其服务的即时反馈的公司非常有用。 它可以帮助公司的营销、销售和客户服务部门即时审查客户反馈并采取纠正措施。
在您的公司中使用此解决方案近乎实时地检测客户情绪并做出反应。
要了解更多关于 本博客中描述的主要服务, 请访问以下链接
亚马逊领悟
AWS步骤功能
Amazon DynamoDB流
Amazon Kinesis数据流
亚马逊 Kinesis 数据流水线
亚马逊EventBridge
亚马逊QuickSight
关于作者
瓦拉德·瓦拉达拉扬 是 Amazon Web Services 的高级解决方案架构师 (SA),为美国东北部的客户提供支持。 Varad 担任数字原生企业的可信顾问和现场 CTO,帮助他们使用 AWS 大规模构建创新解决方案。 Varad 感兴趣的领域是 IT 战略咨询、架构和产品管理。 工作之余,Varad 喜欢创意写作、与家人和朋友一起看电影以及旅行。