电商场景下“智能导购机器人”的原理与设计步骤

我是创始人李岩:很抱歉!给自己产品做个广告,点击进来看看。  

电商行业中,导购扮演着非常重要的角色——既触达客户解答产品疑惑,又能够通过沟通推广销售产品。那么在电商场景中,我们就可以利用智能导购,通过多轮会话的方式来完成导购流程

电商场景下“智能导购机器人”的原理与设计步骤

一、什么是“智能导购”?

我们在逛商店时候,有时候不知道买哪一款商品,需要找导购人员咨询。如果遇到一个好的导购人员,就犹如贴心小闺蜜那么给人信任感,让人如沐春风,放心地买买买。但如果运气不好,碰上一名态度恶劣,带着有色眼镜的导购人员,也足够败坏我们一整天的好心情。

这种情况在线上购物时候也时不时发生,比如遇到一个回复贼慢,答非所问的导购客服,也特别让人抓狂,干脆走人。某位刘姓天王就说过:“今时今日哩种服务态度係唔得噶”。

当然,如果是一个导购机器人,服务态度自不用说,它可以让每一位顾客享受到公平而温暖的服务,也不会受情绪的影响,不用等待,快速解决顾客的疑虑。

现在线下的导购机器人有“豹小秘”、“小船”这类比较知名的网红,他们可以帮忙迎宾、商品推荐、咨询问答、商品到工行、产品移动广告等;同样的,线上也有导购机器人,如有赞商城导购bot、优衣库线上导购员“小优”,淘宝的店小蜜,可以帮助顾客挑选商品,解答购买的疑惑。

而我们要聊的场景,其实是基于线上的电商导购chatbot,如何通过多轮会话的方式来完成导购流程 。这类场景比如在一个护肤品的线上店铺里面,买家不确定哪款护肤品适合自己,就会找导购客服咨询。那在开始之前,我们先来捋一捋电商行业的导购场景。

二、应用场景与价值

1. 不同行业导购场景

不同行业的导购场景,由于品类不同,买家会咨询的问题不尽相同。比如买家想购买一双鞋,会考虑是不是合脚,是休闲的还是运动的;而购买一台洗衣机,就会考虑全自动还是半自动,滚筒还是波轮。

这里,我们来聊聊三个比较有代表的行业场景:美妆、服装和家电。

(1)美妆行业

小姐姐们日常买护肤品就应该知道,遇到一些新的牌子,有时候不确定哪一款适合自己。

当然也包括像七爷这样的直男,如果想买一款护肤品或者化妆品送给女孩子,简直是噩梦,四处打听,生怕买错了。

这里有几种类型的用户:

第一种不了解自己要什么产品,但知道要解决什么肌肤问题;

反馈情况,寻求推荐:“油性肌肤适合什么产品”

第二种是知道自己要什么产品,但不知道能解决啥问题;

直接寻求推荐:“给我推荐一款口红,送人的”

第三种是知道自己要什么产品,也知道要解决什么问题,但不确定是否匹配。

a.购买粉底:“皮肤黄,可以买啥粉底”

b.购买口红:“这款口红如何选色“(指定商品)

在美妆行业,其实有一种职业叫做BA(Beauty Adviser),也就是美容顾问。

而在线上店铺中,客服小姐姐就充当了这个角色。针对买家上面的咨询,客服会通过询问更加详细的肌肤问题来做推荐,以下为模拟对话(分别针对以上三种情景):

买家:我的皮肤比较暗黄,没营养,还有斑

买家:目前也在怀孕中,有没有推荐的护肤品?

客服:您除了以上的肌肤需求 还有其他需要改善的肌肤困扰吗?

买家:就这些吧。

客服:根据您的肌肤状态,推荐您购买口碑经典套盒**巴拉巴拉**

买家:推荐一款口红给我呗。

客服:您方不方便透露下您的肤色是偏白皙、偏自然还是偏暗黄的呢?

买家:偏白皙

客服:嗯嗯,为您推荐****。这款口红受大家热爱,涂抹唇部是比较清新淡雅显气色的哦。

买家:http://item.taobao.com/item.htm?id=*****(发送商品链接,指定商品)

买家:这款粉底液不知道怎么选色

客服:您的肌肤是偏白还是偏黄的呢

买家:脸颊有点暗黄

客服:嗯好滴,您想要用完后的妆效是自然白还是自然呢?

买家:自然点吧

客服:好的,为您推荐:*****

客服:这款的优势在于**巴拉巴拉**

(2)服装行业

服装行业的导购场景相对美妆来说,买家咨询问题会更聚焦。

我们网购衣服的时候,一般都知道买啥衣服,心里已经有了候选了,要求客服帮忙推荐的少之又少。那最担心的,主要是尺码问题。

至于担心买家秀和卖家秀的差别太多,那七爷我只能劝你:用脸说话吧(微笑脸)。

买家咨询尺码的情况大致相同,都是提供自己的身材情况,比如身高体重,接着询问对应衣服尺码。

我身高170,体重65公斤,应该穿什么码呢?

虽然买家的问题不复杂,但客服要解答这类问题,可一点都不轻松。这类问题有两个特点:

  • a.需要衡量:即对买家提供身材信息与尺码表做对比,推荐合适的尺码
  • b.衡量条件不同:买家提供的身材信息的标准不同,有可能是身高/体重,也可能提供身高/月龄(婴儿装装),腰围(裤子),胸围(内衣)等;标准多种多样,客服做衡量时就更为复杂。

典型场景如下:

买家:https://item.taobao.com/item.htm?id=****** (发送商品链接)

买家:这款婴儿装,我家孩子得买多大的?

客服:亲,咱家宝宝几个月大了,身高大概多少呢?

买家:10个月吧,70公分吧

客服:那建议亲购买S码呢

也正因为解答难度高,服装行业的客服小姐姐每天需要消耗大量时间,并且时常因为回复不及时,流失了客户,且在大促期间尤为显著。另外,如果买家购买的尺寸不合适,会造成严重的退货率,从而影响店铺的信誉。

(3)家电行业

电器行业的导购也不常见,顾客很少会找客服推荐,往往已经有了心仪的商品。但买家不问,不代表客服就不能推荐。

家电行业的客单价普遍比较高,买家也经常要货比三家,犹豫再三。这时候如何抓住买家核心需求,推荐其最满意的商品,则是客服提升业绩的关键。

同时,家电行业对商品功能的要求比较高,买家买空调、洗衣机等大家电会要求尺寸,买吸尘器、风扇这些小家电会看功能。如果导购过程中没有和买家确认关键信息,可能会导致买家买到商品发现不合适而申请退货,这个结果是双方都不愿意看到的。

所以在买家没有要求推荐情况下做主动导购,一方面可以提升转化,另一方面也能够降低退货风险。

那在什么场景下做主动导购的问题,后面会讨论。这会儿主要讨论具体推荐场景是怎么样的。家电的品类繁多,每种电器都有自己的特性,买家的关注点也千差万别。但每个品类有自己的关键属性,比如空调的匹数,冰箱的容量等。

【为买家推荐冰箱】

客服:请问您是家庭自用还是出租房屋使用呢?

买家:家庭的

客服:请问您需要多大的呢?200L以下还是500L以下

买家:好的,为您推荐符合您要求的xxxx冰箱。。。

2. 电商行业引入智能导购的价值

对于电商行业来说,成单永远是第一位的事儿。而售前导购客服的业务水平参差不齐,有金牌客服的高绩效表现,也有新手或者临时工的0成单现象。用金牌客服的有效套路,机器人将其用在智能导购流程中,是可以有效提升店铺转化率的。

其次,前面讲了,售前客服的工资就是跟业绩挂钩。所以,如何通过有效的沟通来引导客户下单,成为了售前客服业务能力强弱的重要衡量标准。

但某些导购问题的解答工作过于繁琐而重复,比如服装行业的尺码推荐环节。这时候,如果机器人能够把尺码推荐的工作承担下来,是可以帮助客服提升工作效率的。

站在店铺角度考虑,智能导购机器人能够帮助客服提升效率,带来业绩的提升;而站在买家的角度,导购可以帮助了解产品的真实情况,确认是否与预期匹配。

如果没有导购,很可能顾客买回去才知道不匹配,然后需要申请退换货。在电商行业,比如某宝,退换货比例会影响店铺的评分,从而影响店铺流量的引入;其次,退换货也增加了店铺售后的工作量,所谓”您轻轻一键退货,我重重一锤心肝啊!“

最后,一次精准导购,能够抓住顾客的核心需求,让其整个购买过程都能放心,这在无形之中是可以提高用户满意度,甚至增加买家收藏店铺,长期光顾的可能性。

现在我们review一下好的导购体验能够带来的价值,主要有以下四方面:

  1. 提升转化率
  2. 提升客服效率
  3. 降低退换货比例
  4. 提升用户满意度

三、“智能导购”模型原理

那我们说完场景的东西,接下来就是设计chatbot,用机器人的方式来帮助客服做导购。而设计一个智能导购的chatbot,实际上是设计一个多轮会话的任务型对话系统,即通过多次交互的上下文来理解买家购买意图,并完成推荐商品得任务。

七爷我一直相信一句话:工欲善其事必先利其器。想要设计出一个惊艳实用的导购bot,就必须先理解什么是多轮会话,并且用好这个东东。所以这一章,我们先来聊聊任务型对话系统的AI模型是怎么样的。

1. 模型概述

就如同订餐、查天气这些任务,用户的单轮问答往往无法提供满足任务完成需要的信息,因此多轮对话是必须的,bot通过主动询问缺失信息等策略来进行信息填充。

先放一张业内通用的任务型bot的对话流程图(已经烂大街的一张图)。其中ASR和TTS属于语音的范畴,咱这次聊天主要以bot的语义交互为主,这块就pass吧。

电商场景下“智能导购机器人”的原理与设计步骤

  • NLU:将用户的消息识别出来,转化为结构化的语义表述(一般slot-value pairs 的方式表示),再把这个结构化语义传给DM;
  • DM(Dialog Managemment):简单讲,就是接收并做推理理解NLU的输出及其他信息(如上下文),来决定多轮会话的下一步动作。
  • NLG:负责把DM的输出(下一步动作)转化为自然语言,并反馈给用户。

下面将对这三个模块做具体说明。

2. NLU模块

该模块的输入是用户的query,并为DM输出是结构化的语义表达,主要目的是让DM能够理解用户的意思。

这个结构化的语义表示通常被称作DA(dialogue act), 由 communicative function 和 slot-value pairs 组成,其中 communicative function 表示 query 的意图类型 (如:请求推荐、打招呼,否定,感谢等等),而每个 slot-value pair 可以看成槽位内容,用来限定意图的范围。

举个例子:

电商场景下“智能导购机器人”的原理与设计步骤

为了达到以上效果,NLU需要做三个事情:【识别领域domain】→【识别意图】→【槽位填充】。

【意图识别】 (SUC,Spoken Utterance Classification),是一个典型的分类问题,即划分用户咨询的是下不下雨还是订火车票

【槽位填充】 即意图所带的参数。换言之,在某个任务中,bot需要确认的相关信息(确认方式有:反问、历史记录、其他API等)。

举个简单的例子,订火车票时,需要确认用户的出发地、目的地、乘车时间,最后帮用户购买完成,这里确认的各个信息,就是所谓的【槽位】。槽位填充可以转化为序列标注问题,可以 用基于BI-LSTM等模型进行填充。

【识别领域】 ,可以理解为意图的集合,如咨询气温、咨询是否下雨都属于天气这个domain。

有人会问:直接识别意图不就行了嘛?

这个问题从技术角度来说,领域可以约束知识范围,提高后续意图识别和槽位填充的搜索效率。而考虑该技术问题,主要因为在真实的业务环境中,一个多轮会话系统需要同时处理N多任务,比如导购会有护肤品导购,服装导购,电器导购等。这里需要PM与算法同学一起做定义呢。

另外,技术上NLU模块主要是一个分类+实体识别的问题,所以利用?

该模块的衡量指标比较明确,我们可以看分类的准确率是否达标,以及检验槽位填充效果,一般用F1-score来做检验。

而对于PM来说,也需要与算法同学携手(原谅我抱紧算法大大大腿的强烈意愿),围绕该模块所需要达到的效果而努力,相关评价的指标,主要有分类的准确率、槽位填充的F1-score。

现在,我们以前面咨询护肤品粉底液的场景为例,机器人需要反问买家关于肤色、妆效的信息,整个对话设计如下:

用户query:“推荐一款粉底液”

domain定义:护肤品推荐,skin-care

意图定义:粉底液推荐,liquid foundation

槽位定义

槽位一:肤色,skin-colour

槽位二:妆效,Makeup effect

3. Dialog Management(对话管理模块)

按照“前人”的定义,DM控制着人机对话的过程(发展方向),根据对话历史(上下文信息),决定此刻系统对人的反应。

上面的高深玄学解释了对话管理的定义,说白了有两个作用:

  1. 记住用户在多轮对话中扯到哪里了,即对话状态维护(dialog state tracking,DST);
  2. 按照对话状态决定如何继续和用户扯淡,即生成决策系统(dialog policy)。

可见,DM算是一个多轮会话核心的军事战略基地,每个任务的走向都由其决策,来决定下一步的走向。

接下来我们先介绍两个模块(DST和DPL)的定义,然后用一个对话举例,大概就能明白这是个神马玩意儿了。

DST模块

每个模块都属于对话管理系统的一部分,自然都有输入和输出。DST模块的输出是当前对话状态,可以理解为槽位填充情况,以告诉后面的“人”现在扯到哪里了。输入就很多了,包括:

  1. 用户当前的动作:此刻用户说了啥
  2. 之前的对话状态(填槽状态):前面用户都说了啥
  3. 之前的系统动作:前面机器人是如何回应的

该模块可以利用深度学习来实现,比如基于基于RNN和LSTM的序列跟踪模型。当然,模型的效果无法保证的情况下,利用规则也是可以work的,并且人为把控性更强。

DPL模块

DPL是接DST的输出(对话状态)作为输入,当知道了当前对话到哪里了,就得想法子回复用户,这时候就靠DPL中预设的对话策略,选择响应系统动作作为输出。

这里的系统动作一般有问询、确认和回复三种。问询的目的是了解必要槽位确实的信息;确实是为了解决容错性问题,填槽之前向用户再次确认;回答则是最终恢复,意味着任务和有限状态自动机工作的结束。

还是以NLU模块讲到的推荐粉底液例子,讲下DM模块是怎么work的。

【聊天内容】

用户:你好啊

机器人:您好,请问有什么可以帮到您?

用户:帮我推荐一款粉底液吧

机器人:好的,请问您的肤色如何?

用户:偏黑一点

机器人:嗯好滴,您想要用完后的妆效是自然白还是自然呢?

用户:自然白吧

【NLU识别结果】

【对话初始状态

当在第3轮进入到recommend的任务型会话中,DM就开始填槽并回应的过程。

初始状态:

【第一轮对话状态】

【第二轮对话状态】

当然,DM在工作中也会有很多异常情况处理,比如用户主动切换场景、对话时存在多槽位值、用户表达否定、NLU识别错误、槽位依赖、API填槽等情况。

这些情况不只是算法的工作,产品也需要根据实际业务情况来决定处理方式。本节只讲述任务型会话模型的原理,关于如何结合业务和算法设计对话产品,将在下一节展开。

4. NLG模块

NLG负责把上述DM的输出【系统动作】转化为自然语言,以回复用户。这里的回复话术一般有澄清话术、引导用户、询问、定义确认、结束语等。

同时,目前基于生成模型的NLG尚未十分成熟,而基于业务(如电商)的任务型会话需要严谨的回复,避免出错影响用户满意度,所以广泛采用的还是传统基于模板、树或其他规则的方式,如下表则是根据规则定义NLG的示例。

好啦,一顿吹水猛如虎,多轮会话理解不再苦。当然,产品经理除了知道模型原理外,要做的事情还有很多。接下来,我们就来聊聊智能导购的对话机器人要如何设计了。

四、智能导购产品设计(以美妆行业为例)

我们在第二模块算是梳理了美妆客服的实际业务场景,包括用户类型,对话内容等,但这只是开始,接下来,AI产品需要用chatbot的解决方案,帮助客服提效增收。

做产品这个行当,始终要记得,自己做的玩意儿是给谁用的。而做TOB的,更应该了解自己的客户,并结合其业务场景去定义自己的产品。

一般使用智能客服的客户有两类:

(1)大头客户,每年要耗掉大量人力成本在客服团队,如美的电商每年就要招聘几百名客服去做售前咨询。他们希望能利用智能机器人减少自己的人工成本,而且往往这类客户都倾向于私有化部署,价格贼贵,因此愿意投入专项人力去配合。

这种情况下,如果设计一个导购机器人 能够在不影响绩效的情况下帮助减少大量人力投入 ,那无论需要前期冷启动的数据收集,还是后续迭代所需要的数据标注训练,客户都愿意安排人员与供应商的数据团队一起整合,即使需要几个月的时间的维护时间。

现在电商市场上也可以看到,几个平台(天猫、京东、拼多多等)的大商家在自己的团队专门设定了【机器人训练师】的岗位,就是专门为了维护机器人,为店铺客服提升效率。

(2)但另一类是小型客户,他们希望机器人也能够帮他们减少人工成本,最好还能创收,但是不能太贵。(此时让我想到一个场景。。。)

男朋友:今天想要吃啥

女朋友:随便

男朋友:随便是啥嘛

女朋友:就是好吃的,环境好的,服务好的,但不要太贵

好吧,说到底,这类客户适合使用saas型客服机器人,非私有化部署的。

但还有另一个问题,他们很可能也没有专项训练师,来维护一个机器人。如果让客服主管或者运营人员来做这个事,那就真的很异想天开了,毕竟电商的忙碌可不是996那么简单。

好了,讲完这两类客户的基本情况之后,假如给大头客户设计一个多轮会话的导购机器人,可以由甲方人员配合乙方训练师,先初始化配上意图、词槽、推荐商品,再利用数据标注的方式进行会话迭代,最终训练好一个符合甲方的导购bot。而产品经理只需要将训练师的流程平台化,让其快速地配置以及可以高效地迭代即可。

当然,如果希望最终效果明显,这期间需要双方投入N天的人力来做维护。当然,多轮会话平台的设计其实大部分机器人友商都已经有成熟的方案,比如各种botframework,这次就不讲了。

而上面的流程在大部分电商商家那里是不适用的(说到底,穷~)今天要讲的,是如何为这一类”不适用“的电商商家(上述)设计适用的导购机器人。换个说法,产品经理要解决的问题,就是如何让客户更高效维护机器人,并达到客服提效增收的效果。

1. 意图&词槽组件化

既然客户不想投入那么多人力(钱)维护,那我们没钱有没钱的过日子方法。

首先我们要整理清楚,创建一个导购bot需要做哪些事情:整理意图 → 设计词槽 → 设置商品推荐 → 迭代模型。其中,设置商品推荐这个环节,一定是店铺根据实际情况设置,也就不可避免需要客户自己维护。

那我们来看下其他几个环节,我们可以如何提升客户维护效率。

如果在创建意图及设计词槽的时候,让客户自己来确定哪些意图可以进入导购场景,可能的结果:

【吃了懵逼果型】

维护人员:小明 身份:店铺运营 职责:店铺商品运营 店铺咨询情况了解程度:低

乙方:小明同学,麻烦整理下导购的意图,也就是你们店买家咨询最多的导购问题

小明:什么?意图是什么?导购问题是什么?我平时哪知道买家咨询什么啊?我是谁?我在哪里?我要干什么?

乙方:。。。

【喝了鸡汤型】

维护人员:小红 身份:客服主管 职责:管理客服,关注买家 店铺咨询情况了解:高

乙方:小红大哥,求求你,麻烦整理下导购的意图,也就是你们店买家咨询最多的导购问题

小红:没问题~我整理了很多情况都可以进入导购,比如问价格、问优惠、问尺寸、问活动。

乙方:这么多问题都直接给买家推荐,合适吗?

小红:怎么不合适?哦,对了,还有问包邮的,说不定也可以!反正只要能赚到钱,啥情况都可以做营销!

乙方:。。。

【好吃懒惰型】

维护人员:小绿 身份:主管助理 职责:对接第三方各种软件 店铺咨询情况了解:高

乙方:爸爸~麻烦整理下导购的意图,也就是你们店买家咨询最多的导购问题,我跪下了!

小绿:哎呀,我不知道哪里属于导购啊,而且还要加那么多问法,太麻烦了。叫爸爸也没用

乙方:。。。

为了让运营交付同学不至于到处叫“爸爸”,让客户更舒服愉悦地从0到1构建导购bot,产品经理有责任来解决这件事!这么光荣的任务,就是由面向对象的类组件实现!

七爷之前读计算机专业的时候,自从学了面向对象语言,写程序就贼舒服。这其中很重要的一个点,在于引入了【类】的概念。

类的定义是:一组具有相同属性和行为的对象的抽象。在写程序时候,需要这些属性就继承这个类。而很多时候,为了更方便写程序,我们会继承类之后,进一步封装成可直接使用的组件,比如登录的通用程序组件。(不必懵逼,请伟大表情出场!)

大家小时候玩过的四驱赛车(没玩过?不管!七爷玩过就好!),在一开始只是各种零件的设计图(类),比如轮胎设计图、车盖设计图等等;接着根据每个部件的设计图,厂商制造了各种各样的零配件(组件):轮胎、车改、马达等等;最后选择合适的配件,就可以组装成最威风的“音速战神”了!

那我们是不是可以利用这个思路,将导购bot组件化,客户只需要选择配件,组装起来就可以了?!!

七同学有了这个想法之后,也跟算法大大沟通过,在模型构建之前的数据集合构建,无论什么方式都没问题,一句话:越快冷启动越好。所以接下来要思考的是,电商按照什么标准来抽象出导购bot的组件?最明显的是按照行业划分:服装、鞋业、家电、食品。。。但以行业特征来抽象存在两个问题:

  1. 颗粒度太粗: 有些商家比如家电的华帝、方太旗舰店只卖厨房电器,没有空调、洗衣机这类商品,如果抽象出家电行业的空调导购组件,对于华帝、方太、老板电器来说,是不适用的。
  2. 无法兼容多个行业: 如果一个店铺售卖多个行业的商品,比如某大型鞋类品牌旗舰店,既卖鞋子又卖箱包还卖衣服,按照行业划分应该属于服装、鞋类及箱包。如果要为该店铺提供导购bot,需要同时选择三个行业的组件,从信息架构来看,会显得数据异常杂乱;从系统架构来看,开发同学也需要处理更多异常情况;而站在客户角度,就像是摆了一堆互不相关的货品,让客户自个儿去捞,那还不如不要给~

后面七爷看着每天的交互记录,再做了不同行业的客户调研,决定用品类来做标准。也就是说,关于空调、热水器、鞋子、衣服、包包各种品类,我都抽象出可随时调用的组件。这样,不管你卖的是单厨房电器,还是多个行业的东西,只需要找品类即可。

在具体设计过程中,我们会先定义好不同品类的导购意图,比如推荐护肤品的意图【SKIN_CARE】,可以有各类问法:

给我推荐一款护肤品

我脸偏干,有什么合适的护肤品

我是怀孕妈妈,有哪些适合我的护肤品

……

关于如何确定不同品类的导购场景,就需要通过这个行业大量数据聚类分析,以及产品做业务的调研,具体实施过程会很痛苦,但做出来了就会很舒服了。所以做B端产品,头部玩家很重要,产品经理也很重要!

设计好导购意图组件之后,我们还需要关注客户选择的问题,毕竟不是所有品类都需要做导购。所以,我们可以利用店铺数据分析,推荐店铺咨询最多的导购问题,客户甚至无需思考,“机械般”照着系统推荐配置就可以了。

同理,在配置词槽时候,与botframework的预置词典一样,以组件形式提供导购词典:当选择了【SKIN_CARE】意图之后,系统自动推荐相关词槽,客户被安排得明明白白,正所谓“索然无味,丝毫没有挑战性”。

当然,如果客户认为推荐的意图不喜欢,强烈要他觉得的才是最好的,也提供了自定义意图,让他做配置bot的小天才!

最后,当导购bot冷启动完成之后,客户需要日常做数据标注,不断优化模型,这块工作量同样不可避免,但可利用更高效的标注模块来完成。这块的功能设计其实已经烂大街了,就不在这里阐述了。

2. 组装并进化bot

好了,从维护提效角度做的产品设计已经完成,但不要忘记设计一个导购bot的核心意义,是为客服提效增收,也给买家尚佳的用户体验。

从这个角度来考虑如何构建一个bot,产品经理需要回答四个问题:

  1. 如何让买家进入导购场景
  2. 如何让买家顺利走到最后
  3. 如何推荐给买家最合适的
  4. 如何迭代该多轮对话

接下来,让我们一一来看~

(1)如何让买家进入导购bot

这个问题其实可以做分解,分为bot被动触发及主动引导。

被动触发的话,要考虑买家咨询最多的导购场景,这里用到上述提到的推荐意图即可解决,不再赘述。(虽然已经赘述了好多。。。)

主动触发这块,timing是最重要的因素。回到客服工作场景中,他们在跟买家咨询过程中,也会在不同timing进行导购push,提升咨询转化。七爷总结了一下客服会做push的timing,这里列举几个主要的节点:

  • 买家进店咨询
  • 买家咨询结束n分钟未下单
  • 买家下单了未付款
  • 买家取消订单/系统自动取消订单
  • 买家咨询后第二天
  • 等等

当然,有些timing并不适合做导购,比如买家下单未付款或者取消订单,说明买家已经有意向商品,无须再做商品导购。

最后,七爷抽丝剥茧,左思右想,决定了在买家进店的timing推荐导购,只要进来咨询的买家,都会第一时间看到,这样能保证覆盖全部咨询买家,不会遗漏。只有触达率上去了,转化量才有保证。

效果如下图,买家如果有兴趣可直接点击问题,进入导购场景。

特别地,在客服下班之后,当夜间机器人无法识别咨询消息,买家得不到答案,又长时间没有人工介入,那么购买的意向则会大大降低。利用进店的问题卡片(上图),机器人直接引导买家进行导购,减少上述识别失败的可能性,并且也可以提升夜间无人的转化率。

当买家与机器人聊天时,有可能会问天问地,所以我们需要确定哪些买家意图能够进入导购场景,也就是模块三中聊到的domain和intent。

当然,我们不能够拍脑袋来设计各种导购场景,千万不能【我要我觉得】

A.什么时候触发:不同业务场景不同

B.domain、intent确定,语料构建

(2)如何让买家顺利走到最后

①【词槽设计策略】

关于如何设计词槽,其实有个矛盾点:就是机器人要的信息太多,用户会反感;要得少了,关键问题没确定好,就容易让用户下错单导致退货,影响退货率。

所以我们会根据每个品类,推荐最关键的信息词槽,一般两到三轮的交互是最合适的。如果商家有特定信息,可配置自定义词槽。举个洗衣机的例子:

user:推荐一款洗衣机

bot:请问您需要多大容量的洗衣机呢

user:1

bot:请问您需要全自动的还是滚筒的呢?(回复序号即可,1:全自动、2:滚筒、)

user:全自动

bot:亲,根据您对洗衣机的购买需求:6.5公斤容量+全自动模式,为您推荐我们最受欢迎的洗衣机哦xxxxxxx

②【动态策略】

有时候bot在交互时,DM(对话管理)需要按照买家不同反馈采取不同的行为。说个简单的例子,很多家长会去网上书店给小学阶段的孩子购买读物,机器人会根据不同年龄段给出不同的读物推荐。

第一个是二年级孩子的读物推荐

user:给我推荐一本小学课外书

bot:好的。请问您的孩子读几年级呢?

user:二年级

bot:这里有一款二年级的童话故事书,热销xxxx

第二个是六年级孩子的读物推荐

user:给我推荐一本小学课外书

bot:好的。请问您的孩子读几年级呢?

user:我家小孩是六年级的

bot:好的,适合六年级小朋友的图书有:文学类、历史类、科学类,请问需要哪一种呢

user:科学类吧

bot:适合六年级小朋友的科学类图书有:xxxx

在功能设计上面,如果涉及该类场景,可以考虑利用动态策略,即【槽位依赖】方式,解决本轮槽位值填充影响下一轮策略的问题,具体策略可以是直接给出回复或者进行下一轮不同的槽位填充,亦或者进入其他导购意图。采用哪种策略,需要按照实际业务场景需求,确定产品的能力范围。

③【记忆策略】

基于前面说到的轮次过多问题继续讨论,很多买家可能在之前交互中已经交代过槽位信息,若机器人再问同样的问题,会显得很**(咦,骂人果然不好)。

user:推荐一款粉底液

bot:请问您的肤色如何呢?

user:偏黄

bot:好的,为您推荐xxxx

user:谢谢。再给我来个口红

bot:请问您的肤色如何呢? (NO!!!so stupid!!!)

bot:根据您偏黄的肤色,为您推荐xxxx口红。。

所以一个有记忆的机器人,就显得贼弥足可贵。要做到这一点,简单的方式,在配置slot时,可以让客户选择是否采用其他导购意图的相同slot,以达到“记忆”的目的。

当然,我们还可以利用商家的会员信息,直接调用api填充词槽。不过由于商家的开发资源有限,考虑ROI的问题,很少会为了多轮会话导购去做api接口。这种方式属于说起来好听,实际没啥用武之地的功能,但在不同群体、不同场景下,这种方式还是有一定价值的。

④【多意图交叉策略】

关于多意图的场景,我们可以看下面的例子:

user:我是孕妇,可以帮我推荐一款适合我的产品吗?

bot:我们店内有不同步骤的产品,您是需要哪个步骤的呢?

bot: 1.洁面 2.水 3.眼部产品 4.精华 5.乳液/面霜 6.防晒 7.底妆 9.唇部产品

user:精华和乳液有什么不同

bot:精华是xxx,乳液是xxxx

user:那我要精华、水、洁面

bot:好的哦,根据您的情况,给您推荐xxxx

当机器人进入导购意图时,此时买家可能会突然cue到其他问题。这时候bot维护的不只是一个意图了,则时候买家如果又回到了上一个意图(如例子中的护肤品导购意图),bot也需要能够接上,否则用户体验极其讨厌。

从业务角度看,客户需要考虑每个导购意图在跳出后多少轮之后还能再次进入该意图,或者永久有效。

基于业务来考虑技术角度,相当于有一个堆栈维护所有被激活的意图。如果是新的意图,则入栈;如果是老的意图,只要被触发就随时继续交互。某个意图交互完成了,就出栈。最终实现多意图交叉的目的。

⑤【异常策略】

当然,基于bot的完整性,以及拥有足够的资源协调,我们还可以处理一些异常情况,保证bot的智能。

异常1:NLU识别错误&ASR识别不准

这种情况往往不可控,万一前面模块提供一个乱七八糟的输入给到DM,DM也无可奈何。此时除了优化ASR和NLU的模型外,可设置为非必要填充slot,这样在导购意图交互时,如果该slot的填充出现问题,就直接跳过,进入下一个slot填充action或者给出推荐,保证交互的流畅性。

异常2:用户表示否定

很明显,我们经常在后台看到买家在做槽位填充时,不直接给答案,而是否定了其中的部分选项,这时候建议是采取其他选项作为slot值。

再者,当bot给出了推荐商品,买家表达“换一个”“不要这个”的时候,bot可以提供第二个备选商品;当然,bot也可以兜底回复,然后由人工做其他推送。毕竟对客服来说,这时候bot已经帮忙收集了大部分信息,客服只需要结合买家信息做推荐,效率上也提升了不少。

(3)如何让买家愿意下单

当买家已经走到导购意图的最后,收到bot的推荐商品,这个过程主要为了提升转化率,可以有两个策略:

①【热门商品策略】

我们产品会推荐店铺热门的商品,商家也倾向于此种方式,一方面是由于买家对热卖商品有更高购买意愿,另一方面热门商品占店铺业绩的大头,对于店铺销售的贡献值更大。

同时,由于电商的sku经常需要更新,所以若商品已经下架或者有同类型的热门商品上架,系统最好有相应预警机制,提醒商家进行及时更新。

②【话术策略】

话术的设置其实属于运营范围,但为啥要拎出来讲呢?从数据反馈中可以看出,买家对于收到不同话术的体验是不同的,往往功能设计得再好,话术不行,页会让买家放弃下单。这里简单列举话术设置的三点小建议,也是我们运营同学在跟客户交付时的部分策略,早已历经N个买家的风霜考验,屹立不倒。

a 让买家相信推荐的专业性:在推荐话术中加入买家的槽位值,如之前提到的例子:

亲,根据您对洗衣机的购买需求:6.5公斤容量+全自动模式,为您推荐我们最受欢迎的洗衣机哦xxxxxxx

b 让买家相信客服的重视性:在推荐话术中加入买家、客服昵称

亲爱的【某某买家】,根据您对洗衣机的购买需求:6.5公斤容量+全自动模式,【某某客服】千挑万选,为您推荐我们最受欢迎的洗衣机哦xxxxxxx

c 让买家相信商品的可靠性:追加过往商品的好评图片

亲爱的【某某买家】,根据您对洗衣机的购买需求:6.5公斤容量+全自动模式,【某某客服】千挑万选,为您推荐我们最受欢迎的洗衣机哦xxxxxxx。

这款商品很多买家都说好哦,有图为证,绝不吹牛哦!【图片】

d 如何迭代该多轮对话

综上所述,我们已经完成一个导购bot的冷启动工作。接着就是上线并且做迭代,关于多轮会话的迭代,最重要的就是:数据!数据!数据!

③【语料标注】

意图和slot值都需要语料完善,但一般采用系统推荐的则不需要商家做数据维护。整一套语料标注体系在市面上已经挺成熟,几乎每个做AI的公司都有自己的系统,在此我就不哔哔了。

④【对话轮次优化】

我们在做日志时候,会用漏斗图的形式,记录多少买家进入导购意图,多少买家走完了交互流程,以针对性确定整条路径的优化点。比如进入导购的买家特别少,可以分析是该意图本身触发少,或者是语料标注不够;同样很多买家可能走了一轮slot就退出了,可以分析是否是轮数的问题,从而减少设计轮数。

⑤【推荐话术】

那最后也会对每个意图的转化数据做分析,除了语料、伦茨等影响转化的因素之外,话术及商品推荐的择优同样非常关键,所以若商家有些商品推荐转化高,有些商品推荐转化低,我们会把转化高对应话术等内容作为优化建议,推送给商家,从而更有效地提高导购地转化。

 

本文由 @steseven 原创发布于人人都是产品经理,未经作者许可,禁止转载。

题图来自Unsplash,基于CC0协议。

随意打赏

提交建议
微信扫一扫,分享给好友吧。