本发明涉及自然语言处理以及知识表示学技术领域,尤其涉及一种基于知识库内头尾实体分布的关系相似度度量方法及系统。
背景技术:
为了结构化地对现实世界的知识进行存储和处理,同时便于计算机模型能够在知识的辅助下取得更好的表现效果,人们建立了很多大规模的知识图谱,例如wikidata、dbpedia和yago等。知识图谱将人物、地名、机构名等专有名词与事物作为实体,将实体之间的联系作为关系,最终以“(头实体,关系,尾实体)”的三元关系组形式储存知识。例如,“姚明在上海出生”这一知识,在知识图谱中则利用三元组关系(姚明,在…出生,上海)进行表示。
基于现有的知识库,人们在许多任务上进行了探究,例如知识库自动补全、关系抽取等。我们发现在这些任务中,现有的模型往往难以对相似的关系进行区分。如果能够对关系之间的相似度进行度量,我们就能够在模型的训练过程中有针对性地强化模型区分相似关系的能力,从而增强模型的能力。
技术实现要素:
本发明实施例提供一种基于知识库内头尾实体分布的关系相似度度量方法及系统,用以解决现有技术中度量实体关系之间的相似度效果不尽人意的问题,实现更好地量化知识库中关系之间的相似度,并保证该度量方式确定出的相似度与人对相似度的认知存在高度的相似性。
本发明实施例提供一种基于知识库内头尾实体分布的关系相似度度量方法,包括:
获取待比较的两个关系;
获取所述两个关系各自对应的头尾实体分布;
计算两个关系各自对应的头尾实体分布之间的kl散度,基于计算得到的kl散度确定所述两个关系间的相似度。
进一步地,所述计算两个关系各自对应的头尾实体分布之间的kl散度的步骤,进一步包括:
基于蒙特卡罗模拟,计算两个关系各自对应的头尾实体分布之间的kl散度。
进一步地,所述获取待比较的两个关系的步骤,之前还包括:
定义三元关系组的分布,定义三元关系组分布的计算方式。
进一步地,所述定义三元关系组的分布,定义三元关系组分布的计算方式的步骤,之后还包括:
计算优化模型参数,基于所述优化模型参数对三元关系组的分布进行优化。
进一步地,所述基于蒙特卡罗模拟,计算两个关系各自对应的头尾实体分布之间的kl散度的步骤,进一步包括:
基于下式计算两个关系各自对应的头尾实体分布之间的kl散度:
其中dkl(·||·)代表kl散度;
进一步地,所述θ*满足如下条件:
其中
本发明实施例提供一种基于知识库内头尾实体分布的关系相似度度量系统,包括:
获取模块,用于获取待比较的两个关系;
获取模块,还用于获取所述两个关系各自对应的头尾实体分布;
计算模块,用于计算两个关系各自对应的头尾实体分布之间的kl散度,基于计算得到的kl散度确定所述两个关系间的相似度。
进一步地,所述计算模块,进一步用于:
基于蒙特卡罗模拟,计算两个关系各自对应的头尾实体分布之间的kl散度。
本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一项所述关系相似度度量方法的步骤。
本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一项所述关系相似度度量方法的步骤。
本发明实施例提供的基于知识库内头尾实体分布的关系相似度度量方法及系统,基于知识库内头尾实体分布的关系相似度度量方式,能够利用知识库中头尾实体的信息来确定两个关系之间的相似度。同时由于本发明实施例关注于两个关系头尾实体的分布,增强了对于两个关系相似度的可解释性。本发明实施例提出的方法及系统可以直接扩展至现实世界中,例如帮助开放域关系抽取任务进行冗余关系的合并,以及作为启发式算法中的组成部分来优化关系抽取模型和关系预测模型。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中基于知识库内头尾实体分布的关系相似度度量方法流程图;
图2为本发明基于知识库内头尾实体分布的关系相似度度量方法实施例流程图;
图3为本发明基于知识库内头尾实体分布的关系相似度度量设备实施例结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为解决现有技术中的至少一个技术问题,本发明实施例提供一种关系相似度度量方法。如图1所是,所述关系相似度度量方法,整体上包括以下步骤:
步骤s1,获取待比较的两个关系。
步骤s2,获取所述两个关系各自对应的头尾实体分布。
步骤s3,计算两个关系各自对应的头尾实体分布之间的kl散度,基于计算得到的kl散度确定所述两个关系间的相似度。
需要说明的是,待比较的关系所对应的三元组为预先定义,所述待比较的关系所对应的头尾实体分布计算表达式也为提前定义,上述定义方法可以采用现有技术中的方法,本发明实施例不作具体限定。
其中,假设两个关系对应的头尾实体分布之间的相似程度反映了两个关系的相似程度,即两个关系对应的头尾实体如果分布十分相近的话,本发明实施例有理由认为这两个关系也十分相近。因此,本发明实施例基于两个关系对应的头尾实体分布之间的kullback-leibler散度(kl散度)进行相似度的度量。
本发明实施例与现有技术相比,提出了一种新的基于知识库内头尾实体分布的关系相似度度量方式,能够利用知识库中头尾实体的信息来确定两个关系之间的相似度。同时由于关注于两个关系头尾实体的分布,增强了对于两个关系相似度的可解释性。本发明实施例提出的方法可以直接扩展至现实世界中,例如帮助开放域关系抽取任务进行冗余关系的合并,以及作为启发式算法中的组成部分来优化关系抽取模型和关系预测模型。
在本发明上述实施例的基础上,提供一种关系相似度度量方法,所述计算两个关系各自对应的头尾实体分布之间的kl散度的步骤,进一步包括:基于蒙特卡罗模拟,计算两个头尾实体分布之间的kl散度。
由于现有技术中对两个关系的所有头尾实体分布的计算涉及到全体头尾实体的数量的计算,是十分耗费资源的,因此本发明实施例考虑基于蒙特卡洛近似对其kl散度进行估计。
其中,蒙特卡罗法也称统计模拟法、统计试验法。是把概率现象作为研究对象的数值模拟方法。是按抽样调查法求取统计值来推定未知特性量的计算方法。蒙特卡罗是摩纳哥的著名赌城,该法为表明其随机抽样的本质而命名。故适用于对离散系统进行计算仿真试验。在计算仿真中,通过构造一个和系统性能相近似的概率模型,并在数字计算机上进行随机试验,可以模拟系统的随机特性。
其中,其中dkl(·||·)代表kl散度;
本发明实施例与现有技术相比,提出了一种新的基于知识库内头尾实体分布的关系相似度度量方式,基于蒙特卡洛近似对两个关系的所有头尾实体分布之间的kl散度进行估计,节省了计算资源,提高了运算速率。
在本发明任一上述具体实施例的基础上,提供一种关系相似度度量方法,所述获取待比较的两个关系的步骤,之前还包括:
定义三元关系组的分布,定义三元关系组分布的计算方式。
其中,首先定义三元关系组的分布。
一个三元关系组可以被表示为(h,r,t),h为头实体,t为尾实体,r为二者之间的关系,且h,t∈ε,ε为实体的集合,
在本发明实施例中,只考虑局部归一化版的fθ:
其中
其次,定义三元关系组分布的计算方式。
对于
其中θ1(r)是与关系r对应的参数。
对于第二、第三部分,通过多层感知机进行计算:
其中,每个mlp代表一个每层的表达式为y=relu(wx+b)的多层感知机,h,r,t是h,r,t的向量。
本发明实施例与现有技术相比,提出了一种新的基于知识库内头尾实体分布的关系相似度度量方式,能够利用知识库中头尾实体的信息来确定两个关系之间的相似度。同时由于关注于两个关系头尾实体的分布,增强了对于两个关系相似度的可解释性。本发明实施例提出的方法可以直接扩展至现实世界中,例如帮助开放域关系抽取任务进行冗余关系的合并,以及作为启发式算法中的组成部分来优化关系抽取模型和关系预测模型。
在本发明任一上述实施例的基础上,提供一种关系相似度度量方法,所述定义三元关系组的分布,定义三元关系组分布的计算方式的步骤,之后还包括:计算优化模型参数,基于所述优化模型参数对三元关系组的分布进行优化。
其中,本发明实施例希望能够使得训练集出现的联合概率最大,即需要找到一组模型的参数θ*,使得:
其中
本发明实施例与现有技术相比,提出了一种新的基于知识库内头尾实体分布的关系相似度度量方式,能够利用知识库中头尾实体的信息来确定两个关系之间的相似度。同时由于关注于两个关系头尾实体的分布,增强了对于两个关系相似度的可解释性。本发明实施例提出的方法可以直接扩展至现实世界中,例如帮助开放域关系抽取任务进行冗余关系的合并,以及作为启发式算法中的组成部分来优化关系抽取模型和关系预测模型。
在本发明任一上述实施例的基础上,提供一种关系相似度度量方法,
所述基于蒙特卡罗模拟,计算两个关系各自对应的头尾实体分布之间的kl散度的步骤,进一步包括:
基于下式计算两个关系各自对应的头尾实体分布之间的kl散度:
其中dkl(·||·)代表kl散度;
假设两个关系对应的头尾实体分布之间的距离反映了两个关系的相似程度,即两个关系对应的头尾实体如果分布十分相近的话,有理由认为这两个关系也十分相近。因此,基于两个关系对应的头尾实体分布之间的kullback-leibler散度(kl散度)可以定义两个关系之间的相似度:
其中dkl(·||·)代表kl散度,
由于对两个关系的所有头尾实体分布的计算涉及到o(ε2)的计算复杂度,是十分耗费资源的,因此考虑使用蒙特卡洛近似对其分布进行估计。基于下式计算两个头尾实体分布之间的kl散度:
其中dkl(·||·)代表kl散度;
本发明实施例与现有技术相比,提出了一种新的基于知识库内头尾实体分布的关系相似度度量方式,能够利用知识库中头尾实体的信息来确定两个关系之间的相似度。同时由于关注于两个关系头尾实体的分布,增强了对于两个关系相似度的可解释性。本发明实施例提出的方法可以直接扩展至现实世界中,例如帮助开放域关系抽取任务进行冗余关系的合并,以及作为启发式算法中的组成部分来优化关系抽取模型和关系预测模型。
在本发明上述任一实施例的基础上,所述θ*满足如下条件:
其中
在本发明任一上述实施例的基础上,如图2所示,提供一种关系相似度度量系统,包括:
获取模块21,用于获取待比较的两个关系;
获取模块21,还用于获取所述两个关系各自对应的头尾实体分布;
计算模块22,用于计算两个关系各自对应的头尾实体分布之间的kl散度,基于计算得到的kl散度确定所述两个关系间的相似度。
需要说明的是,待比较的关系所对应的三元组为预先定义,所述待比较的关系所对应的头尾实体分布计算表达式也为提前定义,上述定义方法可以采用现有技术中的方法,本发明实施例不作具体限定。
其中,假设两个关系对应的头尾实体分布之间的相似程度反映了两个关系的相似程度,即两个关系对应的头尾实体如果分布十分相近的话,本发明实施例有理由认为这两个关系也十分相近。因此,本发明实施例基于两个关系对应的头尾实体分布之间的kullback-leibler散度(kl散度)进行相似度的度量。
本发明实施例与现有技术相比,提出了一种新的基于知识库内头尾实体分布的关系相似度度量方式,能够利用知识库中头尾实体的信息来确定两个关系之间的相似度。同时由于关注于两个关系头尾实体的分布,增强了对于两个关系相似度的可解释性。本发明实施例提出的系统可以直接扩展至现实世界中,例如帮助开放域关系抽取任务进行冗余关系的合并,以及作为启发式算法中的组成部分来优化关系抽取模型和关系预测模型。
在本发明上述实施例的基础上,提供一种关系相似度度量系统,计算模块进一步用于:基于蒙特卡罗模拟,计算两个关系各自对应的头尾实体分布之间的kl散度。
由于现有技术中对两个关系的所有头尾实体分布的计算涉及到全体头尾实体的数量的计算,是十分耗费资源的,因此本发明实施例考虑基于蒙特卡洛近似对其kl散度进行估计。
其中,蒙特卡罗法也称统计模拟法、统计试验法。是把概率现象作为研究对象的数值模拟方法。是按抽样调查法求取统计值来推定未知特性量的计算方法。蒙特卡罗是摩纳哥的著名赌城,该法为表明其随机抽样的本质而命名。故适用于对离散系统进行计算仿真试验。在计算仿真中,通过构造一个和系统性能相近似的概率模型,并在数字计算机上进行随机试验,可以模拟系统的随机特性。
其中,其中dkl(·||·)代表kl散度;
本发明实施例与现有技术相比,提出了一种新的基于知识库内头尾实体分布的关系相似度度量方式,基于蒙特卡洛近似对两个关系的所有头尾实体分布之间的kl散度进行估计,节省了计算资源,提高了运算速率。
举个例子如下:
图3示例了一种电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)310、通信接口(communicationsinterface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储器330中的逻辑指令,以执行如下方法:获取待比较的两个关系;获取所述两个关系各自对应的头尾实体分布;计算两个关系各自对应的头尾实体分布之间的kl散度,基于计算得到的kl散度确定所述两个关系间的相似度。
此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的传输方法,例如包括:获取待比较的两个关系;获取所述两个关系各自对应的头尾实体分布;计算两个关系各自对应的头尾实体分布之间的kl散度,基于计算得到的kl散度确定所述两个关系间的相似度。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。