一种基于周围信息的知识图谱嵌入及回复生成方法

文档序号:31546601发布日期:2022-09-17 01:20阅读:来源:国知局

技术特征:
1.一种基于周围信息的知识图谱嵌入生成方法,其特征在于,包括以下步骤:步骤1:提取知识图谱中的头节点周围三元组n(h),使用非对称周围信息编码机制对n(h)进行编码,得到头节点周围三元组的编码;具体步骤如下:(11)提取头节点周围三元组,n(h)={(h
n
,r
n
)|(h
n
,r
n
,h)∈g}∪{(t
n
,r

n
)|(h,r
n
,t
n
)∈g}表示头节点h的周围三元组情况,其中r

n
是为了保证周围三元组的时序关系而基于周围三元组关系节点r
n
新建立的关系节点,与周围三元组关系节点r
n
对应;g表示知识图谱的三元组集合,h
n
表示周围三元组头节点;n表示周围三元组序号;(12)非对称周围信息编码机制包括lstm序列编码和线性门控机制;lstm序列编码的两个时间步的输入分别为嵌入h
i
和r
i
,头节点h的嵌入作为lstm结构的初始细胞状态和隐藏状态参与计算,lstm序列编码的输出为第二个lstm时间步的细胞状态和隐藏状态cell2和hidd2;cell2,hidd2=lstm(h,h
i
,r
i
)随后使用线性门控机制对于lstm序列编码的输出cell2和hidd2作进一步的处理,将cell2和hidd2拼接,然后使用基于sigmoid门控机制分别确定对于cell2和hidd2需要保留的信息c
′1和h
′1以及对于cell2和hidd2需要更新的信息u1,再将得到的向量c
′1,h
′1和u1进行拼接;并使用线性层将拼接后的三个向量c
′1,h
′1和u1映射到知识图谱嵌入所在的维度,映射到知识图谱嵌入所在的维度,w
update
,b
update
,均为可以学习的线性层参数,线性门控机制映射和拼接的计算公式如下:映射和拼接的计算公式如下:映射和拼接的计算公式如下:其中:x

update
=tanh(w
update
·
[cell2,hidd2]+b
update
)得到头节点周围三元组的编码e
i
,其中w和b是可以学习的线性参数:e1=relu(w
·
[h
′1;c
′1;u1]+b)+hidd2+cell2头节点周围三元组编码e
i
所组成的集合记为n

(h),即头节点周围三元组编码集合;然后在头节点周围三元组编码集合n

(h)中添加零向量,通过非对称周围信息编码机制保留周围三元组的序列关系;步骤2、基于步骤1中得到的头节点周围三元组编码集合n

(h),采用线性门控机制对n

(h)进行降维,得到降维后的头节点周围信息步骤3、采用线性权重注意力机制将三元组中头节点嵌入和降维后的头节点周围信息进行整合,获得引入周围信息的头节点表示h
context
;步骤4、采用门控注意力机制将三元组中的关系节点与邻居头节点进行整合,计算得到关系节点周围头节点整合信息使用门控注意力机制将关系节点与邻居尾节点进行整合,计算得到关系节点周围尾节点整合信息将和进行聚合,得到引入周围信息的关系节点表示r
context

步骤5、使用基于卷积操作和残差网络的主编码结构,对步骤3算得的引入了周围信息的头节点表示h
context
和步骤4算得的引入了周围信息的关系节点r
context
表示进行编码,得到对于尾节点嵌入t的编码拟合t

;所述基于卷积操作和残差网络的主编码结构的实现过程具体如下:(51)将引入周围信息的头节点表示h
context
和引入周围信息的关系节点r
context
分别扩展至二维,得到h

context
和r

context
,再对h

context
和r

context
进行上下拼接,得到张量[h

context
||r

context
];(52)采用并行处理的方式使用多个卷积结构分别对张量[h

context
||r

context
]进行处理,即分别使用4个核函数尺寸分别为(1
×
1),(3
×
3),(5
×
5),(5
×
5)的卷积结构对于[h

context
||r

context
]进行处理得到a
1-a4,每个卷积结构包含的核函数数量均是32;a1=w1*[h

context
||r

context
]a2=w2*[h

context
||r

context
]a3=w3*[h

context
||r

context
]a4=w4*[h

context
||r

context
]符号*表示卷积化操作,w1、w2、w3、w4表示具有不同核函数尺寸的卷积参数,经过不同卷积结构得出的信息为a1,a2,a3和a4;(53)将编码输入信息[h

context
||r

context
]沿着所在的第三个维度重复多次得到a0,保证a0和其他经过处理卷积层处理过后的张量a
i
等维度相同;采用残差神经网络将其他经过处理过后的张量信息a
i
与未经处理的输入a0进行整合,得到张量a;再对张量a进行拉平操作,并使用线性层将张量a映射到知识图谱嵌入所在的维度,得到对于尾节点嵌入的编码拟合t

,t

=relu(w
main
(flatten(a))+b
main
)将基于卷积操作和残差网络的主结构编码方法记为:main_encoder,即:t

=main_encoder(h
context
,r
context
);b
main
是线性层的偏置量,w
main
是线性转换矩阵;步骤6:将t

与尾节点嵌入t的点积作为最终的得分函数,定义损失函数并进行训练,得到最终的知识图谱嵌入表示。2.根据权利要求1所述的基于周围信息的知识图谱嵌入生成方法,其特征在于:所述步骤2具体实现如下:根据步骤1中得到的头节点周围三元组编码集合n

(h),采用线性门控机制对n

(h)进行降维,得到降维后的头节点周围信息线性门控机制的降维过程具体包括以下步骤:(21)为候选更新信息,具体的计算公式如下,其中d为知识图谱嵌入维度,d

<d,表示经过降维后,经过降维的头节点周围信息所在的维度:(22)为更新门,使用sigmoid激活函数将其映射到0和1之间,决定最终更新的信息量占比,
(23)将和点乘,即为经过降维后的头节点周围信息即为经过降维后的头节点周围信息随后会计算经过降维的头节点周围信息和头节点嵌入h的交互性作为头节点周围信息的权重,上述降维的过程突出头节点本身嵌入在计算权重步骤中的重要性。3.根据权利要求1所述的基于周围信息的知识图谱嵌入生成方法,其特征在于:所述步骤3中线性权重注意力机制的具体步骤如下:(31)将经过降维后的头节点周围信息与头节点嵌入h进行拼接,并使用线性层和softmax激活函数计算头节点周围信息的权重;leaky_relu是relu激活函数的一种变体,h指代头节点嵌入,和均为学习的参数,维度分别为r1×
(d+d

)
和r,主要作用是对降维后的头节点周围信息和头节点嵌入进行整合,并计算周围信息与头节点嵌入的相关性作为权重weight;(32)依据上个步骤计算出的权重weight对头节点周围三元组编码集合n

(h)进行整合:context
h
=weight
×
n

(h)=weight1×
e1+weight2×
e2+weight3×
e3context
h
为整合后的头节点周围信息表示;(33)使用基于sigmoid门控机制将头节点嵌入与整合后的头节点周围信息context
h
进行处理,imp_gate
h
代表了context
h
相对于头节点嵌入的重要程度,相对于头节点嵌入的重要程度,均为能够学习的线性参数;最终引入了周围信息的头节点表示h
context
为:h
context
=imp_gate
h

x
context
+h。4.根据权利要求1所述的基于周围信息的知识图谱嵌入生成方法,其特征在于:所述步骤4具体实现如下:所述采用门控注意力机制将三元组中的关系节点与邻居头节点进行计算得到关系节点周围头节点整合信息具体步骤如下:(41)提取关系节点周围的头节点,记为:(42)对周围头节点嵌入使用线性门控机制进行降维,具体公式为:具体公式为:具体公式为:具体公式为:和是在训练中要学习的参数,用来计算更新门线性参数和用来计算候选更新状态更新门决定保留多少比例的候选更新状态到最终的结果中,为经过降维后的关系节点周围头节点
嵌入表示;(43)使用门控注意力机制对周围邻居头节点嵌入进行整合,具体计算公式如下:具体计算公式如下:具体计算公式如下:即为关系节点周围头节点整合信息,线性转换矩阵和偏置量均为学习参数,用来计算关系节点周围头节点嵌入与关系节点嵌入的相关性;所述使用门控注意力机制将关系节点与邻居尾节点进行整合,计算得到关系节点周围尾节点整合信息具体实现如下:(44)提取关系节点周围的尾节点,记为:(45)对周围尾节点嵌入使用线性门控机制进行降维,公式为:公式为:公式为:公式为:和是在训练中需要学习参数,用来计算更新门线性参数和用来计算候选更新状态更新门决定保留多少比例的候选更新状态到最终的结果中,为经过降维后的关系节点周围尾节点嵌入表示;(46)使用门控注意力机制对周围邻居尾节点嵌入进行整合,具体计算公式如下:计算公式如下:计算公式如下:即为关系节点周围尾节点整合信息,线性转换矩阵和偏置量均为需要学习参数,用来计算关系节点周围尾节点信息与关系节点嵌入的相关性;所述将和进行聚合,得到充分考虑周围信息的关系节点表示r
context
具体步骤如下:(47)结合关系节点周围头节点整合信息和尾节点整合信息,得到关系节点的周围信息表示context
r
,线性参数w
fusion
∈r
d
×
2d
,b
fusion
∈r
d
用于融合关系节点周围头节点信息和尾节点信息,得出关系节点的周围信息表示context
r
;(48)计算显著性门,决定将多少比例的关系节点的周围信息表示context
r
加入关系节点嵌入;
和用来计算关系节点周围信息的显著性门,代表关系节点周围信息表示context
r
相对于关系节点r本身嵌入信息的重要程度,决定将多少周围信息引入关系节点;(49)最终引入了周围信息的关系节点表示为:r
context
=imp_gate
r

context
r
+r。5.根据权利要求1所述的考基于周围信息的知识图谱嵌入生成方法,其特征在于:所述步骤6中,t

被当作对于真实尾节点嵌入t的估计,将其与尾节点嵌入t的点积作为最终的得分函数,定义损失函数并进行训练,得到最终的知识图谱嵌入表示;具体步骤如下:(61)定义得分函数,并使用sigmoid激活函数将其转化为0和1之间的概率分布:t

=main_encoder(h
context
,r
context
)p(t
i
|h,r)=sigmoid(t

·
t
i
)h
context
和r
context
分别为引入了周围信息的头节点和关系节点表示,main_encoder为基于卷积神经网络和残差神经网络的主编码结构;(62)使用负采样和双塔模型策略,基于深度学习框架进行训练:在训练过程中,采用了负采样的方法,将训练任务转化为二分类任务,真实存在的三元组的标签为1,而随机替换头节点或者尾节点生成的伪三元组的标签为0,伪三元组的集合为g

,即:即:损失函数理解为2元交叉熵:其中y
i
为三元组的标签,y
i
∈{0,1},如果三元组真实存在,y
i
=1,否则y
i
=0,经过训练之后,得到基于周围信息的知识图谱嵌入。6.一种基于周围信息的知识图谱嵌入的回复生成方法,其特征在于,包括以下步骤:步骤1、对使用的知识图谱重新学习知识图谱嵌入,利用所述的基于周围信息的知识图谱嵌入方法对conceptnet知识图谱进行嵌入学习,其中选择一个中文知识图谱和一个英文知识图谱,计算得到中文知识图谱和英文的知识图谱的嵌入信息;步骤2、对中文知识图谱和英文知识图谱中的相关三元组进行筛选,构建基于知识图谱的回复生成模型的输入文本序列,为每一个查询消息筛选出一定数量的知识图谱相关三元组,具体如下:给定查询消息x,对于查询消息中的每个单词x
i
,如果x
i
∈e,e代表知识图谱中的实体集合,把以x
i
为头节点或者尾节点的所有三元组集合n(x
i
)={(x
i
,r,t)|(x
i
,r,t)∈g}∪{(h,r,x
i
)|(x
i
,r,t)∈g}作为候选三元组加入候选三元组集合f,候选三元组集合f中包含l个候选三元组;再将三元组中的头节点、关系节点和尾节点的所述知识图谱的嵌入信息进行拼接,得到候选三元组事实嵌入信息r为实数集;d
e
和d
r
分别为实体节点和关系节点的知识图谱嵌入维度,在实验中均定为100,l表示候选三元组集合f中的三元组数量;步骤3:基于步骤2得到的候选三元组集合f,构建基于知识图谱的回复生成模型,
(1)基于知识图谱的回复生成模型中的训练集s中每个数据由三个元素组成,查询消息x=(x1,x2,x3,...,x
n
),回复消息y=(y1,y2,y3,...,y
m
)和候选三元组集合f={f1,...,f
l
},回复生成任务的训练目标在于最大化回复消息的后验概率,即为:x1,x2,x3,...,x
n
表示查询消息中的n个单词;y1,y2,y3,...,y
m
表示回复消息中的m个单词;f1,...,f
l
表示l个相关三元组;(2)编码阶段中,基于门控循环单元gru的双向编码机制对于查询消息进行编码,如下:如下:其中x
t
表示单词x
t
的词嵌入,将前向gru和反向gru的编码结果将前向gru和反向gru的编码结果进行拼接作为单词x
t
的编码信息,即为经过双向门控循环单元gru编码之后的查询编码信息为h={h1,h2,h3,...,h
n
},其中h
t
∈r
d
;h1,h2,h3,...,h
n
表示n个查询编码;(3)在解码阶段,使用基于gru的解码器进行解码,解码步骤如下:首先,计算候选三元组集合f的初始权重z0:z0=softmax(tanh(f

·
w
f
)
·
tanh(h
n
·
w+b)
t
)h
n
表示查询信息中最后一个单词实体基于双向gru的编码表示,w∈r
d
×
l
,b表示线性转换偏置量,均为可以学习的参数,初始权重z0表示候选三元组集合f中三元组的初始权重,z0∈r
l
,初始权重z0和f

在加权后应用于解码结构的初始隐藏状态的计算;计算f
z
、和步骤如下:f
z
=z0·
f
′′
f
z
为f

经过初始权重z0整合之后得到的向量表示,w
init
是可以学习的线性转换参数,表示解码阶段的初始隐藏状态,解码阶段采用注意力机制,逐个单词生成答复;解码阶段第t个时间步骤的隐藏状态,表示解码阶段第(t-1)个时间步骤的隐藏状态,1)个时间步骤的隐藏状态,表示第(t-1)时间步骤生成单词的信息,y
t-1
表示上个时间步骤生成单词的词向量信息,表示上个时间步骤生成单词的实体知识图谱嵌入,表示在复制查询单词的情况下,所复制单词对应的编码向量;c
t-1
表示对于查询编码信息h进行注意力聚合之后的向量,c
t-1
采用第(t-1)步骤的隐藏状态与查询编码信息h进行权重计算得到;解码阶段生成三种单词,即词典中的单词、知识图谱实体单词和查询消息中使用复制机制得到的单词;三种单词通过三种概率分布表示,词典中的单词的概率分布p
w,t
,知识图谱实体单词的概率分布z
t
和查询消息中使用复制机制得到的单词的概率分布p
c,t
;词典中的单词的概率分布p
w,t
的计算过程如公式所示,w1,w2,b1,b2均能够学习的参数,c
t
是指在第t个时间步骤对于
查询编码信息采用注意力机制加权后得到的结果,p
w,t
的维度为rv,v为词典中单词的数量;本发明中使用了elu激活函数;知识图谱实体单词的概率分布z
t
如下,基于知识图谱事实嵌入f和解码阶段的gru隐藏状态来得到相关三元组候选集合上的概率分布,计算过程中,使用线性层和tanh激活函数将知识图谱事实信息和解码阶段当前时间步骤t的gru隐藏状态信息映射到r
l
向量空间,w
z
,b
z
,w
yz
和b
yz
都是能够学习的参数,z
t
∈r
l
:查询消息中使用复制机制得到的单词的概率分布p
c,t
,w
x
,b
x
,w
yx
和b
yx
都是能够学习的线性参数:最后将三个概率分布进行整合,采用多层感知机mlp,将和c
t
中的信息进行整合并使用softmax激活函数将其映射到三维,分别表示从词典、真实图谱和查询信息复制的三个概率分布的权重,具体的权重计算过程和整合的过程如下公式所示:p
t
=γ1⊙
p
w,t
+γ2⊙
z
t
+γ3⊙
p
c,t
得到的p
t
即为最终采用的概率分布。

技术总结
本发明公开一种基于周围信息的知识图谱嵌入及回复生成方法,使用非对称周围信息编码机制引入知识图谱节点周围信息,基于卷积操作和残差网络的主编码结构计算得分函数,生成知识图谱嵌入,再应用在基于知识图谱的回复生成模型中。本发明创新:(1)提出一种基于卷积操作和残差网络的主编码结构,充分考虑输入的交互信息;(2)提出一种非对称周围信息编码机制,充分考虑三元组内部节点的时序关系和知识图谱的拓扑结构,增强知识图谱中节点嵌入的语义信息关联性,使得回复生成模型能够更好地筛选符合语义信息的三元组;(3)将知识图谱及其嵌入应用到中文和英文回复生成模型。本发明提升了生成知识图谱嵌入的效果和基于知识图谱的回复生成效果。复生成效果。复生成效果。


技术研发人员:荣文戈 胡元昊 白骏 欧阳元新 熊璋
受保护的技术使用者:北京航空航天大学
技术研发日:2022.06.02
技术公布日:2022/9/16
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1