Code Monkey home page Code Monkey logo

westlake-repl / ninerec Goto Github PK

View Code? Open in Web Editor NEW
52.0 1.0 2.0 13.67 MB

Multimodal Dataset and Benchmark for Multi-domain and Cross-domain Recommendation System

Python 99.71% Jupyter Notebook 0.29%
foundation-recommendation-model image-recommendation multimodal text-recommendation multimodal-recommenddation pre-training-dataset transfer-learning-recommendation transferable-recommendation cross-domain-recommendation multi-domain-recommendation

ninerec's Introduction

Multi-Modal Foundation Model Transfer Learning Recommendation

Quick links: 📋Blog | 🗃️Download | 📭Citation | 🛠️Code | 🚀Evaluation | 🤗Leaderboard | 👀Others | 💡News

Note

In this paper, we evaluate the TransRec model based on end-to-end training of the recommender backbone and item modality encoder, which is computationally expensive. The reason we do this is because so far there is no widely accepted paradigm for pre-training recommendation models. End-to-end training shows better performance than pre-extracted multimodal features. However, we hope that NineRec can inspire more effective and efficient methods of pre-training recommendation models, rather than just limiting it to the end-to-end training paradigm. If one can develop a very efficient method that goes beyond end-to-end training but can be effectively transferable, it will be a great contribution to the community!!!

Blog

Dataset

All datasets have been released!! If you have any questions about our dataset and code, please email us.

Download link

If you are interested in pre-training on a larger dataset (even than our source dataset), please visit our PixelRec: https://github.com/westlake-repl/PixelRec. PixelRec can be used as the source data set of NineRec, and these downstream tasks of NineRec are cross-domain/platform scenarios.

Data Format (take QB as an example)

  • QB_cover contains the raw images in JPG format, with item ID as the file name:

  • QB_behaviour.tsv contains the user-item interactions in item sequence format, where the first field is the user ID and the second field is a sequence of item ID (has been provided in QB and TN, see Dataset Preparation below to generate this file for others):
User ID Item ID Sequence
u14500 v17551 v165612 v288299 v14633 v350433
  • QB_pair.csv contains the user-item interactions in user-item pair format, where the first field is the user ID, the second field is the item ID, and the third field is a timestamp:
User ID Item ID Timestamp
u14500 v17551 (only not provided in QB and TN)
  • QB_item.csv contains the raw texts, where the first field is the item ID and the second field is the text in Chinese, and the third field is the text in English:
Item ID Text in Chinese Text in English
v17551 韩国电影,《女教师》 "Korean Movie, The Governess"
  • QB_url.csv contains the URL link of items, where the first field is the item ID and the second field is the URL:
Item ID URL
v17551 (only not provided in QB and TN)

*Note that source datasets, Bili_2M and its smaller version Bili_500K, share the same image folder Source_Bili_2M_cover for less storage space.

Citation

If you use our dataset, code or find NineRec useful in your work, please cite our paper as:

@article{zhang2023ninerec,
      title={NineRec: A Benchmark Dataset Suite for Evaluating Transferable Recommendation}, 
      author={Jiaqi Zhang and Yu Cheng and Yongxin Ni and Yunzhu Pan and Zheng Yuan and Junchen Fu and Youhua Li and Jie Wang and Fajie Yuan},
      journal={arXiv preprint arXiv:2309.07705},
      year={2023}
}

⚠️ Caution: It's prohibited to privately modify the dataset and then offer secondary downloads. If you've made alterations to the dataset in your work, you are encouraged to open-source the data processing code, so others can benefit from your methods. Or notify us of your new dataset so we can put it on this Github with your paper.

Code

Environments

Pytorch==1.12.1
cudatoolkit==11.2.1
sklearn==1.2.0
python==3.9.12

Dataset Preparation

Run get_lmdb.py to get lmdb database for image loading. Run get_behaviour.py to convert the user-item pairs into item sequences format.

Run Experiments

Run train.py for pre-training and transferring. Run test.py for testing. See more specific instructions in each baseline.

Baseline_Evaluation

Leaderboard

coming soon.

Tenrec

Tenrec (https://github.com/yuangh-x/2022-NIPS-Tenrec) is the sibling dataset of NineRec, which includes multiple user feedback and platforms. It is suitable for studying ID-based transfer and lifelong learning.

News

实验室招聘科研助理、实习生、博士生和博后,请联系通讯作者。

ninerec's People

Contributors

cheungkakei avatar fajieyuan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

ninerec's Issues

missing files

Dear Writer,
I can not find the train and the test model.

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.