本发明涉及计算机领域,具体而言,涉及一种知识图谱中的实体对齐方法及装置。
背景技术:
在构建大规模知识库的任务中,需要处理大量来自多源知识库的实体数据。在构建知识库之初,首先需建立一个知识描述体系,然后向体系中挂载实体数据.由于不同知识库的信息来源不同,以及人工定义及校对的差异,语义上相同的实体在不同的知识库中会有不同的表现形式。具有相同条目名称的实体也许表示着语义上的同一事物,也许表示着两种事物。
在现有的实际运作过程中,主要通过两种方法进行实体融合:
1)传统实体对齐
传统的实体对齐方法主要通过属性相似度匹配的方式实现,利用有监督学习的机器学习模型,如:决策树、支持向量机、集成学习等。依赖实体的属性信息,通过属性相似度,进行跨平台实体对齐关系的推断。由于属性的类别不同,需要设计不同的属性相似度计算函数,且不同的领域需要设计不同的属性相似度函数。但是该对齐方式,存在以下缺点:a)耗费人力;b)难以在多领域间迁移;c)由于属性的表达是离散的,这种计算方式忽略了属性的语义相似度,限制了实体对齐的效果。
2)基于知识表示学习
通过将知识图谱中的实体和关系都映射低维空间向量,直接用数学表达式来计算各个实体之间相似度,例如transe方法等。
知识表示学习是使用建模的方法,将知识图谱中的实体和关系表示成为低维的向量,然后对其进行计算和推理。transe是最早的知识表示学习模型。它将每个三元组关系(h,r,t)表示成从头实体h到尾实体r的向量。transe希望三元组尾实体t应该尽量接近于头实体h与关系r的和,即h+r=t.transe定义损失函数:‖h+r-t‖l1/l2,并在模型中使用随机梯度下降的方法对参数进行更新。传统训练知识库中三元组建模的方法参数过多,导致模型太复杂难以解释,并且需要很大的计算代价,很容易出现过拟合或欠拟合问题。而transe作为一种将实体与关系嵌入到低维向量空间中的简单模型,弥补了传统方法训练复杂、参数过多的缺点。虽然transe模型在大规模数据集上取得了很好的效果,但其只能针对一对一关系进行计算,而无法对一对多、多对一、多对多的复杂关系进行计算。因此,出现了很多对transe进行改进的模型,如transh、transr、transsparce、transa、htransa、ptranse等。与transe模型相比,这些新的trans系列模型能够计算知识库中更加复杂的实体关系建模,如一对多、多对一、多对多的关系。如transh、transr和transsparce模型都是将头实体h和尾实体t投射到另一个超平面上;transa和htransa则使用局部特征自适应的方式得到最优损失函数,无须事先指定参数的封闭候选值集合;ptranse是一种基于路径分布表示的方法,将实体、关系以及路径都在低维的向量空间中表示。
上述实体对齐关系推断方法均为单网络关系推断算法,近年来开始有基于知识表示学习的跨网络关系推断算法。但是,如果将知识表示学习算法直接应用到实体对齐任务中,采用多网络联合表示学习,并不能取得令人满意的效果。因为实体对齐是一种特殊的跨网络关系,需要分析并依据实体对齐关系的特点,设计面向实体对齐的联合表示学习模型。因此,目前已经有方法采用知识表示学习的方法进行实体对齐工作,并取得了较好的效果,如cross-kg和seea。其中cross-kg首次提出对两个知识图谱进行联合学习,这样能够利用两个数据源的互补信息进行关系推断。但该方式,存在以下缺点:a)仅仅通过知识表示学习建模语义信息,忽略了知识图谱的结构化属性信息;b)基于知识表示学习的方法依赖大量标注数据;c)未利用知识图谱中属性等结构化信息,限制了实体对齐的效果。
针对相关技术中的上述问题,目前尚未存在有效的解决方案。
技术实现要素:
本发明实施例提供了一种知识图谱中的实体对齐方法及装置,以至少解决相关技术中基于知识表示学习的方法依赖大量标注数据实体对齐不佳的问题。
根据本发明的一个实施例,提供了一种知识图谱中的实体对齐方法,包括:从多个平台中获取多个实体作为实体训练集;根据与所述实体训练集中各个实体相关的可用信息生成用于进行协同训练的特征,其中,所述特征用于指示多个实体中同一类可用信息之间的相似度;根据所述特征对基于协同训练的模型进行训练,并根据训练得到的模型判别待处理的实体对是否同义。
根据本发明的另一个实施例,提供了一种知识图谱中的实体对齐装置,包括:获取模块,用于从多个平台中获取多个实体作为实体训练集;生成模块,用于根据与所述实体训练集中各个实体相关的可用信息生成用于进行协同训练的特征,其中,所述特征用于指示多个实体中同一类可用信息之间的相似度;对齐模块,用于根据所述特征对基于协同训练的模型进行训练,并根据训练得到的模型判别待处理的实体对是否同义。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,从多个平台中获取多个实体作为实体训练集,并根据与所述实体训练集中各个实体相关的可用信息生成用于进行协同训练的特征,其中,所述特征用于指示多个实体中同一类可用信息之间的相似度,进而根据所述特征对基于协同训练的模型进行训练,并根据训练得到的模型判别待处理的实体对是否同义,实现了挖掘不同结构化知识库中实体间的连接关系,以面向知识库内部实体间的语义消歧,解决了相关技术中基于知识表示学习的方法依赖大量标注数据实体对齐不佳的问题,提高了实体对齐的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种知识图谱中的实体对齐方法的终端的硬件结构框图;
图2是根据本发明实施例的知识图谱中的实体对齐方法的流程图;
图3是根据本发明实施例的知识图谱中的实体对齐装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
首先对本申请中涉及到的术语进行解释;
知识图谱,知识图谱是由以下方式构成的三元组:kg=(e,r,f),其中e={e1,e2,…,ene}代表实体集合,包括实例及其属性的取值;r={r1,r2,…,rnr}代表二元关系集合,用来描述实体与实体间的关系;代表事实三元组集合。
知识图谱实体对齐:给定两个知识图谱kg1,kg2,分别找出知识图谱kg1(或kg2)中的能对齐到kg2(或kg1)中的所有实体。即:alignentity(kg1,kg2)={(e,e′)|e∈e1,e′∈e2}。
半监督协同训练的实体对齐方法框架:半监督学习算法主要包含模型训练和训练样本,更新这2个关键部分。
其中,训练过程为训练:集中的每个标注实体对生成特征,用于模型的学习;样本更新过程中,利用学习得到的模型预测未标注实体对是否同义,并将分类置信度高的实体对及其预测标签加入到训练集中。半监督学习迭代地执行这2个过程直到满足停止条件,如达到最大迭代次数或未标注数据集为空。
协同训练是半监督方法的一种,其核心思想是:在模型的训练阶段将特征空间划分为相对独立的2部分(视图),并分别在2个视图上训练分类模型;在样本更新过程中,分别将每个模型分类结果中置信度高的样本加入到另一个模型的训练样本集。
实施例1
本申请实施例一所提供的方法实施例可以在终端、计算机终端或者类似的运算装置中执行。以运行在终端上为例,图1是本发明实施例的一种知识图谱中的实体对齐方法的终端的硬件结构框图。如图1所示,终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,可选地,上述终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述终端的结构造成限定。例如,终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的知识图谱中的实体对齐方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括终端10的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(networkinterfacecontroller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(radiofrequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种运行于上述终端的知识图谱中的实体对齐方法,图2是根据本发明实施例的知识图谱中的实体对齐方法的流程图,如图2所示,该流程包括如下步骤:
步骤s202,从多个平台中获取多个实体作为实体训练集;
步骤s204,根据与所述实体训练集中各个实体相关的可用信息生成用于进行协同训练的特征,其中,所述特征用于指示多个实体中同一类可用信息之间的相似度;
步骤s206,根据所述特征对基于协同训练的模型进行训练,并根据训练得到的模型判别待处理的实体对是否同义。
通过上述步骤s202至步骤s206,从多个平台中获取多个实体作为实体训练集,并根据与所述实体训练集中各个实体相关的可用信息生成用于进行协同训练的特征,其中,所述特征用于指示多个实体中同一类可用信息之间的相似度,进而根据所述特征对基于协同训练的模型进行训练,并根据训练得到的模型判别待处理的实体对是否同义,实现了挖掘不同结构化知识库中实体间的连接关系,以面向知识库内部实体间的语义消歧,解决了相关技术中基于知识表示学习的方法依赖大量标注数据实体对齐不佳的问题,提高了实体对齐的效果。
可选地,本实施例中的步骤s202中涉及到的从多个平台中获取多个实体作为实体训练集的方式,包括:
步骤s202-11,对多个平台的多个实体的可用信息进行提取,其中,所述可用信息至少包括以下之一:实体名、实体所包含的文本、关键离散值、实体属性;
步骤s202-12,将提取过可用信息的实体作为所述实体训练集中的实体。
可选地,本实施例的中步骤s204中涉及到的根据与所述实体训练集中各个实体相关的可用信息生成用于进行协同训练的特征的方式包括:
步骤s204-11,确定多个实体的所述实体名之间的相似度;或,确定多个实体的实体所包含的文本中的标题、正文以及属性组合之后每种组合中2段文本之间的相似度;或,确定多个实体的关键离散值集合中2关键离散值之间的相似度;或,确定多个实体的属性提取2维特征,并确定2实体属性的相似度;
步骤s204-12,将所述相似度作为用于进行协同训练的特征。
可选地,本实施例中步骤s206中涉及到的额根据所述特征对基于协同训练的模型进行训练的方式,可以包括:
步骤s206-11,将所述特征分为文本视图和关键离散值视图,其中,实体名和实体所包含的文本的划分到所述文本视图中;属性与关键离散值划分到所述关键离散值视图中;
步骤s206-12,基于文本视图和关键离散值视图对基于协同训练的模型进行训练。
需要说明的是,本实施例中的模型可选为二分类器。
下面结合本实施例的可选实施方式对本申请进行举例说明;
本文提出了一种基于半监督协同训练的实体对齐方法,将实体对齐建模为一个带约束的二分类问题,充分利用实体名、属性、博客文字内容及其中的时间、数值等关键信息,组合生成多维特征;将特征划分为2个相对独立的视图,通过2个视图上分类器的协同训练,迭代地从未标注数据中学习同义实体的分布情况。
为了实现上述目的,本可选实施方式的方法步骤:
步骤s11,对2个平台进行数据预处理,包括实体信息抽取、属性值规范化、文本中时间值与数值的抽取与规范化等。
步骤s12,基于倒排索引生成同义实体候选集。
步骤s13,综合利用各类型信息为候选实体对生成特征表示。
步骤s14,训练基于协同训练的二分类器并使用学习到的模型判别候选实体对是否同义。
对于上述步骤s11至步骤s14具体实施方式按照如下步骤依次进行:
1.数据预处理
1)特征抽取
以实体为微博账户为例,在微博账户数据中,每个微博用户通常代表一个实体,因此实体的可用信息主要包括实体名称、属性、微博文章文本以及各部分的时间值、数值、超链接等关键离散值。
其中,实体名称是实体的重要标识符,仅仅通过名称的匹配可以获得较高的基准结果,但无法很好地解决名称中的同义与多义问题。属性是实体的部分基本信息的结构化描述,通常可从微博账户信息中抽取。微博文章文本是对实体的具体说明,通常包括标题和正文2部分。最后,各文本中出现的时间、数值以及超链接等在识别实体是否同义时具有较高的区分度,称之关键离散值,可以通过正则匹配方法完成时间值与数值的抽取,并进行时间表述以及数值单位的规范化。
2)特征工程
从实体名、微博文本、关键离散值和属性等4类信息中生成特征,用于后续的模型训练。
与实体名相关的特征共2维,包括:候选实体对的名称是否严格匹配,以及名称间的相似性;其中,可以使用编辑距离计算相似性。
每一个实体的博客文本包括:标题、正文以及属性文本3类,对这3类文本进行完全组合并计算每种组合中2段文本的相似性,得到9维特征。其中的相似度采用传统的余弦相似度进行计算。
关键离散值来源于不同的描述文本,因而对于每种类型的关键值,也需要基于各部分内容的组合生成特征,于每部分文本中的离散值构成集合,故计算2关键离散值集合,s1和s2之间的相似性作为一个特征。
最后,从结构化属性中提取2维特征,分别度量2实体的属性相似性和不相似性作为一个特征。
2.学习过程
1)特征空间的视图划分
将所提取的特征分为文本视图和关键离散值视图,其中实体名和描述文本方面的特征在形式和计算方法上属于文本范畴,将这2部分特征划分到文本视图;属性与关键离散值的特征则被统一划分到关键离散值视图中。
2)协同训练过程
给定2个待对齐的知识库d1和d2,以及标注实体对集合l={〈ei,ej〉,label|ei∈d1,ej∈d2,label∈{0,1}},以及未标注实体对u={〈ei,ej〉|ei∈d1,ej∈ec},其中,ec为ei在d2中的候选同义实体集合,可利用倒排索引通过检索获得,则基于协同训练的实体对齐方法如下所示。
基于协同训练的实体对齐算法:
输入:u,l,最大迭代次数nmax,迭代中每次向训练集中添加的正样本数npos,添加的正负样本比r
输出:二分类器f1(文本视图上),二分类器f2(关键离散值视图上)初始化:训练集l1=l,l2=l,迭代次数niter=0;
1)用训练集l1在文本视图上训练分类器f1,用训练集l2在关键离散值视图上训练分类器f2。
2)利用f1,f2分别对u中的实体对进行分类。
3)取u中f1,f2分类标签一致的实体对构成集合s,从s中选择f1(f2)分类置信度最高的npos个正样本及置信度最高的npos/r个负样本添加到l2(l1)中,并将所选样本从u中去除。
4)niter=niter+1,若niter<nmax且u非空,则迭代1-3,否则停止迭代。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中还提供了一种知识图谱中的实体对齐装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本发明实施例的知识图谱中的实体对齐装置的结构框图,如图3所示,该装置包括:获取模块32,用于从多个平台中获取多个实体作为实体训练集;生成模块34,用于根据与实体训练集中各个实体相关的可用信息生成用于进行协同训练的特征,其中,特征用于指示多个实体中同一类可用信息之间的相似度;对齐模块36,用于根据特征对基于协同训练的模型进行训练,并根据训练得到的模型判别待处理的实体对是否同义。
可选地,本实施例中的获取模块32还可以包括:提取单元,用于对多个平台的多个实体的可用信息进行提取,其中,可用信息至少包括以下之一:实体名、实体所包含的文本、关键离散值、实体属性;第一处理单元,用于将提取过可用信息的实体作为实体训练集中的实体。
可选地,本实施例中的生成模块34包括:确定单元,用于确定多个实体的实体名之间的相似度;或,确定多个实体的实体所包含的文本中的标题、正文以及属性组合之后每种组合中2段文本之间的相似度;或,确定多个实体的关键离散值集合中2关键离散值之间的相似度;或,确定多个实体的属性提取2维特征,并确定2实体属性的相似度;第二处理单元,用于将相似度作为用于进行协同训练的特征。
可选地,本实施例中的对齐模块36包括:划分单元,用于将特征分为文本视图和关键离散值视图,其中,实体名和实体所包含的文本的划分到文本视图中;属性与关键离散值划分到关键离散值视图中;训练单元,用于基于文本视图和关键离散值视图对基于协同训练的模型进行训练。
可选地,本实施例中的模型为二分类器。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
s1,从多个平台中获取多个实体作为实体训练集;
s2,根据与所述实体训练集中各个实体相关的可用信息生成用于进行协同训练的特征,其中,所述特征用于指示多个实体中同一类可用信息之间的相似度;
s3,根据所述特征对基于协同训练的模型进行训练,并根据训练得到的模型判别待处理的实体对是否同义。
可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
s1,从多个平台中获取多个实体作为实体训练集;
s2,根据与所述实体训练集中各个实体相关的可用信息生成用于进行协同训练的特征,其中,所述特征用于指示多个实体中同一类可用信息之间的相似度;
s3,根据所述特征对基于协同训练的模型进行训练,并根据训练得到的模型判别待处理的实体对是否同义。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。