/smore

Primary LanguagePythonApache License 2.0Apache-2.0

SMORE: Knowledge Graph Completion and Multi-hop Reasoning in Massive Knowledge Graphs

SMORE is a a versatile framework that scales multi-hop query embeddings over KGs. SMORE can easily train query embeddings on Freebase KG with more than 86M nodes and 338M edges on a single machine. For more details, please refer to our paper.

Overview

SMORE designs an optimized pipeline with the following features.

  • Multi-GPU Training
  • Bidirectional Online Query Sampling

Installation

First clone the repository, and install the package dependency required in the requirements.txt.

Then navigate to the root folder of the project and do

git submodule update --init
pip install -e .

Models

SMORE supports six different singel / multi-hop reasoning methods on KG.

Examples

Please see the example script of each methods under smore/training folder. We provide example scripts of the six query emebddings on six KGs.

Contributing

We welcome pull request, please check CONTRIBUTING.md for more details.

Citations

If you use this repo, please cite the following paper.

@misc{ren2021smore,
      title={SMORE: Knowledge Graph Completion and Multi-hop Reasoning in Massive Knowledge Graphs}, 
      author={Hongyu Ren and Hanjun Dai and Bo Dai and Xinyun Chen and Denny Zhou and Jure Leskovec and Dale Schuurmans},
      year={2021},
      eprint={2110.14890},
      archivePrefix={arXiv},
      primaryClass={cs.LG}
}

License

SMORE is licensed under the Apache License, Version 2.0.

This is not an officially supported Google product.

Contact hyren@cs.stanford.edu and hadai@google.com for questions about the repo.