implemention of Alibaba's paper: Billion-scale Commodity Embedding for E-commerce Recommendation in Alibaba
update 2020.4.22: 重写pipeline,增加可读性;并增加tf.dataset输入pipeline,适用于large dataset,但每batch运行时间大于feed_dict,排查原因中...
一个EGES的pipeline简单实现,包括以下部分:
- 数据获取:使用jdata2019比赛中的行为数据(10000条),及商品数据。
- 从user behaviour history 构建session,session截断依据为最后一个action为下单,或者30分钟内没有action 参考Airbnb Real-time Embedding
- 根据session list构图,基于node2vec游走采样重新生成session,并加载item对应side info
- EGES实现,基于word2vec改写
- 生成embedding并可视化
较为完整的复现了工业界常用的graph embedding pipeline。
- code: https://github.com/shenweichen/GraphEmbedding
- author: shenweichen
- python 3.6.5
- tensorflow == 1.14.0
- joblib
- networkx
python data_process.py
python run_EGES.py