1 引言
2 Exploitation
2.1 bias
2.2解决方案
3 Exploration
4 总结
推荐系统的目标主要包含两个方面:Exploitation 和 Exploration
在Exploitation中最重要的是 Relevance ( 相关性 ) 的计算,其根本思想是根据用户浏览、观看和收藏的内容等用户行为数据推测该用户可能采取的行动。常见的推荐算法大多是基于针对该目标的优化而展开的。然而用户行为数据在现实中很可能过少、不足以全面地体现用户的兴趣。这一现象在冷启动等场景中很常见。此时推荐系统还有责任挖掘用户尚未表现出的兴趣,并且避免由于现有行为数据过少而导致推送内容相似性过高的情况。这就需要引入Exploration。
排序环节中相关性探索目前主要以debias为主。
引起模型bias的原因很多,主要包括:
selection bias
用户普遍倾向于自己喜欢或者讨厌的item进行评价,比如豆瓣评分。
exposure bias(sample selection bias)
用户只能看到曝光的item并产生交互,但数据中没交互的item不代表用户不喜欢,可能是没曝光,这一点不好区分。
conformity bias
用户行为会受到他人影响,我们观测到的并不一定是用户真实偏好。用户偏向于和集体喜好一致,用户看到大众统计数据之前和之后,行为分布有很大不同。
position bias
用户在不同位置上的交互倾向和点击偏好不同。
用户趋向于选择排位靠前的 items,因此实际发生交互的 item 并不一定相关性很强。
许多场景也倾向于将盈利高而用户兴趣较低的item放在前面吸引用户点击,以提升相关item的交互行为,如某度。
1)特征输入
以position bias为例,在训练时将 position 当作一个特征进行输入,在预测时以一个默认值进行输入,即假设所有item出现在同一位置预测点击率,对比用户偏好。
2)bias Tower
单独设置一个shallow tower(Youtube Recsys19)来预测偏置,输入的特征是一些与偏置相关的特征。在最后的 sigmoid 前,将shallow tower的输出结果加到logit中,线上预估时位置偏差特征取值为missing。
3)贪婪算法
在预测时将每个item在所有位置都预测一次,再通过贪婪算法寻求最优组合(Deep Position-wise Interaction Network,SIGIR 2021)
此部分通常会被归为重排序阶段,目前以解决多样性为主。
行列式点过程DPP算法(Fast Greedy MAP Inference for Determinantal Point Process to Improve Recommendation Diversity,NIPS2018)认为如果两个商品的相似性过高,用户可能点击一个之后对另一个的点击需求就会下降。
通过构建矩阵来计算每一个子集的行列式值,该值可以理解为用户对推荐列表的满意程度,受到相关性和多样性两个因素的影响。
矩阵可以表示为
矩阵元素构建如下:
其中为相关性指标,为多样性指标。
为超参,当处于0到1之间且变小时,相当于我们整个行列式值被缩小,所以多样性变好;相反,大于1且变大时,多样性变差;alpha=1时为标准高斯径向基函数。
该问题的求解明显是个NP-hard问题,因此可用贪婪算法进行求解。
同时由于是半正定矩阵,因此可以通过矩阵分解得:
其中是下三角矩阵。
通过以上优化,每次逐步增加一个item,进而获得最终的推荐列表,使得整体求解复杂度从成功降到了,但实际计算中需保证矩阵的半正定,论文中给出的方法是若L的特征值为负值,则将该值替换为0。具体求解过程如下:
盈利场景则会综合考虑每个item的盈利信息,具体可参考转转商业化OCPC产品护航之路
bias类型很多,但是并不是所有的bias都需要去除,例如电商场景下的流行度这种本身就会影响用户点击的bias,但是这种分析方法能够引导我们更好的进行特征挖掘和目标优化;多样性表面上看会降低推荐列表的相关性,但从实验结果上来看,反倒会对业务指标有促进作用,说明用户对多样性还是有很大的需求。