笔记整理:曲晏林,天津大学硕士,研究方向为大语言模型
论文链接:https://arxiv.org/abs/2301.10405
发表会议:AAAI 2024
1. 动机
知识图谱(Knowledge Group, KG)由三元组(头部实体、关系、尾部实体)组成,广泛应用于下游任务,如问答和推荐系统。传统的图谱嵌入方法通常基于结构化信息,如 TransE、RotatE等,但难以表示长尾实体和动态实体。基于语言模型的图谱嵌入方法(PLM-based KGE)利用预训练语言模型捕获图谱结构,并生成更具信息量的表示。然而,PLM-based KGE通常作为静态模型部署,无法适应新知识或纠正错误信息。例如,在总统选举后,需要将图谱嵌入中的“美国总统”从“Donald Trump”更新为“Joe Biden”,这种静态特性使得 PLM-based KGE 无法适应动态变化的环境,限制了其在实际应用中的价值。因此,需要一种高效的图谱嵌入编辑方法,以便快速更新图谱嵌入中的知识,保持其准确性和时效性。
2. 贡献
本文的主要贡献有:
(1)我们提出了一个新的任务,即编辑基于语言模型的KG嵌入。提出的数据集任务可以通过知识编辑为改进KG嵌入开辟新的途径。
(2)我们引入了KGEditor,它可以有效地修改不正确的知识或添加新知识,而不会影响所学知识的其余部分。
(3)我们通过对四个数据集的深入分析进行了广泛的比较,并报告了具有深刻见解的实证结果,证明了所提出方法的有效性。设计了交互式对比学习,以对齐文本和结构信息的潜在表示。
3. 方法
任务定义:
任务包括两个子任务:
EDIT: 修改错误或过时的知识。
ADD: 添加新的知识。
任务公式如下:
EDIT: p(a | ˜W, ϕ, x) ← p(y | W, ϕ, x)
保持其他知识稳定: p(y`| ˜W, ϕ, x`) ← p(y`| W, ϕ, x`)
其中,W 和 ˜W 分别表示原始和编辑后的模型参数,ϕ 表示编辑器网络的外部参数,x, y, a 和 x`, y` 分别表示输入和标签
论文提出了三个评估指标:
知识可靠性: 评估编辑或添加的知识是否能够通过链接预测正确推断。
使用 KG 完成设置,通过排名候选实体分数来生成实体列表。
定义 Success@1 指标,计算在位置 k 出现的正确三元组的数量。
知识局部性: 评估编辑图嵌入是否会影响到模型中其他已学习的知识。
引入 Retain Knowledge (RK@k) 指标,表示原始模型预测的实体仍然由编辑后的模型正确推断。
计算保留知识的比例来衡量模型编辑的稳定性。
知识效率: 评估编辑模型的效率,例如使用的训练参数数量。
使用调整参数 (包括外部模型或额外参数) 作为评估指标。
数据集构建:
作者基于 FB15k-237 和 WN18RR 两个基准数据集构建了四个数据集(E-FB15k237、A-FB15k237、E-WN18RR 和 A-WN18RR),用于 EDIT 和 ADD 任务。为了避免语言模型内部知识的干扰,作者选择了链接预测排名 >2,500 的三元组作为候选数据。对于 EDIT 任务,作者使用原始模型的 Top-1 事实替换 FB15k-237 训练集中的实体来构建预训练数据集,并使用 golden facts 作为目标编辑数据。对于 ADD 任务,作者使用 FB15k-237 的原始训练集作为预训练数据集,并使用来自归纳设置的数据作为训练数据。为了评估知识局部性,作者还创建了一个参考数据集 (L-Test),该数据集基于链接预测性能,排名值低于 k。
语言模型图嵌入:
利用语言模型进行图嵌入的两种方法:
微调 (FT-KGE): 将 KG 中的三元组视为文本序列,使用三元组的描述进行微调,如 KG-BERT
提示调整 (PT-KGE): 使用自然语言提示来激发预训练模型中的知识,如 PKGC
两种编辑 KGE 的基线模型:
外部模型编辑器: 使用超网络来学习权重更新,如 KE 和 MEND
额外参数编辑器: 引入额外的可训练参数来调整模型的最终输出,如CALINET
KGEditor:
KGEditor 是论文中提出的一个简单而有效的基线模型,用于编辑基于语言模型的图嵌入。它结合了外部模型编辑器和额外参数编辑器的优势,能够在保证编辑效果的同时,降低参数量和计算成本。
KGEditor 的模型结构如下:
(1)FFN (Feed Forward Network): 原始图嵌入模型中的前馈网络层,用于计算实体的表示。
(2)Additional FFN: 一个额外的 FFN 层,用于生成调整项,以修改 FFN 的输出。
(3)Hypernetwork: 一个超网络,用于生成 Additional FFN 的参数。
编辑过程:
首先将需要编辑的三元组 (h, r, t) 输入到 KGEditor 模型中。超网络根据输入的三元组生成 Additional FFN 的参数。Additional FFN 使用生成的参数计算调整项。最后将调整项添加到 FFN 的输出中,得到编辑后的实体表示。
知识更新:
KGEditor 可以通过修改 Additional FFN 的参数来更新知识,例如将错误的实体替换为正确的实体,或将新的三元组添加到模型中。修改 Additional FFN 的参数不会影响 FFN 的其他参数,从而保证了知识的局部性。
4. 实验
实验设置:
(1)数据集:E-FB15k237、A-FB15k237、E-WN18RR 和 A-WN18RR,分别用于 EDIT 和 ADD 任务。
(2)使用了 BERT 作为预训练模型,并使用 PT-KGE 方法初始化 KG 嵌入。
(3)使用训练数据集训练编辑器模型,并使用测试数据集评估模型的性能。
实验结果:
EDIT 任务:
作者比较了 KGEditor 与 MEND、KE、CALINET、KGE FT、KGE ZSL 和 K-Adapter 等基线模型。结果表明,KGEditor 在 Succ@1 和 RK@3 等指标上取得了最佳性能,优于其他基线模型。KGEditor 能够有效地修改错误的知识,同时不影响模型中其他已学习的知识。
ADD 任务:
作者使用相同的模型和实验设置进行了 ADD 任务的实验。结果表明,KGEditor 在 Succ@1 和 RK@3 等指标上仍然取得了最佳性能,优于其他基线模型。KGEditor 能够有效地添加新的知识,同时不影响模型中其他已学习的知识。
不同 KGE 初始化方法的比较:
作者比较了 FT-KGE 和 PT-KGE 两种 KGE 初始化方法对模型性能的影响。结果表明,PT-KGE 在 EDIT 任务中的性能优于 FT-KGE,这表明基于提示的模型更适合编辑 KG 嵌入。
编辑知识数量的影响:
作者分析了编辑知识数量对模型性能的影响。结果表明,随着编辑知识数量的增加,所有模型的 Succ@1 指标都会下降,但 KE 和 KGEditor 在 RK@3 指标上仍然保持稳定,这表明它们能够处理更多数量的编辑知识。
5. 总结
本文提出的编辑KGE模型的任务允许直接修改知识以适应特定任务,从而提高编辑过程的效率和准确性。与早期用于编辑的预训练语言模型任务相反,我们的方法依赖于KG事实来修改知识,而不使用预训练的模型知识。这些方法提高了性能,并为知识表示和推理的研究提供了重要的见解。
编辑KGE模型带来了持续的问题,特别是处理复杂的知识和多对多关系。由这种关系产生的经过编辑的事实可能使模型偏向于经过编辑的实体,而忽略了其他有效的实体。此外,实验KGE模型很小,都利用了标准BERT。然而,随着LLaMA (Touvron et al . 2023)、ChatGLM (Zeng et al . 2022)和Alpaca (Taori et al . 2023)等大规模生成模型(llm)的兴起,对llm编辑的需求也在增长。未来,我们的目标是设计具有多对多关系的知识编辑模型,并集成llm编辑技术。
OpenKG
OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。
点击阅读原文,进入 OpenKG 网站。