AAAI 2024|基于预训练模型的知识图谱嵌入编辑

2024-01-06 13:25 199 阅读 ID:1771
将门
将门

本文提出了一种基于预训练语言模型的知识图谱嵌入编辑方法——KGEditor。不同于直接编辑大型语言模型内部的知识,知识图谱嵌入编辑是针对知识图谱中的事实性知识进行操作。并且编辑知识图谱嵌入需要考虑知识的复杂结构,比如一对多,多对多等知识结构。

论文题目:

Editing Language Model-based Knowledge Graph Embeddings

论文链接:

https://arxiv.org/abs/2301.10405

代码链接:

https://github.com/zjunlp/PromptKG/tree/main/deltaKG

Demo链接:

https://huggingface.co/spaces/zjunlp/KGEditor

一、引言

知识图谱和大型语言模型都是用来表示和处理知识的手段。不同于大型语言模型,知识图谱中的知识通常是结构化的,这样的结构让其具有更强的准确性和可解释性。知识图谱嵌入(Knowledge Graph Embedding,KGE)是一种将知识图谱中的实体和关系转化为低维度、连续的向量空间表示的技术。这种转化使得复杂的关系和属性能够以向量形式表达,从而便于机器学习算法进行处理。这些技术为各种知识密集型任务(例如信息检索、问答和推荐系统)提供了宝贵的后端支持。最近的一些工作表明,基于预训练语言模型的知识图谱嵌入可以充分利用文本信息进而取得较好的知识图谱表示性能。

然而,现有的知识图谱嵌入模型一般是作为一个静态工件被部署在服务中,一经训练好知识图谱表示模型就很难适应新出现的实体以及处理事实知识发生修改的情况,比如,如果让一个在2021年以前训练的知识图谱表示模型去预测<美国、现任总统、?>,那么它最有可能给出的答案是唐纳德·特朗普。但是随着美国总统大选举行,总统换届,到2021年总统就变成了乔·拜登。因此,如何高效地修改其中过时或错误的知识成为了一个挑战。

为解决这一问题,本文提出了一种基于预训练语言模型的知识图谱嵌入编辑方法——KGEditor。不同于直接编辑大型语言模型内部的知识,知识图谱嵌入编辑是针对知识图谱中的事实性知识进行操作。并且编辑知识图谱嵌入需要考虑知识的复杂结构,比如一对多,多对多等知识结构。

二、方法

2.1 任务定义

随着外部世界的变化,需要将新的事实加入到现有KG中去。因此有必要将这些新的三元组知识灵活地插入到KGE中。所以引出了第二个子任务ADD,其目的是将前一阶段训练中没有的全新知识植入到模型中去,这类似于KG中的归纳推理设置,但是整个模型是不需要重新训练的。这两种任务示意如图所示:

本文将编辑KGE模型的任务整体定义如下:

2.2 Metrics

2.3 模型选择

2.4 Datasets

为了构建知识图谱编辑数据集,本文借助了目前知识图谱中常见的两个基准数据集: FB15k237和WN18RR。

EDIT Task: 未来确定编辑对象,本文收集了在KGE模型链接预测任务上具有挑战性的数据。即本文采样了链接预测中,实体排序在 2,500 以上的数据(模型难以预测正确的三元组补全数据)。对于稳定性测试集,本文将模型原本能够预测保持在 top k的数据保留下来,做为L-test 数据集。其构建的具体流程如图所示:

ADD Task: 对于ADD任务数据集构建,本文采用了知识图谱补全任务中的归纳推理任务设定(利用已有的知识图谱中的信息来预测或推断缺失的关系和实体),测试数据集中的实体知识都是在训练中没有见过的,所以可以看作为新增的知识。


在FB15k-237和WN18RR上本文都采用相同的数据集设定,处理方式也保持一致。通过以上操作,本文最终可以得到以下四个数据集:E-FB15k237,A-FB15k237,E-WN18RR,和A-WN18RR。其中具体的统计如表所示:

2.5 KGEditor

本文首先在一些通用的知识编辑方法上进行初步的实验测定,发现现有的知识编辑方法存在以下问题。首先基于额外参数的编辑方法CaliNet不管是在Edit还是ADD任务上,表现都比较一般,其效果不如给予额外模型的编辑方法,如MEND和KE等。但是MEND和KE的编辑效率是低的,其额外模型的参数需要去生成网络参数,所以其编辑所需要训练的参数也会随着隐藏层纬度的增大而增加,不会比微调的方式更节约资源。所以本文总结两种方法的优缺点,通过综合两者的优势,提出了一个新的编辑方法:Knowledge Graph Embeddings Editor(KGEditor),其具体示意如图所示:

<br>

KGEditor可以在不丢失编辑性能的前提下,尽可能节约编辑的资源开销。这样可以节约更多的资源实现更加高效的编辑。直观上来讲,本文构建了一个与FFN架构相同的附加层,并利用其参数进行知识编辑。但是额外FFN层的参数不是依靠微调训练,而是利用额外的超网络来生成附加层的额外调整参数。其公式如下:

三、实验

3.1 实验结果

本文利用现有的一些主流知识编辑范式与KGEditor进行比较,其中具体包括CALINET、MEND和Knowledge Editor。为了对照,本文对一些其他基础范式基线也进行了对比,首先是直接在少量更新知识上进行微调的范式和Zero-Shot的方法。其次对于K-Adapter这种使用额外参数的方法与CALINET进行比较,其中具体的实验结果如下所示。

此外,本文还研究了在知识图谱表示编辑过程中,不同数量的编辑事实对模型性能的影响。通过在E-FB15k237数据集上进行不同数量编辑的实验,本文分析了编辑数量对知识可靠性和局部性的影响。其中主要关注三种模型:KE、MEND以及KGEditor在不同编辑数量下的表现,结果如下所示。

本文还探讨和评估不同基于预训练的知识图谱表示初始化方法在编辑范式上的应用效果。通过在EDIT任务上对FT-KGE和PT-KGE的方法进行实验,本文分析了它们在知识可靠性和局部性方面的性能表现,结果如图所示。

3.2 Case分析

我们随机挑选了一个编辑的Case,并通过可视化展示了编辑前后的实体变化来更清晰地观察KGEditor的性能表现。下图展示了知识编辑应用前后,预测实体位置的显著变化。即在对模型进行编辑后,正确的实体明显靠近圆心,展示了编辑KGE模型的有效性。

四、Demo

为了方便读者更直观了解我们的工作,我们在huggingface的Space平台,利用Gradio去搭建了一个简易Demo。我们会在结果处展示编辑前后预测实体的变化,具体如下图所示。

五、总结

本文主要介绍了知识图谱嵌入模型的编辑工作。区别于传统的编辑预训练语言模型的任务,KGE编辑是基于知识图谱中的事实性知识进行操作。此外,本文提出了一个新的编辑方法——KGEditor。KGEditor是一种高效修改模型中知识的一种方法,能够有效地节约计算资源的开销。此外,我们的工作还有一些不足之处,比如如何去编辑知识图谱中的一对多以及多对多知识?如何在KGE模型中做到持续更新?这都是一些未来的工作。

Illustration From IconScout By WOOBRO LTD

-The End-

免责声明:作者保留权利,不代表本站立场。如想了解更多和作者有关的信息可以查看页面右侧作者信息卡片。
反馈
to-top--btn