All Projects → chenchongthu → JNSKR

chenchongthu / JNSKR

Licence: other
This is our implementation of JNSKR: Jointly Non-Sampling Learning for Knowledge Graph Enhanced Recommendation (SIGIR 2020)

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to JNSKR

EATNN
This is our implementation of EATNN: Efficient Adaptive Transfer Neural Network (SIGIR 2019)
Stars: ✭ 23 (-8%)
Mutual labels:  recommender-system, efficient-algorithm
SIGIR2021 Conure
One Person, One Model, One World: Learning Continual User Representation without Forgetting
Stars: ✭ 23 (-8%)
Mutual labels:  recommender-system
RecSysDatasets
This is a repository of public data sources for Recommender Systems (RS).
Stars: ✭ 272 (+988%)
Mutual labels:  recommender-system
retailhero-recomender-baseline
Бэйслайн к задаче RetailHero.ai/#2 от @geffy 💪
Stars: ✭ 93 (+272%)
Mutual labels:  recommender-system
HybridBackend
Efficient training of deep recommenders on cloud.
Stars: ✭ 30 (+20%)
Mutual labels:  recommender-system
pprec
a recommender engine node-js package for general use and easy to integrate.
Stars: ✭ 29 (+16%)
Mutual labels:  recommender-system
MARank
Multi-order Attentive Ranking Model for Sequential Recommendation
Stars: ✭ 25 (+0%)
Mutual labels:  recommender-system
Spotify-Song-Recommendation-ML
UC Berkeley team's submission for RecSys Challenge 2018
Stars: ✭ 70 (+180%)
Mutual labels:  recommender-system
multi channel bpr
Implementation of Bayesian Personalized Ranking (BPR) for Multiple Feedback Channels
Stars: ✭ 25 (+0%)
Mutual labels:  recommender-system
Jass
SoulSeek client with web interface and recommender system
Stars: ✭ 23 (-8%)
Mutual labels:  recommender-system
mlstm4reco
Multiplicative LSTM for Recommendations
Stars: ✭ 21 (-16%)
Mutual labels:  recommender-system
WWW2020-grec
Future Data Helps Training: Modeling Future Contexts for Session-based Recommendation
Stars: ✭ 17 (-32%)
Mutual labels:  recommender-system
ML2017FALL
Machine Learning (EE 5184) in NTU
Stars: ✭ 66 (+164%)
Mutual labels:  recommender-system
recommendation-api
Rank and serve recommendations
Stars: ✭ 14 (-44%)
Mutual labels:  recommender-system
SAE-NAD
The implementation of "Point-of-Interest Recommendation: Exploiting Self-Attentive Autoencoders with Neighbor-Aware Influence"
Stars: ✭ 48 (+92%)
Mutual labels:  recommender-system
fun-rec
推荐系统入门教程,在线阅读地址:https://datawhalechina.github.io/fun-rec/
Stars: ✭ 1,367 (+5368%)
Mutual labels:  recommender-system
recsys spark
Spark SQL 实现 ItemCF,UserCF,Swing,推荐系统,推荐算法,协同过滤
Stars: ✭ 76 (+204%)
Mutual labels:  recommender-system
AMR
This is our official implementation for the paper: Jinhui Tang, Xiaoyu Du, Xiangnan He, Fajie Yuan, Qi Tian, and Tat-Seng Chua, Adversarial Training Towards Robust Multimedia Recommender System.
Stars: ✭ 30 (+20%)
Mutual labels:  recommender-system
netflix-style-recommender
A simple movie recommendation engine
Stars: ✭ 65 (+160%)
Mutual labels:  recommender-system
Recommender-System-Pytorch
基于 Pytorch 实现推荐系统相关的算法
Stars: ✭ 40 (+60%)
Mutual labels:  recommender-system

JNSKR

This is our implementation of the paper:

Chong Chen, Min Zhang, Weizhi Ma, Yiqun Liu and Shaoping Ma. 2020. Jointly Non-Sampling Learning for Knowledge Graph Enhanced Recommendation. In SIGIR'20.

Please cite our SIGIR'20 paper if you use our codes. Thanks!

@inproceedings{chen2020jointly,
  title={Jointly Non-Sampling Learning for Knowledge Graph Enhanced Recommendation},
  author={Chen, Chong and Zhang, Min and Ma, Weizhi and Liu, Yiqun and Ma, Shaoping},
  booktitle={Proceedings of SIGIR},
  year={2020},
}

You also need to cite the KDD'19 paper if you use the datasets. Thanks!

@inproceedings{KGAT19,
  author    = {Xiang Wang and
               Xiangnan He and
               Yixin Cao and
               Meng Liu and
               Tat{-}Seng Chua},
  title     = {{KGAT:} Knowledge Graph Attention Network for Recommendation},
  booktitle = {{KDD}},
  pages     = {950--958},
  year      = {2019}
}

Author: Chong Chen ([email protected])

Baselines and Datasets

We follow the previous work, KGAT, and you can get the detailed information about the baselines and datasets in https://github.com/xiangwang1223/knowledge_graph_attention_network.

Example to run the codes

Train and evaluate our model:

python main_JNSKR.py

Train and evaluate baselines:

python main_Baselines.py

Reproducibility

For Amazon dataset:

parser.add_argument('--dropout', type=float, default=[0.8,0.7],
                        help='dropout keep_prob')
parser.add_argument('--coefficient', type=float, default=[1.0, 0.01],
                        help='weight of multi-task')
parser.add_argument('--c0', type=float, default=300,
                        help='initial weight of non-observed data')
parser.add_argument('--c1', type=float, default=600,
                        help='initial weight of non-observed knowledge data')
                        

For Yelp dataset:

parser.add_argument('--dropout', type=float, default=[0.9,0.7],
                        help='dropout keep_prob')
parser.add_argument('--coefficient', type=float, default=[1.0, 0.01],
                        help='weight of multi-task')
parser.add_argument('--c0', type=float, default=1000,
                        help='initial weight of non-observed data')
parser.add_argument('--c1', type=float, default=7000,
                        help='initial weight of non-observed knowledge data')

Suggestions for parameters

Several important parameters need to be tuned for different datasets, which are:

parser.add_argument('--dropout', type=float, default=[0.8,0.7],
                        help='dropout keep_prob')
parser.add_argument('--coefficient', type=float, default=[1.0, 0.01],
                        help='weight of multi-task')
parser.add_argument('--c0', type=float, default=300,
                        help='initial weight of non-observed data')
parser.add_argument('--c1', type=float, default=600,
                        help='initial weight of non-observed knowledge data')

Specifically, c0 and c1 determine the overall weight of non-observed data. The coefficient parameter determines the importance of different tasks in joint learning.

You can also contact us if you can not tune the parameters properly.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].