一、你都见过什么样的对话机器人

机械人是若何实现对话的?_机械人_用户 绘影字幕

在正式开始接管设计事理前,我们一下来回顾下生活中,常见的对话机器人包括哪些类型:

1. 文本型智能客服

这种类型的对话机器人大多涌如今app中或者网站上,以笔墨为紧张的交互办法,旨在为顾客供应常见的问题解答与大略任务的处理(如退货,换货等);常见的有:

阿里小蜜京东JIMI唯品客服

2. 话务型智能客服

这种类型的对话机器人常见于银行与大型企业(如家电)的话务咨询上,以语音为交互办法,同样也是为理解答顾客的常见问题与处理大略任务(如查询余额、充值等);常见的有:

工行工小智中行智能客服海尔智能客服

3. 个人助手

这种的对话机器人现阶段基本已经渗透到了每一台智好手机,进入大多数人的日常生活,旨在为用户供应一种语音交互的手段来提高操作的效率(如闹钟设置,日程提醒);常见的有:

SiriGoogle AssistantAlexa小爱同学

4. 事情助手

这种类型的对话机器人紧张用于以文本或者语音对话的形式帮助员工进行假期申请,事务提醒等日常事情事变,起到办公事项的整合(各种办公事项都可以通过事情助手对话来实现)与效率的提高;常见的有:

slack钉钉

二、对话机器人的代价1. 售后接待

在这个场景下,对话机器人最大的代价在于问题的拦截,即100个顾客来咨询,终极须要人工客服解答的顾客只有10个——大大降落客服本钱。

2. 售前接待

这种场景下,对话机器人最大的代价在于接待的及时性;想象下,淘宝里讯问掌柜问题,若是掌柜隔了五分钟再回答,那基本就不会在这家店买东西了。
因此,这类机器人在顾客到来的第一韶光由机器人接待,同机遇器人也在关照掌柜的抓紧上线,接管会话。

对付企业做事来说,这类机器人还会判断顾客的意向程度,针对高意向的顾客会勾引留下联系办法,方便后续客户经理的跟进。

3. 个人助手

这种场景下的机器人,最大的代价在于以语音交互的办法提高用户操作效率。
例如在晚上在床上准备睡了,忘了设闹钟,而手机在桌子上,这时候一句话就能完成闹钟设置想必是一个很爽的体验。

三、问答型文本对话机器人

这类型最范例的代表便是文本智能客服,这类客服常见于各种app中,以文本的形式为用户排忧解惑。

1. 事情流程

下面我们来看下一个文本型智能客服的完全事情流程:

1)用户发送:用户以文本的形式输入自己的问题。

2)NLU:NLU单元收到用户的文本后,进行自然措辞理解,识别用户的问题,输出识别结果

3)对话管理:对话管理单元收到NLU的识别结果后,找到该识别结果对应的回答内容,进而以文本的形式输出回答内容给到用户

2. NLU到底做了什么

在全体事情流程中,NLU作为核心环节之一,想必是许多朋友们希望能够理解的,那我们接下来就讲讲,在这一个环节里面,机器到底是如何理解人类的措辞的。

如果用一句话来概括NLU的事情的话:根据用户的问题,在知识库中探求对应的问题。

这里涉及了一个观点,知识库:所有用户常见问题的凑集(包含同一个问题的多种问法与回答)。

这就好比一个行军打仗的将领,面临大敌的时候,拿出神仙给的锦囊,从锦囊里取出一条退敌的妙计。
知识库在这里就好比是锦囊,而挑选出锦囊中的妙计这一过程就好比NLU的事情。

2.1 基于统计学的自然措辞理解

实际运用中,NLU常用的技能是基于统计学的自然措辞理解,即:普通的说便是把用户的问题经由大略处理后,和知识库中的所有问题进行相似度打算,找到相似度最高的问题,然后把该问题的答案返还给用户。

用一句话来概括便是:找相似。

而在这个过程中,又可以详细的拆分为以下几个环节:

分词:顾名思义,把一句话,进行分词处理,这也是中文自然措辞理解领域最痛的一点,一旦分错,后面的事情都空费了。
而英文不一样,英文本便是每个词都用空格隔开的,不存在这个问题。
去除停用词:把一些没有用的词去掉,例如【的】【呢】语气词、副词等,精简句子,输出最简表达。
词性标注与命名实体识别(韶光,货币):针对最简表达中的词性进行标注,同时针对一些专有名词名次进行识别,我们叫命名实体识别,如韶光、货币、楼盘名称、人名等领域知识的识别。
向量化(word2vec):想要打算机处理这些数据,向量化是一个不错的方法,利用word2vec等算法把文本向量化。
打算相似度(BM25算法,TFIDF,分类与检索):完成了文本向量化之后,我们就须要打算用户的这个问题和知识库中每一个问题的相似度了,并从中找出相似度最高的一个知识库问题,并把该问题对应的答案返还给到用户。
实在全体过程又可以分为两个过程:召回与排序;通过分类算法(如Bert)找出知识库中用户最有可能问的几个问题,进而通过检索算法(如BM25)打算这几个候选问题的相似度。

2.2 其他NLU技能

1)基于模版标注的措辞理解

基于模版标注的自然措辞理解也是常用一种技能,人工标注知识库每个问题的最简表达、关键实体、同义词标注。
这样做的最大好处便是识别的准确率高,由于系统通过标注数据,已经知道了知识库问题的最简表达,以及每个问题的关键词,以及同义词;进而利用这部分数据去解析用户的问题,每每能够得到更加准确的识别结果。
但是,缺陷也是同样明显,须要针对每一个问题的每一个文法进行标注,范例的有多少人工,就有多少智能的做法。

2)基于知识图谱的问答(KBQA)

其余的话,基于知识图谱的知识问答也逐渐走上舞台。
通过知识图谱来对问题进行语义解析。
例如姚明的老婆的国籍这样一个问题,知识图谱先找到姚明,然后找到姚明的老婆叶莉,末了找到叶莉的国籍中国。
这项技能的准确率一样平常很高,但是能够覆盖多少问题,就要看这个知识图谱培植的好不好,够不足广;而知识图谱的搭建,本身便是有多少人工,有多少智能的事情。

3. 知识库的构建

讲了NLU之后,不得不讲的便是知识库了,顾名思义,便是【知识的宝库】,里面网络了所有希望机器人能够回答的问题,对应问题的N种文法(如价格这个问题:多少钱?怎么卖?价格若何?),以及问题的对应答案。

构建一个知识库的步骤也很大略(大略,但不代表很快,它须要多次调度和补充):

网络问题:网络我们希望机器人能够回答的所有问题,一样平常客服中央都有这种知识库,没有的话可通过干系部门职员结合日常事情内容进行总结整合。
填写问法:即一个问题对应的多个文法,这个须要穷举(如价格这个问题,问法可能有:怎么卖?多少钱?等),可利用同义词和句式的改变来进行思考,一样平常这是传统客服知识库没有的内容,须要重新整理。
补充答案:即该问题对应的答案,这块内容也是传统的客服知识库就会有的内容,但是一样平常建议对每一个问题最少填写两个答案,为的便是在用户提出同一个问题的时候,可以对同一个问题有不同的回答办法(但意思相同),让用户体验更好。
知识库模型发布:每一个知识库便是一个NLU模型,因此每一次的知识库更新也就意味着NLU模型的更新:系统把知识库中的内容(问题与问法)输入到模型中进行演习,得到一个专门针对该知识库的NLU模型。

四、闲聊机器人:做个有温度的机器人

除却问答型的机器人外,市情上常见的还有闲聊机器人,最范例的代表便是微软小冰:无聊了,寂寞了,都可以找小冰说说话,而小冰一样平常也能给出不错的对话内容。

要知足机器人的闲聊场景,做法和问答型机器人大同小异,便是加入一个闲聊的语料库,这个语料库一样平常都可以从网上找到,但语料的覆盖范围和供应者所从事的做事有很大的关系,例如阿里云小蜜的闲聊就满满的都是淘宝味,毕竟那些演习的语料大都来自于淘宝体系内用户和掌柜的谈天内容。

而一样平常的智能客服厂商,为了更好的衔接对话,也为了让用户有一个更好的对话体验,一样平常也会加入一定量级的闲聊语料库,但这个库一样平常却是不许可编辑的,里面涉及一些敏感词的管理,以及运营本钱的考虑。

而这个闲聊语料库,厂商必定也是在做事客户的过程中,根据对话记录去不断丰富和完善的。

五、任务型机器人:做一个能够办理问题的机器人

图片中是一个物业报修机器人的对话截图,一个用户通过和机器人的多轮对话,完成了问题的描述并成功报修。

类似的场景逐渐得到了越来越多的运用,例如海尔的家电安装预约已经实现了全量的机器人接待和预约,一方面大大的节省了企业的人力本钱,另一方面也办理了及时相应消费者的问题。

1. 什么是任务型对话机器人

在开始课本务型对话机器人设计之前,我们先明确下任务型对话机器人的定义:

任务型机器人指特定条件下供应信息或做事的机器人场景案例:查景象,设闹钟,订餐,订票,播歌常日需分多轮互动,用户在对话过程中不断修正与完善需求,任务型机器人通过讯问、澄清和确认来帮助用户明确目的

结合以上定义,我们就不难明得,完成一个任务型对话,须要进行以下三个关键点的设置:

意图识别设置:即设置一个意图(一个意图一样平常对应一个任务与操作),以及用户如何发问才能触发该意图,如示例中的物业维修便是一个意图。
词槽设置:即须要实行该意图任务所需网络的关键信息,如示例中的物业报修,须要知道用户详细是什么问题才能天生物业维修工单。
回答设置:即当机器人完成了所有关键信息的网络且实行了意图任务之后,对用户的回答,可能是一句话,如示例中的【收到,转头会有物业维修的师傅联系您】;也可能是一个实行结果,如示例中的工单接管关照。

2. 意图设置

意图,便是用户想要达到的目标。
上图的示例讲的是一个早餐预定的例子。

对付机器人来说,我们得先见告它,用户输入了哪些内容之后,即可认为用户想要达成的便是该意图。
而这个设置,一样平常有以下几种常见的方法:

1)对话样本集

例如示例这里的意图是早餐预定,那么当用户输入:预定早餐、订一份早餐等语句的时候,即可认为用户想要达成的便是早餐预定这个意图。

而这个设置的基本事理和方法与知识库中的问题设置基本一样,便是把用户表达该意图时常用的对话样本进行网络和录入。
后续用户只要表达了附近的输入后,系统就会按照该意图来实行对话。

2)关键词

这个很好理解,便是对用户表达某个意图时的关键词进行识别,只要用户的表达中含有这些关键词,系统就会按照该意图实行对话。
例如订火车票这个意图,只要用户提及【订火车票】这个词时,即可让机器人进入订火车票这个意图的多轮对话。

3)句式模版

句式模版这种方法,实在便是把某个意图的措辞表达进行规则化的抽象。
例如订火车票这个意图,一样平常的表达就有:订一下从广州到长沙的火车票。
像这种表达就可以抽象成这样的句式模版:【发起预定】+【出发城市】+【到大城市】+【票类】

3. 词槽设置

词槽是多轮对话过程中将初步用户意图转化为明确用户指令所须要补全的信息。
例如说,示例中的早餐预定,我们识别到了这个意图之后,还须要知道顾客想要吃什么,什么时候来拿——这两个关键信息便是机器人在实行这个意图前须要完成网络的。

而词槽设置一样平常包含以下几个关键环节:

词槽设置词典设置澄清话术设置

1)词槽设置

词槽设置的核心在于明确实行该意图过程中,须要明晰哪些关键信息。
例如示例的早餐预定,那【韶光】和【吃什么】则是两个必须明确的信息。

当然,除了必须要明晰的信息外,我们也可以让机器人去记录一些非必要成分(例如是否加辣),如果用户有表达这个信息,机器人则会记录干系信息;若用户没有表达该信息,机器人也不回去追问。

2)词典

词典,即见告机器人,那些关键信息都有哪些列举值。
例如示例的早餐预定,【吃什么】这个词槽的词典,就包含了:饺子、牛肉丸、萝卜糕等词。

而机器人只要能够完成这些词的识别,即可完成【吃什么】这个词槽的填写。

至于词典的设置,一样平常分为两部分:

系统预置词典:对付像韶光、货币、地点、城市这些信息,系统一样平常会供应预置词典,用户只须要自己选择即可。
用户自定义词典:而对付一些特定领域的专有名词,则须要用户自己去定义,例如楼盘的名称,菜单的名称等;只有设置了这些词典,机器人在碰着这些分外领域的专有名词时才能够更好的识别和完成关键信息的提取。

3)澄清话术

既然一个意图中设置了多少的关键信息(词槽)须要用户填写,自然就会存在用户在表达意图过程中没有一次性表达清楚所有的关键信息,这时候机器人就须要针对一些必要的关键信息做追问,并根据用户的回答完成关键信息的识别和提取。

而这个追问的话术,正是这里的澄清话术,即我们见告机器人关于某个详细的关键信息,机器人该当如何发问。
且一样平常针对同一个关键信息,会设置多个澄清话术,为的是在追问用户同一个关键信息的时候,机器人能够用不同的化讯问同一个信息,让用户能有更好的体验。

4、回答设置

当机器人完成用户意图的识别,且完成了关键信息的网络后,即可进行意图的实行。
而意图的实行后,机器人须要给用户一个回答(总得见告人家做得怎么样嘛),这个回答可以是一句话,也可以是一个操作的实行入口,又或者是意图实行之后的模版,也可是一个h5页面等等,这个要详细场景,详细而论,没有太多的限定。

六、综合型对话机器人

当前市情上的机器人,更多的是综合型的对话机器人,即同一个机器人,挂载了问答知识库、闲聊语料库以及多个任务技能。
只是每个机器人根据自身详细的做事场景,在知识问答、闲聊、任务对话三者上面有所方向罢了。

也正是由于综合型对话机器人的涌现,让我们现在的生活更加多彩,我们才可以在深夜十二点进行物业报修预约,才可以夜深人静的时候有个倾诉的工具,才可以在

那是不是只要一个综合型对话机器人做到了以上的内容,就可以无忧无虑,和我们人类畅通对话了呢?显然不是的!
上面这些内容如果形容为游戏中的核心装备的话,那要做好一个对话机器人,还须要针对不同的做事场景增加不同的赞助装备——这方面我们下回分解!

本文由 @王掌柜 原创发布于大家都是产品经理。
未经容许,禁止转载

题图来自Unsplash,基于CC0协议