写点什么

转转推荐场景 EE 题解决思路

  • 2022-10-13
    北京
  • 本文字数:1762 字

    阅读完需:约 6 分钟

转转推荐场景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),更多干货实践,欢迎交流分享~

发布于: 刚刚阅读数: 3
用户头像

还未添加个人签名 2019-04-30 加入

转转研发中心及业界小伙伴们的技术学习交流平台,定期分享一线的实战经验及业界前沿的技术话题。 关注公众号「转转技术」,各种干货实践,欢迎交流分享~

评论

发布
暂无评论
转转推荐场景EE题解决思路_深度学习_转转技术团队_InfoQ写作社区