对实体词的语义关系进行分类的方法和装置与流程

文档序号:12837115阅读:203来源:国知局
对实体词的语义关系进行分类的方法和装置与流程

本发明涉及信息处理领域,更具体地涉及一种对实体词的语义关系进行分类的方法和装置。



背景技术:

语义关系分类是自然语言处理领域的关键技术之一,其被广泛应用于信息抽取和自动问答等领域。语义关系分类通常被定义为一个监督学习问题。传统的语义关系分类问题主要集中在基于特征的方法和基于核函数的方法。基于特征的方法从文本信息中提取各种自然语言特征,通过对各种自然语言特征进行人工组合变换,在大量实验基础上选择最优的特征组合或者变换方法,使得在某些分类模型下取得好的分类效果。而基于核函数的方法是一种基于实例的学习方法,通过非线性的空间映射函数将低维的特征转换为一个高维特征,然后通过核函数来描述未知类别样本与训练样本之间的距离或者相似来判定关系类别。

近年来,深度学习在自然语言处理领域逐渐成为传统问题的可替代方法。语义关系分类与深度学习技术的结合是最近的一大研究热点。与传统方法相比,深度学习是一种基于非稀疏特征多层非线性模型的参数学习方法,具有自动提取高层分类特征的能力。这样一方面减轻了基于特征方法特征提取变换和基于核函数方法函数设计选择的人工干预负担,另一方面基于参数的方法较基于实例的方法更适合于大数据场景。

希望能够提供一种利用深度学习的卷积神经网络架构来解决语义关系分类问题的方法和装置。



技术实现要素:

在下文中给出关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它 并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。本发明的一个主要目的在于,提供了一种对实体词的语义关系进行分类的方法,包括:基于句子中的每个词及其相对于两个实体词的位置权重来生成待分类向量;用预定的方向分类特征参数和预定的类型分类特征参数分别与待分类向量相乘,用非线性激活函数对各自的乘积分别进行非线性变换,从而生成方向分类特征和类型分类特征;以及根据方向分类特征和类型分类特征,利用预先存储的分类模型来确定两个实体词之间的语义关系方向和语义关系类型。

根据本发明的一个方面,提供一种对实体词的语义关系进行分类的装置,包括:待分类向量生成单元,被配置为基于句子中的每个词及其相对于两个实体词的位置权重来生成待分类向量;分类特征生成单元,被配置为用预定的方向分类特征参数和预定的类型分类特征参数分别与待分类向量相乘,用非线性激活函数对各自的乘积分别进行非线性变换,从而生成方向分类特征和类型分类特征;以及分类单元,被配置为根据方向分类特征和类型分类特征,利用预先存储的分类模型来确定两个实体词之间的语义关系方向和语义关系类型。

另外,本发明的实施例还提供了用于实现上述方法的计算机程序。

此外,本发明的实施例还提供了至少计算机可读介质形式的计算机程序产品,其上记录有用于实现上述方法的计算机程序代码。

通过以下结合附图对本发明的最佳实施例的详细说明,本发明的这些以及其他优点将更加明显。

附图说明

参照下面结合附图对本发明实施例的说明,会更加容易地理解本发明的以上和其它目的、特点和优点。附图中的部件只是为了示出本发明的原理。在附图中,相同的或类似的技术特征或部件将采用相同或类似的附图标记来表示。

图1示出了实现根据本发明的一个实施例的对实体词的语义关系进行分类的方法所利用的卷积神经网络架构的示意图;

图2示出了根据本发明的一个实施例的对实体词的语义关系进行分类 的方法200的示例性过程的流程图;

图3示出了图2中的步骤s202的一种示例性过程的流程图

图4示出了训练得到分类模型的一种示例性过程的流程图;

图5是示出根据本发明的一个实施例的对实体词的语义关系进行分类的装置400的示例性配置的框图;

图6是示出图5中的待分类向量生成单元502的一种示例性配置的框图;以及

图7是示出可以用于实施本发明的对实体词的语义关系进行分类的方法和装置的计算设备的示例性结构图。

具体实施方式

在下文中将结合附图对本发明的示范性实施例进行描述。为了清楚和简明起见,在说明书中并未描述实际实施方式的所有特征。然而,应该了解,在开发任何这种实际实施例的过程中必须做出很多特定于实施方式的决定,以便实现开发人员的具体目标,例如,符合与系统及业务相关的那些限制条件,并且这些限制条件可能会随着实施方式的不同而有所改变。此外,还应该了解,虽然开发工作有可能是非常复杂和费时的,但对得益于本公开内容的本领域技术人员来说,这种开发工作仅仅是例行的任务。

在此,还需要说明的一点是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的设备结构和/或处理步骤,而省略了与本发明关系不大的其他细节。

传统的语义分类方法大量地依赖于知识库信息和自然语言特征。对知识库的依赖所导致的模型具有领域相关性,导致模型的泛化能力差。而对自然语言特征的低层次融合容易导致误差累积。基于神经网络的方法归结起来都是在尽可能的找到句子中与指定实体对相关的语义片段(局部词汇序列构成的语义特征)。如何剔除无关片段和找到有效线索成为语义关系分类的核心目标。同时语义关系具有非对称性,如何正确的确定关系的方向也是一大重要问题。因此语义关系分类需要解决以下几点问题:

1.如何尽可能少的利用知识库和自然语言特征?

2.如何有效剔除掉无关的局部线索片段?

3.如何发现有效的局部线索片段?

4.如何同时减少语义关系方向与类别错误?

本发明针对上述问题,提出了一种利用深度学习的卷积神经网络架构来解决语义关系分类问题的方法和装置,通过本发明,可以获得以下优势:

1、在数据预处理阶段,提出了一种去除句子粒度语义关系分类无关局部片段的剔除方法规则。

2、在构建局部片段特征时,在传统卷积神经网络框架下,引入了位置权重,有效提升了局部片段线索的发现能力。

3、在利用神经网络构建分类特征阶段,本发明将语义关系分类任务拆解成方向分类和类型分类两个子任务,分别构建了方向特征和类型特征,并通过独立的损失函数对整个网络的参数进行学习更新。

在对根据本发明的实施例的对实体词的语义关系进行分类的方法和装置进行说明之前,先定义以下术语,以有助于更好理解本发明的方法和装置。

有效语义关系边界:有效语义关系边界是在句子预处理阶段,包含目标实体以及两个目标实体之间非解释说明的子句片段构成的词序列。后续术语都是在有效语义边界内的词序列上定义的。

例如:

原始句子为:the<e1>provinces</e1>aredividedinto<e2>counties</e2>(shahrestan),andsubdividedintodistricts(bakhsh)andsub-districts(dehestan)。

有效语义关系边界为:the<e1>provinces</e1>aredividedinto<e2>counties</e2>,后续的定义都是在有效语义边界基础上的。

(shahrestan)被删掉是因为其为解释说明性片段

,andsubdividedintodistricts(bakhsh)andsub-districts(dehestan).被删掉是因为该字句不包含目标实体且不在两个目标实体之间。

词嵌入:词嵌入是将词根据一个词向量表,将词映射到一个dimword维的向量空间。这个词向量表记为wword_emb。词向量表为一个参数矩阵,参与神经网络的学习更新。

词的相对位置:句子中词相对于两个目标实体词的距离,当词在目标实体的左边时,距离为负;反之,则为正数。

例如:hehadchestpainsand<e1>headaches</e1>from<e2>mold</e2>inthebedrooms.

单词pains的相对位置为(-2,-4)

单词from的相对位置为(1,-1)

单词bedrooms的相对位置为(5,3)

词的相对位置嵌入:将词的相对位置的两个数值分别根据两个独立的位置向量表wpos_e1_emb和wpos_e2_emb,映射到dimpos维的向量空间。然后将两个向量连接到一起,形成一个2×dimpos维的向量。位置向量表wpos_e1_emb和wpos_e2_emb为参数矩阵,参与神经网络的学习过程。

词窗:词窗为以某个词为中心包括前后n个词的词序列,其窗口的大小为n_win为2n+1。对于前后不足n个词的中心词通过填充特殊字符保持词窗大小一致。(特别说明:填充字符在wword_emb有对应的向量表示)

词窗嵌入:词窗嵌入是由词窗中的词经过词嵌入,然后将词嵌入结果拼接成一个n_win×wword_emb维向量的过程。

句子的词窗嵌入特征:句子的词窗嵌入特征为以句子中每个词为中心的词窗嵌入所生成的向量序列。假设句子长度为n_len,则句子的词窗嵌入特征为一个(n_win×dimword,n_len)的矩阵,记为xwin_emb。

句子的相对位置特征:句子的相对位置特征为句子中每个词的相对位置特征嵌入生成的向量序列。假设句子长度为n_len,则句子的相对位置特征为一个(2×dimpos,n_len)的矩阵,记为xpos_emb。

句子的位置权重特征:将句子定义为词序列[e1,e1,e2,e2,e3],其中e1,e2表示目标实体词,e1,e2,e3表示被e1,e2隔开的3个区域。句子中词的权重定义规则如下:设w表示句子中的词,相对于实体词e1,若w∈e1则权重设置为1,w∈e2则权重设置为2,w∈e3则权重设置为0;相对于实体词e2,若w∈e1则权重设置为0,w∈e2则权重设置为2,w∈e3则权重设置为1。句子的位置权重特征为由句子中每个词相对于两个实体词的权重之和的序列。

例如:hehadchestpainsand<e1>headaches</e1>from<e2>mold</e2>inthebedrooms。

在该示例中,可以看到对于两个实体词分别设置其权重也为2。

为了后续的计算方便,句子的位置权重特征定义为句子中词的位置权重值乘以单位向量所构成的向量序列,记为矩阵xpos_weight,xpos_weight的维度为(n_win×dimword+2×dimpos,n_len)。

句子的实体对的词汇嵌入特征:句子的实体对的词汇嵌入特征定义为取两个实体词的前后两个词以及实体词自身,通过词嵌入生成的向量的连接向量。若实体词前或者后没有词,则用特殊字符填充。(对于特殊字符在wword_emb有对应的向量表示)。由此,句子的实体对的词汇嵌入特征为一个6×dimword的向量,记为xlex_emb。

句子的实体对的词汇wordnet上位词特征:首先使用自然语言处理工具获取到两个实体词的wordnet上位词特征(例如supersensetagger,该工具每个实体词只会返回一个上位词)。然后,将实体词转化为one-hot(独热)向量(向量为维度为wordnet中所有的上位词个数n_syn,实体词对应的上位词对应的索引位置的维度值为1,余者为0)。最后将两个实体词的one-hot向量连接成一个2×n_syn维的向量,记为xsyn。

矩阵对应元素相乘:z[i][j]=x[i][j]*y[i][j],记作zm×n=emul(xm×n,ym×n)。矩阵元素相乘要求两个矩阵的维度必须一致。

矩阵乘法:zm×k=xm×n·wn×k同数学定义。

矩阵或者向量连接:矩阵或者向量的连接用concat函数来表示。zm×2n=concat((xm×n,wm×n),axis=1);z2m×n=concat((xm×n,wm×n),axis=0),其中参数axis用于指定合并的维度。

下面结合附图详细说明根据本发明的实施例的对实体词的语义关系进行分类的方法和装置。下文中的描述按如下顺序进行:

1.对实体词的语义关系进行分类的方法

2.对实体词的语义关系进行分类的装置

3.用以实施本申请的方法和装置的计算设备

[1.对实体词的语义关系进行分类的方法]

图1示出了实现根据本发明的一个实施例的对实体词的语义关系进行分类的方法所利用的卷积神经网络架构的示意图。

如图1所示,在该网络架构中,整个前向过程可以分为四个部分。第一部分为卷积池化部分(如图1中的区域1所示),第二部分为句子特征生成部分(如图1中的区域1所示),第三部分为句子特征、实体对的词汇嵌入特征与实体对的词汇wordnet上位词特征拼接部分(如图1中的区域3所示),第四部分为分类特征提取与预测部分(如图1中的区域4所示)。

下面结合图2具体说明每一部分的具体过程。图2示出了根据本发明的一个实施例的对实体词的语义关系进行分类的方法200的示例性过程的流程图。

首先,在步骤s202中,基于句子中的每个词以及其相对于两个实体词的位置权重来生成待分类向量。

具体地,图3示出了图2中的步骤s202的一种示例性过程的流程图。

如图3所示,在步骤s302中,对句子中的一个词窗中的每个词利用预定的词向量表进行词嵌入生成词窗向量,将句子的每个词窗的词窗向量的序列构建第一矩阵,词窗以句子中的一个词为中心、包括前后各n个词,n为大于等于1的自然数。

生成词窗向量即上面所定义的词窗嵌入,即将词窗中的词经过词嵌入,然后将词嵌入结果拼接成一个n_win×wword_emb维向量的过程。

构建第一矩阵即上面所定义的句子的词窗嵌入特征,即以句子中每个词为中心的词窗嵌入所生成的向量序列,第一矩阵为一个(n_win×dimword,n_len)的矩阵,记为xwin_emb。

在一个示例中,还可以向所构建的第一矩阵拼接每个词的自然语言处理特征向量来作为新的第一矩阵,自然语言处理特征包括词性标注特征、句法分析特征、语义角色标注特征等特征。

在一个示例中,在构建第一矩阵的步骤之前可以先对句子进行预处理,保留两个实体词和与两个实体词相关的子句片断。

对句子的预处理是用于根据目标实体词去除无关的句子片段,即获得 如上的有效语义关系边界。具体地,可以将对句子的预处理定义如下:

1.如果一个从句不包含目标实体词且不在实体词之间,则删掉该从句。

2.如果解释性局部片段不包含目标实体词,则删掉该局部片段。

3.如果解释性局部片段包含所有目标实体词,则保留该解释性局部片段并且删除句子中的其余词语。

通过对句子的预处理,可以有效剔除无关的局部线索片段。

接着,在步骤s304中,将句子中的每个词的相对位置的两个数值分别根据预定的两个位置向量表进行词嵌入生成的词向量的序列构建第二矩阵,词的相对位置为一个词相对于句子中的两个实体词的距离,将第二矩阵记为xpos_emb。

在步骤s306中,将第一矩阵与第二矩阵进行矩阵连接生成第三矩阵。

步骤s306可以表示为:xemb=concat((xwin_emb,xpos_emb),axis=0)。

xemb的维度为(n_win×dimword+2×dimpos,n_len)。

在步骤s308中,对于句子中的每个词,根据该词相对于两个实体词的位置以及该词在句子中的位置给每个词分配相对第一实体词的第一权重和相对第二实体词的第二权重,将每个词的第一权重与第二权重之和的序列构建位置权重特征向量,将位置权重特征向量记为xpos_weight。

在步骤s310中,将第三矩阵xemb与位置权重特征向量xpos_weight进行矩阵对应元素相乘得到第四矩阵xcin。

步骤s310可以表示为:xcin=emul(xemb,xemb_weight)。

xcin维度为(n_win×dimword+2×dimpos,n_len)。

在步骤s312中,用非线性激活函数对第四矩阵与预定的卷积层参数的乘积进行非线性变换得到第五矩阵。

第五矩阵即为神经网络系统中卷积层的输出。在一个示例中,第五矩阵可以表示为xc=tanh(wconvxcin)。

其中,tanh是激活函数,这里也可以使用其他的非线性激活函数代替,例如relu;wconv为卷积层的权重参数,其维度为(n_conv,n_win×dimword+2×dimpos);n_conv为卷积层的神经元个数;xc的维度为(n_conv,n_len)。

在步骤s314中,对第五矩阵进行池化处理得到第一向量。具体地, xc在每一列上取最大(最小、均值等等都可以),作为池化过程。

可以用等式将池化过程表示为:

xp[i]=maxxc(·,i)0≤i≤n_len

其中,xp的维度为(n_conv,1)。

步骤s302-s314是图2中的区域1所示的卷积池化部分的详细过程。

接下来,在步骤s316中,用非线性激活函数对第一向量与预定的句子特征生成参数的乘积进行非线性变换得到第二向量xh_1作为待分类向量。步骤s316是图2中的区域2所示的句子特征生成部分。

步骤s316可以用等式表示为:xh_1=tanh(wh_1xp),其中wh_1为预定的句子特征生成参数。

在一个示例中,还可以执行图1中的区域3中对句子特征、实体对的词汇嵌入特征与实体对的词汇wordnet上位词特征进行拼接的步骤。实体对的词汇嵌入特征是对两个实体词及其各自前后各一个词进行词嵌入生成的第三向量。实体对的词汇wordnet上位词特征是将两个实体词分别转换为维度为词典中的所有上位词个数的独热向量,再将两个独热向量进行连接构成的第四向量。然后,将第二向量、第三向量和第四向量进行连接作为待分类向量。

上述过程可以用等式表示为:

x=concat((xh_1;xlex_emb;xsyn),axis=0),x的维度为(n_conv+6×dimword+2×n_syn,1)。

本领域技术人员可以理解,区域3中的拼接过程只是一个优选步骤,而非必需的步骤。

通过上述各个步骤,生成了待分类向量。

接下来,在步骤s204中,用预定的方向分类特征参数和预定的类型分类特征参数分别与待分类向量相乘,用非线性激活函数对各自的乘积分别进行非线性变换,从而生成方向分类特征和类型分类特征。步骤s204是图1中的区域4中所示的分类特征提取部分。

具体地,方向分类特征可以表示为:xd=tanh(wdx),其中wd的维度为(n_hd,n_conv+6×dimword+2×n_syn),xd的维度为(n_hd,1)。

类型分类特征可以表示为:xt=tanh(wtx),其中wt的维度为(n_ht,n_conv+6×dimword+2×n_syn),xt的维度为(n_ht,1)。

在此的wd和wt的维度是执行了对句子特征、实体对的词汇嵌入特征与实体对的词汇wordnet上位词特征进行拼接的步骤的情况下的维度。

最后,在步骤s206中,根据生成的方向分类特征和类型分类特征,利用预先存储的分类模型可以确定两个实体词之间的语义关系方向和语义关系类型。

在步骤s206中所采用的分类模型可以预先存储在系统中,也可以通过训练来得到。图4示出了训练得到分类模型的一种示例性过程的流程图。

首先,在步骤s402中,获得训练数据集,训练数据集包括待训练的句子、句子中的实体词对和各句子包括的实体词对的语义关系方向和语义关系类别。

接着,对于训练数据集的每个句子迭代执行以下步骤:

在步骤s404中,基于句子中的每个词以及其相对于两个实体词的位置权重来生成待分类向量。

在一个示例中,步骤s404可以包括以下子步骤:

1、对句子中的一个词窗中的每个词利用词向量表进行词嵌入生成词窗向量,将句子的每个词窗的词窗向量的序列构建第一矩阵;

2、将句子中的每个词的相对位置的两个数值分别根据两个位置向量表进行词嵌入生成的词向量的序列构建第二矩阵。

3、将第一矩阵与第二矩阵进行矩阵连接生成第三矩阵。

4、对于句子中的每个词,根据该词相对于两个实体词的位置以及该词在句子中的位置给每个词分配相对两个实体词的第一权重和第二权重,将每个词的第一权重和第二权重之和的序列构建位置权重特征向量。

5、将第三矩阵与位置权重特征向量进行矩阵对应元素相乘得到第四矩阵。

6、用非线性激活函数对第四矩阵与卷积层参数的乘积进行非线性变换得到第五矩阵。

7、对第五矩阵进行池化处理得到第一向量。

8、用非线性激活函数对第一向量与句子特征生成参数的乘积进行非线性变换得到第二向量作为待分类向量。

接下来,在步骤s406中,用方向分类特征参数和类型分类特征参数分别与所生成的待分类向量相乘,用非线性激活函数对各自的乘积分别进行非线性变换,从而生成方向分类特征和类型分类特征。

所生成的方向分类特征和类型分类特征可以与以上参照图2说明的分类方法中采用相同的表示。

方向分类特征可以表示为:xd=tanh(wdx),其中wd的维度为(n_hd,n_conv+6×dimword+2×n_syn),xd的维度为(n_hd,1)。

类型分类特征可以表示为:xt=tanh(wtx),其中wt的维度为(n_ht,n_conv+6×dimword+2×n_syn),xt的维度为(n_ht,1)。

在步骤s408中,根据方向分类特征和类型分类特征,分别利用分类器来生成方向分类预测和类型分类预测。

在一个示例中,分类器可以采用softmax函数。

则方向分类预测od=softmax(wodxd),其中,od=od1,od2,wod为方向预测参数,其维度为(2,n_hd)。

类型分类预测ot=softmax(wotxt),ot=ot1,ot2,…,otk,其中wot为类型预测参数,其维度为(k,n_hd),k为语义关系的类别个数。

可以得到分别表示方向分类与类别分类的预测索引号。

接着,在步骤s410中,基于方向分类预测和类型分类预测分别设计相应的方向损失函数和类别损失函数。

具体地,对于方向损失函数:设方向的真实类别使用one-hot向量形式表示,记作od_t。其中od_t只在对应的方向索引位置处的值为1,其余为0。则可以将方向损失函数定义为:

d_cost(od,od_t)=-σiod_t(i)log(od(i))

对于类别损失函数:设类别的真实类别使用one-hot向量形式表示, 记作ot_t。其中ot_t只在对应的类别索引位置处的值为1,其余为0。可以将则类别损失函数定义为:

t_cost(ot,od_t)=-∑iot_t(i)log(ot(i))

在步骤s412中,基于梯度下降算法,分别对方向损失函数和类别损失函数关于分类模型中的各个参数求偏导数,使得各个参数朝着同时减小方向损失和类别损失的目标调整,各个参数包括词向量表、两个位置向量表、卷积层参数、句子特征生成参数、方向分类特征参数、类型分类特征参数以及分类器中的方向分类预测参数和类型分类预测参数。

对参数的学习采用基于梯度下降的学习算法,优选地选择mini-batch随机梯度下降算法。

最后,在步骤s414中,迭代执行以上s404-s412的步骤,直到方向损失函数和类别损失函数都收敛。

整个网络的待学习参数有:

1、嵌入参数:wword_emb,wpos_e1_emb,wpos_e2_emb(需要说明的是xpos_weight不参与学习)

2、卷积层参数:wconv

3、句子特征生成参数:wh_1

4、分类特征提取层参数:wd,wt

5、分类预测参数:wod,wot

需要说明的是1-3的参数更新同时有方向损失函数和类别损失函数参与,依次更新。

4-5的参数更新由对应的损失函数分别更新。

设w为某个参数,cost为某个损失函数,可以将参数更新表达为:

其中m为mini-batch随机梯度下降中每一个batch包含的样例数。

[2.对实体词的语义关系进行分类的装置]

图5是示出根据本发明的一个实施例的对实体词的语义关系进行分类的装置500的示例性配置的框图。

如图5所示,对实体词的语义关系进行分类的装置500包括待分类向量生成单元502、分类特征生成单元504以及分类单元506。

待分类向量生成单元502被配置为基于句子中的每个词及其相对于两个实体词的位置权重来生成待分类向量。

分类特征生成单元504被配置为用预定的方向分类特征参数和预定的类型分类特征参数分别与待分类向量相乘,用非线性激活函数对各自的乘积分别进行非线性变换,从而生成方向分类特征和类型分类特征。

分类单元506被配置为根据方向分类特征和类型分类特征,利用预先存储的分类模型来确定两个实体词之间的语义关系方向和语义关系类型。

图6是示出图5中的待分类向量生成单元502的一种示例性配置的框图。

待分类向量生成单元502包括第一矩阵构建子单元602、第二矩阵构建子单元604、第三矩阵生成子单元606、位置权重特征向量构建子单元608、第四矩阵生成子单元610、第五矩阵生成子单元612、第一向量生成子单元614、待分类向量生成子单元616。

其中,第一矩阵构建子单元602被配置为对句子中的一个词窗中的每个词利用预定的词向量表进行词嵌入生成词窗向量,将句子的每个词窗的词窗向量的序列构建第一矩阵,词窗以句子中的一个词为中心、包括前后各n个词,n为大于等于1的自然数。

第二矩阵构建子单元604被配置为将句子中的每个词的相对位置的两个数值分别根据预定的两个位置向量表进行词嵌入生成的词向量的序列构建第二矩阵,词的相对位置为一个词相对于句子中的两个实体词的距 离。

第三矩阵生成子单元606被配置为将第一矩阵与第二矩阵进行矩阵连接生成第三矩阵。

位置权重特征向量构建子单元608被配置为对于句子中的每个词,根据该词相对于两个实体词的位置以及该词在句子中的位置给每个词分配相对第一实体词的第一权重和相对第二实体词的第二权重,将每个词的第一权重与第二权重之和的序列构建位置权重特征向量。

第四矩阵生成子单元610被配置为将第三矩阵与位置权重特征向量进行矩阵对应元素相乘得到第四矩阵。

第五矩阵生成子单元612被配置为用非线性激活函数对第四矩阵与预定的卷积层参数的乘积进行非线性变换得到第五矩阵。

第一向量生成子单元614被配置为对第五矩阵进行池化处理得到第一向量。

待分类向量生成子单元616被配置为用非线性激活函数对第一向量与预定的句子特征生成参数的乘积进行非线性变换得到第二向量作为待分类向量。

其中,待分类向量生成子单元616还被配置为:对两个实体词及其各自前后各一个词进行词嵌入生成第三向量;获取两个实体词的上位词特征,将两个实体词分别转换为维度为词典中的所有上位词个数的独热向量,将获得的两个独热向量进行连接构成第四向量;以及将第二向量、第三向量和第四向量进行连接所生成的向量作为待分类向量。

其中,第一矩阵构建子单元602进一步被配置为:向所构建的第一矩阵拼接每个词的自然语言处理特征向量来作为新的第一矩阵,自然语言处理特征包括词性标注特征、句法分析特征、语义角色标注特征中的至少一项。

在一个示例中,对实体词的语义关系进行分类的装置500还包括:预处理单元(图中未示出)。预处理单元被配置为对句子进行预处理,保留两个实体词和与两个实体词相关的子句片断。

其中,非线性激活函数为tanh或者relu。

其中,池化处理为最大池化处理、最小池化处理或者平均池化处理。

其中,位置权重特征向量构建单元608进一步被配置为:将句子分割为由第一实体词和第二实体词隔开的左侧区域、中间区域和右侧区域;第一权重当词在中间区域时最大,当词在右侧区域时最小,当词在左侧区域时取中间值;以及第二权重当词在中间区域时最大,当词在左侧区域时最小,当词在右侧区域时取中间值。

在一个示例中,对实体词的语义关系进行分类的装置500还包括:分类模型训练单元(图中未示出),分类模型训练单元被配置为通过以下步骤进行训练来得到分类模型:获得训练数据集,训练数据集包括待训练的句子、句子中的实体词对和各句子包括的实体词对的语义关系方向和语义关系类别;对于训练数据集的每个句子迭代执行以下步骤:对句子中的一个词窗中的每个词利用词向量表进行词嵌入生成词窗向量,将句子的每个词窗的词窗向量的序列构建第一矩阵;将句子中的每个词的相对位置的两个数值分别根据两个位置向量表进行词嵌入生成的词向量的序列构建第二矩阵;将第一矩阵与第二矩阵进行矩阵连接生成第三矩阵;对于句子中的每个词,根据该词相对于两个实体词的位置以及该词在句子中的位置给每个词分配相对第一实体词的第一权重和相对第二实体词的第二权重,将每个词的第一权重和第二权重之和的序列构建位置权重特征向量;将第三矩阵与位置权重特征向量进行矩阵对应元素相乘得到第四矩阵;用非线性激活函数对第四矩阵与卷积层参数的乘积进行非线性变换得到第五矩阵;对第五矩阵进行池化处理得到第一向量;用非线性激活函数对第一向量与句子特征生成参数的乘积进行非线性变换得到第二向量作为待分类向量;用方向分类特征参数和类型分类特征参数分别与待分类向量相乘,用非线性激活函数对各自的乘积分别进行非线性变换,从而生成方向分类特征和类型分类特征;根据方向分类特征和类型分类特征,分别利用分类器来生成方向分类预测和类型分类预测;基于方向分类预测和类型分类预测分别设计相应的方向损失函数和类别损失函数;基于梯度下降算法,分别对方向损失函数和类别损失函数关于分类模型中的各个参数求偏导数,使得各个参数朝着同时减小方向损失和类别损失的目标调整,各个参数包括词向量表、两个位置向量表、卷积层参数、句子特征生成参数、方向分类特征参数、类型分类特征参数以及分类器中的方向分类预测参数和类型分类预测参数;以及迭代执行上述步骤,直到方向损失函数和类别损失函数都收敛。

关于对实体词的语义关系进行分类的装置500的各个部分的操作和功 能的细节可以参照结合图1-4描述的本发明的对实体词的语义关系进行分类方法的实施例,这里不再详细描述。

在此需要说明的是,图5-6所示的装置及其组成单元的结构仅仅是示例性的,本领域技术人员可以根据需要对图5-6所示的结构框图进行修改。

本发明提出一种利用深度学习的卷积神经网络架构来解决语义关系分类问题的方法和装置,通过本发明,可以获得以下优势:

1、在数据预处理阶段,提出了一种去除句子粒度语义关系分类无关局部片段的剔除方法规则。

2、在构建局部片段特征时,在传统卷积神经网络框架下,引入了位置权重,有效提升了局部片段线索的发现能力。

3、在利用神经网络构建分类特征阶段,本发明将语义关系分类任务拆解成方向分类和类型分类两个子任务,分别构建了方向特征和类型特征,并通过独立的损失函数对整个网络的参数进行学习更新。

[3.用以实施本申请的方法和装置的计算设备]

以上结合具体实施例描述了本发明的基本原理,但是,需要指出的是,对本领域的普通技术人员而言,能够理解本发明的方法和装置的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用他们的基本编程技能就能实现的。

因此,本发明的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本发明的目的也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以是任何公知的存储介质或者将来所开发出来的任何存储介质。

在通过软件和/或固件实现本发明的实施例的情况下,从存储介质或网络向具有专用硬件结构的计算机,例如图7所示的通用计算机700安装构成该软件的程序,该计算机在安装有各种程序时,能够执行各种功能等等。

在图7中,中央处理单元(cpu)701根据只读存储器(rom)702中存储的程序或从存储部分708加载到随机存取存储器(ram)703的程序执行各种处理。在ram703中,也根据需要存储当cpu701执行各种处理等等时所需的数据。cpu701、rom702和ram703经由总线704彼此链路。输入/输出接口705也链路到总线704。

下述部件链路到输入/输出接口705:输入部分706(包括键盘、鼠标等等)、输出部分707(包括显示器,比如阴极射线管(crt)、液晶显示器(lcd)等,和扬声器等)、存储部分708(包括硬盘等)、通信部分709(包括网络接口卡比如lan卡、调制解调器等)。通信部分709经由网络比如因特网执行通信处理。根据需要,驱动器710也可链路到输入/输出接口705。可拆卸介质711比如磁盘、光盘、磁光盘、半导体存储器等等根据需要被安装在驱动器710上,使得从中读出的计算机程序根据需要被安装到存储部分708中。

在通过软件实现上述系列处理的情况下,从网络比如因特网或存储介质比如可拆卸介质711安装构成软件的程序。

本领域的技术人员应当理解,这种存储介质不局限于图7所示的其中存储有程序、与设备相分离地分发以向用户提供程序的可拆卸介质711。可拆卸介质711的例子包含磁盘(包含软盘(注册商标))、光盘(包含光盘只读存储器(cd-rom)和数字通用盘(dvd))、磁光盘(包含迷你盘(md)(注册商标))和半导体存储器。或者,存储介质可以是rom702、存储部分708中包含的硬盘等等,其中存有程序,并且与包含它们的设备一起被分发给用户。

本发明还提出一种存储有机器可读取的指令代码的程序产品。指令代码由机器读取并执行时,可执行上述根据本发明实施例的方法。

相应地,用于承载上述存储有机器可读取的指令代码的程序产品的存储介质也包括在本发明的公开中。存储介质包括但不限于软盘、光盘、磁光盘、存储卡、存储棒等。

本领域的普通技术人员应理解,在此所例举的是示例性的,本发明并不局限于此。

在本说明书中,“第一”、“第二”以及“第n个”等表述是为了将所描述的特征在文字上区分开,以清楚地描述本发明。因此,不应将其视为 具有任何限定性的含义。

作为一个示例,上述方法的各个步骤以及上述设备的各个组成模块和/或单元可以实施为软件、固件、硬件或其组合,并作为相应设备中的一部分。上述装置中各个组成模块、单元通过软件、固件、硬件或其组合的方式进行配置时可使用的具体手段或方式为本领域技术人员所熟知,在此不再赘述。

作为一个示例,在通过软件或固件实现的情况下,可以从存储介质或网络向具有专用硬件结构的计算机(例如图7所示的通用计算机700)安装构成该软件的程序,该计算机在安装有各种程序时,能够执行各种功能等。

在上面对本发明具体实施例的描述中,针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其他实施方式中使用,与其他实施方式中的特征相组合,或替代其他实施方式中的特征。

应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其他特征、要素、步骤或组件的存在或附加。

此外,本发明的方法不限于按照说明书中描述的时间顺序来执行,也可以按照其他的时间顺序地、并行地或独立地执行。因此,本说明书中描述的方法的执行顺序不对本发明的技术范围构成限制。

本发明及其优点,但是应当理解在不超出由所附的权利要求所限定的本发明的精神和范围的情况下可以进行各种改变、替代和变换。而且,本发明的范围不仅限于说明书所描述的过程、设备、手段、方法和步骤的具体实施例。本领域内的普通技术人员从本发明的公开内容将容易理解,根据本发明可以使用执行与在此的相应实施例基本相同的功能或者获得与其基本相同的结果的、现有和将来要被开发的过程、设备、手段、方法或者步骤。因此,所附的权利要求旨在在它们的范围内包括这样的过程、设备、手段、方法或者步骤。

基于以上的说明,可知公开至少公开了以下技术方案:

1、一种对实体词的语义关系进行分类的方法,包括:

基于句子中的每个词以及其相对于两个实体词的位置权重来生成待分类向量;

用预定的方向分类特征参数和预定的类型分类特征参数分别与所述待分类向量相乘,用所述非线性激活函数对各自的乘积分别进行非线性变换,从而生成方向分类特征和类型分类特征;以及

根据所述方向分类特征和所述类型分类特征,利用预先存储的分类模型来确定所述两个实体词之间的语义关系方向和语义关系类型。

2、根据附记1所述的方法,其中,基于句子中的每个词及其相对于两个实体词的位置权重来生成待分类向量包括:

对句子中的一个词窗中的每个词利用预定的词向量表进行词嵌入生成词窗向量,将所述句子的每个词窗的词窗向量的序列构建第一矩阵,所述词窗以句子中的一个词为中心、包括前后各n个词,n为大于等于1的自然数;

将所述句子中的每个词的相对位置的两个数值分别根据预定的两个位置向量表进行词嵌入生成的词向量的序列构建第二矩阵,所述词的相对位置为一个词相对于句子中的两个实体词的距离;

将所述第一矩阵与所述第二矩阵进行矩阵连接生成第三矩阵;

对于所述句子中的每个词,根据该词相对于所述两个实体词的位置以及该词在句子中的位置给每个词分配相对第一实体词的第一权重和相对第二实体词的第二权重,将每个词的所述第一权重与所述第二权重之和的序列构建位置权重特征向量;

将所述第三矩阵与所述位置权重特征向量进行矩阵对应元素相乘得到第四矩阵;

用非线性激活函数对所述第四矩阵与预定的卷积层参数的乘积进行非线性变换得到第五矩阵;

对所述第五矩阵进行池化处理得到第一向量;以及

用所述非线性激活函数对所述第一向量与预定的句子特征生成参数的乘积进行非线性变换得到第二向量作为所述待分类向量。

3、根据附记2所述的方法,其中,

用所述非线性激活函数对所述第一向量与预定的句子特征生成参数的乘积进行非线性变换得到第二向量作为所述待分类向量还包括:

对所述两个实体词及其各自前后各一个词进行词嵌入生成第三向量;

获取所述两个实体词的上位词特征,将所述两个实体词分别转换为维度为词典中的所有上位词个数的独热向量,将获得的两个独热向量进行连接构成第四向量;以及

将所述第二向量、所述第三向量和所述第四向量进行连接所生成的向量作为所述待分类向量。

4、根据附记2所述的方法,其中,构建第一矩阵还包括:

向所构建的第一矩阵拼接每个词的自然语言处理特征向量来作为新的第一矩阵,所述自然语言处理特征包括词性标注特征、句法分析特征、语义角色标注特征中的至少一项。

5、根据附记2所述的方法,在构建所述第一矩阵的步骤之前还包括:

对所述句子进行预处理,保留所述两个实体词和与所述两个实体词相关的子句片断。

6、根据附记2所述的方法,其中,所述非线性激活函数为tanh或者relu。

7、根据附记2所述的方法,其中,所述池化处理为最大池化处理、最小池化处理或者平均池化处理。

8、根据附记2所述的方法,其中,根据该词相对于所述两个实体词的位置以及该词在句子中的位置给每个词分配相对第一实体词的第一权重和相对第二实体词的第二权重包括:

将所述句子分割为由第一实体词和第二实体词隔开的左侧区域、中间区域和右侧区域;

所述第一权重当所述词在所述中间区域时最大,当所述词在所述右侧区域时最小,当所述词在所述左侧区域时取中间值;以及

所述第二权重当所述词在所述中间区域时最大,当所述词在所述左侧区域时最小,当所述词在所述右侧区域时取中间值。

9、根据附记1所述的方法,其中,所述分类模型通过以下步骤训练得到:

获得训练数据集,所述训练数据集包括待训练的句子、句子中的实体词对和各句子包括的实体词对的语义关系方向和语义关系类别;

对于所述训练数据集的每个句子迭代执行以下步骤:

获得训练数据集,所述训练数据集包括待训练的句子、句子中的实体词对和各句子包括的实体词对的语义关系方向和语义关系类别;

对于所述训练数据集的每个句子迭代执行以下步骤:

基于句子中的每个词以及其相对于两个实体词的位置权重来生成待分类向量;

用方向分类特征参数和类型分类特征参数分别与所述待分类向量相乘,用所述非线性激活函数对各自的乘积分别进行非线性变换,从而生成方向分类特征和类型分类特征;

根据所述方向分类特征和所述类型分类特征,分别利用分类器来获得方向分类预测和类型分类预测;

基于所述方向分类预测和所述类型分类预测分别设计相应的方向损失函数和类别损失函数;

基于梯度下降算法,分别对所述方向损失函数和所述类别损失函数关于所述分类模型中的各个参数求偏导数,使得各个参数朝着同时减小方向损失和类别损失的目标调整,所述各个参数包括词向量表、两个位置向量表、卷积层参数、句子特征生成参数、方向分类特征参数、类型分类特征参数以及所述分类器中的方向分类预测参数和类型分类预测参数;以及

迭代执行上述步骤,直到所述方向损失函数和所述类别损失函数都收敛。

10、根据附记9所述的方法,其中,基于句子中的每个词以及其相对于两个实体词的位置权重来生成待分类向量包括:

对句子中的一个词窗中的每个词利用词向量表进行词嵌入生成词窗向量,将所述句子的每个词窗的词窗向量的序列构建第一矩阵;

将所述句子中的每个词的相对位置的两个数值分别根据两个位置向量表进行词嵌入生成的词向量的序列构建第二矩阵;

将所述第一矩阵与所述第二矩阵进行矩阵连接生成第三矩阵;

对于所述句子中的每个词,根据该词相对于所述两个实体词的位置以及该词在句子中的位置给每个词分配相对第一实体词的第一权重和相对第二实体词的第二权重,将每个词的所述第一权重和所述第二权重之和的序列构建位置权重特征向量;

将所述第三矩阵与所述位置权重特征向量进行矩阵对应元素相乘得到第四矩阵;

用非线性激活函数对所述第四矩阵与卷积层参数的乘积进行非线性变换得到第五矩阵;

对所述第五矩阵进行池化处理得到第一向量;以及

用所述非线性激活函数对所述第一向量与句子特征生成参数的乘积进行非线性变换得到第二向量作为待分类向量。

11、一种对实体词的语义关系进行分类的装置,包括:

待分类向量生成单元,被配置为基于句子中的每个词及其相对于两个实体词的位置权重来生成待分类向量;

分类特征生成单元,被配置为用预定的方向分类特征参数和预定的类型分类特征参数分别与所述待分类向量相乘,用所述非线性激活函数对各自的乘积分别进行非线性变换,从而生成方向分类特征和类型分类特征;以及

分类单元,被配置为根据所述方向分类特征和所述类型分类特征,利用预先存储的分类模型来确定所述两个实体词之间的语义关系方向和语义关系类型。

12、根据附记11所述的装置,其中,所述待分类向量生成单元包括:

第一矩阵构建子单元,被配置为对句子中的一个词窗中的每个词利用预定的词向量表进行词嵌入获得词窗向量,将所述句子的每个词窗的词窗向量的序列构建第一矩阵,所述词窗以句子中的一个词为中心、包括前后各n个词,n为大于等于1的自然数;

第二矩阵构建子单元,被配置为将所述句子中的每个词的相对位置的两个数值分别根据预定的两个位置向量表进行词嵌入获得的词向量的序列构建第二矩阵,所述词的相对位置为一个词相对于句子中的两个实体词的距离;

第三矩阵生成子单元,被配置为将所述第一矩阵与所述第二矩阵进行矩阵连接生成第三矩阵;

位置权重特征向量构建子单元,被配置为对于所述句子中的每个词,根据该词相对于所述两个实体词的位置以及该词在句子中的位置给每个词分配相对第一实体词的第一权重和相对第二实体词的第二权重,将每个词的所述第一权重与所述第二权重之和的序列构建位置权重特征向量;

第四矩阵生成子单元,被配置为将所述第三矩阵与所述位置权重特征向量进行矩阵对应元素相乘得到第四矩阵;

第五矩阵生成子单元,被配置为用非线性激活函数对所述第四矩阵与预定的卷积层参数的乘积进行非线性变换得到第五矩阵;

第一向量生成子单元,被配置为对所述第五矩阵进行池化处理得到第一向量;

待分类向量生成子单元,被配置为用所述非线性激活函数对所述第一向量与预定的句子特征生成参数的乘积进行非线性变换得到第二向量作为待分类向量。

13、根据附记11所述的装置,所述待分类向量生成子单元还被配置为:

对所述两个实体词及其各自前后各一个词进行词嵌入获得第三向量;

获取所述两个实体词的上位词特征,将所述两个实体词分别转换为维度为词典中的所有上位词个数的独热向量,将获得的两个独热向量进行连接构成第四向量;以及

将所述第二向量、所述第三向量和所述第四向量进行连接所获得的向量作为所述待分类向量。

14、根据附记12所述的装置,其中,所述第一矩阵构建子单元进一步被配置为:

向所构建的第一矩阵拼接每个词的自然语言处理特征向量来作为新的第一矩阵,所述自然语言处理特征包括词性标注特征、句法分析特征、语义角色标注特征中的至少一项。

15、根据附记11所述的装置,还包括:

预处理单元,被配置为对所述句子进行预处理,保留所述两个实体词和与所述两个实体词相关的子句片断。

16、根据附记12所述的装置,其中,所述非线性激活函数为tanh或者relu。

17、根据附记12所述的装置,其中,所述池化处理为最大池化处理、最小池化处理或者平均池化处理。

18、根据附记12所述的装置,其中,所述位置权重特征向量构建子单元进一步被配置为:

将所述句子分割为由第一实体词和第二实体词隔开的左侧区域、中间区域和右侧区域;

所述第一权重当所述词在所述中间区域时最大,当所述词在所述右侧区域时最小,当所述词在所述左侧区域时取中间值;以及

所述第二权重当所述词在所述中间区域时最大,当所述词在所述左侧 区域时最小,当所述词在所述右侧区域时取中间值。

19、根据附记11所述的装置,其中,还包括分类模型训练单元,所述分类模型训练单元通过以下步骤进行训练:

获得训练数据集,所述训练数据集包括待训练的句子、句子中的实体词对和各句子包括的实体词对的语义关系方向和语义关系类别;

对于所述训练数据集的每个句子迭代执行以下步骤:

基于句子中的每个词以及其相对于两个实体词的位置权重来生成待分类向量;

用方向分类特征参数和类型分类特征参数分别与所述待分类向量相乘,用所述非线性激活函数对各自的乘积分别进行非线性变换,从而获得方向分类特征和类型分类特征;

根据所述方向分类特征和所述类型分类特征,分别利用分类器来获得方向分类预测和类型分类预测;

基于所述方向分类预测和所述类型分类预测分别设计相应的方向损失函数和类别损失函数;

基于梯度下降算法,分别对所述方向损失函数和所述类别损失函数关于所述分类模型中的各个参数求偏导数,使得各个参数朝着同时减小方向损失和类别损失的目标调整,所述各个参数包括词向量表、两个位置向量表、卷积层参数、句子特征生成参数、方向分类特征参数、类型分类特征参数以及所述分类器中的方向分类预测参数和类型分类预测参数;以及

迭代执行上述步骤,直到所述方向损失函数和所述类别损失函数都收敛。

20、根据附记19所述的装置,其中,基于句子中的每个词以及其相对于两个实体词的位置权重来生成待分类向量包括:

对句子中的一个词窗中的每个词利用词向量表进行词嵌入生成词窗向量,将所述句子的每个词窗的词窗向量的序列构建第一矩阵;

将所述句子中的每个词的相对位置的两个数值分别根据两个位置向 量表进行词嵌入生成的词向量的序列构建第二矩阵;

将所述第一矩阵与所述第二矩阵进行矩阵连接生成第三矩阵;

对于所述句子中的每个词,根据该词相对于所述两个实体词的位置以及该词在句子中的位置给每个词分配相对第一实体词的第一权重和相对第二实体词的第二权重,将每个词的所述第一权重和所述第二权重之和的序列构建位置权重特征向量;

将所述第三矩阵与所述位置权重特征向量进行矩阵对应元素相乘得到第四矩阵;

用非线性激活函数对所述第四矩阵与卷积层参数的乘积进行非线性变换得到第五矩阵;

对所述第五矩阵进行池化处理得到第一向量;以及

用所述非线性激活函数对所述第一向量与句子特征生成参数的乘积进行非线性变换得到第二向量作为待分类向量。

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