deltaKG实用教程:动态编辑知识图谱嵌入的完整指南与案例演示
deltaKG实用教程:动态编辑知识图谱嵌入的完整指南与案例演示
【免费下载链接】PromptKGPromptKG Family: a Gallery of Prompt Learning & KG-related research works, toolkits, and paper-list.项目地址: https://gitcode.com/gh_mirrors/pr/PromptKG
deltaKG是一个基于预训练语言模型(PLM)的动态知识图谱嵌入(KGE)编辑库,支持多种基线模型如K-Adapter、CaliNet、KGEditor和MEND,可轻松处理知识图谱的添加和编辑任务。本教程将帮助新手快速掌握deltaKG的安装配置、核心功能及实际应用方法。
📌 为什么选择deltaKG?
知识图谱嵌入技术将实体和关系投影到连续向量空间,为知识推理和下游任务提供强大支持。deltaKG作为领先的动态编辑工具,具有以下优势:
- 多模型支持:集成KGEditor、MEND、K-Adapter等5种主流编辑模型
- 双任务处理:同时支持知识添加(Add)和知识编辑(Edit)操作
- 丰富数据集:兼容FB15k237、WN18RR等标准知识图谱数据集
- 高效便捷:提供一键运行脚本,简化复杂的模型训练流程
图1:deltaKG的KGEditor模型架构,展示了外部模型编辑器和附加参数编辑器的工作原理
🚀 快速安装指南
环境准备
# 克隆仓库 git clone https://gitcode.com/gh_mirrors/pr/PromptKG # 创建虚拟环境 conda create -n deltakg python=3.8 conda activate deltakg # 安装依赖 cd PromptKG/deltaKG pip install -r requirements.txt数据与 checkpoint 下载
deltaKG需要特定的数据集和预训练模型 checkpoint:
- 数据集:从Google Drive下载E-FB15k237、A-FB15k237等数据集
- Checkpoint:从Google Drive下载预训练模型权重
文件组织结构应如下:
deltaKG/ ├── checkpoints/ # 模型 checkpoint ├── datasets/ # 任务数据 │ ├── FB15k237/ │ │ ├── AddKnowledge/ │ │ └── EditKnowledge/ │ └── WN18RR/ ├── models/ # 模型实现 └── scripts/ # 运行脚本🔧 核心功能与使用方法
框架概览
deltaKG采用模块化设计,主要包含三大组件:
图2:deltaKG框架结构,展示了模型、数据处理和训练器之间的关系
- 模型模块:包含kNNKGE、SimKGC、KGT5等多种知识图谱嵌入模型
- 数据模块:提供QAPProcessor和KGCPProcessor等数据处理工具
- 训练模块:通过Lit_model统一管理各模型的训练流程
运行脚本详解
deltaKG提供便捷的run.sh脚本,支持三种参数:
-m:指定模型(如KGEditor、MEND、KE)-d:指定数据集(FB15k237或WN18RR)-t:指定任务类型(add或edit)
知识编辑任务示例
# 在E-FB15k237数据集上训练KGEditor模型 bash run.sh -m KGEditor -d FB15k237 -t edit # 在E-WN18RR数据集上训练KGEditor模型 bash run.sh -m KGEditor -d WN18RR -t edit知识添加任务示例
# 在A-FB15k237数据集上训练KGEditor模型 bash run.sh -m KGEditor -d FB15k237 -t add # 在A-WN18RR数据集上训练KGEditor模型 bash run.sh -m KGEditor -d WN18RR -t add📊 实验结果与性能对比
deltaKG在多个数据集上进行了充分验证,以下是部分关键结果:
E-FB15k237编辑任务性能
| 模型 | Succ@1 | Succ@3 | ER_roc | RK@3 | RK_roc |
|---|---|---|---|---|---|
| Finetune | 0.472 | 0.746 | 0.998 | 0.543 | 0.977 |
| K-Adapter | 0.329 | 0.348 | 0.926 | 0.001 | 0.999 |
| MEND | 0.828 | 0.950 | 0.954 | 0.750 | 0.993 |
| KGEditor | 0.866 | 0.986 | 0.999 | 0.874 | 0.635 |
A-WN18RR添加任务性能
| 模型 | Succ@1 | Succ@3 | ER_roc | RK@3 | RK_roc |
|---|---|---|---|---|---|
| Finetune | 0.997 | 0.999 | 0.999 | 0.554 | 0.996 |
| KE | 0.986 | 0.996 | 0.999 | 0.975 | 0.090 |
| MEND | 0.999 | 1.0 | 0.999 | 0.810 | 0.987 |
| KGEditor | 0.998 | 1.0 | 0.999 | 0.956 | 0.300 |
从实验结果可以看出,KGEditor在大多数指标上表现最优,尤其在Succ@1和Succ@3指标上显著领先其他模型。
💡 使用技巧与注意事项
- 参数调优:各模型的配置文件位于
deltaKG/models/MEND/config/目录,可根据需求调整超参数 - 任务选择:编辑任务(edit)适用于修改现有知识,添加任务(add)适用于扩展新知识
- 性能监控:训练过程中会自动生成日志文件,可通过TensorBoard查看训练曲线
- 模型保存:训练完成的模型会自动保存到
checkpoints/目录,可用于后续推理
📚 相关资源
- 源码地址:deltaKG/models/
- 运行脚本:deltaKG/scripts/
- 数据集配置:deltaKG/config.yaml
- 论文参考:Editing Language Model-based Knowledge Graph Embeddings
通过本教程,您已经掌握了deltaKG的基本使用方法。无论是学术研究还是实际应用,deltaKG都能为知识图谱的动态编辑提供强大支持。开始探索知识图谱嵌入的精彩世界吧!
【免费下载链接】PromptKGPromptKG Family: a Gallery of Prompt Learning & KG-related research works, toolkits, and paper-list.项目地址: https://gitcode.com/gh_mirrors/pr/PromptKG
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
