当前位置: 首页 > 专利查询>东南大学专利>正文

一种基于任意维度超复数嵌入的知识图谱表示方法技术

技术编号:35195602 阅读:34 留言:0更新日期:2022-10-12 18:24
本发明专利技术公开了一种基于任意维度超复数嵌入的知识图谱表示方法,该方法主要特征在于将原始的知识图谱表示中的四元数嵌入的线性层替换成了超复数嵌入的线性层。具体包括以下步骤:1、知识图谱数据预处理,将传统知识图谱根据模型需求预处理为结构化数据;2、利用深度学习框架pytorch构造初步嵌入,并构建新的线性层,即超复数嵌入线性层,在图谱上学习实体和关系的向量表示;3、用知识图谱校验集进行校验,调整到最佳网络参数;4、对知识图谱测试集进行测试,统计结果。本发明专利技术通过改进一种已有的四元数知识图谱嵌入方法QuatE,引入超复数策略,降低了内存占用,减少了参数,同时保持了优异地嵌入结果。优异地嵌入结果。优异地嵌入结果。

【技术实现步骤摘要】
一种基于任意维度超复数嵌入的知识图谱表示方法


[0001]本专利技术涉及一种知识图谱表示方法,具体涉及一种基于任意维度超复数嵌入的知识图谱表示方法。

技术介绍

[0002]知识图谱是三元组的集合,其中每个三元组都包含头实体h、关系r和尾实体t。现有的知识图谱数据集包括Freebase、Yago和WordNet等。知识图谱应用广泛,如知识问答、信息检索、推荐系统和自然语言处理。知识图谱的研究正吸引越来越多的工业界的注意力。知识图谱通常是不完整的,所以知识图谱的一个基本问题是预测缺失的链接。为了促进下游任务的知识应用,许多研究者尝试以可计算的方式对这些数据进行建模,多种知识图谱表示方法应运而生。
[0003]1.知识图谱表示方法
[0004]一般知识图谱表示方法是根据观察到的知识事实来建模和推断知识图谱中的连通模式。例如,有些关系是对称的(比如婚姻),有些关系是反对称的(比如亲子关系);有些关系是相反的(比如上下位词);有些关系是由其他关系组合的(比如,我母亲的丈夫是我的父亲)。从观察到的知识图谱数据集中找到建模并推断这些模式的方法,来预测缺失。许多现有方法一直在尝试对上述一种或几种关系模式进行隐式或显式建模。例如,经典的基于距离的嵌入模型TransE,旨在模拟相反和组合关系;DisMult模型对头实体、关系和尾实体之间的三方交互进行建模,旨在对对称关系进行建模;PairRE模型,能够同时编码复杂关系和多个关系模式,使用两个向量表示关系,将这些向量将对应的头实体和尾实体投影到欧几里德空间,实现投影向量之间的距离最小化。
[0005]2.超复数方法
[0006]现有知识图谱嵌入方法中前人曾经尝试过复数嵌入ComplEx和四元数嵌入QuatE的方法。ComplEx模型使用复数嵌入,可以处理多种二元关系,包括对称和反对称关系,使用Hermitian积;QuatE模型使用四元数嵌入,具有三个虚部的超复数嵌入,使用Hamilton积来捕捉潜在的相互依赖关系,同时四元数能够在四维空间中表达旋转,比复数空间旋转具有更多的自由度。
[0007]最近的研究表明,在超复数空间中,表征学习取得了不错的成绩,如上文所述的复数嵌入ComplEx和四元数嵌入QuatE,然而超复数空间只存在于非常少的预定义维度(4D、8D和16D),限制了利用超复数乘法的模型的灵活性。任意维度的超复数嵌入采用将超复数乘法参数化的方法,允许模型从数据中学习乘法规则,不管这些规则是否预定义。对任意n维超复数空间的操作,与完全连接层对应的方法相比,使用了1/n的可学习参数并提供了更大的体系结构灵活性,此技术曾应用于自然语言处理、机器翻译、文本风格转换等实际应用,证明了超复数嵌入方法的架构灵活性和有效性。

技术实现思路

[0008]本专利技术公开了一种基于任意维度超复数嵌入的知识图谱表示方法,该方法主要特征在于将原始的知识图谱嵌入方法中的四元数嵌入部分替换成了超复数嵌入的线性层。具体包括以下步骤:1、知识图谱数据预处理,将传统知识图谱根据模型需求预处理为结构化数据;2、利用深度学习框架pytorch构造初步嵌入,并构建新的线性层,即超复数嵌入线性层,在图谱上学习实体和关系的向量表示;3、用知识图谱校验集进行校验,调整到最佳网络参数;4、对知识图谱测试集进行测试,统计结果。本专利技术通过改进一种已有的四元数知识图谱嵌入方法QuatE,引入超复数策略,降低了内存占用,减少了参数,同时保持了优异地嵌入结果。
[0009]为了实现该嵌入方法,需要在Linux环境下部署和配置python3.7和pytorch1.4.0运行环境。
[0010]一种基于任意维度超复数嵌入的知识图谱表示方法,该方案具体实现过程如下:步骤1具体如下:首先对不同领域的知识图谱进行预处理为五个文件,处理后的文件包括知识图谱三元组训练集,知识图谱三元组验证集,知识图谱三元组测试集,实体ID集合,关系ID集合。
[0011]步骤2具体如下:首先将步骤1得到的知识图谱中的实体和关系嵌入为初始向量,为接下来的训练做准备,构建超复数嵌入(Hypercomplex Embedding)线性层,即HyperE层,由输入得到n元数的初始嵌入结果I,n为设定元数,I的维度可以被n整除
[0012]I=[I1,I2,I3,

,I
n
]#(1)
[0013]I1表示n元数嵌入的实部部分,I
i
,i∈[2,3,

,n]表示n元数嵌入的虚部部分,把这n个部分按照给定轴相接构成向量I,作为HyperE层的输入,HyperE层采用与标准平移模型相同的形式:y=HyperE(x)=Ux+b,关键思想是通过Kronecker积的和,将U构造为参数矩阵,其中x为输入的待训练的嵌入向量,b为偏置,得到y为实体或关系的嵌入向量;
[0014]计算正负样本的得分,并通过得分计算出每一批数据的损失来进行迭代优化。
[0015]步骤1中所述的预处理操作,操作具体为:将整个知识图谱三元组数据集按照8:1:1随机分割为训练集、验证集和测试集,并输出整个知识图谱的实体对应ID和关系对应ID。
[0016]步骤2中所述的构建超复数线性层HyperE操作,操作具体为:
[0017]获得知识图谱中的实体嵌入和关系嵌入,对于任意三元组有头实体h,关系r和尾实体t,接下来由HyperE层将实体和关系嵌入转换为高阶嵌入,y=HyperE(x)=Ux+b,通过Kronecker积的方式根据不同的元数构造不同的学习矩阵U,Kronecker积将向量外积推广到矩阵,设定X∈R
m*n
,Y∈R
p*q
,Kronecker积为:
[0018][0019]其中x
ij
=(X)
i,j
,设n为超复数嵌入HyperE的维度,k为用户定义的超参数,表示实体和关系嵌入的维度,上文所述的U矩阵由n个Kronecker积得到:
[0020][0021]其中C
i
∈R
n*n
表示贡献矩阵,表示分量权重矩阵,同时k也表示线性变换的输入输出大小,贡献矩阵C
i
选择为满秩矩阵,其行列是线性独立的,所有元素均属于{

1,0,1},设
[0022][0023]对角线上为1和

1交替出现,将每个贡献矩阵C
i
初始化为矩阵与循环置换矩阵P
n
的幂之间的乘积,循环置换矩阵P
n
的作用为右移的列,
[0024][0025]其中当j

1=1且i=n,j=1时,(P
n
)
i,j
=1,此外所有项全部为0;除此之外,并非只有这一种初始化方法,也可以采用随机初始化,贡献矩阵C
i
设定为可学习。当超复数线性层的元数设定为二元和四元时,即n=2或4时,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于任意维度超复数嵌入的知识图谱表示方法,其特征在于,所述方法包括以下步骤:步骤1、知识图谱数据预处理,将传统知识图谱根据模型需求预处理为结构化数据;步骤2、利用深度学习框架pytorch构造初步嵌入,并构建新的线性层,即超复数嵌入线性层,在图谱上学习实体和关系的向量表示;步骤3、用知识图谱校验集进行校验,调整到最佳网络参数;步骤4、对知识图谱测试集进行测试,统计测试结果,利用MR(Mean Rank),MRR(Mean Reciprocal Ranking),HIT10(链接预测中排名小于10的三元组的平均占比)评价指标对模型进行评估。2.根据权利要求1所述的基于任意维度超复数嵌入的知识图谱表示方法,其特征在于,步骤1具体如下:首先对不同领域的知识图谱进行预处理为五个文件,处理后的文件包括知识图谱三元组训练集,知识图谱三元组验证集,知识图谱三元组测试集,实体ID集合,关系ID集合。3.根据权利要求1所述的基于任意维度超复数嵌入的知识图谱表示方法,其特征在于,步骤2具体如下:首先将步骤1得到的知识图谱中的实体和关系嵌入为初始向量,为接下来的训练做准备,构建超复数嵌入(Hypercomplex Embedding)线性层,即HyperE层,由输入得到n元数的初始嵌入结果I,n为设定元数,I的维度被n整除I=[I1,I2,I3,

,I
n
]#(1)I1表示n元数嵌入的实部部分,I
i
,i∈[2,3,

,n]表示n元数嵌入的虚部部分,把这n个部分按照给定轴相接构成向量I,作为HyperE层的输入,HyperE层采用与标准平移模型相同的形式:y=HyperE(x)=Ux+b,关键思想是通过Kronecker积的和,将U构造为参数矩阵,其中x为输入的待训练的嵌入向量,b为偏置,得到y为实体或关系的嵌入向量;计算正负样本的得分,并通过得分计算出每一批数据的损失来进行迭代优化。4.根据权利要求2所述的一种基于超复数嵌入的知识图谱嵌入方法,其特征在于,步骤1中所述的预处理操作,操作具体为:将整个知识图谱三元组数据集按照8:1:1随机分割为训练集、验证集和测试集,并输出整个知识图谱的实体对应ID和关系对应ID。5.根据权利要求3所述的一种基于任意维度超复数嵌入的知识图谱表示方法,其特征在于,步骤2中所述的构建超复数线性层HyperE操作,操作具体为:获得知识图谱中的实体嵌入和关系嵌入,对于任意三元组有头实体h,关系r和尾实体t,接下来由HyperE层将实体和关系嵌入转换为高阶嵌入,y=HyperE(x)=Ux+b,通过Kronecker积的方式根据不同的元数构造不同的学习...

【专利技术属性】
技术研发人员:薛一帆段如冰伍家松孔佑勇杨冠羽杨淳沨董志芳舒华忠
申请(专利权)人:东南大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1