京东智能客服言犀意图体系搭建和意图识别技术介绍

语言: CN / TW / HK

01 背景介绍

近年来随着人工智能技术的不断发展,以及各行业内部系统对智能化需求的日益增大,智能客服机器人服务水平大幅提升,越来越多的企业开始建立自己的智能客服产品,尤其是一些中大型企业。搭建一款智能客服机器人需要哪些技术储备,其中的核心环节有哪些,成为各个商家需要回答的问题。

京东于2012年在京东商城上线智能客服,并于2020年11月25日在JDDiscovery-2020京东全球科技探索者大会上正式发布了京东智能客服品牌“言犀”。经过多年探索,言犀技术团队沉淀出一整套高效的智能客服机器人搭建、运营方法。本文重点对言犀智能客服机器人意图体系搭建及识别技术进行介绍。

02 整体介绍

首先,对智能客服机器人做一个简单的说明。我们将智能客服机器人简单拆分为用户意图识别和方案生成两个部分。其中意图识别需要离线梳理好意图体系,线上系统将用户话术进行识别并将其关联到具体的意图知识点上。这一阶段主要依赖团队的AI技术能力,保证意图体系的清晰、完备,以及线上的精准识别。方案生成阶段,针对每个意图知识点,结合用户的具体情况生成适合用户的解决方案。这一阶段主要依赖智能客服系统与各个业务系统的深度结合,能够获取足够的权限提供有效的解决方案。

图1所示为京东智能客服言犀意图识别框架。系统分为离线意图体系模块和线上意图理解模块,同时通过意图回流模块将线上数据与离线意图体系打通。其中意图体系是整个系统的基石,需要保证构建的意图体系合理、完备,且有整套运营工具持续调优。线上意图理解模块通过启发式问答、高频问法精准识别、长尾意图有效引导形成漏斗形识别流程,保证整体识别效果。最后,针对线上未识别的问题通过意图回流模块完善离线意图体系,不断优化识别效果。相关模块的落地细节将在后续章节展开。

图1:意图识别整体框架

03 意图体系建立

搭建一个智能客服机器人,第一步就是要梳理清楚当前业务下有哪些知识点,然后基于不同的知识点设计解决方案。对比线上识别模块,业界在各种标准任务上已经沉淀出一批成熟的识别算法,能够满足不同需求。相对而言,一套合理、完备的意图体系更能够决定一款智能客服机器人的应答效果。经过多年反复实践,京东言犀落地了一套标准的意图体系建立流程。

如图2所示,我们将整个意图梳理流程,以及参与人员进行标准化定义。同时通过全流程工具提效,保证梳理效率以及产出质量。通过整套机制,当前京东智能客服言犀已落地3000+意图,结合不同的业务状态、槽值信息,为用户提供10w+的精准解决方案。

图2:意图体系梳理流程

整套方案中,参与人员包括算法、场景负责人、AI训练师、外包标注人员四中角色。其中算法人员熟悉各类识别算法,并提供工具支撑,同时基于对算法的了解从数据维度判断如何划分意图体系。场景负责人拥有丰富的业务经验,对每一类业务有什么问题,应该如何应答提供专业意见。AI训练师作为算法和场景负责人之间的桥梁,同时对算法和业务有一定了解,并将业务知识按照算法规则梳理出来与各方进行沟通调整。外包同学基于AI训练师梳理的明确规则,进行数据标注。

梳理流程标准化为8个步骤(不包含图中的上线、回流阶段)。第一阶段输出标注规则,主要包括每一个意图的明确定义,易混淆意图的区分方式,以及意图下常见的代表问法,用于标注人员更加具象的感受意图含义、边界。基于第一阶段产出的代表问,算法自动扩充相似问,通过这种流程产出的数据自然带有层级关系,方便后续数据利用。同时,在这种模式下外包标注人员只需要判断相似问与所属代表问是否语义一致即可。将复杂的分类标注任务,转换为相似问判断任务,大幅降低标注难度,提升标注效率。最后,针对第一阶段中少量代表问标注数据,以及第二阶段中大量相似问标注数据。我们设计了不同的异常检测工具,方便标注人员快速发现标注错误。

通过上述一整套标准化拆解任务,结合相似问挖掘、异常检测等工具,AI训练师人效提升60%以上。整套工具也沉淀到运营系统中,用于意图体系的持续调优,防止随着人员变动、业务变化而导致意图体系逐渐混乱。

04 意图理解

基于离线搭建的意图体系,线上系统需要对用户的问题进行精准识别,将用户问题识别到具体的意图知识点。这一节分别对线上各个意图理解模块进行说明。

4.1 启发式问答

如前文描述,虽然京东言犀拥有一整套完善的意图体系及线上识别框架,但如果在对话中任由用户的问题发散,还是会给识别带来非常大的挑战。通过对用户咨询前、中、后全流程的启发式应答策略,让用户实现“点、点、点”即可完成咨询。在收敛用户问法、降低识别难度的同时,大幅降低用户费力度,提升用户体验。当前京东智能客服言犀中有1/3的消息是通过用户点击实现咨询,能够有效提升用户的操作便利性和整体服务满意度。

启发式问答的设计方式使得用户点击的问题皆为标准问法,从而在用户点击之后不需要再进行对应的意图识别。因此,整套启发式问答的详细介绍在本文中不做介绍,感兴趣的读者可以参考团队前期发表于公众号【京东科技开发者】上的文章《京东智能客服言犀启发式问答技术揭秘》。

4.2 高频问题识别

针对非点击的用户输入问题,系统需要通过意图识别算法理解用户意图。如目前行业主流技术,文本分类、文本匹配一直是识别高频意图/问法的基础模式,而这些标准NLP任务一直有相对成熟的算法。如图3所示,京东智能客服言犀中的分类、匹配算法也紧跟领域前沿,经历了从传统机器学习+人工特征抽取模式,到深度模型,再到基于大规模预训练模型的阶段。整个发展过程,识别效果在持续提升,但模型复杂度也在逐步增加,而且模型对硬件资源的要求也相应地越来越高。因此,我们通过领域预训练模型结合蒸馏、模型压缩等手段,在保持识别效果的前提下大幅降低对硬件资源的要求,同时提升模型的运行速度。

图3:京东智能客服言犀基础识别算法演进

4.3 长尾问题识别

由于业务复杂性以及对话本身的特性,有相当一部分会话中存在长尾问题。这些长尾问题往往代表了用户的个性化需求,如果不能正确识别、应答,会给用户一种机械化的服务感觉,大幅影响用户体验及机器人的解决能力提升。

很大一部分长尾问题的解决方案为非标准化流程,因此对其识别难度较大。系统需要抽象出一套完备的框架,同时保证每一部分的识别效果。京东智能客服言犀将长尾问题抽象为:1)单句明确的长难句识别问题;2)单句不明但结合上下文意图明确的上下文识别问题;以及3)用户表述不明的模糊问题引导。三种策略保持漏斗形识别,将不同流量分而治之,用于综合解决长尾问题。下面对每一种类型的识别方案进行说明。

4.3.1 长难句识别

在对话过程中,会存在一定量的长句问题,通用意图模型对该部分识别效果偏差。主要原因是在长句描述中,用户偏向于复杂表达,如何提取其中的关键信息是保证识别效果的关键。

图4:一种基于多任务学习的二阶段用户复杂问句意图识别模型

基于上述分析,我们希望通过在意图模型中增加摘要辅助任务来提升意图模型对关键信息的提取能力。具体方案如图4所示,摘要任务上我们并没有采用一般的生成任务,而是参考了google提出的用于序列标注的LaserTagger模型,并进一步对其进行简化,去除之前模型的ADD标签,而只保留DELETE和KEEP两种标签,用于学习用户表述中哪些词语需要保留,哪些词语需要删除。在意图识别任务上,将词语表征(token embedding)与标签表征(label embedding)相加,然后使用SWEM(Simple Word Embedding base Model)方式抽取语义特征进行意图识别任务。

对比直接使用通用意图模型,新模型在长句识别准确率上有大幅提升,成为业务的一大亮点。

4.3.2 上下文识别

上下文多轮识别一直是对话系统中的难点问题,由于京东智能客服言犀意图体系的复杂程度(3000+意图),多轮识别难度进一步增大,针对多轮识别言犀也落地了一系列工作,本节先重点对多轮匹配工作进行说明。

图5:一种用于多轮回复选择的对齐对比模型

随着BERT等大规模预训练模型的成熟,模型特征提取能力有了大幅提升,多轮匹配算法与单句文本匹配算法的效果差别也越来越小。例如最近被提出的BERT-DPT模型,其架构可同时支持多轮、单轮匹配,并且在多个开源测试集上达到了相当高的准召率。但是在实际落地应用中会发现,直接利用这些模型的效果往往差强人意。直接的原因就是在实际应用场景中,上下文语境复杂,中间夹杂着很多无效甚至干扰信息,即使利用BERT等大规模预训练模型也很难抽取出其中的关键信息。针对这一问题,如图5所示,京东言犀结合对比学习探索了一套多轮匹配模型训练方案,在实际业务中准确率取得大幅提升。

这里对模型训练方式做一个简单说明。为了让模型能够从上下文中提取关键信息,我们将用户上下文与候选问题基于attention机制进行对齐。经过处理后我们有用户的原始上下文输入,经过对齐后的上下文,以及候选问题。分别将以及输入模型,经过模型特征抽取后分别得到表征以及。最终通过对比损失让两个表征更加接近,从而让模型关键信息提取能力增强。

4.3.3模糊问题引导

图6:一种用于补全用户问题的多因子分类框架

由于断句、省略、倒述、错别字等情况,实际对话中用户经常会表述一些模糊问法。盲目的反问甚至应答,都会打断对话的流畅性,影响用户体验。如何能像真人一样做到有针对性的精准反问一直是业界难题,系统需要定位到合适的反问时机,以及正确的反问内容。如图6所示,京东智能客服言犀基于多因子识别设计了一套模糊意图识别、反问的策略。

不同于一般情况下将用户问题识别到一个明确意图,我们梳理发现,一个完备的意图一般由动作(退/换/修等等)、业务(发票/订单等等d)、状态(已下单/未收货等等)、问法(时间/地点/方式等等)四个维度组成。因此在识别用户问题主意图的同时,我们还进一步识别当前问题的因子式。并基于主意图与因子式内部的信息判断用户意图是否模糊,以及模糊情况下如何进行精准反问。

如果要训练因子识别模型需要一定量的标注数据。由于识别维度多,标注难度大,如何获取大量高质量标注数据直接影响了方案落地。我们采用了半自动标注的方式基于少量标注数据自动生成大量训练数据。如上文意图体系建立模块描述,通过整套意图梳理流程产出的标注数据自动存在代表问、相似问层级结构,同一个代表问下的相似问句式基本相同。基于这一特性,人工只需要针对代表问进行梳理,产出每一个意图下的因子式,以及每个因子的关键词有哪些即可。通过这些信息自动对相似问进行标注,判断相似问是否含有相应的因子以及关键词,针对不合法的问法由人工进行补充校验。在这套机制下,只不到10%的数据需要人工标注,保证了方案的可行性。

经过离线梳理、训练后。我们能够获取到一个因子识别模型,以及每个意图下的合法因子式有哪些。在线上识别模块,系统识别到用户问题的意图以及因子式。基于被识别到的因子式是否有效、因子式与意图是否匹配等情况,可以判断用户意图是否模糊,以及在模糊情况下如何针对性的反问。整套方案上线后,模糊引导策略在触发率、点击率、准确率指标都有大幅提升。

05 数据回流

即使有了一整套线上识别策略,在实际咨询场景中还是会有一部分用户意图、问法无法识别。这部分数据我们也希望能够不断回流到意图体系中,持续优化线上识别效果。为了提升回流质量及效率,我们将线上未识别的问题进行自动聚类,并且向AI训练师推荐每一个簇最接近的知识点。方便AI训练师快速回流。

可以看到整个回流都是基于文本聚类进行的,聚类效果的好坏会直接影响回流效果。影响聚类的效果主要有两个因素:一个是原始问题的表征是否能够有效表征问题的语义信息。另一个是聚类算法在聚类性能和效果上是否能够满足系统对算法性能的要求。在聚类算法上的相关学术界探索已有多年积累,有包括基于划分、基于密度、基于层次等类信息的算法模型可供选择。因此,我们将工作的重点放在探索如何获取适合聚类任务的文本语义信息表征。

聚类任务对文本表征的一个基础要求就是不同簇的文本表征之间相关性应该很低,聚类算法只是基于文本表征对数据进行划分。如果不同簇的文本表征在表示空间中存在重叠,那么聚类算法也无法将其划分开。而对比学习正是具有这一特性,能够将语义相似的表征拉近,将语义不同的表征推远。很自然的,如图7所示,我们考虑将对比学习引入文本表征任务中。同时,常规基于样本的对比学习往往只能从语义层面将表征拉近/推远,导致调整后的表征倾向于将问法相似的问题(语义相似)聚类到一个簇,却无法将问法不同但意图相同的问题聚类到一个簇。针对这一问题,我们同步引入了聚类任务,以及基于类簇的对比学习,使得模型表征同步学习到类别信息。优化后的模型在多个开源测试集上均取得了SOTA效果。

图7:SimCTC:一种简单的用于短文本聚类的对比学习方法

06 领域预训练模型

以上模块是对京东智能客服言犀中具体的识别模块介绍。各模块中涉及的大量模型都是基于大规模预训练模型进行二次调优生成,因此所有识别效果很大程度上决定于基础预训练模型的效果。当前通用预训练模型在智能客服领域无法充分发挥效果,主要有以下几方面因素:

1 、没有融入智能客服相关领域数据集。

2 、NSP(Next Sentence Prediction)任务无法充分学习到智能客服潜在语义关联性。

3 、如何将多种任务类型很好的融合到预训练中,也将是预训练模型效果提升的关键。

基于上述问题,我们提出了 IcsBERT (BERT for Intelligent Customer Service Domain),专门针对智能对话领域进行预训练效果提升。除了针对性使用了对话领域数据集外,基于我们提出的提示性多任务并发训练方式,将多个对话领域的关键任务融入到模型预训练当中,提升了预训练模型的效果。

在训练数据集上,我们使用智能客服领域多种业务的人人对话、人机对话为基础数据。基于这些数据,结合不同的数据生成策略,构建了海量训练集。针对构建的数据及智能对话领域的核心任务,我们设计了三种训练任务:

SOP任务 :采用SOP(Sentence Order Prediction)扩展任务代替原始BERT中的NSP任务,预测当前文本是两句连续文本中的前一句、后一句还是随机句。

QA任务 :将用户连续问题和客服连续问题进行合并,整理出标准QA(Question-Answer Matching)数据集。QA都来自同一会话中的连续消息为正样本,否则为负例。

QQ任务 将线上用户问题识别意图作为标签,通过lucene检索,同意图下的检索结果为正例,不同意图下的检索结果为负例。同时通过多种策略保证抽取各种识别难度的正负例数据 (Question-Questi on Matching

最后,训练方式如图8所示。我们提出了提示性多任务并发训练方式,采用 不同的first token标签,引导不同任务预训练。具体的,[CLS] token预训练学习SOP扩展任务、[QQ] token预训练学习相似度匹配相关任务、[QA] token预训练学习问答相关任务。基于以上方法产出的预训练模型,在京东智能客服言犀的多个业务线,以及各类任务上对比多种开源模型,均取得了最优效果。

图8:京东言犀领域预训练模型架构图

07 未来展望

以上内容为京东智能客服言犀在意图识别体系搭建以及识别技术方面工作的介绍。在未来,我们将持续探索这一工作的优化方向,同时尝试将意图识别与方案生成进行联动优化,进一步提升当前对话系统的效果体验,实现更加类人的智能客服系统。

文丨俞晓光、王超、宋双永

-End-

▶► 更多了解