Skip to content

Latest commit

 

History

History
98 lines (67 loc) · 5.02 KB

README.md

File metadata and controls

98 lines (67 loc) · 5.02 KB

logo


RecBole-MetaRec

RecBole-MetaRec is an extended module for RecBole, which aims to help researchers to compare and develop their own models in the meta learning recommendation field.

This module is totally developed based on RecBole by adding extended classes and functions, without modifying any codes of RecBole cores. In addition, we built up extended modules with Pytorch.

This module can mainly provide researchers the following advantages:

  • Conveniently develop their own meta learning recommendation models.
  • Conveniently learn and compare meta learning recommendation models that we have implemented.
  • Enjoy advantages and features of RecBole.

Moreover, we provide a document in detail for researchers.

Document: https://recbole-metarec-doc.readthedocs.io/en/latest/

Note: Before starting, it is strongly recommended to realize how RecBole works.

graph
Figure: RecBole-MetaRec Overall Architecture

Contributions

The contributions are briefly listed as follows:

  • We extend MetaDataset from Dataset to split dataset by 'task'.
  • We extend MetaDataLoader from AbstractDataLoader to transform dataset into task form.
  • We extend MetaRecommender from AbstractRecommender to provide a base recommender for implementing meta learning model.
  • We extend MetaTrainer from Trainer to provide a base trainer for implementing meta learning training process.
  • We extend MetaCollector from Collector to collect data for evaluation in meta learning circumstance.
  • We implement MetaUtils with some useful toolkits for meta learning.
  • We implement most of the models in the field of meta learning recommendation for user cold start and conduct envaluations in unified settings.

Requirements

python>=3.7.0
recbole>=1.1.1
numpy>=1.20.3
torch>=1.11.0
tqdm>=4.62.3

Quick-Start

After the package installation process, you can run the quickstart code with:

python quickstart.py

Also, you can also change the model and the dataset by modifying modelName and datasetNamein quickstart.py.

Implemented Models

We list the models that we have implemented up to now:

Results

We tune hyper-parameters of all the models that we have implemented and obtain the best hyper-parameters respectively.

Developer

RecBole-MetaRec is mainly developed by Zeyu Zhang (@nuster1128).

Acknowledgegment

The implementation is based on the open-source recommendation library RecBole.

Please cite the following paper as the reference if you use our code or processed datasets.

@inproceedings{zhao2021recbole,
  title={Recbole: Towards a unified, comprehensive and efficient framework for recommendation algorithms},
  author={Wayne Xin Zhao and Shanlei Mu and Yupeng Hou and Zihan Lin and Kaiyuan Li and Yushuo Chen and Yujie Lu and Hui Wang and Changxin Tian and Xingyu Pan and Yingqian Min and Zhichao Feng and Xinyan Fan and Xu Chen and Pengfei Wang and Wendi Ji and Yaliang Li and Xiaoling Wang and Ji-Rong Wen},
  booktitle={{CIKM}},
  year={2021}
}