malllabiisc / Hyte
Licence: apache-2.0
EMNLP 2018: HyTE: Hyperplane-based Temporally aware Knowledge Graph Embedding
Stars: ✭ 130
Programming Languages
python
139335 projects - #7 most used programming language
Projects that are alternatives of or similar to Hyte
Simple
SimplE Embedding for Link Prediction in Knowledge Graphs
Stars: ✭ 104 (-20%)
Mutual labels: knowledge-graph, knowledge-base
Awesome Knowledge Management
A curated list of amazingly awesome articles, people, applications, software libraries and projects related to the knowledge management space
Stars: ✭ 758 (+483.08%)
Mutual labels: knowledge-graph, knowledge-base
Dynamic Kg
Dynamic (Temporal) Knowledge Graph Completion (Reasoning)
Stars: ✭ 381 (+193.08%)
Mutual labels: knowledge-graph, knowledge-base
Workbase
Grakn Workbase (Knowledge IDE)
Stars: ✭ 106 (-18.46%)
Mutual labels: knowledge-graph, knowledge-base
Stock Knowledge Graph
利用网络上公开的数据构建一个小型的证券知识图谱/知识库
Stars: ✭ 1,182 (+809.23%)
Mutual labels: knowledge-graph, knowledge-base
Logseq
A privacy-first, open-source platform for knowledge management and collaboration. Desktop app download link: https://github.com/logseq/logseq/releases, roadmap: https://trello.com/b/8txSM12G/roadmap
Stars: ✭ 8,210 (+6215.38%)
Mutual labels: knowledge-base, knowledge-graph
Atomspace
The OpenCog (hyper-)graph database and graph rewriting system
Stars: ✭ 495 (+280.77%)
Mutual labels: knowledge-graph, knowledge-base
typedb-loader
TypeDB Loader - Data Migration Tool for TypeDB
Stars: ✭ 43 (-66.92%)
Mutual labels: knowledge-graph, knowledge-base
Bbw
Semantic annotator: Matching CSV to a Wikibase instance (e.g., Wikidata) via Meta-lookup
Stars: ✭ 42 (-67.69%)
Mutual labels: knowledge-graph, wikidata
Graphvite
GraphVite: A General and High-performance Graph Embedding System
Stars: ✭ 865 (+565.38%)
Mutual labels: knowledge-graph, representation-learning
Smore
SMORe: Modularize Graph Embedding for Recommendation
Stars: ✭ 307 (+136.15%)
Mutual labels: knowledge-graph, representation-learning
Capse
A Capsule Network-based Embedding Model for Knowledge Graph Completion and Search Personalization (NAACL 2019)
Stars: ✭ 114 (-12.31%)
Mutual labels: knowledge-graph, knowledge-base
Graphbrain
Language, Knowledge, Cognition
Stars: ✭ 294 (+126.15%)
Mutual labels: knowledge-graph, knowledge-base
Ccks2019 el
CCKS 2019 中文短文本实体链指比赛技术创新奖解决方案
Stars: ✭ 326 (+150.77%)
Mutual labels: knowledge-graph, knowledge-base
Pykg2vec
Python library for knowledge graph embedding and representation learning.
Stars: ✭ 280 (+115.38%)
Mutual labels: knowledge-graph, representation-learning
Athens
Free self-hosted desktop app: https://github.com/athensresearch/athens/releases; Try the demo at https://athensresearch.github.io/athens; Docs viewable at https://athensresearch.github.io/docs/
Stars: ✭ 5,501 (+4131.54%)
Mutual labels: knowledge-graph, knowledge-base
typedb
TypeDB: a strongly-typed database
Stars: ✭ 3,152 (+2324.62%)
Mutual labels: knowledge-graph, knowledge-base
awesome-ontology
A curated list of ontology things
Stars: ✭ 73 (-43.85%)
Mutual labels: knowledge-graph, knowledge-base
Knowledge Graphs
A collection of research on knowledge graphs
Stars: ✭ 845 (+550%)
Mutual labels: knowledge-graph, representation-learning
Soweego
Link Wikidata items to large catalogs
Stars: ✭ 74 (-43.08%)
Mutual labels: knowledge-graph, wikidata
HyTE
HyTE: Hyperplane-based Temporally aware Knowledge Graph Embedding
Source code and dataset for EMNLP 2018 paper: HyTE: Hyperplane-based Temporally aware Knowledge Graph Embedding.
Overview of HyTE (proposed method). a temporally aware
KG embedding method which explicitly incorporates time in the entity-relation space by
stitching each timestamp with a corresponding hyperplane. HyTE not only performs KG
inference using temporal guidance, but also predicts temporal scopes for relational facts with missing time annotations. Please refer paper for more details.
Dependencies
- Compatible with TensorFlow 1.x and Python 3.x.
- Dependencies can be installed using
requirements.txt
.
Dataset:
- Download the processed version of WikiData and YAGO datasets.
- Unzip the
.zip
file indata
directory. - Documents are originally taken from YAGO and Wikidata.
Usage:
- After installing python dependencies from
requirements.txt
. -
time_proj.py
contains TensorFlow (1.x) based implementation of HyTE (proposed method). - To start training:
python time_proj.py -name yago_data_neg_sample_5_mar_10_l2_0.00 -margin 10 -l2 0.00 -neg_sample 5 -gpu 5 -epoch 2000 -data_type yago -version large -test_freq 5
- Some of the important Available options include:
'-data_type' default ='yago', choices = ['yago','wiki_data'], help ='dataset to choose'
'-version', default = 'large', choices = ['large','small'], help = 'data version to choose'
'-test_freq', default = 25, type=int, help='testing frequency'
'-neg_sample', default = 5, type=int, help='negative samples for training'
'-gpu', dest="gpu", default='1', help='GPU to use'
'-name', dest="name", help='Name of the run'
'-lr', dest="lr", default=0.0001, type=float, help='Learning rate'
'-margin', dest="margin", default=1, type=float, help='margin'
'-batch', dest="batch_size", default= 50000, type=int, help='Batch size'
'-epoch', dest="max_epochs", default= 5000, type=int, help='Max epochs'
'-l2', dest="l2", default=0.0, type=float, help='L2 regularization'
'-seed', dest="seed", default=1234, type=int, help='Seed for randomization'
'-inp_dim', dest="inp_dim", default = 128, type=int, help='')
'-L1_flag', dest="L1_flag", action='store_false', help='Hidden state dimension of FC layer'
Evaluation:
- Validate after Training.
- Use the same model name and test frequency used at training as arguments for the following evalutation--
- For getting best validation MR and [email protected] for head and tail prediction:
python result_eval.py -eval_mode valid -model yago_data_neg_sample_5_mar_10_l2_0.00 -test_freq 5
- For getting best validation MR and [email protected] for relation prediction:
python result_eval_relation.py -eval_mode valid -model yago_data_neg_sample_5_mar_10_l2_0.00 -test_freq 5
The Evaluation run will output the Best Validation Rank
and the corresponding Best Validation Epoch
when it was achieved. Note them down for obtaining results on test set.
Testing:
- Test after validation using the best validation weights.
- First run the
time_proj.py
script once to restore parameters and then dump the predictions corresponding the the test set.
python time_proj.py -res_epoch `Best Validation Epoch` -onlyTest -restore -name yago_data_neg_sample_5_mar_10_l2_0.00 -margin 10 -l2 0.00 -neg_sample 5 -gpu 0 -data_type yago -version large
- Now evaluate the test predictions to obtain MR and [email protected] using
python result_eval.py -eval_mode test -test_freq `Best Validation Epoch` -model yago_data_neg_sample_5_mar_10_l2_0.00
Citing:
InProceedings{D18-1225,
author = "Dasgupta, Shib Sankar
and Ray, Swayambhu Nath
and Talukdar, Partha",
title = "HyTE: Hyperplane-based Temporally aware Knowledge Graph Embedding",
booktitle = "Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing",
year = "2018",
publisher = "Association for Computational Linguistics",
pages = "2001--2011",
location = "Brussels, Belgium",
url = "http://aclweb.org/anthology/D18-1225"
}
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].