【论文笔记】Learning and Transferring IDs Representation in E-commerce

Learning and Transferring IDs Representation in E-commerce, KDD 2018

Abstract

该工作来自阿里,主要关注了如何学习ID的表示,从而在电商场景中用于推荐。在电商场景中ID包括user ID, item ID, product ID, store ID, brand ID, category ID等,传统的one-hot编码高维稀疏,并且无法反映ID之间的关联性(如同类或异类),本文提出了一种基于embedding的方法学习ID的表示,通过采集用户行为的ID序列,结合ID之间结构化的联系,将所有类型的ID嵌入到一个统一的低维空间用于之后的任务:(1)计算商品之间相似度(2)从观察到的商品迁移到未见过的商品(3)迁移到不同的领域(4)在不同任务中迁移。该模型在阿里旗下盒马鲜生业务中得到了有效的验证。

Introduction

传统方法将ID视为atomic units,用序号或one-hot编码表示。这些表示方式简洁、鲁棒,在统计模型中得到广泛的应用。然而这些表示方式具有以下两种局限:(1)特征维度高带来的稀疏问题,存储空间与ID数呈指数关系(2)无法反映ID之间的联系(如同类或异类)。在one-hot编码中任意两个item ID之间的距离是相同的,无论它们之间是否相似。而如果将item ID和store ID视为异类,由于二者处于不同的空间无法衡量。

目前embedding的技术从NLP领域的word2vec掀起,在诸多领域中得到了广泛的应用。word2vec将所有的word嵌入到统一的低维空间中,能够得到不同word之间句法和语义上的关系。item2vec通过建模item IDs在序列中co-occurrence,将item ID嵌入低维空间,用于提高搜索和电商中推荐的准确度。

本文基于item2vec提出一种embedding-based的框架,对于所有类型的ID学习并迁移其低维表示。除了使用用户的隐式反馈,还考虑了item ID与其他类型ID之间的结构化联系。通过这些联系,item ID序列表达的信息可以传播其他类型的ID中,同时学习得到所有类型ID的表示。所有类型的ID都将嵌入到同一个低维空间,这样就便于计算ID之间的相似度,判断其同类/异类。便于实际生产环境中部署、迁移学到的表示。

  • Measuring Items Similarity
    • 通过计算embedding向量的余弦相似度,相比item-based CF召回率更高。
  • Transferring from seen items to unseen items
    • 解决物品冷启动问题。使用已有的item ID的表示得到新item ID的表示。
  • Transferring across different domains
    • Taobao to Hema
  • Transferring across different tasks
    • store IDs learned by our approach can be transferred to this new task

Hema是一个online-to-offline(O2O)的平台,主要商品是生鲜,所以商品会经常更新,有很多新商品出现。并且Hema每天都会产生大量新用户,对于个性化推荐是一个极大的挑战。在传统的推荐系统中,用于计算user对于item的CTR。然而在该场景下,由于user-item对的数目巨大( 1 0 15 − 1 0 20 10^{15} -10^{20} 10151020)。在本文中,推荐框架分为以下四部分:

  • Preparation user-to-trigger (u2t) 偏好度和trigger-to-item (t2i) 匹配度通过离线计算得到,存储在key-key-value数据库中用于在线提取。
  • Matching 每次用户访问,首先根据user ID提取triggers。然后基于triggers得到推荐物品候选列表。
  • Filtering 删除重复商品以及无效商品,例如已经卖完的商品
  • Ranking 使用一个综合的分数(preference score, matching score,etc)对候选商品排序

其中候选集合的大小和计算的次数可以通过触发的数量来控制,整个系统非常灵活。触发的类型包括访问item,categories等。

模型

Skip-gram on User’s Interactive Sequences

在电商场景下,我们可以通过不同的交互会话得到item ID序列,其表明了用户的隐式反馈。我们将序列看作文档,skip-gram模型能够得到ID表示用于预测给定item ID得到其在序列中邻近的item ID。给定的一个item ID的序列 { i t e m 1 , . . . , i t e m i , . . . , i t e m N } \{ item_1,..., item_i,...,item_N\} { item1,...,itemi,...,itemN},skip-gram模型的目标是最大化平均对数概率
1 N ∑ n = 1 N ∑ − C ≤ j ≤ C 1 ≤ n + j ≤ N , j ≠ 0 l o g   p ( i t e m n + j ∣ i t e m n ) \frac{1}{N} \sum_{n=1}^{N} \sum_{-C\leq j \leq C}^{1 \leq n+j \leq N,j\neq 0} {\rm{log}} \ p(item_{n+j} | item_n) N1n=1NCjC1n+jN,j̸=0log p(itemn+jitemn)
C是上下文窗口的长度

其中在基本的skip-gram模型中, p ( i t e m j ∣ i t e m i ) p(item_j|item_i) p(itemjitemi) 由softmax函数定义
p ( i t e m j ∣ i t e m i ) = e x p ( e ′ j T e i ) ∑ d = 1 D e x p ( e ′ d T e i ) p(item_j|item_i) = \frac{ {\rm exp}(\mathbf{e'}_j^{\rm T} \mathbf{e}_i)}{\sum_{d=1}^{D} {\rm exp}(\mathbf{e'}_d^{\rm T} \mathbf{e}_i)} p(itemjitemi)=d=1Dexp(edTei)exp(e

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值