![](https://i-blog.csdnimg.cn/blog_migrate/aa7d6abf3166d8d37d58351457a1cf4e.png)
来源 | 大数据与人工智能
推荐系统的目标是为用户推荐可能会感兴趣的标的物。通过算法推荐达到节省用户时间、提升用户满意度、为公司创造更多的商业价值的目的。
要想达到这个目的就需要让用户信任你的推荐系统,只有信任了,用户才会经常使用推荐系统。
那么我们怎样做到让用户信任呢?
一种比较好的方法是为用户推荐标的物的同时给用户提供推荐的理由,向用户解释清楚是基于什么原因给他推荐的。
那怎样在推荐的同时提供推荐的理由呢?
这就是本文的主题,下面作者会给大家提供一套构建可解释推荐系统的策略和方法。
本文会从可解释性推荐系统简介、构建可解释性推荐系统的方法、常用工业级推荐产品的推荐解释、更好的理解和落地推荐解释需要思考的问题、构建可解释性推荐系统面临的挑战与机遇等5个部分来讲解。
希望读者读完本文后对可解释性推荐系统有一个大致了解,并且知道有哪些方法可以用来构建可解释性推荐系统。
1
可解释性推荐系统简介
▌01.什么是推荐解释
所谓推荐解释,就是在为用户提供推荐的同时,给出推荐的理由。
人类是一个非常好奇的物种,不满足于只知道结论,一定会对引起结论的原因感兴趣,往往特别想知道个中的理由。小孩从会说话时起就会问各种为什么。对社会和环境的好奇,才会引起人类的探索欲,从而更好的理解和认知这个世界,这可能是生物进化的自然选择吧。
在现实生活中,我们经常会为朋友做推荐或者让别人帮我们推荐,比如推荐旅游地、推荐电影、推荐书籍、推荐餐厅等。现实生活中的推荐,大家都会给出推荐原因的,比如推荐餐厅,我们会说这家环境好、好吃、卫生等等。
对于互联网上的推荐产品,相信大家不陌生。你在亚马逊上买书时,系统会给你推荐书,你在头条上看新闻时,系统会为你推荐其他的新闻。随着移动互联网的发展和成熟,个性化推荐无处不在,变成了任何一个toC互联网公司的标配技术。
下面图1是我们公司一个推荐产品,“看过该电影的人还喜欢”就是一类推荐解释。
![](https://i-blog.csdnimg.cn/blog_migrate/2310ed037afdd29ed19188691a7bac1e.png)
图1:互联网视频行业的推荐解释
其实解释可以拓展到更广泛的互联网业务场景中,比如搜索中的高亮显示,让用户一眼就可以看到展示的搜索内容跟用户输入的关键词的联系,也算是一种解释。
▌02.推荐解释的价值
我们在为别人提供推荐时如果给出推荐的理由,会增加别人的认可度和接受度,没有解释和理由的推荐是缺乏足够说服力的。
互联网上的虚拟物品的推荐,如果能够做到像线下推荐那样,不光给出推荐并且能够提供推荐的解释,说明推荐的原因时,就可以提升推荐系统的透明度,还能够提升用户对推荐系统的信任度和接受度,进而提升用户对推荐产品的满意度。
很多特殊行业,是必须要对算法模型具备解释能力的,比如金融、医学、风控等,不然用户是无法接受你的推荐的。这里举个例子说明解释的重要性和必要性:一个用户得了很严重的病,你推荐一个药物给他,你说这个药物疗效很好,但是说不出它为什么有效,用户是不会接受你的推荐的。
▌03.互联网推荐产品的推荐解释模型
对于互联网的推荐模块,我们可以在推荐业务流(不熟悉的读者可以参考《推荐系统的工程实现》)的哪些阶段为用户生成推荐解释呢?
我们从推荐业务流的次序上可以将推荐解释分为在模型训练过程中生成解释(事先解释)和推荐结果生成后做解释(事后解释),具体参考下面图2:
![](https://i-blog.csdnimg.cn/blog_migrate/750a2e43302e5a61dcc19d3a6f186906.png)
图2:在推荐算法的不同阶段做推荐解释
其中,在模型训练过程中生成推荐解释又分为两种情况:
一种是将推荐和解释看成是两个优化目标,通过协同训练来同时优化两个目标。
另一种情况是解释过程嵌入到推荐过程中,解释和推荐过程耦合在一起,融为一体,集成为一个模型训练。往往这类解释方法会让整个系统更加复杂,让整个建模过程难度加大,训练消耗的资源更多,训练时间更长,但是可以提升整个模型的可解释性。
在计算推荐结果后生成推荐解释,基于给用户的推荐结果,从中找出用户跟推荐标的物之间的某种内在联系,基于该关系做推荐解释。该方案基本将推荐过程和解释过程解耦,工程实现上更加简单,也更加容易让用户理解和接受。
▌04.推荐解释的形式
推荐解释可以是具备强烈的因果关系的,也可能是逻辑性没那么强的“牵强附会”。比如,“因为你喜欢A,而A和B很相似,所以给你推荐B”就是逻辑很严密的一种推荐解释。而“因为今天下雨,所以给你推荐A”这就是一类比较随意的推荐解释。
推荐解释的展现形式可以是文字、图片、视频、音频等,文字是最常用的方式。不同的产品形态可以采用不同的形式,比如如果是电台,可以采用音频的方式给用户做推荐解释。
推荐系统一般会为用户生成一个标的物列表。在具体做推荐解释时,可以为每个推荐的标的物做不同的解释,当用户聚焦在推荐的标的物时,可以展现出推荐解释的理由,或者对这一系列标的物做统一一致的解释,上面图1就是对整个推荐模块做统一的推荐解释。
▌05.推荐解释的现状
不论是推荐系统的工程实践还是学术研究,在推荐解释上的研究和投入较少,在真实的推荐产品落地上也不太关注推荐解释。
之所以出现这种情况,主要是大家都将精力放到提升推荐系统的精准性上,比较少的站在用户的角度来思考问题。对用户来说,他不光希望给出推荐,还要说明为什么这么给他推荐,只有这