转转推荐场景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)认为如果两个商品的相似性过高,用户可能点击一个之后对另一个的点击需求就会下降。

通过构建矩阵来计算每一个子集的行列式值,该值可以理解为用户对推荐列表的满意程度,受到相关性和多样性两个因素的影响。

矩阵可以表示为
L Y = ( L i i L i j L j i L j j ) L_Y = \begin{pmatrix} L_{ii} & L_{ij} \\ L_{ji} & L_{jj} \\ \end{pmatrix} LY=(LiiLjiLijLjj)
矩阵元素构建如下:

KaTeX parse error: Undefined control sequence: \ce at position 1: \̲c̲e̲{L_{ii} = q_i^2…

KaTeX parse error: Undefined control sequence: \ce at position 1: \̲c̲e̲{L_{ij} = {\alp…

其中KaTeX parse error: Undefined control sequence: \ce at position 1: \̲c̲e̲{q_i}为相关性指标,KaTeX parse error: Undefined control sequence: \ce at position 1: \̲c̲e̲{D_{ij}}为多样性指标。

KaTeX parse error: Undefined control sequence: \ce at position 1: \̲c̲e̲{q_i \approx p(…

KaTeX parse error: Undefined control sequence: \ce at position 1: \̲c̲e̲{D_{ij} = dista…

KaTeX parse error: Undefined control sequence: \ce at position 1: \̲c̲e̲{\alpha、\sigma}为超参,当KaTeX parse error: Undefined control sequence: \ce at position 1: \̲c̲e̲{\alpha}处于0到1之间且KaTeX parse error: Undefined control sequence: \ce at position 1: \̲c̲e̲{\alpha}变小时,相当于我们整个行列式值被缩小,所以多样性变好;相反,KaTeX parse error: Undefined control sequence: \ce at position 1: \̲c̲e̲{\alpha}大于1且变大时,多样性变差;alpha=1时为标准高斯径向基函数。

该问题的求解明显是个NP-hard问题,因此可用贪婪算法进行求解。

同时由于KaTeX parse error: Undefined control sequence: \ce at position 1: \̲c̲e̲{L_Y}是半正定矩阵,因此可以通过矩阵分解得:

KaTeX parse error: Undefined control sequence: \ce at position 1: \̲c̲e̲{L_Y=VV^T}

其中KaTeX parse error: Undefined control sequence: \ce at position 1: \̲c̲e̲{V}是下三角矩阵。

通过以上优化,每次逐步增加一个item,进而获得最终的推荐列表,使得整体求解复杂度从KaTeX parse error: Undefined control sequence: \ce at position 1: \̲c̲e̲{O(y^3)}成功降到了KaTeX parse error: Undefined control sequence: \ce at position 1: \̲c̲e̲{O(y)},但实际计算中需保证KaTeX parse error: Undefined control sequence: \ce at position 1: \̲c̲e̲{L_Y}矩阵的半正定,论文中给出的方法是若L的特征值为负值,则将该值替换为0。具体求解过程如下:

盈利场景则会综合考虑每个item的盈利信息,具体可参考转转商业化OCPC产品护航之路

4 总结

bias类型很多,但是并不是所有的bias都需要去除,例如电商场景下的流行度这种本身就会影响用户点击的bias,但是这种分析方法能够引导我们更好的进行特征挖掘和目标优化;多样性表面上看会降低推荐列表的相关性,但从实验结果上来看,反倒会对业务指标有促进作用,说明用户对多样性还是有很大的需求。

转转研发中心及业界小伙伴们的技术学习交流平台,定期分享一线的实战经验及业界前沿的技术话题。
关注公众号「转转技术」(综合性)、「大转转FE」(专注于FE)、「转转QA」(专注于QA),更多干货实践,欢迎交流分享~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值