Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1873729
  • 博文数量: 211
  • 博客积分: 464
  • 博客等级: 下士
  • 技术积分: 3794
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-24 18:25
个人简介

阿弥陀佛

文章分类

全部博文(211)

文章存档

2020年(2)

2019年(3)

2018年(5)

2017年(6)

2016年(10)

2015年(9)

2014年(73)

2013年(90)

2012年(13)

分类: 大数据

2019-08-15 20:44:04



找时间学习了一下论文:Billion-scale Commodity Embedding for E-commerce Recommendation in Alibaba
该论文根据用户的行为在 item与item之间建立图。再根据Graph,使用random walk 算法生成sequence。
总共分为三个步骤:
1. 根据用户的行为在 item与item之间建立图,(需要提出一些over active user)
2. 使用random walk 算法生成sequence。
3. 利用word2vec学习每个item(node)的embedding(Baseline 版本)。

冷启动问题(cold start issue)
baseline的版本不能够解决cold start的问题。
为了解决cold start 问题,基于这个baseline版本,论文把其他的feature也放入到神经网络当中。

解决方案1:
SI 0 to n 都采用one-hot编码,然后每个SI(side information)都训练出一个embedding系列。
最后将所有的embedding做average sum。Hv为混合后的向量,再放入到神经网络中做训练。利用反向反馈训练参数。

解决方案2:
在解决方案1的基础上,每个feature的embedding计算出一个weight,但是本文中采用的矩阵A的size是(|V|*n)的,也就是每一个node都会有n个weight。计算量比较大,本文说用了100个GPU计算出来的。大厂真是有钱。这样weight sum 层之后,最后这个item的embedding变成了下面这个形式。
解决方案3:
应该将title的信息作为feature,放入embedding当中,个人觉得,这个做法可以参考CENE 那篇论文。
negative Sample training
negative sampling 采用word2vec的sample 方法。可以找batch里面与本node无关的点作为negative 数据。
φ是节点与embedding的映射函数。


实验部分的参数:1. skipgram 的context window=5,dimension=160,number of walks per node=20, length of random walk=10

应用:
这个淘宝的推荐系统是在ranking 之前挑选出candidates,并在Ranking系统中做排序,这个部分比较耗时,可以采用LSH来建索引,方便查找。

文章最后使用CTR来评估结果,CF对应base,CF是协同过滤算法。BGE是本文实现的第一个版本(baseline版本)。


阅读(3973) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~