All Projects → xiangwang1223 → Knowledge_graph_attention_network

xiangwang1223 / Knowledge_graph_attention_network

Licence: mit
KGAT: Knowledge Graph Attention Network for Recommendation, KDD2019

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Knowledge graph attention network

Entity2rec
entity2rec generates item recommendation using property-specific knowledge graph embeddings
Stars: ✭ 159 (-73.93%)
Mutual labels:  knowledge-graph, recommender-system
Elliot
Comprehensive and Rigorous Framework for Reproducible Recommender Systems Evaluation
Stars: ✭ 49 (-91.97%)
Mutual labels:  knowledge-graph, recommender-system
Kgpolicy
Reinforced Negative Sampling over Knowledge Graph for Recommendation, WWW2020
Stars: ✭ 83 (-86.39%)
Mutual labels:  knowledge-graph, recommender-system
Nlp4rec Papers
Paper list of NLP for recommender systems
Stars: ✭ 162 (-73.44%)
Mutual labels:  knowledge-graph, recommender-system
Crslab
CRSLab is an open-source toolkit for building Conversational Recommender System (CRS).
Stars: ✭ 183 (-70%)
Mutual labels:  knowledge-graph, recommender-system
KG4Rec
Knowledge-aware recommendation papers.
Stars: ✭ 76 (-87.54%)
Mutual labels:  knowledge-graph, recommender-system
Recommender System
A developing recommender system in tensorflow2. Algorithm: UserCF, ItemCF, LFM, SLIM, GMF, MLP, NeuMF, FM, DeepFM, MKR, RippleNet, KGCN and so on.
Stars: ✭ 227 (-62.79%)
Mutual labels:  knowledge-graph, recommender-system
skywalkR
code for Gogleva et al manuscript
Stars: ✭ 28 (-95.41%)
Mutual labels:  knowledge-graph, recommender-system
Ripplenet
A tensorflow implementation of RippleNet
Stars: ✭ 434 (-28.85%)
Mutual labels:  knowledge-graph
Neural graph collaborative filtering
Neural Graph Collaborative Filtering, SIGIR2019
Stars: ✭ 517 (-15.25%)
Mutual labels:  recommender-system
Neural factorization machine
TenforFlow Implementation of Neural Factorization Machine
Stars: ✭ 422 (-30.82%)
Mutual labels:  recommender-system
Lightkg
基于Pytorch和torchtext的知识图谱深度学习框架。
Stars: ✭ 452 (-25.9%)
Mutual labels:  knowledge-graph
Deepke
基于深度学习的开源中文关系抽取框架
Stars: ✭ 525 (-13.93%)
Mutual labels:  knowledge-graph
Geistmap
An experimental personal knowledge base with a focus on connections
Stars: ✭ 425 (-30.33%)
Mutual labels:  knowledge-graph
Web kg
爬取百度百科中文页面,抽取三元组信息,构建中文知识图谱
Stars: ✭ 549 (-10%)
Mutual labels:  knowledge-graph
Kglib
Grakn Knowledge Graph Library (ML R&D)
Stars: ✭ 405 (-33.61%)
Mutual labels:  knowledge-graph
Gnn4nlp Papers
A list of recent papers about Graph Neural Network methods applied in NLP areas.
Stars: ✭ 405 (-33.61%)
Mutual labels:  knowledge-graph
Moviegeek
A django website used in the book Practical Recommender Systems to illustrate how recommender algorithms can be implemented.
Stars: ✭ 608 (-0.33%)
Mutual labels:  recommender-system
Sentibridge
SentiBridge: A Knowledge Base for Entity-Sentiment Representation
Stars: ✭ 542 (-11.15%)
Mutual labels:  knowledge-graph
Rsalgorithms
Some algorithms about traditional and social recommendation.
Stars: ✭ 500 (-18.03%)
Mutual labels:  recommender-system

Knowledge Graph Attention Network

This is our Tensorflow implementation for the paper:

Xiang Wang, Xiangnan He, Yixin Cao, Meng Liu and Tat-Seng Chua (2019). KGAT: Knowledge Graph Attention Network for Recommendation. Paper in ACM DL or Paper in arXiv. In KDD'19, Anchorage, Alaska, USA, August 4-8, 2019.

Author: Dr. Xiang Wang (xiangwang at u.nus.edu)

Introduction

Knowledge Graph Attention Network (KGAT) is a new recommendation framework tailored to knowledge-aware personalized recommendation. Built upon the graph neural network framework, KGAT explicitly models the high-order relations in collaborative knowledge graph to provide better recommendation with item side information.

Citation

If you want to use our codes and datasets in your research, please cite:

@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}
}

Environment Requirement

The code has been tested running under Python 3.6.5. The required packages are as follows:

  • tensorflow == 1.12.0
  • numpy == 1.15.4
  • scipy == 1.1.0
  • sklearn == 0.20.0

Reproducibility & Example to Run the Codes

To demonstrate the reproducibility of the best performance reported in our paper and faciliate researchers to track whether the model status is consistent with ours, we provide the best parameter settings (might be different for the custormized datasets) in the scripts, and provide the log for our trainings.

The instruction of commands has been clearly stated in the codes (see the parser function in Model/utility/parser.py).

  • Yelp2018 dataset
python Main.py --model_type kgat --alg_type bi --dataset yelp2018 --regs [1e-5,1e-5] --layer_size [64,32,16] --embed_size 64 --lr 0.0001 --epoch 1000 --verbose 50 --save_flag 1 --pretrain -1 --batch_size 1024 --node_dropout [0.1] --mess_dropout [0.1,0.1,0.1] --use_att True --use_kge True
  • Amazon-book dataset
python Main.py --model_type kgat --alg_type bi --dataset amazon-book --regs [1e-5,1e-5] --layer_size [64,32,16] --embed_size 64 --lr 0.0001 --epoch 1000 --verbose 50 --save_flag 1 --pretrain -1 --batch_size 1024 --node_dropout [0.1] --mess_dropout [0.1,0.1,0.1] --use_att True --use_kge True
  • Last-fm dataset
python Main.py --model_type kgat --alg_type bi --dataset last-fm --regs [1e-5,1e-5] --layer_size [64,32,16] --embed_size 64 --lr 0.0001 --epoch 1000 --verbose 50 --save_flag 1 --pretrain -1 --batch_size 1024 --node_dropout [0.1] --mess_dropout [0.1,0.1,0.1] --use_att True --use_kge True

Some important arguments:

Dataset

We provide three processed datasets: Amazon-book, Last-FM, and Yelp2018.

  • You can find the full version of recommendation datasets via Amazon-book, Last-FM, and Yelp2018.
  • We follow KB4Rec to preprocess Amazon-book and Last-FM datasets, mapping items into Freebase entities via title matching if there is a mapping available.
Amazon-book Last-FM Yelp2018
User-Item Interaction #Users 70,679 23,566 45,919
#Items 24,915 48,123 45,538
#Interactions 847,733 3,034,796 1,185,068
Knowledge Graph #Entities 88,572 58,266 90,961
#Relations 39 9 42
#Triplets 2,557,746 464,567 1,853,704
  • train.txt

    • Train file.
    • Each line is a user with her/his positive interactions with items: (userID and a list of itemID).
  • test.txt

    • Test file (positive instances).
    • Each line is a user with her/his positive interactions with items: (userID and a list of itemID).
    • Note that here we treat all unobserved interactions as the negative instances when reporting performance.
  • user_list.txt

    • User file.
    • Each line is a triplet (org_id, remap_id) for one user, where org_id and remap_id represent the ID of such user in the original and our datasets, respectively.
  • item_list.txt

    • Item file.
    • Each line is a triplet (org_id, remap_id, freebase_id) for one item, where org_id, remap_id, and freebase_id represent the ID of such item in the original, our datasets, and freebase, respectively.
  • entity_list.txt

    • Entity file.
    • Each line is a triplet (freebase_id, remap_id) for one entity in knowledge graph, where freebase_id and remap_id represent the ID of such entity in freebase and our datasets, respectively.
  • relation_list.txt

    • Relation file.
    • Each line is a triplet (freebase_id, remap_id) for one relation in knowledge graph, where freebase_id and remap_id represent the ID of such relation in freebase and our datasets, respectively.

Acknowledgement

Any scientific publications that use our datasets should cite the following paper as the reference:

@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}},
  year      = {2019}
}

Nobody guarantees the correctness of the data, its suitability for any particular purpose, or the validity of results based on the use of the data set. The data set may be used for any research purposes under the following conditions:

  • The user must acknowledge the use of the data set in publications resulting from the use of the data set.
  • The user may not redistribute the data without separate permission.
  • The user may not try to deanonymise the data.
  • The user may not use this information for any commercial or revenue-bearing purposes without first obtaining permission from us.

Funding Source Acknowledgement

This research is supported by the National Research Foundation, Singapore under its International Research Centres in Singapore Funding Initiative. Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not reflect the views of National Research Foundation, Singapore.

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].