【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】
P1,P2,P4
5 LLM增强的知识图谱
知识图谱(KGs) 以其结构化的方式呈现知识而闻名,它们已被广泛应用于许多下游任务,如问答系统、推荐系统和网页搜索等。然而,传统的知识图谱通常是不完整的,现有的方法也往往忽略了对文本信息的考虑。为了应对这些问题, 最近的研究
探索了将大型语言模型(LLMs) 与知识图谱相结合,以增强知识图谱的功能,利用文本信息提升下游任务的表现。
在本节中,我们将介绍关于LLM增强的知识图谱(LLM-AUGMENTED KGS) 的最新研究,并分别介绍以下几种方法:
- 知识图谱嵌入(KG embedding)
- 知识图谱补全(KG completion)
- 知识图谱构建(KG construction)
- 知识图谱到文本生成(KG-to-text generation)
- 知识图谱问答(KG question answering)
下文将讨论每种方法如何整合LLMs以增强知识图谱,并且在表3中总结了相关的代表性研究。
表3
整合LLMs以增强知识图谱的代表性研究。
E:仅编码器的LLMs,D:仅解码器的LLMs,ED:编码器-解码器的LLMs。
5.1 LLM增强的知识图谱嵌入
知识图谱嵌入(Knowledge Graph Embedding, KGE)旨在将每个实体和关系映射到低维向量(嵌入)空间中。这些嵌入包含了知识图谱的语义和结构信息,可以用于各种任务,如问答 [180]、推理 [38] 和推荐 [181]。传统的知识图谱嵌入方法主要依赖知识图谱的结构信息,来优化嵌入上定义的评分函数(例如,TransE [33] 和 DisMult [182])。然而
,由于这些方法的结构连接性有限,通常在表示未见过的实体和长尾关系时表现不足 [183], [184]。为了解决这个问题,如图14所示,近期的研究
采用了LLMs,通过编码实体和关系的文本描述来丰富知识图谱的表示 [40], [94]。
图14的解读

图14展示了LLMs作为知识图谱嵌入(KGE)的文本编码器的工作流程。具体解释如下:
1. 知识图谱(KGs):
- 图的底部展示了一个知识图谱三元组,形式为 ( h , r , t ) (h, r, t) (h,r,t),其中 h h h 表示头实体, r r r 表示关系, t t t 表示尾实体。此处三元组为 ( Neil Armstrong , BornIn , Wapakoneta ) (\text{Neil Armstrong}, \text{BornIn}, \text{Wapakoneta}) (Neil Armstrong,BornIn,Wapakoneta)。
2. LLMs作为文本编码器:
- LLMs 用于将每个实体和关系的文本描述转换为向量表示。对于三元组中的每个元素,LLMs通过输入文本生成向量表示。
- 例如:
- 对于 h h h (Neil Armstrong),其文本描述为 “An American astronaut and aeronautical engineer.”,由LLMs转换为文本向量 e h e_h eh。
- 对于 r r r (BornIn),其文本描述为 “Born in”,由LLMs转换为文本向量 e r e_r er。
- 对于 t t t (Wapakoneta),其文本描述为 “A small city in Ohio, USA.”,由LLMs转换为文本向量 e t e_t et。
3. 知识图谱嵌入模型(KGE Models):
- 在嵌入模型中,这些文本向量( e h e_h eh、 e r e_r er、 e t e_t et)被进一步转换为低维向量表示( v h v_h vh、 v r v_r vr、 v t v_t vt),这些向量表示捕捉了实体和关系的语义和结构信息。
5.1.1 LLMs作为文本编码器
Pretrain-KGE [94] 是遵循图14所示框架的代表性方法。给定来自知识图谱的三元组
(
h
,
r
,
t
)
(h, r, t)
(h,r,t),首先使用 LLM 编码器将实体
h
h
h、
t
t
t 和关系
r
r
r 的文本描述编码为表示形式:
e
h
=
LLM
(
Texth
)
,
e
t
=
LLM
(
Textt
)
,
e
r
=
LLM
(
Textr
)
,
e_h = \text{LLM}(\text{Texth}), \quad e_t = \text{LLM}(\text{Textt}), \quad e_r = \text{LLM}(\text{Textr}),
eh=LLM(Texth),et=LLM(Textt),er=LLM(Textr),
其中
e
h
e_h
eh、
e
r
e_r
er 和
e
t
e_t
et 分别表示实体
h
h
h、
t
t
t 和关系
r
r
r 的初始嵌入。Pretrain-KGE 在实验中使用了 BERT 作为 LLM 编码器。然后,将初始嵌入输入到 KGE 模型中生成最终嵌入
v
h
v_h
vh、
v
r
v_r
vr 和
v
t
v_t
vt。在 KGE 训练阶段,他们通过遵循标准的 KGE 损失函数优化 KGE 模型,公式如下:
L
=
[
γ
+
f
(
v
h
,
v
r
,
v
t
)
−
f
(
v
h
′
,
v
r
′
,
v
t
′
)
]
,
L = [\gamma + f(v_h, v_r, v_t) - f(v_h', v_r', v_t')],
L=[γ+f(vh,vr,vt)−f(vh′,vr′,vt′)],
其中
f
f
f 是 KGE 评分函数,
γ
\gamma
γ 是一个边界超参数,
v
h
′
v_h'
vh′、
v
r
′
v_r'
vr′ 和
v
t
′
v_t'
vt′ 是负样本。通过这种方式,KGE 模型可以学习到充分的结构信息,同时保留来自 LLM 的部分知识,从而实现更好的知识图谱嵌入。
相关研究如下:
- KEPLER [40] 提供了一个用于知识嵌入和预训练语言表示的统一模型。该模型不仅利用强大的 LLMs 生成有效的文本增强知识嵌入,还将事实性知识无缝地整合到 LLMs 中。
- Nayyeri et al. [132] 使用 LLMs 生成词级、句子级和文档级的表示,这些表示通过 4D 超复数的 Dihedron 和 Quaternion 表示法与图结构嵌入集成为一个统一的向量。
- Huang et al. [133] 将 LLMs 与其他视觉和图编码器相结合,以学习多模态知识图谱嵌入,从而提高下游任务的性能。
- CoDEx [134] 提出了一种由 LLMs 驱动的新型损失函数,指导 KGE 模型在考虑文本信息的情况下衡量三元组的可能性。所提出的损失函数与模型结构无关,可以集成到任何 KGE 模型中。
5.1.2 LLMs用于联合文本和知识图谱嵌入
与使用KGE模型考虑图结构的方法不同,另一类方法直接使用LLMs将图结构和文本信息同时整合到嵌入空间中。如图15所示,kNN-KGE [136] 将实体和关系视为LLM中的特殊标记。在训练过程中,它将每个三元组
(
h
,
r
,
t
)
(h, r, t)
(h,r,t) 及其对应的文本描述转化为一个句子
x
x
x,表示为:
x
=
[
C
L
S
]
h
Texth
[
S
E
P
]
r
[
S
E
P
]
[
M
A
S
K
]
Textt
[
S
E
P
]
,
x = [CLS] \, h \, \text{Texth} \, [SEP] \, r \, [SEP] \, [MASK] \, \text{Textt} \, [SEP],
x=[CLS]hTexth[SEP]r[SEP][MASK]Textt[SEP],
其中尾实体被替换为 [MASK]。该句子被输入到LLM中,然后微调模型以预测被掩盖的实体,公式如下:
P
LLM
(
t
∣
h
,
r
)
=
P
(
[
M
A
S
K
]
=
t
∣
x
,
Θ
)
,
P_{\text{LLM}} (t|h, r) = P ([MASK]=t|x, \Theta),
PLLM(t∣h,r)=P([MASK]=t∣x,Θ),
其中
Θ
\Theta
Θ 表示LLM的参数。LLM通过最大化正确实体
t
t
t 的概率进行优化。训练后,LLM中对应的标记表示被用作实体和关系的嵌入。
- 类似地,LMKE [135] 提出了一种对比学习方法,以改进LLMs生成的KGE嵌入的学习。
- 同时,为了更好地捕捉图结构,LambdaKG [137] 采样了1跳(1-hop)邻居实体,并将它们的标记与三元组连接为一个句子输入到LLMs中。
图15
LLMs用于联合文本和知识图谱嵌入:kNN-KGE 方法示例
5.2 LLM增强的知识图谱补全
知识图谱补全(KG Completion, KGC) 是指在给定的知识图谱中推测缺失的事实。传统的KGC方法主要集中在图的结构上,未充分利用丰富的文本信息。然而,近期将LLMs 与KGC方法相结合
,允许模型通过编码文本或生成新事实来提升KGC性能。这些方法根据其使用方式分为两大类:
- LLM作为编码器(PaE,LLM as Encoders)
- LLM作为生成器(PaG,LLM as Generators)。
5.2.1 LLM作为编码器(PaE)
如图16 (a)、(b) 和 (c ) 所示,这类方法首先使用仅有编码器的LLMs对文本信息以及知识图谱(KG)事实进行编码。然后,通过将编码后的表示输入到预测头中来预测三元组或被掩盖实体的合理性,预测头可以是一个简单的多层感知机(MLP)或传统的知识图谱评分函数(例如,TransE [33] 和 TransR [185])。
图16
采用LLMs作为编码器(PaE)进行知识图谱补全的通用框架。
下面会对该图的三个部分(a,b,c)进行详细解释。
a. 联合编码(Joint Encoding)
由于仅编码器的LLMs(例如,BERT [1])在编码文本序列方面表现良好,KG-BERT [26] 将一个三元组
(
h
,
r
,
t
)
(h, r, t)
(h,r,t) 表示为一个文本序列,并使用LLM进行编码,如图16(a)所示:
x
=
[
C
L
S
]
Texth
[
S
E
P
]
Textr
[
S
E
P
]
Textt
[
S
E
P
]
,
x = [CLS] \, \text{Texth} \, [SEP] \, \text{Textr} \, [SEP] \, \text{Textt} \, [SEP],
x=[CLS]Texth[SEP]Textr[SEP]Textt[SEP],
- [ CLS ] [\text{CLS}] [CLS] 标记是序列开始的标记。
- [ SEP ] [\text{SEP}] [SEP] 标记用于分隔文本中的实体和关系。
对于
[
CLS
]
[\text{CLS}]
[CLS] 标记,BERT会生成一个代表整个输入序列的隐藏状态
e
[CLS]
e_{\text{[CLS]}}
e[CLS],该隐藏状态会被传递到分类器中,预测该三元组的可能性,其公式为:
s
=
σ
(
M
L
P
(
e
[
C
L
S
]
)
)
,
s = \sigma(MLP(e[CLS])),
s=σ(MLP(e[CLS])),
其中,
σ
(
⋅
)
\sigma(\cdot)
σ(⋅) 表示sigmoid函数,
e
[
C
L
S
]
e[CLS]
e[CLS] 表示由LLMs编码的表示。如果
s
s
s 接近1,表示该三元组很有可能是合理的;如果
s
s
s 接近0,则表示三元组的合理性较低。
相关研究如下:
- 为了提高KG-BERT的效率,MTL-KGC [138] 提出了一个用于KGC框架的多任务学习(Multi-Task Learning),将额外的辅助任务引入模型的训练中,即预测(RP)和相关性排序(RR)。
- PKGC [139] 通过将三元组 ( h , r , t ) (h, r, t) (h,r,t) 及其支持信息转化为带有预定义模板的自然语言句子来评估三元组的有效性。然后这些句子通过LLMs进行二分类处理。三元组的支持信息来自 h h h 和 t t t 的属性,通过一个语言化功能来生成。例如,如果三元组为 ( Lebron James , member of sports team , Lakers ) (\text{Lebron James}, \text{member of sports team}, \text{Lakers}) (Lebron James,member of sports team,Lakers),那么关于 Lebron James 的信息将被语言化为“Lebron James: 美国篮球运动员”。
- LASS [140] 观察到语言语义和图结构对于KGC同样重要。因此,LASS 被提出来联合学习两种嵌入:语义嵌入和结构嵌入。在该方法中,三元组的完整文本被传递给LLM,分别计算 h h h、 r r r 和 t t t 的对应LLM输出的均值池化。然后这些嵌入被传递给基于图的方法,例如TransE,以重构知识图谱结构。
b. MLM编码(MLM Encoding)
与对三元组的全文进行编码不同,许多工作引入了掩码语言模型(Masked Language Model, MLM)的概念来编码知识图谱(KG)的文本(如图16(b)所示)。相关研究如下:
- MEM-KGC [141] 使用掩码实体模型(Masked Entity Model, MEM)分类机制来预测三元组中的掩码实体。输入文本的形式为(公式7):
x = [ C L S ] Texth [ S E P ] Textr [ S E P ] [ M A S K ] [ S E P ] , x = [CLS] \, \text{Texth} \, [SEP] \, \text{Textr} \, [SEP] \, [MASK] \, [SEP], x=[CLS]Texth[SEP]Textr[SEP][MASK][SEP],
它试图最大化掩码实体为正确实体 t t t 的概率。此外,为了使模型能够学习未见过的实体,MEM-KGC 将多任务学习整合进模型,基于实体的文本描述进行实体和超类预测(公式8):
x = [ C L S ] [ M A S K ] [ S E P ] Texth [ S E P ] . x = [CLS] \, [MASK] \, [SEP] \, \text{Texth} \, [SEP]. x=[CLS][MASK][SEP]Texth[SEP]. - OpenWorld KGC [142] 扩展了MEM-KGC模型,以通过流水线框架应对开放世界KGC的挑战,其中定义了两个基于MLM的顺序模块:实体描述预测(Entity Description Prediction, EDP),这是一个辅助模块,用于根据给定的文本描述预测对应的实体;不完整三元组预测(Incomplete Triple Prediction, ITP),这是目标模块,用于预测给定不完整三元组 ( h , r , ? ) (h, r, ?) (h,r,?) 的可能实体。EDP首先使用公式(8)对三元组进行编码,并生成最终的隐藏状态,然后将其作为公式(7)中头实体的嵌入传递到ITP模块中,以预测目标实体。
c. 分离编码(Separated Encoding)
如图16(c )所示,这些方法将一个三元组
(
h
,
r
,
t
)
(h, r, t)
(h,r,t) 分为两个独立的部分,即
(
h
,
r
)
(h, r)
(h,r) 和
t
t
t,其表示为:
x
(
h
,
r
)
=
[
C
L
S
]
Texth
[
S
E
P
]
Textr
[
S
E
P
]
,
x(h,r) = [CLS] \, \text{Texth} \, [SEP] \, \text{Textr} \, [SEP],
x(h,r)=[CLS]Texth[SEP]Textr[SEP],
x
t
=
[
C
L
S
]
Textt
[
S
E
P
]
.
x_t = [CLS] \, \text{Textt} \, [SEP].
xt=[CLS]Textt[SEP].
然后,两个部分分别通过LLM进行编码,并使用 [CLS] 标记的最终隐藏状态分别作为
(
h
,
r
)
(h, r)
(h,r) 和
t
t
t 的表示。接下来,这些表示被输入到评分函数中,以预测该三元组的可能性,公式如下:
s
=
f
s
c
o
r
e
(
e
(
h
,
r
)
,
e
t
)
,
s = f_{score}(e(h,r), e_t),
s=fscore(e(h,r),et),
其中
f
s
c
o
r
e
f_{score}
fscore 表示评分函数,如 TransE。
相关研究如下:
- StAR [143] 采用了孪生文本编码器对文本进行编码,将它们编码为独立的上下文化表示。为了避免文本编码方法中的组合爆炸问题(例如,KG-BERT),StAR 引入了一个评分模块,结合了确定性分类器和空间测量,分别用于表示学习和结构学习,同时通过探索空间特性增强了结构化知识。
- SimKGC [144] 是另一个使用孪生文本编码器来编码文本表示的例子。在编码过程之后,SimKGC 对这些表示应用了对比学习技术,该过程计算给定三元组的编码表示与正样本和负样本之间的相似性。特别是,三元组的编码表示与正样本之间的相似性被最大化,而与负样本之间的相似性则被最小化。这使得SimKGC能够学习一个将可能的三元组与不可能的三元组区分开来的表示空间。
- 为了避免过度拟合文本信息,CSPromp-KG [186] 使用了参数高效的提示学习(prompt learning)来进行KGC任务。
- LP-BERT [145] 是一种混合KGC方法,它结合了MLM编码和分离编码。这种方法包括两个阶段:预训练和微调。在预训练阶段,该方法利用标准的MLM机制,通过KGC数据预训练LLM。在微调阶段,LLM对两部分进行编码,并通过对比学习策略(类似于SimKGC [144])进行优化。
5.2.2 LLM作为生成器(PaG)
近期的研究中
,LLMs 被用作序列到序列生成器(sequence-to-sequence generator)来进行知识图谱补全(KGC)。如图17 (a) 和 (b) 所示,这些方法通常涉及编码器-解码器或仅使用解码器的LLMs。LLMs 接收查询三元组 (h, r, ?) 的文本输入,并直接生成尾实体 t 的文本。
图17
采用大语言模型(LLMs)作为解码器(PaG)进行知识图谱补全的通用框架。En. 和 De. 分别表示编码器和解码器。
下面是PaG的一些研究:
- GenKGC [96] 使用大型语言模型 BART [5] 作为其主干模型。受 GPT-3 [59] 中使用的上下文学习方法的启发,GenKGC 提出了一种关系引导的示例技术,该技术通过连接具有相同关系的三元组来帮助模型学习正确的输出答案。此外,在生成过程中,提出了一种基于实体的分层解码方法以减少时间复杂度。
- KGT5 [146] 引入了一种新的 KGC 模型,满足该类模型的四个关键要求:可扩展性、质量、多功能性和简单性。为实现这些目标,所提出的模型采用了简化的 T5 架构。与以前的 KGC 方法不同,该模型是随机初始化的,而不是使用预训练模型。
- KG-S2S [147] 是一个适用于各种类型 KGC 任务(包括静态 KGC、时序 KGC 和小样本 KGC)的综合框架。为实现这一目标,KG-S2S 通过引入一个额外的元素(形成四元组 (h, r, t, m),其中 m 表示附加的“条件”元素)重新构建了标准三元组知识图谱事实。尽管不同的 KGC 任务涉及不同的条件,但它们通常具有相似的文本格式,从而实现了跨 KGC 任务的统一。KG-S2S 方法结合了多种技术,如实体描述、软提示和序列到序列丢弃(Seq2Seq Dropout),以提高模型的性能。此外,它还利用了约束解码来确保生成的实体是有效的。
- 对于闭源的LLMs(如 ChatGPT 和 GPT-4),AutoKG 采用提示工程设计定制提示 [93]。如图18所示,这些提示包含任务描述、小样本示例和测试输入,指导LLMs为知识图谱补全任务预测尾实体。
图18
基于提示的 PaG 用于知识图谱补全的框架。
PaE 与 PaG 的对比
PaE(LLMs作为编码器)的特点:
- LLMs 作为编码器(PaE)在 LLM 编码的表示上应用了一个额外的预测头。因此,PaE 框架更易于微调,因为我们只需优化预测头并冻结LLMs。
- 此外,预测的输出可以很容易地指定并集成到现有的KGC功能中,以适应不同的KGC任务。
- 然而,在推理阶段,PaE 需要为每个知识图谱中的候选实体计算得分,这可能会计算开销较大。
- 此外,它们无法泛化到未见过的实体。
- 此外,PaE 需要访问LLMs的表示输出,而一些最先进的LLMs(如 GPT-4)是闭源的,无法提供表示输出。
PaG(LLMs作为生成器)的特点:
- 相比之下,LLMs 作为生成器(PaG)不需要预测头,可以在不进行微调或访问表示的情况下使用。因此,PaG 框架适用于所有类型的LLMs。
- 此外,PaG 直接生成尾实体,使得在推理时无需对所有候选实体进行排序,效率更高。
- 且能够轻松泛化到未见过的实体。
- 然而,PaG 的挑战在于生成的实体可能多样化且不属于知识图谱。
- 此外,由于自回归生成的方式,单次推理的时间较长。
- 最后,如何设计一个强大的提示将知识图谱输入LLMs仍是一个开放的问题。
因此,尽管PaG 在 KGC 任务中展示了很有前途的结果,但在选择合适的 LLM 基于 KGC 框架时,必须仔细权衡模型复杂性与计算效率之间的平衡。
5.2.3 模型分析
Justin 等人 [187] 对集成了大语言模型(LLMs)的知识图谱补全(KGC)方法进行了全面分析。他们的研究考察了LLM嵌入的质量,发现其在实体排名方面的效果并不理想。对此,他们提出了几种处理嵌入的方法,以提高其在候选实体检索中的适用性。该研究还比较了不同的模型选择维度,例如嵌入提取、查询实体提取以及语言模型选择。最后,作者提出了一个框架,有效地将LLM适用于知识图谱补全。
5.3 LLM增强的知识图谱构建
知识图谱构建涉及在特定领域内创建结构化的知识表示,这包括识别实体及其之间的关系。知识图谱构建过程通常包括多个阶段,具体为:1)实体发现,2)共指消解,3)关系抽取。图19展示了在知识图谱构建的每个阶段应用LLMs的通用框架。 最近的一些方法
还探索了4)端到端知识图谱构建,这意味着一步构建完整的知识图谱,或者直接5)从LLMs中提取知识图谱。
图19
LLM增强的知识图谱构建的通用框架
5.3.1 实体发现(Entity Discovery)
在知识图谱构建中,实体发现指的是从非结构化数据源(如文本文档、网页或社交媒体帖子)中识别和提取实体的过程,并将这些实体整合到知识图谱中。
a. 命名实体识别(NER)
命名实体识别(NER)涉及在文本数据中识别和标注命名实体的位置和分类。命名实体包括人名、组织名、地点以及其他类型的实体。最先进的NER方法
通常利用大型语言模型(LLMs)来利用其上下文理解能力和语言知识,以实现准确的实体识别和分类。根据识别到的实体范围类型,NER任务分为三种子任务:平面NER、嵌套NER和不连续NER。
-
平面NER(Flat NER):平面NER任务是从输入文本中识别不重叠的命名实体。通常将其视为一个序列标注问题,在其中文本中的每个标记根据其在序列中的位置分配一个唯一标签 [1, 148, 188, 189] 。
-
嵌套NER(Nested NER):嵌套NER处理允许一个标记同时属于多个实体的复杂场景。基于片段的方法 [190-194] 是嵌套NER的一个常见分支,它涉及枚举所有候选片段并将它们分类为实体类型(包括非实体类型)。基于解析的方法 [195-197] 则揭示了嵌套NER与短语解析任务的相似性(预测嵌套和非重叠的片段),并建议将短语解析的见解整合到嵌套NER中。
-
不连续NER(Discontinuous NER):不连续NER识别在文本中可能不连续的命名实体。为了解决这一挑战, [198] 使用LLM输出来识别实体片段,并确定它们是否重叠或是连续的。
与特定任务的方法不同,GenerativeNER [149] 使用带有指针机制的序列到序列LLM生成实体序列,能够解决所有三种类型的NER子任务。
b. 实体类型识别(Entity Typing, ET)
实体类型识别(Entity Typing, ET)旨在为上下文中提到的实体提供细粒度和超细粒度的类型信息。这些方法通常利用大型语言模型(LLMs)对实体提及、上下文和类型进行编码。
相关研究如下:
- LDET [150] 使用预训练的 ELMo 嵌入 [148] 进行单词表示,并采用 LSTM 作为句子和提及的编码器。
- BOX4Types [151] 强调了类型依赖性的重要性,并使用 BERT 在超矩形(box)空间中表示隐藏向量和每种类型。
- LRN [199] 考虑了标签之间的外在和内在依赖关系,使用 BERT 对上下文和实体进行编码,并利用这些输出的嵌入进行演绎和归纳推理。
- MLMET [200] 使用预定义的模式为 BERT 掩码语言模型(MLM)构建输入样本,并使用 [MASK] 预测提及的上下文相关上位词,这些上位词可以视为类型标签。
- PL [201] 和 DFET [202] 利用提示学习(prompt learning)进行实体类型识别。
- LITE [203] 将实体类型识别形式化为文本推理任务,并使用 RoBERTa-large-MNLI 作为主干网络。
c. 实体链接(Entity Linking, EL)
实体链接(Entity Linking, EL),也被称为实体消歧,涉及将文本中出现的实体提及与知识图谱中的对应实体进行链接。
相关研究如下:
- [204] 提出了基于BERT的端到端EL系统,该系统能够同时发现和链接实体。
- ELQ [152] 采用了一种快速的双编码器架构,在一次处理过程中同时进行提及检测和链接,以用于下游的问答系统。
- 与之前将实体链接(EL)任务框定为向量空间匹配的模型不同,GENRE [205] 将其形式化为一个序列到序列的问题,自回归地生成带有以自然语言表示的实体唯一标识符的标记输入版本。GENRE 进一步扩展为多语言版本 mGENRE [206]。
- 考虑到生成式EL方法的效率挑战,[207] 通过对所有潜在提及并行化自回归链接,并依赖于浅层且高效的解码器。ReFinED [153] 提出了一个高效的零样本实体链接方法,利用细粒度的实体类型和实体描述,由基于LLM的编码器处理这些信息。
5.3.2 共指消解 (Coreference Resolution,CR)
共指消解是指在一段文本中找到所有指代同一实体或事件的表达(即提及)。
a. 文档内共指消解
文档内共指消解(Within-document Coreference Resolution, CR)是一种在单个文档中识别实体提及的共指关系的子任务。
相关研究如下:
- Mandar等人 [154] 通过用BERT替换之前的LSTM编码器 [208] 来初始化基于LLM的共指消解工作。随后引入了SpanBERT [155] ,它基于BERT架构,使用基于跨度的掩码语言模型(MLM)进行预训练。
- 受这些工作的启发,Tuan Manh等人 [209] 通过将SpanBERT编码器整合到非LLM方法e2e-coref [208] 中,提出了一个强基线。CorefBERT利用了提及参考预测(MRP)任务,该任务通过掩盖一个或多个提及内容,要求模型预测被掩盖提及的对应指代。
- CorefQA [210] 将共指消解任务形式化为一个问答任务,为每个候选提及生成上下文查询,并使用查询从文档中提取共指的跨度。Tuan Manh等人 [211] 引入了一个门控机制和噪声训练方法,通过SpanBERT编码器从事件提及中提取信息。
- 为了减少基于大LLM的命名实体识别(NER)模型所面临的大内存占用,Yuval等人 [212] 和Raghuveer等人 [213] 分别提出了start-to-end和近似模型,二者都利用双线性函数来计算提及和前文项的得分,从而减少对跨度级表示的依赖。
b. 跨文档共指消解
跨文档共指消解(Cross-document Coreference Resolution, Cross-document CR)是指提及可能出现在多个文档中的共指消解子任务。
相关研究如下:
- CDML [156] 提出了一种跨文档语言建模方法,该方法在拼接的相关文档上对Longformer [214] 编码器进行预训练,并使用多层感知器(MLP)进行二分类,以确定提及对是否为共指关系。
- CrossCR [157] 使用了一个端到端的跨文档共指消解模型,该模型在金标提及跨度上对提及打分器进行预训练,并使用成对打分器比较所有文档中的提及和所有跨度。
- CR-RL [158] 提出了一个基于演员-评论家深度强化学习的跨文档共指消解解决方案。
5.3.3 关系抽取 (RE)
关系抽取(Relation Extraction, RE)涉及识别自然语言文本中提到的实体之间的语义关系。根据分析的文本范围,关系抽取方法可以分为两类:句子级关系抽取和文档级关系抽取。
a. 句子级关系抽取
侧重于识别单个句子中实体之间的关系。
- Peng 等人 [159] 和 TRE [215] 引入 LLM 来提高关系抽取模型的性能。
- BERT-MTB [216] 通过执行匹配填空任务并结合为关系抽取设计的目标,基于 BERT 学习关系表示。
- Curriculum-RE [160] 利用课程学习,通过在训练过程中逐步增加数据难度来改进关系抽取模型。
- RECENT [217] 引入了 SpanBERT,并利用实体类型限制来减少噪声候选关系类型。
- Jiewen [218] 通过将实体信息和标签信息结合到句子级嵌入中,扩展了 RECENT,这使得嵌入能够对实体和标签敏感。
b. 文档级关系抽取 (DocRE)
旨在从跨多个句子的文档中提取实体之间的关系。
- Hong 等人 [219] 提出了一种强大的 DocRE 基线模型,通过用 LLM 替换 BiLSTM 主干。
- HIN [220] 使用 LLM 对不同层次的实体表示进行编码和聚合,包括实体、句子和文档层次。
- GLRE [221] 是一个从全局到局部的网络,使用 LLM 来编码文档中的实体全局和局部表示,以及上下文关系表示。
- SIRE [222] 使用两个基于 LLM 的编码器来提取句内和句间关系。
- LSR [223] 和 GAIN [224] 提出了基于图的关系抽取方法,这些方法在 LLM 之上构建图结构以更好地提取关系。
- DocuNet [225] 将 DocRE 形式化为语义分割任务,并在 LLM 编码器上引入了 U-Net [226],以捕捉实体之间的局部和全局依赖关系。
- ATLOP [227] 关注 DocRE 中的多标签问题,该问题可以通过两种技术解决,即分类器的自适应阈值和 LLM 的局部上下文池化。
- DREEAM [161] 通过结合证据信息进一步扩展和改进了 ATLOP。
端到端的知识图谱构建
目前,研究人员正在探索使用 LLM 进行端到端的知识图谱构建。
- Kumar 等人 [95] 提出了一个从原始文本构建知识图谱的统一方法,该方法包含两个 LLM 支持的组件。首先,他们在命名实体识别任务上微调了一个 LLM,使其能够识别原始文本中的实体。然后,他们提出了另一个 “2-model BERT” 来解决关系抽取任务,包含两个基于 BERT 的分类器。第一个分类器学习关系类别,第二个二元分类器学习两个实体之间关系的方向。预测的三元组和关系随后用于构建知识图谱。
- Guo 等人 [162] 提出了一种基于 BERT 的端到端知识提取模型,可用于从古代中文文本中构建知识图谱。
- Grapher [41] 提出了一个新颖的端到端多阶段系统。它首先利用 LLM 生成知识图谱实体,然后使用简单的关系构建头,能够从文本描述中高效构建知识图谱。
- PiVE [163] 提出了一个带有迭代验证框架的提示技术,利用较小的 LLM(如 T5)来纠正由较大 LLM(如 ChatGPT)生成的知识图谱中的错误。为进一步探索高级 LLM,AutoKG 设计了多个用于不同知识图谱构建任务的提示(例如,实体分类、实体链接和关系抽取)。然后,它采用这些提示使用 ChatGPT 和 GPT-4 进行知识图谱构建。
5.3.4 从LLMs中提取(蒸馏)知识图谱
研究表明,LLMs可以隐含地编码大量的知识 [14]。如图20所示,一些研究旨在从LLMs中提取(蒸馏)知识,以构建知识图谱。
- COMET [164] 提出了一个常识变换器模型,该模型使用现有的三元组作为知识的种子集进行训练来构建常识知识图谱。使用这个种子集,LLM 学习适应其学习到的表示进行知识生成,并生成高质量的新三元组。实验结果表明,LLMs中的隐含知识被转移到生成常识知识图谱中的显式知识。
- BertNet [165] 提出了一种由LLMs支持的自动知识图谱构建的新框架。它只需要最少的关系定义作为输入,自动生成多样化的提示,并在给定的LLM中进行高效的知识搜索,以获得一致的输出。所构建的知识图谱展示了竞争力的质量、多样性和新颖性,包含更丰富的新型和复杂关系,
这是之前的方法无法提取的
。 - West 等人 [166] 提出了一个符号知识蒸馏框架,从LLMs中提取符号知识。首先,他们通过从一个大型LLM(如 GPT-3)中蒸馏常识事实来微调一个较小的学生LLM。然后,利用这个学生LLM来生成常识知识图谱。
图20
从LLMs中提取(蒸馏)知识图谱的通用框架。
5.4 LLM增强的知识图谱到文本生成
知识图谱到文本(KG-to-text)生成的目标是生成高质量的文本,准确且一致地描述输入的知识图谱信息 [228]。KG-to-text生成连接了知识图谱和文本,显著提高了知识图谱在更实际的自然语言生成(NLG)场景中的适用性,包括故事讲述 [229] 和基于知识的对话 [230]。然而,收集大量图-文平行数据是具有挑战性且成本高昂的,导致训练不足和生成质量不佳。
因此,许多研究努力采用以下两种方法来解决这个问题:1) 利用LLMs中的知识,或 2) 构建大规模弱监督的知识图谱-文本语料库。
5.4.1 利用LLMs中的知识
- 作为使用LLMs进行知识图谱到文本生成的
开创性研究
,Ribeiro 等人 [167] 和 Kale 和 Rastogi [231] 直接微调了包括 BART 和 T5 在内的各种LLMs,旨在为这一任务转移LLMs中的知识。如图21所示,这两项工作都简单地将输入的图 表示为线性遍历,发现这种简单的方法能够成功地超越许多现有的最先进的知识图谱到文本生成系统。有趣的是,Ribeiro 等人 [167] 还发现,继续进行预训练可以进一步提升模型性能。然而,这些方法无法明确地将丰富的图语义信息融入到知识图谱中。 - 为了增强LLMs对知识图谱结构信息的理解,JointGT [42] 提出了将保持知识图谱结构的表示注入到Seq2Seq大型语言模型中。给定输入的子知识图谱和相应的文本,JointGT首先将知识图谱中的实体及其关系表示为一系列标记,然后将它们与文本标记连接起来,输入到LLM中。经过标准的自注意力模块后,JointGT使用池化层获取知识实体和关系的上下文语义表示。最后,这些池化后的知识图谱表示将在另一个结构感知自注意力层中进行聚合。JointGT还部署了额外的预训练目标,包括在输入被掩盖的情况下进行知识图谱和文本重构任务,以提高文本和图信息之间的对齐度。
- Li 等人 [168] 关注少样本场景。该方法首先采用了一种新颖的广度优先搜索(BFS)策略,更好地遍历输入的知识图谱结构,并将增强的线性化图表示输入到LLM中以生成高质量的输出,随后对基于GCN和基于LLM的知识图谱实体表示进行对齐。
- Colas 等人 [169] 首先将图转换为适当的表示,然后再对图进行线性化。接下来,通过全局注意力机制对每个知识图谱节点进行编码,接着使用图感知注意力模块,最终将其解码为一系列标记。
- 与这些方法不同,KG-BART [37] 保留了知识图谱的结构,并利用图注意力聚合子知识图谱中的丰富概念语义,从而增强了模型在未见过的概念集上的泛化能力。
图21
KG-to-text生成的通用框架。
5.4.2 构建大规模弱监督的知识图谱-文本对齐语料库
虽然LLMs在经验上取得了显著的成功,但它们的无监督预训练目标并不一定与知识图谱到文本生成任务很好地对齐,这促使研究人员开发大规模的知识图谱-文本对齐语料库。
- Jin等人 [170] 提出了一个从维基百科中提取的130万条无监督的知识图谱到图的训练数据。具体来说,他们首先通过超链接和命名实体检测器检测文本中出现的实体,然后仅添加与对应知识图谱共享一组实体的文本,这与关系抽取任务中的远程监督思路类似 [232]。他们还提供了一个1000多条人工标注的知识图谱到文本的测试数据,以验证预训练的知识图谱到文本模型的有效性。
- 同样,Chen等人 [171] 也提出了一个从英文维基数据中收集的基于知识图谱的文本语料库。为了确保知识图谱与文本之间的连接,他们仅提取包含至少两个维基百科锚链接的句子。然后,他们使用这些链接中的实体查询它们在WikiData中的周围邻居,并计算这些邻居与原始句子的词汇重叠度。最后,仅选择重叠度高的配对。作者探索了基于图的编码器和基于序列的编码器,并在不同的任务和设置中发现了它们的优势。
5.5 LLM增强的知识图谱问答
知识图谱问答(KGQA)旨在根据存储在知识图谱中的结构化事实,找到自然语言问题的答案 [233], [234]。KGQA中的一个不可避免的挑战是检索相关事实并扩展知识图谱在推理方面的优势。因此,最近的研究采用LLMs来弥合自然语言问题和结构化知识图谱之间的差距 [174], [175], [235]。使用LLMs进行知识图谱问答的通用框架如图22所示,其中LLMs可以用作:1)实体/关系提取器,2)答案推理器。
图22
使用LLMs进行知识图谱问答的通用框架。
5.5.1 LLM作为实体/关系提取器
实体/关系提取器旨在识别自然语言问题中提到的实体和关系,并在知识图谱中检索相关的事实(related facts)。鉴于LLM在语言理解方面的能力,LLMs可以有效地用于此目的。
- Lukovnikov等人 [172] 是最早使用LLM作为关系预测分类器的人,结果相比浅层神经网络性能显著提高。
- Nan等人 [174] 提出了两个基于LLM的知识图谱问答(KGQA)框架,这些框架采用LLMs来检测提到的实体和关系。然后,他们使用提取的实体-关系对在知识图谱中查询答案。
- QA-GNN [131] 使用LLM对问题和候选答案对进行编码,以估计相关知识图谱实体的重要性。这些实体被检索以形成子图,然后通过图神经网络进行答案推理。
- Luo等人 [173] 使用LLM计算关系和问题之间的相似性,以检索相关事实,公式如下:
s ( r , q ) = L L M ( r ) ⊤ L L M ( q ) , s(r, q) = LLM(r)^\top LLM(q), s(r,q)=LLM(r)⊤LLM(q),
其中, q q q 表示问题, r r r 表示关系, L L M ( ⋅ ) LLM(\cdot) LLM(⋅) 分别为 q q q 和 r r r 生成表示。 - 进一步,Zhang等人 [236] 提出了一个基于LLM的路径检索器,通过逐步检索与问题相关的关系来构建多个路径。每条路径的概率可以计算为:
P ( p ∣ q ) = ∏ t = 1 ∣ p ∣ s ( r t , q ) , P(p|q) = \prod_{t=1}^{|p|} s(r_t, q), P(p∣q)=t=1∏∣p∣s(rt,q),
其中, p p p 表示路径, r t r_t rt 表示路径 p p p 中第 t t t 跳的关系。检索到的关系和路径可以作为上下文知识来提高答案推理器的性能,公式为:
P ( a ∣ q ) = ∑ p ∈ P P ( a ∣ p ) P ( p ∣ q ) , P(a|q) = \sum_{p \in P} P(a|p)P(p|q), P(a∣q)=p∈P∑P(a∣p)P(p∣q),
其中, P P P 表示检索到的路径, a a a 表示答案。
5.5.2 LLM作为答案推理器
答案推理器旨在对检索到的事实进行推理并生成答案。LLMs可以作为答案推理器,直接生成答案。
- 例如,如图22所示,DEKCOR [175] 将检索到的事实与问题和候选答案连接起来,表示为:
x = [ C L S ] q [ S E P ] Related Facts [ S E P ] a [ S E P ] , x = [CLS] \, q \, [SEP] \, \text{Related Facts} \, [SEP] \, a \, [SEP], x=[CLS]q[SEP]Related Facts[SEP]a[SEP],
其中 a a a 表示候选答案。然后将其输入到LLMs中,以预测答案的得分。 - 在使用LLMs生成 x x x的表示作为问答上下文后,DRLK [176] 提出了一个动态层次推理器,用于捕捉问答上下文与答案之间的交互以进行答案预测。
- Yan等人 [235] 提出了一个基于LLM的KGQA框架,分为两个阶段:(1)从知识图谱中检索相关事实,(2)基于检索到的事实生成答案。第一阶段与实体/关系提取器类似。给定候选答案实体
a
a
a,它从知识图谱中提取一系列路径
p
1
,
…
,
p
n
p_1, \dots, p_n
p1,…,pn。但第二阶段是基于LLM的答案推理器。它首先使用知识图谱中的实体名和关系名将路径转换为文本,然后将问题
q
q
q 与所有路径
p
1
,
…
,
p
n
p_1, \dots, p_n
p1,…,pn 连接起来,形成输入样本:
x = [ C L S ] q [ S E P ] p 1 [ S E P ] … [ S E P ] p n [ S E P ] . x = [CLS] \, q \, [SEP] \, p_1 \, [SEP] \dots [SEP] \, p_n \, [SEP]. x=[CLS]q[SEP]p1[SEP]…[SEP]pn[SEP].
这些路径被视为候选答案 a a a 的相关事实。最后,它使用LLMs来预测假设“ a a a 是问题 q q q 的答案”是否得到了这些事实的支持,公式如下:
e [ C L S ] = L L M ( x ) , e[CLS] = LLM(x), e[CLS]=LLM(x),
s = σ ( M L P ( e [ C L S ] ) ) , s = \sigma(MLP(e[CLS])), s=σ(MLP(e[CLS])),
其中它使用LLM对 x x x进行编码,并将与 [CLS] 标记对应的表示输入到二元分类器中, σ ( ⋅ ) \sigma(·) σ(⋅) 表示sigmoid函数。 - 为了更好地引导LLMs通过知识图谱进行推理,OreoLM [177] 提出了一个知识交互层(KIL),该层插入LLM的层之间,与一个知识图谱推理模块交互,发现不同的推理路径,然后推理模块可以在这些路径上进行推理以生成答案。
- GreaseLM [178] 融合了LLMs和图神经网络的表示,以有效地对知识图谱的事实和语言上下文进行推理。
- UniKGQA [43] 将事实检索和推理统一到一个框架中。UniKGQA由两个模块组成。第一个模块是一个语义匹配模块,使用LLM在语义上匹配问题和相应的关系。第二个模块是信息传播模块,将匹配信息沿着知识图谱中的有向边传播以进行答案推理。
- 同样,ReLMKG [179] 在大型语言模型和相关知识图谱上进行联合推理。问题和路径文本化后由语言模型编码,语言模型的不同层输出引导图神经网络进行信息传递。此过程利用了结构化知识图谱中包含的显式知识进行推理。
- StructGPT [237] 采用了一个自定义接口,允许大型语言模型(如ChatGPT)直接在知识图谱上进行推理,以执行多步问答任务。
未完待续。。。