大数据文摘出品
文章来源:chatbotsmagazine.com
编译:张秋玥、钱天培
如何从零开始设计一个聊天机器人呢?
拆分需求,收集数据,设计产品流程图,训练模型…… 这些都是制作聊天机器人的关键步骤。
今天,我们就以房地产公司客服机器人为案例,讲述一个聊天机器人的养成记。
先总览一下我们的数据,目标和最终结果。
首先,一家大型房地产公司为我们提供了从网站访问者处收到的200,000条消息。
我们的目标如下。我们需要确定:
1.最常见的问题,和最常用的服务
2.这些问题的主题,以及各主题间的问题分布
3.访问者通过询问这些主题试图实现的目标(意图)
简而言之,我们希望做出由数据驱动的决策,提升用户体验。
当一位客户访问这个网站,即便TA还没有说一句话,我们其实已经对TA有了相当的了解。
在TA之前,现有客户已经在访问网站时,向实时聊天服务发送了200,000条消息。这些消息包括已由在线客服回答的消息,以及客服非工作时间内错过的消息。这些信息都可以帮助我们了解这个新客户。
于是,我们运行了一种算法,将这些消息分类为相似信息集群。仅凭算法,我们还无法准确判断他们的意图。因此,我们又动用了大量人力,来将不同集群按照聊天机器人可实现的意图进行划分。
二十万条消息最终归结为90个问题主题。通过人工分类,我们将它们放在3个模块中来设计UX:
1. 系统可以自动回答的问题
2. 在回答之前需要一系列问题来获取相关信息的问题
3. 需要机器人将访问者连接到人工客服以获得准确答案的问题
谁会使用此产品呢?
UX/对话设计师。这样的分析可以实现以用户为中心的设计,因为它可以告知设计师应当构建哪些用户路径。我们的目标是提供能够结合问题背景的答案——这一点一直是聊天机器人的软肋。
机器人训练师。他们现在知道了哪些意图最为重要。培训师可以优先使用他们最常被问及话题的短语来训练机器人。
客户。我们提供概述摘要,其中主要数据包括所提及主题的类型和频率,以及实时客服无法回答消息的数量等。
傻瓜版分步流程。
具体方法
好了,现在就来具体讲讲我们的方法啦。
1. 客户端或其第三方聊天供应商提供会话脚本。
2. 我们运行一种算法;该算法通过机器学习模型处理每个对话中的句子,这允许我们按照语义来对句子进行分类。更具体地说,我们从对话中获取句子并对句子进行矢量化。
3. 随后我们运行另一种算法,以将这些预测具有相似意图的句子分组。注意:此时的聚类可能包含彼此不完全相关的句子——它们只包含类似的信息。
4. 人工浏览这些句子、分析这些集群并为集群打上总结内容的标签。现在我们就有了一张意图列表。
这里,我们想重点区分一下集群和意图。集群是一组具有相似语义的句子——你可以确定10个句子似乎都是关于购买房产的。但是它是一种无监督的机器学习算法,没有实际背景信息。因此人类必须一条条检查它们,并验证某个集群可以转化为意图。
5.设计师采用这些意图和常见问题解答来设计工作流程,以便在用户提出问题或要求时引导用户。
我们向客户提供了一份概述,主要调查结果如下:
客户询问的主要主题和每个主题中的消息数量
在每个主题中,子主题的类型(例如,在所有要求与人工客服联系的用户中有多少人询问了客服联系方式;另一个子主题可以是,是否有空闲客服或客服工作时间)
前10大主题中的消息频率和分布
关于客服在线与离线时问题主题的比较(离线可以是非工作时间或无空闲客服)
我们面临了哪些挑战?
准确地将意图分配给信息集群需要人类手工操作。你可以想象,有一百个集群时,这项工作就太不容易了。
此外,通过90个问题主题进行分类以提出解决用户意图的工作流程需要跨职能协作。我们总是得回到创建用户旅程的目标,满足用户需求,补充公司的内部流程,并通过我们的设计以创造高效、愉悦的用户体验。
通过使用最好的自动化技术与人力相结合,我们才能够实现解决真正问题的技术。
相关报道:
https://chatbotsmagazine.com/how-we-analyzed-200k-messages-to-design-a-chatbot-264a13724752
志愿者介绍
后台回复“志愿者”加入我们