团员分享_交互式课程推荐BOT尝试心得(1)_@大番薯_20200519
2020年5月18日 更新
开启更多功能,提升办公效能

前言:本文作者是团员“大番薯”,“交互式课程推荐BOT”这个重度干货非常长,将会分成3篇文章来叙述,本文是第1篇;也欢迎有更多的团员们来分享你的AI干货~



背景

1、何谓交互式推荐?

交互式课程推荐BOT的初衷是打造一款通过交互式问答来进行课程推荐的BOT,可以支持更灵活、更丰富的基于状态的多轮对话控制。目标是通过交互式的对话,帮助用户选到更合适的课程,并带来更好的交互体验。


设计之初,有参考过Facebook的一个推荐书籍的chatbot

  • 核心观点:通过和你聊天获取你的性格倾向,从而推荐合适的商品
  • 交互方式:纯文本聊天+选项点击
  • 推荐方式:单个推荐+1-5分的打分
  • 体验感受:出色的NLU能力和不错的对话设计



2、为什么在课程推荐场景要做交互式对话?

用户如果带有明确意图的时候,其实完全可以走搜索,所以各大公开的课程网站都会有搜索功能。如果用户完全没有表达意图,或者只是根据历史行为来进行推荐课程的话,那就完全又变成了推荐。


交互式对话推荐是什么呢?笔者自身的理解,是通过自然语言的对话来连接搜索和推荐的桥梁,帮助人们更便捷地、更快速地获取某些信息。

在海量信息的情况下,交互式对话带来的好处有哪些呢?


首先,帮助用户选课或是推荐课程这个场景,用户不一定都带着很明确的需求而来,可能是只有个模糊的概念,也可能并没有明确的需求,交互式的对话就是为了帮助用户挖掘需求,引导用户,起到了导师或是课程规划师的作用。

其次,通过不断的对话过程,BOT可以不断收集用户的行为和反馈信息,不断明确需求,从而不断缩小可推荐课程的范围,最终推荐最为合适的课程给到用户。

推荐课程后,针对课程的任意问题和反馈,用户也可以表达,形成反馈闭环。

简而言之,交互式推荐增加了用户达成最终目标的互动过程,在这个互动的过程中,不仅明确了用户的需求,且带来了更有趣的交互体验,且有疑问时还可以进行提问并得到解答。想一想,就会觉得是很有帮助的一款对话BOT。

以上表达的是理想状态,那现阶段的算法技术是否可以达到这个程度呢?


主要难点是虽然聚焦在垂直领域,但非任务型的对话场景较为开放,为了带来更好的交互体验,对于用户的自然语言文本的理解就尤为重要。理解的情况下,如何给出令人愉悦的反馈?不理解的情况下,如何生成合适的表述,不至于让用户感觉BOT很智障?等等这些,都是做好交互式对话所需要考虑的范畴,下文会一一详解。


3、交互式对话和任务型对话的区别

任务型对话是业界做的比较多的,包括客服机器人和各种代理等,都是这个定位。这方面的文章之前也发了很多了,主要就是用来解决实际问题,目标明确,定位场景、产品设计、框架设计、设计意图分类、每个意图下的槽位、问法、对话策略和话术回复等等,都是一套比较成熟的模式。


不同点就在于针对不同的业务场景,所需要的设计点不太一样,比如电商场景和客服场景肯定关注的点就不一样,最终评价的方式也不一样。相对可扩展性较弱,每针对一个场景都会有不同的设计。


业内有专门做对话机器人的厂商,很多大厂也在做,由于对话系统本身的局限,导致只能通过文字或者简单的图片链接来进行交互,信息被极大地压缩了,站在这个角度,这一块整体的想象空间可能会稍微低一些。


还有一点是,任务型的对话由于目标明确,边界划分可以较为清晰,对于用户的回复,一旦划分为异常情况,可通过兜底或追问的方式来解决。这么做在目标清晰的情况下可以接受,不过确实牺牲了一部分用户体验,整体给人的感觉是对话流程比较僵硬和程式化,不带有情感。


交互式对话会对整体的对话体验比较关注,同时会增加一些共情的功能点,最重要的是将交互式对话和推荐进行结合,会比单纯的搜索和推荐更具有互动性,能通过更多途径获取更多用户信息反馈。


传统的搜索引擎和推荐系统主要是通过用户的浏览、点击、反馈动作等,但并没有提供更多的反馈途径,如果有一个这样BOT的载体可以让你直接通过对话来进行反馈,同时BOT也能理解你,那必然会挖掘更多用户的信息,推荐的效果也会更好。


总结如下:

任务型:面向任务,擅长完成特定的工作;模式较为成熟;可扩展性弱;人机互动感较弱。

交互式:偏娱乐化,关注对话体验和共情能力,对NLU要求更高,人机互动感强。


4、本文提纲

为了更清晰地呈现本文,拆解为几个要点,这些点都是需要特别考虑的:

1)角色定位

2)意图设计:包括用户可能的意图,BOT可能的意图和动作

3)对话管理:包括对话设计,对话状态,对话策略,对话生成

4)推荐:包括搜索推荐,画像推荐,相似推荐

5)测试&评价

6)落地应用场景

7)可优化方向


一、角色定位

角色定位,通俗地讲就是人设。众所周知,微软小冰在行业内算是较为领先的跨平台人工智能系统,小冰在如何构建人格化的对话系统方面,还是花了比较大的功夫。


以下是百科摘取的一段关于人格化的定义:


人格是指个体在对人、对事、对己等方面的社会适应中行为上的内部倾向性和心理特征。表现为能力、气质、性格、需要、动机、兴趣、理想、价值观和体质等方面的整合,是具有动力一致性和连续性的自我,是个体在社会化过程中形成的独特的心身组织。整体性、稳定性、独特性和社会性是人格的基本特征。

这里主要可以实现的点是能力、性格、兴趣、一致性、连续性,这个为我们的设计提供了很好的借鉴方向。设计之初,我们希望BOT的定位是类似微软小冰这样古灵精怪的萌妹子,风趣幽默活泼,善解人意,作为课程推荐小助手的存在,可以方便选课的用户。



二、意图设计

用户意图

针对课程推荐的场景,我们设想了需要识别的几种重要的用户意图:


用户意图分类

用户意图

备注

例句

是否全局

推荐

用户明确表达想看某些方面的课程

提取槽位:职能/技能/爱好/讲师 ,进入搜索推荐

我想看数据挖掘的课程/给我推荐点管理方面的课


用户没有明确表达想看哪些方面的课程,或是在对话反馈后需要重新推荐

根据用户画像推荐




相似课程推荐




用户回答特定问题

用户回答性别

性别

我是女生



用户回答兴趣爱好

兴趣爱好

我喜欢打网球



用户回答职能

职能

我是算法工程师



用户回答想学的技能

技能

我想学数据分析


用户反馈理由

跟讲师相关

识别用户喜欢/不喜欢某个讲师

这个讲师不行/这个讲师的风格我不喜欢



兴趣/职能偏好(喜欢xx,不喜欢xx)

识别用户喜欢/不喜欢某些东西

这门课讲的是xx相关的内容,不太适合我/别给我推管理方面的课了



推荐内容不相关


内容不相关


用户反馈动作

对某门课进行打分、点赞点睬操作




抱怨

用户抱怨不想看某些方面的课

识别用户是否不喜欢某些东西,并提取具体不喜欢什么

别给我推管理方面的课了

肯定/否定

判断用户做出肯定/否定回答


需要再推荐点课吗? -好的/不用了

闲聊

用户的回复跟课程、推荐、上下文均无关,开启闲聊模式


你是谁? -我叫CC呀

QA

用户针对某一个词条进行提问


什么是人工智能

退出

用户表达明确退出意图


退出


在这些意图中,需要区分哪些是全局意图,哪些是等待上一轮BOT问题问后,用户回复的情况下再识别的意图。如果都是全局意图,可能会增加意图之间识别错误混淆的概率。


设计全局和非全局意图,主要是通过判断用户的这个行为是否需要依赖于对话上下文。比如,用户反馈理由,提及一些偏好的时候,大概率都是基于上文推荐课程后给出的反馈,这种情况就不需要全局;但如果是直接搜索推荐,比如说:我想看数据挖掘相关的课程,这种情况在整个对话流的任意位置都是可能发生的,那优先级肯定是最高的,属于全局意图。


用户意图在BOT对话的载体中,大部分都是通过自然语言对话的形式生成,但是也有些小trick,比如相似课程推荐和评分这些功能,如果通过自然语言文本来识别,在推荐多门课的情况下,势必会带来指代的问题,包括异常对话和追问机制的考虑。如果认为这一块不是重点的话,前期先通过简单的前端按钮和样式来替代,就会很好地避免这些问题。



未完待续:

三、对话管理:对话设计,对话状态,对话策略,对话生成

四、推荐:包括搜索推荐,画像推荐,相似推荐

五、测试&评价

六、落地应用场景

七、可优化方向


 

-END-

 

以上内容,来自饭团“AI产品经理大本营”,点击这里可关注:http://fantuan.guokr.net/groups/219/ (如果遇到支付问题,请先关注饭团的官方微信服务号“fantuan-app”)

 

 

---------------------

作者:黄钊hanniman,图灵机器人-人才战略官,前腾讯产品经理,7年AI实战经验,10年互联网背景,微信公众号/知乎/在行ID“hanniman”,饭团“AI产品经理大本营”,分享人工智能相关原创干货,200页PPT《人工智能产品经理的新起点》被业内广泛好评,下载量1万+。