1.一种基于语义向量的知识图谱表示学习方法,其特征在于,所述方法包括以下步骤:
1)融合文本语料库的语义向量构建,过程如下:
(1.1)语料库标注
根据待处理的知识图谱,利用实体标注工具Tagme将知识图谱中的实体与语料库中的标题进行链接,得到实体对应的文本描述信息,进一步得到关系对应的文本描述信息,为关系所在三元组中头实体、尾实体的文本描述单词交集;
(1.2)语料库清洗
由于文本描述中存在冗余以及干扰信息,需要对描述信息进行预处理,包括次干化、规范大小写、删除停用词及高频词操作;
(1.3)编码文本描述及微调
利用BERT模型对处理好的文本描述信息进行编码得到实体及关系对应的语义向量,由于BERT模型包含过于丰富的语义信息和先验知识,需要对得到的语义向量进行微调,并包含降维操作,为:Vei'=VeiX+b (1)Vri'=VriX+b (2)其中,Vei为实体的向量表示,Vri为关系的向量表示,X为768*n的向量矩阵,b是n维的偏移向量,n是实体与关系的向量维度,Vei'为微调后实体的向量表示,Vri'为微调后关系的向量表示;
接着以Vei'和Vri'为输入,以Vei'(head)+Vri'=Vei'(tail)为得分函数,利用随机梯度下降法训练得到最终的融合文本描述的实体和关系的语义向量;
2)融合文本语料库及知识图谱上下文的语义向量构建,过程如下:(2.1)实体及关系的上下文获取
将连通路径长度设为2,得到以该实体为头实体或尾实体的所有路径,该路径经过的所有实体是该实体的上下文信息,获取方法是:Context(ei)={ti|(ei,r,ti)∈T∪(ti,r,ei)∈T}∪{ti|((ei,ri,tj)∈T∩(tj,rj,ti)∈T)∪((ti,ri,ej)∈T∩(ej,rj,ei)∈T)} (3)其中ei、ti为知识图谱中的实体,ri为知识图谱中的关系,T为知识图谱中的三元组集合,Context(ei)为所得到实体的上下文;
关系的上下文是关系所在的三元组中头实体和尾实体的上下文的交集;
(2.2)编码上下文
以融合文本描述的语义嵌入为输入,对实体和关系的上下文进行编码,得到最终融合文本描述和知识图谱上下文的实体与关系的语义嵌入;
实体的最终语义向量Vei″为:
关系的最终语义向量Vri″为:
其中,n是每个ej或wj的权重,根据它在实体上下文中出现的次数设定,C(ei)是实体上下文,C(eh)是头实体上下文,C(et)是尾实体上下文,Vei'和Vri'分别是仅融合文本描述的实体和关系的语义向量;
3)语义矩阵的构建,过程如下:
以三元组和关系的语义向量作为输入,得到每个关系对应的语义矩阵,方法是:假设关系r对应的三元组集合中的元素个数为N,则关系r有N个语义向量,由于关系r的语义向量的维数为n,从N个语义向量中选择n个期望的语义向量,该操作通过k-means聚类算法来实现,最后利用选定的语义向量构建语义矩阵;
4)建模与训练,过程如下:
设计了一个新的得分函数对知识图谱中实体和关系的嵌入表示进行建模,得到所述知识图谱的嵌入表示模型,为:fr(h,t)=||h⊥+r⊥Mr-t⊥||L1 (6)其中,h⊥、r⊥、t⊥分别为头实体、关系、尾实体对应的语义向量,Mr为每个关系对应的语义矩阵;
对h⊥、r⊥、t⊥的范式添加约束,对任意h⊥、r⊥、t⊥,令:||r⊥Mr||2≤1,||h⊥||2≤1,||t⊥||2≤1,||r⊥||2≤1 (7)然后,使用随机梯度下降法训练所述嵌入表示模型,使得损失函数的值最小化,得到最终知识图谱中实体和关系的语义向量,为:其中,[x]+为max{0,x},γ为margin,S为正三元组集合,S’为负三元组集合。