4 知识图谱增强的LLMs
大语言模型(LLMs)在许多自然语言处理任务中取得了令人期待的结果。然而,LLMs因缺乏实用知识和在推理过程中容易产生事实性错误而受到批评。为了解决这个问题
,研究人员提出了将知识图谱(KGs)与LLMs结合来增强其能力。在本节中,我们首先介绍知识图谱增强的LLM预训练,其目标是在预训练阶段向LLMs注入知识。接着,我们介绍知识图谱增强的LLM推理,它使LLMs在生成句子时能够考虑最新的知识。最后,我们介绍知识图谱增强的LLM可解释性,旨在通过使用知识图谱来提高LLMs的可解释性。
表2
集成知识图谱以增强LLMs的典型方法。E:百科全书类知识图谱,C:常识类知识图谱,D:领域特定类知识图谱。
4.1 知识图谱增强的LLM预训练
现有的大型语言模型(LLMs)大多依赖于在大规模语料库上的无监督训练。虽然这些模型在下游任务上表现出色,但它们通常缺乏与现实世界相关的实际知识
。将知识图谱(KGs)整合到LLMs的预训练过程中可以弥补这一不足。该方向的研究可以分为三类:1)将知识图谱整合到训练目标中,2)将知识图谱整合到LLMs的输入中,3)知识图谱的指令微调。
4.1.1 将知识图谱整合到训练目标中
在这一类研究中,核心思想是设计知识感知的训练目标,通过增加知识实体的曝光量或利用知识与输入文本的关联来增强预训练过程。研究方法主要分为以下两类:
1. 暴露更多的知识实体
一些研究通过增加知识实体的曝光量,让语言模型(LLMs)在预训练阶段更好地学习和理解知识。这些方法的核心是通过控制预训练过程中知识实体和词汇的训练策略,提升模型对知识和语义的捕捉能力。
1. GLM [102]:利用知识图谱结构分配掩码概率
- 英文全称:General Language Model
- 中文翻译:通用语言模型
- 核心思想:GLM 通过知识图谱中实体的结构来决定在预训练中如何掩码这些实体。模型根据实体与输入文本的关系,分配不同的掩码概率。
- 具体做法:
- 跳数确定实体重要性:跳数是指实体与输入词之间的图谱距离。知识图谱中与输入词距离(跳数)较近的实体,被认为与输入文本关系更紧密,也更重要。
- 掩码概率:重要的实体会被赋予更高的掩码概率,即它们更频繁地被隐藏,迫使模型在训练中更多地关注这些实体,提升对它们的学习。
- 目的:通过这种机制,模型能够重点学习与输入文本紧密相关的实体及其知识,从而增强模型的知识捕捉能力。
2. E-BERT [103]:平衡词级损失与实体级损失
- 英文全称:Entity-BERT
- 中文翻译:实体BERT
- 核心思想:E-BERT 通过在训练中平衡词汇和实体的学习过程,确保模型能够同时有效地学习词汇和知识实体。
- 具体做法:
- 词级训练损失:指模型在预测文本中的普通词汇时产生的损失,类似于BERT中的标准掩码语言建模任务。
- 实体级训练损失:指模型在识别或预测文本中的知识实体时产生的损失,涉及知识图谱中的实体。
- 动态调整比重:E-BERT 监控每次训练中的词级和实体级损失,并根据它们的值动态调整词与实体的训练比重,确保模型在两者之间取得平衡。
- 目的:通过平衡词汇和实体的学习,E-BERT 让模型不仅能够很好地理解普通词汇的语义,还能深入学习知识图谱中的实体关系和信息。
3. SKEP [124]:引入情感词汇的预训练
- 英文全称:Sentiment Knowledge Enhanced Pre-training
- 中文翻译:情感知识增强的预训练
- 核心思想:SKEP 将情感知识引入LLMs的预训练中,使模型能够更好地理解带有积极和消极情感的词汇及其语义。
- 具体做法:
- 情感词汇识别:通过PMI(Pointwise Mutual Information,点互信息),SKEP 利用预先设定的情感词库,自动识别带有情感倾向的词汇,如表示积极情感的词(“精彩”、“优秀”)和表示消极情感的词(“糟糕”、“失败”)。
- 更高的掩码概率:在掩码语言建模任务中,情感词汇被赋予更高的掩码概率,使模型在训练时更频繁地接触并预测这些情感词汇。
- 目的:通过这种方法,SKEP 让模型更关注情感词汇的学习,使其在情感分析等任务中表现得更加出色。
2. 显式利用知识与文本的关联
另一类研究则更加关注将知识与输入文本的关联显式地整合到训练目标中。它们的共同点是利用知识图谱或其他知识源,让模型在学习语言的同时也学习与知识实体的关联。以下是几种典型方法:
1. ERNIE [35]:词-实体对齐训练目标
- 英文全称:Enhanced Representation through Knowledge Integration
- 中文翻译:通过知识整合增强的表示
- 核心思想:ERNIE提出了一种词-实体对齐训练目标,旨在让模型学会将文本中的词汇与知识图谱中的实体进行对齐。
- 具体做法:在训练时,将输入句子与对应的实体一起输入模型,模型的任务是预