Skip to content

[ACMMM 2021] PyTorch implementation for "Mining Latent Structures for Multimedia Recommendation"

License

Notifications You must be signed in to change notification settings

CRIPAC-DIG/LATTICE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

1b72fe7 · Apr 24, 2024

History

5 Commits
Sep 4, 2021
Sep 4, 2021
Jul 13, 2021
Jul 13, 2021
Apr 24, 2024
Apr 24, 2024

Repository files navigation

LATTICE

model

This is the code for the ACM Multimedia 2021 Paper: Mining Latent Structures for Multimedia Recommendation.

Usage

Dataset Preparation

  • Download 5-core reviews data, meta data, and image features from Amazon product dataset. Put data into the directory data/meta-data/.

  • Install sentence-transformers and download pretrained models to extract textual features. Unzip pretrained model into the directory sentence-transformers/:

    ├─ data/: 
        ├── sports/
        	├── meta-data/
        		├── image_features_Sports_and_Outdoors.b
        		├── meta-Sports_and_Outdoors.json.gz
        		├── reviews_Sports_and_Outdoors_5.json.gz
        ├── sentence-transformers/
            	├── stsb-roberta-large
    
  • Run python build_data.py to preprocess data.

  • Run python cold_start.py to build cold-start data.

  • We provide processed data Baidu Yun (access code: m37q), Google Drive.

Quick Start

Start training and inference as:

cd codes
python main.py --dataset {DATASET}

For cold-start settings:

python main.py --dataset {DATASET} --core 0 --verbose 1 --lr 1e-5

Requirements

  • Python 3.6
  • torch==1.5.0
  • scikit-learn==0.24.2

Citation

Please cite our paper if you use the code:

@inproceedings{LATTICE21,
  title     = {Mining Latent Structures for Multimedia Recommendation},
  author    = {Zhang, Jinghao and 
               Zhu, Yanqiao and 
               Liu, Qiang and
               Wu, Shu and 
               Wang, Shuhui and 
               Wang, Liang},
  booktitle = {Proceedings of the 29th ACM International Conference on Multimedia},
  pages     = {3872–3880},
  year      = {2021}
}

Acknowledgement

The structure of this code is largely based on LightGCN. Thank for their work.