LISRec addresses noisy interactions in sequential recommendation by constructing a personalized item graph over each user's interaction history. It uses similarities between text-based item representations to extract the largest connected component, retaining stable preferences while filtering noisy interactions. LISRec generalizes to both item ID-based and text-based recommendation models.
The pinned dependencies target Python 3.8 or 3.9. Create an isolated environment, then install the requirements:
python -m pip install --upgrade pip
python -m pip install -r requirements.txtRefer to https://github.com/OpenMatch/OpenMatch for detailed instructions.
git clone https://github.com/OpenMatch/OpenMatch.git
cd OpenMatch
python -m pip install -e .
cd ..The scripts use google-t5/t5-base; Transformers downloads and caches the weights automatically on first use.
This section provides a step-by-step guide to reproduce the LISRec results.
Warning: Model pretraining and fine-tuning require substantial GPU resources, and the embedding files require significant disk space.
We utilize the Amazon Product 2014 and Yelp 2020 datasets. Download the original data from:
The following example uses the Amazon Beauty dataset.
mkdir -p data/raw/beauty
wget -c -P data/raw/beauty http://snap.stanford.edu/data/amazon/productGraph/categoryFiles/ratings_Beauty.csv
wget -c -P data/raw/beauty http://snap.stanford.edu/data/amazon/productGraph/categoryFiles/meta_Beauty.json.gzgzip -dk data/raw/beauty/meta_Beauty.json.gzmkdir -p data datasetbash scripts/process_origin.shbash scripts/process_beauty.shBefore proceeding, process all four original datasets as described above to obtain the atomic files. Then, construct the mixed pretraining data for
bash scripts/gen_pretrain_dataset.shbash scripts/gen_pretrain_items.shFor
python src/sample_train.pySimilarly, we selected the number of training samples from the dataset with the fewest training items in each case to serve as the validation set:
python src/sample_valid.pybash scripts/build_pretrain.shThe included script shows the Beauty configuration. Repeat this step with the corresponding Sports, Toys, and Yelp paths before merging the four datasets.
python src/merge_json.pyPretrain the T5 model using next item prediction (NIP) and mask item prediction (MIP) tasks.
bash scripts/train_mfilter.shAdjust the training parameters for your GPU. Select the checkpoint with the lowest evaluation loss as the final
Save the item embedding representations to avoid redundant calculations.
mkdir -p embedding
bash scripts/gen_embeddings.shBuild an undirected item graph and use breadth-first search to extract its largest connected component.
bash scripts/build_graph.shCopy the original item information file to the denoised data folder.
mkdir -p dataset/beauty_filtered
cp dataset/Amazon_Beauty/Amazon_Beauty.item dataset/beauty_filtered/beauty_filtered.itembash scripts/gen_dataset.sh
bash scripts/gen_train_items.sh
bash scripts/build_train.shbash scripts/train_mrec.shbash scripts/eval_mrec.shbash scripts/test_mrec.sh-
OpenMatch: We utilize OpenMatch to reproduce the
$\text{M}_{Rec}$ module. - RecBole: We leverage RecBole for dataset processing and baseline reproduction.
If you find this work useful, please cite our paper and consider starring this repository. 🌟
@inproceedings{xin2026lisrec,
author = {Xin, Haidong and Liu, Zhenghao and Mei, Sen and Yan, Yukun and Yu, Shi and Wang, Shuo and Chen, Zulong and Gu, Yu and Yu, Ge and Xiong, Chenyan},
title = {LISRec: Modeling User Preferences with Learned Item Shortcuts for Sequential Recommendation},
year = {2026},
url = {https://doi.org/10.1145/3770854.3780337},
doi = {10.1145/3770854.3780337},
booktitle = {Proceedings of the 32nd ACM SIGKDD Conference on Knowledge Discovery and Data Mining V.1},
pages = {1650–1661},
numpages = {12},
}For questions, suggestions, or bug reports, please contact:
xinhaidong@stumail.neu.edu.cn
