Git Product home page Git Product logo

gng-ode's Introduction

GNG-ODE

This is the code for CIKM 2022 paper Evolutionary Preference Learning via Graph Nested GRU ODE for Session-based Recommendation.

Abstract

Session-based recommendation (SBR) aims to predict the user’s next action based on the ongoing sessions. Recently, there has been an increasing interest in modeling the user preference evolution to capture the fine-grained user interests. While latent user preferences behind the sessions drift continuously over time, most existing approaches still model the temporal session data in discrete state spaces, which are incapable of capturing the fine-grained preference evolution and result in sub-optimal solutions. To this end, we propose Graph Nested GRU ordinary differential equation (ODE) namely GNG-ODE, a novel continuum model that extends the idea of neural ODEs to continuous-time temporal session graphs. The proposed model preserves the continuous nature of dynamic user preferences, encoding both temporal and structural patterns of item transitions into continuous-time dynamic embeddings. As the existing ODE solvers do not consider graph structure change and thus cannot be directly applied to the dynamic graph, we propose a time alignment technique, called t-Alignment, to align the updating time steps of the temporal session graphs within a batch. Empirical results on three benchmark datasets show that GNG-ODE significantly outperforms other baselines.

Dataset

We have provided the processed datasets. If you want the original data please refer to the following links.

Environment

Usage

For Gowalla

python -u scripts/main_ode.py --dataset-dir ../datasets/gowalla --gnn GATConv

For Tmall

python -u scripts/main_ode.py --dataset-dir ../datasets/tmall --gnn GATConv --solver dopri5

For Nowplaying

python -u scripts/main_ode.py --dataset-dir ../datasets/nowplaying --gnn GATConv 

Generally using dopri5 solver will increase the performance and bring longer training time.

Citation

https://arxiv.org/pdf/2206.12779.pdf

@inproceedings{Guo2022EvolutionaryPL,
    title={Evolutionary Preference Learning via Graph Nested GRU ODE for Session-based Recommendation},
    author={Jiayan Guo and Peiyan Zhang and Chaozhuo Li and Xing Xie and Yan Zhang and Sunghun Kim},
    booktitle={Proceedings of the 31st ACM International Conference on Information \& Knowledge Management},
    year={2022}
}

gng-ode's People

Contributors

spacelearner avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

jeongwhanchoi

gng-ode's Issues

Hello, what is the reason for this problem during code operation?

Traceback (most recent call last):
File "D:/PythonCode/MachineLearning/rs/practice/GNG-ODE-main/main_ode.py", line 31, in
os.environ["CUDA_VISIBLE_DEVICES"] = str(get_freer_gpu())
File "D:/PythonCode/MachineLearning/rs/practice/GNG-ODE-main/main_ode.py", line 25, in get_freer_gpu
memory_available = [int(x.split()[2]) for x in open('tmp', 'r').readlines()]
FileNotFoundError: [Errno 2] No such file or directory: 'tmp'
image

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.