Coder Social home page Coder Social logo

md-cvae's Introduction

MD-CVAE: Mutually-Regularized Dual Collaborative Variational Auto-encoder for Recommendation Systems

The codes are associated with the following paper:

Mutually-Regularized Dual Collaborative Variational Auto-encoder for Recommendation Systems,
Yaochen Zhu and Zhenzhong Chen,
The Web Conference (WWW) 2022. [paper] [slides]

Environment

The codes are written in Python 3.6.5.

  • numpy == 1.16.3
  • pandas == 0.21.0
  • tensorflow-gpu == 1.15.0
  • tensorflow-probability == 0.8.0

Datasets

The raw features of the established movielen-sub dataset can be obtained here: [Google Drive], [Baidu] (PIN:r8f0)

The processed datasets can be found here: [Google Drive], [Baidu] (PIN:l8wr)

For usage, please unzip the processed datasets and copy them into the data folder.

Examples to run the codes

1. To reproduce the in-matrix prediction results:

  • Pretrain the dual item content embedding VAE:

    python pretrain_vae.py --dataset Name --split [0-9]

  • Iteratively train the collaborative and content VAEs:

    python train_vae.py --dataset Name --split [0-9]

  • Evaluate the model and summarize the results into a pivot table

    python predict.py --dataset Name --split [0-9]

    python summarize.py

2. To reproduce the out-of-matrix prediction results:

  • First, please change to the cold_start folder.

  • Download the processed data [Google Drive], [Baidu] (PIN:f4f7)

  • The way to run the codes and summarize the results is similar to the in-matrix case.

For advanced argument usage, run the code with --help argument.

Reference

if you find the codes helpful, please kindly cite our paper. Thanks!

@inproceedings{MDCVAE-WWW2022,
  title={Mutually-Regularized Dual Collaborative Variational Auto-encoder for Recommendation Systems},
  author={Zhu, Yaochen and Chen, Zhenzhong},
  booktitle={Proceedings of the ACM Web Conference 2022},
  year={2022},
}    

md-cvae's People

Contributors

yaochenzhu avatar

Stargazers

 avatar includeno avatar  avatar Xixi avatar jingyi avatar  avatar  avatar Xubin Ren avatar

Watchers

 avatar

Forkers

jing-1

md-cvae's Issues

Meaning of datasets

Hi, May I have your kind help to identify the meanings of each file of a dataset used in your code (e.g. cora):
As normally, we only need the adj matrix (user-item graph) and the item feature files for VAE.

  • item_features.npz
  • meta.csv
  • train.csv
  • *_obs.csv
  • *_unk.csv
  • *_X.csv
  • *_Y.csv

Thanks a lot.

Word Vocabulary of Chosen Datasets

Hi @yaochenzhu,

Thanks for very interesting work.

Could you kindly provide the word vocabulary of datasets, including citeulike-a, movielen-sub.
I would like to map features stored in item_features.npz to natural language words so as to understand item content.

One more question is what is the meaning of features.npz file? I found that in processed citeulike dataset, shape of features.npz is (5551, 8000). Is this the feature matrix for users? If so, how to derive this matrix.

Thank you again and I'm looking forward to hearing from you soon.

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.