核心思路:
使用了graph embedding的思路构建item的embedding 表示。
具体做法:
整体思路比较简单,使用用户的行为序列,构建图,然后进行随机的游走,从随机游走里面产出宝贝的序列。再对这个序列用word2vec 得到item的embedding。
具体细节:
行为序列构建
1.用户行为序列其实是很长的,这里取了一个小时的,认为一个小时之内的商品是相关的。相当于把用户的行为序列按照一个小时为单位进行划分。
2.对用户进行一个过滤,买1000个,三个月内的点击超过3500个的,认为是作弊用户
3.如果用户点击后停留时间少于1s,则过滤掉。这个数据还是比较难取得。
随机游走
1.i跳到j的概率,是Mij(两个边权重)会除上所有连接i节点的边的权重,相当于会对热门的节点进行打压,热门节点连出去的边比较多。
2.每个节点随机游走20次,随机游走的步长是10。如何建立随机游走这个工程还是比较巨大的。最后产出了1000亿的样本,
100个gpu可以再6个小时训练完成
word2vec 建模
1.使用了skip-gram, context window是5,那应该是前后分别是两个宝贝
2.使用负样本采样。负样本采样怎么采,具体没说,这个还是挺关键。说是负样本越多越好。
网友评论