Skip to content
SimplE Embedding for Link Prediction in Knowledge Graphs
Branch: master
Clone or download
Latest commit 7c9edc7 Feb 22, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
fb15k Publishing code on GitHub Feb 13, 2018
wn18 Publishing code on GitHub Feb 13, 2018
.gitignore
LICENSE Publishing code on GitHub Feb 13, 2018
TransE.py Publishing code on GitHub Feb 13, 2018
complEx.py
main.py Publishing code on GitHub Feb 13, 2018
params.py Publishing code on GitHub Feb 13, 2018
reader.py Publishing code on GitHub Feb 13, 2018
readme.md Update readme.md Feb 23, 2019
simplE_avg.py Publishing code on GitHub Feb 13, 2018
simplE_ignr.py Publishing code on GitHub Feb 13, 2018
tensor_factorizer.py Publishing code on GitHub Feb 13, 2018
trainer_tester.py Publishing code on GitHub Feb 13, 2018

readme.md

NEW

A much faster version (in PyTorch) is available here: https://github.com/baharefatemi/SimplE

Summary

This software can be used to reproduce the results in our "SimplE Embedding for Link Prediction in Knowledge Graphs" paper. It can be also used to learn SimplE models for other datasets. The software can be also used as a framework to implement new tensor factorization models (implementations for TransE and ComplEx are included as two examples).

Dependencies

  • Python version 2.7 or higher
  • Numpy version 1.13.1 or higher
  • Tensorflow version 1.1.0 or higher

Usage

To run a model M on a dataset D, do the following steps:

  • cd to the directory where main.py is
  • Run python main.py -m M -d D

Examples (commands start after $):

$ python main.py -m SimplE_ignr -d wn18
$ python main.py -m SimplE_avg -d fb15k
$ python main.py -m ComplEx -d wn18

Running a model M on a dataset D will save the embeddings in a folder with the following address:

$ <Current Directory>/M_weights/D/

As an example, running the SimplE_ignr model on wn18 will save the embeddings in the following folder:

$ <Current Directory>/SimplE_ignr_weights/wn18/

Learned Embeddings for SimplE

The best embeddings learned for SimplE_ignr and SimplE_avg on wn18 and fb15k can be downloaded from this link and this link respectively.

To use these embeddings, place them in the same folder as main.py, load the embeddings and use them.

Publication

Refer to the following publication for details of the models and experiments.

Cite SimplE

If you use this package for published work, please cite one (or both) of the following:

@inproceedigs{kazemi2018simple,
  title={SimplE Embedding for Link Prediction in Knowledge Graphs},
  author={Kazemi, Seyed Mehran and Poole, David},
  booktitle={Advances in Neural Information Processing Systems},
  year={2018}
}

@phdthesis{Kazemi_2018, 
  series={Electronic Theses and Dissertations (ETDs) 2008+}, 
  title={Representing and learning relations and properties under uncertainty}, 
  url={https://open.library.ubc.ca/collections/ubctheses/24/items/1.0375812}, 
  DOI={http://dx.doi.org/10.14288/1.0375812}, 
  school={University of British Columbia}, 
  author={Kazemi, Seyed Mehran}, 
  year={2018}, 
  collection={Electronic Theses and Dissertations (ETDs) 2008+}
}

Contact

Seyed Mehran Kazemi

Computer Science Department

The University of British Columbia

201-2366 Main Mall, Vancouver, BC, Canada (V6T 1Z4)

http://www.cs.ubc.ca/~smkazemi/

smkazemi@cs.ubc.ca

License

Licensed under the GNU General Public License Version 3.0. https://www.gnu.org/licenses/gpl-3.0.en.html

Copyright (C) 2018 Seyed Mehran Kazemi

You can’t perform that action at this time.