?图对比学习( GCL)在使用无标签数据的预训练图神经网络上被证明是有效的方法,最近几年也提出了许多新的图对比学习方法,但是,当处理文本属性图(TAGs)时表现出局限性。
?因其大语言模型强大的上下文学习能力,LLMs被用来学习文本属性图上的表征。但是现有的方法都是在监督任务中,如何在自监督任务中利用LLM学习文本属性图表征尚未探索。
?本文提出了LLM4GCL,第一个全面系统地研究LLM在GCL的应用。旨在深入解决以下关键研究问题:
在文本属性图上的对比学习范式如下图所示:
GCL:通过创建输入图的两个增强视图并训练GNN编码器以产生相同节点的两个视图的表征,并使两个表征尽量相似。
LLM指的是大型语言模型,例如ChatGPT,其需要强大的计算设备,而PLM表示在普通GPU上可微调的小型语言模型,例如,BERT.
?设计两个用于增强文本属性图上的对比学习方法:LLM-as-GraphAugmentor和LLM-as-TextEncoder。
通过不同提示模板,利用LLM直接对特征和结构进行增广。
设计几种自监督的微调策略,以使通用PLM适应图域,从而更有效地编码文本属性。
?给定文本属性图(TAG)
G
=
{
V
,
S
,
A
}
\mathcal{G}=\{\mathcal{V},\mathcal{S},\mathbb{A}\}
G={V,S,A},具有N个结点,
V
\mathcal{V}
V定义为结点集合,
A
∈
R
N
×
N
\mathbf{A}\in \mathbb{R}^{N \times N}
A∈RN×N表示邻接矩阵,对于每个结点
v
∈
V
v\in\mathcal{V}
v∈V有一个文本属性
S
v
\mathcal{S}_v
Sv?,
S
=
{
S
v
∣
v
∈
V
}
\mathcal{S}=\{\mathcal{S}_v|v\in \mathcal{V}\}
S={Sv?∣v∈V}。
?目标:预训练一个映射函数
f
θ
:
S
×
A
→
R
D
f_{\theta}:\mathcal{S}\times\mathbf{A}\to\mathbb{R}^{D}
fθ?:S×A→RD,使得
S
\mathcal{S}
S中的语义信息和
A
\mathbb{A}
A中的拓扑结构能够以自监督的方式在
D
D
D维空间中被有效地捕获。
?简单来说,GNN的目标是通过聚合来自其邻居的消息来更新节点表示,表示为:
h
v
(
k
)
=
C
O
M
(
h
v
(
k
?
1
)
,
A
G
G
(
{
h
u
(
k
?
1
)
:
u
∈
N
v
}
)
)
\mathbf{h}_{v}^{(k)}=\mathrm{COM}(\mathbf{h}_{v}^{(k-1)},\mathrm{AGG}(\{\mathbf{h}_{u}^{(k-1)}:u\in\mathcal{N}_{v}\}))
hv(k)?=COM(hv(k?1)?,AGG({hu(k?1)?:u∈Nv?}))
其中,
h
v
(
k
)
\mathbf{h}_{v}^{(k)}
hv(k)?表示为第
k
k
k层结点
v
v
v的表征,
N
v
=
{
u
∣
A
v
,
u
=
1
}
\mathcal{N}_{v}=\{u|\mathbf{A}_{v,u}=1\}
Nv?={u∣Av,u?=1}是结点
v
v
v的直接邻域。
h
v
(
0
)
=
x
v
\mathbf{h}_{v}^{(0)}=\mathbf{x}_v
hv(0)?=xv?,
x
v
=
E
m
b
(
S
v
)
∈
R
F
\mathbf{x}_v=\mathrm{Emb}(\mathcal{S}_v)\in\mathbb{R}^F
xv?=Emb(Sv?)∈RF是来自结点
v
v
v的文本属性
S
v
\mathcal{S}_v
Sv?并通过
E
m
b
(
.
)
\mathrm{Emb}(.)
Emb(.)提取的一个
F
F
F维数值向量表征的嵌入。AGG用于聚合来自邻居的特征,COM用于聚合的邻居信息并与来自上一层的自身节点嵌入结合起来。
τ f : R F → R F ? a n d ? τ s : V × V → V × V \tau_f:\mathbb{R}^F\to\mathbb{R}^F\mathrm{~and~}\tau_s:\mathcal{V}\times\mathcal{V}\to\mathcal{V}\times\mathcal{V} τf?:RF→RF?and?τs?:V×V→V×V分别表示特征和结构上的扰动函数。
?首先,通过扰动函数,生成两个增广图 G 1 = ( A 1 , X 1 ) \mathcal{G}_{1}=(\mathbf{A}_{1},\mathbf{X}_{1}) G1?=(A1?,X1?)和 G 2 = ( A 2 , X 2 ) \mathcal{G}_{2}=(\mathbf{A}_{2},\mathbf{X}_{2}) G2?=(A2?,X2?),其中 X 1 = { τ f 1 ( x v ) ∣ v ∈ V } , A 1 = τ s 1 ( A ) , X 2 = { τ f 2 ( x v ) ∣ v ∈ V } , a n d A 2 ? = τ s 2 ( A ) \mathbf{X}_{1}=\{\tau_{f}^{1}(\mathbf{x}_{v})|v\in\mathcal{V}\},\mathbf{A}_{1}=\tau_{s}^{1}(\mathbf{A}),\mathbf{X}_{2}=\{\tau_{f}^{2}(\mathbf{x}_{v})|v\in\mathcal{V}\},\mathrm{and}\mathbf{A}_{2}^{\dagger}=\tau_{s}^{2}(\mathbf{A}) X1?={τf1?(xv?)∣v∈V},A1?=τs1?(A),X2?={τf2?(xv?)∣v∈V},andA2??=τs2?(A).然后使用共享的GNN编码器为两个视图获取两组节点表示,分别为 H 1 \mathrm{H}_1 H1?和 H 2 \mathrm{H}_2 H2?。最后,训练GNN编码器,最大化 H 1 \mathrm{H}_1 H1?和 H 2 \mathrm{H}_2 H2?之间的相似性。
1、传统图特征增广
?对于给定的结点
v
v
v和文本属性
S
v
S_v
Sv?,传统的GCL方法:
x
^
v
=
τ
f
(
x
^
v
)
=
τ
f
(
E
m
b
(
S
v
)
)
\mathbf{\hat{x}}_{v}=\tau_{f}(\mathbf{\hat{x}}_v)=\tau_{f}(\mathrm{Emb}(\mathcal{S}_v))
x^v?=τf?(x^v?)=τf?(Emb(Sv?))
使用纯随机函数生成增广后的特征向量
x
^
v
\mathrm{\hat{x}}_v
x^v?。但是,这种方法仅在
E
m
b
(
.
\mathrm{Emb}(.
Emb(.)模块转换的数值空间内引入扰动,这不能有效地操纵原始输入文本属性。
?为了克服这一限制,使用LLM直接扰动输入文本 S v S_v Sv?,并通过下面三个提示模板来增强的文本属性 S v S_v Sv?。
2、使用LLM来做特征增广
(1)Structure-Aware Summarization (SAS)
S v N = { S u ∣ v ∈ N v } \mathcal{S}_v^N=\{S_u|v\in\mathcal{N}_v\} SvN?={Su?∣v∈Nv?}表示结点 v v v邻居的文本属性集合。
SAS的主要思想
?利用LLM理解来自其邻居和其自身的语义信息来对锚节点
v
v
v总结概括。具体地,对于每个节点
v
v
v构造一个提示,该提示结合了锚节点及其邻居的文本属性,表示为
{
S
v
,
S
v
N
}
\{S_v,\mathcal{S}^N_v \}
{Sv?,SvN?},用于修改其文本属性。最后,使用这些总结概括的文本属性作为增广的属性。
(2)Independent Reasoning (IDR)
?指导模型对类别进行预测并作出合理的解释,这样的推理能够促进LLM理解输入文本的语义重要性并强调最相关的因素。
?为此,对每个结点
v
v
v,生成一个提示,该提示将锚结点的文本属性作为输入,并指示LLM同一侧该节点的类别并提供解释。然后,利用预测和解释来表示增广的属性
S
^
v
\hat{S}_v
S^v?。
(3)Structure-Aware Reasoning (SAR)
?SAR将结构信息聚合到推理过程中,因为相连接的节点可以帮助推断锚节点的类别。
?对于每个结点
v
v
v,设计包含锚节点文本属性
S
v
S_v
Sv?及其邻居
S
v
N
S^N_v
SvN?文本属性的提示,来推出结点可能的类别。得到的预测和解释来增广属性
S
v
S_v
Sv?。
为了减少ChatGPT的查询开销,结构感知提示中为每个锚节点随机抽取10个邻居(SAS和SAR)。
1、传统图结构增广
?TAG的邻接矩阵 A \mathrm{A} A,传统的方法通常依赖于结构扰动函数 τ s \tau_s τs?,随机删除或添加边,从而生成增广后的结构 A ^ \hat{A} A^。但是,属性不可知的性质对于捕获属性和关系数据之间的互补信息可能不是最佳的。
2、利用LLM进行图结构增广
(1)Graph Structure Augmentation (GSA)
?
N
v
N_v
Nv?和
N
ˉ
v
\bar{N}_{v}
Nˉv?分别表示与结点
v
v
v相连和不相连的集合。询问LLM,预测
N
v
N_v
Nv?(或
N
ˉ
v
\bar{N}_{v}
Nˉv?)中的节点是否应该与锚节点
v
v
v不连接(或连接)。更准确地说,通过提示模板,并考虑它们自身的文本属性来回答这个问题。
?之后,构建了一个增广结构 A ^ \hat{A} A^——LLM的决定是否删除或添加边。
?为了提高查询效率,最初采用浅层嵌入算法,如BoW,来评估两个节点之间的成对相似性。随后,根据在实验中查询ChatGPT的得分,从 N v N_v Nv?中按降序选择Top-20个最近的邻居,从 N ^ v \hat{N}_v N^v?中按升序选择Top-20个未连接的节点。
下图时LLM作为图增广生成器:
?本节来说明如何实现嵌入函数 E m b ( . ) \mathrm{Emb}(.) Emb(.)——它负责使用LLM将(增强的)文本属性( S v S_v Sv?和 S ^ v \hat{S}_v S^v?)转换为嵌入向量( x v x_v xv?和 x ^ v \hat{x}_v x^v?)。
?直接使用预先训练的LLM来编码
S
v
S_v
Sv?,从而赋予GCL捕获更丰富语义的能力。然而,由于TAG数据集和一般文本数据之间的不匹配,LLM的这种直接应用可能会产生较差的性能。因此,需要进行微调。
在本小节中,我们提出了三种用于微调图对比学习LLM的策略。
由于计算资源的限制,实验使用的是PLMs而不是LLMs。
?思想是直接在文本属性上微调模型。该方法方法通过屏蔽句子中的标记来进行模型微调。
?具体来说,对于拥有
n
v
n_v
nv?个token的文本属性
S
v
=
{
w
1
,
w
2
,
.
.
.
,
w
n
v
}
S_v=\{w_1,w_2,...,w_{n_v}\}
Sv?={w1?,w2?,...,wnv??},
w
i
w_i
wi?为一个token。随机的掩盖
ω
%
\omega\%
ω%的
S
v
S_v
Sv?中的token,并用标记MASK token替代。我们将掩码标记的集合定义为
S
m
a
s
k
S_{mask}
Smask?,而观察到的标记集合表示为
S
v
?
S
m
a
s
k
S^{\setminus S_{mask}}_v
Sv?Smask??,形式如下:
L
M
L
M
=
∑
w
i
∈
S
m
a
s
k
log
?
P
θ
(
w
i
∣
S
v
?
S
m
a
s
k
)
\mathcal{L}_\mathrm{MLM}=\sum_{w_i\in S_\mathrm{mask}}\operatorname{log}P_\theta(w_i|S_v^{\setminus S_\mathrm{mask}})
LMLM?=wi?∈Smask?∑?logPθ?(wi?∣Sv?Smask??)
其中 θ \theta θ是PLM的模型权重。实验中,我们将 ω \omega ω的值设置为15。
?MLM的一个局限性是微调过程不能学习图的拓扑信息。为了解决这个问题,使用对比学习来微调PLM。
?给定节点
v
v
v和他的一个相连的结点
u
u
u。设
x
v
x_v
xv?和
x
u
x_u
xu?分别表示PLM模型生成的节点
v
v
v和
u
u
u的表示,
s
i
m
(
)
\mathrm{sim}()
sim()为余弦相似度函数,TACL的训练目标为:
L
T
C
L
=
?
∑
u
∈
N
v
p
o
s
log
?
exp
?
(
s
i
m
(
x
v
,
x
u
)
/
τ
)
∑
n
=
1
,
n
≠
u
B
exp
?
(
s
i
m
(
x
v
,
x
n
)
/
τ
)
\mathcal{L}_{\mathrm{TCL}}=-\sum_{u\in N_{v}^{\mathrm{pos}}}\log\frac{\exp(\mathrm{sim}(\mathbf{x}_v,\mathbf{x}_u)/\tau)}{\sum_{n=1,n\neq u}^{B}\exp(\mathrm{sim}(\mathbf{x}_v,\mathbf{x}_n)/\tau)}
LTCL?=?u∈Nvpos?∑?log∑n=1,n=uB?exp(sim(xv?,xn?)/τ)exp(sim(xv?,xu?)/τ)?
其中
N
v
p
o
s
N^{pos}_v
Nvpos?包括从
N
v
N_v
Nv?随机采样的
K
K
K个节点,其中
K
K
K是超参数。
τ
\tau
τ为温度参数,
B
B
B表示批大小。
?与TACL不同,采用来自GIANT的方法,通过将该任务转换为多标签分类问题来重建所有邻居。然而,直接微调PLM对高维输出空间的大小
∣
V
∣
|\mathcal{V}|
∣V∣在计算上是不可行的。
为了解决这一个问题,GIANT采用了多标签分类(XMC)的极端形式。该算法的核心思想是基于PIFA特征,利用平衡k-means算法构造层次化的节点聚类树。之后,PLM被预先训练以自上而下的方式匹配最相关的聚类。
?通过采用这三种微调策略,我们可以有效地使PLM模型适应TAG。通过微调,该模型就能够将原始和增强的文本属性转换为数字特征。
实验过程中,目的是解决如下问题:
数据集:五个常见的公开的数据集——两个引用数据集,PubMed和Ogbn-Arxiv;三个电商数据集,Electronics-Computers (Compt), Books-History (Hist),和 Electronics-Photography (Photo).更多详细信息在附录A。
基准模型:GNNs方法——GCN,GAT;GCL方法——GraphCL,BGRL和GBT;语言模型——BERT,DeBERTa和RoBERTa。更多在附录B.1。
实施:利用Huggingface的PLM进行特征提取,并利用OpenAI的ChatGPT 3.5进行图增广。更多在附录B.1。
?在提出的基于LLM的增强和文本编码策略之前,有必要了解现有的GCL方法在TAG上的表现,如下表-1所示。
收获:
?为了解决RQ2关于使用LLM来增强TAG上的文本属性的编码的潜力,研究了第3.2节中提出的三种微调策略的有效性,即MLM,TACL和GIANT。表-1列出结果。
收获:
?在本节中,我们进行实验来评估利用LLM进行图增强以实现进一步改进的可行性(RQ 3)。具体来说,我们研究了三个特征增强提示的影响,即SAS、IDR和SAR,图4总结了结果,从中我们得出了几个关键的观察结果。
收获:
?为了回答RQ4,探讨了不同语言模型主干对GCL方法的影响。图5展示了BERT主干的结果,揭示了最佳语言模型配置对于不同的GCL方法在不同的数据集上是不同的。(附录)
?因此,定义一个统一的语言模型,在各种方法和数据集上表现出很强的泛化能力,这是未来研究的一个很有前途的途径。
RQ5:选择两个代表性骨干:GraphMAE和S2GAE。在实验中,通过将原始的浅层嵌入替换为我们微调的PLM生成的嵌入来测试它们的性能,特别关注DeBERTa。附录中表13中的结果表明,当利用GIANT和TACL生成的节点特征时,GraphMAE和S2GAE通常产生更好的结果。这些发现与在5.3节中对GCL的发现一致,突出了LLM4GCL在更广泛的自监督图学习领域中的潜在适用性。
RQ6:采用嵌入可视化,结果说明了不同微调策略的影响。我们从可视化中观察到,GIANT和TACL学习的嵌入空间在产生更明显的聚类方面表现出色。这些结果为我们的初步实验中GIANT和TACL的上级性能提供了额外的支持。