当前位置: 首页 > 专利查询>浙江大学专利>正文

一种基于双代理增强学习路径搜索的知识表示学习方法技术

技术编号:24171315 阅读:26 留言:0更新日期:2020-05-16 03:03
本发明专利技术公开了一种基于双代理增强学习路径搜索的知识表示学习方法,包括以下步骤:(1)删除知识库中的冗余关系,预训练实体和关系的向量;(2)路径搜索器根据实体和关系的向量搜索知识库中每一个三元组的实体对之间的若干个多跳关系,在搜索过程中使用考虑状态和历史信息的关系代理和实体代理进行决策;(3)根据实体之间的多跳关系和搜索获得的多跳关系来学习实体和关系的向量,并使用注意力机制来衡量每个多跳关系的权重。该知识表示学习方法能够引入高质量的多跳关系。

【技术实现步骤摘要】
一种基于双代理增强学习路径搜索的知识表示学习方法
本专利技术涉及知识表示学习领域,尤其涉及一种基于双代理增强学习路径搜索的知识表示学习方法。
技术介绍
目前,包含大量结构化知识的知识库是许多应用的重要组成部分,例如知识推理、知识问答等。因此,近年来许多企业和组织构建了大型知识库,例如Freebase、DBpedia、YAGO等。知识库中的知识以三元组(头实体,关系,尾实体)的形式表示(可以简写为(h,r,t))。尽管现有的知识库已经包含了大量的知识,但仍然有很多实体间的关系缺失,因此知识库补全成为了一个研究热点。实现知识库补全,首先要对知识库进行建模。符号表示是一种知识库建模方法,其将知识库中的实体和关系视为符号。符号表示具有低计算效率和数据稀疏性的缺点,不能适应当今容量逐渐增大的知识库。知识表示也是一种知识库建模方法,其将知识库中的实体和关系嵌入到一个低维向量空间中,并将实体和关系的语义映射到对应的向量中,从而解决了低计算效率和数据稀疏性问题,能够应用于大型知识库。基于翻译的模型是一类典型的知识表示学习方法,其将一个三元组中的关系视为头实体和尾实体之间的翻译操作。当实体间的关系缺失时,可以通过尾实体的向量与头实体的向量的差计算出相应的关系向量,从而补全关系。现有的基于翻译的模型大多只考虑单跳关系,而没有考虑多跳关系,即实体间由多个关系构成的“关系路径”。一部分基于翻译的模型考虑了多跳关系,但存在以下的问题:(1)通过遍历的方式来获取多跳关系,非常耗时并且多跳关系的质量较低;(2)对每个多跳关系赋予的权重基于其静态特征,模型不能在训练过程中学习这些权重。近年来,涌现了一些将增强学习引入到知识库补全中的工作,通过构建增强学习模型来得到高质量的多跳关系。然而这些模型存在以下的问题:(1)在搜索多跳关系的过程中考虑的信息不够全面,仅考虑关系的选择而忽略了实体的选择;(2)奖励的设置过于简单,没有综合考虑各种因素。
技术实现思路
本专利技术要解决的技术问题是如何在知识表示学习过程中搜索并引入高质量的多跳关系。为解决上述问题,本专利技术提供了一种基于双代理增强学习路径搜索的知识表示学习方法,包括以下步骤:(1)删除知识库中的冗余关系,预训练实体和关系的向量;(2)路径搜索器根据实体和关系的向量搜索知识库中每一个三元组的实体对之间的若干个多跳关系,在搜索过程中使用考虑状态和历史信息的关系代理和实体代理进行决策;(3)根据实体之间的多跳关系和搜索获得的多跳关系来学习实体和关系的向量,并使用注意力机制来衡量每个多跳关系的权重。与现有技术相比,本专利技术具有的有益效果为:本专利技术与通过遍历来得到多跳关系的传统方法相比,路径搜索器搜索到的多跳关系质量更高,对多跳关系赋予的权重更合理;与现有基于增强学习的方法相比,使用两个代理进行决策,可以更全面地利用状态和信息,并且模型中奖励的设置更加合理。本专利技术主要应用于知识库补全。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。图1为本专利技术实施例提供的一种基于双代理增强学习路径搜索的知识表示学习方法的整体流程图;图2为本专利技术实施例提供的数据预处理流程图;图3为本专利技术实施例提供的路径搜索流程图;图4为本专利技术实施例提供的知识表示学习流程图。具体实施方式为使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本专利技术进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本专利技术,并不限定本专利技术的保护范围。图1为本专利技术实施例提供的一种基于双代理增强学习路径搜索的知识表示学习方法的整体流程图。参加图1,实施例提供的基于双代理增强学习路径搜索的知识表示学习方法包括数据预处理、路径搜索和知识表示学习三阶段。数据预处理阶段数据预处理阶段主要删除知识库中的冗余关系,预训练实体和关系向量,如图2所示,具体流程如下:步骤1-1:输入知识库KB,删除冗余关系。知识库KB中的知识以三元组(h,r,t)的形式表示,其中h表示头实体,r代表关系,t代表尾实体。h和t属于实体集合E,r属于关系集合R,三元组(h,r,t)反映了实体h和t之间存在关系r,删除知识库KB中的冗余关系,得到处理后的知识库。步骤1-2:使用一种现有的基于翻译的模型(例如TransE)预训练知识库KB中实体和关系的向量。路径搜索器需要利用实体和关系的向量,因此使用基于翻译的模型对知识库KB中实体和关系的向量进行预训练。以TransE为例:TransE为知识库中每一个实体和关系学习一个向量,在一个三元组(h,r,t)中,头实体h、关系r、尾实体t相应的向量h,r和t之间应该满足:h+r=t(1)以此为目标来学习实体和关系的向量。路径搜索阶段路径搜索阶段主要实现根据实体和关系的向量搜索知识库中每一个三元组的实体对之间的若干个多跳关系,并将最终到达尾实体的多跳关系传递给知识表示学习阶段,如图3所示,具体流程如下:步骤2-1:将知识库KB中的三元组分成若干批。本专利技术采用批处理的方式训练路径搜索器。根据预定定义的批大小,将KB中的三元组随机分成若干批。步骤2-2:取其中一批,通过路径搜索器搜索该批中的每个三元组的实体对之间的多跳关系。路径搜索器包含关系代理和实体代理,从给定三元组的头实体出发,关系代理计算出当前实体包含的所有关系的概率分布,并选择一个关系;实体代理计算出当前实体和选择的关系对应的所有尾实体的概率分布,并选择一个实体。该过程直到到达给定三元组的尾实体或者到达最大步数。路径搜索器基于增强学习模型,由两个代理组成,称为关系代理和实体代理。搜索(h,r,t)中(h,t)之间的多跳关系的过程如下:从头实体h出发,在第t步时,关系代理从当前实体et包含所有的关系中选择一个关系rt,实体代理从et和rt对应的所有尾实体中选择一个实体,该过程直到到达尾实体t或者步数达到预定的最大步数。路径搜索器的环境可以视为一个马尔科夫决策过程,用四元组(S,A,T,R)表示,其中S表示状态集,A表示动作集,T表示转移,R表示奖励。在第t步时,关系代理的状态表示为Srel,t=(et,r,t),其中et是当前实体et的向量表示,r是三元组中关系r的向量表示,t三元组中尾实体t的向量表示;实体代理的状态表示为Sent,t=(et,r,t,rt),rt是关系代理选择的关系rt的向量表示。在第t步时,关系代理的动作集是当前实体et包含的所有关系,表示为Arel,t={r|(et,r,e)∈KB};实体代理的动作集是当前实体et和关系代理选择的关本文档来自技高网
...

【技术保护点】
1.一种基于双代理增强学习路径搜索的知识表示学习方法,包括以下步骤:/n(1)删除知识库中的冗余关系,预训练实体和关系的向量;/n(2)路径搜索器根据实体和关系的向量搜索知识库中每一个三元组的实体对之间的若干个多跳关系,在搜索过程中使用考虑状态和历史信息的关系代理和实体代理进行决策;/n(3)根据实体之间的多跳关系和搜索获得的多跳关系来学习实体和关系的向量,并使用注意力机制来衡量每个多跳关系的权重。/n

【技术特征摘要】
1.一种基于双代理增强学习路径搜索的知识表示学习方法,包括以下步骤:
(1)删除知识库中的冗余关系,预训练实体和关系的向量;
(2)路径搜索器根据实体和关系的向量搜索知识库中每一个三元组的实体对之间的若干个多跳关系,在搜索过程中使用考虑状态和历史信息的关系代理和实体代理进行决策;
(3)根据实体之间的多跳关系和搜索获得的多跳关系来学习实体和关系的向量,并使用注意力机制来衡量每个多跳关系的权重。


2.如权利要求1所述的基于双代理增强学习路径搜索的知识表示学习方法,其特征在于,步骤(1)中,采用基于翻译的模型预训练知识库中实体和关系的向量,在一个三元组(h,r,t)中,头实体h、关系r、尾实体t相应的向量h,r和t之间应该满足:
h+r=t
以此为目标来学习实体和关系的向量。


3.如权利要求1所述的基于双代理增强学习路径搜索的知识表示学习方法,其特征在于,步骤(2)中,路径搜索器基于增强学习模型,由两个代理组成,称为关系代理和实体代理,搜索(h,r,t)中(h,t)之间的多跳关系的过程如下:从头实体h出发,在第t步时,关系代理从当前实体et包含所有的关系中选择一个关系rt,实体代理从et和rt对应的所有尾实体中选择一个实体,该过程直到到达尾实体t或者步数达到预定的最大步数。


4.如权利要求3所述的基于双代理增强学习路径搜索的知识表示学习方法,其特征在于,路径搜索器的环境视为一个马尔科夫决策过程,用四元组(S,A,T,R)表示,其中S表示状态集,A表示动作集,T表示转移,R表示奖励。
在第t步时,关系代理的状态表示为Srel,t=(et,r,t),其中et是当前实体et的向量表示,r是三元组中关系r的向量表示,t三元组中尾实体t的向量表示;实体代理的状态表示为Sent,t=(et,r,t,rt),rt是关系代理选择的关系rt的向量表示。
在第t步时,关系代理的动作集是当前实体et包含的所有关系,表示为Arel,t={r|(et,r,e)∈KB};实体代理的动作集是当前实体et和关系代理选择的关系rt对应的所有尾实体,表示为Aent,t={e|(et,rt,e)∈KB};
在第t步时,关系代理的状态从(et,r,t)变为(et+1,r,t),关系代理的转移表示为Trel((et,r,t),rt)=(et+1,r,t);实体代理的状态从(et,r,t,rt)变为(et+1,r,t,rt+1),实体代理的转移表示为Tent((et,r,t,rt),et+1)=(et+1,r,t,rt+1);
一个多跳关系p=(r1,r2,...,rn)的奖励由整体精度和路径权重两部分组成,其中整体精度Rg(p)表示为:



路径权重Rw(p)表示为:



其中W是权重矩阵,p是多跳关系p的向量表示:



则多跳关系p的总奖励表示为:
R(p)=Rg(p)+Rw(p)(5)


5.如权利要求4所述的基于双代理增强学习路径搜索的知识表示学习方法,其特征在于,关系代理和实体代理均通过决策网络来计算执行每个动作的概率分布,决策网络的输入包含历史信息和状态两部分,在第t步时的历史信息用向量dt来表示...

【专利技术属性】
技术研发人员:陈岭崔军
申请(专利权)人:浙江大学
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1