xERTE:Explainable Subgraph Reasoning for Forecasting on Temporal Knowledge Graphs
这是ICLR 2021的一篇temporal KG论文,作者是Zhen Han, Peng Chen, BYunpu Ma, BVolker Tresp。xERTE框架可以对时间KG的查询相关子图进行推理,并对图结构和时间上下文信息进行联合建模,最终预测未来发生事件的关联(link)。
1 背景知识
- 推理(Reasoning):从已知事实中推断新知识的过程
- KG(Knowledge Graph)
可表示为(subject,predicate,object)- (s, p , o) p表示边的类型
知识表示的基本单位,简称SPO <Subject-主语,Predicate-谓语,Object-宾语>,用来表示实体与实体之间的关系,或者实体的某个属性的属性值是什么。
2 过去工作
- 设计了基于embedding的损失函数来评估四元组模型的正确性,这种data-driven 'black box’方法不能证明它的可靠性以及可解释性。
- 过去KG推理的工作没有考虑时间信息,都是用于静态图。
3 论文贡献
- 建立了第一个可解释的时间关联注意预测模型,该模型基于一种新的时间关联注意机制,保留了时间多关系数据的因果性。
- 与大多数基于黑盒嵌入的模型不同,xERTE可视化了推理过程,并提供了一个可解释的推理图来强调重要的推理论据。因此,人类可以检查论证的可靠性,以防止使用误导性数据进行不恰当的预测。
- 为了模仿人类的推理行为,设计了一个反向表示更新机制,其中新发现的实体将影响已探索实体的隐藏表示。
- 动态剪枝过程使我们的模型能够在拥有数百万条边的大规模时序知识图上进行推理。
- 为了评估我们的方法,我们应用我们的模型在4个大尺度时间知识图上预测未来链接,表明我们的方法优于所有最先进的基线。
- 我们对53名受访者进行了调查,以评估模型是否符合人类的理解。
4 问题描述
四元组描述了在时间t发生的事情,边是有标签的,目标是基于已有事件预测未来时间的事件unknown links。
Temporal KG forecasting
已知事件:
预测 t_q时刻的object entity
推理图Inference Graph
用于可视化推理过程,每个实体都和一个时间戳相关,所以图中节点为 entity-timestamp对,且是有向无环图,从一个earlier的节点指向later的节点。
- 初始化:需要查询的subject和time
- 扩展推理图:加入e_q的temporal neighbor,和v_q相连。
为了更清楚地解释这个扩展过程,我把论文里的图示贴出来:
前邻域和后邻域
已知节点
-
prior neighbors
-
posterior neighbors:
5 xERTE
子图推理过程
Ginf的扩展是抽样前邻域,为了防止图节点过多,因此采用了query-dependent时序关系注意力机制来分析对查询q的重要性,去除那些和q相关性小的节点,然后在扩展后的子图所有节点上再次抽样邻居+剪除,一直迭代下去直到达到真实情况(此处不是很理解,原文是stops at a node if it believes reaching the ground truth)
邻居抽样
已知节点v:
它的prior neighbor即:
v 的prior edge为 q:
抽样的prior neighbor称为:
抽样策略:发现第二种策略是最有效的
-
Uniform sampling
-
Time-aware exponentially weighted sampling
和当前时间 t 越接近的概率越大。
-
Time-aware linearly weighted sampling时间感知线性加权抽样
使用一个线性函数来有偏差抽样,它和第二种策略相反,越早的时间概率越大。
TEMPORAL RELATIONAL ATTENTION MECHANISM
TRGA-为前邻域节点分配不同的权重,设计了query-dependent attention score:
表示了当query是
则边的分数是e:
其中,p_k是节点u和v的“关系”。两个W代表捕捉query feature和subject/object feature之间的交互的权重矩阵:
归一化后邻居节点的系数为:
最终表示节点v隐藏层特征的过程有2步:
- 聚合邻域信息:(L-1表示在第L-1个inference step时节点 v 的隐藏层表示)
- 结合上一步v的表示以及邻域信息表示当前L步节点v:
REVERSE REPRESENTATION UPDATE MECHANISM
- 依据:在推理和推理过程中,随着新的论证的加入,对实体的内部理解可能发生变化。
- 目标:当新的节点加入Ginf时,Ginf的所有节点应能接受新节点的信息。
- 方法:就是在第L步时,先更新第L-1步加入的节点表达,然后更新第L-2步加入的节点表达等等,每次只用到prior neighbor,直到L为0。
Time-aware entity embedding
表示实体e_i在时间t的潜在表达,结合静态低维向量和一个时间的函数,对长期属性和时间相关的行为编码:
前者是捕获时间KG上的时不变特征和全局依赖性,后者是捕获实体之间的时间依赖性。(此处没看到这两个是怎么表示的,需要再找找论文的附录)
Score 函数
根据可信度分数plausibility scores来排序Ginf的所有实体,选择最高分数的作为预测实体。
g表示score聚合函数,用了2种:总和,均值,发现总和效果更好。为了减少计算复杂度,每次只保存K个节点,计算attention score和可信度分数。
模型学习
- temporal KG分为train,validation,test sets,根据:(timestamps of training
set)<(timestamps of validation set)<(timestamps of test set)来划分。 - 损失函数:y代表预测的label(二元,代表是或不是这个实体)
- 优化器:Adam
6 实验部分
数据集
- ICEW:包含关于政治事件的信息和时间 ICEWS14, ICEWS18, ICEWS05-15 三个子集。
- YAGO将来自维基百科的信息与英语WordNet数据集融合。
处理粒度如下:
Baseline
-
temporal KG推理模型
TTransE ,TA-DistMult/TA-TransE,DE-SimplE, TNTComplEx,RE-Net -
静态KG推理图-忽略时间信息,将时态KG压缩为静态的累积图
TransE,DistMult,ComplEx
实验结果
链路预测任务:
图分析
- 节点大小代表可信度分数(最大的为预测结果)
- 边的深浅代表contribution score(论证哪些论证对于推理过程是重要的,为每条边分配了推理图贡献得分)
举例:whom will Catherine Ashton visit on Nov. 9, 2014 ? Oman.
人工评估
办了一个7轮的网上测验,调查了53个参与者,一轮有3个问题,每个问题给4个论述,高低contribution score各2个,然后令参与者把论述按问题相关性排序,验证模型的评估是有效的。
7 代码和数据集
代码https://github.com/AylerH/xERTE,数据集都是可以找到的。