产品经理如何从0-1搭建对话机器人

前言

       对话机器人已经是市面上一款比较常见的产品,像淘宝中的淘小蜜,滴滴打车的客服机器人等等,他们最核心的价值在于:可以7*24小时不间断服务,以非常简单自然的交互方式,高效准确的回答用户的问题或者完成特定的任务,降低公司使用人工客服的成本。

目前网上的文章基本是从技术人员的视角去讲解如何搭建对话功能,那么到底什么是从产品的视角从0-1搭建对话机器人呢?笔者认为,一个完整的对话机器人应该分为以下几个部分:对话功能模块人机交互模块数据分析平台。尤其在最开始做对话项目的时候,应该先了解整个项目的架构,不能过多的把时间放入对话能力中而忽略了其他模块,相反可以在整个项目搭建完成后再逐渐提升整体功能。

        从0到1,做深做透,做宽做杂。


1. 构建机器人前

       需要通过需求调研,用户调研,明确机器人的类型、基本功能和应用场景,了解自己要做的是什么样的一个机器人。

用户调研

       需要了解用户的需求,分析用户和需要解决的问题

对话类型

       问答型机器人一般用户客服场景,可以快速回答用户问题。任务型机器人一般用于完成特定的任务,比如给机器人发送要买机票的消息,然后就可以选择航班和填写相关的信息进行下单。闲聊型机器人会模拟真人和用户进行对话。

交互方式

       问答、闲聊、和任务三种类型。

载体

       即承载对话机器人的物体,目前大多存在于手机APP和智能音箱中。


2对话模块搭建:

       怎么去解决对话问题呢?

该模块主要通过NLP(自然语言处理)去解决对话功能,过程是通过机器学习的各种算法去构建语言模型,然后通过数据标注,模型训练,模型测试等过程去训练模型,在训练之后,模型可以在用户发送的语句中获取用户的意图和实体,然后返回相应的答案给用户,从而使模型可以实现对话效果。

       目前市面上有好多公司都提供第三方机器人搭建服务,像百度UNIT,图灵机器人等等,即在网页上填写语料等数据即可构建。在此需要注意的 是,需要区分云端和本地的区别,第三方的机器人服务基本上都是在云端部署服务,需要连接网络,而本地的话则需要程序员自己搭建程序,不过好处是速度比较快。一般来说可以部署再本地部署一部分常见问题,其余的问题部署在云端,即维持效率,又保证成本。

       本文以开源机器学习框架RASA进行讲解。先简单介绍一下该框架,该框架由2部分组成,分别是语义理解和对话管理, 在机器人接受到用户发送的语句后,会把用户的语句传递到语义理解部分去识别意图和实体,再去对话管理部分寻找对应答案。具体执行过程如下图所示:

       该开源框架使用的是embedding算法,即把训练样本和意图编码到同一个向量空间,设计损失函数(是将随机事件变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数,分类正确的取0,错误的取1),使得样本与真实意图更相近,样本与其他意图更相反,意图之间编码更相反,达到意图分类的目的。

2.1 语言模型

       语言模型的原理是计算句子或者单子序列的概率,或者序列中下一个单词概率的模型。主要应用场景包括:情感分析,问答,总结,机器翻译和语音识别。生成的方式有使用N-grams,神经网络,长短期记忆网络等方法。本文因使用开源框架RASA讲解,里面已经包含了模型。

2.2 模型训练

       当程序员构建好模型后,模型需要通过标注好的数据进行训练,具体流程如下图所示:

1) 数据标注:

       即标注意图,实体。 意图是指用户的目的,词槽是筛选的条件,实体是词槽的词典。实体和词槽一般用于多轮对话。

2) 训练语料库:

       在项目初期,公司没有任何积累的情况下,答案库需要人工生成。需要配置意图与对应的训练语料,每个意图需要填写若干个训练的语料,按照框架的说明书“定义意图可能会出现的文本内容文件”,即尽可能多的填写该意图所对应的用户问法。下面举一个例子, "我该怎么登陆QQ邮箱呢" 是一个比较常见的问题,我填写的意图是 "登录邮箱", 并配置了5个训练语料,分别是 “登录邮箱” ,“我该怎么登陆QQ油箱呢” ,“打开QQ油箱” ,“QQ油箱如何登陆” ,“怎么进QQ邮箱” ,训练预料是填的越多,则效果越好。

3) 模型训练:

       当配置好训练语料后,将训练语料放入模型进行训练。值得一提的是,模型训练操作在项目初期可能通过自己在文件中编写意图和语料,然后导成Json文件f发送给程序员进行训练,在数据平台搭建后,则可以在平台中加入训练功能直接操作。

4) 模型测试:

       下图是笔者用Postman进行测试的图片。可以看到,在我输入像机器人发出”年假“语句后,会跟模型中的"年假"意图产生98%的匹配度,而排名第二的意图相似度是0.2%,几乎是不匹配。

2.3 阈值:

       阈的意思是界限,故阈值又叫临界值。我们需要为机器人设定阈值也就是为意图匹配设定界限。比如根据测试结果,可以将阈值设定成0.7,也就是说在匹配度0.8以上都判断意图匹配为正确(具体可以按照机器人实际数据调整)。

2.4 答案库

       和训练语料库一下,答案库也需要人工生成,或者从特定的网站上通过PYTHON抓取。抓取下来的文件需要经过人工审核和处理,以保证文字、标点和图片的格式保持一致,这样在回复用户的时候能做到效果的统一。

       当完成模型搭建,模型训练,阈值设定和答案库,聊天机器人的第一模块,也就是”对话模块“就已经搭建完成了。


3.数据平台搭建

       该模块也是在很多构建机器人文章中所未提及的内容。在笔者最开始做对话机器人的时候,是通过开发人员给的测试地址,使用Postman发送不同的问题对一个意图进行测试的(上面模型测试中的图),然后记录测试问题的数量和意图匹配度等数据到EXCEL中进行统计与分析,过程相当复杂且费时。然而数据平台的搭建可以很好的解决这个问题。通过对用户问答的数据实行实时监控和分析,可以准确及时的提出相应的产品规划方案和调整策略,并持续优化。

       数据平台设计应该从总览到细分,并且不断对比。总览需要简洁明了,让用户一眼就知道这是什么数据和对应的大概指标。细分应该提供足够丰富的维度,以便于分析。每次细分必须带着指标下去,并结合相关业务。数据本身没有意义,分析和对比后的结果才有意义。数据平台搭建的核心意义就是如此。

       对话机器人数据平台搭建需要区分一下B端和C端2个方向,B端看重的是解决方案,更多的会侧重意图命中的准确率,而C端则需要通过埋点等功能,去分析用户的行为。以笔者所在的公司为例,主要是通过钉钉自动回复公司内部工作人员一些人事问题,所以这边就不太需要涉及到埋点需求。

3.1 面向的用户和场景

对产品人员来说:用来评估模型的准确率等。

对运营人员来说:用来评估模型,展示对话机器人的各项使用数据:如用户问答次数,回答准确率和对话操作过程等等,并根据数据进行分析。

对运维人员来说:用来填写训练语料,维护各种意图。

3.2 设计各类数据指标:

如意图命中率,单日问答数量统计,单日意图命中数量统计等数据,具体根据公司的需求来制定。

3.3 设计数据平台页面:

1)单个页面同时展示指标不要太多,一般为4-5个比较合适

2)在指标的展现时候,要明确指标之间的主次关系

3)为合适的指标选择合适的可视化图形很重要。目前几种常见的图表应用:趋势用折线或者曲线图,分布用饼状图,占比趋势用堆积图,对比用柱状形图,多个指标交叉作用散点图,转化用漏斗图,综合能力比较用雷达图。

数据指标对于一些功能比较有意义,比如在界面上想加入常见问题推荐,那么哪些问题是可以被推荐的呢,这个时候就要根据后台的数据分析来定,看哪些问题被提问的频率是最高的。


4. 交互模块(界面+功能):

交互模块:交互界面

设计对话流程:

1)基于任务的会话:需要设定好任务的流程,以及所需求的数据,并引导用户进行相应的反馈或操作,可以用点触的方式。

2)单轮问答:设定好对应的答案,以及没有相应意图匹配时候的话术。

上下文

一般多轮会话中需要设计上下文。需要设计好轮次,和对应的回答。

笔者因为公司资源有限,采用的是在界面上加入一个图标,在用户点击图标后,会自动帮用户转入有上下文的多轮对话查询任务中。

对话结果展示:

1)文字展示

以文字的形式展现答案,文字中重要的信息采用加粗显示以表示重点。字体,字号等格式需要统一。

2)图片或者表格展示

以图片或者表格的形式展现答案,如果图片(表格)比较大,可以采用左右滑动,或者折叠的方式去展示。

3)推荐问题

一般在机器人没有命中意图的时候,会采取推荐问题的形式。

4)进入人工

在客服机器人的场景中,当没有意图匹配也没有推荐问题的时候,可以将对话转入人工服务。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,544评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,430评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,764评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,193评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,216评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,182评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,063评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,917评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,329评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,543评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,722评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,425评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,019评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,671评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,825评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,729评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,614评论 2 353