一种迭代的实体对齐模型的制作方法

文档序号:13207733阅读:317来源:国知局

本发明涉及计算机技术,具体涉及一种迭代的实体对齐模型。



背景技术:

人们将互联网上的大量信息进行抽取,并加入不同的单一领域或开领域的知识库中。这些知识库往往有着不尽相同的结构,但是也有一些共有的性质。

知识库往往由一些实体集合e、关系集合r和三元组集合t组成,即kg=(e,r,t)。其中实体集合往往包含有客观世界上的一些有可区别性且独立存在的事物,比如“地球”、“中国”、“珠穆朗玛峰”等等。而关系集合则是描述实体之间的内在联系,比如“是……的公民”、“出生于……”等。三元组描述的是实体和实体直接的关系,也即这个集合中的元素应当是客观世界中真实的知识,比如(“巴拉克·奥巴马”,“是……的公民”,“美国”)。

虽然已有的知识图谱包含了上亿个事实,相比于无尽的现实世界,它们仍然远远没有完善。为了对知识图谱进行完善,现在有很多工作在研究如何自动的对知识图谱进行完善。大多数现存的知识图谱都是独立创建的,这些知识图谱不可避免地是异构的,所以其中的知识往往是互补的。因此融合知识图谱对于可以产生大量的知识。值得注意的是,在绝大多数知识图谱中关系的个数远小于实体的个数,所以实体的对齐是知识图谱融合的关键。

传统的知识对齐方式往往需要笨重的人力劳动或者精心手动构造的特征。虽然依靠人力的知识对齐工作往往的效果都比较好,但是,人参与的方法一般比较耗时,成本高,而且也有一些拓展的不灵活性。



技术实现要素:

鉴于上述问题,本发明提出了克服上述问题或者至少部分地解决上述问题的实体对齐方法和设备。

为此目的,第一方面,本发明提出一种实体对齐方法,包括步骤:分别获得第一知识图谱kg1中实体的向量表示和第二知识图谱kg2中实体的向量表示;

根据输入的对齐种子实体对集合,绑定第一知识图谱kg1和第二知识图谱kg2中表示相同含义的实体向量表示,获得第三知识图谱kg;

根据第三知识图谱kg、第一知识图谱kg1中实体的向量表示和第二知识图谱中实体的向量表示,迭代计算实体向量表示之间的相似度;在迭代计算过程中,若某一对实体向量表示的距离小于阈值,则将该对实体向量表示对应的实体对加入第三知识图谱kg,直至第三知识图谱kg的实体个数不再增加。

可选的,所述迭代计算实体向量表示之间的相似度,包括:

训练第一知识图谱kg1与第二知识图谱kg2之间的映射关系,直到评价函数l最小;其中:

l=k+i;

kt=∑(h,r,t)∈tl(h,r,t);

l(h,r,t)=∑(h′,r′,t′)∈t-[γ+e(h,r,t)-e(h′,r′,t′)]+;

e(h,r,t)=||h+r-t||;

其中[x]+=max{0,x}表示0和x中的最大值,

t-

{(h′,r,t)|h′∈e1ue2}∪{(h,r,t′)|t′∈t1ut2}∪{(h,r′,t)|r′∈r},(h,r,t)∈kg1∪kg2};

r(e1,e2)=σ(k(θ-e(e1,e2)));

e(p,r)=|(|p-r|)|=|(|p-(t-h)|)|=e(h,p,t);

其中,h函数表示将评价函数中的每一项中的实体替换成新对齐实体对中的对应的实体的函数,第一知识图谱kg1=(e1,r,t1),第二知识图谱kg2=(e2,r,t2),第三知识图谱kg=(e,r,t);其中,e、e1、e2表示分别属于和kg、kg1和kg2实体集、r表示kg、kg1和kg2中的关系集;t、t1和t2表示分别属于kg、kg1和kg2的三元组的集合;

e1∈e1,e2∈e2,e、h∈e1∪e2,r1、r2∈r,t∈t1∪t2,γ、θ、z为超参数。

可选的,所述迭代计算实体向量表示之间的相似度,包括:

通过随机梯度下降,最小化评价函数,对所有参数进行学习与更新。

第二方面,本发明提供一种。计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上任一所述方法的步骤。

第三方面,本发明提供一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上执行的计算机程序,所述处理器执行所述程序时实现如上任一所述方法的步骤。

由上述技术方案可知,与现有技术相比,本发明提出了一种基于联合知识表示的迭代实体对齐模型,不但可以使用好有标注的对齐种子,还可以利用在算法中自我标注的新对齐实体对,提高模型的效果,具有良好的实用性。

前面是提供对本发明一些方面的理解的简要发明内容。这个部分既不是本发明及其各种实施例的详尽表述也不是穷举的表述。它既不用于识别本发明的重要或关键特征也不限定本发明的范围,而是以一种简化形式给出本发明的所选原理,作为对下面给出的更具体的描述的简介。应当理解,单独地或者组合地利用上面阐述或下面具体描述的一个或多个特征,本发明的其它实施例也是可能的。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的一个实施例中执行方法的流程示意图。

具体实施方式

下面将结合示例性的通信系统描述本发明。

实体对齐的任务可以被定义为对于两个给定的知识图谱kg1和kg2。kgi=(ei,ri,ti)其中ei,ri,ti分别表示知识图谱中实体、关系、三元组的集合(由于关系的个数往往很少,在后面的讨论中,我们认为关系已经被对齐了,我们不再区分r1,r2统一使用r)。我们已知一些由来自两个不同知识图谱中的实体组成的同义实体对即根据对齐种子实体对集合,e1,e2是已对齐的种子实体对,e1,e2是分别在kg1和kg2中含义是相同的,为了对齐kg1和kg2中的除了种子实体对集合中的实体,本发明公开一种实体对齐方法,参见图1,包括步骤:

分别获得第一知识图谱kg1中实体的向量表示和第二知识图谱kg2中实体的向量表示;

s101、根据输入的对齐种子实体对集合,绑定第一知识图谱kg1和第二知识图谱kg2中表示相同含义的实体向量表示,获得第三知识图谱;

s102、根据第三知识图谱、第一知识图谱kg1中实体的向量表示和第二知识图谱中实体的向量表示,迭代计算实体向量表示之间的相似度;在迭代计算过程中,若某一对实体向量表示的距离小于阈值,则将该对实体向量表示对应的实体对加入第三知识图谱,直至第三知识图谱kg3的实体个数不再增加。

上述第三知识图谱kg的实体个数不再增加,也即计算获得的实体对个数几乎不再增加。

在本发明的一个实施例中,所述迭代计算实体向量表示之间的相似度,包括:

训练第一知识图谱kg1与第二知识图谱kg2之间的映射关系,直到评价函数l的值最小;其中:

l=k+i;

kt=∑(h,r,t)∈rl(h,r,t);

l(h,r,t)=∑(h′,r′,t′)∈t-[γ+e(h,r,t)-e(h′,r′,t′)]+;

e(h,r,t)=||h+r-t||;

其中[x]+=max{0,x}表示0和x中的最大值,

t-

{(h′,r,t)|h′∈e1ue2}∪{(h,r,t′)|t′∈t1ut2}∪{(h,r′,t)|r′∈r},(h,r,t)∈kg1∪kg2};

r(e1,e2)=σ(k(θ-e(e1,e2)));

e(p,r)=|(|p-r|)|=|(|p-(t-h)|)|=e(h,p,t);

其中,h函数表示将评价函数中的每一项中的实体替换成新对齐实体对中的对应的实体的函数,第一知识图谱kg1=(e1,r,t1),第二知识图谱kg2=(e2,r,t2),第三知识图谱kg=(e,r,t);其中,e、e1、e2表示分别属于和kg、kg1和kg2实体集、r表示kg、kg1和kg2中的关系集;t、t1和t2表示分别属于kg、kg1和kg2的三元组的集合;e1∈e1,e2∈e2,e、h∈e1∪e2,r1、r2∈r,t∈t1∪t2,γ、θ、z为超参数。

上述三元组(h,r,t)∈t1∪t2,e(h,r,t)=||h+r-t||.,在知识图谱中,知识除了存在于三元组中,还广泛存在于三元组之间的关系路径中。例如,(e1,r1,e2)和(e2,r2,e3)可能揭示了一个新的知识这个里面的是一个由这两个关系组成的函数。

我们定义关系路径为并定义两个实体之间的路径集合为

如果一个关系路径和一个关系的作用相同,也即p∈p(h,t)和(h,r,t)∈t。我们定义这个路径的向量表示为我们可以定义能量方程为

e(p,r)=||p-r||=||p-(t-h)||=e(h,p,t)。

于是我们就可以定义整体的评价函数

这里的l(p,r)是一个基于间隔的损失函数。

对于每一个实体寻找一个和它距离最近的实体,如果两者的嵌入表示的距离小于某一个阈值则通过距离计算两者的相似度

在训练一定次数之后,我们对于每一个实体寻找一个和它距离最近的实体,并加入新对齐实体对集合。对于每一对实体对(e1,e2),我们定义一个映射r→[0,1]来计算可靠性函数

r(e1,e2)=σ(k(θ-e(e1,e2))),

这里的σ(·)是s函数(例如),k是一个超参数。我们可以形式化这一部分的评价函数为

这里的h函数表示将评价函数中的每一项中的实体替换成新对齐实体对中的对应的实体的函数。

通过随机梯度下降,最小化评价函数,对所有参数进行学习与更新。

具体地,我们通过最小化评价函数学习所有的参数。评价函数公式如下:

l=k+i

与现有技术相比,本发明提出了一种基于联合知识表示的迭代实体对齐模型。这种技术使用了表示学习的方法,具有更快的速度和准确度以及鲁棒性。更多地,本发明不但可以使用好有标注的对齐种子,还可以在算法中利用好自我标注的新对齐实体对,以提高模型的效果,具有良好的实用性。

本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上任一所述方法的步骤。

本发明还提供一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上执行的计算机程序,所述处理器执行所述程序时实现如上任一所述方法的步骤。

本文中使用的“至少一个”、“一个或多个”以及“和/或”是开放式的表述,在使用时可以是联合的和分离的。例如,“a、b和c中的至少一个”,“a、b或c中的至少一个”,“a、b和c中的一个或多个”以及“a、b或c中的一个或多个”指仅有a、仅有b、仅有c、a和b一起、a和c一起、b和c一起或a、b和c一起。

术语“一个”实体是指一个或多个所述实体。由此术语“一个”、“一个或多个”和“至少一个”在本文中是可以互换使用的。还应注意到术语“包括”、“包含”和“具有”也是可以互换使用的。

本文中使用的术语“自动的”及其变型是指在执行处理或操作时没有实质的人为输入的情况下完成的任何处理或操作。然而,即使在执行处理或操作时使用了执行所述处理或操作前接收到的实质的或非实质的人为输入,所述处理或操作也可以是自动的。如果输入影响所述处理或操作将怎样进行,则视该人为输入是实质的。不影响所述处理或操作进行的人为输入不视为是实质的。

本文中使用的术语“计算机可读介质”是指参与将指令提供给处理器执行的任何有形存储设备和/或传输介质。计算机可读介质可以是在ip网络上的网络传输(如soap)中编码的串行指令集。这样的介质可以采取很多形式,包括但不限于非易失性介质、易失性介质和传输介质。非易失性介质包括例如nvram或者磁或光盘。易失性介质包括诸如主存储器的动态存储器(如ram)。计算机可读介质的常见形式包括例如软盘、柔性盘、硬盘、磁带或任何其它磁介质、磁光介质、cd-rom、任何其它光介质、穿孔卡、纸带、任何其它具有孔形图案的物理介质、ram、prom、eprom、flash-eprom、诸如存储卡的固态介质、任何其它存储芯片或磁带盒、后面描述的载波、或计算机可以读取的任何其它介质。电子邮件的数字文件附件或其它自含信息档案或档案集被认为是相当于有形存储介质的分发介质。当计算机可读介质被配置为数据库时,应该理解该数据库可以是任何类型的数据库,例如关系数据库、层级数据库、面向对象的数据库等等。相应地,认为本发明包括有形存储介质或分发介质和现有技术公知的等同物以及未来开发的介质,在这些介质中存储本发明的软件实施。

本文中使用的术语“确定”、“运算”和“计算”及其变型可以互换使用,并且包括任何类型的方法、处理、数学运算或技术。更具体地,这样的术语可以包括诸如bpel的解释规则或规则语言,其中逻辑不是硬编码的而是在可以被读、解释、编译和执行的规则文件中表示。

本文中使用的术语“模块”或“工具”是指任何已知的或以后发展的硬件、软件、固件、人工智能、模糊逻辑或能够执行与该元件相关的功能的硬件和软件的组合。另外,虽然用示例性实施方式来描述本发明,但应当理解本发明的各方面可以单独要求保护。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的要素。此外,在本文中,“大于”、“小于”、“超过”等理解为不包括本数;“以上”、“以下”、“以内”等理解为包括本数。

尽管已经对上述各实施例进行了描述,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改,所以以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1