CIKM 2020 Anonymous Submission #563.
Pipeline:
- Prepare Data
- Train Model
We test our code on Python 2.7 and Tensorflow 1.4.
mkdir -p dataset/Amazon_Clothing_Shoes_and_Jewelry/
cd dataset/Amazon_Clothing_Shoes_and_Jewelry/
wget -c http://snap.stanford.edu/data/amazon/productGraph/categoryFiles/reviews_Clothing_Shoes_and_Jewelry_5.json.gz
gzip -d reviews_Clothing_Shoes_and_Jewelry_5.json.gz
wget -c http://snap.stanford.edu/data/amazon/productGraph/categoryFiles/meta_Clothing_Shoes_and_Jewelry.json.gz
gzip -d meta_Clothing_Shoes_and_Jewelry.json.gz
cd ../..
python script/TIEN/prepare_data/process_data_user_sort_by_time.py
python script/TIEN/prepare_data/local_aggretor_by_time.py
python script/TIEN/prepare_data/generate_voc.py
When you see the files below, you can do the next work.
item-info
reviews-info
jointed-new-by-time
local_all_sample_by_time
local_train_by_time
local_test_by_time
uid_voc.pkl
mid_voc.pkl
cat_voc.pkl
We introduce a novel TIEN method in our paper (Fig. 1). We have implemented multiple CTR prediction methods in our code (option --model
).
python script/TIEN/train.py --model SVDPP[DNN,PNN,GRU4REC,ATRANK,CASER,UBGRUA,DIEN] --dataset Amazon_Clothing_Shoes_and_Jewelry
For dual behavior model, the truncation length of item behaviors can be changed (option --iblen
).
python script/TIEN/train.py --model TIEN[TopoLSTM,DIB,IBGRUA] --dataset Amazon_Clothing_Shoes_and_Jewelry --iblen 5[10,20,30,40,50]
We also design ablation experiments to study how each component in TIEN contributes to the final performance.
python script/TIEN/train.py --model TIEN_sumagg[TIEN_timeatt,TIEN_robust,TIEN_timeaware] --dataset Amazon_Clothing_Shoes_and_Jewelry
To verify the utility of evolutionary item dynamics proposed by TIEN, we select several models using user behaviors as base models, including GRU4Rc, ATRANK, CASER, and DIEN.
python script/TIEN/train.py --model GRU4REC_TIEN[ATRANK_TIEN,ATRANK_TIEN,DIEN_TIEN] --dataset Amazon_Clothing_Shoes_and_Jewelry
Finally, we study the parameter sensitivity of TIEN (option --hidden_units
, -embedding
).
python script/TIEN/train.py --model TIEN --dataset Amazon_Clothing_Shoes_and_Jewelry --hidden_units 1024,512,256,128,1
python script/TIEN/train.py --model TIEN --dataset Amazon_Clothing_Shoes_and_Jewelry --embedding 128
We build our code based on DIEN. We'd like to thank their contribution to the research on the CTR prediction task.