可解释推荐系统:身怀绝技,一招击中用户心理

标签: 解释 推荐系统 用户 | 发表时间:2017-09-14 17:30 | 作者:微软亚洲研究院
出处:http://blog.sina.com.cn/msra

​编者按:推荐系统被广泛应用在电商网站、社交网络、生活服务网站、搜索引擎等平台。一个好的推荐系统不仅需要准确地把握用户的需求,推荐给用户想要的内容,更需要学会与用户沟通,了解用户心理,以用户容易接受的方式给出适当的推荐。


本文中,微软亚洲研究院的研究员王希廷和谢幸将为大家详解可解释推荐系统的分类、推荐解释生成方法以及面临的机遇和挑战。


《战国策》中有个有趣的故事:当年赵国被入侵,只有送出质子才能求来救兵。但是赵太后特别疼爱小儿子,怎么也不愿意让他当质子。大臣们越是劝谏,赵太后就越是愤怒。这时候触龙出面,成功说服了赵太后,让她的爱子出质于齐,换来救兵。他到底是如何做到的呢?


这个故事其实跟我们最近进行的推荐系统的研究非常相关。如果把“送出质子”当作一个推荐给太后的策略,那么故事的关键不在于推荐内容的好坏,而在于对推荐内容的解释。如果要让赵太后这样顽固的用户接受这个推荐,关键点是什么?


触龙给出的答案是: 沟通方式、用户心理、合适例证。让我们详细看看他是怎么做的。


触龙刚见到赵太后就开始话家常,说:“我老啦,有个小儿子年龄很小,真是担心他的未来啊。”赵太后问:“你们男人也很宠爱小儿子吗?”触龙说:“比女人更宠呀。我认为赵太后更喜欢您的女儿,而不是小儿子。”赵太后表示不认同。触龙解释道:“您送公主出嫁的时候,尽管伤心,但也希望她不要被赶回来。这还不是为她的长远未来打算?”赵太后同意。触龙又说:“但是您却没怎么为长安君计划未来。您看赵国刚建立时的诸侯王,他们的子孙还有享受爵位的吗?其他国家的呢?”赵太后想了想,表示没有。触龙又说:“那是因为他们荣华富贵太甚,又没有什么功劳的缘故。您现在让长安君有如此高的地位,却不让他有功于国,一旦您驾崩了,长安君凭什么在赵国立足呢?”听了这番话后,赵太后同意了将长安君作为人质。


我们可以在这个故事里看到两类推荐系统。一类是朝廷大臣这种 传统的推荐系统(下图(a)),将重心放在提高推荐准确性上,与推荐对象的沟通考虑得不够;而另一类是触龙这种 可解释的推荐系统(下图(b)),能够以用户容易接受的方式(话家常),充分抓住用户心理(父母爱自己的小孩,应该为他们长远未来考虑),给出适当的例子(赵太后送公主出嫁)与用户沟通。研究发现,这样的系统不仅能够提升系统透明度,还能够提高用户对系统的信任和接受程度 、用户选择体验推荐产品的概率以及用户满意程度等等。

(a) 传统推荐系统


(b) 可解释推荐系统


设计一个像触龙这样可解释的推荐系统是我们的终极目标。目前,这个方向进展如何呢?未来,有什么比较好的研究课题呢?下面,我来介绍一下可解释推荐的分类、推荐解释生成方法以及可解释推荐面临的机遇和挑战。


可解释推荐的分类


一般来说,可解释的推荐分为下图所示的三大类:以物品为媒介、 以用户为媒介、以及 以特征为媒介


三大类推荐解释:以物品、用户、特征为媒介


物品为媒介的推荐解释用一句话表述是“ 这个推荐物品和您喜欢的其他物品相似”。在赵太后的故事中,触龙用了类似的推荐解释: “派长安君做人质”这个推荐策略与赵太后曾经采用过的策略(送公主出嫁)相似。这类解释在各大网站上如亚马逊、Netflix等有较为广泛的应用。它的展现方式常常是一个曾经购买、评论或者浏览物品的列表,列表中的物品和目前推荐的物品比较相似。研究表明这类方法能够增加系统的被接收程度。但是这类推荐解释的问题是用户有时可能难以找到物品之间的关联,另外用户有时可能希望看到一些自己没有购买过的、不一样的物品。


用户为媒介的推荐解释用一句话表述是“ 跟您相似的用户都喜欢该推荐物品”。在赵太后的故事中,这个与赵太后相似的用户就是也宠爱小儿子的触龙。这类推荐解释展现形式多种多样,生成解释时也往往用到社交信息。微软研究员Amit Sharma等人对四种社交理由进行了用户测试,这四类理由是整体热度(2,612,211位Facebook 用户喜欢它)、朋友热度(您的朋友中有7人喜欢它)、好朋友(张三喜欢它)、好朋友及个数(张三和其他5位您的朋友喜欢它)。最终发现后两种解释方式效果对提升说服力效果最好。使用这两种解释方式时,选择一个正确的朋友非常重要。如果只是随机选择一个朋友,说服力反而会降低。以用户为媒介的推荐解释与以物品、特征为媒介的推荐解释相比,最能说服用户对推荐物品进行评估,但是对用户实际使用物品后喜爱程度影响比较小。如果推荐的物品用户不够喜欢,反而会降低用户的满意程度。


以特征为媒介的推荐解释用一句话表述是“ 您可能喜欢推荐物品的这些特征”。在赵太后的故事中,触龙抓住了赵太后最关心的特征——子孙的长远利益——进行推荐,从而使得赵太后接受了推荐。这类推荐解释常见的表现形式是将推荐物品中用户感兴趣的主要特征进行列举(如下图)。研究表明这类推荐解释有助于用户准确判断是否喜欢推荐物品,与前两类推荐解释相比,用户对这类推荐的满意度更高。这类推荐需要判断物品特征以及用户对不同特征的感兴趣程度,从而找到最适合用于解释的特征,因此建模粒度更细,也是目前的研究热点。


以特征为媒介的推荐解释


除了上述三种推荐解释以外,还有 结构化概览式推荐以及 对话式推荐等。其中,结构化概览式推荐将推荐物品用有组织的、可视化的形式呈现给用户,让用户可以看到各个推荐物品的特性和分布,从而在充分了解以后做出挑选。对话式推荐是在与用户聊天时进行推荐、解释、收集用户反馈,有着较高的接受度,也可以很好地解决冷启动问题。这是一个新兴的研究方向,我们也在做一些尝试,将在后文进行讨论。


推荐解释生成方法


刚刚我们谈到了几类推荐解释,其中以特征为媒介的推荐解释建模粒度较细,模型也日趋成熟。接下来重点介绍一下这类推荐解释的生成方法。


生成基于特征的推荐解释时,关键是特征的提取。早期的方法借助一些显式的物品特征,例如事先确定的物品分类、关键词、以及标签信息。在挑选特征进行解释时,主要是综合两个指标:第一是用户对特征的感兴趣程度,第二是推荐商品与特征的相关程度。第一点需要非常了解用户心理,第二点需要对商品进行精确建模,综合两点考虑,才能像触龙一样击中用户内心。早期方法对这两者分别计算之后进行合并,从而找出推荐物品以及解释。这类方法的问题之一是特征的可描述性(Descriptiveness)可能不够。另外这些方法采用的推荐模型还比较简单,一些精巧的、复杂的推荐系统难以用这样的方法进行解释。


为了解决上面的问题,近期一些工作开始利用网上丰富的评论文本进行可解释性的推荐。他们的主要思想是从评论中抽取用户最感兴趣的物品特征,并且将这些特征加入到目前的推荐系统中进行统一建模。其中一个较新的方法是Explicit Factor Model(EFM)。如上图所示,这个方法首先利用词级别的情感分析找出用户评论中提到物品的显式特征(Explicit Features,如Screen、Earphone、Battery)及用户对这些特征的情感倾向(正面或者负面)。利用这个信息,可以构建用户-特征矩阵X以及物品-特征矩阵Y。这两个稀疏矩阵可以用三个低维矩阵U1、U2、V进行建模。这里V中每一行记录了一个显式特征的隐式表达(Latent Representations)。U1(U2)即记录用户(物品)与显式特征隐式表达之间的关系。除了显式特征以外,还有一些隐含特征(Hidden Factors)可能是评论中没有提到的,这些特征用额外的H1、H2矩阵表示。将U1、H1进行拼接就构成了用户与物品所有特征的隐式表达之间的关系,U2、H2也是类似的。该模型希望能够通过这些矩阵拟合用户-物品的评价矩阵A。


JMARS(Jointly ModelingAspects, Ratings and Sentiments)框架


可解释推荐的机遇与挑战


作为推荐领域被探索得较少的一个方向,可解释推荐的很多方面值得研究与探索。目前,我们在考虑从下面三个方面进行研究。


解释含有深度神经网络的推荐模型。目前可解释推荐的系统往往是基于较浅层的图模型或者矩阵分解模型,对于含有深度神经网络的复杂、混合模型的解释能力还不够。我们在考虑借鉴对深层卷积神经网络进行解释、分析的技术,将复杂、高级的推荐系统升级为可解释的推荐。


利用知识图谱打通不同媒介之间的关联。现有的可解释推荐所生成的推荐解释往往只局限于以物品为媒介、以用户为媒介或者以特征为媒介中的某一种,对这三类媒介之间的关联挖掘得还不够。我们希望能够利用知识图谱,打通这三类媒介之间的关联,根据具体情况灵活选择其中最合适的媒介对用户进行推荐与解释。这样,我们还可以产生形式更丰富的推荐解释,例如将用户感兴趣的图片也进行展示。


结合生成模型进行对话式推荐。目前的推荐解释往往形式是预先设定、千篇一律的(如预先设定推荐解释是以用户为媒介的)。这样尽管也能根据用户心理举出一些例证,但是在沟通方式上还过于呆板,离触龙那样话家常式的推荐还有很大距离。如果能用生成模型让推荐系统“自创”一句通顺甚至高情商的话,就可以在与用户聊天的过程中进行灵活、多变地推荐解释了。我们团队已经与微软小冰合作,在这方面进行了一些尝试,为小冰生成音乐推荐解释。推荐过程如下图所示:


微软小冰的对话式音乐推荐


我们会从这几个方向出发,不断拓展可解释推荐的深度和广度。希望不久后的某一天,推荐系统都能像触龙那样厉害。



作者介绍

王希廷,微软亚洲研究院副研究员。2011年于清华大学获得工学学士学位。2017年于清华大学获得工学博士学位。她的研究成果发表在数据挖掘和可视化的顶级会议和期刊上,包括KDD、TKDE、AAAI、IJCAI、VAST和TVCG等。她的一篇一作论文被TVCG选为2016年12月的spotlight article。她曾担任TKDE、TVCG、InfoVis等顶级会议、期刊的审稿人。


谢幸博士于2001年7月加入微软亚洲研究院,现任社会计算组资深研究员,并任中国科技大学兼职博士生导师。他分别于1996年和2001年在中国科技大学获得计算机软件专业学士和博士学位。他在国际会议和学术期刊上发表了200余篇学术论文,并拥有50余项专利。他是ACM、IEEE高级会员和计算机学会杰出会员。他参与创立了ACM SIGSPATIAL中国分会,并曾担任ACM UbiComp 2011大会程序委员会共同主席。


感谢你关注“微软亚洲研究院”,我们期待你的留言和投稿,共建交流平台。来稿请寄:[email protected]

微软小冰进驻微软研究院微信啦!快去主页和她聊聊天吧。


 

相关 [解释 推荐系统 用户] 推荐:

可解释推荐系统:身怀绝技,一招击中用户心理

- - 微软亚洲研究院
​编者按:推荐系统被广泛应用在电商网站、社交网络、生活服务网站、搜索引擎等平台. 一个好的推荐系统不仅需要准确地把握用户的需求,推荐给用户想要的内容,更需要学会与用户沟通,了解用户心理,以用户容易接受的方式给出适当的推荐. 本文中,微软亚洲研究院的研究员王希廷和谢幸将为大家详解可解释推荐系统的分类、推荐解释生成方法以及面临的机遇和挑战.

推荐系统之用户行为分析

- - IT瘾-dev
基于用户行为的推荐,在学术界名为协同过滤算法. 协同过滤就是指用户可以齐心协力,通过不断地和网站互动,使 自己的推荐列表能够不断过滤掉自己不感兴趣的物品,从而越来越满足自己的需求. 用户行为在个性化推荐系统中一般分两种——显性反馈行为(explicit feedback)和隐性反馈 行为(implicit feedback).

【推荐系统】协同过滤之基于用户的最近邻推荐

- - CSDN博客互联网推荐文章
协同过滤(collaborative filtering)的核心思想:利用其他用户的行为来预测当前用户. 协同过滤算法是推荐系统中最基本的,同时在业界广为使用. 根据使用的方法不同,可以分为基于用户(user-based)、基于物品(item-based)的最近邻推荐. 基于用户的最近邻推荐的主要思想与 kNN有点相似:对于一个给定的评分集,找出与当前用户u口味相近的k个用户;然后,对于用户u没有见过的物品p,利用k个近邻对p进行预测评分.

腾讯:仅24%用户认为个性化推荐系统“靠谱”

- - 199IT互联网数据中心
盘点科技圈里的时髦词汇,必然少不了一个词:个性化推荐. 借助个性化推荐技术,互联网产品获取或积累用户的兴趣喜好数据后,可以直接为用户提供每个人感兴趣的内容,以此提升产品的内容吸引力. 想要在产品里添加个性化推荐功能已经不是一件难事,事情的难点在于推荐的内容是否准确. 为了解目前用户对该类功能的反馈,企鹅智酷推出了一项调查,以下就是调查结果:.

<转>推荐系统原理介绍-用户画像简介 - CSDN博客

- -
最近在做推荐系统,在项目组内做了一个分享. 今天有些时间,就将逻辑梳理一遍,将ppt内容用文字沉淀下来,便于接下来对推荐系统的进一步研究. 推荐系统确实是极度复杂,要走的路还很长. 为什么需要推荐系统——信息过载. 随着互联网行业的井喷式发展,获取信息的方式越来越多,人们从主动获取信息逐渐变成了被动接受信息,信息量也在以几何倍数式爆发增长.

Min-Hash和推荐系统

- - xlvector - Recommender System
前几年看Google News Recommendation的那篇Paper,对里面提到的MinHash的算法基本没有注意,因为之前的习惯都是只注意论文的模型那块,至于怎么优化模型一般都只是扫一眼. 不过最近看了大量的Google Paper,发现Google在实现一个算法方面确实有很多独到之处. 其实,Min-Hash是LSH(Locality Sensitive Hash)的一种,我之前对LSH的了解仅仅限于知道它能把两个相似的东西Hash成两个汉明距离接近的2进制数.

推荐系统实战

- - 博客园_首页
推荐算法:基于特征的推荐算法. 推荐算法准确度度量公式:. 其中,R(u)表示对用户推荐的N个物品,T(u)表示用户u在测试集上喜欢的物品集合. 集合相似度度量公式(N维向量的距离度量公式):. 其中,N(u)表示用户u有过正反馈的物品集合. 其中,S(u,k)表示和用户u兴趣最接近的K个用户集合;N(i)表示对物品i有过正反馈的用户集合;w(u,v)表示用户u和用户v的兴趣相似度;r(v,i)表示用户v对物品i的兴趣.

推荐系统杂谈

- - 后端技术杂谈 | 飒然Hang
推荐系统是近些年非常火的技术,不管是电商类软件还是新闻类app,都号称有精准的推荐系统能给你推送你最感兴趣的内容. 现象级的资讯类app“今日头条”就得益于此成为了势头非常猛的一款产品. 本文就针对推荐系统讲述一些相关概念和实践经验. 首先需要明确的就是推荐系统的目标,一般来说不外乎以下几个:. 用户满意性:首当其冲的,推荐系统主要就是为了满足用户的需求,因此准确率是评判一个推荐系统好坏的最关键指标.

个性化推荐系统综述

- Tony - 所有文章 - UCD大社区
上个月写过一篇产品推荐的文章,详情请见《我所了解的产品推荐》,内容很泛,多为工作心得. 本周读了几篇相关的论文,收获颇多,分享点干货. 以下内容摘自《个性化推荐系统的研究进展》,该文发表于2009年1月的《自然科学进展》专题评述,作者是刘建国、周涛、汪秉宏. 我略去了具体的算法和许多公式,重点看原理、思路和比较.

推荐系统开源工具 – SVDFeature

- Roger - Resys China
SVDFeature是我们(上海交大Apex实验室)在参加KDDCUP 2011期间开发的. 通过这个工具,我们和港科大(HKUST)的联合小组InnerPeace在KDDCUP 2011中获得Track 1第三名,并创造单模型最好成绩. 在此分享给大家,并希望和大家有更多的交流. (1)基于feature的可扩展性 —— SVDFeature实现了我们的基础模型feature-based matrix factorization.