HCMKR
[ECML-PKDD'24] HCMKR: Hyperbolic Contrastive Learning with Model-Augmentation for Knowledge-Aware Recommendation
Install / Use
/learn @sunshy-1/HCMKRREADME
Hyperbolic Contrastive Learning with Model-Augmentation for Knowledge-Aware Recommendation (HCMKR)
This is the Pytorch implementation for our ECML-PKDD'24 paper: Hyperbolic Contrastive Learning with Model-Augmentation for Knowledge-Aware Recommendation.
Abstract
<div style="text-align: justify;"> Benefiting from the effectiveness of graph neural networks (GNNs) and contrastive learning, GNN-based contrastive learning has become mainstream for knowledge-aware recommendation. However, most existing contrastive learning-based methods have difficulties in effectively capturing the underlying hierarchical structure within user-item bipartite graphs and knowledge graphs. Moreover, they commonly generate positive samples for contrastive learning by perturbing the graph structure, which may lead to a shift in user preference learning. To overcome these limitations, we propose hyperbolic contrastive learning with model-augmentation for knowledge-aware recommendation. To capture the intrinsic hierarchical graph structures, we first design a novel Lorentzian knowledge aggregation mechanism, which enables more effective representations of users and items. Then, we propose three model-level augmentation techniques to assist Hyperbolic contrastive learning. Different from the classical structure-level augmentation (e.g., edge dropping), the proposed model-augmentations can avoid preference shifts between the augmented positive pair. The overall framework is as follows: <div> <br>
Environment Requirement
# More details can be seen in ./code/packages.txt.
torch==1.8.1+cu111
torch-cluster==1.5.9
torch-scatter==2.0.6
torch-sparse==0.6.11
torch-spline-conv==1.2.1
torch-geometric==1.7.2
Dataset
We provide three processed datasets (yelp2018, amazon-book, and ml-20m). You can download them from link, and put them in the file ./code.
Run the Code
cd code && bash performance.sh
Acknowledgment of Open-Source Code Contributions
The code is based on the open-source repositories: LightGCN and KGCL, many thanks to the authors!
You are welcome to cite our paper:
@inproceedings{SunMa25,
author = {Sun, Shengyin and Chen, Ma},
title = {Hyperbolic Contrastive Learning with Model-Augmentation for Knowledge-Aware Recommendation},
year = {2024},
booktitle = {Machine Learning and Knowledge Discovery in Databases},
pages = {199–217}
}
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>
