【论文阅读】01-Survey on Temporal Knowledge Graph
原文名称:Survey on Temporal Knowledge Graph
1 Introduction
目前有两种方法:基于距离模型的嵌入变换方法和基于语义匹配模型的双线性模型。它们的思想都是将包含实体和关系的知识图谱嵌入到连续的低纬度实向量空间中
时间知识图的推理有两种,第一种是插值,对于时间从到t0到tT的时间知识图,插值的任务是补全时间t从到t T之间缺失的事实。第二种是外推,它的主要任务是预测时间t0 > tT的新事实。我们专注于外推任务,因为基于已知知识图中的事实预测未来时间的新事实有助于人类理解事件中的隐藏因素并对可能的未来事件做出反应,这可以应用于救灾或金融分析。
2 Related Works
2.1 Know-Evolve
uses temporal point process to model entities to describe the impact of time on entities, but has a drawback for concurrent temporal reasoning at the same time
采用时间点过程对实体建模来描述时间对实体的影响,但同时存在并发时间推理的缺点。
2.2 TA-TransE
Temporal-Aware Version of TransE(TA-TransE)[8] based on modeling of embedded time information combines time in text form with a Recurrent Neural Network(RNN) is embedded into the relationship and the entity prediction is performed usingscoring function in TransE.
将文本形式的时间与递归神经网络(RNN)嵌入到关系中,并使用TransE中的评分函数进行实体预测
2.3 Tempoarl TransE
Temporal TransE[9] represents entities and relationships in the same vector space, and uses a scoring function similar to TransE for knowledge reasoning
表示同一向量空间中的实体和关系,并使用类似于TransE的评分函数进行知识推理
2.4 ChronoR
ChronoR[lO] also projects entities and relationships to other space through transformation, rotates them based on time, and then uses a new scoring function to reason. However, these dynamic reasoning models only deal with a single time point,cannot capture the time correlation and cannot generalize the graph structure information to the future time.
通过转换将实体和关系投射到其他空间,并基于时间旋转它们,然后使用新的评分函数进行推理。这些动态推理模型只处理单个时间点,不能捕获时间相关性,不能将图结构信息推广到未来时间。
2.5 RE-Net
Recurrent Event Network(RE-Net) can reason concurrent facts at multiple time points in temporal knowledge graph and model temporal correlation
对时间知识图中多个时间点的并发事实进行推理,并对时间相关性进行建模。这种模型使用GNN(图神经网络)以及RNN(递归神经网络)
However, although the aggregator of RGCN[12] used in Re-Net can obtain the neighborhood information under the overall relationship of a certain time, the neighborhood information of non-target entities will also be added in the process of aggregation, which leads to the decrease of the reasoning ability ofthe model and the longer operation time of RGCN aggregation based on graph convolution.
Re-Net中使用的RGCN聚合器[12]虽然可以获得一定时间整体关系下的邻域信息,但在聚合过程中也会加入非目标实体的邻域信息,导致模型推理能力下降,基于图卷积的RGCN聚合操作时间变长。
2.6 RE-GCN
optimize the RGCN aggregation, shorten the training timeof the model, and at the same time add the static constraint of the entity to the model for reasoning
优化了RGCN聚合,缩短了模型的训练时间,同时在模型中加入实体的静态约束进行推理
3 Static Model
前提知识
G={E,R,S}表示Knowledge Base
E={e1,e2,e3...e|E|}表示实体集,其中E表示不同实体
R={r1,r2,r3...r|R|}表示关系集,其中R表示不同关系
S∈ E✖R✖E表示知识图谱
(h,r,t)中,h,t表示头尾实体,r表示关系
3.1 Translation Distance Model(平移距离模型)
3.1.1 TransE
- 实体和关系都被表示为同一空间中的向量。给定一个三元组(h, r, t),关系向量r被视为头部实体向量h与尾部实体向量t之间的平移或平移
- 评分函数:h + r与t之间的负距离,当评价分数较大时,三元组(h, r, t)作为事实的可能性也较大
3.1.2 TransR
- 因为TransE模型简单高效,但是处理一对多,多对多,多对一复杂关系,存在缺点,
- TransH将关系r投影到超平面上形成一个向量r,超平面的法向量用wr表示
- 比如(h,r,t)中,将h和t就会被投影到关系r所在的超平面中
- 评分函数也随之改变
3.1.3 TransH
TransH与TransR思想是类似的,都用到投影。但是TransH是将实体放在一个空间Rd中,关系放在另一个空间Rk中。Mr表示实体空间到关系空间的一个投影矩阵。评分函数就是公式6
总结:这三个模型是比较简单的。论文给了图,看图就很容易明白意思
3.2 Semantic Model(语义模型)
3.2.1 RESCAL
这个模型是最具有代表性的的语义模型了,这个使用神经网络去做的。
- 首先将实体和一个向量关联起来,其实就是为了方便机器学习训练,捕获他的特征。用矩阵去表示实体之间的关系。可能就是为了方便计算,毕竟实体(向量)与关系(矩阵)在矩阵论里面是可以进行运算的
- 公式理解:头节点h进行了转置,Mr是关系矩阵,t是尾实体。为了计算式子左边,需要对Mr的所有元素进行加权求和。矩阵的每个元素都会与h和t向量相应元素[h]i和[t]j进行相乘
其中外层求和(对i):表示 ℎ向量的第i个元素[h]i对应所有贡献,内层求和:表示t向量的第j个元素[t]j对应的贡献
3.2.2 DistMult
论文我感觉应该是打印错了,少一个t。评分函数应该是h(t)✖diag✖t
这个模型就是将RESCAL上一个模型中的Mr矩阵换成了diag即对角矩阵,为什么只有一个一个维度i,因为diag®是一个对角矩阵,意味着r只作用在实体h和t的对应维度。换句话说,关系向量r的每个元素r[i]只会与h和t的第i个元素相乘,因此只会累加一次
3.2.3 HolE
这个模型结合了上面两个模型优势,首先他仍然实体和关系放在d维的R中,然后使用一个叫环操作的方式来表示头尾实体。就是公式9
- 公式9应该是神经网络中的一种特殊的环状卷积,其中向量t的索引通过模运算实现循环。也就是说,向量h和t的每个元素进行逐项相乘,循环地考虑不同位置的元素。
- 单层累加的符号表示对k从0到d-1的求和,即我们对h和t的每个元素进行累加计算;对于每个位置i,计算向量h的元素[h]k与t的元素tmod d 之间的乘积,并对所有k进行累加;这里的模运算就是为了保证当k+i超过向量长度d,索引回到向量起始位置,实现循环
- 公式10就是把关系向量乘进去并累加
总结:以上三个模型的建模图。其实都是用神经网络去搭建的。理解他们之间公式的区别再结合图,就知道对哪里进行了改进
3.3 Modle based on rotation(基于旋转模型)
3.3.1 RotatE
综述说,目前最新的就是RotatE模型。这个模型是基于欧拉变换的。复数部分可以看作旋转的性质。旋转模型将实体和关系映射到复杂的空间。并将每个关系定义为实体从头部实体到尾部实体的旋转。
- h,r,t∈C K ^K K:
- 在该模型中,实体h和t以及关系r都被嵌入到复数空间C中,C表示复数每个嵌入都是一个复数向量,k表示向量的维度
- 关系r作为一种旋转操作,即该模型中将r看作头实体h和尾实体t之间的一个旋转角度
- ∘ \circ ∘
- 这个符号表示元素逐次乘积,表示对向量h和向量r的每个对应元素进行逐元素相乘。由于h和r是复数向量,因此这个乘积实际上实在复数空间中进行的旋转操作,也就是说关系r通过复数旋转将头实体h变换为尾实体t
- h ∘ \circ ∘r - t
- 这个表达式表示:将h向量通过关系 r进行旋转后,减去尾实体 t的向量。换句话说,模型衡量的是h在关系 r作用下旋转后与 t 之间的差异。
- 这个差异越小,意味着h通过关系r后非常接近t
- ∥ \parallel ∥h ∘ \circ ∘r - t ∥ \parallel ∥
- 这个表示范数,通常是欧几里得范数,计算两个复数向量之间的距离,衡量他们在复数空间的差异
对于知识图中的自反性关系、对称关系和传递关系,RotatE也能很好地对这些关系进行建模,这是其他静态模型所不能做到的。
图3(a)为Rotate模型与Transe模型的对比。图3(b)显示了Rotate模型在复平面上的旋转情况。图3©显示了Rotate模型如何表示对称关系。
4 Dynamic Models(动态模型)
时序知识图谱,用四元组(s,r,o,t)
分别代表头实体,关系,尾实体,事实发生时间
4.1 Embedded temporal information model(嵌入式时间信息模型)
4.1.1 TA-TransE
这个模型思路非常简单,就是给了一个序列时间,将时间的信息嵌入到关系当中。
TA-TransE会将第一次信息分解成四组如图4,然后将关系类型标记和时态标记共同结合起来标记成一个新的谓语,成为 P s e q P_{seq} Pseq,四元组就被转换成了(s, p s e q p_{seq} pseq,o)
TA-TransE采用LSTM神经网络对序列数据进行建模。首先通过线性层将谓词序列Pseq的每个标记嵌入高维,然后将生成的嵌入序列作为LSTM的输入,每个嵌入序列的长度为n,这样就可以将携带时间信息的谓词序列直接应用到静态知识图的评价函数中
TA-TransE采用随机梯度下降法,评价函数中的所有参数和LSTM神经网络中的参数由模型共同学习,从而获得更好的结果。Ta-TransE谓词序列的生成模式如图5所示。
以1986年为例,图中展示了用时间标记分割时间的方法,如何将分离后的关系和时间序列组合成一个新的谓词序列,以及使用LSTM神经网络生成嵌入向量的过程
4.2 Time rotation model(时间旋转模型)
4.2.1 ChronoR
这个模型其实提到了静态模型中的,也就是3.3中的静态旋转模型。进行了区分
- ChronoR将实体、关系和时间投影到k维空间上,然后旋转时间,将链接预测问题转化为实体在知识图中的表示和基于关系和时间元素的旋转。
- 将实体,关系,时间投影到k维空间的线性变换群GL(k,R),GL(k,R)使用了一种可以通过线性变换捕捉实体和关系变化的方式
- s和o是实体和关系在n✖k维实数空间中的表示
- Q r , t Q_{r,t} Qr,t是一个由关系r和时间t参数化的矩阵,它作用与实体向量s后得到o(另一个实体向量),它是在k维空间中的一个矩阵,表示实体和关系在该空间中的旋转行为。
- Q r t Q_{rt} Qrt捕捉了关系和时间的变化对实体状态的影响,尤其是在2维或3维空间中旋转,涉及到复数空间C和旋转体SO(n)特殊正交群
- 所以不论在几维度的空间中,评分函数可以将其中,四元组,进行转换。f(s,r,o,t)=< Q r , t Q_{r,t} Qr,t(s),o>
- 这里继续对上面的公式进行解释,其中< Q r , t Q_{r,t} Qr,t(s),o>表示两个向量之间的内积,即评估 Q r , t Q_{r,t} Qr,t和另外一个实体o之间的相似度。内积越大,表示他们的相似度越高。意味着实体s和实体o在条件r和时间t下具有比较强的关联性
- 公式14表示,矩阵A和B之间的内积,cos θ \theta θ表示两个向量或矩阵之间的夹角的余弦值
- 当模型投影到二维空间(k=2)时,向量a,b∈ C n C^n Cn可以有矩阵表示,并且对于复数向量a和b的复数乘积取实数部分Re时,等价于A,B之间的内积:Re(a ∘ \circ ∘b)=<A,B>
- 在这一步中,模型通过拼接关系r和时间t,将他们一起应用于矩阵 Q r , t Q_{r,t} Qr,t上,表示为 Q r , t Q_{r,t} Qr,t = [r|t]。r和t都是n乘k维的矩阵
- 现实中的许多时间知识图谱包含静态和动态事实的组合,因此需要在模型中引入额外的矩阵 R 2 R_2 R2来处理这些静态事实
- 所以ChronoR,再次对评分函数再次进行升级。 也就是公式16,这个公式表示模型如何结合关系r,时间t和静态事实r2来计算实体之间的交互得分其中[r|t]表示结合了关系和时间形成了一个向量,它与实体s和静态向量r2,一起来预测实体之间的关联性
4.3 Recurrent Event Network(经常性时间网络)
4.3.1 RE-Net
- RE-Net使用对知识图谱的全局图结构和预测实体的局部邻域进行编码,模型结合了全局图结构(Global)和局部邻域信息(Local),用于捕捉和预测知识图谱中的实体交互。
- RE-Net将知识图谱看作一系列不同时间点上的图结构,每个图( G 1 G_1 G1, G 2 G_2 G2,…, G t G_t Gt)表示该时间点下的事实。即,知识图谱随时间演化,当前时间点的图结构依赖于之前时间点的图结构。每个图 G t G_t Gt包含该时间点下所有事实
- RE-Net通过自回归方法定义所有时间点上的事实的联合分布概率。某一时刻的事实的概率只取决于之前时间点的信息,且每个时间点的事实是相互独立的
- 联合概率分布定义,这个公式第一部分 ∏ t \prod_t ∏t:表示对所有时间点的联合分布进行计算;第二部分 ∏ ( s , r , o ∈ G t ) \prod_{(s,r,o∈Gt)} ∏(s,r,o∈Gt):表示对每个时间点下的每个事实进行概率计算;第三部分P( s t s_t st, r t r_t rt, o t o_t ot| G t − m G_{t-m} Gt−m:表示在时间t的某个事实的概率取决于之前m个时间点的图结构)
- 这里公式18就比较复杂了,这个公式分了三个部分,分别预测实体 s t s_t st,关系 r t r_t rt,以及目标实体 o t o_t ot
- 对于每个时间点t,依次生成三元组中的实体 s t s_t st,然后基于 s t s_t st生成关系 r t r_t rt,最后生成目标实体 o t o_t ot。每个生成过程依赖于前m个时间步的图结构 G t − m : t − 1 G_{t-m:t-1} Gt−m:t−1
- 公式19-21就是对上面提到的三个部分,分别进行对数参数化
- 公式19:生成实体 s t s_t st概率分布: H t − 1 H_{t-1} Ht−1表示t-1步的历史信息, ω s t \omega_{s_t} ωst是与实体 s t s_t st相关可训练参数
- 公式20: e s e_s es是源实体s的嵌入, h t − 1 ) h_{t-1)} ht−1)(s)表示包含实体s的历史信息, ω r t \omega_{r_t} ωrt是与关系 r t r_t rt相关可训练参数
- 公式21: e s e_s es和 e r e_r er分别表示源实体和关系的嵌入, h t − 1 h_{t-1} ht−1(s,r)表示实体s和关系r在之前时间步的历史信息, ω o t \omega_{o_t} ωot是目标实体 o t o_t ot的可训练参数
- RE-Net使用循环神经网络RNN更新图谱的历史信息
- 公式22,23,24中 , h t − 1 h_{t-1} ht−1(s,r):更新与实体r和关系r相关的历史信息; h t h_{t} ht(s):更新与实体s相关的历史信息; H t H_t Ht:更新整个知识图谱的全局历史信息
- 为了聚合每个实体的领域信息,RE-Net使用RGCN(关系图卷积网络)
- N t ( s , r ) N_t^{(s,r)} Nt(s,r)表示时间t下实体s的邻居实体集合; W r W_r Wr和 W 0 W_0 W0表示可训练的权重矩阵,用于处理不同的关系和实体; σ \sigma σ是激活函数,通常为ReLU或者Sigmod,用于非线性变换
- 总结:这里主要展示了该模型的核心工作机制,具体包括
- 如何通过对数参数化对生成实体、关系和目标实体的概率分布进行建模。
- 如何使用 RNN 来更新实体及其关系的历史信息。
- 使用 RGCN 聚合每个实体的邻域信息,从而结合全局和局部信息,进一步提高知识图谱中的关系预测能力。
4.4 Temporal Copy-Generation Network(临时拷贝生成网络)
4.4.1 GyGNet
- 面向时间的复制生成网络,专注于预测时间线中重复出现的模式,并从历史中的已知事实中学习。CyGNet 不仅能够从整个实体集合中预测未来的事实,还可以通过识别和利用历史中已知的事实来进行预测。
- 它有两种模式:
- 复制模式: 从历史中复制已知的事实来预测未来
- 生成模式:基于已有的历史事实生成新的未来预测
- 公式26解释
该模型为每个查询(s,r,?, t k t_k tk)提供了历史事实的表示。通过历史中的与s和r相关的事实来生成一个多热向量 H t k ( s , r ) H_{t_k}^{(s,r)} Htk(s,r),它整合了在历史中的事实信息
- H t k ( s , r ) H_{t_k}^{(s,r)} Htk(s,r)是n-维的多热向量,用来表示在过去各个时间点(从t1到 t k − 1 t_{k-1} tk−1中与s和r相关的历史事实)
- 多热向量:不同于单一热向量,多热向量允许多个维度为1,表示有多个事实在历史中发生
- h t i ( s , r ) h_{ti}^{(s,r)} hti(s,r):表示在时间点 t i t_i ti与s和r相关的事实信息。这些信息在时间上积累起来,构成一个事实的组合
- 通过学习历史信息,模型从实体集中选择的预测实体的概率将会增加。与此同时,模型会为每个实体创建一个索引向量,就是公式27
- W c W_c Wc是权重矩阵, b c b_c bc是偏移项; V q V_q Vq是N维向量,表示实体集的索引,N是实体类型的数量
- tanh 函数用于标准化实体关系信息s和r ,这使得输出的索引值在
−1 到 1 之间,便于后续处理- 为了弱化那些与实体s和关系r相关但不影响实体出现概率的历史信息,模型调整了历史事实向量 H t k ( s , r ) H_{t_k}^{(s,r)} Htk(s,r),并将不感兴趣实体的索引值更改为负值。这确保了模型重点关注那些与当前查询相关的实体,而不是所有历史实体。
- 复制模式中,使用 v q v_q vq和 H t k ( s , r ) H_{t_k}^{(s,r)} Htk(s,r)相加之后输入到softmax函数中,确保了生成的概率用于选择与实体s和关系r相关的候选实体
- softmax函数用于估计实体在历史事实集中出现的概率
- p( c )代表在历史事实集(与s和r相关的事实)中实体出现的概率
- 上文都是讨论复制模式,这里讨论了其生成模式;生成模式独立于历史信息进行预测,它通过从整个实体集合中选择实体,生成新的事实而不依赖历史信息。
- 生成模式中,它同样有一个索引向量,就是公式29,跟27有着一定的区别
- W g W_g Wg是生成模式中的权重矩阵, b g b_g bg是偏置量
- g q g_q gq表示生成模式中的实体索引向量,通过softmax函数计算机其概率就生成了公式30
- 公式30就是将这个索引向量转换成一种概率分布,这样可以通过概率去选择一个实体向量,从而去选择实体
- 所以说,GyGNet结合了复制模式和生成模式,通过公式31。其实这个公式很好理解,将公式28和公式30进行了结合。要么走28要么走30。也就是说 α \alpha α=1走公式前半部分, α \alpha α=0走公式的后半部分
- 最终的实体 o t o_t ot通过最大化预测概率p(o|s,r,t)。也就是公式32
- 模型使用复制模式中的历史信息来提高预测准确性,同时也通过生成模式引入新事实,确保模型可以预测那些没有历史记录的情况。
4.5 GCN-based Recurrent Evolution network(基于GCN的循环进化网络)
4.5.1 Re-GCN
这里开篇算是Q了一下4.3中的RE-Net。
- RE-GCN主要是的预测关系,且是并发事实之间的结构依赖关系。有点类似于RE-Net,RE-Net是预测实体的,在已知的m个时刻发生的事实的情况下,实体概率预测公式就是33
- 公式33中的 H t H_t Ht和 R t R_t Rt表示实体和关系在时间t上的嵌入,仅仅是一种表示,和4.3中的公式都没有关系。主要是说明RE-Net主要预测实体
- 然而呢,这里说的RE-GCN,可以预测关系。就是公式34。其中和 H t H_t Ht和 R t R_t Rt也仅仅表达实体和关系在时间t上的嵌入
- Re-GCN模型将知识图谱中的结构依赖关系,时间的顺序模型和实体的静态属性继承到实体和各个时刻关系的演化表示中。主要分成了个两个部分,一个是进化单元和评分函数。这两个部分用于知识图谱中的实体和关系预测任务
- 解释图中的进化单元和评分函数
- 进化单元:
- 输入:来自知识图谱的时间序列数据,包括实体和关系的信息
- GRU:在进化单元中,GRU用于捕捉实体和关系在时间维度上的演化。通过它,模型可以捕获随时间变化的知识图谱演化模式
- 输出:是演化后的实体和关系的嵌入表示,代表了它们在给定时间点的状态。
- 评分函数:
- 它根据进化单元输出的嵌入向量,为每个时间步计算实体和关系的预测得分。
- 实体预测和关系预测使用的是不同的评分函数,但它们的基本原理是相同的,基于知识图谱中实体和关系的时序演化,来判断哪些实体或关系更有可能出现。
- 公式35解释
- H t − 1 H_{t-1} Ht−1:表示时间 t−1 时的实体嵌入,即上一时间步的实体状态。
- v r t v_{rt} vrt:时间t时与关系r相关的实体集合嵌入
- r:表示关系的嵌入向量
- pooling:池化操作, 用于将上一时间步的实体嵌入 H t − 1 H_{t-1} Ht−1和当前时间步的实体集合嵌入 v r t v_{rt} vrt以及关系嵌入r进行融合
- 公式36解释:
- R t − 1 R_{t-1} Rt−1:表示时间 t−1 时的关系嵌入矩阵
- R t ′ R_t^{'} Rt′:是通过上一步池化操作得到的当前时间步的关系嵌入表示。
*这个公式表明模型使用 GRU 来捕获关系在时间序列上的演化,通过循环神经网络的结构来更新关系嵌入矩阵 R t R_t Rt,使其能够记住关系在不同时间点的变化。
- RE-GCN使用 ω \omega ω层GCN去更新实体嵌入,对于l层(l属于0- ω \omega ω-1)去更新l+1层
- 公式37解释
- h o , t l + 1 h_{o,t}^{l+1} ho,tl+1:表示在l+1层的时间t上的目标实体o的嵌入
- h s , t l h_{s,t}^{l} hs,tl:表示在第l层的时间t上的源实体s的嵌入
- r t r_t rt:表示时间t时的关系嵌入
- W 1 l W_1^l W1l和 W 2 l W_2^l W2l:表示第l层的权重矩阵,用于对输入的实体和关系嵌入进行变换。
- c o c_o co:表示目标实体o的入度,表示有多少个实体与o有连接,这里用来对求和的结果进行归一化
- f f f激活函数,用于引入非线性
- 操作:这是标准的GCN更新公式,通过聚合邻居实体的嵌入信息(包括关系嵌入),并结合自身的信息,更新实体嵌入。公式中的求和操作聚合了所有与实体 𝑜相连接的 𝑠的信息。
- 公式38解释
- H t H_t Ht: 表示时间 𝑡时刻的最终实体嵌入
- H t ω H_{t}^{ω} Htω :通过GCN处理后的实体嵌入(即第 𝜔 层的输出)
- H t − 1 H_{t-1} Ht−1:前一时间步t-1的实体嵌入
- U t U_{t} Ut:表示时间门控向量,用于控制当前时刻和前一时刻的嵌入信息的组合
- ⊗:表示逐元素相乘
- 操作::这一公式引入了时间门控机制(通过 U t U_t Ut控制),用于平衡当前时刻 H t ω H_{t}^{ω} Htω实体嵌入与前一时刻 H t − 1 H_{t-1} Ht−1嵌入 之间的影响。这样可以防止随着GCN层数增加导致的梯度消失问题,并能够更好地捕捉到实体在时间序列上的变化。
- 公式39解释
W 4 {W_4} W4:权重矩阵; b b b:偏移量; σ \sigma σ:激活函数,输出在0和1之间
操作:这是计算时间门控向量 𝑈𝑡的公式,利用前一时刻的实体嵌入 H t − 1 H_{t-1} Ht−1经过线性变换和激活函数,生成时间门控向量。这一向量控制着当前时刻与前一时刻嵌入信息的融合程度。
- 公式40解释
- h i s h_i^s his:表示实体 𝑖的静态嵌入。
- h i s h_i^s his(j):表示第 l l l层的静态输入
- W r , s W_{r,s} Wr,s:表示权重矩阵,表示实体i和实体j的关系权重
- γ \gamma γ:表示ReLU激活函数
- c i c_i ci:表示实体i的入度,用于归一化
- 操作:这是RGCN的静态约束部分。它通过聚合与实体 𝑖相关的其他实体的嵌入信息来更新静态嵌入。与之前的GCN是差不多类似的,通过对邻居的聚合来获取信息,但是这里只考虑静态约束
- 公式41解释
- γ \gamma γ:这里并没有表示激活函数,他是一种角度增长的比例常数
- θ x \theta_x θx:表示的是一种静态属性
- 操作:这里其实反应的是静态属性与动态属性的一种关系夹角,他们的cosx的值反映了他们的差异程度。将其限制在90°之间,因为cos90°的值为0。这样静态属性与动态属性就不会偏差过大。确保模型对实体的理解程度能保持平衡短期和长期这两个时间的维度
- 在t时刻实体嵌入和关系嵌入的编码完成后,模型使用ConvTransE作为解码器,实体和关系的概率分布就是公式42和43
- σ \sigma σ表示激活函数; s t s_t st, r t r_t rt, o t o_t ot表示两个实体和关系在时间t上的嵌入
相关文章:

【论文阅读】01-Survey on Temporal Knowledge Graph
原文名称:Survey on Temporal Knowledge Graph 1 Introduction 目前有两种方法:基于距离模型的嵌入变换方法和基于语义匹配模型的双线性模型。它们的思想都是将包含实体和关系的知识图谱嵌入到连续的低纬度实向量空间中 时间知识图的推理有两种,第一种是…...

【AIGC】InstructPixPix:基于文本引导的图像编辑技术
github:diffusers/examples/instruct_pix2pix/train_instruct_pix2pix_sdxl.py at main huggingface/diffusers GitHub 论文:https://arxiv.org/pdf/2211.09800 摘要 我们提出了一种从人类指令编辑图像的方法:给定一个输入图像和告诉模型做什么的书面…...

无人机动力系统设计之桨叶推力计算
无人机动力系统设计之桨叶推力计算 1. 源由2. 关键参数2.1 特性参数2.1.1 材质(Material)2.1.2 叶片数量(Number of Blades)2.1.3 重量(Weight)2.1.4 噪音水平(Noise Level) 2.2 安装…...

LabVIEW重构其他语言开发的旧系统
在面对一个运行已久、代码不清晰的项目时,如果该项目涉及复杂的通讯协议(如串口和488通讯),重新开发并优化成LabVIEW版本可以极大提升系统的易用性和维护性。为了确保通讯协议的顺利解析和移植,借助专业工具分析现有通…...
[晕事]今天做了件晕事43 python-byte串长度与转义字符
今天办了一件晕事,导致测试结果与预期不一致。 过程是,组装byte串的时候,整个字符串里有转义字符\x0d。 from scapy.all import IPv6, UDP pkt IPv6(src"2002:db8:a0b:12f0::157", dst"2002:db8:a0b:12f0::13")/UDP(sp…...

初识redis(String,Hash,List,Set,SortedSet)
认识NoSql sql关系型数据库 nosql非关系型数据库 nosql具有非结构化,Key/Value,Document,Draph 无关联的,非sql,BASE(原子性,持久性,一致性,隔离性) 认识r…...
Ton与ETH的一些独特的区别
文章目录 前言一、智能合约需要收取租金。二、从数据到大数据的转变三、智能合约不能运行其他合约的getter方法四、合约不是无法改变的五、Ton取消了无限制的数据结构六、钱包和地址具有独立性 前言 TON区块链是一个现代化的区块链,它为智能合约开发带来了一些全新…...

C++ | Leetcode C++题解之第396题旋转图像
题目: 题解: class Solution { public:int maxRotateFunction(vector<int>& nums) {int f 0, n nums.size();int numSum accumulate(nums.begin(), nums.end(), 0);for (int i 0; i < n; i) {f i * nums[i];}int res f;for (int i …...

前向渲染路径
1、前向渲染路径处理光照的方式 前向渲染路径中会将光源分为以下3种处理方式: 逐像素处理(需要高等质量处理的光)逐顶点处理(需要中等质量处理的光)球谐函数(SH)处理(需要低等质量…...

Python画笔案例-040 绘制五角星顶圆
1、绘制五角星顶圆 通过 python 的turtle 库绘制五角星顶圆,如下图: 2、实现代码 绘制五角星顶圆,以下为实现代码: """五角星顶圆.py """ import turtledef draw_circle(d):turtle.left(90)for _ …...

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例
伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教…...
期货量化-群体优化算法:混合蛙跳算法(SFL)
1. 概述 混合蛙跳算法(Shuffled Frog Leaping Algorithm, SFL)由 M. Eusuff 等人在2003年提出。这一算法结合了模因算法与粒子群优化算法的原理,灵感来源于一群青蛙在觅食过程中的行为模式。 SFL 最初作为一种求解组合优化问题的元启发式方法…...
tensorflow-线性回归python入门
目录 读入库 构造数据 建立训练和测试数据 创建第一层到最后一层的神经网络 开始测试 sin函数回归 读入库 import tensorflow as tf import numpy as np import matplotlib.pyplot as plt import time 构造数据 X np.array([0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, …...
VSCode学习笔记
1. 快捷键 KeyDescriptionPlatformF1打开命令面板(Command Palette)Win10Shift Delete剪切当前光标所在的代码行Win10 2. 文件 2.1 在文件列表中定位当前文件 操作路径:右键单击文件名 ⇒ 在右键菜单中点击 【Reveal in Explorer View】...

【Canvas与艺术】菊花孔雀螺旋
【成图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>菊花孔雀螺旋</title><style type"text/css">…...

circuitjs 普通开关和按钮开关
circuitjs 各类开关中最基本的有 (普通)开关 和 按钮开关(瞬时开关). 添加 在菜单 “绘制–无源元件–添加开关” 下可以添加一个普通开关.在菜单 “绘制–无源元件–添加按钮开关” 下可以添加一个按钮开关. 两者在缺省外观上没有什么区别, 如上, 左边是普通开关, 右边是按钮…...

客户端绑定本地端口与服务器建立连接的详细实现
客户端绑定本地端口与服务器建立连接的详细实现 一、网络编程基础1.1 TCP/IP协议1.2 套接字(Socket)1.3 客户端与服务器模型二、客户端程序的设计2.1 需求分析2.2 流程设计三、具体代码实现3.1 伪代码3.2 C代码实现四、代码详解4.1 初始化套接字库4.2 创建套接字4.3 绑定本地…...
C++ std::bind函数用法
看一个例子解释用法: TcpServer类的构造函数中定义: acceptor_->setNewConnectionCallback(std::bind(&TcpServer::newConnection, this,std::placeholders::_1, std::placeholders::_2));// 有一个新的客户端的连接,acceptor会执行这…...

Caffenie配合Redis做两级缓存
一、什么是两级缓存 在项目中。一级缓存用Caffeine,二级缓存用Redis,查询数据时首先查本地的Caffeine缓存,没有命中再通过网络去访问Redis缓存,还是没有命中再查数据库。具体流程如下 二、简单的二级缓存实现-v1 目录结构 2…...

MATLAB实现PID参数自动整定
目录 1、项目说明 2、文件说明 1、项目说明 本项目旨在通过 MATLAB 语言实现 PID 参数的自动整定,并设计了一个直观易用的 GUI 界面。该系统特别适用于实验室环境下的 PID 参数自整定任务。整定的核心原则在于优化系统性能,使系统的衰减比尽可能接近理…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...

如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...

什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...

跨链模式:多链互操作架构与性能扩展方案
跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层…...

Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

基于 TAPD 进行项目管理
起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...

招商蛇口 | 执笔CID,启幕低密生活新境
作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...

stm32wle5 lpuart DMA数据不接收
配置波特率9600时,需要使用外部低速晶振...
Python网页自动化Selenium中文文档
1. 安装 1.1. 安装 Selenium Python bindings 提供了一个简单的API,让你使用Selenium WebDriver来编写功能/校验测试。 通过Selenium Python的API,你可以非常直观的使用Selenium WebDriver的所有功能。 Selenium Python bindings 使用非常简洁方便的A…...