转转推荐场景 EE 题解决思路
1 引言
推荐系统的目标主要包含两个方面:Exploitation 和 Exploration
在 Exploitation 中最重要的是 Relevance ( 相关性 ) 的计算,其根本思想是根据用户浏览、观看和收藏的内容等用户行为数据推测该用户可能采取的行动。常见的推荐算法大多是基于针对该目标的优化而展开的。 然而用户行为数据在现实中很可能过少、不足以全面地体现用户的兴趣。这一现象在冷启动等场景中很常见。此时推荐系统还有责任挖掘用户尚未表现出的兴趣,并且避免由于现有行为数据过少而导致推送内容相似性过高的情况。这就需要引入 Exploration。
2 Exploitation
排序环节中相关性探索目前主要以 debias 为主。
2.1 bias
引起模型 bias 的原因很多,主要包括:
selection bias
用户普遍倾向于自己喜欢或者讨厌的 item 进行评价,比如豆瓣评分。
exposure bias(sample selection bias)
用户只能看到曝光的 item 并产生交互,但数据中没交互的 item 不代表用户不喜欢,可能是没曝光,这一点不好区分。
1)推荐系统决定了展现哪些 items 给用户
2)用户主动找到搜索找到感兴趣的项目
3)用户自身的背景。朋友、地理位置等
4)热门的 items 更容易被用户看到
conformity bias
用户行为会受到他人影响,我们观测到的并不一定是用户真实偏好。 用户偏向于和集体喜好一致,用户看到大众统计数据之前和之后,行为分布有很大不同。
position bias
用户在不同位置上的交互倾向和点击偏好不同。
用户趋向于选择排位靠前的 items,因此实际发生交互的 item 并不一定相关性很强。
许多场景也倾向于将盈利高而用户兴趣较低的 item 放在前面吸引用户点击,以提升相关 item 的交互行为,如某度。
2.2 解决方案
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)
3 Exploration
此部分通常会被归为重排序阶段,目前以解决多样性为主。
行列式点过程 DPP 算法(Fast Greedy MAP Inference for Determinantal Point Process to Improve Recommendation Diversity,NIPS2018)认为如果两个商品的相似性过高,用户可能点击一个之后对另一个的点击需求就会下降。
通过构建矩阵来计算每一个子集的行列式值,该值可以理解为用户对推荐列表的满意程度,受到相关性和多样性两个因素的影响。
矩阵可以表示为
LY=(LiiLijLjiLjj)
矩阵元素构建如下:
LXii=qXiX2
LXij=α⋅qXi⋅qXj⋅exp(−DXij2σX2)
其中 qXi 为相关性指标,DXij 为多样性指标。
qXi≈p(yXi=1|feature of item i)
DXij=distance(item i,item j)∈[0,+∞)
、α、σ为超参,当α处于 0 到 1 之间且α变小时,相当于我们整个行列式值被缩小,所以多样性变好;相反,α大于 1 且变大时,多样性变差;alpha=1 时为标准高斯径向基函数。
该问题的求解明显是个 NP-hard 问题,因此可用贪婪算法进行求解。
同时由于 LXY 是半正定矩阵,因此可以通过矩阵分解得:
LXY=VVXT
其中 V 是下三角矩阵。
通过以上优化,每次逐步增加一个 item,进而获得最终的推荐列表,使得整体求解复杂度从 O(yX3)成功降到了 O(y),但实际计算中需保证 LXY 矩阵的半正定,论文中给出的方法是若 L 的特征值为负值,则将该值替换为 0。具体求解过程如下:
盈利场景则会综合考虑每个 item 的盈利信息,具体可参考转转商业化OCPC产品护航之路
4 总结
bias 类型很多,但是并不是所有的 bias 都需要去除,例如电商场景下的流行度这种本身就会影响用户点击的 bias,但是这种分析方法能够引导我们更好的进行特征挖掘和目标优化;多样性表面上看会降低推荐列表的相关性,但从实验结果上来看,反倒会对业务指标有促进作用,说明用户对多样性还是有很大的需求。
> 转转研发中心及业界小伙伴们的技术学习交流平台,定期分享一线的实战经验及业界前沿的技术话题。
> 关注公众号「转转技术」(综合性)、「大转转FE」(专注于FE)、「转转QA」(专注于QA),更多干货实践,欢迎交流分享~
版权声明: 本文为 InfoQ 作者【转转技术团队】的原创文章。
原文链接:【http://xie.infoq.cn/article/20265ba0da98d8bc22333cbb2】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论