大模型与KG(三)——时序知识图谱调研
因为后面还是打算继续做时序知识图谱的方向,所以借着这次看论文的机会,把时序KG的论文也都看一下,以对这块有个了解。中间过了个国庆,又夹杂上别的乱七八糟的事情,之前看的都断片了,又翻了一遍才勉强回忆起来,最近看论文也基本是粗读,因为总想着尽快着手做自己的东西。
时序知识图谱和动态知识图谱,之前以为是一回事,但是不是。目前的研究我只关注时序知识图谱,不用严谨和公式化的定义,简单说就是带有时间信息的知识图谱。目前关注到的主流方法就是:对时间戳信息进行嵌入,用GNN学习图结构的切片,四元组,时间转换为投影等,还有一些别的换汤不换药的方法。都是为了给时间这一特性找一个建模方法。
时序知识图谱数据集
常用的数据集及统计信息如下,见过很多次了。
此外,还有 ACE2005、CEC2.0(EventKGE: Event knowledge graph embedding with event causal transfer)等一些比较小众的数据集。后面我自己的工作还是先在常用的几个数据集上做。
懒得按照方法类型进行文献分类了,只按照论文来源简单分几个小节。
综述
Temporal Knowledge Graph Completion: A Survey:2022年放出来的综述,梳理了一些时序知识图谱补全的方法,包括一些经典的方法。
A Survey on Embedding Dynamic Graphs:大概是对同质图的一些嵌入方法梳理,还没看。
组内时序论文调研
组内这边之前有一些时序知识图谱的调研工作,有几篇比较经典的论文。
On the Equivalence Between temporal and static equivariant graph representations:将基于GNN的图表示方法分为两种:time-and-graph,以及time-then-graph,前者指对图按照时间戳切片,学习每个snapshot下的图表示,用历史表示聚合成最终的图表示;后者指把历史时刻的动态图聚合成一个静态图,然后学习整体的图表示。实验结果表明(以及作者提出的方法类型)time-then-graph效果更好,但实验结果并没有差特别多。我个人而言还是更倾向time-and-graph的方式,学习历史图结果的snapshot以及时间戳,然后给一个时间戳,预测该时间戳下的图结构。这样的方式从物理意义上更容易理解和解释。
Know-Evolve_Deep Temporal Reasoning for Dynamic Knowledge Graphs:学习实体的演化向量。2017年出的,看架构图没用特别复杂的网络结构。
HyTE_Hyperplane-based Temporally aware Knowledge Graph:每个时间是一个超平面,实体和关系投影到时间戳的超平面。后面四元组也有类似思想的文章。
Encoding Temporal Information for Time-Aware Link Prediction:这个思想也很简单,就是用一个矩阵计算约束关系的前后演化。
研究生时期囤货
Diachronic Embedding for Temporal Knowledge Graph Completion:很经典的DE,代码也很简洁明了。思想很简单,就是分段嵌入,将原本的d维向量分成两部分,一部分用于融合了时间信息的表示,另一部分捕捉静态特征。
Temporal Knowledge Graph Completion based on Time Series Gaussian Embedding:用高斯分布协方差表示时序上的不确定性。将时间序列分解为三个成分:趋势成分、季节成分、不规则成分,分别用:线性函数、正弦和高斯噪声来拟合。
其实很多模型解释为高斯,本质也是用增加参数量来换取性能提升。
Recurrent Event Network-Autoregressive Structure Inference over TKG:自回归结构推断时序知识图谱。R-GCN 聚合每个时间戳下的历史邻居信息。
Temporal_Knowledge_Graph_Reasoning_Based_on_Evolutional Representation Learning:跟上一篇一样,也是用R-GCN聚合历史时刻的邻居节点信息,推断t+1时刻的知识。
TeMP-Temporal Message Passing for Temporal Knowledge Graph Completion:将t之前的时间戳下的图结构作为输入,也是R-GCN。
汇报过的两篇论文:(疫情刚起来在家待的半年,每周的讨论班,那时候在家看的。)
Learning Sequence Encoders for Temporal Knowledge Graph Completion:把时间戳信息编码成属性序列
Towards Time-Aware Knowledge Graph Completion:和上面一篇是一样的思想,给存在时间先后顺序的关系添加约束,捕捉先后顺序。
时序四元组
Along the Time-Timeline-traced Embedding for Temporal KGC:将带有时间戳的时间和关系嵌入为负向量,或四元组向量。感觉跟HyTE思想差不多。
RotateQVS-Representing Temporal Information as Rotations in Quaternion Vector Space for Temporal Knowledge Graph Completion:也是四元组,将时序信息表示为四元组向量空间中的旋转,说实话没看懂,但是效果出奇好,在paperwithcode的时序数据集上榜上有名。
Temporal Knowledge Base Completion-New Algorithms and Evaluation Protocols:印度的学者做的,也没看懂,但是用了高斯分布。
时间图序列(待补充)
还有一些前几个月找的比较新的时序图论文,还没来得及看。
动态/时序图综述
A Survey on Embedding Dynamic Graphs:这个图综述包括同质图、异质图和属性图,不仅是知识图。简单过了一遍,方法总结归类不错,但就是有点凌乱。主要的图嵌入方法,除了之前一篇论文中提到的“time-and-graph”和“time-then-graph”外,又多了一种中间的,就是几个时间戳下的图结构聚合为一个表示。这样,把时序图嵌入方法分为了“embedding over time”、“time-grouping embedding”和“whole-time embedding”三种。这种时序图的综述,还是以广义上的图(学术论文中通常以特别简单的约等于同质图的异质图来实验)的综述,并不是针对我关注的知识图。之前也思考过,时序知识图似乎并不是一个很好的方向,因为知识是经过时间沉淀的,对实时性的要求并不高,所以实际需求应该不会很大。但是既然开了这个坑,还是要填一些东西。几年前,做图表示学习的同学就说静态图已经被做烂了,都在做时序图,现在看果然综述都是关于这方面的。
An Introduction to Temporal Graphs: An Algorithmic:从算法理论的视角对时序图的综述,参考文献都是比较老旧的,看来时序图这种概念早就有了。参考价值不大,不建议精读。
图序列
GRAPH2SEQ: GRAPH TO SEQUENCE LEARNING WITH ATTENTION-BASED NEURAL NETWORKS:18年出的一篇文章,主要工作就是将图转化为向量序列,属于图的表示学习。输入就是图结构,输出就是嵌入向量序列。分三个模块:图编码、序列解码,还有一个节点注意力机制。这篇或可以借鉴来解决我想做的知识图切片向大模型输入的问题,mark。
Graph-to-Sequence Learning using Gated Graph Neural Networks:这几篇文章虽然题目中是graph-to-sequence,但是不是我之前理解的图的snapshot 序列,而是将图本身转化为嵌入向量的序列,是seq2seq升级为graph2seq。这篇文章的输入也根本就不是graph,而是自然语言句子构建的 AMR 图。然后使用门控图神经网络进行编码,然后用了一个双线性的attention,然后是RNN解码,最后进行翻译等自然语言处理任务。
Time-aware Graph Structure Learning via Sequence Prediction on Temporal Graphs:用RNN预测连边是否存在,比较有参考价值,mark。这篇提出的是图结构学习,这个称呼有别于之前只注重学习节点表示的图表示方法,可以关注一下。
看论文看腻了,懒得看密密麻麻的字了,需要的时候再精读一下。
上面 mark 的两篇论文都是有代码的。
图神经网络
TEMPORAL GRAPH NETWORKS FOR DEEP LEARNING ON DYNAMIC GRAPHS:一个通用框架,用于学习连续时间的动态图谱。框架图没看懂。
DyGCN: Dynamic Graph Embedding with Graph Convolutional Network:图卷积做动态图嵌入。和之前看的一些差不多。
A dynamic graph representation learning based on temporal graph transformer:图 Transformer 做动态图表示。
INDUCTIVE REPRESENTATION LEARNING ON TEMPORAL GRAPHS:图attention聚合时间拓扑邻居特征,并学习时间特征交互。跟上面那篇TGT是一样的。
整个看下来,感觉就是图神经网络的方法已经满天飞了,用图方法处理图,也是很多人都能想到的方法。我能做的,就只能是用 Transformer 在时序知识图谱数据集上小修小补了。上面这三篇文章没有代码,不好借鉴。
小结
现在看论文比之前快一些了,更注重关注重点。不过笔记写的也没有之前写静态知识图谱论文那么详细了,主要是时间紧任务中,不能无限制把时间放在看论文上,产出才是目的。