RecSys - Bootstrapping Recommendations at Chrome Web Store(KDD2021)

Google: Bootstrapping Recommendations at Chrome Web Store(KDD2021)

1. Introduction

业务场景:
  Google Chrome 中 Chrome Web Store,推荐浏览器第三方插件(以下以item代称)

任务:
  在现实数据中,从零开始搭建大规模推荐系统

困难:
  不同于学术研究中已处理好的数据,现实中通常面临隐私限制、数据分布不均、数据稀疏等问题

contributions:
  1.设计了快速可解释非个性化神经网络排序模型(non-personalized recommendation),有助于从零开始的推荐系统进行数据和特征分析,从而实现快速训练和推断,为后续更先进的模型快速迭代铺路
  2.设计了相关推荐模型(related extension recommendations),利用新的item-item based算法,解决现实数据问题
  3.结合前两种模型,设计了个性化推荐模型(personalized recommen- dations),有效缩短开发周期,并规避了业务面临的困难

2. non-personalized recommendation

目的:快速构建打通pipeline,帮助端到端推荐更快实现,并更易分析解决机器学习模型问题
负责业务:面向未登录用户推荐猜喜

2.1 模型架构

数据:
(input)每个item构建为k-dim向量 x
(input)简单的上下文特征 q,如浏览器设置的地区、语言
(label)对当前item的操作(1-点击,2-安装,0-otherwise)

模型:
  Neural RankGAM:从零开始搭建推荐系统过程中,为了方便迭代,选择训练可解释的generalized additive models (GAMs)。为每个特征单独构建子模型,再将子模型输出的和作为预测结果 y ^ = f ( x ) = ∑ j f j ( x j ) \hat{y}=f(\bold{x})=\sum_{j}f_{j}(x_{j}) y^=f(x)=jfj(xj)
  Neural RankGAM+:引入简单的上下文特征 y ^ = f ( q , x ) = ∑ j w j ( q ) f j ( x j ) \hat{y}=f(\bold{q,x})=\sum_{j}w_{j}(\bold{q})f_{j}(x_{j}) y^=f(q,x)=jwj(q)fj(xj)

2.2 改进

case:线上落败
原因:线上线下数据分布差异,线上候选集为整个item空间,而训练主要针对最热item
可选方案:对训练数据加权等;增加候选filter,对线上item只推荐训练数据中高频出现的item

3. related extension recommendations

面向业务:推荐当前item的相似扩展item

3.1 尝试1:pointwise mutual information (PMI)

  对于任意两个item,计算其pointwise mutual information (PMI)(类似于item共现分)

   P M I ( e 1 , e 2 ) = N # ( e 1 , e 2 ) # ( e 1 ) # ( e 2 ) PMI(e_1,e_2) = \frac{N \#(e_1, e_2)}{\#(e_1)\#(e_2)} PMI(e1,e2)=#(e1)#(e2)N#(e1,e2),给定 e 1 e_1 e1下, P M I ( e 1 , ⋅ ) ∝ # ( e 1 , e 2 ) # ( e 2 ) PMI(e_1, \cdot)\propto\frac{ \#(e_1, e_2)}{\#(e_2)} PMI(e1,)#(e2)#(e1,e2)

面临困难:
  1.冷启动问题:当前item没有任何交互数据
  2.PMI一直在尝试推荐相关但罕见的item(极端情况可以考虑 e 2 e_2 e2仅和 e 1 e_1 e1共现,其余情况均不安装)

3.2 尝试2: learning to rank formulation

对于共现数据 { e 1 , e 2 , e 3 } \{e_1,e_2,e_3\} {e1,e2,e3},相互作为正样例,从整个空间中采样负样例

case1:所有相似推荐结果同质化(对于不同item推荐列表不变)
原因:安装item的分布是高度不均的,热度集中在少数item上

case2:针对case1优化,如加权,启发式负采样,更通用的特征(如文本类特征),但线上落败
原因:从一个极端(最热)到另一个极端(相关但不流行),单纯使用基于学习的方法在最热和相关之间取舍很难

3.3 A new hybrid item-item recommendation method

3.3.1 Mixture model解决流行度偏差

  假设given e 1 e_1 e1下, e 2 e_2 e2安装的概率由 P i n s t a l l e d ( e 2 ∣ e 1 ) = ( 1 − λ ) P r e l a t e d ( e 2 ∣ e 1 ) + λ P ( e 2 ) P_{installed} (e_2|e_1)=(1-\lambda)P_{related}(e_2|e_1)+\lambda P(e_2) Pinstalled(e2e1)=(1λ)Prelated(e2e1)+λP(e2)给出

  用共现计数定义最大似然问题 L = ∑ e 2 l o g ( P i n s t a l l e d ( e 2 ∣ e 1 ) ) L= \sum_{e_2}log(P_{installed} (e_2|e_1)) L=e2log(Pinstalled(e2e1))

  从而求出相似度 P r e l a t e d ( e 2 ∣ e 1 ) P_{related}(e_2|e_1) Prelated(e2e1)

3.3.2 Hybrid method

mixture model给出更流行的item,与PMI互补,因此采用加权和 P M I ( e 1 , e 2 ) + w P r e l a t e d ( e 2 ∣ e 1 ) , w = 5.0 PMI(e_1,e_2) + wPrelated(e_2|e_1), w=5.0 PMI(e1,e2)+wPrelated(e2e1),w=5.0

然而mixture model 和hybird method都没能解决冷启动问题,因此引入额外信息,用bert获得item的文本embedding,以此作为base score,进而基于流行度重排。

4. personalized recommendation

负责业务:面向登录用户推荐猜喜
面临困难:涉及隐私限制

4.1 尝试1:采用序列建模用户安装item

将用户的安装历史item按序排列,预测下一个,但最终落败
原因:数据稀疏、分布不均、时序很短

4.2 A bootstrapping approach

  • 利用前两种推荐模型,对用户安装历史(len=n)中所有item构建其相似集(共n个)
  • 新增一个non-personalized recommendation 结果(有助于多样性)
  • 每次取这n + 1个集合中的第 i 个 按流行度排列接在之前列表(前i - 1个生成的结果哦)后

5. future work

  1. non-personalized recommendation:尝试更复杂的机器学习模型
  2. related extension recommendations:在保障隐私的同时获得session数据;微调bert更好解决长尾问题;用统一的机器学习方法均衡流行度和相似度
  3. personalized recommendation:针对数据高度分布不均构建统一模型;提升前两种模型能力;探索其他方法,包括引入其他业务数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值