/EGES

Primary LanguagePython

EGES-PIPLINE

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。

randomwalk 代码参考

环境配置

  • python 3.6.5
  • tensorflow == 1.14.0
  • joblib
  • networkx

baseline示例:

python data_process.py
python run_EGES.py

Embedding可视化

品类数据: avatar