This is the PyTorch implementation for the paper Tag-aware Knowledge Graph Attention Network in Knowledge-Based Systems.
The code has been tested running under Python 3.6.8. The required packages are as follows:
- torch == 1.3.1
- dgl-cu90 == 0.4.1
- numpy == 1.15.4
- pandas == 0.23.1
- scipy == 1.1.0
- sklearn == 0.20.0
- TKGAT
python main_tkgat.py --data_name movielens
-
FM
- Proposed in Fast context-aware recommendations with factorization machines, SIGIR2011.
-
NFM
- Proposed in Neural Factorization Machines for Sparse Predictive Analytics, SIGIR2017.
-
BPRMF
- Proposed in BPR: Bayesian Personalized Ranking from Implicit Feedback, UAI2009.
- Key point:
- Replace point-wise with pair-wise.
-
ECFKG
- Proposed in Learning Heterogeneous Knowledge Base Embeddings for Explainable Recommendation, Algorithm2018.
- Implementation by the paper authors: https://github.com/evison/KBE4ExplainableRecommendation
- Key point:
- Introduce Knowledge Graph to Collaborative Filtering
-
CKE
- Proposed in Collaborative Knowledge Base Embedding for Recommender Systems, KDD2016.
- Key point:
- Leveraging structural content, textual content and visual content from the knowledge base.
- Use TransR which is an approach for heterogeneous network, to represent entities and relations in distinct semantic space bridged by relation-specific matrices.
- Performing knowledge base embedding and collaborative filtering jointly.
-
KGAT
- Proposed in KGAT: Knowledge Graph Attention Network for Recommendation, KDD2019.
- Implementation by the paper authors: https://github.com/xiangwang1223/knowledge_graph_attention_network
- Key point:
- Model the high-order relations in collaborative knowledge graph to provide better recommendation with item side information.
- Train KG part and CF part in turns.