一种结合背景知识的远程监督关系抽取方法与流程

文档序号:17442582发布日期:2019-04-17 04:58阅读:204来源:国知局
一种结合背景知识的远程监督关系抽取方法与流程

本申请涉及自然语言处理技术领域,尤其涉及一种结合背景知识的远程监督关系抽取方法。



背景技术:

信息抽取是自然语言处理中的重要研究领域,其任务是在大规模非结构或半结构的自然语言文本中抽取结构化信息,而关系抽取是其中的重要子任务之一。关系抽取的目的是从文本中抽取实体之间的语义关系,例如,句子“billgatesisthefounderofmicrosoftinc.”中包含一个实体对(billgates,mircrosoft),关系抽取的任务是要识别出这个实体对之间具有“founder”这一关系。

有监督的学习方法将关系抽取当作分类问题,需要大量人工标注的训练语料,而人工标注语料工作非常耗时耗力。针对这个问题,基于远程监督的关系抽取方法可以利用知识库中已经存在的三元组来对齐文本语料,能够自动获得带标注的数据集。远程监督假设如果两个实体同时出现在一个句子中,那么这个句子就在某种程度上表达了实体之间的关系。基于这个假设,可以利用知识库中已经包含的三元组对齐文本语料自动标注大规模的训练数据。

但是,远程监督的关系抽取方法仅仅利用知识库来标注数据,当利用标注好的数据集训练分类模型和预测关系时都忽略了知识库中蕴含的背景知识。



技术实现要素:

有鉴于此,本发明提供了一种结合背景知识的远程监督关系抽取方法,从而可以缓解远程监督中的错误标注问题,提高关系预测的准确性。

本发明的技术方案具体是这样实现的:

一种结合背景知识的远程监督关系抽取方法,该方法包括:

对于训练数据集中的每一个包,通过句子编码器得到包中的每个句子的向量表示;

利用知识库中的实体表示构建句子层级的注意力机制,为每个句子分配注意力权重,并基于各个句子的注意力权重得到每个包的唯一语义向量;

利用知识库中的关系向量对包的语义向量进行关系检索;

根据统一的目标函数训练整个关系抽取器。

较佳的,所述通过句子编码器得到包中的每个句子的向量表示包括如下步骤:

将句子中的每个词分别转换为对应的词向量;

构建一个包括句子中的所有词的词向量的词序列矩阵,通过卷积层对词序列矩阵进行卷积操作,从词序列矩阵中提取句子特征,得到句子的特征向量;

通过池化层对句子的特征向量进行最大池化操作,得到句子的唯一向量表示。

较佳的,通过如下的公式得到句子的特征向量:

其中,cij为句子的特征向量,i和j表示词序列矩阵的第一个词和最后一个词在句子中的位置,1≤i≤n,1≤j≤|s|-l+1,l为滑动窗口的长度,wi为卷积的权重矩阵,s为句子。

较佳的,所述最大池化操作为分段最大池化操作;

所述分段最大池化操作包括:

将句子根据其所包含的头尾实体分为三段,并对每段分别进行最大池化操作;

拼接所有的分段向量来构建最大池化层的输出向量;

根据最大池化层的输出向量计算得到句子的唯一向量表示。

较佳的,所述为每个句子分配注意力权重,并基于各个句子的注意力权重得到每个包的唯一语义向量包括:

计算来自知识库的知识关系表示;

计算蕴含在句子中的文本关系向量;

计算知识关系表示和文本关系向量的生成概率;

基于知识关系表示和文本关系向量的唯一的关系以及生成概率,得到一个关系对齐向量;

利用得分函数计算每一个句子向量与关系对齐向量的相似性,并根据相似性为每一个句子计算对应的注意力权重;

根据包中每个句子的语义向量和对应的注意力权重,计算得到包的语义向量。

较佳的,通过如下的公式来计算蕴含在句子中的文本关系向量:

其中,ct为文本关系向量,q为一个包中的句子的数量,si为包中的第i个句子对应的语义向量,为转换矩阵。

较佳的,生成概率函数为:

pgen=δ(lawgct+bg);

其中,pgen为生成概率函数,pgen∈[0,1],δ(·)为sigmod函数,la为头实体和尾实体之间的抽象的知识关系表示,为中间矩阵,bg为偏置值。

较佳的,通过如下的公式来计算关系对齐向量:

其中,valign为关系对齐向量,为文本关系向量ct的转置矩阵;

通过如下的公式来计算句子对应的注意力权重:

其中,

其中,αi为第i个句子对应的注意力权重,1≤i≤q,ei为相似性,为中间矩阵,ba为偏置值,为si的转置;

通过如下的公式来计算包的语义向量:

其中,b为包的语义向量。

较佳的,对于包b和第i个关系ri的相似度计算公式为:

其中,r(b,ri)为包b和第i个关系ri的相似度,0≤i≤u,为关系ri经过transe模型学习到的关系向量,为中间矩阵,bt为b的转置。

较佳的,通过如下的公式来计算关系ri的条件概率p:

其中,γ为softmax函数中的平滑因子,根据经验值预先设定;θ表示整个神经网络模型中的所有参数;

通过如下的公式来计算目标函数:

其中,j(θ)为目标函数。

如上可见,在本发明中的结合背景知识的远程监督关系抽取方法中,先利用句子编码器得到包中的每个句子的向量表示;然后利用知识库中的实体表示构建句子层级的注意力机制,为每个句子分配注意力权重,得到每个包的唯一语义向量;随后再利用知识库中的关系向量对包向量进行关系检索;最后,根据统一的目标函数训练整个关系抽取器。通过上述的方法,可以先将知识库中的实体和关系表示为低维稠密的语义向量,然后将知识向量引入到远程监督关系抽取模型中,因此可以将知识库的背景知识作用于远程监督关系抽取,利用知识库中的实体向量预先得到实体对之间的抽象关系表示,用于识别训练数据集中的有效句子和无效句子,从而缓解远程监督中的错误标注问题;并可以利用知识库中的关系向量将远程监督关系抽取当作检索问题来处理,进一步提高关系预测的准确性。

附图说明

图1为本发明实施例中的结合背景知识的远程监督关系抽取方法的流程图。

图2为本发明实施例中的基于分段卷积神经网络的句子编码器的示意图。

图3为本发明实施例中的远程监督关系抽取模型的精确度/召回率曲线的示意图。

具体实施方式

为使本发明的技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本发明作进一步详细的说明。

背景知识在自然语言理解中的重要性早已得到认可。早期自然语言处理系统主要利用有限的语言知识作为背景知识,例如,人工编码的形态和句法模式。随着大规模知识库的构建,例如freebase、dbpedia和yago等知识库中包含了大量结构化的语义知识。

因此,在本发明的技术方案中,提出了一种结合背景知识的远程监督关系抽取方法。

图1为本发明实施例中的结合背景知识的远程监督关系抽取方法的流程图。如图1所示,本发明实施例中的结合背景知识的远程监督关系抽取方法包括如下所述步骤:

步骤11,对于训练数据集中的每一个包,通过句子编码器得到包中的每个句子的向量表示。

在本发明的技术方案中,基于远程监督的假设,在训练数据集中,来自于同一个三元组(h,r,t)的句子将构成一个包(bag),包的标签为r。可以假设训练数据集中包含n个包:{b1,b2,…,bn},远程监督关系抽取任务的目标是要基于训练数据集学习得到一个关系抽取器,用于预测新的关系。

因此,在本步骤中,对于训练数据集中的每一个包,可以首先通过句子编码器得到该包中的每个句子的向量表示。

另外,较佳的,在本发明的一个具体实施例中,对于包中的任意一个句子,所述句子编码器通过分段卷积神经网络(pcnn,piecewiseconvolutionalneuralnetworks)来学习句子的特征向量,从而得到该句子的向量表示。句子编码器的示意图如图2所示。

在本发明的技术方案中,可以使用多种实现方法来实现上述的步骤11。以下将以其中的一种实现方式为例对本发明的技术方案进行详细的介绍。

例如,较佳的,在本发明的一个具体实施例中,所述通过句子编码器得到包中的每个句子的向量表示可以包括如下的步骤:

步骤111,将句子中的每个词分别转换为对应的词向量。

在本发明的技术方案中,由于采用了神经网络机制,因此首先需要将句子中的词(原始词汇)转换为低维向量表示(即词向量)。此处的“词”是指经过分词以后的词牌(wordtoken),每一个词的词向量(即输入向量)由词嵌入和位置嵌入拼接组成。

因此,较佳的,在本发明的一个具体实施例中,可以首先利用词嵌入工具(例如,word2vec等工具)预先将原始语料(即句子)中的每一个词转换为词嵌入。例如,对于需转换的句子中的每个词,都可以通过在预先训练好的词嵌入矩阵中进行查找,来得到与该词对应的词嵌入。另外,位置嵌入是由句子中的每一个词距离头实体和尾实体的相对距离组成。假设词嵌入的维度为kw,位置嵌入的维度为kd,那么每一个词向量的维度为k=kw+2kd。通过上述的方式,即可将句子中的每个词分别转换为对应的词向量。

步骤112,构建一个包括该句子中的所有词的词向量的词序列矩阵,通过卷积层对词序列矩阵进行卷积操作,从词序列矩阵中提取句子特征,得到句子的特征向量。

在本步骤中,对于一个句子s={v1,v2,…,v|s|}(其中,vi表示该句子中第i个词所对应的词向量),可以构建一个对应的词序列矩阵si:j=[vi;vi+1;…;vj](其中,i和j表示词序列矩阵的第一个词和最后一个词在句子中的位置,1≤i≤j,i≤j≤|s|),该词序列矩阵中包括该句子中的所有词所对应的词向量。然后,就可以通过卷积层对词序列矩阵进行卷积操作,从该词序列矩阵中提取句子特征,从而得到该句子的特征向量。

例如,较佳的,在本发明的一个具体实施例中,可以设定卷积核的滑动窗口的长度为l(例如,在图2中,所述l的取值3),卷积的权重矩阵为w,利用一个卷积核从句子s中提取特征后,得到该句子的特征向量c∈r|s|-l+1

因此,可以通过如下的公式得到句子的特征向量:

其中,cj为句子的特征向量,1≤j≤|s|-l+1,l为滑动窗口的长度,w为卷积的权重矩阵,s为句子。

另外,较佳的,在本发明的另一个具体实施例中,也可以使用n个(n>1)卷积核来从该词序列矩阵中提取句子特征,得到该句子的特征向量。因此可以设置n个权重矩阵,用w={w1,w1,…,wn}来表示。

因此,也可以通过如下的公式得到句子的特征向量:

其中,cij为句子的特征向量,1≤i≤n,1≤j≤|s|-l+1,l为滑动窗口的长度,wi为卷积的权重矩阵,s为句子。

此时,整个卷积层的输出为n个向量,用c={c1,c1,…,cn}来表示。

步骤113,通过池化层对句子的特征向量进行最大池化操作,得到句子的唯一向量表示。

在本发明的技术方案中,由于卷积层输出的句子的特征向量的大小取决于句子所包含的单词的数目,因此为了将每个句子的特征向量的长度固定,可以采用最大池化操作选择每个卷积向量中最重要的特征(即最高值),从而得到句子的唯一向量表示。

另外,较佳的,在本发明的一个具体实施例中,为了捕获更细粒度的特征和结构,所述最大池化操作可以是分段最大池化操作。所述分段最大池化操作包括:首先将句子根据其所包含的头尾实体分为三段,并对每段分别进行最大池化操作;然后,拼接所有的分段向量来构建最大池化层的输出向量;根据最大池化层的输出向量计算得到句子的唯一向量表示。

具体来说,对于每一个卷积层的输出向量ci,可以将其分成三个部分,ci1、ci2和ci3即ci={ci1,ci2,ci3};如果有部分内容为空,则用数字0来填充。因此,该分段最大池化操作可以被表示为pij=max(ci,j),其中1≤i≤n,j=1,2,3。然后,拼接所有的分段向量来构建最大池化层的输出向量,该输出向量可以表示为:pi=[pi,1,pi,2,pi,3],i=(1,2,..,n)。最后,即可根据最大池化层输出向量计算句子的唯一向量表示:s=tanh(p),s∈r3n

在本发明的技术方案中,通过上述的步骤111~113对包中的每一个句子均进行上述的处理,即可得到包中的每个句子的向量表示。

步骤12,利用知识库中的实体表示构建句子层级的注意力机制,为每个句子分配注意力权重,并基于各个句子的注意力权重得到每个包的唯一语义向量。

由于远程监督的假设过于宽泛,不可避免的会存在错误标签问题。在实际应用中,同时提及两个实体的句子不一定会表达知识库中实体对之间的关系。为了解决这一问题,在本发明的技术方案中,将设置一个句子层级的注意力机制,能够为有效的句子分配高的注意力权重,为无效的句子分配低的注意力权重,从而有效地减小噪声数据带来的影响。

为了识别有效句子和无效句子,我们同时利用来自知识库的背景知识和来自句子的文本知识。一方面,我们引入知识库的背景知识,通过句子中实体对的知识表示预先得到实体对之间可能蕴含的关系表示;另一方面,我们基于包中所有句子的语义向量计算得到一个上下文文本向量;最后,对于包中的每一个句子,我们综合考虑该句子的语义向量与来自于知识库的抽象关系向量和文本向量两者之间的相似度来计算注意力权重。

在本发明的技术方案中,可以使用多种实现方法来实现上述的步骤12。以下将以其中的一种实现方式为例对本发明的技术方案进行详细的介绍。

例如,较佳的,在本发明的一个具体实施例中,所述步骤12可以包括如下的步骤:

步骤121,计算来自知识库的知识关系表示。

在本发明的技术方案中,远程监督数据集中的包是由知识库中的三元组对齐得到的,包中所有的句子都包含头实体h和尾实体t。因此,较佳的,在本发明的一个具体实施例中,可以先查找通过翻译嵌入(transe,translatingembedding)模型预先训练好的实体向量,得到头实体和尾实体的向量表示:lh和lt;然后,再根据transe模型的关系翻译性质,计算头实体和尾实体之间的抽象的知识关系表示la。

例如,可以通过如下的公式来计算头实体和尾实体之间的抽象的知识关系表示:

la=lt-lh(3)

其中,l∈ke,即transe得到的向量表示维度。

步骤122,计算蕴含在句子中的文本关系向量。

在本发明的技术方案中,考虑到句子的语义向量中也蕴含了关系性质,因此将综合包中所有句子的语义向量计算得到一个文本关系向量ct。

假设一个包b中包含了q个句子:b={s1,s2,…,sq},si是第i个句子对应的语义向量。因此,较佳的,在本发明的一个具体实施例中,可以通过如下的公式来计算蕴含在句子中的文本关系向量:

其中,ct为文本关系向量,q为一个包中的句子的数量,si为包中的第i个句子对应的语义向量,为转换矩阵,可以将来自句子的文本语义向量转换成与知识向量同样的相同的维度。

步骤123,计算知识关系表示和文本关系向量的生成概率。

在本发明的技术方案中,由于引入了知识关系表示和文本关系向量作为参考,因此需要计算知识关系表示和文本关系向量的生成概率。

另外,较佳的,在本发明的一个具体实施例中,生成概率函数为:

pgen=δ(lawgct+bg)(5)

其中,为中间矩阵,bg为偏置值,δ(·)为sigmod函数,pgen为生成概率函数,pgen∈[0,1]。

步骤124,基于知识关系表示和文本关系向量的唯一的关系以及生成概率,得到一个关系对齐向量。

另外,较佳的,在本发明的一个具体实施例中,可以通过如下的公式来计算关系对齐向量:

其中,valign为关系对齐向量,为文本关系向量ct的转置矩阵。

步骤125,利用得分函数计算每一个句子向量与关系对齐向量的相似性(或者相关性),并根据相似性为每一个句子计算对应的注意力权重。

在本发明的技术方案中,可以先计算每一个句子向量与关系对齐向量的相似性,然后再根据相似性为每一个句子计算对应的注意力权重。例如,可以为相似度高的句子分配高的注意力权重,为相似度低的句子分配低的注意力权重。

另外,较佳的,在本发明的一个具体实施例中,可以通过如下的公式来计算句子对应的注意力权重:

其中,

其中,αi为第i个句子对应的注意力权重(1≤i≤q),ei为相似性,为中间矩阵,ba为偏置值,为si的转置。

步骤126,根据包中每个句子的语义向量和对应的注意力权重,计算得到包的语义向量。

在本发明的技术方案中,由于可以通过上述的步骤计算得到包中的所有q个句子对应的注意力权重α=[α1,α2,...,αq,],因此在本步骤中,可以根据每个句子的语义向量和对应的权重可以组合得到包的唯一向量表示。

另外,较佳的,在本发明的一个具体实施例中,可以通过如下的公式来计算包的语义向量:

其中,b为包的语义向量。

综上可知,通过上述的步骤121~126,即可为每个句子分配注意力权重,并基于各个句子的注意力权重得到每个包的唯一语义向量。

步骤13,利用知识库中的关系向量对包的语义向量进行关系检索。

在现有技术中,远程监督关系抽取方法都是将关系抽取当作分类问题来处理,通过训练一个分类器来预测新的关系。

而在本发明的技术方案中,是利用知识库中的关系向量,将关系抽取当作检索问题来处理。

假设在远程监督关系抽取中待预测的关系数量为u,我们可以先从基于transe模型预训练得到知识库表示向量中检索到每个关系对应的关系向量,然后利用余弦相似度计算输入的包模型与每个关系的相关程度。

另外,较佳的,在本发明的一个具体实施例中,对于包b和第i个关系ri的相似度计算公式为:

其中,r(b,ri)为包b和第i个关系ri的相似度,0≤i≤u,为关系ri经过transe模型学习到的关系向量,为中间矩阵,bt为b的转置。

给定一个包b,即可基于上述的公式分别计算得到包b和u个关系的相似度,得到u个相似度;然后,可以根据上述相似度对这u个关系进行排序。

给定一个包b,可以通过归一化指数函数(softmax函数)将包和关系之间的语义相关性得分转换为后验概率来计算关系ri的条件概率。

例如,较佳的,在本发明的一个具体实施例中,可以通过如下的公式来计算关系ri的条件概率p:

其中,γ为softmax函数中的平滑因子,在实验中可以根据经验值预先设定;θ表示整个神经网络模型中的所有参数。

步骤14,根据统一的目标函数训练整个关系抽取器。

在本发明的技术方案中,假设在训练数据集中一共有n个包:{b1,b2,…,bn},分别对应各自的关系标签{r1,r2,.,rn},我们可以利用交叉熵来定义训练的目标函数。

例如,较佳的,在本发明的一个具体实施例中,可以通过如下的公式来计算目标函数:

其中,j(θ)为目标函数。

另外,较佳的,在本发明的一个具体实施例中,采用远程监督关系抽取中被广泛使用的数据集,通过对齐freebase知识库中的三元组和纽约时报语料(newyorktimes,ntycorpus)构建所需的数据集。其中,从nyt2005-2006年的语料中抽取的句子被用作训练数据集,从nyt2007年语料中抽取的句子被用作测试数据集。

数据集中一共包含53种关系(其中na关系为特殊关系,表示实体对之间不存在关系)。训练数据集中一共包含570,088个句子,63,428个实体,19,601个三元组(除na关系外)。测试数据集中包含172,448个句子,16,705个实体,1,950个三元组(除na外)。

为了引入知识库中的背景知识,我们利用一个freebase的子集fb15k与关系抽取的训练数据集中的三元组进行合并得到一个新的知识库数据集,包含73,007个实体,1,052,915个三元组。

另外,较佳的,在本发明的一个具体实施例中,在数据集上使用三重验证来调整模型,并使用网格搜索来确定最佳参数。

例如,在本发明一个较佳的具体实施例中,可以在{0.5,1,2,5}中选取平滑因子γ,从{0.1,0.01,0.001,0.0001}中选取学习比率λ。遵循远程监督的相关工作,将词嵌入的维度kw设为50,将位置嵌入的维度kd设为5,卷基层窗口大小l设置为3,卷机核的数量n为200。

较佳的,上述实验参数的最佳设置可以为γ=1,λ=0.01。

另外,可以选取现有技术中的六个远程监督关系抽取的方法与本发明的技术方案进行对比。其中,所选取的现有技术中的六个方法中可以包括三个基于特征抽取的机器学习模型:mintz、multir和miml;还可以包括三个基于神经网络的学习模型:pcnn+one、pcnn+att和apcnn。其中mintz、multir、miml和pcnn+one都是遵循多示例学习框架,即在一个包中只选择可能性最大的句子用来训练分类模型。

为了分别评估本方法提出的基于背景知识的注意力机制和基于背景知识的检索方法,在本发明的技术方案中,可以构建两个模型:基于知识的分段卷积神经网络(kbpcnn,knowledge-basedpiecewiseconvolutionalneuralnetworks)和基于检索的kbpcnn(kbpcnn+r,retrieval-basedkbpcnn)。其中,kbpcnn是在分段卷积神经网络(pcnn)的基础上加上了本发明中所提出的注意力机制;而kbpcnn不仅加上了注意力机制还采用了本发明中提出的基于关系的检索机制。

图3是基于自动评估得到的各模型的精确度(precision)/召回率(recall)曲线。自动评估方式将模型预测得到的关系与freebase中的关系数据进行比较,并报告实验的精确度/召回率曲线。从图3中可以发现,本发明中的模型明显优于所有其他对比模型。如图3所示可知:

(1)基于神经模型比基于特征的方法表现更好,表明人为设计的特征不能有效地表达句子的语义,以及nlp工具带来的错误传播会损害提取器的性能;

(2)在所有神经模型中,基于注意力的模型得到进一步改善,因为基于注意力的模型可以选择有效的句子,并减轻远程监督关系抽取中的错误标记问题;

(3)在所有的注意力机制中,本发明中所提出的结合背景知识的注意力模型表现更好,表明使用结合知识库中的语义知识和文本语义可以更有效地选择有效实例;

(4)与kbpcnn相比,使用知识关系检索模块的kbpcnn+r在大多数召回范围内实现了更高的精度,表明可以使用知识库中的关系信息来进一步改进模型。

考虑到freebase本身具有不完整性,在自动评估的基础上对预测错误的结果进行了人工验证,并基于人工评估方式报告了各模型在前100、200、500个预测结果中的准确性,如表1所示:

表1人工评估下关系抽取模型的精确度

根据上述表1可知,kbpcnn和kbpcnn+r都实现了更高的精度,这说明在神经模型中使用知识库的语义知识是有效的。

综上所述,在本发明的技术方案中,先利用句子编码器得到包中的每个句子的向量表示;然后利用知识库中的实体表示构建句子层级的注意力机制,为每个句子分配注意力权重,得到每个包的唯一语义向量;随后再利用知识库中的关系向量对包向量进行关系检索;最后,根据统一的目标函数训练整个关系抽取器。通过上述的方法,可以先将知识库中的实体和关系利用transe模型表示为低维稠密的语义向量,然后将知识向量引入到基于分段卷积神经网络(pcnn)的远程监督关系抽取模型中,从而可以将知识库的背景知识作用于远程监督关系抽取,使得本发明具有以下的优点:

1)利用知识库中的实体向量预先得到实体对之间的抽象关系表示,用于识别训练数据集中的有效句子和无效句子,从而缓解远程监督中的错误标注问题;

2)利用知识库中的关系向量将远程监督关系抽取当作检索问题来处理,进一步提高关系预测的准确性。

实验结果表明,基于本发明的技术方案所实现的关系抽取模型与现有技术中的关系抽取模型相比,具有更好的抽取性能,证明了引入背景知识能够有效地指导关系抽取任务。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

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