- Compatible with PyTorch 1.0 and Python 3.x.
- Dependencies can be installed using
requirements.txt
.
- We use FB15k-237 and WN18RR dataset for knowledge graph link prediction.
- FB15k-237 and WN18RR are included in the
data
directory.
-
Install all the requirements from
requirements.txt.
-
Execute
./setup.sh
for extracting the dataset and setting up the folder hierarchy for experiments. -
Commands for reproducing the reported results on link prediction:
##### with TransE Score Function # CompGCN (Composition: Subtraction) python run.py -score_func transe -opn sub -gamma 9 -hid_drop 0.1 -init_dim 200 # CompGCN (Composition: Multiplication) python run.py -score_func transe -opn mult -gamma 9 -hid_drop 0.2 -init_dim 200 # CompGCN (Composition: Circular Correlation) python run.py -score_func transe -opn corr -gamma 40 -hid_drop 0.1 -init_dim 200 ##### with DistMult Score Function # CompGCN (Composition: Subtraction) python run.py -score_func distmult -opn sub -gcn_dim 150 -gcn_layer 2 # CompGCN (Composition: Multiplication) python run.py -score_func distmult -opn mult -gcn_dim 150 -gcn_layer 2 # CompGCN (Composition: Circular Correlation) python run.py -score_func distmult -opn corr -gcn_dim 150 -gcn_layer 2 ##### with ConvE Score Function # CompGCN (Composition: Subtraction) python run.py -score_func conve -opn sub -ker_sz 5 # CompGCN (Composition: Multiplication) python run.py -score_func conve -opn mult # CompGCN (Composition: Circular Correlation) python run.py -score_func conve -opn corr ##### Overall BEST: python run.py -name best_model -score_func conve -opn corr
-score_func
denotes the link prediction score score function-opn
is the composition operation used in CompGCN. It can take the following values:sub
for subtraction operation: Φ(e_s, e_r) = e_s - e_rmult
for multiplication operation: Φ(e_s, e_r) = e_s * e_rcorr
for circular-correlation: Φ(e_s, e_r) = e_s ★ e_r
-name
is some name given for the run (used for storing model parameters)-model
is name of the model `compgcn'.-gpu
for specifying the GPU to use- Rest of the arguments can be listed using
python run.py -h
Please cite the following paper if you use this code in your work.
@inproceedings{
vashishth2020compositionbased,
title={Composition-based Multi-Relational Graph Convolutional Networks},
author={Shikhar Vashishth and Soumya Sanyal and Vikram Nitin and Partha Talukdar},
booktitle={International Conference on Learning Representations},
year={2020},
url={https://openreview.net/forum?id=BylA_C4tPr}
}
For any clarification, comments, or suggestions please create an issue or contact Shikhar.