Skip to content

A Capsule Network-based Embedding Model for Knowledge Graph Completion and Search Personalization (NAACL 2019)

License

Notifications You must be signed in to change notification settings

daiquocnguyen/CapsE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
Dai Quoc Nguyen
Apr 14, 2021
f6f0a69 · Apr 14, 2021

History

51 Commits
Jun 11, 2019
Nov 3, 2018
Jun 4, 2019
Feb 21, 2019
Oct 28, 2019
Dec 15, 2019
Apr 14, 2021
Nov 27, 2018
Jun 12, 2019
Nov 3, 2018
Dec 14, 2019
Nov 27, 2018
Nov 3, 2018
Jun 4, 2019
Nov 12, 2018
Aug 11, 2019

Repository files navigation

A Capsule Network-based Embedding Model for Knowledge Graph Completion and Search PersonalizationTwitter

GitHub top languageGitHub repo sizeGitHub last commitGitHub forksGitHub starsGitHub

This program provides the implementation of the capsule network-based model CapsE as described in the paper:

    @InProceedings{Nguyen2019CapsE,
      author={Dai Quoc Nguyen and Thanh Vu and Tu Dinh Nguyen and Dat Quoc Nguyen and Dinh Phung},
      title={A Capsule Network-based Embedding Model for Knowledge Graph Completion and Search Personalization},
      booktitle={Proceedings of the 2019 Annual Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies (NAACL-HLT)},
      year={2019},
      pages={2180--2189}
      }

Usage

Requirements

  • Python 3
  • Tensorflow >= 1.6

Training

    $ python CapsE.py --embedding_dim 100 --num_epochs 31 --num_filters 50 --learning_rate 0.0001 --name FB15k-237 --useConstantInit --savedEpochs 30 --model_name fb15k237
    
    $ python CapsE.py --embedding_dim 100 --num_epochs 31 --num_filters 400 --learning_rate 0.00001 --name WN18RR --savedEpochs 30 --model_name wn18rr

Evaluation metrics

Depending on the memory resources, you should change the values of --num_splits to a suitable value to get a faster process. To get the results (supposing num_splits = 8):

    $ python evalCapsE.py --embedding_dim 100 --num_filters 50 --name FB15k-237 --useConstantInit --model_index 30 --model_name fb15k237 --num_splits 8 --decode
    
    $ python evalCapsE.py --embedding_dim 100 --num_filters 400 --name WN18RR --model_index 30 --model_name wn18rr --num_splits 8 --decode

Note SEARCH17

As in an agreement, you have to cite the paper Search Personalization with Embeddings whenever SEARCH17 is used to produce your published results. Unzip doc2vec.200.zip in the data/SEARCH17 folder.

At the moment, I cannot release the text because of the privacy issues.

License

Please cite the paper whenever CapsE is used to produce published results or incorporated into other software. As a free open-source implementation, CapsE is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. All other warranties including, but not limited to, merchantability and fitness for purpose, whether express, implied, or arising by operation of law, course of dealing, or trade usage are hereby disclaimed. I believe that the programs compute what I claim they compute, but I do not guarantee this. The programs may be poorly and inconsistently documented and may contain undocumented components, features or modifications. I make no guarantee that these programs will be suitable for any application.

CapsE is is licensed under the Apache License 2.0.