Context-aware Session-based Recommendation with Graph Neural Networks

Zhihui Zhang, JianXiang Yu, Xiang Li
10/14/2023
cs.IRcs.AI

Official code: brilliantZhang/CARES (4 stars, last commit 2023-01-17).

Abstract

Session-based recommendation (SBR) is a task that aims to predict items based on anonymous sequences of user behaviors in a session. While there are methods that leverage rich context information in sessions for SBR, most of them have the following limitations: 1) they fail to distinguish the item-item edge types when constructing the global graph for exploiting cross-session contexts; 2) they learn a fixed embedding vector for each item, which lacks the flexibility to reflect the variation of user interests across sessions; 3) they generally use the one-hot encoded vector of the target item as the hard label to predict, thus failing to capture the true user preference. To solve these issues, we propose CARES, a novel context-aware session-based recommendation model with graph neural networks, which utilizes different types of contexts in sessions to capture user interests. Specifically, we first construct a multi-relation cross-session graph to connect items according to intra- and cross-session item-level contexts. Further, to encode the variation of user interests, we design personalized item representations. Finally, we employ a label collaboration strategy for generating soft user preference distribution as labels. Experiments on three benchmark datasets demonstrate that CARES consistently outperforms state-of-the-art models in terms of P@20 and MRR@20. Our data and codes are publicly available at https://github.com/brilliantZhang/CARES.

View on arXivView PDF

Code Implementations(1)

40PythonDec 12, 20223 years ago

Similar Papers

Cite this paper

@article{zhang2023contextaware,
  title  = {Context-aware Session-based Recommendation with Graph Neural Networks},
  author = {Zhihui Zhang and JianXiang Yu and Xiang Li},
  year   = {2023},
  eprint = {2310.09593},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2310.09593v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2310.09593.svg)](https://codeofpaper.com/paper/2310.09593)

Discussion