本发明属于电力大数据的智能应用领域,具体涉及一种知识图谱中实体对齐方法、系统及其存储介质。
背景技术:
随着大数据技术的不断发展,积累了大量尚未被有效利用的数据,这些数据蕴藏的价值越来越受到企业内部和学术界的重视。为实现数据的统一汇聚和共享应用,需构建数据的知识图谱,建立起数据的语义连接网,为用户提供语义级互操作的统一数据服务,但由于数据来自不同系统,它们对同一对象往往有各自的描述规则,使得从不同系统中抽取的实体和关系存在大量异构、冗余的情况,通过实体对齐将指向同一对象的实体进行清理合并,解决知识图谱中的实体复用问题,是构建高质量的数据知识图谱的关键步骤。
实体对齐技术旨在发现来自不同数据集的指向同一对象的那些实体,并通过owl:sameas等共指链接的构建将这些实体链接为一个具有统一化的全局唯一标识的对象,实现数据源之间的高质量链接,推进知识图谱构建。实体对齐方法主要分为两大类,一类是基于属性相似度的实体对齐方法,另一类是基于知识表示学习对齐实体关系进行推断。基于属性相似度的推断主要依据待对齐实体之间是否具有相同的属性及相应属性值的集合来判断的。基于表示学习的推断使用建模方法将知识图谱中的实体和关系映射到低维稠密向量空间中,然后进行计算和推理。
但需要找到不同数据集内的实体间的对应关系,直接使用知识表示模型或基于属性相似度推断难以达到令人满意的效果,并且目前使用的方法需要大量标注好的实体对齐数据,这在实际中意味着需要大量电力业务专家的参与,难以实现。
技术实现要素:
为解决现有技术中存在的问题,本发明提出一种知识图谱中实体对齐方法,融合知识表示学习和属性相似度推断的实体对齐结果,是两方面的结果互为补充,已达到对数据较好的实体对齐效果。
本发明所采用的技术方案是:一种知识图谱中实体对齐方法,包括以下步骤:
步骤1:采用第一训练数据对第一实体对齐模型进行训练,采用第二训练数据对第二实体对齐模型进行训练,第一实体对齐模型每一次迭代训练得到的可信实体更新第二训练数据,第二实体对齐模型每一次迭代训练得到的可信实体更新第一实体对齐模型,当迭代次数达到设置的最大次数或第一实体对齐模型的输出结果与第二实体对齐模型的输出结果在设定的阈值范围内后停止迭代,得到最终的实体对齐模型;
步骤2:将待对齐的知识图谱输入至步骤1得到的最终的实体对齐模型中,得到实体对齐结果。
进一步的,当用于完成电网知识图谱中实体对齐时,所述第一训练数据和第二训练数据为电力专用术语数据。
进一步的,所述第一训练数据为语义特征视角下的训练数据,包括第一对齐数据集和第一未对齐数据集;所述第二训练数据为属性结构特征视角下的训练数据,包括第二对齐数据集和第二未对齐数据集;
所述第一实体对齐模型为表示学习的实体对齐模型;所述第二实体对齐模型为基于属性相似度匹配的的实体对齐模型。
进一步的,所述步骤1具体包括:
采用第一对齐数据集训练得到第一实体对齐模型,使用第一实体对齐模型对第一未对齐数据集进行预测,得到可信实体对l′se,将其放入第二对齐数据集中,更新第二对齐数据集;
采用第二对齐数据集训练得到的第二实体对齐模型,使用第二实体对齐模型对第二未对齐数据集进行预测,得到可信实体对l′st,将其放入第二对齐数据集中,更新第一对齐数据集。
进一步的,在进行步骤1之前,还包括构建第一实体对齐模型,具体为:
将知识图谱中的实体与关系映射到向量空间,获得知识图谱中实体的对应映射向量,关系的对应映射向量,得到三元组中首尾实体及中间关系的对应向量h,t,r;
按照式(1)构建损失函数,当损失函数迭代达到设置的最大次数或结果值不变后停止迭代,得到第一实体对齐模型:
其中,(h,r,t)∈δ表示知识图谱转化为三元组形式后所有事实上存在的三元组集合;(h′,r′,t′)∈δ′表示将正例三元组通过替换头实体或尾实体生成的知识图谱内不存在的三元组集合,
将实体对应的头实体向量、尾实体向量和关系向量按照式(2)进行迭代更新:
式中,dim是空间向量的维度,hi代表头实体向量h的第i维向量,μ为学习率。
进一步的,在进行步骤1之前,还包括构建第二实体对齐模型,具体为:
根据式(6)构建打分函数,根据打分函数对所有候选实体关系对中的实体的向量和关系的向量进行打分,取打分值最高的候选实体关系对中的候选实体作为对齐的目标实体;
fpredict(h,r,t*)=(1+w×sim(h,t*))||h-t*||(6)
其中,t*表示给定的实体,h表示为与t*存在跨网络实体对齐关系的候选实体,通过打分函数对所有候选实体关系对(h,r,t*)进行打分,打分值最高的候选实体h为对齐的目标实体;||h-t*||衡量基于表示学习的语义相似度,sim(h,t*)表示属性相似度,w为惩罚力度;
sim(h,t*)=average(sim(pi))
pi为实体h和实体t*的共有属性集:
up(h,t*)=property1∩property2(3)
式中,property1为实体h的属性集,property2为实体t*的属性集;
实体h和实体t*的共有属性集pi的相似度sim(pi)为:
式中,pi对应实体h的第x个属性p1x,其属性值为v1x,pi对应实体t*的第y个属性p2y,其属性值为v2y,lcs(v1x,v2y)为属性值的最长公共子序列。
本发明还公开了知识图谱中实体对齐系统,包括:
协同训练单元,用于对第一实体对齐模型和第二实体对齐模型进行协同训练,得到最终的实体对齐模型;
读取单元,用于获取待对齐的知识图谱输入至最终的实体对齐模型,得到实体对齐结果。
进一步的,所述协同训练单元具体为:采用第一训练数据对第一实体对齐模型进行训练,采用第二训练数据对第二实体对齐模型进行训练,第一实体对齐模型每一次迭代得到的可信实体更新第二训练数据,第二实体对齐模型每一次迭代得到的可信实体更新第一训练数据,当达到设置的最大次数或第一实体对齐模型的输出结果与第二实体对齐模型的输出结果在设定的阈值范围内后停止迭代,得到最终的实体对齐模型。
进一步的,当用于完成电网知识图谱中实体对齐时,所述第一训练数据和第二训练数据为电力专用术语数据。
进一步的,所述第一训练数据为语义特征视角下的训练数据,包括第一对齐数据集和第一未对齐数据集;所述第二训练数据为属性结构特征视角下的训练数据,包括第二对齐数据集和第二未对齐数据集;所述第一实体对齐模型为表示学习的实体对齐模型;所述第二实体对齐模型为基于属性相似度匹配的的实体对齐模型。
进一步的,采用第一对齐数据集训练得到第一实体对齐模型,使用第一实体对齐模型对第一未对齐数据集进行预测,得到可信实体对l′se,将其放入第二对齐数据集中,更新第二对齐数据集;
采用第二对齐数据集训练得到的第二实体对齐模型,使用第二实体对齐模型对第二未对齐数据集进行预测,得到可信实体对l′st,将其放入第二对齐数据集中,更新第一对齐数据集。
进一步的,所述第一实体对齐模型为:将知识图谱中的实体与关系映射到向量空间,获得知识图谱中实体的对应映射向量,关系的对应映射向量,得到三元组中首尾实体及中间关系的对应向量h,t,r;
按照式(1)构建损失函数,当损失函数迭代达到设置的最大次数或结果值不变后停止迭代,得到第一实体对齐模型:
其中,(h,r,t)∈δ表示知识图谱转化为三元组形式后所有事实上存在的三元组集合;(h′,r′,t′)∈δ′表示将正例三元组通过替换头实体或尾实体生成的知识图谱内不存在的三元组集合,
将实体对应的头实体向量、尾实体向量和关系向量按照式(2)进行迭代更新:
式中,dim是空间向量的维度,hi代表头实体向量h的第i维向量,μ为学习率。
进一步的,所述第二实体对齐模型为:根据式(6)构建打分函数,根据打分函数对所有候选实体关系对中的实体的向量和关系的向量进行打分,取打分值最高的候选实体关系对中的候选实体作为对齐的目标实体;
fpredict(h,r,t*)=(1+w×sim(h,t*))||h-t*||(6)
其中,t*表示给定的实体,h表示为与t*存在跨网络实体对齐关系的候选实体,通过打分函数对所有候选实体关系对(h,r,t*)进行打分,打分值最高的候选实体h为对齐的目标实体;||h-t*||衡量基于表示学习的语义相似度,sim(h,t*)表示属性相似度,w为惩罚力度;
sim(h,t*)=average(sim(pi))
pi为实体h和实体t*的共有属性集:
up(h,t*)=property1∩property2(3)
式中,property1为实体h的属性集,property2为实体t*的属性集;
实体h和实体t*的共有属性集pi的相似度sim(pi)为:
式中,pi对应实体h的第x个属性p1x,其属性值为v1x,pi对应实体t*的第y个属性p2y,其属性值为v2y,lcs(v1x,v2y)为属性值的最长公共子序列。
本发明还公开了一种知识图谱中实体对齐系统,所述系统包括网络接口、存储器和处理器;其中,
所述网络接口,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
所述存储器,用于存储能够在所述处理器上运行的计算机程序指令;
所述处理器,用于在运行所述计算机程序指令时,执行上述一种知识图谱中实体对齐方法的步骤。
本发明还公开了一种计算机存储介质,所述计算机存储介质存储有知识图谱中实体对齐方法的程序,所述知识图谱中实体对齐方法的程序被至少一个处理器执行时实现上述一种知识图谱中的实体对齐方法的步骤。
有益效果:本发明采用的协同语义信息和结构特征的实体对齐方法在电网数据的实体对齐任务中取得了较理想的效果,该方法比只针对语义信息或结属性征进行实体对齐推断的方法有了全面的提升。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合具体实施方式,进一步阐明本发明。
实施例1:
本实施例的一种知识图谱构建过程中的实体对齐方法,包括以下步骤:
步骤一:构建表示学习的实体对齐模型:
采用表示学习的方法进行实体对齐主要分为两步:
首先将待对齐的图谱kg1和kg2映射到低维向量空间中得到对应的知识表示kg1和kg2,然后基于人工标注的实体对齐数据集n,学习实体间的对齐关系
向量空间表示方法的损失函数定义为:
其中,(h,r,t)∈δ是正例三元组集合,为知识图谱转化为三元组形式后所有事实上存在的三元组。(h′,r′,t′)∈δ′是负例三元组集合,为将正例三元组通过替换头实体或尾实体生成的知识图谱内不存在的三元组。特别地,对于实体对齐关系sameas的三元组,构造负例三元组时替换的实体应是另一个数据源的同类型实体,即随机替换头实体为第一个数据源的同类型实体或替换尾实体为第二个数据源的同类型实体。
优化损失函数的过程中,约束关系向量sameas为零向量,并设置损失函数迭代达到最大次数或结果值不变后停止迭代。每次迭代将实体关系的头实体向量、尾实体向量和关系向量进行迭代更新,更新时可采用向量梯度法,方式如下:
式中,dim是空间向量的维度,hi代表h的第i维向量,μ为学习率。
步骤二:构建基于属性相似度匹配的实体对齐模型:
定义up(e1,e2)为实体e1和e2的共有属性集,即:
up(e1,e2)=property1∩property2(3)
式中,property1为实体e1的属性集,property2为实体e2的属性集。
两个实体共有属性pi的相似度sim(pi)为:
式中,pi对应实体e1的第x个属性p1x,其属性值为v1x。同时,对应实体e2的第y个属性p2y,其属性值为v2y。lcs(v1x,v2y)为属性值的最长公共子序列。
实体e1,e2的实体相似度为其共有属性相似度的平均值:
sim(e1,e2)=average(sim(pi))(5)
若给定实体t*,推断与t*存在跨网络实体对齐关系的h,根据打分函数对所有实体关系对(h′,sameas,t*)打分,取打分值最高的h′作为推断的结果。打分函数基于向量表示相似度和属性相似度定义:
fpredict(h,r,t*)=(1+w×sim(h,t*))||h-t*||(6)
其中,||h-t*||衡量基于表示学习的语义相似度,sim(h,t*)表示属性相似度。w为惩罚力度,0<w<1,具体取值根据数据集属性的可信度决定。
步骤三:表示学习模型和属性匹配模型的协同训练:
基于知识表示学习和基于属性相似度的实体对齐方法分别从语义特征和属性结构特征这两个独立的角度对实体对齐问题进行推断。在行业知识图谱的实体对齐任务中,利用协同训练框架将两个视角的推断结果互为补充,可以达到更好的效果。
具体地,将训练数据划分为两个相互独立的视角,即语义特征视角和结构特征视角。根据少量标注好的语义特征视角的对齐数据集xse,生成语义特征视角的训练数据,并训练得到表示学习的实体对齐模型mse,使用表示学习的实体对齐模型mse对语义特征视角的未对齐数据集xse’进行预测,并选出可信实体对l′se,属性结构特征视角的对齐数据中,更新属性结构特征视角的对齐数据集xst。
同样地,根据少量标注好的属性结构特征视角的对齐数据集xst,生成属性结构特征视角的训练数据,训练得到的基于属性相似度匹配的的实体对齐模型mst,并使用基于属性相似度匹配的的实体对齐模型mst对属性结构特征视角的未对齐数据集xst’进行预测,得到可信实体对l′st,将其放入语义特征视角的对齐数据中,更新的语义特征视角的对齐数据集xse。
对上述两个模型不断进行迭代,直至收敛。
实施例2:
本实施例以实施例1的方法完成电网知识图谱中实体对齐,本实施例中采用的第一训练数据和第二训练数据均为含有大量电力专用术语数据;具体为,本实施例的第一训练数据为语义特征视角下的训练数据,包括第一对齐数据集和第一未对齐数据集;第二训练数据为属性结构特征视角下的训练数据,包括第二对齐数据集和第二未对齐数据集;本实施例的第一实体对齐模型为表示学习的实体对齐模型,第二实体对齐模型为基于属性相似度匹配的的实体对齐模型。本实施例中提到的电力专用术语数据包括但不限于:配电变压器数据、主变压器数据等。
采用第一对齐数据集训练得到第一实体对齐模型,使用第一实体对齐模型对第一未对齐数据集进行预测,得到可信实体对l′se,将其放入第二对齐数据集中,更新第二对齐数据集;采用第二对齐数据集训练得到的第二实体对齐模型,使用第二实体对齐模型对第二未对齐数据集进行预测,得到可信实体对l′st,将其放入第二对齐数据集中,更新第一对齐数据集,当迭代次数达到设置的最大次数或第一实体对齐模型的输出结果与第二实体对齐模型的输出结果在设定的阈值范围内后停止迭代,得到最终的实体对齐模型;将待对齐的电网知识图谱输入至最终的实体对齐模型中,得到实体对齐结果。实施例3:
本实施例以浙江省电力公司的全业务统一数据中心的数据为例。数据中心中多个业务系统直接接入数据中心并储存在贴源层中,从中抽取了某个城市某个星期的测试数据。在运检系统和物资系统对设备实体的对齐工作中,两个系统共记录设备实体1448个,其中运检系统中有设备实体1032个,物资系统中有设备实体876个,两个系统中可对齐实体有460个,其中训练集160个,验证集150个,测试集150个。
实验的对比方法为基于属性相似度匹配的方法lcs和基于表示学习的实体对齐算法cross-kg和seea。评价指标采用实体对齐常用的准确率(precision,p),召回率(recall,r)和f1值。
准确率表示抽取结果的准确程度,其定义为:
p=nsuccess/ntotal
其中,ntotal表示推断的关系总数;nsuccess表示算法推断的正确关系数目。
召回率表示推断正确的关系占所有存在的对齐关系的比例,其定义为:
r=rsuccess/rtotal
其中,rsuccess表示推断正确的关系数目,rtotal表示所有真实存在的对其关系数目。
f1值是综合准确率和召回率的评估指标,用于综合反映整体效果,其定义为:
f1=2·r·p/(r+p)
实验结果如表1所示。
表1本发明所涉及的方法及实验对比
实验表明基于语义信息和结构特征的协同训练方法在电网数据的实体对齐任务中能取得较理想的效果。在语义视角下基于表示学习的实体对齐方法,在结构视角下基于属性相似度的实体对齐方法进行训练,并将各自视角下的较好的对齐结果补充到另一视角下进行迭代训练,最终相对于单个视角的准确率、召回率和f1值有了很大提升。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。