本发明涉及一种基于子图嵌入的跨语言实体对齐方法,属于知识图谱构建和大数据挖掘技术领域。
背景技术:
跨语言实体对齐是知识图谱构建、知识融合领域的重要研究课题。跨语言实体对齐是指,对于来自不同自然语言知识图谱的实体,判断一种自然语言表示的实体是否与另一种自然语言表示的实体存在映射关系,其中映射关系是指这两个实体的内涵和外延相同。因此,通过跨语言实体对齐技术能够融合不同自然语言的知识图谱,实现知识共享和重用,为智能搜索、自动问答和自动文摘等应用提供知识支撑。
实体对齐方法主要包括基于相似度的方法、基于机器学习的方法、基于深度学习的方法等。基于相似度的方法是指通过计算实体词汇的相似度、实体的邻居结点结构的相似度等来判断两个实体词汇是否表示同一实体。基于机器学习的方法是指根据实体的属性和结构信息等,采用支持向量机、决策树等分类或聚类方法来判断两个实体是否对齐。基于深度学习的方法主要包括基于循环神经网络方法、基于图匹配神经网络的方法,以及基于多通道图神经网络的方法等。
图卷积神经网络(graphconvolutionalnetwork,简称gcn)是通过图数据进行深度学习的神经网络,能够学习图中结点信息和结点之间的关联边信息。其目标是为图中的每个结点生成嵌入表示,也就是通过信息在神经网络层和结点之间的传播来生成每个结点的低维向量表示。图卷积神经网络的卷积方法可以分为两类,即顶点域卷积方法和频域卷积方法。顶点域或空间域的卷积方法是指利用结点自身的特征信息,以及结点之间的关联关系边来传播结点特征信息。频域卷积方法是指利用图的拉普拉斯矩阵、傅里叶变换来学习每个图节点的特征信息。
实体对齐是本体对齐的重要研究内容,目前采用图卷积神经网络技术来解决跨语言实体对齐任务的研究工作较少。
技术实现要素:
本发明的目的在于针对现有基于机器学习和深度学习的跨语言实体对齐方法存在准确率较低的技术缺陷,提出了一种基于子图嵌入的跨语言实体对齐方法。利用子图嵌入和图卷积神经网络生成知识图谱中实体的嵌入表示,再根据实体的嵌入表示的相似度,判断两个实体是否具有对齐关系;所述跨语言实体对齐是指对于两种自然语言表示的知识图谱kg1和kg2,判断kg1和kg2中的实体词汇是否描述真实世界同一实体。
本发明的目的是通过以下技术方案实现的。
所述基于子图嵌入的跨语言实体对齐方法,包括以下步骤:
步骤1:构建实体信息、属性信息、训练集和测试集;
其中,实体信息包括实体列表、实体编号列表,以及关系三元组;属性信息包括属性列表、属性编号列表,以及属性三元组的编号列表;
实体信息和属性信息从两种自然语言表示的知识图谱kg1和kg2中提取;
知识图谱以三元组知识形式存储,包括关系三元组知识和属性三元组知识;
其中,关系三元组知识包括头实体、关系以及尾实体;属性三元组知识包括实体、属性和属性值;其中,实体是头实体以及尾实体中的一种;
训练集具体从跨语言知识图谱kg1和kg2中提取具有对齐关系的种子跨语言实体对构建;
测试集通过提取待对齐的跨语言实体对构建;
步骤2:构建训练集的实体嵌入矩阵初始值,跨语言知识图谱kg1和kg2的邻接矩阵;
其中,训练集的实体嵌入矩阵初始值通过随机方式产生,实体嵌入矩阵中每一行表示一个实体的嵌入向量;
跨语言知识图谱kg1和kg2的邻接矩阵,依据如下步骤构建:
首先,构建表示这两个知识图谱kg1和kg2的图g1和g2;
其中,图g1中的结点表示知识图谱kg1中的实体,边表示知识图谱kg1中实体之间的关系;图g2中的结点表示知识图谱kg2中的实体,边表示知识图谱kg2中实体之间的关系;
其次,根据图g1的拓扑结构来构建图g1的邻接矩阵,根据图g2的拓扑结构来构建图g2的邻接矩阵;
步骤3:基于训练集,训练图卷积网络模型,生成实体的嵌入表示;
步骤3,具体包括如下子步骤:
步骤3.1:将训练集的实体嵌入矩阵初始值,以及表示知识图谱kg1的图g1的邻接矩阵输入至图卷积网络gcn1,即生成图卷积网络gcn1的第一层神经网络层的输入;图卷积网络gcn1包含若干神经网络层,模型参数在不同神经网络层之间共享;
步骤3.2:将训练集的实体嵌入矩阵初始值,以及表示知识图谱kg2的图g2的邻接矩阵输入至图卷积网络gcn2,即生成图卷积网络gcn2的第一层神经网络层的输入;
步骤3.3:图卷积网络gcn2与图卷积网络gcn1采用相同方式生成每一层神经网络层的输入,具体为:
3.3a基于步骤3.1中第一层神经网络层的输入,经过卷积计算生成图卷积网络gcn1第一层神经网络层的输出,对于第二层,以及第二层以上的神经网络层,具体为:
对于图卷积网络gcn1,第l+1神经网络层的输出h1(l+1)都由第l神经网络层的输出h1(l)经过卷积计算生成,计算方法如公式(1)所示;
h1(l)=[h11,h12,......,h1n]t(2)
其中,σ(·)为激活函数,
3.3b基于步骤3.2中第一层神经网络层的输入,经过卷积计算生成图卷积网络gcn2第一层神经网络层的输出,对于第二层,以及第二层以上的神经网络层,具体为:
对于图卷积网络gcn2,第l+1神经网络层的输出h2(l+1)都由第l神经网络层的输出h2(l)经过卷积计算生成,计算方法如公式(4)所示;
h2(l)=[h21,h22,......,h2n]t(5)
其中,σ(·)为激活函数,w2l是可训练的权重矩阵,其维数为d2(l)×d2(l+1),d2(l)是第l神经网络层的结点个数,d2(l+1)是第l+1神经网络层的结点个数;
步骤3.4:基于子图嵌入生成图卷积网络gcn1和gcn2的结点的嵌入表示,图卷积网络gcn1的结点嵌入表示和gcn2的结点嵌入表示采用相同方式生成;具体为:根据预设的子图窗口大小在来生成每个结点的子图嵌入,不断迭代来优化图卷积网络模型;对于图卷积网络模型的结点,其子图窗口大小是指计算结点的子图嵌入所考察的子图大小范围;将直接存在关系边连接的两个结点间距离定义为1,将与结点距离小于给定阈值的结点集合划分在子图中;用窗口大小约束参与每一层的结点的子图嵌入的计算;
对于图卷积网络gcn1,在计算结点vi的子图嵌入时,子图中不同结点通过注意力机制在计算结点vi的子图嵌入时赋予不同的权重,其原因在于:结点vi子图中的结点与结点v的关联程度不同,因此子图中不同结点对子图嵌入计算的贡献也不同;
其中,子图嵌入的注意力机制通过构建注意力矩阵实现,具体为:对于结点vi,设vsg表示vi子图内的所有结点集合,结点vj和vk都属于集合vsg;构建注意力矩阵s,元素sij表示结点vj对结点vi的重要程度,即在知识图谱中结点vj所表示实体对结点vi所表示实体的重要程度,元素sij的计算方法如公式(7)所示:
其中,
生成结点vi的子图嵌入表示h′i,如公式(9)所示:
其中,hj为基于图卷积网络生成的结点vj的嵌入表示,w1是可训练的权重矩阵,sij为根据公式(7)计算的注意力机制的权重,σ(·)为非线性激活函数,ebag={h11,h12,…,h1n},即由第l神经网络层每个结点的嵌入表示h11,h12,…,h1n构成的集合;
对于结点vi,将其嵌入表示hi与其子图嵌入表示h′i融合,并输入至下一神经网络层中,参与计算模型下一神经网络层的输出,重复步骤3.3和步骤3.4,结点嵌入在图卷积网络模型的每一层逐步优化,直至图卷积网络的输出层,生成结点所表示实体的嵌入表示;即生成图卷积网络gcn1中结点所表示实体的嵌入表示,生成图卷积网络gcn2的结点嵌入表示;
步骤4:在利用训练集完成图卷积网络模型的参数训练后,将测试集输入至图卷积网络模型,基于图卷积网络和子图嵌入,生成测试集中实体的嵌入表示;
步骤5:判别测试集中的实体对齐关系,具体为:
对于测试集中待对齐的跨语言实体对(xu,yv),计算每一实体对(xu,yv)的嵌入表示(eu,ev)相似度,eu和ev分别为实体xu和实体yv的嵌入表示;
对于每一实体xu,根据余弦相似度计算结果,构建与实体xu对齐的候选实体集合t;进一步,按照余弦相似度非降序顺序,对候选实体集合t排序,构建有序实体列表te;
最后,输出所有实体xu以及与其具有对齐关系的有序实体列表te;
至此,从步骤1到步骤5,完成了一种基于子图嵌入的跨语言实体对齐方法。
有益效果
本发明一种基于子图嵌入的跨语言实体对齐方法,与现有实体对齐方法:基于相似度的方法、基于机器学习的方法、基于深度学习的方法相比,具有如下有益效果:
1.所述跨语言实体对齐方法具有移植性和灵活性,对于跨语言知识图谱kg1和kg2,两种自然语言的种类不受限制;通过知识图谱的图结构信息来学习实体嵌入,不需要额外的文本信息;
2.所述跨语言实体对齐方法利用图卷积神经网络对跨语言知识图谱建模,基于图卷积网络模型和带有注意力机制的子图嵌入,生成表示实体的结点的嵌入表示;提高了跨语言实体对齐任务的准确率;也就是说:结点嵌入融合了由图卷积模型生成的结点嵌入,以及由基于注意力机制的子图嵌入生成的结点嵌入。基于注意力机制的子图嵌入,引入了由子图生成的嵌入来扩展当前结点的实体嵌入,强化了结点周围子图信息对结点所表示实体嵌入生成的关联关系;另外,在生成结点的子图嵌入表示时引入了注意力机制,使得生成的子图嵌入表示可以区分子图内不同结点对当前结点的关联程度,突出与当前结点最相关的结点特征,因此,该跨语言实体对齐提高了实体对齐的识别性能;
3.所述跨语言实体对齐方法具有开放性,实体来自不同自然语言知识图谱,实体所属领域不受限制;
4.所述跨语言实体对齐方法能够扩充跨语言知识图谱的实体和实体关系,在多语言信息检索、多语言问答系统等领域具有广阔的应用前景。
附图说明
图1为本发明及实施例一种基于子图嵌入的跨语言实体对齐方法的流程示意图。
具体实施方式
基于本发明一种基于子图嵌入的跨语言实体对齐方法的跨语言实体对齐系统以pycharm为开发工具,python为开发语言。
下面结合实施例对本发明方法的优选实施方式进行详细说明。
实施例1
本实施例叙述了采用本发明所述的一种基于子图嵌入的跨语言实体对齐方法的流程,如图1所示。
从图1可以看出,具体包括如下步骤:
步骤1:构建实体信息、属性信息、训练集和测试集;
其中,实体信息包括实体列表、实体编号列表,以及关系三元组;属性信息包括属性列表、属性编号列表,以及属性三元组的编号列表;
实体信息和属性信息从两种自然语言表示的知识图谱kg1和kg2中提取,其中,这两种自然语言可以自由选择,不受语种限制;实体所属领域不受限制;
知识图谱以三元组知识形式存储,包括关系三元组知识和属性三元组知识;
其中,关系三元组知识包括头实体、关系以及尾实体;属性三元组知识包括实体、属性和属性值;其中,实体是头实体以及尾实体中的一种;
训练集具体从跨语言知识图谱kg1和kg2中提取具有对齐关系的种子跨语言实体对构建;
测试集通过提取待对齐的跨语言实体对构建;
例如,其中来自kg1的实体“中华人民共和国”与来自kg2的实体“thepeople'srepublicofchina”是一组具有对齐关系的实体对。
步骤2:构建训练集的实体嵌入矩阵初始值,跨语言知识图谱kg1和kg2的邻接矩阵;
其中,训练集的实体嵌入矩阵初始值通过随机方式产生,实体嵌入矩阵中每一行表示一个实体的嵌入向量;
跨语言知识图谱kg1和kg2的邻接矩阵,依据如下步骤构建:
首先,构建表示这两个知识图谱kg1和kg2的图g1和g2;
其中,图g1中的结点表示知识图谱kg1中的实体,边表示知识图谱kg1中实体之间的关系;图g2中的结点表示知识图谱kg2中的实体,边表示知识图谱kg2中实体之间的关系;
其次,根据图g1的拓扑结构来构建图g1的邻接矩阵,根据图g2的拓扑结构来构建图g2的邻接矩阵;
步骤3:基于训练集,训练图卷积网络模型,生成实体的嵌入表示;
步骤3,具体包括如下子步骤:
步骤3.1:将训练集的实体嵌入矩阵初始值,以及表示知识图谱kg1的图g1的邻接矩阵信息输入至图卷积网络gcn1,即生成图卷积网络gcn1的第一层神经网络层的输入;图卷积网络gcn1包含若干神经网络层,模型参数在不同神经网络层之间共享;
步骤3.2:将训练集的实体嵌入矩阵初始值,以及表示知识图谱kg2的图g2的邻接矩阵信息输入至图卷积网络gcn2,即生成图卷积网络gcn2的第一层神经网络层的输入;
步骤3.3:图卷积网络gcn2与图卷积网络gcn1采用相同方式生成每一层神经网络层的输入,具体为:
3.3a基于步骤3.1中第一层神经网络层的输入,经过卷积计算生成图卷积网络gcn1第一层神经网络层的输出,对于第二层,以及第二层以上的神经网络层,具体为:
对于图卷积网络gcn1,第l+1神经网络层的输出h1(l+1)都由第l神经网络层的输出h1(l)经过卷积计算生成,计算方法如公式(1)所示;
h1(l)=[h11,h12,......,h1n]t(2)
其中,σ(x)为激活函数,即σ(x)=relu(x)=max(0,x);w1l是可训练的权重矩阵,其维数为d(l)×d(l+1),d(l)是第l神经网络层的结点个数,d(l+1)是第l+1神经网络层的结点个数;
3.3b基于步骤3.2中第一层神经网络层的输入,经过卷积计算生成第一层神经网络层的输出,对于第二层,以及第二层以上的神经网络层,具体为:
对于图卷积网络gcn2,第l+1神经网络层的输出h2(l+1)都由第l神经网络层的输出h2(l)经过卷积计算生成,计算方法如公式(4)所示;
h2(l)=[h21,h22,......,h2n]t(5)
其中,σ(x)为激活函数,即σ(x)=relu(x)=max(0,x);w2l是可训练的权重矩阵,其维数为d(l)×d(l+1),d(l)是第l神经网络层的结点个数,d(l+1)是第l+1神经网络层的结点个数;
步骤3.4:基于子图嵌入生成图卷积网络gcn1和gcn2的结点的嵌入表示,图卷积网络gcn1的结点嵌入表示和gcn2的结点嵌入表示采用相同方式生成;具体为:根据预设的子图窗口大小在来生成每个结点的子图嵌入,不断迭代来优化图卷积网络模型;对于图卷积网络模型的结点,其子图窗口大小是指计算结点的子图嵌入所考察的子图大小范围;将直接存在关系边连接的两个结点间距离定义为1,将与结点距离小于给定阈值的结点集合划分在子图中;用窗口大小约束参与每一层的结点的子图嵌入的计算;
例如,若窗口大小设为1,则选取与结点距离为1以内的结点划分在子图中;若窗口大小设为2,则选取与结点距离为2以内的结点构成子图。例如,在训练图卷积网络中,将结点的子图窗口大小设置为2。
对于图卷积网络gcn1,在计算结点vi的子图嵌入时,子图中不同结点通过注意力机制在计算结点vi的子图嵌入时赋予不同的权重,其原因在于:结点vi子图中的结点与结点v的关联程度不同,因此子图中不同结点对子图嵌入计算的贡献也不同;
其中,子图嵌入的注意力机制通过构建注意力矩阵实现,具体为:对于结点vi,设vsg表示vi子图内的所有结点集合,结点vj和vk都属于集合vsg;构建注意力矩阵s,元素sij表示结点vj对结点vi的重要程度,即在知识图谱中结点vj所表示实体对结点vi所表示实体的重要程度,元素sij的计算方法如公式(7)所示:
其中,leakyrelu(·)函数的作用是对负值赋予一个非零的斜率,yi=leakyrelu(xi),计算方法如公式(8)所示:
在公式(7)中,
生成结点vi的子图嵌入表示h′i,如公式(9)所示:
其中,hj为基于图卷积网络生成的结点vj的嵌入表示,w1是可训练的权重矩阵,sij为根据公式(4)计算的注意力机制的权重,σ(·)为非线性激活函数,ebag={h11,h12,…,h1n},即由第l神经网络层每个结点的嵌入表示h1,h2,…,hn构成的集合;
对于结点vi,将其嵌入表示hi与其子图嵌入表示h′i融合,并输入至下一神经网络层中,参与计算模型下一神经网络层的输出,重复步骤3.3和步骤3.4,结点嵌入在图卷积网络模型的每一层逐步优化,直至图卷积网络的输出层,生成结点所表示实体的嵌入表示;即生成图卷积网络gcn1中结点所表示实体的嵌入表示;
图卷积网络gcn2的结点嵌入表示和gcn1的结点嵌入表示采用相同方式生成;
例如,结点vi在图卷积神经网络第i层的嵌入表示为hi=[0.5212,0.2278,0.3025,0.1234],其子图范围内结点分别为vj,vk和vl,在图卷积神经网络第i层的嵌入表示分别为[0.3301,0.2567,0.0825,0.4223],[0.6602,0.1785,0.1065,0.3303],[0.1177,0.2635,0.5564,0.7096]。根据注意力机制,计算得到vj,vk,vl,的权重比例分别为0.2,0.5,0.3,则结点vi对应的子图嵌入为vj,vk,vl的加权求和结果[0.4314,0.2196,0.2367,0.4625]。然后,将结点vi的嵌入表示与子图嵌入表示融合,生成第i层结点vi的输出嵌入表示:[0.4763,0.2237,0.2696,0.2929]。
其中,步骤3通过知识图谱kg1和kg2的图结构信息来学习实体嵌入,不需要额外的文本语料;
步骤4:在利用训练集完成图卷积网络模型的参数训练后,将测试集输入至图卷积网络模型,基于图卷积网络和子图嵌入,生成测试集中实体的嵌入表示;
步骤5:判别测试集中的实体对齐关系,具体为:
对于测试集中待对齐的跨语言实体对(xu,yv),计算每一实体对(xu,yv)的嵌入表示(eu,ev)相似度,eu和ev分别为实体xu和实体yv的嵌入表示;
对于每一实体xu,根据余弦相似度计算结果,构建与实体xu对齐的候选实体集合t;进一步,按照余弦相似度非降序顺序,对候选实体集合t排序,构建有序实体列表te;
最后,输出所有实体xu以及与其具有对齐关系的有序实体列表te;
为说明本发明的跨语言实体对齐判别效果,本实验是在同等条件下,以相同的训练集和测试集分别采用两种方法进行比较。第一种方法是基于图卷积神经网络的跨语言实体对齐方法,第二种方法是本发明的跨语言实体对齐识别方法。
采用的评测指标为:hits@k值。hits@k指标的含义为“在前k个候选实体中,与给定实体具有对齐关系的实体的概率”。本发明采用评测指标hits@1和hits@10。对于知识图谱kg1中的实体xu,以及与其具有对齐关系的有序实体列表te={t1,t2,…,tm}。例如,hits@1的含义为:若实体t1与实体xu具有对齐关系,则将实体xu计入hits@1的统计量中,通过遍历整个测试集的所有实体,得到hits@1的全局概率值。hits@10的含义为:当t1,t2,…,t10中存在与实体xu具有对齐关系的实体,则将xu计入全局统计量中,最终遍历整个测试集的所有实体得到hits@10的全局概率值。hits@1记录了跨语言知识图谱kg1和kg2直接匹配成功的实体对,hits@10记录了有序实体列表的前10个实体中,与给定实体具有对齐关系的概率。
跨语言实体对齐的识别结果为:已有技术的基于图卷积神经网络的跨语言实体对齐的hits@1值为41.25%,hits@10值为74.38%。采用本发明方法的hits@1值为66.70%,hits@10值为77.50%。通过实验表明了本发明提出的基于子图嵌入的跨语言实体对齐识别方法的有效性。
以上所述为本发明的较佳实施例而已,本发明不应该局限于该实施例和附图所公开的内容。凡是不脱离本发明所公开的精神下完成的等效或修改,都落入本发明保护的范围。