Review: Model User Exposure in Recommender

简介

对于解决implicit data recommendation的问题,最主要要难点是,user-item matrix只有0-1的信息,并且我们inference user preference的时候,我们必须要用到0的信息。但是我们不知道数值为0的item到底是真的用户不喜欢/不点击,还是这个item压根就没有被没有被推荐给用户。很多老的方法没有考虑这点,单纯的假设所有0的信息代表物品被推荐了但是用户不喜欢,或者目前很多已有的方法,downweight这些这些的数据的影响。
但是我们还是不知道不清楚这部分0的信息。到底是用户真的不喜欢用户根本没看见这些物品?

方法

作者从一个新的角度出发,在原有的MF基础上增加了一层latent exposure v
variable来对物品有没有被exposed to user建模,来帮助更好地理解0这部分信息的来源,例如:为什么这些数据没有被点击?到底是真不喜欢还是没有被暴露给用户?
原有的MF是由user-peferences和item-attribues两个laten factors组成, 他们和Exposure latent variable来共影响user-item里面最终的y值。下面重点介绍exposure model的部分。
当exposure variable a=0的时候,意味着当前的物品根本没有暴露给, 所以这个物品在user-tem的matrix里面的值一定是0, 因为user根本都没见过这个物品。
当a=1的时候,意味着当前的物品已经被暴露给了用户,那么用户如果喜欢的话,user-iem matrix所储存的值为1,如果不喜欢的话,user-item matrix所储存的值为0。

公式介绍

θ u N ( 0 , λ θ 1 I K ) \theta_u \sim N(0, \lambda^{-1}_{\theta}I_K)
β i N ( 0 , λ β 1 I K ) \beta_i \sim N(0, \lambda^{-1}_{\beta}I_K)
a u i B e r n o u l l i ( u u i ) a_{ui} \sim Bernoulli(u_{ui})
y u i a u i = 1 N ( θ T β i , λ y 1 ) y_{ui}|a_{ui} = 1 \sim N(\theta^{T}\beta_i, \lambda^{-1}_y)
y u i a u i = 0 σ 0 y_{ui}|a_{ui} = 0 \sim \sigma_0

The joint probability of exposures and clicks for user u and item I
l o g p ( a u i , y u i u u i , θ u , β i , λ y 1 ) = l o g B e r n o u l l i ( a u i u u i ) + a u i l o g N ( y u i θ u T β i , λ y 1 ) + ( 1 a u i ) l o g I [ y u i = 0 ] \begin{aligned} logp(a_{ui}, y_{ui}|u_{ui}, \theta_u, \beta_i, \lambda^{-1}_y) & = logBernoulli(a_{ui}|u_{ui}) + a_{ui}logN(y_{ui}|\theta^T_u \beta_i, \lambda^{-1}_y)\\ &+(1-a_{ui})logI[y_{ui}=0] \end{aligned}

最简单的裂解:
当预测的用户对物品的喜好程度高的时候,通过观察 N ( y u i = 0 θ T β i , λ 1 ) N(y_{ui}=0|\theta^T \beta_i, \lambda^{-1}) 的值会很小,最终会降低a=1的可能。所以最后的joint probability l o g p ( a = 1 , y = 0 ) logp(a=1, y=0)会很小 (~log p(a=1|y=0)),意味着物品暴露给用户的可能会很小,所以这部分0应该理解成item还没有被暴露给用户。

当y>0时, 用户一定点击/喜欢这个物品,所以物品一定被暴露过给用户。
当y=0时,这个时候 a u i a_{ui} 是隐藏变量。

延伸

作者发现,如果我们对latent exposure variable的prior做一些改动,改动后的模型会更好的帮助模型获取0这部分的信息。例如在餐馆的推荐上或者是文档推荐中,如果我们把位置信息或者文档topic的信息加入进模型,会得到更好的效果。
甚者有两篇基于这个理论,把social network的信息加入到模型中能过更好地给出推荐信息。如果有兴趣可以读下面这两篇

小结
data 全部为implicit data 不包括任何的 explicit data
这里用到的metric有:Recall@K, MAP@k, NDCG@k

[1]Modeling User Exposure in Recommendation
[2]Collaborative Filtering with Social Exposure: A Modular Approach to Social Recommendation
[3]Modeling Users’ Exposure with Social Knowledge Influence and Consumption Influence for Recommendation

猜你喜欢

转载自blog.csdn.net/weixin_32334291/article/details/88084339
今日推荐