一种基于强化学习的实体和关系联合抽取方法[发明专利]

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 (43)申请公布日 (21)申请号 201910375005.5
(22)申请日 2019.05.07
(71)申请人 四川大学
地址 610065 四川省成都市武侯区一环路
南一段24号
(72)发明人 何小海 周欣 刘露平 罗晓东 
卿粼波 吴小强 滕奇志 
(51)Int.Cl.
G06F 16/36(2019.01)
G06F 40/295(2020.01)
G06F 16/35(2019.01)
G06N 3/08(2006.01)
G06N 3/04(2006.01)
(54)发明名称一种基于强化学习的实体和关系联合抽取方法(57)摘要本发明公开了一种联合信息抽取方法。

该方法实现从输入文本中联合抽取出实体和关系信息,由联合抽取模块和强化学习模块组成。

联合抽取模块采用端到端设计,包含词嵌层、编码层、实体识别层和联合信息抽取层。

其中词嵌层采用Glove预训练词嵌库和基于字符粒度的词嵌表示相结合的方式。

编码层使用双向长短记忆网络对输入文本进行编码。

实体识别层和联合信息抽取层使用单向长短记忆网络进行解码。

强化学习模块用于去除数据集中的噪声,其策略网络由卷积神经网络构成。

策略网络包含预训练和再训练两个过程,在预训练中,使用预训练数据集对其进行监督训练。

在再训练过程中,获取联合抽取网络的奖励来对策略网络进行更新,是一个非监督
学习过程。

权利要求书2页 说明书6页 附图1页CN 111914091 A 2020.11.10
C N 111914091
A
1.一种基于强化学习的实体和关系联合抽取方法,其特征在于包括以下步骤:
(1)基于新的标准策略对训练数据进行标注;
(2)对训练数据集中的样本进行词嵌表示;
(3)从训练数据集中选择80%的样本数据作为预训练集对强化学习模块的策略网络进行预训练;
(4)依次从原始数据集中选择固定大小的数据集输入预训练好的策略网络中进行决策,根据策略网络的决策结果,将判定结果为0的样本按照得分高低顺序依次排序,并移除其中固定数量的得分最低的噪声数据;
(5)将去除噪声后剩下的干净样本送入联合抽取模型进行训练,当模型收敛后在验证集上进行验证,并记录下其F1值;
(6)将F1值与上一轮迭代中的F1值进行比较并计算得到奖励值(在该步骤初始训练时,其F1值初始化为0);
(7)用计算得到的奖励信息对策略网络参数进行更新;
(8)如果F1值上升,则将移除的数据去除,原始数据集更新为去噪声数据后剩下的部分,而如果F1值下降,则将移除的数据返回到原始数据集中,原始数据集保持不变;
(9)重复步骤4-8,直到联合信息抽取网络的F1值连续5次不再有提升。

2.根据权利要求2所述的实体和关系联合抽取方法,其特征在于:样本集中每个句子都会被表示成一个N×D的词向量表示,其中N为句子中单词的个数,而D为对应的词向量的维度;在该发明中,词向量由两部分构成:基于预训练的词嵌表示和基于字符级别的词嵌表示,其中预训练词嵌使用的训练工具为斯坦福提供的预训练词嵌工具Glove-word2vec,大小为300维;而字符级别的词嵌表示则是用一个双向LSTM网络对单词中每个字符词嵌向量进行编码后得到,其计算过程如下:
其中V char是单词字符的词嵌表示,在单词级别的词嵌中,得到的词嵌大小为100维,最后将预训练词嵌表示和字符级别的词嵌表示相结合构成400维的词嵌表示。

3.根据权利要求3所述的实体和关系联合抽取方法,其特征在于:策略网络使用卷积神经网络(Convolutional Neural Networks,CNN)作为分类器,在卷积神经网络中,过滤窗口大小为5,卷积核数量为100;在预训练卷积神经网络时,使用交叉熵作为训练目标函数,梯度下降使用Adam梯度下降算法,学习率为0.001,损失函数定义如下:
4.根据权利要求5所述的实体和关系联合抽取方法,其特征在于,在训练联合信息抽取网络中,联合信息抽取网络由四层构成:词嵌层、编码层、实体识别层和联合解码层,其中词嵌层和步骤(2)中的词嵌过程的一样,其他各层实现形式如下:
a)编码层,编码层用于提取输入句子的上下文语义信息,其使用双向长短记忆网络(Bidirectional Long Short-term Memory,Bi-LSTM)来对句子进行编码,其中隐含层神经元数量为300,计算公式表示如下:
其中V w为词嵌层输出的单词的词嵌信息;
b)实体识别层,实体识别层用于提取句子中的实体信息,其使用单向长短记忆网络(Long Short-term Memory,LSTM)对编码层输出信息进行解码后利用一个转移矩阵计算得到预测得分,解码层神经元的数量也是300,最后通过softmax分类器得到输出,该过程表示如下:
CON decode=LSTM(CON rep)
y t=W(e)CON decode+b(e)
通过softmax函数得到实体类别后,对实体类别进行词嵌表示,得到类别词嵌W L,其中类别词嵌的大小为100维;
c)联合解码层,联合解码层将同时输出实体和关系信息,该解码层使用一个单向LSTM 解码器,其隐含层神经元数量为300,解码过程和实体识别层一样,其唯一区别在于句子输入为句子编码表示CON rep和实体类别的词嵌表示W L相结合[CON rep,W L];
在联合网络的训练中,同时训练实体识别层和联合信息抽取层,在训练时,梯度下降算法使用Adam梯度下降法,学习率为0.001,其损失函数表示如下:
5.根据权利要求6所述的实体和关系联合抽取方法,其特征在于:奖励的计算过程如下:
其中F1i是在i轮中,联合模型在验证数据集上取得的F1值,而F1i-1是在i-1轮中,联合模型在验证数据集上取得的F1值。

6.根据权利要求7所述的实体和关系联合抽取方法,其特征在于:使用移除的数据对策略网络进行更新,如果F1值上升,则表示移除的是负样本,其标签值应该为0,而如果F1值下降,则表明移除的应该是正样本,其标签值为1,将移除的数据用于策略网络参数的更新,在更新时使用Adam梯度下降算法,学习率为0.001,其损失函数定义如下:
一种基于强化学习的实体和关系联合抽取方法
技术领域
[0001]本发明设计了一种基于强化学习的实体和关系联合抽取方法,属于自然语言处理技术领域。

背景技术
[0002]在自然语言处理任务中,实体识别和关系抽取是构建知识图谱的关键技术,也是语义分析、智能问答和自动摘要等自然语言处理应用的重要组成部分。

该任务的核心是抽取给定文本的实体及其两个实体之间的语义关系。

随着人工智能及知识图谱技术的发展,该领域目前受到了越来越多学者的关注。

[0003]传统方法通常将实体识别和关系抽取任务视为两个独立任务,即命名实体识别(Named Entity Recognition,NER)和关系分类(Relation Classification,RC)。

这些系统在设计和实现上较为简单,但是它们忽略了这两个子任务之间的相关性。

实际上,实体和关系抽取过程中往往要结合输入文本上下文之间的关联关系进行抽取,因此这类方法准确率较低。

此外这些方法很容易受到传播误差的影响,当实体识别任务出错时,会影响后面关系分类的结果准确率。

联合学习模型是解决这一问题的有效方法,它将NER和RC作为一个协同任务,同时从文本中提取实体和关系信息。

联合学习模型由于能够有效地整合实体和关系的信息,因此在这一任务中取得了较好的效果,这在许多已有的研究中已经得到证明(Zheng S,Hao Y,Lu D,Bao H,Xu J,Hao H,et al.Joint entity and relation extraction based on a hybrid neural network.Neurocomputing.2017;257:59-66;Katiyar A,Cardie C,editors.Going out on a limb:Joint Extraction of Entity Mentions and Relations without Dependency Trees2017:Association for Computational Linguistics;Miwa M,Bansal M,editors.End-to-End Relation Extraction using LSTMs on Sequences and Tree Structures2016:Association for Computational Linguistics)。

然而,现有的联合方法大多是基于传统特征提取的方法,这些方法严重依赖于手工设计的特征或其他自然语言处理(Natural Language Processing, NLP)工具包提供的特征。

近年来,研究人员开始将基于神经网络的方法应用于端到端实体和关系提取,这些方法大部分是通过端到端的神经网络来进行联合信息抽取。

由于基于神经网络的方法不依赖于外部特征,其模型的鲁棒性和泛化能力更强。

但目前大多数联合学习模型是基于参数共享的方式。

这些系统在上游的编码阶段使用相同的神经网络来提取输入句子的语义信息,但在下游需要两个不同的网络分别提取实体和关系。

[0004]为了实现在下游任务中通过同一个网络中完成实体和关系的抽取,Zheng等人(Zheng S,Wang F,Bao H,Hao Y,Zhou P,Xu B,editors.Joint Extraction of Entities and Relations Based on a Novel Tagging Scheme2017:Association for Computational Linguistics)提出了一种新的端到端的联系信息抽取模型,该模型主要是基于设计了一种新的标注方法。

在该标注方案中,每个实体词都会被赋予三重信息:实体类型、关系类型和关系的角色(用于说明该实体属于三元组的哪个部分)。

基于该标注方案,联
合信息抽取任务可以转化为序列标注问题,因此只需要一个解码网络就可以实现实体和关系的提取。

该方法和传统的方法相比,取得了最优的实验结果。

但是该方法仍然存在两个问题:重叠关系和噪声数据问题。

重叠关系是指一个词与其他词之间存在不止一个关系,必须用不同的标签来标记。

而在他们的新标签方案中,一个词只能被分配一个标签。

Wang等人(Wang S,Zhang Y,Che W,Liu T.Joint Extraction of Entities and Relations Based on a Novel Graph Scheme.international joint conference on artificial intelligence.2018:4461-7)通过设计一种新的基于图标准的方案,解决了上述的关系重叠问题。

而针对数据中存在噪声的问题,则目前还没有相关的方案予以很好的解决。

[0005]针对以上问题,本发明提出了一种基于强化学习的实体和关系联合抽取方法。

该方法旨在解决数据集中存在的噪声数据会对模型训练产生影响的问题。

该方案中,通过设计一个强化学习网络用于去除训练集中的噪声数据,从而使得在相对干净的数据集上训练的模型具有更强的鲁棒性。

发明内容
[0006]本发明针对数据集中存在噪声数据问题,提出了一种新的联合实体和关系抽取的网络模型。

所设计的网络是基于强化学习的,由联合抽取模块和强化学习(Reinforcement learning,RL)模块两部分组成。

联合抽取模块是一个端到端网络,包括词嵌层、编码层、实体识别层和联合解码层。

在联合解码层,该发明基于Zheng等人提出的新的标注方案,能够同时输出实体和关系信息。

由于联合解码网络只关心有关系的实体,因此本发明加入了命名实体识别层用于提取输入文本中的所有实体,并将提取的实体送入联合解码层以辅助进行更好的实体和关系抽取。

本发明设计的学习强化(RL)模块使用动态选择策略来对数据集进行自动处理,将噪声数据进行分离,并得到一个干净的数据集。

在RL模块训练中,将使用联合学习网络的性能变化来计算奖励值并用于指导策略网络的更新。

[0007]本发明通过以下技术方案来实现上述目的:
[0008]1、发明所述的基于强化学习的实体和关系抽取模型如图1所示,其包含联合信息抽取模块和强化学习模块两部分。

本发明所述的实体和关系抽取模型包含预训练步骤和重新训练步骤。

[0009]在预训练步骤中,主要对强化学习模块的策略网络进行预训练,按照如下方法进行:
[0010](1)从原始训练数据集中,随机抽取80%样本数据构成预训练数据,在预训练数据集中,根据数据是否包含有关系分成两类:正样本和负样本,正样本集用标签1表示,而负样本集用标签0表示。

其中正样本集中的每个样本包含至少一个关系,而负样本集中的样本不包含任何关系信息。

[0011](2)通过预训练词嵌和字符粒度词嵌表示的方式对样本集中句子的单词进行词嵌表示。

[0012](3)将词嵌表示的预训句子送入到强化学习模块的策略网络进行训练,强化学习的策略网络是二分类网络,用于决定样本是应该保留还是去除,其中正样本对应样本应该保留,而负样本则对应该样本应该去除。

[0013](4)在训练过程中,当策略网络的准确率达到85%的时候停止训练。

[0014]具体地在预训练步骤(2)中,样本集中每个句子都会被表示成一个N×D的词向量,其中N为句子中单词的个数,而D为对应的词向量的维度。

在该发明中,词向量由两部分构成:基于预训练的词嵌表示和基于字符级别的词嵌表示,其中预训练词嵌使用的工具为斯坦福提供的预训练词嵌工具Glove-word2vec,大小为300维。

而字符级别的词嵌表示则是通过一个双向长短记忆网络(Bidirectional Long Short-term Memory,Bi-LSTM)对单词中每个字符向量进行编码后得到。

其计算过程如下:
[0015]
[0016]其中V char是单词字符的预训练词嵌表示。

在字符级别的词嵌中,得到的词嵌大小为100维度。

最后将预训练词嵌表示和字符级别的词嵌表示相结合构成400维的词嵌表示。

[0017]在预训练步骤(3)中,策略网络使用卷积神经网络(Convolutional Neural Networks,CNN)作为分类器,在卷积神经网络中,过滤窗口大小为5,卷积核数量为100。

在卷积网络后面堆叠一个全连接层和一个softmax分类器来对句子进行分类。

[0018]在预训练步骤(4)中,使用交叉熵作为训练目标函数,梯度下降使用Adam梯度下降算法,学习率为0.001,损失函数定义如下:
[0019]
[0020]在重新训练中,需要对联合抽取网络和策略网络进行交互训练。

其中策略网络更新通过将联合抽取网络的性能变化计算奖励后来指导其参数的更新。

而更新后的策略网络又用于去除样本集中的噪声数据,去除掉噪声数据的样本集将用于对联合抽取网络进行训练。

两者不断交互,直到联合信息抽取网络能达到最好的结果。

其包含如下步骤:
[0021](1)记初始训练数据为P ori,从原始数据集中选择固定大小的样本集Ω(包含120个样本)送入到强化学习模块中进行判别,如果决策结果为1,则代表该样本应该保留,如果决策结果为0,则表示该样本应该丢弃。

如果判定结果为0的样本低于60个,则将所有结果为0的样本移除。

如果判定结果为0的样本高于60个,则将得分最低60个样本移除,每次移除的噪声数据集记录为R。

[0022](2)将去除噪声后得到的干净样本送入联合抽取模型进行训练。

[0023](3)当联合抽取模型收敛后,将其在验证集上进行验证,记录下其F1值。

[0024](4)将F1值与上一轮迭代中的F1值进行比较并计算得到奖励值(在该步骤初始训练时其F1值初始化为0)。

[0025](5)如果奖励为1,则训练数据集P ori更新为P ori-R,如果奖励为0,则将移除的噪声数据R返回到原始数据集中,训练数据集P ori保持不变。

[0026](6)用计算得到的奖励对策略网络进行更新。

[0027](7)如果F1值连续5次未增加,则停止训练,否则返回到步骤1中,进行新的选择迭代。

[0028]具体地在重新训练步骤2中,在训练联合网络中,联合网络由四层构成:词嵌层、编码层、实体识别层和联合解码层。

其中词嵌层和预训练过程过程中使用的词嵌一样。

其他各层描述如下:
[0029]a)编码层,编码层用于提取输入句子的上下文语义信息,其使用双向长短记忆网络Bi-LSTM来对句子进行编码,表示如下:
[0030]
[0031]b)实体识别层,实体感知层用于提取句子中的实体信息,其使用单向LSTM网络对编码层输出进行解码后利用一个转移矩阵得到预测得分,最后通过softmax分类器得到输出,该过程表示如下:
[0032]CON decode=LSTM(CON rep)
[0033]y t=W(e)CON decode+b(e)
[0034]
[0035]通过softmax函数得到实体类别后,对实体类别进行词嵌表示,得到类别词嵌W L [0036]c)联合解码层,联合解码层将输出实体和关系等信息,该解码层使用的也是一个单向LSTM解码器,其解码过程和实体提取层一样,其唯一区别在于句子输入为句子编码表示CON rep和实体类别的词嵌表示W L的相结合[CON rep,W L]。

[0037]在联合网络的训练中,同时训练实体识别层和联合信息抽取层,其损失函数表示如下:
[0038]
[0039]在重新训练步骤8中,其奖励计算过程如下:
[0040]
[0041]如果F1值上升,将得到一个奖励为1,如果F1值下降,则得到一个奖励为0。

[0042]在重新训练的步骤8中,使用移除的数据R对策略网络进行更新,如果F1值上升,则表示策略网络采取了正确的结果,其移除的是负样本,其标签值为0,而如果F1值下降,则表明策略网络采取了错误的结果,其移除的是正样本,其标签值为1。

将移除数据R用于策略网络参数更新的过程中,在梯度下降过程中,其梯度下降算法为Adam梯度下降算法,学习率为0.001,其损失函数定义如下:
[0043]
附图说明
[0044]图1是本发明网络模型的主要框架
[0045]图2是词嵌层的网络结构
[0046]图3是一个句子标签方案的例子
具体实施方式
[0047]下面结合附图对本发明作进一步说明:
[0048]图1是一个参考Zheng等人提出的标注策略的句子标签的例子,在进行训练前,我
们需要将所有训练语句都按照这个标签策略进行标注。

在该标签策略中,标签“O”赋给独立的单词,表示该单词要么是非实体词要么和其他实体词没有任何的关系。

除了“O”标记之外,其他标签由三部分信息组成:实体词的位置、关系类型和关系角色。

其中位置表示该单词是属于实体中的哪部分,位置信息采用“BILS”形式,其中“B”表示该单词位于实体词的开始位置,“I”表示单词位于实体词的中间,“E”表示该单词位于实体词的结束位置。

而“S”则表示该单词独立形成一个实体词。

关系类型信息从预定义好的关系集中获取,关系角色信息由数字“1”和“2”表示,其中“1”表示该实体属于三元组的第一个实体,“2”表示该实体属于三元组中的第二个实体。

现在根据附图举例说明该标记策略。

在这句话中,第一个实体“United States”和第二个实体“Trump”的关系是“Country-Presidient”。

因此,将单词“United”标记为“B-CP-1”,其中“B”表示该词是实体词的起始位置,“CP”表示关系类型,数字“1”表示该单词属于第一个实体。

单词“states”一词被标记为“E-CP-1”,其中“E”表示该单词位于实体的尾部。

第二个实体“Trump”被标记为“S-CP-2”,这意味着第二个实体只包含一个单词,关系类型为“CP”。

句子其他的非相关词都用标签“O”表示。

最后,我们可以从这句话中提取出一个三元组(United State,Country-President,Trump)。

[0049]图2是对输入句子进行词嵌表示的网络结构。

在该方案中,输入句子的词嵌由两部分构成:基于预训练的词嵌表示和基于字符粒度的词嵌表示。

其中预训练词嵌通过利用斯坦福提供的预训练词嵌库Glove-word2vec将单个单词映射成300维大小的词向量。

而在字符串粒度的词嵌表示中,通过一个双向LSTM网络来对单词中每个字符的词嵌进行编码后得到100维大小的词嵌表示。

最后将两者进行连接得到400维大小的词嵌表示。

[0050]图3是联合信息抽取模型。

模型由联合抽取模块和强化学习模块两部分组成。

联合抽取模块是一个端到端网络,用于从文本中联合提取实体和关系信息,其对输入句子的词向量表示利用双向LSTM网络编码后得到句子上下文的语义信息表示,然后将编码得到的信息输入到LSTM解码网络进行解码后得到实体标签信息。

解码得到的实体标签进行词嵌表示后和编码层输出的信息进行连接后一起输入到联合解码层的LSTM网络进行解码后得到实体和关系的联合信息输出。

强化学习模块主要是从数据集中去除噪声数据,其通过一个二分类的策略网络来对样本集中的每个句子进行过滤。

策略网络的输出结果为1表示该句子应该被保留,而如果输出结果为0则表示该句子是噪声数据,应该被丢弃。

策略网络的训练过程包含一个预训练和再训练的过程。

在预训练时从原始数据中选择80%的样本作为预训练数据及对其进行预训练。

在再训练的过程中,其奖励值来自于联合抽取网络两次性能变化,强化学习模块根据该奖励来指导策略网络的更新。

[0051]表1是本发明在NYT数据集上的实验结果,通过实验表明,提出的模型与现有最好的模型相比,其综合评价指标F1值取得最好的结果。

[0052]表1本发明网络模型在NYT数据集上的实验结果
[0053]
[0054]表2是实验过程的一些例子,在该发明方法中,其采用新的标准策略,能直接输出相应的三元组信息。

[0055]表2本发明在验证数据集上的一些实际结果
[0056]
[0057]
[0058]上述实施例只是本发明的较佳实施例,并不是对本发明技术方案的限制,只要是不经过创造性劳动即可在上述实施例的基础上实现的技术方案,均应视为落入本发明专利的权利保护范围内。

图1
图2
图3。

相关文档
最新文档