时序结构重要性加权图卷积网络用于时序知识图谱补全

目录

摘要部分

四元数

时间戳

时间信息对四元数的影响

知识图谱里的结构信息

时序注意模块

重要性加权的图卷积网络

引言部分

现有方法的不足

本文主要贡献

准备工作

问题定义

大部分方法的缺陷

本文方法

框架

时序注意模块

实体分类

带有注意力机制的双向长短期记忆模型

时序感知注意力

节点重要性加权的GCN—TS-GCN

时间语义重要性

结构重要性

知识图谱补全

TS-GCN算法

总结


摘要部分

现有的时序知识图谱补全的方法忽略了时序信息对四元数的影响。

四元数

在时序知识图谱中,四元数是由三元组(头实体、关系、尾实体)和时间戳组成的。四元数是由三元组和时间戳组成的,表示了一个在特定时间有效的知识事实。

时间戳

时间戳是一个特定的时间点或时段,用来表示三元组在何时有效或发生。

时间信息对四元数的影响

这是指如何将时间戳与三元组相结合,以表示知识事实在不同时间的状态。例如,如果我们有关于奥巴马是美国总统的三元组,并附加了2009-2017的时间戳,那么这个四元数就表示了奥巴马在这个时间段内是美国总统的事实。

知识图谱里的结构信息

在一个复杂的图结构中,当信息从一个节点传递到另一个节点时,每个节点的重要性是不同的。这可能是因为某些节点在网络中的位置更为核心,或者它们与更多其他节点相连,或者基于其他一些度量标准。这种不同的重要性可能会影响信息在网络中的传播方式和速度。

所以为了解决现有方法的问题,本文提出了一种新的基于一个时序注意模块和一个重要性加权的GCN的解决方法(ATL-TKGC)。

时序注意模块

这个模块主要是捕捉时间戳实体间的联系和语义层面上的关系。

重要性加权的图卷积网络

重要性加权的图卷积网络(GCN)充分考虑了结构的重要性,并将时态信息的关注点集中在实体上,以便进行加权整合。


引言部分

现有方法的不足

  • 没有充分利用时间信息对三元组的影响。
  • 带时间戳的四元数应当作为一个整体来建模,也就是说,三元组事实在特定的时间点或时期是正确的。
  • 忽略时间对不同类型实体的影响模式。
  • 不能捕捉时间信息对不同实体的影响大小。

本文主要贡献

  • 设计了一种基于时态注意力学习(TAL-TKGC)的时态知识图谱补全方法,该方法可以捕捉时间戳与三元组之间的深层联系。
  • 改进了图卷积网络(GCN),使其能够基于节点的时态语义和结构重要性,以不同的权重聚合结构信息和节点嵌入。
  • 在两个公共数据集ICEWS14和ICEWS05-15上进行了比较和加速实验。结果验证了所提模型在多个GPU上的性能和可扩展性。

准备工作

问题定义

主要任务是根据现有事实预测四元数在某时刻缺失的部分。

可被分为两种类型的预测。

  • (?,r, t, time)
  • ( h , r , ? , time )

大部分方法的缺陷

  • 没有考虑时态四元数的完整性
  • 没有挖掘时态信息对事实的多维影响

本文方法

框架

主要包含三个主要模块

  • 时序注意模块
  • 时序知识图谱嵌入模块
  • 补全模块

时序注意模块
实体分类

时间信息只能影响一个实体的动态属性,并且具有相同类型的实体将具有近似相同的属性随时间变化。

所以对TKGC任务进行分类,并基于分类提取其动态嵌入,以提高TKGC任务的准确性。

带有注意力机制的双向长短期记忆模型

解决弱标签或无标签下实体的多分类问题 。

该模型首先将实体的文本信息输入到Bi-LSTM模型中,并使用Bi-LSTM模型提取上下文的语义信息来处理长序列数据。引入注意力机制提取文本中的重要词信息,充分提取文本中最关键和最有价值的信息,以提高模型分类的准确性。

文本中第j个字对第i个字的关注程度按如下计算

加权词嵌入按如下计算

时序感知注意力

关系,尾实体和时间对于头实体的注意力按如下计算

节点重要性加权的GCN—TS-GCN

传统的消息传递公式 

传统消息传递机制中同样的权值不可避免地削弱紧密连接节点的局部特征,加强稀疏连接节点的局部特征。

时间语义重要性

节点的时间语义重要性按如下计算

结构重要性

节点的位置可以在一定程度上反映图的结构信息。

通过K-shell分解算法得到结构重要性。

k-壳分解算法根据节点的位置为节点分配不同级别的重要性。

结合了节点重要性的加权GCN方法的消息传递机制可以描述如下

负采样

是通过用实体集合中的任何实体随机替换四元数中的头或尾实体而得到的。

损失函数

知识图谱补全
TTransE模型
它将事实的合理性视为在联合解释关系和时间后头实体和尾实体在向量空间中之间的距离的大小。

 

评分函数

如果事实(eh,er,et,etime)是真实的,那么对应的分数应该接近于零。

TS-GCN算法

总结

大多数现有的TKGC方法将时间信息合并到三元组中,并将它们转换为KGC任务,这并没有充分利用时间信息对三元组的影响。此外,现有的基于消息传递网络的嵌入学习方法将具有相同注意力的邻居传递的特征进行聚合,忽略了每个节点在消息传递过程中具有不同重要性的复杂结构信息。因此,设计了一种基于时间属性感知的TKGC方法(TAL-TKGC),其中包括一个时间注意模块和一个重要性加权GCN时间注意模块用于捕捉语义层次上的时间戳、实体和关系之间的深层联系。同时,在重要性加权GCN中,将时间信息的结构重要性和对实体的关注度作为信息聚合的权重,从而将实体信息转移到具有不同时间注意度的相邻节点。对两个基准数据集的实验结果验证了该方法的性能。同时,我们还验证了该模型在多个gpu上具有良好的可伸缩性

### Graph Attention Convolutional Network 的实现与应用 #### 什么是 Graph Attention Convolutional Network? Graph Attention Convolutional Network (GAT) 是一种基于注意力机制的图神经网络架构,它通过引入注意力机制改进了传统的图卷积网络GCN)。相比于传统 GCN 中固定的邻域聚合方式,GAT 能够动态地为不同邻居分配权重,从而更好地捕捉节点之间的关系[^4]。 #### GAT 的核心思想 GAT 的核心在于使用自注意力机制计算节点与其邻居的重要性分数。具体来说,对于每个节点 \(v_i\) 及其邻居集合 \(\mathcal{N}_i\),GAT 计算每一对节点间的注意力系数,并将其用于加权求和操作以更新节点表示。这种设计使得 GAT 不仅能够有效处理不规则图结构的数据,还能够在训练过程中自动学习到重要的局部模式[^1]。 #### 数学表达形式 假设输入特征矩阵为 \(X \in \mathbb{R}^{N \times F}\),其中 \(N\) 表示节点数量,\(F\) 表示初始特征维度;邻接矩阵为 \(A \in \mathbb{R}^{N \times N}\)。则第 \(k\)-th 头的注意力机制可以定义如下: \[ e_{ij} = a(W_k h_i, W_k h_j) \] 这里 \(W_k\) 是可学习参数矩阵,函数 \(a(\cdot)\) 定义了一个共享的注意力评分机制。最终,经过 softmax 归一化后的注意力得分被用来重新组合邻居的信息: \[ \alpha_{ij} = \text{softmax}(e_{ij}) \] 新特征向量可以通过下式获得: \[ h'_i = \sigma\left( \sum_{j \in \mathcal{N}_i} \alpha_{ij} W h_j \right) \] 上述过程通常会重复多次以构建多层网络。 #### 实现代码示例 以下是使用 PyTorch 实现简单版本 GAT 的代码片段: ```python import torch import torch.nn as nn import torch.nn.functional as F class GraphAttentionLayer(nn.Module): def __init__(self, in_features, out_features, dropout, alpha=0.2): super(GraphAttentionLayer, self).__init__() self.dropout = dropout self.in_features = in_features self.out_features = out_features # Linear transformation parameters self.W = nn.Parameter(torch.empty(size=(in_features, out_features))) nn.init.xavier_uniform_(self.W.data, gain=1.414) # Attention mechanism parameters self.a = nn.Parameter(torch.empty(size=(2*out_features, 1))) nn.init.xavier_uniform_(self.a.data, gain=1.414) self.leakyrelu = nn.LeakyReLU(alpha) def forward(self, h, adj): Wh = torch.mm(h, self.W) # h.shape: (N, in_features), Wh.shape: (N, out_features) e = self._prepare_attentional_mechanism_input(Wh) zero_vec = -9e15*torch.ones_like(e) attention = torch.where(adj > 0, e, zero_vec) attention = F.softmax(attention, dim=1) attention = F.dropout(attention, self.dropout, training=self.training) h_prime = torch.matmul(attention, Wh) return F.elu(h_prime) def _prepare_attentional_mechanism_input(self, Wh): # batch_size x nodes x features => batch_size x nodes x heads x two_times_out_features Wh1 = torch.matmul(Wh, self.a[:self.out_features, :]) Wh2 = torch.matmul(Wh, self.a[self.out_features:, :]) e = Wh1.unsqueeze(1) + Wh2.unsqueeze(0) return self.leakyrelu(e).squeeze(-1) ``` #### 应用场景 - **微表情识别**:如 AU-assisted Graph Attention Convolutional Network 所述,GAT 结合动作单元信息提高了微表情分类精度。 - **反馈增强型网络**:Feedback Graph Attention Convolutional Network 利用了全局上下文信息以及细粒度纹理特性提升图像分析效果[^2]。 - **多尺度图谱分层建模**:Multiscale-atlases-based Hierarchical Graph Convolutional Network 提出了针对复杂数据分布的有效解决方案[^3]。 - **时空序列预测**:ST-GCN 将空间上的图卷积时序上的卷积相结合,在人体姿态估计等领域取得了良好表现[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值