从用户反馈的可解释性提升推荐模型

当我们在做推荐系统模型时,有考虑过模型推荐结果的可解释性吗?比方说推荐系统给用户推荐了item A,并在推荐结果后标明该用户最要好的朋友喜欢item A,或者和该用户有着相似兴趣(协同过滤)的人喜欢A,这使得推荐结果非常透明且具有说服力,能够提升用户的接受度.这篇论文<Learning from User Feedback on Explanations to Improve Recommender Models>就从可解释性出发,提出了一个新的框架ELIXIR,来提升推荐系统的效果.

简介

推荐要得到用户的信任,就要让用户理解到当前推荐结果是和之前行为(搜索,点击,喜欢,评论等)有着关联,这样用户就可以对推荐结果给出肯定或反对的反馈,从而影响下一次的推荐结果.这篇论文就是通过一个Active Learning的框架,通过用户在可解释性的推荐结果上的行为线索,提升推荐效果.如下图所示,Alice收到一个电影推荐Fight Club,基于历史观看和item2item,该推荐结果伴随着3个相关的电影(Alice之前喜欢的),出于以下原因:

  • exp1 有着喜欢的演员
  • exp2 结局有惊喜
  • exp3 有着暴力的内容

v2-dd7aa503426e1c1d10e136448e70b8e7_b.jpg

我们看到alice喜欢前两部推荐的电影不喜欢包含暴力内容的推荐,当给予alice有解释性的推荐结果后,alice会给出不同类型的反馈结果,这就是推荐系统需要学习的.不过Alice也可能不喜欢推荐系统的解释,也有可能她之前这些电影都喜欢,现在不喜欢了,这也会使得推荐系统更加"困惑".如果alice能告诉推荐系统她喜欢演员Brad Pitt,喜欢有惊喜的结局和讨厌暴力,然而现实是用户不愿意花时间去填写这种信息.这篇论文就是探讨如何使用用户在可解释推荐结果的反馈.主要有以下两个问题:

  • 反馈:如何引导用户在可解释性的推荐结果上做反馈,而不给用户增加负担?
  • 可行性:如何使用这些反馈,影响用户的下一次推荐?

该文提出的方法给用户两个反馈的选择,对可解释的与推荐item相关的的选择喜欢/不喜欢,这样就能形成推荐和可解释item的pair对<rec, exp>.需要注意的是,用户对exp的item需要非常熟悉,并且这种反馈方式让用户体验非常好,不用思考rec和exp之间的关联,而且能产生大量<rec,exp>的pairs.有了这些pairs就可以构建user-feedback矩阵了,该矩阵不可避免是稀疏的.为了解决这个问题论文还做了数据增强,用LSH为每个<rec,exp>pair找最近邻扩充样本.该论文提出的核心方法就是通过用户反馈矩阵和先验的相似度矩阵学习用户潜在的向量.

ELIXIR框架

首先定义所有的items集合I = {v1, v2, ..., v|i|},和用户历史交互Hu, 以往的推荐系统只用了用户历史交互数据Hu,该框架使用了pair-level的用户反馈Fu = {-1, 0, +1}|I|*|I|,Fu(vi, vj)表示用户u推荐的vi和可解释的item vj, 1表示喜欢它们之间的相似度,0表示没反馈,-1表示不喜欢他们之间的相似度.

因为item极为稀疏,所以该文在图上使用了label propagation(LP) algorithm去缓解数据稀疏,节点表示items,边表示item之间的相似度,假节点vij表示有标签的pair对<vi, vj>, Fu(vi, vj) != 0,并有下式:

v2-61485880319e733c7a0833647fa85d92_b.jpg

vi向量表示物品i的特征,vij的向量表示两物品的几何平均.然后我们就可以为这样的假节点使用cos相似度寻找k近邻.最终我们就要优化下式:

v2-85ce51312625ea2c7fa4855356b538ce_b.jpg

生成推荐结果:该文使用了RECWALK,一个基于随机游走的方法,该模型的输入是一个异质图。

v2-86f185c3746542d5dbf136cf13a4ea8a_b.jpg

v2-8536aef4a0c83bff3017872b91016bde_b.jpg

v2-559ff3f1c9b7795a347fe7e3a33e6568_b.jpg

节点有两种类型,用户和item,边表达了用户和item的关系和item之间的相似度.

v2-744558dba13f97acaeb28c34c52e15d8_b.jpg

v2-02653f956bfe213216a08efff03ca34f_b.jpg

在RECWALK中,为用户u推荐item vi的分数由下式计算, PPR(u, vi)表示个性化的pagerank分:

v2-ff3ad93920d3fe13261cb9e5b92868c1_b.jpg

alpha表示restart概率,eu向量表示用户one-hot向量,beta表示走一条边的概率,由上式我们可以看到,一次游走有1-alpha的概率返回用户节点u ,item中PPR(u,v)分最高的将被推荐给用户u.

生成exp

rec已经被选出推荐给用户u,Item-level的exp推荐用了PRINCE算法.我们需要计算每个exp的item对推荐rec的贡献度,找出topk贡献度的作为exp,如下式所示:

v2-eedd1492f267fc80aaf2a8942ce900f6_b.jpg

在RECWALK,item之间相似度用矩阵S显示表达:

v2-ef20696b3fb591bff2fff2634ba2334a_b.jpg

为了包含用户反馈Fu,式(2)引入了用户向量矩阵wu,式(2)中的g将item的统一向量表达转变成了用户表达:

v2-e70df8abf89ad670621d10d167c037e7_b.jpg

代入到式(2)就是:

v2-32792e83209c36ac51e4b08f2823a2e0_b.jpg

最终我们的推荐模型如下:

v2-02fa3f7638e42e47f862c2ac3abcb222_b.jpg

从实验看,融合用户反馈的方法的推荐离线指标还是不错的,更多细节参考原文.

v2-581b76db39e755fd0019e2977f6d2d07_b.jpg

参考文献:

ELIXIR: Learning from User Feedback on Explanations to Improve Recommender Models

从用户反馈的可解释性提升推荐模型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值