A Prompt Learning Framework for Knowledge Graph with Pre-trained Language Models across tasks (predictive and generative), and modalities (language, image, vision + language, etc.)
Correlative Toolkit:
DeepKE:A Deep Learning Based Knowledge Extraction Toolkit for Knowledge Graph Construction
Paper: PromptKG: A Prompt Learning Framework for Knowledge Graph Representation Learning and Application
| Directory | Description |
|---|---|
| toolkit | • A prompt-based toolkit for knowledge graph construction and application |
| research | • A collection of research model implementations in Pytorch by researchers |
| tutorial-notebooks | • Tutorial notebooks for beginners |
Create the conda env.
conda create -n promptkg python=3.8Install the dependence.
pip install -r requirements.txtInstall our preprocessed datasets and put them into the dataset folder.
| Dataset (KGC) | Google Drive | Baidu Cloud |
|---|---|---|
| WN18RR | google drive | baidu drive axo7 |
| FB15k-237 | google drive | baidu drive ju9t |
| MetaQA | google drive | baidu drive hzc9 |
| KG20C | google drive | baidu drive stnh |
We provide four tasks in our toolkit as Knowledgeg Graph Completion (KGC), Question Answering (QA), Recomandation (REC) and LAnguage Model Analysis (LAMA).
-
KGCis our basic task to the knowledge graph embedding and evaluate the ability of the models. ** You can run the script underkgcfolder to train the model and get the KG embeddings (takesimkgcas example).bash ./scripts/kgc/simkgc.sh
-
For
QAtask, you can run the script files undermetaqa. ** We suggest you use generative model to solve theQAtask as below:bash ./scripts/metaqa/run.sh
-
For
RECtask, you need to firstly get the KG embeddings and then train the rec system models. ** use two-stage scripts below:bash ./scripts/kgrec/pretrain_item.sh bash ./scripts/kgrec/ml20m.sh
-
For
LAMAtask, you can use the files underlama. ** We provideBERTandRoBERTaPLMs to evaluate their performance and with our KG embeddings (plet).bash ./scripts/lama/lama_roberta.sh
| Models | KGC | QA | REC | LAMA |
|---|---|---|---|---|
| KG-BERT | ✔ | ✔ | ||
| GenKGC | ✔ | |||
| KGT5 | ✔ | ✔ | ||
| kNN-KGE | ✔ | ✔ | ✔ | |
| SimKGC | ✔ |
For each knowledge graph, we have 5 files.
train.tsv,dev.tsv,test.tsv, list as (h, r, t) for entity id and relation id (start from 0).entity2text.txt, as (entity_id, entity description).relation2text.txt, as (relation_id, relation description).
For help or issues using the models, please submit a GitHub issue.
If you use the code, please cite the following paper:
@article{DBLP:journals/corr/abs-2210-00305,
author = {Xin Xie and
Zhoubo Li and
Xiaohan Wang and
Shumin Deng and
Feiyu Xiong and
Huajun Chen and
Ningyu Zhang},
title = {PromptKG: {A} Prompt Learning Framework for Knowledge Graph Representation
Learning and Application},
journal = {CoRR},
volume = {abs/2210.00305},
year = {2022},
url = {https://doi.org/10.48550/arXiv.2210.00305},
doi = {10.48550/arXiv.2210.00305},
eprinttype = {arXiv},
eprint = {2210.00305},
timestamp = {Fri, 07 Oct 2022 15:24:59 +0200},
biburl = {https://dblp.org/rec/journals/corr/abs-2210-00305.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
