Giter VIP home page Giter VIP logo

hpmn's Introduction

Hierarchical Periodic Memory Network (HPMN)

A tensorflow implementation of all the compared models for our SIGIR 2019 paper:

Lifelong Sequential Modeling with Personalized Memorization for User Response Prediction

The experiments are supported by Alimama Rank Group from Alibaba Inc.

The paper preprint version has been published in arXiv.

If you have any problems, please propose an issue or contact the authors: Kan Ren, Jiarui Qin and Yuchen Fang.

Abstract

User response prediction, which models the user preference w.r.t. the presented items, plays a key role in online services. With two-decade rapid development, nowadays the cumulated user behavior sequences on mature Internet service platforms have become extremely long since the user's first registration. Each user not only has intrinsic tastes, but also keeps changing her personal interests during lifetime. Hence, it is challenging to handle such lifelong sequential modeling for each individual user. Existing methodologies for sequential modeling are only capable of dealing with relatively recent user behaviors, which leaves huge space for modeling long-term especially lifelong sequential patterns to facilitate user modeling. Moreover, one user's behavior may be accounted for various previous behaviors within her whole online activity history, i.e., long-term dependency with multi-scale sequential patterns. In order to tackle these challenges, in this paper, we propose a Hierarchical Periodic Memory Network for lifelong sequential modeling with personalized memorization of sequential patterns for each user. The model also adopts a hierarchical and periodical updating mechanism to capture multi-scale sequential patterns of user interests while supporting the evolving user behavior logs. The experimental results over three large-scale real-world datasets have demonstrated the advantages of our proposed model with significant improvement in user response prediction performance against the state-of-the-arts.

Dependencies

Data Preparation

  • In the data/amazon folder, we give three small sample dataset that has been preprocessed, the sample code is running on the sample data. The dataset_crop.pkl is for the baseline SHAN (cut a short-term and a long-term sequence) and dataset_hpmn.pkl (padding in the front) is for our HPMN model, all the other baselines are based on the dataset.pkl
  • For the full dataset, the raw dataset link are Amazon, Taobao and XLong.
  • For Amazon and Taobao, you should extract the files into data/raw_data/amazon and data/raw_data/taobao, then do the following to preprocess the dataset:
python preprocess_amazon.py
python preprocess_taobao.py
  • For XLong, you should download the files into data/xlong, then do the following:
python preprocess_xlong.py

Run the Codes

  • To run the code of the models:
python hpmn.py [DATASET] # To run HPMN, [DATASET] can be amazon or taobao
python train.py [MODEL] [DATASET] [GPU] # To run DNN/SVD++/GRU4Rec/DIEN/Caser/LSTM/, [GPU] is the GPU env 
python shan.py [DATASET] [GPU] # To run SHAN
python rum.py [DATASET] [GPU] # To run RUM

Citation

You are more than welcome to cite our paper:

@inproceedings{ren2019lifelong,
	title={Lifelong Sequential Modeling with Personalized Memorization for User Response Prediction},
	author={Ren, Kan and Qin, Jiarui and Fang, Yuchen and Zhang, Weinan and Zheng, Lei and Bian, Weijie and Zhou, Guorui and Xu, Jian and Yu, Yong and Zhu, Xiaoqiang and Gai, Kun},
	booktitle={Proceedings of 42nd International ACM SIGIR Conference on Research and Development in Information Retrieval},
	year={2019},
	organization={ACM}
}

Note: Train/Test Splitting

  • As shown in figure, we split the training and testing dataset according to the timestamp of the prediction behavior. We set a cut time within the time range covered by the full dataset. If the last behavior of a sequence took place before the cut time, the sequence is put into the training set. Otherwise it would be in the test set. In this way, training set is about 70% of the whole dataset and test set is about 30%.

hpmn's People

Contributors

arthur-null avatar rk2900 avatar qinjr avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.