从数据预处理到排序算法,全方位解读 Uber AI客服系统 COTA

2018年01月22日 由 nanan 发表 220833 0
Uber利用基于NLP和机器学习构建的COTA客服系统,可以快速高效地解决90%以上的客服问题。

为了打造最佳用户体验,Uber持续优化客户支持流程,让客户支持服务更易用,更方便。

为实现这一目标,Uber Customer Obsession团队基于其内部平台,提供5种不同客服渠道(应用内置客户支持、官网客户支持、本地司机网、电话客服、线下服务网点)。每天提交到这个平台上的客服工单有数十万条,遍布全球400多个城市。

基于此,Uber打造了一个AI客服助理平台——COTA(Customer Obsession Ticket Assistant),它利用机器学习和自然语言处理(NLP)技术,帮助客服代表提供更好的客户支持服务。

下面,我们会详细介绍创造COTA的动机,COTA后端架构,并展示如何利用这一强大工具提高客户满意度。

没有COTA之前的客户支持

当客户联系Uber寻求支持时,我们可以让用户在提交问题报告,点选问题所属的类别,填写细节。这一过程为客服提供了很多背景信息,从而能更快解决问题,如图1所示:

从数据预处理到排序算法,全方位解读 Uber AI客服系统 COTA

图 1:Uber内置的客户支持服务为用户提供了一个直观且易于使用的界面,先提供问题可能的类型,然后突出显示行程的细节

Uber内置的客户支持服务能反映问题的背景信息,虽然这些信息很重要,但要解决客户的问题,单靠这些信息远远不够,特别是在一个问题有多种工单答案的情况下。随着Uber的服务规模不断扩大,客服必须应对不断增长的客户支持问题,同时,问题也变得更为多样化,包括技术故障和费用调整等。

事实上,缩短识别问题类型的时间非常重要,它能减少客服解决用户问题的总时间。

确定问题类型后,下一步就是给出正确的解决方案,每种类型的工单都有不同协议和解决方法。

COTA:客户工单助手

基于前面的背景,我们设计COTA来帮助客服提高解决问题的速度和准确性,从而改善客户体验。

COTA利用Michelangelo平台来简化、加速和标准化客服工单流程。目前,COTA由一组向客服推荐解决方案的模型组成,只支持英文工单,我们正试图建立可以处理西班牙语和葡萄牙语客服工单的模型。

基于我们的支持平台,根据客服工单内容和行程上下文信息,Michelangelo模型提供三种最可能的问题类型及其解决方案,处理流程如下:

从数据预处理到排序算法,全方位解读 Uber AI客服系统 COTA

图 2:COTA系统架构由七步工作流程组成

如图2所示,COTA系统包括如下7步:

第一步:客服工单进入客户支持平台(CSP),后端服务系统采集工单的相关特征;

第二步:后端服务系统将这些特征发送到 Michelangelo机器学习模型;

第三步:模型预测每个可能的解决方案的得分;

第四步:后端服务系统接收预测方案和分数,并将其保存到Schemaless数据库中;

第五步:客服打开客服工单后,前端服务系统将触发后端服务系统,以检查客服工单内容是否有更新。如果没有更新,后端服务系统将检索保存于数据库中的解决方案;如果工单有更新,它将抓取更新后的特征,并再次执行步骤2-4。

第六步:后端服务系统将解决方案按分数高低排列,然后返回至前端服务系统;

第七步:将排名前三的解决方案推荐给客服;至此,客服只需做出选择,就可以解决工单。

根据客户服务调查结果显示,COTA可以将工单解决时间缩短 10%以上,同时COTA中的机器学习模型为客服提供了更快和更准确的工单解决方案,使Uber客户支持服务更加完美。

基于NLP和机器学习构建COTA

表面上看,COTA只需收集工单问题的上下文信息,并返回可能的解决方案,但幕后还有很多事情要做。COTA后台负责完成两项任务:确定工单所属类型并确定最合理的解决方案。为了实现这一点,机器学习模型需要从客户提交的文本消息中提取特征、行程信息和客户提交问题时所选的类别。

当模型生成特征分数时,最有价值的特征是用户发送的问题的文本消息。由于用户发送的文本消息对于理解问题很重要,我们建立了一个NLP「管道」,能将多种不同语言的文本转换为对机器学习模型有用的特征。

NLP模型可以翻译和解释不同的文本元素,包括音韵、词性、语法、句法和语义。根据模型的构造单元,NLP可以建立字符级、单词级、短语级和句子/文档级的语言识别模型。

传统的NLP模型是基于人类语言学专业知识来提取文本信息的特征,随着端到端训练的深度学习模式兴起,研究人员开始开发能够解析整个文本块的模型,这时候不必明确地解析一个句子中不同单词之间的关系,而是直接使用原始文本。

在COTA中,我们首先构建一个单词级别的NLP模型,以更好地理解文本消息的语义。自然语言处理中一个流行的方法是主题建模,通过单词的计数统计信息来理解句子的主题。虽然主题建模没有考虑到字词的顺序,但是对于诸如信息检索和文档分类等任务,已经被证明非常有用。

从数据预处理到排序算法,全方位解读 Uber AI客服系统 COTA

图 3:为识别工单问题类型和选择解决方案,我们建立的NLP「管道」模型由三个不同的步骤组成:预处理,特征工程和基于点的排序算法。

预处理

—为了清洗文本,我们首先删除文本中的HTML标签。

—接下来,我们分割工单消息中的句子,并删除停顿用词。

—然后再进行词形化,将单词从不同的时态、派生形式进行还原。

—最后,我们将文档转换成单词集合,并建立这些单词的字典。

主题建模

具体而言,我们使用词频 - 逆向文件频率(TF-IDF)的统计方法和潜在语义分析算法(LSA)来提取主题。

图 4(a)中展示了主题建模中的一些可能的主题类型:

从数据预处理到排序算法,全方位解读 Uber AI客服系统 COTA

图 4(a)主题建模:我们使用 TF-IDF 和 LSA 从文本数据中提取主题   ( b)特征工程:将所有工单解决方案和工单问题映射到主题向量空间,计算解决方案和工单之间的余弦相似度

特征工程

主题建模使我们能够直接使用主题向量作为特征,下游的分类器能将其作为识别问题类型和选择解决方案的依据。

然而,这种方法太直接,会受到主题向量稀疏性的影响。为了有意义地表达这些主题,我们需要使用数百甚至数千维度的主题向量,而主题向量的之间的相关性接近于零。由于特征空间的维度非常高,需要处理大量的数据,因此训练这些模型变得相当困难。

考虑到这些因素,我们决定以间接方式进行主题建模:通过计算余弦相似度特征来执行下一步的特征工程,如图4(b)所示。以选择工单解决方案为例,我们收集每个工单解决方案对应的历史工单,并形成这一工单解决方案对应的词汇集。

在这种情况下,主题建模转换是基于历史工单的词汇集表示。我们用向量Ti表示工单解决方案i,对所有工单解决方案都进行这种转换。我们可以将任何新的工单映射到工单解决方案的主题向量空间T1,T2 ... Tm,其中m是可能使用的工单解决方案的总数。接下来形成工单j的矢量tj。可以计算出Ti和tj之间余弦相似度得分sij,就可以知道工单解决方案i和工单j之间的相似度,从而将特征空间从数百或数千个维度减少到很低维度。

基于点的排序算法

接下来解释机器学习算法是如何选择工单解决方案的。

为了给客服提供最佳的工单解决方案,我们应用了学习排序 (learning-to-rank) 算法,并构建了基于检索的点排序算法。

具体而言,我们将工单解决方案和工单之间的正确匹配标记为正(1),从工单解决方案与工单不匹配的集合中,我们随机抽样形成子集,并标记为负(0)。使用余弦相似度以及工单、行程特征,我们可以建立一个二分法分类器,接下来利用随机森林算法来判断工单解决方案与工单是否匹配。利用算法对可能的匹配进行评分,我们可以对评分进行排名,并给出排名最高的三个解决方案。

下图比较了使用主题向量作为特征的传统多类分类算法与使用工程余弦相似特征的逐点排序算法的性能:

从数据预处理到排序算法,全方位解读 Uber AI客服系统 COTA

 

图 5:基于点的排序算法比多类分类算法的准确度高25%

可以看到,使用余弦相似度作为特征的,基于点的排序算法优于直接使用主题向量的多类分类算法,精度提高了25%。

比较是在相同的数据集上,使用相同类型的算法(随机森林)进行的,且模型的超参数相同。排序框架中使用余弦相似度作为特征可以获得很好的效果。

更便捷更快的工单处理=更好的客户支持

为了衡量COTA对客户支持体验的影响,我们对多个在线英语工单进行了受控的A/B对比实验。在这些实验中,我们选择了几千名客服,将他们随机分配到对照组和实验组。对照组中的客服代表使用原来的工作流程,而实验组中的客服代表使用COTA助理,交互界面包含问题类型和建议的工单解决方案。我们收集了两个组的工单处理结果,并测量了一些关键指标,包括模型准确性、平均处理时间和客户满意度得分。

测试进行如下:

我们首先测量了模型的在线表现,并将其与离线表现进行了比较。我们发现模型性能从离线到在线都是一致的。

然后,我们测量了客户满意度分数,并比较了对照组和实验组。总的来说,实验组的客户满意度提高了几个百分点。这一发现表明,COTA可以提供相同或略高于人工的客户服务质量。

最后,为了确定COTA对工单处理速度的影响,我们比较了对照组和实验组的平均工单处理时间。平均而言,COTA将工单处理时间缩短了大约10%。

下一代COTA中的深度学习

COTA的成功使我们更坚定地持续优化机器学习算法,以提高系统准确性,深度学习框架可以在文本分类、汇总,机器翻译和许多辅助NLP任务(句法和语义分析,文本蕴含,命名实体识别和链接)中使用。

与深度学习相关的实验

在Uber AI实验室的研究人员的支持下,我们尝试将深度学习应用于下一代COTA。我们基于卷积神经网络(CNN),递归神经网络(RNN)以及这两者的几种不同组合,实现了多种体系结构,包括分层结构和基于注意力的体系结构。

使用深度学习框架,我们能够以多任务学习的方式来训练我们的模型,使用单一模型既能够识别问题类型,又能提出最佳工单解决方案。由于问题类型被组织成层次结构,我们可以训练模型来预测问题在层次结构中的位置,在这其中使用波束搜索的循环解码器(类似于序列模型的解码组件),可以进行更精确的预测。

超参数优化选择最佳模型

为了确定最佳的深度学习架构,我们针对所有类型的架构进行了大规模超参数优化,并在GPU集群上进行了并行训练。最后的结果表明,最精确的体系结构既适用于CNN也适用于RNN,但为了我们的研究目的,我们决定寻求一种更简单的CNN体系结构,我们最后设计的模型精度比原始随机森林模型高10%。

在下图中,我们展示了工单集的数据覆盖率(模型正在处理的工单百分比,x轴)和准确度(y 轴)之间的关系。如下所示,随着数据覆盖率的降低,两种模型都变得更加精确,但是我们的深度学习模型在相同的数据覆盖率上表现出更高的准确性,在相同准确度下表现出更高的数据覆盖率。

从数据预处理到排序算法,全方位解读 Uber AI客服系统 COTA

图 6:深度学习模型和经典模型(随机森林)性能比较

 

 

 
欢迎关注ATYUN官方公众号
商务合作及内容投稿请联系邮箱:bd@atyun.com
评论 登录
热门职位
Maluuba
20000~40000/月
Cisco
25000~30000/月 深圳市
PilotAILabs
30000~60000/年 深圳市
写评论取消
回复取消