智能服务实施——知识到智能(下)
原文再续,书接上回。上一章节中我们重点聚焦于在线机器人知识管理中的一些重要问题,明确知识的分类有陈述类、程序操作类等几种分类,同时强调了知识管理时的一些必要的全局要素,从知识的存储形态联系到知识库的分类:业务知识库、多轮对话知识库、闲聊知识库,在本章中我们将会把目光聚焦于各种知识库内在的知识管理方法实践。
1.业务知识库管理——基于场景下的知识管理
业务知识库一般分为通用场景业务和产品场景业务,无论是通用场景还是产品场景大都是采用一问一答的单轮对话交互形式。这种知识库一般建议训练师采用场景划分方法进行管理。
场景划分将在线机器人的应答范围按照不同的场景分为不同的模型,可以提升在线机器人的应答准确率,并方便训练人员对在线机器人动态运营。
在线机器人业务场景划分整体流程
从流程上来看业务场景划分包括:确定场景划分方法——通过客户原始语料问题标注划分结果评估场景划分结果——优化场景划分结果,三个阶段。
在线机器人业务场景划分标准
(1)在线机器人服务范围为人工客服中高频、简单的问题,服务载体为当下最大的服务内容。
(2)将同一大类的业务场景汇总为业务模型方便管理,如:订单业务模型其中包括设计订单业务知识的各个场景
(3)分类划分:训练师可以将业务场景按照包含关系以一级、二级、三级分类来划分。
在线机器人业务场景划分方法
(1)客户原始语料聚类。
(2)从业务架构、业务经验出发,自顶向下(一级—二级—三级)划分。
(3)从业务架构、业务经验出发自底向上划分(三级—二级—一级)。
在线机器人业务场景划分工作流程
(1)选定场景划分方法:客服中心业务较为复杂且业务和业务之间存在很大的重合性,需选择从业务架构、业务经验出发自底向上(三级—二级—一级)的划分方法。如:“如何退货?”一级场景是:退货;二级场景是:退货处理;三级场景是:退货操作流程。
(2)完成场景划分的初稿,导入一定数量的用户原始问题语料,通过人工标注将客户问题划分到某一级类场景(一级—二级—三级),若不能划分到具体分类场景中则归类为其他场景。场景划分完成后训练师需要将预先准备的测试集数据(客户原始问句语料)进行人工标准,测试场景划分的准确率,具体操作方法为:训练师将原始问句语料结合业务场景理解划分至对应的场景之中,并根据在一级、二级、三级分类中落入其他场景的比率评估场景划分的效果(理论问题命中场景的概率至少需要85%以上),如:客户原始问句有1000句,其中有600能够划分至已经建立的一、二、三级业务场景分类之中,但其中400句不属于任何场景,这个时候我们可以认为业务场景初稿划分的准确率为60%,是不合格的。
在线机器人业务场景优化
若是业务场景划分初稿出现用户原始问题命中率低的情况时,训练师可采取如下的训练优化措施:训练师先对各自业务板块中无法由机器人解决的业务场景标注,如客户问题:“我要投诉”标注为:“人工处理”,并注明人工客服针对这一业务的处理方案,以便未来机器人业务扩展时能够将这一类场景纳入其中,实践中的训练师也可以针对无法解决的业务进行具体的场景划分,如:投诉类、建议类、账户咨询类等。在完成所有业务场景划分之后,建议训练师们可以将所有机器人无法解决业务进行单独汇总,与机器人能够解决业务场景分开。针对客户原始问题命中场景存在以下几种情形:
情景一:客户原始问题在业务分类中的一级分类场景有绝大多数场景落入到其他场景分类,这时说明业务分类的一级分类划分方法存在问题,需训练师重新划分业务场景;
情景二:客户原始问题在业务分类中绝大多数能够落入到具体一级分类场景中,但发现这些原始原料在某一特定一级分类中,绝大多数都落到了二级分类中的其他场景,这说明一级分类是正确的,但这一级分类下面的二级分类存在问题,需训练师重新划分二级分类场景;
场景三:客户原始问题在业务分类中绝大多数能够落入一级分类场景中,但在二级分类时存在多个同一客户原始语料即能够划分到二级分类A,又能够划入到二级分类B场景之中,这说明该一级分类场景中的二级分类划分存在重合的情况,需要将二级分类场景A、B进行比对,看是否能够将两个场景融合为新的二级分类场景C。
2.业务知识库管理——文档知识管理
应用范围
一问一答知识的上一个形态大都是文档类型,文档知识需要结构化整理后导入到业务知识库之中,但是对于那些无法及时整理为一问一答形式的文档知识,我们是不是要放弃他们呢?当然不是,这个时候如果我们的机器人支持机器阅读技术,就能很好地解决这个问题,并根据机器阅读技术的要求对业务知识库中的文档知识进行管理。目前机器阅读大都是基于深度学习技术,其可以实现直接让客户针对文档知识内容进行提问,由在线机器人自动在文本内容中寻找答案,将答案推送给客户。
机器阅读技术首先能够大量减少训练师对文档知识的阅读、拆解、配置问答对的工作量,实现客户问题直接与知识文档匹配检索的功能。如图所示为一个产品的相关说明书及介绍,当客户咨询到产品的安装步骤时,在线机器人即能根据相关流程在文档中检索相关知识段落,并将检索结果推送至客户处(图1)。
图1 文档知识模板
机器阅读技术需要在线机器人系统支持(如果是外采的在线机器人需要与系统供应商沟通确认是否支持)机器阅读技术非常适用于在线机器人搭建前期,企业知识大都为文档知识的企业,且要求在线机器人很快能够使用需求的企业,通过机器阅读可以大大提升在线机器人开箱使用的速度,但也需要注意的是机器阅读技术并不是万金油,可以作为应急使用,但想要实现将企业所有文档知识打包汇总至机器人中,机器人可以直接应答这一理想状况就目前来说还有一段路需要走。
其次机器阅读技术还适合企业规模体量较大,且有非常多的地市级分公司,不同分公司之间有不同活动,同时所有的服务都有总部统一承接的企业。这种类型的企业尤其是在统一大促日时,知识传递效率较为缓慢,因为各个分公司一般不会设立自己的服务部门,只管设计营销活动,当统一大促日来临之际,很多分公司要么直接将各个活动知识打包汇总至总部,要么就根本不发相关活动知识,等到大量客户咨询后,由总部的知识管理人员挨个收集出现问题的产品知识。这样的知识传递效率下,训练师基本没有办法提前准备、梳理相关的知识导入到机器人当中,同时在大促期间客户咨询问题二八分布特别明显,即80%的问题比例都会集中于大促相关活咨询,导致机器人没有知识储备无法应答,客户只能选择转接人工,不仅导致机器人的分流率极大下降,还会产生人工排队严重,客户满意度大大降低的连锁反应,这种情况运用机器阅读技术在某种程度上可以最快速度完成部分知识的上架,提升机器人的分流率,环节人工服务压力,一定程度上能够提升客户的满意度。
机器阅读的实现方式
前面我们说到过,在线机器人是在学习人工客服的思维逻辑,机器阅读技术作为在线机器人组成技术之一,其实现方式也是参考了人类阅读文档时的逻辑。
我们可以想象一下,上学时期语文考试中的阅读理解题会让我们阅读一篇文章后,让我们回答这么几个问题:这篇文章讲了什么?文章的主旨是什么?文章是抓住“秋天”的哪几个方面来进行描述的?等等。
如果类比到一篇客服中心的文档知识,也是如此:某产品的特点是什么?产品如何办理?产品的费用是多少?
那么人类到底是如何阅读文档并解答的呢?笔者梳理了上学期间做阅读理解的流程给训练师们参考:
首先笔者会完整阅读一遍问题,明确出题人的意图,带着问题通读整篇文章,理解文章主题和大体内容,知道这篇文章到底在讲什么?其次带着问题再次阅读文章并寻找答案,将问题同文章进行关联,并结合篇章主题,理解问题重点;定位可能的答案,并再次重点阅读附近文字,确保答案位置的准确性,挑出的答案进行筛选,选出最正确的答案。
从笔者学生时代阅读理解的经验来看,问题与答案之间的关系可以分为以下几种:
第一种:原文中没有答案,需要总结概括型问题;
第二种:原文有具体的答案,直接抽取这个答案即可
第三种:原文有答案,但是答案需要连续几个段落组成,如:秋天的特点是什么?在文章中分为三个段落,每个段落的主旨就是秋天的一种特点;
其他可能类型;如:联系作者生平说明本文想要表达的内容,这是最难的一种类型,需要答题者了解作者生平,并将经历与文章表达意图深度结合总结。
接下来我们一起来看看在线机器人是如何实现文档的阅读理解的,首先在线机器人同样也需要明确客户的问题意图是什么,其次带着这个问题完成一次所有文档知识的检索,确定目标文档(即客户的这个问题需要在哪一篇文档中找到答案),确定成功后,再带着客户的问题,阅读目标文档,识别该问题大致属于哪个段落,对目标段落重点阅读,运用训练好的模型,如:语言特征等,将整个段落各个句子内容与客户问题之间进行相似度计算和排序,根据预设阈值输出相似度概率最高的那句话作为答案。当然了,机器阅读技术实现原理远远没有笔者描述得那么简单,如:机器阅读理解通过结合文本和问题两者的信息,生成一个关于文本段落各个部分的注意力权重,对文本信息进行加权计算等等。作为训练师来说机器阅读更多应该是一种手段,一种帮助训练师在特定背景下更好为客户服务的手段和工具,了解技术的实现手段是为了更好地使用技术,这一点训练师需要格外注意。
3.业务知识库管理——图谱知识管理
上文我们提到使用场景分类的方式进行知识库的管理是非常简单且有效的管理方法,但是对于产品知识来说场景划分需要大量的标注工作量且效果并不是很好,如:客户进线咨询:“苹果11手机如何?”“华为手机如何?”“XX手机如何?”各位训练师可以看到这类问题都是在咨询产品特点,若是基于场景,需要大量关于这些问题的客户问法作为相似问,或者标注训练机器人具有识别能力。并且同一意图下的不同产品的相关内容实在太过于庞大,知识管理将会非常复杂。所以针对业务知识库中的产品知识一般推荐训练师们使用图谱知识管理的方法。
知识图谱简介
知识图谱于2012年由谷歌提出,目的是为了提供更好和更准确地搜索体验,并且在2013年开始被普及,并在智能问答中发挥重要的作用,知识图谱本质上是一种语义网络(semantic network)的知识库,其在表现形式上是有向图结构的一个知识库,其中图的结点代表实体(entity)或者概念(concept),而图的边代表实体/概念之间的各种语义关系,比如说两个实体之间的相似关系。知识图谱由实体、语义类、内容、属性、属性值、关系构成。
实体:指的是具有可区别性且独立存在的某种事物。如某一个人、某一个城市、某一种植物等、某一种商品等等,实体是知识图谱中的最基本元素,不同的实体间存在不同的关系。
语义类(概念):具有同种特性的实体构成的集合,如国家、民族、书 籍、电脑等。概念主要指集合、类别、对象类型、事物的种类,例如人、物、地理。
内容:通常作为实体和语义类的名字、描述、解释等,可以由文本、图 像、音视频等来表达。
属性:从一个实体指向它的属性值。不同的属性类型对应于不同类型属 性的边。属性值主要指对象指定属性的值。如 “面积”、 “人口”、“首都”是几种不同的属性。
属性值:主要指对象指定属性的值,例如960多万平方公里等。
关系:即各个要素之间的关系构成。
在真实世界中我们习惯用关系去描述两个实体之间的关联,例如姚明和火箭队之间的关系,他们的属性则可以用“属性--值”来刻画它的内在特性,比如说我们的人物,他有年龄、身高、体重属性,所谓知识图谱也就是实体-属性-属性值这个三元组之间的关系转化,如:“姚明出生于中国上海” 可以用三元组表示为(姚明,出生地,上海)。这里我们可以简单地把三元组理解为(实体,实体关系,实体)。如果我们把实体看作是结点,把实体关系(包括属性,类别等等)看作是一条边,那么包含了大量三元组的知识库就成为了一个庞大的知识图。
图 关于姚明的知识图谱
知识图谱构建
对于在线机器人的知识图谱构建是通过以下环节实现的:
1.信息抽取:实体抽取、关系抽取、属性抽取;
实体抽取:也称为命名实体识别(named entity recognition,NER),是指从文本数据集中自动识别出命名实体;
关系抽取:文本语料经过实体抽取之后,得到的是一系列离散的命名实体,为了得到语义信息,还需要从相关语料中提取出实体之间的关联关系,通过关系将实体联系起来,才能够形成网状的知识结构。
属性抽取:是从不同信息源中采集特定实体的属性信息,如针对某个公众人物,可以从网络公开信息中得到其昵称、生日、国籍、教育背景等信息。
训练师则是通过梳理图谱模板,明确各个实体、实体之间的关系、实体属性包括属性值,如:实现苹果11手机的价格、处理芯片是什么的问题应答,是将苹果手机标注为实体,价格、处理芯片则是属性,价格:5499;芯片:A13则是对应属性所包含的属性值。
2.知识融合:实体链接(相似度计算)、知识合并;
通过信息抽取,能够得到实体、关系以及实体的属性信息。接下来则是对客户问题与确定的实体进行匹配,训练师可以将匹配的过程理解为拼图,但实际的识别却并不简单,因为客户的问题中会有非常多的干扰因素,就像拼图中还有其他拼图的碎片想要清楚碎片信息的干扰就需要对实体进行链接,一般指对于从文本中抽取得到的实体对象,将其链接、映射到知识库中对应的正确实体对象的操作,映射过程中为了保证最大程度的准确,会采用前文中多次提及的相似度计算方式,将计算出的最大可能概率对象作为映射对象,并将知识进行合并。其中实体链接的流程大致如下:
(1)从文本中通过实体抽取得到实体指称项;
(2)进行实体消歧和共指消解,判断知识库中的同名实体与之是否代表不同的含义以及知识库中是否存在其他命名实体与之表示相同的含义;
(3)在确认知识库中对应的正确实体对象之后,将该实体指称项链接到知识库中对应实体。
在经过信息抽取、知识融合后还需要经历知识加工(其中包括:本体构建、知识推理、质量评估)环节后就能构建出一个基本的在线机器人知识图谱网络。
上述的知识图谱构建流程对于训练师来说些许比较复杂,所以在日常工作当中,训练师一般是直接进已经封装好知识图谱技术的在线机器人进行知识结构管理,这里给各位训练师展示一种简单常见的知识图谱知识管理表格,训练师最简单的做法是将客服中心的知识按照该表格形态进行知识整理,再导入在线机器人系统当中,即能够获得相应知识场景的图谱。
表 简单知识图谱知识管理表格
在线机器人的知识图谱在当下属于热门研究,还有很多地方、功能值得训练师深度挖掘,下面三点作为笔者的抛砖引玉为各位训练师提供一些思路:
首先,机器人需要的不仅仅是简单的产品知识图谱,还应该与用户的兴趣画像互相结合,这样在线机器人进行商品推荐交谈的时候能够更加的准确,如:结合用户的身份标签,购买习惯进行推荐。用户喜欢使用苹果产品,那么让机器人推荐的时候就可以推荐苹果类设备。
其次,知识图谱的优势在于动态的网络结构,对于目前的应答来说更多会是一个静态的过程,如何最大限度发挥知识图谱的能力,如:结合用户的动态行为数据,提供更为精准的知识非常值得研究的。
第三,机器人不应该局限于冷冰冰的回答用户的问题或帮助用户完成特定功能,结合客户情绪的动态感知,并对客户不同的情绪场景,匹配不同类型的应答,能极大程度提升机器人的满意程度。
3.多轮对话知识库——对话知识管理
多轮对话顾名思义就是需要在线机器人与客户进行多个轮次交流后才能推送给客户最终需要答案的交互过程,这种知识库一般适用于两个场景:其一是基于任务驱动的对话场景,即帮客户推荐产品、帮客户订机票、酒店等;另一种是推送最佳答案需要收集多个信息进行判断。接下来我们将进入到一系列实际案例来看看多轮对话知识库的管理工作:
定义:多轮对话知识库是一种基于理解用户意图的前提基础下,为解决客户问题,获取必要信息以解决客户问题的知识管理结构。需要注意:虽然在线机器人是以文字交流(即客户与机器人进行多次问答)为主要交互方式,但如果企业app有成熟用户体系、信息流转体系,很多信息(如:用户咨询订单、用户信息、时间等)可以不通过文字交流,而是通过智能硬件(手机的位置信息)、数据埋点等方式直接获取。
所谓必要信息不一定要通过与用户的对话获取,因为即便是人与人之间的交流,对话本身所包含的信息也只占总传递信息量的一小部分,更多信息来源于说话人的身份、当前的时间/地点等一系列场景信息,所有多轮对话一般不将信息收集局限于客户对话,还包括客户的相关信息。
接来下笔者为各位训练师展示多轮对话知识管理案例,作为参考:
(1)槽位构建
多轮对话中的“槽”是指对话过程中,机器人所有需要收集到的信息工具,训练师通过在多轮对话中创建不同类型的槽位(如:词槽和接口槽)达到收集解决问题必要信息的目的。
其中词槽和接口槽的区别如下:
词槽是指对话信息中的可变关键词;
接口槽是指可以不通过文字,直接通过其他方式(数据埋点、API接口等)获取信息的“槽”;
如,训练在线机器人实现查询不同地区的天气情况的多轮对话系统中
客户:“帮我查询一下明天北京的天气?”
在线机器人分别将“明天”、“北京”填入“查询时间”、“查询地点”的词槽中,“天气查询”则是填入“天气查询”的接口槽,因为在线机器人可以不具备天气预报分析的能力,所以训练师只要将其与最权威的天气预报平台(如:中国天气网)链接即可。
(2)澄清话术创建
所谓澄清话术是指多轮对话中信息收集不够完整,或者信息收集完整后任务确认执行前的反问的话术,如:
客户:帮我推荐一个基金;
机器人:请问您愿意的投资本金、能够承受的风险、投资时长分别是多久呢?
客户:5万吧
机器人:请您的投资承受风险和投资时长分别多久?
客户:6%以下,两年吧。
机器人:好的,请您确认投资本金5万、承受风险在6%以下、投资时长两年。
客户:确认;
机器人:根据您的投资需求,已为您找到以下两种基金产品,非常适合您。
在上面的对话中,第一次澄清话术的使用是在线机器人解决客户问题信息收集不完整时触发的反问机制,第二次澄清话术使用是问题信息收集完成,执行任务前的确认澄清话术。
(3)话题继承下的多轮对话
客户:帮我推荐一个手机;
机器人:请问您想要多大内存、多少价位、多少像素的手机;
客户:256G;2000以内、4000万像素以上吧;
机器人:根据您的要求,为您推荐A\B\C三款手机;
客户:换一批;
机器人:根据您的要求,D\E\F三款手机非常符合您的要求。
实际上不同厂家的多轮对话设计系统可能略有不同,训练师可以在这三点的基础结合实际情况设计符合企业要求的多轮对话。
4.本章小结
知识库管理的核心在于不同技术下面知识结构的设计,实际的设计步骤和流程会因各家系统的不同而有所区分,甚至不同的系统名称叫法上面也会存在不同,对于本章的知识库管理内容,建议训练师们重点学习知识库管理背后的思维和逻辑方式,结合系统的实际情况进行相应调整。下一章节我们将聚焦知识的表达即应答话术的编写。
作者:苏钰;客户世界机构AIT项目首席专家。
本文刊载于《客户世界》2022年4月刊。
转载请注明来源:智能服务实施——知识到智能(下)
噢!评论已关闭。