five

mOKB6

收藏
arXiv2023-05-28 更新2024-07-24 收录
下载链接:
https://github.com/dair-iitd/mokb6
下载链接
链接失效反馈
官方服务:
资源简介:
mOKB6是首个多语言开放知识库完成基准数据集,由印度理工学院德里分校创建,包含来自六种语言(包括英语)的42,000条事实数据。该数据集通过多语言指代消解和仅保留实体链接的三元组,构建了密集的开放知识库。mOKB6的创建过程涉及多语言开放信息抽取和多种过滤步骤,旨在提高事实数据的覆盖率和质量。数据集主要应用于多语言开放知识库完成任务,旨在解决不同语言间知识库链接发现的问题,特别是在资源较少的语言中。

mOKB6 is the first multilingual open knowledge base completion benchmark dataset developed by the Indian Institute of Technology Delhi, comprising 42,000 factual entries across six languages including English. This dataset constructs a dense open knowledge base via multilingual coreference resolution and by retaining only entity-linked triples. The development of mOKB6 incorporates multilingual open information extraction and multiple filtering steps, aiming to enhance the coverage and quality of the factual data. This dataset is primarily applied to multilingual open knowledge base completion tasks, targeting the challenge of knowledge base link discovery across different languages, especially low-resource languages.
提供机构:
印度理工学院德里分校
创建时间:
2022-11-14
原始信息汇总

mOKB6 数据集概述

数据集描述

mOKB6 是一个用于多语言开放知识库补全任务的数据集,包含 42K 个事实,涵盖六种语言:英语、印地语、泰卢固语、西班牙语、葡萄牙语和中文。

数据结构

数据集位于 ./mokb6/mono/ 文件夹中,包含六个单语种开放知识库:

  1. 英语开放知识库:./mokb6/mono/mono_en
  2. 印地语开放知识库:./mokb6/mono/mono_hi
  3. 泰卢固语开放知识库:./mokb6/mono/mono_te
  4. 西班牙语开放知识库:./mokb6/mono/mono_es
  5. 葡萄牙语开放知识库:./mokb6/mono/mono_pt
  6. 中文开放知识库:./mokb6/mono/mono_zh

每个单语种开放知识库文件夹包含三个文件:train.txtvalid.txttest.txt,这些文件包含以 (subject, relation, object) 形式表示的制表符分隔的开放信息抽取三元组。

数据集复现

为了复现实验结果,提供了翻译的开放知识库事实。每个基线对应的训练数据位于 ./mokb6/ 文件夹中。例如,最佳基线(除英语外)Union+Trans 使用的数据位于 ./mokb6/union+trans/ 文件夹中。

模型

在 mOKB6 数据集上,使用了来自 CaReGRU-ConvESimKGC 的知识图谱嵌入模型进行基准测试。提供了 SimKGC 模型的代码,该模型表现最佳。

运行指南

环境要求

  • python>=3.7
  • torch>=1.6
  • transformers>=4.15

安装

bash conda create --name mokb python=3.7 conda activate mokb pip install -r requirements.txt

数据预处理

创建 data 目录并预处理单语种开放知识库数据: bash mkdir data sh sh_preprocess_mono_okbs.sh

设置环境变量并预处理数据: bash baseline_data=./mokb6/union+trans/union+trans_en2hi baseline_name=union+trans_en2hi python convert_format_mokb.py --train ${baseline_data}/train.txt --val ${baseline_data}/valid.txt --test ${baseline_data}/test.txt --out_dir ./data/${baseline_name} python3 preprocess.py --train-path ./data/${baseline_name}/train.txt --valid-path ./data/${baseline_name}/valid.txt --test-path ./data/${baseline_name}/test.txt --task mopenkb

训练

设置 batch_size 并训练模型: bash batch_size=256 python3 main.py --model-dir ./checkpoint/${baseline_name} --pretrained-model bert-base-multilingual-cased --pooling mean --lr 3e-5 --train-path ./data/${baseline_name}/train.txt.json --valid-path ./data/${baseline_name}/valid.txt.json --task mopenkb --batch-size ${batch_size} --print-freq 20 --additive-margin 0.02 --use-amp --use-self-negative --finetune-t --pre-batch 0 --epochs 100 --workers 3 --max-to-keep 0 --patience 10 --seed 2022

评估

设置语言变量并评估模型: bash language=hi python3 evaluate.py --task mopenkb --pretrained-model bert-base-multilingual-cased --is-test --eval-model-path ./checkpoint/${baseline_name}/model_best.mdl --train-path data/mono_${language}/train.txt.json --valid-path data/mono_${language}/test.txt.json

引用

如果使用或扩展本工作,请引用:

@inproceedings{mittal-etal-2023-mokb6, title = "m{OKB}6: {A} {M}ultilingual {O}pen {K}nowledge {B}ase {C}ompletion {B}enchmark", author = "Mittal, Shubham and Kolluru, Keshav and Chakrabarti, Soumen and -, Mausam", booktitle = "Proceedings of the 61st Annual Meeting of the Association for Computational Linguistics (Volume 2: Short Papers)", month = jul, year = "2023", address = "Toronto, Canada", publisher = "Association for Computational Linguistics", url = "https://aclanthology.org/2023.acl-short.19", pages = "201--214", }

5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作