【论文笔记】Billion-scale Commodity Embedding for E-commerce Recommendation in Alibaba

Billion-scale Commodity Embedding for E-commerce Recommendation in Alibaba,KDD 2018

Abstract

该工作来自阿里和港科大,主要关注通过用户行为历史构建item图,学习图上所有item的embedding。为了图表示学习中稀疏性和冷启动问题,提出了两种方法结合item embedding和side information。该方法部署在淘宝平台,CTR取得了明显提高。

淘宝平台推荐的三个问题:

1)数据量大:已有的推荐算法可以在小数据集上有不错效果,但是对于百万用户,20亿商品这样海量的数据集上效果差。

2)稀疏性:用户仅与小部分商品交互,难以训练准确的推荐模型。

3)物品冷启动问题:物品上新频繁

本文根据为了解决这三个问题分别提出了三个模型:BES,GES,EGES

淘宝的首页推荐是基于用户过去的行为进行推荐。本文关注的问题在推荐系统的matching,也就是从商品池中召回候选商品的阶段。核心的任务是计算所有item的pairwise similarity。本文提出根据用户行为历史构建一个item graph,然后使用state-of-the-art的graph embedding方法学习每个item的embedding,这被称为Base Graph Embedding(BGE)。在该方式下,可以基于items的embeddings向量进行点积计算pairwise similarity。BGE优于CF,但是对于少量或者没有交互行为的item,仍然难以得到准确的embedding。为了减轻该问题,本文提出使用side information来增强embedding过程,提出了Graph Embedding with Side information (GES)。例如,属于相似类别或品牌的item的embedding应该相近。在这种方式下,即使item只有少量交互或没有交互,也可以得到准确的item embedding。在淘宝场景下,side information包括:category,brand,price等。不同的side information对于最终表示的贡献应该不同,于是本文进一步提出一种加权机制用于学习embedding with side information,称为Enhanced Graph Embedding with Side information (EGES)

根据用户行为历史构建item graph

之前基于CF的方法只考虑了项目的共现,但忽略了序列信息(可以更精准地影响使用者的偏好)。在实际中不可能使用用户的全部历史,因为(1)计算复杂度大(2)用户兴趣随着时间改变。在实际中设置一个时间窗口,只选取窗口内的用户行为,通常选取窗口大小为1个小时。这样取得的用户行为称为session-based users’ behavior。

如果两个item连续出现,则有一条有向边连接。基于在所有用户行为中这两个item出现的总次数,为每条边 e i j e_{ij} eij分配权重,该权重等于item i转移到item j的频次。 在抽取用户行为序列时,需要过滤掉噪声行为(无效/异常数据):

  • 停留时长少于1s
  • 过度活跃用户,可能是spam user
  • 同一个商品多次更新后id相同,但是可能变成不同item

BGE(Base Graph Embedding)

本文的基础框架,通过上述方法得到ietm graph。使用deep walk算法,经过随机游走得到序列,输入skip-gram进行训练。

GES(Graph Embedding with Side information)

W v 0 {\bf W}_v^0 Wv0 表示item v的embedding; W v s {\bf W}_v^s Wvs表示item v的s-th类型的side information的embedding。由此得到 n + 1 个向量 W v 0 , . . . , . . . W v n ∈ R d {\bf W}_v^0,...,...{\bf W}_{v}^{n} \in \mathbb{R}^d Wv0,...,...WvnRd ,其中d为embedding维度。通常设置item和side information的embedding维度相同。

将item和side information的embedding结合,采用average-pooling操作,得到item v聚合后的embedding:
H v = 1 n + 1 ∑ s = 0 n W v s {\bf H}_v = \frac{1}{n+1} \sum_{s=0}^{n}{\bf W}_v^s Hv=n+11s=0nWvs
相似side information的item在embedding空间中会更接近。在网路输入时,将item的one-hot和各个属性的one-hot作为输入,得到embedding后进行平均,然后通过一个隐含层。

EGES(Enhanced Graph Embedding with Side Information)

在GES中,假设不同类型的side information对最终embedding的贡献相同,这并不符合实际。例如,一个买了iPhone的用户购买Apple品牌的Macbook或者iPad;而一个购买不同品牌衣服的用户,出于便利和低价的原因会在相同的淘宝店上锦绣购买。因此不同类的side information对于用户行为中item共现关系的贡献是不同的。在得到item和SI的embedding后,加权平均进入隐含层。

给定一个item v, A ∈ R ∣ V ∣ × ( n + 1 ) {\bf A} \in \mathbb R ^{|V| \times (n+1)} ARV×(n+1) 是权重矩阵,其中 A i j {\bf A}_{ij} Aij 是i-th item的j-th SI的权重。为了方便用 a v s a_v^{s} avs 表示item v和s-th SI的权重。
H v = ∑ j = 0 n e a v j W v j ∑ j = 0 n e a v j {\bf H}_v = \frac{\sum_{j=0}^n e^{a_v^j} {\bf W}_v^j}{\sum_{j=0}^ne^{a_v^j}} Hv=j=0neavjj=0neavjWvj
其中使用 e a v j e^{a_v^j} eavj 替代 a v j a_v^j avj 是为了保证每个SI的贡献都大于0; ∑ j = 0 n e a v j \sum_{j=0}^ne^{a_v^j} j=0neavj 用于归一化不同SI的权重

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值