浙江大学学报(工学版), 2025, 59(7): 1394-1402 doi: 10.3785/j.issn.1008-973X.2025.07.007

计算机技术与控制工程

基于结构感知的少样本知识补全

杨荣泰,, 邵玉斌,, 杜庆治

昆明理工大学 信息工程与自动化学院,云南 昆明 650500

Structure-aware model for few-shot knowledge completion

YANG Rongtai,, SHAO Yubin,, DU Qingzhi

Faculty of Information Engineering and Automation, Kunming University of Science and Technology, Kunming 650500, China

通讯作者: 邵玉斌,男,教授. orcid.org/0009-0007-1028-8035. E-mail:shaoyubin999@qq.com

收稿日期: 2024-05-4  

基金资助: 云南省媒体融合重点实验室项目(220235205).

Received: 2024-05-4  

Fund supported: 云南省媒体融合重点实验室项目(220235205).

作者简介 About authors

杨荣泰(1999—),男,硕士生,从事自然语言与知识图谱研究.orcid.org/0009-0004-7321-8358.E-mail:rongtaiyangmse@163.com , E-mail:rongtaiyangmse@163.com

摘要

现有的知识补全模型在知识表示过程中不能较好地感知邻域拓扑结构,为此提出新的少样本知识补全模型. 在知识表示过程中采用基于注意力机制的结构感知编码器进行三元组编码;该编码器以拓扑结构对邻域内的节点进行集群划分,通过融合邻域内各个集群的结构信息来增强模型的结构感知能力. 为了提升模型预测的稳定性,采用自适应预测网络计算待预测三元组的得分. 在NELL-One 和 Wiki-One 数据集中开展模型性能对比实验. 结果表明,对比基线模型,所提模型的平均倒数排名和命中排名在前10位、前5位、前1位的正确结果的平均占比分别提升了0.018、0.021、0.024、0.016 以及 0.019、0.055、0.039、0.038. 所提模型能够有效利用邻域的拓扑信息,提升知识补全的准确性.

关键词: 少样本知识补全 ; 知识表示 ; 结构感知 ; 拓扑结构 ; 注意力机制

Abstract

A new model for few-shot knowledge completion was proposed to address the problem that existing knowledge completion models fail to adequately perceive the neighborhood topological structure during knowledge representation. A structure-aware encoder based on an attention mechanism was employed to encode triples in the process of knowledge representation. The cluster partitioning of neighboring nodes was performed by the encoder based on topological structure, and the structural information from each cluster in the neighborhood was integrated to reinforce the model’s structure-aware ability. An adaptive prediction network was adopted to compute the scores of triples to be predicted, for enhancing the stability of the model’s predictions. Experiments in the NELL-One and Wiki-One datasets were carried out. Results show that, compared with the baseline models, the proposed model outperforms by 0.018, 0.021, 0.024, 0.016 and 0.019, 0.055, 0.039, 0.038 in terms of mean reciprocal rank and the hit rate of correct results ranked in the top 10, top 5, and top 1 metrics, respectively. The proposed model effectively leverages topological information from neighborhoods, thereby enhancing the accuracy of knowledge completion.

Keywords: few-shot knowledge completion ; knowledge representation ; structure-aware ; topological structure ; attention mechanism

PDF (857KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

杨荣泰, 邵玉斌, 杜庆治. 基于结构感知的少样本知识补全. 浙江大学学报(工学版)[J], 2025, 59(7): 1394-1402 doi:10.3785/j.issn.1008-973X.2025.07.007

YANG Rongtai, SHAO Yubin, DU Qingzhi. Structure-aware model for few-shot knowledge completion. Journal of Zhejiang University(Engineering Science)[J], 2025, 59(7): 1394-1402 doi:10.3785/j.issn.1008-973X.2025.07.007

知识图谱是图拓扑结构数据,通常以三元组(头实体,关系,尾实体)的形式存储[1-3],其中实体表示为节点,关系表示为连接节点的边. 这种结构化的表示方式使机器能够理解并处理复杂的语义信息,便于进行智能搜索、推理和问答等多种人工智能应用. 由于数据来源有限、信息抽取不完全以及知识验证成本高,知识图谱在实际工程应用中难以达到完备状态. 知识图谱中大量关系只有少量的支持样本[4-5]. 此外,现实世界中知识是动态更新的,用于知识补全的支持样本却有限甚至稀缺.

知识补全更接近于少样本学习任务[6-8]. 少样本知识补全旨在利用少量支持样本,自动构建较为完备的知识图谱,为下游人工智能应用提供良好的数据支撑. 越来越多的研究者将深度学习中的少样本学习方法应用于少样本知识补全. 现有的少样本知识补全方法主要分为2个类别:基于度量的方法和基于元学习的方法. 在基于度量的方法中,Yuan等[9]考虑实体与邻居间的交互,设计分层注意力编码器来捕获交互信息. Liang等[10]基于掩码机制设计全局注意力机制,捕获了实体间的交互信息. Li等[11]设计原型网络,进行关系的多层语义处理,为查询样本和支持样本生成原型嵌入. 第一类方法的核心:基于不同的嵌入学习策略为知识三元组中的关系和实体学习准确的向量表示,得到查询样本和支持样本的嵌入,在同一个向量空间下度量查询样本和支持样本的相似性. 在基于元学习的方法中,Niu等[12]使用关系超平面参数更新机制,建模实体之间复杂关系. Zhang等[13]为了实现少样本多跳关系推理,设计出结合知识蒸馏的元学习优化机制. Cai等[14]为了使元知识具备更好的语义信息,设计动态邻居编码器来融合邻居关系语义,得到实体的动态嵌入表示. 第二类方法的关键:引导模型识别并聚焦特定任务的关键参数(常被称为元参数),通过元参数调整与优化来提升模型适应新任务的能力. 主流少样本知识补全方法基于预训练词向量包含的语义信息进行推理,忽视了邻域结构对实体编码的影响. 图的结构挖掘与结构信息融合受到关注,逐渐被用于其他知识图谱任务并取得积极效果. Dwivedi等[15]使用图的拉普拉斯特征向量代替Transformer编码器中的位置编码,以解决Transformer网络无法有效学习图结构特征的问题,Ying等[16]使用中心性编码代替Transformer编码器中的位置编码,在注意力机制中引入空间编码以及边编码. 为了融合实体的图结构特征,Chen等[17]对图谱进行子图抽取,使用图神经网络学习子图的特征,最后进行实体表示的更新. Luo等[18]设计出表征节点之间连接状态的掩码矩阵并将其引入注意力机制.

现有图的结构学习模型主要用于图分类和节点分类任务,在少样本条件下模型的有效性有待进一步验证. 现有少样本知识补全方法在实体编码过程中未考虑实体的邻域结构信息,为此本研究提出基于结构感知的少样本知识补全模型(structure-aware model for few-shot knowledge completion, SAM),采用结构感知编码器来学习并融合实体的邻域拓扑结构信息,增强实体的语义表示,使用自适应预测网络提升模型对支持样本集的适应能力,增强模型在少样本条件下的知识补全效果.

1. 少样本知识补全任务

知识图谱由一系列的三元组$\left( {h,r,t} \right)$组成,其中h为头实体,r为关系,t为尾实体. 少样本知识补全任务通常被分为2类,1)预测三元组中缺失的实体,2)预测三元组中缺失的关系. SAM的目标是预测三元组中缺失的实体,所述方法均针对预测尾实体任务. 在预测尾实体的任务中,待预测三元组称为查询三元组,表示为$\left( {{h^{\text{q}}},r,t^{\mathrm{q}}} \right)$,查询三元组中缺失的尾实体${t^{\text{q}}}$由模型从候选实体集$C = \{ t_1^{\text{q}},t_2^{\text{q}}, \cdots , t_{\text{z}}^{\text{q}} \}$中挑选得到. 支持模型推理的样本集称为支持集SS中支持三元组的数量k称为少样本任务中的样本数,$S = \{ ( {h_1^{\text{s}},r,t_1^{\text{s}}} ),( {h_2^{\text{s}},r,t_2^{\text{s}}} ), \cdots ,( {h_k^{\text{s}},r,t_k^{\text{s}}} ) \}$.

少样本知识补全任务的目的是利用模型学习支持集中三元组潜在的语义信息,推测查询三元组存在的合理性. 若查询三元组存在的合理性越高,则查询三元组中的尾实体是待预测三元组中缺失尾实体的可能性越大. 少样本知识补全任务因此转化为查询三元组与支持三元组的相似性评估任务. 在整个预测过程中,三元组的表示至关重要,对三元组的表示越准确,三元组预测得分越高,模型的评估效果越好. 词语义具有多义性,词向量预训练模型始终难以得到包含单词所有语义的向量表示. 现有知识补全方法[5,10-14,19-21]均基于知识的预训练词向量包含的语义信息来推测查询三元组的合理性,少样本知识补全方法面临挑战:1)知识本身,三元组中的实体和关系的词向量语义信息有限,难以支持模型进行有效推理. 如图1(a)所示为NELL-One数据集中实体“Company: Intuit”的邻域结构. 使用主成分分析算法(PCA)对邻域中所有节点的词向量进行降维,得到第一个主成分PCA1和第二个主成分PCA2,并可视化显示其语义分布,如图1(b)所示. 可以看出,原本应该拥有相似语义的节点“Ceo: Stephen Bennett”、“Ceo: Scott Cook”、“Ceo: Brad Smith”相距较远. 2)从拓扑结构上看,呈现结构聚集性的节点应该有强相关性,从词向量的语义分布上看,这种相关性却很弱. 如果能利用拓扑结构引导模型进一步挖掘这类呈现结构集群的邻居之间潜在的语义相关性,将有利于增强模型推理. 对此,在SAM中使用如图1(c)所示的二分谱聚类集群划分方法来挖掘邻域的拓扑结构特征.

图 1

图 1   实体的邻域节点语义分布和结构特点

Fig.1   Semantic distribution and structural characteristics of neighborhood nodes for entity


2. 模型设计与实现

图2所示,SAM采用结构感知编码器学习,得到融合三元组邻域结构信息的嵌入;使用自适应预测网络计算查询三元组嵌入与支持三元组嵌入的余弦相似度,作为预测分数. 结构感知编码器主要通过结构感知注意力机制来融合三元组中实体的邻域结构信息,得到具有结构语义的实体嵌入,通过Transformer编码器来进一步编码三元组,生成三元组的嵌入. 自适应预测网络先采用注意力机制捕捉每个支持三元组嵌入与查询三元组嵌入的交互信息,再将这种交互信息融合到支持集的嵌入表示中. 交互信息的强弱反映了支持三元组对支持集嵌入表示的贡献大小. 通过引入交互信息,模型被赋予较强的支持集样本自适应能力,缓解了样本分布不均带来的预测不稳定性.

图 2

图 2   基于结构感知的少样本知识补全模型框架

Fig.2   Framework of structure-aware model for few-shot knowledge completion


2.1. 结构感知编码器

2.1.1. 结构感知注意力机制

图注意力机制[22-25]具备一定的图结构学习能力,但是它往往只关注邻居节点对中心节点的贡献,忽视了邻居节点之间的拓扑连接对中心实体表示的影响. 为了引导模型利用邻域拓扑结构挖掘邻居节点之间潜在的语义信息,在结构感知编码器中设计结构感知注意力机制来捕获邻居结构信息,并融合到实体的嵌入表示中. 对于第i个三元组$\left( {{h_i},r,{t_i}} \right)$中的头实体${h_i}$以及尾实体${t_i}$,为了融合实体所在拓扑图的邻域拓扑结构信息,设计基于拉普拉斯矩阵分解的二分谱聚类方法进行邻居节点的集群划分.

以融合头实体${h_i}$的邻域拓扑结构信息为例,1)构建邻域结构的拉普拉斯矩阵L. 设邻居节点的集合$ N = \left\{ {{V_1},{V_2}, \cdots ,{V_d}} \right\} $,邻居节点的嵌入为$\left\{ {{\boldsymbol{v}}_1},{{\boldsymbol{v}}_2}, \cdots , {{\boldsymbol{v}}_d} \right\}$. 由于邻接矩阵包含实体和邻居节点,是$\left( {1+d} \right) \times \left( {1+d} \right)$的二维矩阵,邻接矩阵A反映节点之间的连接结构. 度矩阵D反映各个节点的最大连接数量,由邻接矩阵得到. 拉普拉斯矩阵由邻接矩阵和度矩阵构造得到:

$ {\boldsymbol{L}} = {\boldsymbol{D}} - {\boldsymbol{A}}. $

2)分解拉普拉斯矩阵,得到特征值与特征向量:

$ {\boldsymbol{LX}} = \lambda {\boldsymbol{X}}. $

经过分解后可以得到$1+d$个特征值,从小到大对这些特征值进行排序,得到$\left\{ {{\lambda _1},{\lambda _2}, \cdots ,{\lambda _{d{\text{+}}1}}} \right\}$,特征值与节点一一对应. 其中一个特征值对应的节点为中心节点,即头实体${h_i}$. 3)集群划分. 选取特征值${\lambda _2}$对应的特征向量${{\boldsymbol{X}}_2} = {\left[ {{x_0},{x_1}, \cdots ,{x_d}} \right]^{\text{T}}}$,特征向量中的元素与邻居节点$\left\{ {{V_0},{V_1}, \cdots ,{V_d}} \right\}$一一对应. 依据特征向量${{\boldsymbol{X}}_2}$中元素的正负把除核心节点外的所有邻居节点划分为2个不同的结构集群${C^+}$${C^ - }$,划分的规则为

$ {V}_{i}\in \left\{ \begin{array}{l}{C}^+\text{,}{x}_{i} > 0\text{;}\\ {C}^-\text{,}{x}_{i} < 0.\end{array}\right. $

由式(3)得到2个集群${C^+} = \left\{ {V_1^+,V_2^+, \cdots ,V_a^+} \right\}$${C^ - } = \left\{ {V_1^ - ,V_2^ - , \cdots ,V_b^ - } \right\}$,其中$a+b = d$.图1(c)所示,在实体“Company: Intuit”的邻域结构中,设节点集合为$\left\{ {{V_0},{V_1},{V_2},{V_3},{V_4}} \right\}$,集合中的节点分别对应Company: Intuit、Ceo: Stephen Bennett、Ceo: Scott Cook、Ceo: Brad Smith、Company: Mint. 由步骤1)、2)得到排序后的特征值$\left\{ {0,1,4,4,5} \right\}$. 4)选取${\lambda _2} = 1$及其对应的特征向量${{\boldsymbol{X}}_2} $= {0, −0.2887, −0.2887, −0.2887, 0.8660},依据式(3)对邻域集合$\left\{ {{V_1},{V_2},{V_3},{V_4}} \right\}$进行集群划分,得到集群${C^+} = \left\{ {{V_4}} \right\}$和集群${C^ - } = \left\{ {{V_1},{V_2},{V_3}} \right\}$. 结合图1(a)的集群效果来看,所提二分谱聚类方法可以较好地将结构上呈现集群的节点划分到同个集群中. 相比其他谱聚类方法[26-29],所提二分谱聚类方法在实现上复杂程度更低.

基于注意力机制设计集群池化操作,生成2个集群的嵌入表示,融合2个结构集群的结构信息,得到邻域嵌入表示. 1)度量每个邻居节点对集群池化的贡献大小,即定义节点对集群的影响力:

$ \left. {\begin{array}{*{20}{c}} {\varphi \left( {{\boldsymbol{v}}_l^+,{\boldsymbol{e}}_i^{\text{h}}} \right) = {\boldsymbol{v}}{{_l^{+{\mathrm{T}}}}}{{\boldsymbol{W}}_1}{\boldsymbol{e}}_i^{\text{h}}+{c_1},} \\ {\varphi \left( {{\boldsymbol{v}}_u^ - ,{\boldsymbol{e}}_i^{\text{h}}} \right) = {\boldsymbol{v}}{{_u^ {-{\mathrm{T}}} }}{{\boldsymbol{W}}_2}{\boldsymbol{e}}_i^{\text{h}}+{c_2}.} \end{array}} \right\} $

式中:$ {\boldsymbol{v}}_l^+$${C^+}$中第l个邻居节点的嵌入,$ {\boldsymbol{v}}_u^ - $${C^ - }$中第u个邻居节点的嵌入;$ {\boldsymbol{e}}_i^{\text{h}} $为第i个头实体的嵌入,${{\boldsymbol{W}}_1} \in {{\bf{R}}^{d \times d}}$${{\boldsymbol{W}}_2} \in {{\bf{R}}^{d \times d}}$为神经网络权重矩阵,${c_1} \in {\bf{R}}$${c_2} \in {\bf{R}}$为偏置参数. 通过归一化操作将节点对集群的影响力转化为节点对集群的池化权重:

$ \left. {\begin{array}{*{20}{c}} {\alpha _l^+ = \dfrac{{\exp \left( {\varphi \left( {{\boldsymbol{v}}_l^+,{\boldsymbol{e}}_i^{\text{h}}} \right)} \right)}}{{\displaystyle\sum\limits_{{v_j} \in {C^+}} {\exp \left( {\varphi \left( {{\boldsymbol{v}}_j^+,{\boldsymbol{e}}_i^{\text{h}}} \right)} \right)} }},} \\ {\alpha _u^ - = \dfrac{{\exp \left( {\varphi \left( {{\boldsymbol{v}}_u^ - ,{\boldsymbol{e}}_i^{\text{h}}} \right)} \right)}}{{\displaystyle\sum\limits_{{v_j} \in {C^ - }} {\exp \left( {\varphi \left( {{\boldsymbol{v}}_j^ - ,{\boldsymbol{e}}_i^{\text{h}}} \right)} \right)} }}.} \end{array}} \right\} $

2)以$\alpha _l^+$$\alpha _u^ - $为池化权重,分别加权,得到每个集群的池化嵌入:

$ \left. {\begin{array}{*{20}{c}} {{{\boldsymbol{e}}_{{C^+}}} = \displaystyle\sum\limits_{l = 1}^a {\alpha _l^+{\boldsymbol{v}}_l^+,} } \\ {{{\boldsymbol{e}}_{{C^ - }}} = \displaystyle\sum\limits_{u = 1}^b {\alpha _u^ - {\boldsymbol{v}}_u^ - .} } \end{array}} \right\} $

3)分别在2个集群内进行邻居节点间的语义交互,以弥补预训练词向量语义表示的不足:

$ \left.\begin{array}{*{20}{c}} {\beta _l^+ = \dfrac{{\exp \left( {{{\boldsymbol{e}}_{{C^+}}}^{\text{T}}{\boldsymbol{v}}_l^+} \right)}}{{\displaystyle\sum\limits_{i = 1}^a {\exp \left( {{{\boldsymbol{e}}_{{C^+}}}^{\text{T}}{\boldsymbol{v}}_i^+} \right)} }},} \\ {\beta _u^ - = \dfrac{{\exp \left( {{{\boldsymbol{e}}_{{C^ - }}}^{\text{T}}{\boldsymbol{v}}_u^ - } \right)}}{{\displaystyle\sum\limits_{j = 1}^b {\exp \left( {{{\boldsymbol{e}}_{{C^ - }}}^{\text{T}}{\boldsymbol{v}}_j^ - } \right)} }}.} \end{array}\right\} $

4)融合邻域语义,得到邻域嵌入:

$ {{\boldsymbol{e}}_{\text{N}}} = \sum\limits_{l = 1}^a {\beta _l^+{\boldsymbol{v}}_l^+} +\sum\limits_{u = 1}^b {\beta _u^ - {\boldsymbol{v}}_u^ - } . $

5)更新实体的表示,得到融合拓扑结构信息的头实体嵌入:

$ {\boldsymbol{\hat e}}_i^{\text{h}} = {{\mathrm{LeakyReLU}}} \left( {{{\boldsymbol{W}}_{\text{h}}}\left( {{\boldsymbol{e}}_i^{\text{h}}+{{\boldsymbol{e}}_{\text{N}}}} \right)} \right). $

式中:${{\boldsymbol{W}}_{\text{h}}} \in {{\bf{R}}^{d \times d}}$为神经网络权重矩阵. 以同样方式得到融合邻域拓扑信息后的尾实体${{{t}}_i}$的嵌入${\boldsymbol{\hat e}}_i^{\text{t}}$.

2.1.2. 三元组编码

三元组编码基于融合邻域拓扑信息的头实体嵌入${\boldsymbol{\hat e}}_i^{\text{h}}$和尾实体嵌入${\boldsymbol{\hat e}}_i^{\text{t}}$生成三元组的嵌入表示,以便在自适应预测网络中评估查询三元组合理性. 1)按照三元组中元素的顺序依次拼接头实体嵌入${\boldsymbol{\hat e}}_i^{\text{h}}$,关系嵌入${{\boldsymbol{e}}^{\text{r}}}$和尾实体嵌入${\boldsymbol{\hat e}}_i^{\text{t}}$,得到三元组的初步嵌入表示,作为Transformer编码器中的元素输入:

$ {\boldsymbol{e}}_i^{{\text{ele}}} = {\text{Concat}}\left( {{\boldsymbol{\hat e}}_i^{\text{h}},{{\boldsymbol{e}}^{\text{r}}},{\boldsymbol{\hat e}}_i^{\text{t}}} \right). $

式中:$ \mathrm{Concat}(\cdot) $为向量拼接函数. 2)使用Transformer编码器对三元组的初步嵌入做进一步编码. Transformer编码器的输入为

$ {\boldsymbol{e}}_i^{{\text{in}}} = {\boldsymbol{e}}_i^{{\text{ele}}}+{\boldsymbol{e}}_i^{{\text{pos}}}. $

式中:${\boldsymbol{e}}_i^{{\text{pos}}}$为Transformer编码器位置嵌入. Transformer编码器主要采用多头注意力机制来提取特征,中间层的三元组嵌入表示为

$ {{\boldsymbol{\hat T}}_i} = {{\mathrm{MHA}}} \left( {{{\mathrm{LayerNorm}}} \left( {{\boldsymbol{e}}_i^{{\text{in}}}} \right)} \right). $

式中:$ \mathrm{LayerNorm} $(·)为归一化函数,$ \mathrm{MHA} $(·)为多头注意力机制,均参照Transformer设置. 3)在前馈神经网络中使用非线性变换函数抽取中间层嵌入的特征,调整输出维度,得到最终的三元组嵌入:

$ {{\boldsymbol{T}}_i} = {{\mathrm{FFN}}} \left( {{{{\boldsymbol{\hat T}}}_i}} \right) = {\text{ReLU}}\left( {{{{\boldsymbol{\hat T}}}_i}{{\boldsymbol{W}}_{{\text{f}}1}}} \right){{\boldsymbol{W}}_{{\text{f2}}}}. $

式中:${{\boldsymbol{W}}_{{\text{f1}}}} \in {{\bf{R}}^{{d_{{\text{m}}}} \times {d_{\text{f}}}}}$${{\boldsymbol{W}}_{{\text{f2}}}} \in {{\bf{R}}^{{d_{\text{f}}} \times {d_{{\text{m}}}}}}$均为神经网络权重矩阵;$ \mathrm{FFN} $(·)为前馈神经网络,依照Transformer网络设置. 通过式(1)~(13)对查询三元组$\left( {{h^{\text{q}}},r,{t^{\text{q}}}} \right)$和参考集$S$中的三元组进行编码,得到查询三元组的嵌入${{\boldsymbol{T}}^{\text{q}}}$k个参考三元组的嵌入${\boldsymbol{T}}_1^{\text{s}},{\boldsymbol{T}}_2^{\text{s}}, \cdots ,{\boldsymbol{T}}_k^{\text{s}}$.

2.2. 自适应预测网络

k个样本的识补全任务中,验证查询三元组合理性过程要用到${{\boldsymbol{T}}^{\text{q}}}$k个支持三元组嵌入进行相似度计算,取相似度得分的平均分作为预测得分. 由于支持集中的三元组样本类别分布不均,导致部分个体预测分数低. 评分函数与损失函数直接相关,不稳定的评分将使模型在训练过程中接收的反馈信号不稳定,最终导致模型参数更新不稳定,泛化性降低. 与传统评估机制不同,本研究设计的自适应预测网络通过自适应注意力机制得到支持集的嵌入,计算查询实体对与支持集嵌入的相似度作为链接预测分数,以增强预测网络对不均衡支持三元组样本的适应能力. 1)为了保证构造合理的支持集嵌入,计算第i个支持三元组与查询三元组的相关性,归一化后,将这种相关性转化为每个支持三元组对支持集嵌入表示的贡献程度:

$ \left. {\begin{array}{*{20}{l}} {\phi \left( {{\boldsymbol{T}}_i^{\text{s}},{{\boldsymbol{T}}^{\text{q}}}} \right) = {{\mathrm{Cosine}}} \left( {{\boldsymbol{T}}_i^{\text{s}},{{\boldsymbol{T}}^{\text{q}}}} \right),} \\ {{\omega _i} = \dfrac{{\exp \left( {\phi \left( {{\boldsymbol{T}}_i^{\text{s}},{{\boldsymbol{T}}^{\text{q}}}} \right)} \right)}}{{\displaystyle\sum\limits_{j = 1}^k {\exp \left( {\phi \left( {{\boldsymbol{T}}_j^{\text{s}},{{\boldsymbol{T}}^{\text{q}}}} \right)} \right)} }}.} \end{array} } \right\} $

式中:$ \mathrm{Cosine} $(·)为余弦相似度函数. 2)对每个支持三元组加权求和,得到支持集嵌入:

$ {{{\overline {\boldsymbol{T}}}}^{\text{s}}} = \sum\limits_{i = 1}^k {{\omega _i}{{\boldsymbol{T}}_{{\text{s}}i}}} . $

3)使用向量点积计算查询实体对与支持集嵌入的相似度,作为最终的查询三元组评估得分:

$ \varphi \left( {{{{{\overline {\boldsymbol{T}}}}}^{\text{s}}},{{\boldsymbol{T}}^{\text{q}}}} \right) = {{{\overline {\boldsymbol{T}}}}^{\text{s}}} \cdot {{\boldsymbol{T}}^{\text{q}}}. $

3. 实验与分析

3.1. 数据集与评价指标

使用公共数据集NELL-One和Wiki-One[20]评估SAM在少样本知识补全任务上的有效性. 如表1所示为2个数据集中实体、关系和三元组的样本数量$N_{\mathrm{S}} $. 表中,从NELL-One的三元组中划出67组预测任务,其中训练集、验证集、测试集的比例为51∶5∶11;从Wiki-One的三元组中划分出183组预测任务,其中训练集、验证集、测试集的比例为133∶16∶34. 2个数据集中,每组预测任务包含的三元组数量为50~500. 模型性能评估指标为平均倒数排名MRR和命中排名在前n位的正确结果的平均占比Hits@n,指标的数值越大,说明模型的性能越好. 指标计算式分别为

表 1   实验数据集样本

Tab.1  Samples of experimental dataset

数据集$N_{\mathrm{S}} $
实体关系三元组
NELL-One68 545358181 109
Wiki-One4 838 2448225 859 240

新窗口打开| 下载CSV


$ {{\mathrm{MRR}}} = \frac{1}{{\left| Q \right|}}\sum\limits_{i = 1}^{\left| Q \right|} {\frac{1}{{{R_i}}}} , $

$ \text { Hits@} n=\frac{1}{|Q|} \sum_{i=1}^{|Q|} {I}\left(R_i \leqslant n\right) \text {. } $

式中:$\left| Q \right|$为查询集样本总数;${R_i}$为第i个查询三元组的评估得分排名;$ {I} $(·)为指示函数,当第i个查询实体的得分排名在前n位时,函数值为1,否则函数值为0.

3.2. 损失函数与模型训练

直接使用知识图谱中存放的三元组训练模型会导致模型过拟合、泛化性差,为此构建虚假查询三元组来训练模型,保证模型具备较强的泛化性. 具体而言,通过替换正样本查询三元组的尾实体得到负样本查询三元组$\left( {{h^{\text{q}}},r,{t^{{\text{q}} - }}} \right)$,由式(1)~ (13)得到负样本查询三元组的嵌入${{\boldsymbol{T}}^{{\text{q}} - }}$. 使用正负样本训练策略训练SAM:

$ L = \max \left( {0,\left( {\varepsilon +\varphi ({{{{\overline {\boldsymbol{T}}}}}^{\text{s}}},{{\boldsymbol{T}}^{\text{q}}}) - \varphi ({{{{\overline {\boldsymbol{T}}}}}^{\text{s}}},{{\boldsymbol{T}}^{{\text{q}} - }})} \right)} \right). $

式中:$\varepsilon $为间隔保证距离. 在少样本(k=3)条件下训练SAM,2个实验数据集的参数设置如下:Transformer的层数为3,Transformer的头数为4,最大采样邻居数为50,批量训练大小为128,学习率分别为5×10−5(NELL-One)、6×10−5(Wiki-One). 服务器参数:GPU为NVIDIA RTX3080,CPU为Intel(R) Core(TM)i7-10700F 2. 90 GHz.

3.3. 基线模型对比

在基于度量学习的基线模型中,多度量特征提取网络(multi-metric feature extraction network, MFEN)[5]由卷积编码器捕获实体嵌入的多尺度特征,考虑了邻居节点对实体的异构影响;基于Transformer的附加匹配器(transformer appending matcher, TransAM)[10]使用旋转操作提取实体的角色信息;自适应原型交互网络(adaptive prototype interaction network, APINet)[11]由原型交互网络捕捉实体与关系之间的交互信息,在预测过程中使用原型网络处理关系的多层语义. 在基于元学习的基线模型中,GANA(gated and attentive neighbor aggregator)[12]为两阶段学习机制,全局阶段使用图注意力网络学习支持三元组的嵌入表示,局部阶段利用查询三元组优化整个模型;自适应知识蒸馏的少样本关系推理模型 (adaptive knowledge distillation framework for few-shot relation reasoning over knowledge graph, ADK-KG)[13]使用文本信息来增强邻居节点的嵌入表示,由基于知识蒸馏的元学习优化机制来更新模型参数;动态自适应关系学习模型(dynamic adapting relation learning model, DARL)[14]设计动态邻居编码器来编码邻居实体,元学习器将关系元转移到查询集中,以增强模型的预测能力.

APINet[11]和DARL[14]的提出者没有提供可复现的代码,因此采用论文中的实验结果进行性能对比. 在同一台服务器上复现其余4个基线模型的实验结果,得到不同模型在2个数据集上的少样本(k=3)链接预测实验结果如表2所示. 在NELL-One中,对比MRR最好的基线模型GANA[12],SAM提升了0.018;对比Hits@10最好的基线模型APINet[11],SAM提升了0.021;对比Hits@5最好的基线模型GANA[12],SAM提升了0.024;对比Hits@1最好的基线模型ADK-KG[13],SAM提升了0.016. 在Wiki-One中,对比MRR最好的基线模型DARL[14],SAM提升了0.019;对比Hits@10最好的基线模型APINet,SAM提升了0.055;对比Hits@5最好的基线模型APINet[11],SAM提升了0.039;对比Hits@1最好的基线模型DARL[14],SAM提升了0.038. SAM优于所有基于度量学习的基线模型, 在2个数据集中对比表现最好的模型APINet,MRR、Hits@10、Hits@5、Hits@1分别提高了0.024、0.021、0.032、0.032以及0.022、0.055、0.039、0.045. 分析原因:基于度量的方法推理效果依赖于向量空间的表示,由于预训练词向量包含的语义信息有限,限制了APINet的推理能力,SAM能够较好利用邻域结构信息挖掘实体与邻居节点之间潜在的语义,增强实体的语义表示,提升模型的推理能力. SAM优于所有基于元学习的基线模型. 在NELL-One数据集上,对比表现最好的模型GANA[12], MRR、Hits@10、Hits@5、Hits@1分别提高了0.018、0.036、0.024、0.019. 在Wiki-One数据集上,对比表现较好的模型DARL[14],MRR、Hits@10、Hits@5、Hits@1分别提高了0.019、0.082、0.058、0.038. 尽管基于元学习的方法能自动地发现和优化模型参数和超参数设置,使模型能够自动适应不同任务,但该类方法须针对不同任务进行多次反向传播和梯度更新,加大了训练的计算复杂性和时间成本. SAM在挖掘邻域信息时,没有复杂的超参数设计,模型的复杂度相对较小. 实验结果表明,在少样本条件下,所提模型能够有效挖掘到实体的邻域结构信息,实体的语义表示比其他基线模型更充分,能够有效提高查询三元组预测的准确性,泛化性良好.

表 2   不同模型在2个数据集上的少样本链接预测结果

Tab.2  Few-shot link prediction results of different models in two datasets

模型类型模型名称NELL-OneWiki-One
MRRHits@10Hits@5Hits@1MRRHits@10Hits@5Hits@1
基于度量学习MFEN0.2260.4010.2870.1790.2680.3720.3220.201
TransAM0.2150.3480.2450.1640.3020.3460.3410.264
APINet0.3050.4960.4050.2080.3420.4730.4190.283
基于元学习GANA0.3110.4810.4130.2210.3220.4180.3790.276
ADK-KG0.3020.3790.3010.2240.2650.3460.2830.231
DARL0.2130.3740.3260.1380.3450.4460.4000.290
基于度量学习SAM0.3290.5170.4370.2400.3640.5280.4580.328

新窗口打开| 下载CSV


3.4. 消融实验

SAM的核心模块为结构感知编码器M1和自适应预测网络M2. 为了探究核心模块对模型推理的贡献,使用Wiki-One,在少样本(k=3)条件下分别针对有无核心模块设计消融实验,结果如表3所示. 结构感知编码器采用结构感知注意力机制学习邻域结构特征,得到用于增强实体语义表示的邻域信息. 当没有结构感知注意力机制时,结构感知编码器将采用Transformer网络直接对三元组进行编码,得到的三元组嵌入没有融合邻域结构信息. 加入结构感知注意力机制后,MRR、Hits@10、Hits@5、Hits@1分别提高了0.026、0.086、0.052、0.047. 表明结构感知图注意力机制捕获的邻域结构信息确实有利于增强实体的语义表示,能够提升模型的预测效果. 自适应预测网络放弃了传统思路中逐一对比查询三元组与支持集内单个支持三元组相似性的方法,采用更为全局和高效的策略:直接计算查询三元组嵌入与整个支持集嵌入的相似性,使用注意力机制衡量个体对于支持集的贡献. 表中,当没有自适应预测网络时,采用传统的预测思路. 由表可知,相比传统的预测思路,采用自适应预测网络后MRR、Hits@10、Hits@5、Hits@1分别提高了0.010、0.039、0.015、0.011. 表明自适应预测网络有效地减轻了因支持集中样本分布不均匀带来的状况(预测评分过度依赖于某些极端样本),提高了模型预测性能的稳定性和泛化能力.

表 3   核心模块对知识补全的影响

Tab.3  Impact of core modules on knowledge completion

M1M2MRRHits@10Hits@5Hits@1
0.3640.5280.4580.328
0.3380.4420.4060.281
0.3540.4890.4430.317

新窗口打开| 下载CSV


3.5. 拓扑图稠密程度对模型的影响

SAM使用针对拓扑图的结构信息挖掘方法,即二分谱聚类方法,将拓扑图中相互连接且呈现聚集性的节点划为同个集群. 从计算方法上看,该方法主要基于图的拉普拉斯矩阵分解,并依据选定特征值对应的特征向量的元素特点对邻居节点进行集群划分. 邻接矩阵记录了所有节点之间的连接信息,该矩阵越稠密,对应拓扑图的稠密程度越大,二分谱聚类方法就越有可能把所有邻居节点划分为2个有意义的集群,从而让每个邻居节点以不同的结构影响力对实体做出贡献. 设拓扑图有m个节点,则该拓扑图最多存在$m\left( {m - 1} \right)/2$条连接,若该拓扑图中实际只存在n条连接,则该拓扑图的稠密程度定义为

$ \theta = \left\{ \begin{array}{l} \dfrac{{2n}}{{m\left( {m - 1} \right)}},\quad m > 1; \\ 0,\quad\quad\quad\;\,\quad m = 1. \end{array} \right. $

其中$\theta \in \left[ {0,1} \right]$. 为了探究最大采样邻居数对邻接矩阵稠密程度的影响,将最大采样邻居数量分别设置为10、25、40、55、70、85、100、115、130、145、160. 在NELL-One中,分别在不同最大采样邻居数下对68 544个实体构造对应的一阶邻域拓扑图(采样过程随机),通过式(20)计算对应拓扑图的稠密程度,再计算这些实体所在拓扑图的平均稠密程度. 实验得到不同最大采样邻居数下拓扑图的平均稠密程度变化情况,如图3所示. 随着最大采样邻居数量的增加,邻接矩阵的稠密程度不会一直增强,而是在一定的最大采样邻居数区间内达到最大,然后趋于平稳,甚至减弱. 这说明只有在一定的采样范围内,实体所在拓扑图的邻接矩阵才会表现出较强的稠密性. 分析原因:采样的邻居数增多必使m增大,由于数据集的限制,每个增加的邻居节点不一定与其他邻居节点存在连接,即n不一定增大,最终使得$\theta $变小,起了稀释邻接矩阵稠密程度的作用.

图 3

图 3   不同最大采样邻居数下的拓扑图稠密程度

Fig.3   Density of topology graph with different maximum number of sampled neighbors


进一步探究在不同最大采样邻居数下,使用二分谱聚类方法对知识补全的影响,以Hits@10为评估指标,在少样本(k=3)条件下进行实验,结果如图4所示. 由图可知,超过最大采样邻居数范围(m=55~70)后,知识补全的效果不会明显提升,甚至略微下降. 结合图3分析可知,最大采样邻居数的变化会直接影响邻接矩阵的稠密程度,间接影响二分谱聚类方法的集群划分效果,最终影响知识补全的效果. 综上,采样尽可能多的邻居并不能提升拓扑结构信息利用的效果;从理论上看,采样的邻居数量越多,构建邻接矩阵的时间复杂度越大. 例如,若采样m个邻居,则构建邻接矩阵的时间复杂度为$O\left( {{{\left( {m+1} \right)}^2}} \right)$. 因此,只有在一定的采样范围内,二分谱聚类方法才能发挥较好的效果,挖掘到对实体表示有用的拓扑结构信息,增强知识补全的效果.

图 4

图 4   不同最大采样邻居数下的知识补全效果

Fig.4   Knowledge completion effect under different maximum number of sampled neighbors


4. 结 语

本研究提出少样本知识补全模型,采用结构感知编码器来融合实体的邻域结构信息,增强了实体的语义表示. 采用自适应预测网络来计算预测得分. 在结构感知编码器中设计结构感知注意力机制,解决了图注意力机制无法有效学习邻域拓扑结构的问题. 在2个公开数据集上的对比实验表明,所提模型在知识补全效果上优于基线模型. 在少样本条件下所提模型能够有效学习实体的邻域拓扑结构信息,提升知识补全的效果和泛化性能. 未来将进一步研究邻域集群的合理划分,以挖掘并融合更丰富的邻域结构信息,增强知识的语义表示.

参考文献

杨东华, 何涛, 王宏志, 等

面向知识图谱的图嵌入学习研究进展

[J]. 软件学报, 2022, 33 (9): 3370- 3390

[本文引用: 1]

YANG Donghua, HE Tao, WANG Hongzhi, et al

Survey on knowledge graph embedding learning

[J]. Journal of Software, 2022, 33 (9): 3370- 3390

[本文引用: 1]

张天成, 田雪, 孙相会, 等

知识图谱嵌入技术研究综述

[J]. 软件学报, 2023, 34 (1): 277- 311

ZHANG Tiancheng, TIAN Xue, SUN Xianghui, et al

Overview on knowledge graph embedding technology research

[J]. Journal of Software, 2023, 34 (1): 277- 311

ZHONG L, WU J, LI Q, et al

A comprehensive survey on automatic knowledge graph construction

[J]. ACM Computing Surveys, 2024, 56 (4): 1- 62

[本文引用: 1]

ZHANG N, DENG S, SUN Z, et al. Long-tail relation extraction via knowledge graph embeddings and graph convolution networks [C]// Proceedings of the 2019 Conference of the North. [S.l.]: ACL, 2019: 3016–3025.

[本文引用: 1]

WU T, MA H, WANG C, et al

Heterogeneous representation learning and matching for few-shot relation prediction

[J]. Pattern Recognition, 2022, 131: 108830

DOI:10.1016/j.patcog.2022.108830      [本文引用: 3]

赵凯琳, 靳小龙, 王元卓

小样本学习研究综述

[J]. 软件学报, 2021, 32 (2): 349- 369

[本文引用: 1]

ZHAO Kailin, JIN Xiaolong, WANG Yuanzhuo

Survey on few-shot learning

[J]. Journal of Software, 2021, 32 (2): 349- 369

[本文引用: 1]

LU J, GONG P, YE J, et al

A survey on machine learning from few samples

[J]. Pattern Recognition, 2023, 139: 109480

DOI:10.1016/j.patcog.2023.109480     

HUANG Q, REN H, LESKOVEC J. Few-shot relational reasoning via connection subgraph pretraining [C]// Proceedings of the 36th International Conference on Neural Information Processing Systems. New York: Curran Associates, Inc., 2022: 6397–6409.

[本文引用: 1]

YUAN X, XU C, LI P, et al. Relational learning with hierarchical attention encoder and recoding validator for few-shot knowledge graph completion [C]// Proceedings of the 37th ACM/SIGAPP Symposium on Applied Computing. [S.l.]: ACM, 2022: 786–794.

[本文引用: 1]

LIANG Y, ZHAO S, CHENG B, et al

TransAM: transformer appending matcher for few-shot knowledge graph completion

[J]. Neurocomputing, 2023, 537: 61- 72

DOI:10.1016/j.neucom.2023.03.049      [本文引用: 3]

LI Y, YU K, ZHANG Y, et al

Adaptive prototype interaction network for few-shot knowledge graph completion

[J]. IEEE Transactions on Neural Networks and Learning Systems, 2024, 35 (11): 15237- 15250

DOI:10.1109/TNNLS.2023.3283545      [本文引用: 5]

NIU G, LI Y, TANG C, et al. Relational learning with gated and attentive neighbor aggregator for few-shot knowledge graph completion [C]// Proceedings of the 44th International ACM SIGIR Conference on Research and Development in Information Retrieval. [S. l.]: ACM, 2021: 213–222.

[本文引用: 5]

ZHANG Y, QIAN Y, YE Y, et al. Adapting distilled knowledge for few-shot relation reasoning over knowledge graphs [C]// Proceedings of the 2022 SIAM International Conference on Data Mining. Philadelphia: Society for Industrial and Applied Mathematics, 2022: 666–674.

[本文引用: 3]

CAI L, WANG L, YUAN R, et al

Meta-learning based dynamic adaptive relation learning for few-shot knowledge graph completion

[J]. Big Data Research, 2023, 33: 100394

DOI:10.1016/j.bdr.2023.100394      [本文引用: 7]

DWIVEDI V P, BRESSON X. A generalization of transformer networks to graphs [EB/OL]. (2021−01−24) [2024−05−03]. https://arxiv.org/pdf/2012.09699.

[本文引用: 1]

YING C, CAI T, LUO S, et al. Do transformers really perform badly for graph representation [C]// 35th Conference on Neural Information Processing Systems. Sydney: [s.n.], 2021: 1–19.

[本文引用: 1]

CHEN D, O’BRAY L, BORGWARDT K. Structure-aware transformer for graph representation learning [C]// Proceedings of the 39th International Conference on Machine Learning. Baltimore: PMLR, 2022: 3469–3489.

[本文引用: 1]

LUO Y, THOST V, SHI L. Transformers over directed acyclic graphs [C]// 37th Conference on Neural Information Processing Systems. [S.l.]: Curran Associates, Inc., 2023: 47764–47782.

[本文引用: 1]

LI Y, YU K, HUANG X, et al. Learning inter-entity-interaction for few-shot knowledge graph completion [C]// Proceedings of the 2022 Conference on Empirical Methods in Natural Language Processing. [S. l.]: ACL, 2022: 7691–7700.

[本文引用: 1]

SHENG J, GUO S, CHEN Z, et al. Adaptive attentional network for few-shot knowledge graph completion [C]// Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing. [S. l.]: ACL, 2020: 1681–1691.

[本文引用: 1]

陈成, 张皞, 李永强, 等

关系生成图注意力网络的知识图谱链接预测

[J]. 浙江大学学报: 工学版, 2022, 56 (5): 1025- 1034

[本文引用: 1]

CHEN Cheng, ZHANG Hao, LI Yongqiang, et al

Knowledge graph link prediction based on relational generative graph attention network

[J]. Journal of Zhejiang University: Engineering Science, 2022, 56 (5): 1025- 1034

[本文引用: 1]

VELIČKOVIĆ P, CUCURULL G, CASANOVA A, et al. Graph attention networks [C]// International Conference on Learning Representations. Vancouver: [s.n.], 2018: 1–12

[本文引用: 1]

WANG X, HE X, CAO Y, et al. KGAT: knowledge graph attention network for recommendation [C]// Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. [S. l.]: ACM, 2019: 950–958.

YE Y, JI S

Sparse graph attention networks

[J]. IEEE Transactions on Knowledge and Data Engineering, 2023, 35 (1): 905- 916

SU G, WANG H, ZHANG Y, et al

Simple and deep graph attention networks

[J]. Knowledge-Based Systems, 2024, 293: 111649

DOI:10.1016/j.knosys.2024.111649      [本文引用: 1]

YUAN H, JI S. Structpool: structured graph pooling via conditional random fields [C]// International Conference on Learning Representations. Addis Ababa: [s.n.], 2020: 1–12.

[本文引用: 1]

BIANCHI F M, GRATTAROLA D, ALIPPI C. Spectral clustering with graph neural networks for graph pooling [C]// Proceedings of the 37th International Conference on Machine Learning. Vienna: [s. n.], 2020: 1–13.

BAEK J, KANG M, HWANG S J. Accurate learning of graph representations with graph multiset pooling [EB/OL]. (2021−06−28)[2024−05−03]. https://arxiv.org/pdf/2102.11533.

NIE F, ZHU W, LI X

Unsupervised large graph embedding based on balanced and hierarchical K-means

[J]. IEEE Transactions on Knowledge and Data Engineering, 2022, 34 (4): 2008- 2019

[本文引用: 1]

/