本发明涉及信息抽取领域,具体而言,是挖掘实体与实体之间的语义关系。
背景技术:
信息抽取旨在从大规模非结构或半结构的自然语言文本中抽取结构化信息,主要任务有实体抽取、关系抽取、事件抽取。其中,关系抽取(relationextraction,re)研究的主要内容是从文本内容中挖掘出实体与实体之间的语义关系,利用关系抽取技术挖掘出实体之间深层的关系结构,具有深刻的理论意义和巨大的研究价值,它也是优化搜索引擎、建立知识图谱、开发智能问答系统的基础工作。
实践证明,有监督的学习方法能够抽取更有效的特征,其准确率和召回率都比较高,但它们严重依赖词性标注、句法解析等自然语言处理标注提供分类特征。而自然语言处理标注工具往往存在大量错误,这些错误将会在关系抽取系统中不断传播放大,最终影响关系抽取的效果。随着深度学习的迅猛发展,神经网络模型能够自动学习句子特征,无需依赖复杂的特征工程。许多研究工作倾向于使用神经网络模型去解决关系抽取问题。
使用神经网络模型主要面临两个问题:(1)没有足够的标注数据,训练数据集对实体及实体关系的覆盖率较低,在通用性方面表现不佳。并且人工标注训练数据需要花费大量的时间和精力;(2)由于词语用法在语义和语法上是复杂,多变的,现有模型使用预先训练的词向量是“静态”的,无法随着语言环境的改变而改变。从而其表征能力有一定的局限性。
技术实现要素:
有鉴于此,本发明的目的在于提供一种融入动态词向量的关系抽取模型及系统,利用远程监督方法,通过将知识库与非结构化文本对齐来自动构建大量训练数据,减少模型对人工标注数据的依赖,增强模型跨领域适应能力。并引用注意力机制,消除远程监督产生的噪音数据的影响。最后使用动态词向量技术,提高关系抽取的准确率。进而至少在一定程度上克服由于相关技术的限制和语料数目不足而导致的一个或者多个问题。
为了实现上述目的,根据本发明的一个方面,本发明提供如下技术方案:一种融入动态词向量的关系抽取方法,包括:
部分一:获取动态词向量:首先在大文本语料库上预训练一个深度双向语言模型(lm),然后根据该模型的内部状态学习到的函数作为词向量;这种词向量不是一成不变的,而是根据上下文而随时变化。该部分使用已有的elmo模型或bert模型,作为词向量的生成模型。
elmo模型,以双向语言模型为基础,用各层之间的线性组合来表示词向量的一种方式。
bert模型,用transformer的双向编码器表示。与最近的其他语言表示模型不同,bert旨在通过联合调节所有层中的上下文来预先训练深度双向表示。因此,预训练的bert表示可以通过一个额外的输出层进行微调,适用于广泛任务的最先进模型的构建。
部分二:采用引入注意力机制的分段神经网络模型进行训练,将获取的所述词向量分别计算所述词向量对应的权重,拼接后得到句向量表示。相同的实体对在不同的语句中,可能表示不同的关系。因此,在使用远程监督时,按实体对抽取语句,无法避免地引入噪音数据。该部分就是为了极大限度的减少噪音对关系抽取的影响。
更为具体地:所述分段神经网络模型的输入为包含实体对的训练语句;且所述训练语句被所述实体对分为三段,并将其映射为相应的三段词向量;使用卷积神经网络,分别对所述三段词向量进行特征提取,得到三段特征向量,分别计算所述三段特征向量的权重与关系向量;具体采用如下公式计算所述三段特征向量的权重和关系向量:
bi=conv(vectorsentence_i),i=1,2,3(1)
wi=wat(tanh[bi;vrelation]) ba(2)
vrelation=vent1-vent2(4)
其中,bi表示句子sentence第i部分经卷积神经网络提取的特征向量,vectorsentence_i表示句子sentence第i部分词向量;wi表示第i部分特征向量融合关系向量后,新得到的特征向量,wa、ba为模型参数;αi为特征向量权重,vrelation为关系向量;vent1和vent2分别表示第一实体向量和第二实体向量;
根据得到的特征向量的权重,将三段特征向量与相应的权重相乘,并进行拼接即可得到最终的句向量表示,所述句向量通过一个全连接层后进行softmax分类,具体采用如下方式:
s=contact[b1·α1;b2·α2;b3·α3](5)
c=softmax(w·s b)(6)
其中,s表示每个w经过加权求和后,拼接起来的新向量;c表示类别的向量。
根据本发明的另一方面,本发明还提供一种融入动态词向量的关系抽取系统,该系统包括:
语料采集模块,采用远程监督的方式,从人工构建的三元组知识库中抽取实体对,以实体对为关键字,从网络文本中抽取含有该实体对的语句,作为该关系下的训练语料。本模块实质上是网络爬虫模块,按语料类别平衡的原则,自动选择实体对,并用其关键字爬取相应的语料,作为该关系的训练语料;此外,本模块还兼有数据清洗的任务,过滤无效的非文本数据,按语句文本长度存入数据库中;
动态词向量生产模块,其将语句字符转化为向量,动态词向量根据不同语句生成,因而,设定一个语句长度阈值,大于该阈值则截取,小于该阈值则补齐;将对齐后的语句输入词向量生成模块,输出为句中每个词的词向量,进行拼接后,得到该语句的句向量,并送入关系收取模块中进行训练;
关系抽取模块,本模块抽取句中实体对的关系,以模块二制作的句向量作为本模块的输入,最后输出该语句所属的类别。
上述关系抽取模块采用分段神经网络模型,其输入为包含实体对的训练语句;
且所述训练语句被所述实体对分为三段,并将其映射为相应的三段词向量;
使用卷积神经网络,分别对所述三段词向量进行特征提取,得到三段特征向量,分别计算所述三段特征向量的权重与关系向量。
与现有技术相比,本发明实施例的有益效果是:本方法利用远程监督方法,将已有的知识库对应到丰富的非结构化数据中,以便生成大量的训练数据,从而缓解人工标注语料不足的问题,该系统可以降低对标注数据的依赖性,从而有效地减少人力成本。为了尽可能地获取实体间的特征信息,本模型的基础架构采用分段卷积神经网络(piecewiseconvolutionalneuralnetworks);并融入动态词向量技术进一步抽取例句的语义信息。最后,还使用attetion机制以减少噪音数据的影响。本发明采用远程监督方式自动获取训练语料的同时,结合注意力机制,消除由于自动获取语料时产生的错误标签,最后融入动态词向量的技术,进一步提高了实体关系抽取的精确率和召回率。
附图说明
为了更清楚地说明本发明实施方式的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明引入注意力机制的分段神经网络模型示意图。
图2是本发明动态词向量生产过程示意图。
图3是本发明融入动态词向量的关系抽取系统数据流示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述……,但这些……不应限于这些术语。这些术语仅用来将……区分开。例如,在不脱离本发明实施例范围的情况下,第一……也可以被称为第二……,类似地,第二……也可以被称为第一……。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。下面结合附图详细说明本发明的优选实施例。
如图1所示,本发明中引入注意力机制的分段神经网络模型,主要包括:
模型的输入为包含某实体对的训练语句,例如:周一,优酷与土豆合并后,成为第一大视频网站。
神经网络的主体是卷积神经网络,该语句被句中的两个实体分为三段,并将其映射为相应的词向量。使用卷积神经网络,分别对这三段向量进行特征提取。采用注意力机制时,三段特征向量与关系向量用如下公式计算权重:
bi=conv(vectorsentence_i),i=1,2,3(1)
wi=wat(tanh[bi;vrelation]) ba(2)
vrelation=vent1-vent2(4)
其中,公式(1)中bi表示句子sentence第i部分经卷积神经网络提取的特征向量,vectorsentence_i表示句子sentence第i部分词向量;公式(2)融合关系向量,使特征向量携带更多信息,wi表示第i部分特征向量融合关系向量后,新得到的特征向量,wa、ba为模型参数;公式(3)计算特征向量在attention层的相应权重,αi为特征向量权重,vrelation为关系向量;公式(4)计算关系向量,该向量由对应的第一实体向量与第二实体向量相减得到,vent1和vent2分别表示第一实体向量和第二实体向量,实体向量随机初始化,随模型训练而改变,事先初始化一个矩阵,矩阵每一行代表一个实体向量,给每个实体编一个标号,按标号找到相应的实体向量。
根据得到的特征向量的权重,将三段特征向量与相应的权重相乘,并进行拼接即可得到最终的句向量表示,所述句向量通过一个全连接层后进行softmax分类,具体采用如下方式:
s=contact[b1·α1;b2·α2;b3·α3](5)
c=softmax(w·s b)(6)
其中,s表示每个w经过加权求和后,拼接起来的新向量;c表示类别的向量。
如图2,其示例地示出动态词向量的生成过程。
动态词向量生成模块的核心部分是elmo/bert模型,训练语料以100句为一批训练批次,句子长度设定为200个字。若语句的字数大于该阈值,则将大于200的部分截断只保留前200字的内容,若语句的字数小于该阈值则,则用字符“<pad>”填充。模型输出则为训练语料相应的词向量。
图3示例了一种融入动态词向量的关系抽取系统。
本系统由语料采集模块、动态词向量生成模块和关系抽取算法模块组成。
语料采集模块核心是远程监督模块,该模块从知识库随机抽取关系三元组(知识库由领域专家构建,用形如(实体1,实体2,关系)的三元组进行存储)。并以三元组中的实体对为关键字,利用爬虫系统,从海量网络文本中爬取含有该实体对的语句,作为训练语料,并存入数据库中。领域专家定时更新知识库,不断添加具有先验知识的关系三元组,而采集模块则以24*7的方式不间断地运行,自动从海量的无结构文本中抽取相应实体对的语料,并存入数据库中。
动态词向量生成模块,是将语句字符转化为向量的模块。在模型训练时,首先从数据库中提取语句,送入elmo/bert模型,输出其相应的动态词向量,并送入关系抽取模块中进行训练。
关系抽取模块是本系统的核心部分,该模块使用的模型是引入注意力机制的分段神经网络模型。通过大量的训练语句训练模型,然后将模型保存。用来预测新文本语句的实体关系类别。
本系统利用远程监督方法,将已有的知识库对应到丰富的非结构化数据中,以便生成大量的训练数据,从而缓解人工标注语料不足的问题,该系统可以降低对标注数据的依赖性,从而有效地减少人力成本。为了尽可能地获取实体间的特征信息,本模型的基础架构采用分段卷积神经网络(piecewiseconvolutionalneuralnetworks);并融入目前学术界流行的“动态词向量技术”进一步抽取例句的语义信息。最后,还使用attetion机制以减少噪音数据的影响。本发明采用远程监督方式自动获取训练语料的同时,结合注意力机制,消除由于自动获取语料时产生的错误标签,最后融入动态词向量的技术,进一步提高了实体关系抽取的精确率和召回率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
1.一种融入动态词向量的关系抽取系统,该系统包括:
语料采集模块,采用远程监督的方式,从知识库随机抽取关系三元组,并以三元组中的实体对为关键字,利用爬虫系统,从海量网络文本中爬取含有该实体对的语句,作为训练语料,并存入数据库中;
动态词向量生产模块,其将语句字符转化为向量,首先从上述数据库中提取语句语料,送入深度双向语言模型,输出相应的动态词向量,进一步计算得到句向量,并送入关系抽取模块中进行训练;
关系抽取模块,该模块使用的模型是引入注意力机制的分段神经网络模型,通过大量的训练语句训练模型,然后将模型保存,用来预测新文本语句的实体关系类别;
其中,所述分段神经网络模型的输入为包含实体对的训练语句;
且所述训练语句被所述实体对分为三段,并将其映射为相应的三段词向量;
使用卷积神经网络,分别对所述三段词向量进行特征提取,得到三段特征向量,分别计算所述三段特征向量的权重与关系向量;具体采用如下公式计算所述三段特征向量的权重和关系向量:
bi=conv(vectorsentence_i),i=1,2,3(1)
wi=wat(tanh[bi;vrelation]) ba(2)
vrelation=vent1-vent2(4)
其中,bi表示句子sentence第i部分经卷积神经网络提取的特征向量,vectorsentence_i表示句子sentence第i部分词向量;wi表示第i部分特征向量融合关系向量后,新得到的特征向量,wa、ba为模型参数;αi为特征向量权重,vrelation为关系向量;vent1和vent2分别表示第一实体向量和第二实体向量;
根据得到的特征向量的权重,将三段特征向量与相应的权重相乘,并进行拼接即可得到最终的句向量表示,所述句向量通过一个全连接层后进行softmax分类,具体采用如下方式:
s=contact[b1·α1;b2·α2;b3·α3](5)
c=softmax(w·s b)(6)
其中,s表示每个w经过加权求和后,拼接起来的新向量;c表示类别的向量;w表示特征向量融合关系向量后,新得到的特征向量;b表示句子sentence经卷积神经网络提取的特征向量。
2.根据权利要求1所述的系统,其特征在于,所述语料采集模块还具有数据清洗功能,过滤无效的非文本数据,按语句文本长度将爬取的语句存入数据库中。
3.根据权利要求2所述的系统,动态词向量根据不同语句生成,设定一个语句长度阈值,大于该阈值则截取,小于该阈值则补齐;将对齐后的语句输入动态词向量生成模块,输出为句中每个词的词向量,进行拼接后,得到该语句的句向量。
4.根据权利要求3所述的系统,所述关系抽取模块以所述动态词向量生产模块生产的句向量作为输入,抽取语句中实体对的关系,输出该语句所属的类别。
5.根据权利要求4所述的系统,其特征在于,所述深度双向语言模型为elmo模型或bert模型。
技术总结