User-controllable Recommendation Against Filter Bubbles 阅读笔记

13 篇文章 2 订阅
10 篇文章 0 订阅

摘要

推荐系统通常面临filter bubbles的问题:基于用户特征和历史交互过度推荐同类项目。过滤气泡会沿着反馈循环增长,并在不经意间缩小用户兴趣。现有的工作通常通过结合除准确性之外的目标(例如多样性和公平性)来减轻过滤器泡沫。但是,它们通常会牺牲准确性,损害模型保真度和用户体验。

更糟糕的是,用户不得不被动地接受推荐策略,并以低效且高延迟的方式影响系统,例如,不断提供反馈(例如,喜欢和不喜欢),直到系统识别出用户意图。

【补充】关于Filter bubbles:就是说,由于模型的推荐是基于过往的交互历史,所以生成的推荐被局限于某几种类别,也叫信息茧房

这项工作提出了一种新的推荐器原型,称为 User Controllable Recommender System (UCRS),它使用户能够主动控制过滤器气泡的缓解。从功能上讲,

  1. UCRS 可以在用户深陷过滤气泡时发出警报。

  2. UCRS 支持四种用户控制命令,以缓解不同粒度的气泡。

  3. UCRS 可以响应控制并即时调整建议。调整的关键在于阻止过时的用户表示对推荐的影响,其中包含与控制命令不一致的历史信息。因此,我们开发了一个因果增强的用户可控推理(UCI)框架,该框架可以在推理阶段根据用户控制快速修改推荐,并利用反事实推理来减轻过时用户表示的影响。

在三个数据集上的实验验证了 UCI 框架可以有效地根据用户控制推荐更多想要的项目,显示出有希望的性能:准确性和多样性

方法

1. Formulation of UCRS

模型由2个控制器,分别控制项目特征(比如电影类型)和用户特征(性别、年龄组),其中每个控制器分为粗细两个粒度。
首先,文章的符号系统:
D,R: 历史交互记录, 做出的推荐;
传统推荐系统做的事:计算 P ( R ∣ D ) P(R|D) P(RD); 这篇文章加上了一些干预 d o ( C ) do(C) do(C),也就变成了 P ( R ∣ D , d o ( C ) P(R|D, do(C) P(RD,do(C)
接下来以用户特征的控制器为例:
如何表示用户: x u = [ x u 1 , x u 2 , … , x u N ] , x u i ∈ ( 0 , 1 ) x_u=[x_u^1, x_u^2,\dots ,x_u^N],x_u^i\in{(0,1)} xu=[xu1,xu2,,xuN],xui(0,1)
列出所有特征,比如只有性别这一特征,那么 x u 1 x_u^1 xu1表示male, x u 2 x_u^2 xu2表示female, 那么 x u = [ 0 , 1 ] x_u=[0,1] xu=[0,1]表示一个female user.

细粒度:

P ( R ∣ D , d o ( C ) , C = c u ( + x ^ , α ) P(R|D, do(C) ,C=c_u(+\hat x,\alpha) P(RD,do(C),C=cu(+x^,α)
C是一个控制指令,去显示更多“其他组别”喜欢的项目,可以把c_u当作补集, x ^ \hat x x^是当前用户 u u u没有的特征( x u i = 0 x_u^i=0 xui=0),比如上述例子的male属性; α \alpha α是调节强度的系数。

粗粒度:

然而,用户可能只是想减轻过滤气泡而不是喜欢其他组别的项目,一些用户可能也不知道哪个用户群有吸引力,所以加入粗粒度的控制器。比如30岁的用户可能不喜欢受到Age=30这个限制条件的推荐,所以这里 C = c u ( − x ‾ , α ) C=c_u(-\overline x,\alpha) C=cu(x,α) x ‾ u = 1 \overline x_u=1 xu=1,即减少用户自己特征的强度。

项目方面同上

2. Instantiation of UCRS

过滤气泡检测

刚刚提到了过滤气泡,那么自然需要一个机制来检测过滤气泡。文章用了几个指标来判别:
1):覆盖范围。过滤气泡通常会降低推荐项目的多样性,因此我们采用了一个广泛采用的多样性指标:覆盖率,它计算推荐列表中项目类别的数量 。
2):隔离指数。除了基于多样性的指标外,我们还提出了隔离指数来衡量不同用户群体之间的隔离。在这里,我们针对推荐任务对其进行了修改。
在这里插入图片描述
I I I: item set;
a i , b i a_i,b_i ai,bi: group a , b a,b a,b中受到了item i i i推荐的人数;
a n a_n an: ∑ i ∈ I a i \sum_{i\in I}a_i iIai

3):多数类别支配。隔离指数更适合衡量群体隔离,即用户特征(例如,年龄和性别)。至于过滤气泡,即项目特征,我们可以利用 MCD 获得历史最大项目类别在推荐列表中的比例

生成推荐的因果观点

在这里插入图片描述
如图所示,我们通过因果图分析推荐的生成过程。具体来说,对于大多数模型(例如 FM ),推荐训练从交互中学习用户表示,包括 ID、年龄和性别的表示。此后,用户和项目 的表示用于预测用户偏好项目的概率。
具体来说, Y u , i Y_{u,i} Yu,i是由个体ID和多个群组特征的偏好得分融合而成,其中群组偏好由对应用户群组中的用户共享。

这里的过程比较复杂,就是说用户的ID表示和组特征的表示存在相关性,因为都是由交互信息而来,那么在进行粗粒度控制时,尽管改变/丢弃了组特征(年龄性别这种),但用户的ID编码里还混杂了有原来的特征兴趣,所以为了消除这个混杂效应(涉及因果的知识吧?),流行的方法是混杂平衡、后门/前门调整。但是由于balabala这三种方法都不可行,所以作者考虑直接减少用户id表示在预测中的影响。

那么该如何减少?假设 u ^ \hat u u^是没有用户id的表示,这样的预测分为 Y u ^ , i Y_{\hat u, i} Yu^,i,正常含有用户id的表示(Embeddng)得到的预测分是 Y u , i Y_{u,i} Yu,i. 可以把id的影响表示为: Y u , i − Y u ^ , i Y_{u,i}-Y_{\hat u, i} Yu,iYu^,i,因此:
在这里插入图片描述
用一个系数 α \alpha α控制,减去这个影响。

然后还有关于项目粒度的控制,如何反馈?
Y u , i ′ = Y u , i + β ⋅ r ( i ) Y_{u,i}^{\prime} = Y_{u,i}+\beta \cdot r(i) Yu,i=Yu,i+βr(i)
β \beta β是控制强度的系数,r(i)是:
在这里插入图片描述
可以看到r是个常数,相当于扩大\归零beta的大小,取决于用户是否想要更多的推荐种类。

预测

在这里插入图片描述

先按用户交互时间排序,然后分为两部分,这两部分分别有各自的属性分布,可以理解为前半部分和后半部分,分别是近期/以前的偏好,然后在这两个分布直接加一层MLP,目的有2个:第一,捕获临时兴趣;第二,捕获特征间的关系。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值