【推荐系统】Explainable Recommendation

参考论文:Explainable Recommendation: A Survey and New Perspectives 

1. 什么是可解释推荐系统?

可解释推荐系统,作为回答推荐系统中"why"这个问题的technique,自然地把human-in-the-loop包含了进来。那什么是可解释推荐系统呢?

可解释推荐系统是:

1. 给用户推荐可能会被该用户喜欢的产品

2. 并为给出的推荐作出合理的解释

这里所给出的解释来自于哪里?推荐系统的可解释性又可以分为model-intrinsic和model-agnostic。因此解释可以来自模型本身,这类模型在设计推荐算法的时候就已经是一个可解释的过程了。解释也可以是重新建立一个解释模型,用于对已经训练好的推荐模型进行model-agnostic,也称post-hoc的解释。

后文主要讨论post-hoc的解释,接下来讲一下解释角度。

2. 解释角度?

关于解释角度,或者说是解释内容,也有不同的选择。在给一个推荐item做解释的时候,可以从不同的角度出发,比如可以是相似的user或是item,作为推荐的原因;也可以是feature-based,也就是推荐的item的某个特征可能受user喜欢,等等方法...

 

 

1. Relevant User or Item Explanation(我觉得也可以起名叫interaction-based,总之是一个比较粗粒度的,user或item level的)

这个主要是CF-based Recommendation可以给出的解释形式。比方说一个item被推荐,如果是relevant user就是说其他和你比较像的用户对这几个item的评分很高,而如果是relevant item则是你过去购买的item和这个很像。

优点:item based要比user based接受度更高,因为item是用户历史交互过的,更加熟悉。

2. Feature based

这个主要是Content-based Recommendation比较直观可以给出的解释形式。也分为两种:item和user这两方面的。

(1)对于item而言,比方说电影的feature有类别、演员,或者导演,又比如书籍的feature可以是种类、价格,或者作者。一般情况下feature-based的解释是通过给user展示和user profile匹配的feature。

(2)对于user而言,就可以这么解释:和你同龄段的80%的人都买了这个item,所以给你推荐了它。

展现形式大致有三种:tags,radar,demographic。其中tags和radar可以用来展示item-based,而demographic一般以文字的形式展示user-based。

优点:用户更好接受,而且可以帮助提升推荐系统的effectiveness;此外也有研究显示用户对于推荐系统的trust和satisfaction和解释是highly correlated的。

3. opinion-based

这个属于是item-based,只不过用于解释推荐item的feature并不是直接来自于产品标明的信息,而是来自于不同用户们这个item的review。这个收集数据的耗费比较大,对大部分数据集不是很友好。比如说,可以给出word cloud,其中word的大小和sentiment成比例。

4. sentence-based

这个也同样属于是item-based,有两种表达方式:(1)template-based (2)generated-based

(1)template-based  

(2)generation-based

这两个的都可以在原文中找到。

优点:Based on user studies, it shows that providing both recommendation and dis-recommendation explanations improve the persuasiveness and conversion rate of recommender systems.

5. visual explaination

这个相当于把item的图片给放出来,然后会显示在推荐过程中起作用的部分是什么。比如说在那种全套衣物推荐的场景下,给一个上衣的图,然后通过一个训练好的CNN-based的推荐模型,会输出推荐的几个下装,并输出每个推荐的解释。每个推荐的解释是看每个pixel对最后输出的贡献,贡献大的说明对推荐结果起了比较大的作用。并且这种解释是personalized,对于不同的user,同一个推荐的item可能会输出不同的解释。

6. social explanation

这个是最开头说的user-based的另一种形式,借助social network给出解释的方法。比如说,“你的多少个朋友也购买了这个item,所以给你推荐了这个item。”

优点: significantly increased the likelihood of the user acceptance, the user satisfaction, and the system efficiency to help users make decisions.

总结

从解释角度来分类,可以简单划分为user-based和item-based。其中user-based可以是interaction-based,feature-based,或是social relation based。另外item-based可以是interaction-based,feature-based(tags,radar),opinion-based,和visual based

3. 生成解释的方法

前面说过,解释形式主要分为model-intrinsic和model-agnostic。在这个章节里作者先介绍了model-intrinsic的,包括MF(point-wise, pair-wise, list-wise),deep learning和representation learning包括deep&wide network,sequential recommendation,autoencoders, 等等。这些model-intrinsic又叫model-based的方法,是在设计模型的时候,就将解释性考虑在内。

  • model-based explanation

1. factorization models for explainable recommendation

基于MF或FM的推荐模型要如何给出推荐的解释呢?首先这类模型都会对用户和产品在同一隐空间(latent space)进行建模。如果不对隐空间的每个维度进行产品特征的对应的话,就只能通过interaction-based的解释方法进行。而如果对隐空间的维度赋予显式的特征的话,就可以给出feature-based的解释。比如说“这个产品会推荐给你是因为你对【某个特征】比较感兴趣,而这个产品在【某个特征】表现的很好”。

2. topic modeling for explainable recommendation

通过textual信息,可以给出word clouds形式的解释。这个对应到前文所讲的opinion-based和sentence-based这些通过用户的评价来建模item feature的解释角度。

3. graph-based models for explainable recommendation

这个也是CF method的一种,每个user和item有自己的表示,可以给出interaction-based中user-based或item-based的其中任意一种。

4. deep learning for explainable recommendation

深度学习的模型种类繁多,包括CNN,RNN/LSTM等等。一般基于深度学习的方法都是将推荐和自然语言处理结合在一起,通过用户的review来提出item的feature,进而进一步为推荐作出feature-based或是tags或是sentence-based的解释

5. knowledge graph-based explainable recommendation

优点:help generate intuitive and more tailored explanations for the recommended items

相关工作有,

(1)同时为item和KG的entities做ranking的,也就是做出推荐的同时能够给出解释。

(2)学习KG的embedding,首先构建一个knowledge graph,其中的节点包括user,item和其他entities例如user review里出现的word,或者item的category等等。那么这个KG的embedding怎么学呢?就通过graph-based method学出每个entity的embedding。在为用户推荐的时候,先找到“purchase”这个关系下最相似的item,然后解释就可以通过寻找KG上最短的路径作出解释。

(3)在sequential recommendation setting下引入KG。通过Memory network捕捉user对item不同attribute-level的偏好,最后结合RNN学出来的user preference和memory network学出来的attribute-level的user preference,成为最终的user preference。

(4)KG可以帮助解释的生成,可以在一个推荐模型的训练过程中,同时加入一个KG路径的正则项,使得推荐模型更加具有可解释性。

6. rule mining for explainable recommendation

优点:这种rule mining的可以给出非常直观的解释。

  • model-agnostic explanation

model-agnostic explanation又称post-hoc explanation。与model-based这种同时给出推荐和解释的方法不同,post-hoc是用推荐模型给出推荐列表后,用另一个解释模型生成的解释,与生成推荐的模型是独立分开的。

经过一些很复杂的推荐模型拿到给用户的推荐列表后,我们可以利用

(1)统计信息,作为解释,比如,“有70%的你的朋友购买了这个item,所以给你推荐了它”。通常这种基于统计信息的,都会给固定的template来展示。

(2)association rule mining的方法,首先对于一个推荐模型,收集到所有user的history和推荐的列表,并对他们提取association rules,比方说“因为你观看了X,所以我们给你推荐了Y”。如果一个item同时能够被这个association rule推荐,也能够被推荐模型推荐,就认为这个item的推荐是可解释的。

(3)还有借助强化学习生成post-hoc explanation的方法。在这里推荐模型相当于是环境的一部分,而智能体的决策是生成推荐列表的解释,并且基于这个解释能够正确预测出推荐列表。

(4)还有使用influence analysis的,这个相当于找到最起作用的input是什么。比方给了一个用户的历史序列,然后推荐模型输出了推荐列表。在这里,我们要找的解释就是找到对推荐结果最起作用的历史交互。

总之,post-hoc的一大优点是,有比较强的灵活度,能够运用在各种不同的推荐模型上。

 

 

posted @ 2022-05-15 17:07  lxyhaha  阅读(523)  评论(0)    收藏  举报