Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Nov 7, 2020. It is now read-only.

mana-ysh/knowledge-graph-embeddings

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

33 Commits

Repository files navigation

knowledge-graph-embeddings

Python Implementations of Embedding-based methods for Knowledge Base Completion tasks, mainly inspired by scikit-kge and complex.

List of methods

  • RESCAL [Nickel+. 2011]
  • TransE [Bordes+. 2013]
  • DistMult [Yang+. 2015]
  • HolE [Nicklel+. 2016]
    • This model is equivalent to ComplEx[Hayashi and Shimbo. 2018], and the computation cost of ComplEx is lower than of HolE.
  • ComplEx [Trouillon+. 2016]
  • ANALOGY [Liu+. 2017]
    • This model can be regarded as a hybrid between DistMult and ComplEx.

Run to train and test

For training...

▶ python train.py -h
usage: Link prediction models [-h] [--mode MODE] [--ent ENT] [--rel REL]
 [--train TRAIN] [--valid VALID]
 [--method METHOD] [--epoch EPOCH]
 [--batch BATCH] [--lr LR] [--dim DIM]
 [--margin MARGIN] [--negative NEGATIVE]
 [--opt OPT] [--l2_reg L2_REG]
 [--gradclip GRADCLIP] [--save_step SAVE_STEP]
 [--cp_ratio CP_RATIO] [--metric METRIC]
 [--nbest NBEST] [--filtered]
 [--graphall GRAPHALL] [--log LOG]
optional arguments:
 -h, --help show this help message and exit
 --mode MODE training mode ["pairwise", "single"]
 --ent ENT entity list
 --rel REL relation list
 --train TRAIN training data
 --valid VALID validation data
 --method METHOD method ["complex", "distmult", "transe", "hole",
 "rescal", "analogy"]
 --epoch EPOCH number of epochs
 --batch BATCH batch size
 --lr LR learning rate
 --dim DIM dimension of embeddings
 --margin MARGIN margin in max-margin loss for pairwise training
 --negative NEGATIVE number of negative samples for pairwise training
 --opt OPT optimizer ["sgd", "adagrad"]
 --l2_reg L2_REG L2 regularization
 --gradclip GRADCLIP gradient clipping
 --save_step SAVE_STEP
 epoch step for saving model
 --cp_ratio CP_RATIO ratio of complex's dimention in ANALOGY
 --metric METRIC evaluation metrics ["mrr", "hits"]
 --nbest NBEST n-best for hits metric
 --filtered use filtered metric
 --graphall GRAPHALL all graph file for filtered evaluation
 --log LOG output log dir

For testing...

▶ python test.py -h
usage: Link prediction models [-h] [--ent ENT] [--rel REL] [--data DATA]
 [--filtered] [--graphall GRAPHALL]
 [--method METHOD] [--model MODEL]
optional arguments:
 -h, --help show this help message and exit
 --ent ENT entity list
 --rel REL relation list
 --data DATA test data
 --filtered use filtered metric
 --graphall GRAPHALL all graph file for filtered evaluation
 --method METHOD method ["complex", "distmult", "transe", "hole",
 "rescal", "analogy"]
 --model MODEL trained model path

Experiments

WordNet (WN18)

Models MRR (flt) MRR (raw) Hits@1 (flt) Hits@3 (flt) Hits@10 (flt)
ComplEx* 94.1 58.7 93.6 94.5 94.7
ComplEx 94.3 58.2 94.0 94.6 94.8

hyper parameters

  • mode : single
  • epoch : 500
  • batch : 128
  • lr : 0.05
  • dim : 200
  • negative : 5
  • opt : adagrad
  • l2_reg : 0.001
  • gradclip : 5

FreeBase (FB15k)

Models MRR (flt) MRR (raw) Hits@1 (flt) Hits@3 (flt) Hits@10 (flt)
ComplEx* 69.2 24.2 59.9 75.9 84.0
ComplEx 69.5 24.2 59.8 76.9 85.0

hyper parameters

  • mode : single
  • epoch : 500
  • batch : 128
  • lr : 0.05
  • dim : 200
  • negative : 10
  • opt : adagrad
  • l2_reg : 0.0001
  • gradclip : 5

* means the results reported from the original papers

Dependencies

  • numpy
  • scipy

References

  • Bordes, A.; Usunier, N.; Garcia-Duran, A.; Weston, J.; and Yakhnenko, O. 2013. Translating embeddings for modeling multi-relational data. In Advances in Neural Information Processing Systems (NIPS).

  • Liu, H.; Wu, Y.; and Yang, Y. 2017. Analogical inference for multi-relational embeddings. In Proceedings of the 34th International Conference on Machine Learning (ICML).

  • Nickel, M.; Rosasco, L.; and Poggio, T. 2016. Holographic embeddings of knowledge graphs. In Proceedings of the Thirtieth AAAI Conference on Artificial Intelligence, AAAI’16.

  • Nickel, M.; Tresp, V.; and Kriegel, H.-P. 2011. A threeway model for collective learning on multi-relational data. In International Conference on Machine Learning (ICML-11), ICML ’11,

  • Trouillon, T.; Welbl, J.; Riedel, S.; Gaussier, E.; and Bouchard, G. 2016. Complex embeddings for simple link prediction. In International Conference on Machine Learning (ICML).

  • Yang, B.; Yih, W.; He, X.; Gao, J.; and Deng, L. 2015. Embedding entities and relations for learning and inference in knowledge bases. International Conference on Learning Representations 2015.

About

Implementations of Embedding-based methods for Knowledge Base Completion tasks

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /