MCCLK
The source code for "Multi-level Cross-view Contrastive Learning for Knowledge-aware Recommender System".
Install / Use
/learn @CCIIPLab/MCCLKREADME
Multi-level Cross-view Contrastive Learning for Knowledge-aware Recommender System
This is our Pytorch implementation for the paper:
Ding Zou, Wei Wei, Xian-Ling Mao, Ziyang Wang, Minghui Qiu, Feida Zhu, Xin Cao (2022). Multi-level Cross-view Contrastive Learning for Knowledge-aware Recommender System, Paper in arXiv. In SIGIR'22.
Introduction
Multi-level Cross-view Contrastive Learning for Knowledge-aware Recommender System (MCCLK) is a knowledge-aware recommendation solution based on GNN and Contrastive Learning, proposing a multi-level cross-view contrastive framework to enhance representation learning from multi-faced aspects.
Requirement
The code has been tested running under Python 3.7.9. The required packages are as follows:
- pytorch == 1.5.0
- numpy == 1.15.4
- scipy == 1.1.0
- sklearn == 0.20.0
- torch_scatter == 2.0.5
- torch_sparse == 0.6.10
- networkx == 2.5
Usage
The hyper-parameter search range and optimal settings have been clearly stated in the codes (see the parser function in utils/parser.py).
- Train and Test
python main.py
Citation
If you want to use our codes and datasets in your research, please cite:
@inproceedings{mcclk2022,
author = {Zou, Ding and
Mao, Xian-Ling and
Wang, Ziyang and
Qiu, Minghui and
Zhu, Feida and
Cao, Xin},
title = {Multi-level Cross-view Contrastive Learning for Knowledge-aware Recommender System},
booktitle = {Proceedings of the 45th International {ACM} {SIGIR} Conference on
Research and Development in Information Retrieval, {SIGIR} 2022, Madrid,
Spain, July 11-15, 2022.},
year = {2022},
}
Dataset
We provide three processed datasets: Book-Crossing, MovieLens-1M, and Last.FM.
We follow the paper " Ripplenet: Propagating user preferences on the knowledge graph for recommender systems." to process data.
| | | Book-Crossing | MovieLens-1M | Last.FM | | :-------------------: | :------------ | ----------: | --------: | ---------: | | User-Item Interaction | #Users | 17,860 | 6,036 | 1,872 | | | #Items | 14,967 | 2,445 | 3,846 | | | #Interactions | 139,746 | 753,772 | 42,346| | Knowledge Graph | #Entities | 77,903 | 182,011| 9,366 | | | #Relations | 25 | 12| 60 | | | #Triplets | 151,500 | 1,241,996| 15,518 |
Reference
- We partially use the codes of KGIN.
- You could find all other baselines in Github.
Related Skills
YC-Killer
2.7kA library of enterprise-grade AI agents designed to democratize artificial intelligence and provide free, open-source alternatives to overvalued Y Combinator startups. If you are excited about democratizing AI access & AI agents, please star ⭐️ this repository and use the link in the readme to join our open source AI research team.
flutter-tutor
Flutter Learning Tutor Guide You are a friendly computer science tutor specializing in Flutter development. Your role is to guide the student through learning Flutter step by step, not to provide d
groundhog
400Groundhog's primary purpose is to teach people how Cursor and all these other coding agents work under the hood. If you understand how these coding assistants work from first principles, then you can drive these tools harder (or perhaps make your own!).
workshop-rules
Materials used to teach the summer camp <Data Science for Kids>
