搭建智能客服机器人设计流程

一、检索型机器人FAQ-Bot

在客服处理的问题中70%都是简单的问答业务,只要找到QA知识库中与用户当前问句语义最相近的标准问句,取出答案给用户就可以了。FAQ-Bot就是处理这类问题的。在没有使用深度学习算法之前,通常采用检索+NLP技术处理。

1.适用场景

适用于解答非用户个性化的问题,返回的是静态知识,无需调用接口返回答案。

2.问答系统处理流程

基本的问答流程如下:

1)用户提出问题:"忘记密码怎么办"

2)本体识别:用户问题分析后,识别出本体为"密码忘记"

3)计算FAQ相似度:问题与知识库里的标准问题根据相似度计算后召回,例如:

Q1: "登录不上了?",相似度0.56;

Q2: "登录密码忘记了,找回密码的方式有哪些?", 相似度0.92 。

4)候选答案排序:Q2-Q1

5)若阀值设定为0.9,Q2达到阀值,返回Q2问题的答案。如果有多个答案都到达阀值,选相似度最高的标准问题的答案返回给用户。如果都没有达到阀值的,但达到推荐阀值的答案有几个的,显示推荐的答案。

6)本体继承:把"忘记密码"继承至下文

7)继续提问:用户问"怎么找回密码",话题继承。

3.知识库的设计

FAQ-Bot是基于知识库匹配算法设计的,所以首先需要搭建本体知识库,通过新增和维护机器人知识库,来提升机器人问答的准确率和用户体验。

1)它的层级结构是:类目---> 词条, 这里的词条就可以理解为本体,它是关键词的模板。所以当用户问"如何登录"时,识别出来的本体/词条就是"登录"。

2)每个词条需要维护的信息有:同义词、关联问题、相似问题、分类等。其中分类主要用于知识点的管理,当某一分类下数据量较大时,分类还可以作为算法聚类的一个标记,认为分类下的问题相关度高,在检索匹配时作为一个计算因子。

3)本体识别,可看作一个文本分类问题。

QA语料添加与维护,可以分为三个阶段:

1)机器人上线前,处理已有QA。(故障决策分析)

若业务上线前,客户已经有一定的原始用户语料积累,比如通过线上客服渠道或者论坛等积累的问答对,或者有大量用户咨询的问题。可以使用聚类工具自动聚类后,再人工进行调整。知识库应该提供"批量导入"的功能(车险服务平台的问答场景基本都有原始的线上数据,可以通过爬取这些数据后做清洗,提炼出高频问题,然后进行优先处理)

2)冷启动阶段,人工添加+NLP手段扩充语料。

前期没有标注数据的,需要人工手动标注数据。但因为问题和候选答案包含的词通常都很少,此时可以利用同义词、复述句对问题和候选答案进行扩展和改写。

功能上:在编辑界面支持"增加同义词"、"新增相似问句"的功能

3)机器人上线后,人工标注迭代。

系统上线后,对于回流数据(没有答案的、机器推荐而用户没有点击的、机器回答错误的、用户不满意的问题等)进行诊断,系统将这些语料先做聚类,然后由标注人员作统一处理。

具体处理方式可以有:答案纠错、标注到已有问题的相似问题里、新增知识/词条、标注为负训练样本、优化词条和问题标题/关键词等。

从产品层面上,应该提供知识库的"badcase标注"功能,以及提供测试模拟窗口功能(测试demo)

4.语义相似度计算

通常根据训练方式不同,从前期无标注数据到有一定量标注数据,语义相似度的算法也向深度学习迭代:

1)无监督学习:冷启动阶段没有足够标注数据时,通常使用无监督学习算法。将用户问句和标准问题作降维得到向量表示,用余弦相似度等方法计算出句子间语义相似度(值越靠近1说明越相似)

2)监督学习:机器人上线后经过用户问题和重新标注过程,积累了一定的数据后,通常可使用深度学习算法。如基于RNN的语言模型。用RNN训练出来的语言模型,采用其隐层状态作为词向量,将词向量代入其他需要word embedding的问答匹配方法中,经验证,可以取得比原方法更优秀的表现。

5.阀值

1)关注阀值的可配置性:从产品层面输入阀值后,改变相对应的输出结果。如果阀值配得过高,会影响召回率;太低又会影响准确率。要根据业务场景做权衡。

2)设置问题推荐的阀值。处理逻辑是:当结果达到直出阀值,直接给出答案; 未达到直出阀值,但达到推荐阀值的,给出几个推荐回答; 未达到推荐阀值的,给出无答案回复。无答案回复可以进入配置后台进行配置。

推荐阀值是基于机器阅读理解模型训练的,目前设计是在知识库的词条中进行维护,添加段落,模型会自动列出将关联问题和答案。

6.信息咨询型多轮对话

简单问答中除了单轮对话外,也多轮对话的情况。这类咨询型多轮与任务型多轮有所区分。以下类型的多轮对话情况在FAQ-Bot中处理

1)情况1:条件挖掘。用户提问"如何登录?" ,机器人会返回"登录"的条件相关的提问"请问是希望通过下面哪个渠道登录",用户作出回答后,机器人返回答案。这个对话虽然是多轮,但不涉及用户的个性化信息,还是用语义匹配来实现。

2)情况2:话题继承。如用户提问"怎样才能删除保单",话题"删除保单"被记录下来了,若用户问"怎么删除",机器人应该识别到是同一话题下的关联问题,并返回相应答案。

相关推荐
晓星航1 小时前
Docker本地部署Chatbot Ollama搭建AI聊天机器人并实现远程交互
人工智能·docker·机器人
忍界英雄1 小时前
LeetCode:2398. 预算内的最多机器人数目 双指针+单调队列,时间复杂度O(n)
算法·leetcode·机器人
Tisfy2 小时前
LeetCode 2398.预算内的最多机器人数目:滑动窗口+单调队列——思路清晰的一篇题解
算法·leetcode·机器人·题解·滑动窗口
北京搜维尔科技有限公司8 小时前
搜维尔科技:OptiTrack将捕捉到的人类动作数据映射到人形机器人的各个关节上进行遥操作
科技·机器人
King's King8 小时前
6年前倒闭的机器人独角兽,再次杀入AGV市场
机器人
孔武10 小时前
SG-SLAM下载部署安装运行记录
机器人·自动驾驶
云卓科技16 小时前
无人机之控制距离篇
科技·安全·机器人·无人机·制造
云卓科技16 小时前
无人机之飞行高度篇
科技·安全·机器人·无人机·制造
Java追光着1 天前
扣子智能体实战-汽车客服对话机器人(核心知识:知识库和卡片)
人工智能·机器人·汽车·智能体
夜幕龙1 天前
robomimic基础教程(三)——自带算法
人工智能·python·算法·机器人