从非结构化文本中提取关系三元组是构建大规模知识图的关键。然而,现有的研究在**解决同一句子中的多个关系三元组共享相同实体的重叠三元组问题
**上很少有出色的成果。在这项工作中,我们引入了一个新的视角来重新审视关系三元提取任务,并提出了一个新的级联二元标记框架(CASREL),该框架源于一个原则性的问题公式。我们的新框架不像以前那样把关系当作离散的标签来处理,而是将关系建模为将句子中的主语映射到主语的函数,这样自然就处理了重叠的问题。实验表明,即使CASREL框架的编码器模块使用了一个随机初始化的BERT编码器,它的性能也已经超过了最新的方法,这表明了这个新的标签框架的强大能力。当使用一个预先训练好的BERT编码器时,它的性能得到了进一步的提升,在两个公共数据集NYT和WebNLG上,它的F1-score的绝对增益分别超过最强基线17.5和30.2。对重叠三元组的不同场景的深入分析表明,该方法在所有这些场景中提供一致的性能增益。
但是,大多数现有的方法不能有效地处理一个句子包含多个相互重叠的关系三元组的场景。图1演示了这些场景,三元组在一个句子中共享一个或两个实体。这个重叠的三重问题直接挑战了传统的序列标签模式,即每个标记只包含一个标签。
尽管他们取得了成功,但以前提取重叠三元组的工作仍有很多不足之处。具体地说,它们都把关系当作离散的标签,分配给实体对。该公式使关系分类成为一个困难的机器学习问题。第一,类别分布高度不平衡。在所有被提取的实体对中,大多数都没有形成有效的关系,产生了太多的负面示例。第二,分类器可以混淆在相同的实体参与多个有效的关系(重叠的三元组)。如果没有足够的训练实例,分类器很难分辨出实体参与了哪种关系。因此,所提取的三元组通常是不完整和不准确的。
在这项工作中,我们从关系三元提取的原则公式开始,就在三元层。这就产生了一个通用的算法框架,通过设计来处理重叠的三重问题。该框架的核心是一种新的视角,即不再将关系视为实体对上的离散标签,而是将关系建模为将主语映射到宾语的函数。
传统的做法是 f ( s , o ) − r f(s,o) - r f(s,o)−r,我们的做法是 f r ( s ) − o f_r(s)-o fr(s)−o。每个识别的对象(s)给定的主题在一个特定的关系;or不返回对象,表示不存在具有给定主语和关系的三元组。在这个框架下,三重提取是一个两步的过程:首先,我们确定句子中所有可能的主语;然后对每个主体应用特定关系标记来同时识别所有可能的关系和对应的对象。
CASREL是一个端到端的级联二进制标记框架。工作有以下主要贡献:
我们的目标是最大化训练集D的数据似然性:
Eq.(2)运用了概率链式法则。Eq.(3)利用了一个关键事实,即对于一个给定的主语s,任何与s相关的关系都将导致句子中相应的宾语,而所有其他关系在句子中必然没有宾语,即一个“空”宾语。
这种公式有几个好处。首先, 这种似然所对应的优化直接优化最终三元组的评估标准;其次,它在设计上处理了重叠三元组的问题;第三,对式(3)的分解启发了一种新的三元关系提取标记方案:我们学习了一个识别句子中主语实体的主语标记器p(s|xj);对于每个关系r,我们学习一个对象标记器pr(o|s, xj),它识别给定主题的特定关系对象。通过这种方式,我们可以将每个关系建模为一个将主题映射到对象的函数,而不是将(主题、对象)对的关系分类。
实际上,这种新的标记方案允许我们一次提取多个三元组:我们首先运行主语标记器来查找句中的所有可能的主语,然后针对每个找到的主语,应用特定关系的宾语标记器来查找所有相关的关系和对应的宾语。
编码器模块从句子 x j x_j xj中提取特征信息 X j X_j Xj,并将其提供给后续的标签解码模块。我们使用预先训练好的BERT模型对上下文信息进行编码。
基本思想是在两个级联步骤中提取三元组。首先,我们从输入的句子中检测主语。然后对于每一个候选主语,我们检查所有可能的关系,看看是否有一个关系可以把句子中的宾语和主语联系起来。级联解码器与上述两个步骤相对应,由图2所示的两个模块组成:主体标记器;以及一组特定于关系的对象标记器。
Subject Tagger
底层标注模块通过直接解码由n层BERT编码器产生的编码向量 h n h_n hn来识别输入句子中所有可能的主语。更准确地说,它采用两个相同的二进制分类器,通过给每个token分配一个二进制标记(0/1)来分别检测subject的起始位置和结束位置,表示当前token对应的是subject的起始位置还是结束位置。主题标记器对每个令牌的详细操作如下:
对于多subject检测,采用最接近的起始和结束对匹配原则,根据起始和结束位置标记器的结果来确定任意subject的长度。
在给定一个句子表示 x x x的情况下,主语标记者优化了下列似然函数来识别主语的span:
Relation-specific Object Taggers
高级标记模块同时识别在低级标记中获得的object及其与被标记对象之间的关系。如图2所示,它由一组关系特定的对象标记器组成,对于所有可能的关系,它与底层模块中的主题标记器具有相同的结构。所有对象标记器将同时为每个检测到的主体识别对应的object,特定于关系的对象标记器对每个令牌的详细操作如下:
关系r的对象标记器优化了以下似然函数,以确定给定句子表示 x x x和主语 s s s的对象 o o o的span:
本文主要研究如何从非结构化文本中提取多个关系事实。神经编解码器模型为联合提取关系和实体对提供了一种可行的新方法。然而,这些模型要么不能处理关系事实之间的实体重叠,要么忽略了生成整个实体对。在这项工作中,我们提出了一种新颖的架构,以两种优雅的方式扩充编码器和解码器。首先,我们对每个关系使用一个二元CNN分类器,它识别文本中保留的所有可能的关系,同时保留目标关系表示,以帮助识别实体对。其次,我们对文本执行多头注意和三元组注意,目标关系与文本的每个token交互,以一种连续的方式精确地产生所有可能的实体对。三个基准数据集实验表明,我们方法成功地解决了多个关系和多个实体对的问题,即使是复杂的重叠情况。
联合提取关系和实体对并不是一项简单的任务,因为文本中可能存在多个关系,而每个目标关系可能对应多个实体对。这个问题更具有挑战性的方面是,不同的三胞胎之间可能存在复杂的重叠。如下图所示:
现有的一些方法存在一定的缺陷,为了为一个关系类型提取多个实体对,CopyR和HRL都必须在多次传递中重复预测关系类型,这在计算上效率很低。
我们提出了一种联合提取多个关系和多个实体对(MrMep)的新方法,既简单又有效。MrMep利用一个三元组注意力来利用关系之间的连接和它相应的实体对。它首先预测所有可能的关系,然后对于每个目标关系,它使用指针网络的一个变体依次生成所有头和尾实体的边界(开始/结束位置),以此模型生成所有可能的实体对作为答案。这样,对于每个候选关系类型,只需要执行一次关系检测,就可以提取出所有可能的实体对,避免了CopyR和HRL都采用的关系识别的重复过程。此外,我们通过指针网络的一种变体来处理实体重叠问题。它可以顺序地在文本中的任意位置生成实体边界。因此,它允许实体自由地参与不同的三元组。
下图显示了提议的MrMep的总体架构。它由编码器、多关系分类器和变长实体对预测器三个主要部分组成。编码器预处理源文本和提取sequence-level特性使用很LSTM。多个关系分类器预测所有可能的关系, 变长实体对预测 对于每个可能的关系类型,顺序生成所有可能的实体对。
关系分类器的目的是识别文本中包含的关系类型。由于一个文本可能包含多个关系,受多标签分类思想的启发,我们分别设计了基于M CNN (Kim, 2014)的二进制分类器,其输出是对应关系是否是可能关系的概率分布。
为了更好的利用LSTM和CNN所提取的特征,在编码器的最后一个字表示 x n x_n xn和CNN的文本嵌入 Q Q Q之间使用一个拼接算子,得到一个融合向量:
第 j j j种关系类型的二值分类器如下(省略偏差 b b b进行简化):
如果文本中包含第 j j j种关系类型,则将 R j R_j Rj输入变长实体对预测器中帮助识别实体对。
给定一个文本,以及由关系分类器输出的目标关系类型,变长实体对预测器的目标是提取其所有可能的实体对。基于指针网络,我们通过识别文本中单词的开始和结束位置索引来确定一个实体。如图2所示,实体对是由一系列索引生成的。每两个索引可以识别一个实体,每两个实体按顺序形成一个实体对。我们的模型可以一次性探索所有可能的关系,并通过轻量级序列解码器预测给定关系的所有可能的实体对。
Multi-head Attention
Triplet Attention
在文本的每个位置,通过注意机制得到一个加权值,该加权值表示标记与目标关系类型的匹配程度。由于其目的是为目标关系提取候选实体对,因此我们将此注意称为三元注意。我们研究了实现三重关注的两种不同模式:并行模式和分层模式。
Paralleled Mode:
Layered Mode:
关系重叠vs实体对重叠:根据重叠是关系重叠还是实体对重叠,我们从测试集得到两个子集:(1)关系重叠:一个关系连接两个或两个以上不同的实体对(NYT测试集中有462个文本);(2)实体对重叠:一个实体对连接两个或两个以上的关系(NYT测试集中969个文本)。
从输入段落文本提取多个实体关系的最先进的解决方案总是需要对输入进行多次编码。本文提出了一种新的解决方案,可以完成多实体关系的提取任务,只需对输入语料库进行一次编码,并取得了新的最高水平的精度性能,如ACE 2005基准证明。我们的解决方案建立在预训练的自注意模型(Transformer)之上。由于我们的方法使用一次遍历来计算所有的关系,它可以很容易地扩展到更大的数据集;这使得它在实际应用中更有用。
RE的一种特殊类型是多重关联提取(MRE),其目的是识别来自输入段落的多个实体提及对之间的关系。在实际应用中,由于输入段主要包含多个实体对,因此有效解决MRE问题具有更重要和更实际的意义。然而,几乎所有现有的MRE任务方法采用单一关联抽取方法的一些变体,该方法将每一对提及的实体视为一个独立实例,并要求对多对实体进行多次编码。这种方法的缺点是很明显的——它的计算成本很高,而且当输入段落很大时,这个问题会变得更加严重,当编码步骤涉及深度模型时,这个解决方案就不可能实现。
本文提出了一种解决方案,通过对输入进行一次编码,解决了现有MRE解决方案中多次传递效率低的问题,极大地提高了效率和可扩展性。在本文中,我们使用BERT作为编码器,但该解决方案并不仅限于使用BERT。对原BERT体系结构进行了两种新的改进:(1)引入了一个结构化预测层,用于预测不同实体对的多重关系;(2)我们使自注意层意识到所有实体的位置。就我们所知,这项工作是第一个有意义的解决方案,可以解决MRE任务具有如此高的效率(编码输入在一次通过)和效率(实现一个新的最先进的性能),在ACE 2005基准证明。
本节描述了所提出MRE解决方案。该解决方案建立在基于BERT的结构化预测层上,利用one-pass编码实现对多个关系的预测,并建立实体感知的自注意机制,将多个实体的关系信息注入每个隐藏状态层。该框架如下图所示。
原始模型中使用的最终预测层并不适用于MRE任务。MRE任务本质上要求对以实体作为节点的图执行边预测。我们提出可以先使用BERT对输入段进行编码。因此,对实体提及 ( e i 、 e j ) (e_i、e_j) (ei、ej)的表示可以分别表示为 o i o_i oi和 o j o_j oj。在提到多个隐藏状态的情况下(由于字节对编码), o i o_i oi通过平均池聚合在上一个BERT层对应token的隐藏状态上。然后我们将其传递给一个线性分类器来预测它们之间的关系。
关键概念是使用单词和实体之间的相对距离来编码每个实体的位置信息。这些信息通过注意力机制在不同的层进行传播。
我们认为,如果距离超过一定的阈值,相对距离信息将没有帮助。因此,我们首先定义距离函数为:
这个距离定义将所有距离剪辑到一个区域 [ − k , k ] [−k, k] [−k,k]。
如上面定义的,如果标记 x i , x j x_i,x_j xi,xj属于一个实体,我们将根据它们的距离引入相对位置表示。距离是以实体为中心的方式定义的,因为我们总是计算从提到的实体到另一个令牌的距离。如果实体均未提及,则显式地为分配一个零向量。
本文提出了一种利用图卷积网络(GCNs)联合学习命名实体和命名关系的端到端关系提取模型GraphRel。与之前的基线相比,我们通过关系加权GCN考虑命名实体和关系之间的交互,以更好地提取关系。利用线性结构和依赖结构提取文本的序列特征和区域特征,利用完整的词图提取文本所有词对之间的隐含特征。使用基于图的方法,对重叠关系的预测比以前的顺序方法有了很大的改进。我们在两个公共数据集:NYT和WebNLG上评估GraphRel。比之前的工作性能提高了3.2%和5.8% (F1得分)。
当前关系抽取有下面两个问题一直还没有充分掌握:1. 对重叠关系的预测,即共同提及的关系; 2. 考虑关系之间的相互作用,特别是重叠关系。
关系提取的一个挑战是如何考虑关系之间的交互,这对于重叠关系,即共享公共实体提及的关系尤为重要。
For example,
(BarackObama, PresidentOf, UnitedStates)
can be inferred from(BarackObama, Governance, UnitedStates)
; the two triplets are said to exhibit EntityPairOverlap. Another case is that the former triplet could also be inferred from(BarackObama, LiveIn, WhiteHouse)
and(WhiteHouse, PresidentialPalace, UnitedStates)
, where the latter two are said to exhibit SingleEntityOverlap.
本文首先提出了一种用于实体识别和关系提取的神经端到端联合模型GraphRel,该模型处理了关系提取的三个关键方面。GraphRel学会通过叠加Bi-LSTM句子编码器和GCN 依赖树编码器,自动提取每个单词的隐藏特征。然后GraphRel 标记实体并预测连接实体的关系三元组,这称为第一阶段预测。
为了优雅地预测关系三元组,同时考虑到它们之间的交互,我们在GraphRel中添加了一个新的2阶段关系加权GCN。在实体loss和关系loss的指导下,在建立新的带关系加权边的全连通图时,第一阶段GraphRel沿着语义依赖提取节点隐藏特征。然后,通过对中间图进行操作,在对每条边进行最终分类之前,第2阶段GCN有效地考虑了实体之间的交互和(可能是重叠的)关系。
我们不仅堆叠了Bi-LSTM和GCN来考虑线性和依赖结构,而且采用了2nd-phase的关系加权GCN来进一步建模实体和关系之间的交互。
图2展示了所提出的包含两阶段预测的GraphRel的总体架构。在第1阶段,我们采用bi-RNN和GCN来提取序列和区域依赖词特征。给定单词特征,我们预测每个单词对的关系和所有单词对应的实体。
然后在第二阶段,在预测的第一阶段关系的基础上,为每个关系建立完整的关系图,并对每个图应用GCN来整合每个关系的信息,进一步考虑实体和关系之间的交互。
Bi-LSTM
对于每个单词,我们结合单词嵌入和词性嵌入作为初始特征:
Bi-GCN
们使用依赖解析器为输入语句创建依赖树。我们使用依赖树作为输入句子的邻接矩阵和使用GCN提取区域依赖特性。
最初的GCN是为无向图设计的。为了同时考虑输入和输出的单词特性,我们实现bi-GCN,我们将输出和输入的单词特征连接起来作为最终的单词特征。
Extraction of Entities and Relations
利用bi-RNN和bi-GCN中提取的词特征,预测词的实体,提取每个词对之间的关系。对于单词实体,我们根据1层LSTM以上的单词特征对所有单词进行预测,并使用分类损失对其进行训练。
对于关系提取,我们删除依赖边,并对所有词对做预测:
对于词对 ( w 1 , w 2 ) (w1, w2) (w1,w2),我们计算所有词对的关系趋势得分,包括非关系,表示为 S ( w 1 , n u l l , w 2 ) S(w1,null,w2) S(w1,null,w2)。我们对 S ( w 1 , r , w 2 ) S(w1,r,w2) S(w1,r,w2)应用softmax函数,得到 P r ( w 1 , w 2 ) Pr(w1, w2) Pr(w1,w2),它表示每个关系 r r r对 ( w 1 , w 2 ) (w1, w2) (w1,w2)的概率。
在第一阶段中提取的实体和关系不考虑彼此。考虑命名实体和关系之间的相互作用,同时考虑到词对文本中的隐藏特征,我们提出一个新颖的第二步关系加权GCN来进一步提取。
经过一轮预测后,我们为每个关系 r r r构建完整的关系加权图,其中 ( w 1 , w 2 ) (w1, w2) (w1,w2)的边为 P r ( w 1 , w 2 ) Pr(w1, w2) Pr(w1,w2),如图3所示:
第二阶段在每个关系图上采用bi-GCN,考虑不同关系的不同影响程度,并将聚合作为综合词特征。
第二阶段的bi-GCN进一步考虑了关系加权传播,并为每个单词提取更充分的特征。利用第二阶段的新单词特征,再次对命名实体和关联进行分类,以提高关联预测的鲁棒性。
对于GraphRel,由于我们预测所有单词对的关系,所以所有单词都可以与其他单词有关系:因此实体重叠不是问题。
从非结构化文本语料库中获取结构化信息,三元组提取是构建自动知识库的关键步骤。传统的提取模型采用命名实体识别和关系分类的方式分别提取实体和关系,忽略了两个任务之间的联系。最近,一些基于神经网络的模型被提出来解决这个问题,并取得了最先进的性能。然而,它们中的大多数都无法从一个句子中提取出多个三元组,而这在现实生活场景中却很常见。为了弥补这一不足,本文提出了一种提取多三元组的联合神经提取模型,即TME,该模型能够通过翻译排序机制,自适应地同时发现句子中的多个三元组。在实验中,TME表现出了优越的性能,在F1得分上比最先进的竞争对手提高了37.6%。
other
类别的对所误导(在RC中,other
表示实体之间不存在语义关系,或者不存在给定的目标关系集)。直观上,一个好的多重三元组提取器可以:
(1)明智地区分可能涉及到目标关系的候选实体;
(2)学习每个句子的实体和关系的完整特征;
(3)减轻other
对RC的影响,同时加强提取器的训练。
综上所述,我们提出研究一个新的多重三元组提取问题,这个问题有实际意义,但在很大程度上被忽视了,本文的贡献至少有四个:
们提出了一种基于Bi-LSTM+CRF的三部分标记方案(TTS),目的是给句子中的每个单词一个唯一的标记,用于提取实体特征。它由三个部分组成:
位置部分(PP)中,我们使用“BIO”对单词关于一个实体的位置信息进行编码:“B”表示单词位于一个实体的第一个位置;“I”表示它位于实体第一个后的位置;“O”表示它位于一个非实体的位置。
类型部分(TP)中,我们将单词与实体的类型信息联系起来,例如,在图1中,“PER”、“LOC”和“ORG”分别表示一个人、一个位置和一个组织。
关系部分(RP)中,我们注释句子中的一个实体是否涉及任何关系:“R”表示该实体在句子中涉及某些关系;而N表示不参与任何想要的关系。
我们构造了一个多层模型来获取关系特征。具体表示分为以下三层,分别是embedding、lstm 和 反向lstm:
我们要求 e 1 e_1 e1加上 r r r接近 e 2 e_2 e2。score函数描述为:
我们通过排序来完成候选实体对之间关系的决策,即适当的关系会被排得比其他关系高。为了更好地训练我们的关系排序器,我们构造了一个负的样本集T0,它是由原来正确的三元组实体对和替换的关系组成的:
为了训练关系嵌入并鼓励正三元组和负三元组之间的区分,我们在embedding层中将基于边缘的排序(rank)损失函数在训练集上最大化:
Multi-triplets Extraction
进行多三联提取时,对于给定的一句话,我们首先预测得到标签序列。进行关系三三元组提取时,当 f f f大于关系专用阈值才是一个候选人三元组。阈值取决于验证集。后来,我们所有候选三元组的前n个三元组视为提取的三元组。
从一个句子中揭示重叠的多重关系仍然是一个挑战。最新工作的神经模型不方便地假设每个句子是显式映射到一个关系的标签,不能妥善处理多个关系的重叠特征关系要么是忽略或很难识别。针对这个新问题,我们提出了一种利用胶囊网络提取多标记关系的新方法。在识别单个句子内高度重叠的关系方面,胶囊网络比目前的卷积网络或循环网络表现得要好得多。为了更好地聚类特征,精确地提取关联,我们进一步设计了基于注意力的路由算法和滑动边缘损失函数,并将它们嵌入到我们的胶囊网络中。实验结果表明,该方法确实能够提取高度重叠的特征,并且在关系提取方面比现有的方法有显著的性能提高。
之前的神经模型在句子有多个关系标签的情况下不太可能work,并且面临提取高度重叠和离散的关系特征的挑战,主要有以下两个缺点:
在本文中,为了提取重叠和离散的关系特征,我们提出了一种新的方法,即使用一个关注的胶囊网络进行公式化标签关系提取。如图1所示,本文方法的关系提取器由特征提取、特征聚类和关系预测三个主要层组成。第一种方法抽取低层语义。第二层将低级特征聚类为高级关系表示,最后一层预测每个关系表示的关系类型。
多重关系提取任务试图从一个句子中提取所有关系。现有的研究没有考虑句子中关系事实的提取顺序。在本文中,我们认为提取顺序是重要的。为了考虑提取顺序,我们将强化学习应用到一个序列到序列的模型中。该模型可以自由地生成关系。在两个公共数据集上进行的大量实验证明了该方法的有效性。
现有的工作都没有考虑到句子中多个三元组的提取顺序。本文讨论了句子中三元组的提取顺序的重要性。以图1为例。提取F1很困难,因为我们一开始就不知道“Arros negre”是什么。f2的提取比较直接,因为句子中的关键词“dish”、“region”是有帮助的。F2可以帮助我们提取f1,因为我们现在相信“arrosneft”是一种食品,所以这个“成分”是“Arrosnegre”和“Cubanelle”之间的一种合适的关系。从这个直观的示例中,我们可以看到被提取的三元组可能会影响其余三元组的提取。
为了自动学习句子中多个关系事实的提取顺序,我们提出了一个序列到序列的模型,并在该模型上应用了强化学习。我们之所以遵循生成类型,是因为这样的模型可以以不同的顺序提取三胞胎,便于我们探究三胞胎提取顺序的影响。我们的模型读取一个未加工的句子并一个接一个地生成三胞胎。因此,可以提取句子中的所有三胞胎。为了考虑三元组的提取顺序,我们将三元组的生成过程转换为一个RL过程。序列到序列模型被视为RL策略。动作是我们在每个时间步长中产生的。我们假设更好的生成顺序可以生成更有效的三胞胎。RL奖励与生成的三胞胎有关。一般来说,正确产生的三胞胎越多,奖励就越高。与负对数似然(NLL)损失的监督学习不同,它迫使模型按照ground truth的顺序生成三胞胎,强化学习允许模型自由生成三胞胎以获得更高的奖励。
首先介绍了我们的基本模型,然后介绍了如何在其上应用RL。与我们的神经模型也是一个具有复制机制的序列-序列模型。它读取一个原始句子并一个一个地生成三胞胎。我们没有训练NLL损失模型,而是将三联的生成过程作为一个RL过程,并使用reinforcement 算法对模型进行优化。因此,我们不必预先确定每个句子的三胞胎顺序,而是让模型自由地生成三胞胎。
该模型包括两个组件:编码器和解码器。该编码器是一种双向递归神经网络。我们表示编码器的输出为: O E = [ o 1 E , … , o n E ] O^E= [o^E_1,…,o^E_n] OE=[o1E,…,onE],其中 o i E o^E_i oiE等于编码器第 i i i个字的输出, n n n为句子长度。
生成一个三重值需要三次的步骤。即,在时间步长 t ( t = 1 , 2 , 3 , … , T ) t (t = 1,2,3,…, T) t(t=1,2,3,…,T),如果 t % 3 = 1 t \%3 = 1 t%3=1,我们预测这个关系。如果 t % 3 = 2 t\%3 = 2 t%3=2,我们复制第一个实体,如果 t t%3 = 0 t,我们复制第二个实体。 T T T是最大的解码时间步。注意 T T T总是能被3整除。
假设预定义有m个有效关系,在时间步长t (t = 1,4,7,…)中,计算每个有效关系的置信分数:
为了让模型生成NA-triplet,我们还计算了NA的置信值:
为了复制时间步t (t = 2,5,8,…)中的第一个实体,我们计算源句中每个单词的置信度得分:
同样,为了考虑NA-triplet,我们也计算了NA实体的置信分数。时间步t中的第二个实体(t = 3,6,9,…)与第一个实体几乎相同。唯一的区别是我们还应用了MASK,以避免复制的两个实体是相同的。
模型读取原始句子并生成输出序列。然后我们从输出序列中获得三胞胎并基于它们计算奖励。最后,利用增强算法对模型进行了优化。
State
Action
动作是我们在每个时间步骤中预测(或复制)的。在时间步长t和t%3 = 1中,需要模型(策略)确定三元关系;在时间步骤t中,t%3 = 2或0,模型需要确定从源语句复制的第一个或第二个实体。因此,作用空间A在不同的时间步长t中是变化的:
Reward
我们可以在每三步中得到一个三元组。一旦我们得到了一个三元组,我们就可以把它和ground truth进行比较,从而知道这个三元组是好是坏。一个良好生成的三元组意味着它与一个ground truth相同,而与任何已经生成的三胞胎不同。当我们经过三个步骤得到一个好的三元组时,我们给这三个步骤中的每一个分配奖励1。否则,我们给他们奖励0。在生成有效的三胞胎之后,我们可能需要生成NA -三胞胎。如果我们正确地生成了NA-triplet,我们将奖励0.5分配给这三个步骤中的每一个,否则奖励0。
该模型可以采用监督学习损失和强化学习损失两种方式进行训练。然而,监督学习迫使模型,按照ground truth的顺序生成三胞胎,而强化学习允许模型自由生成三胞胎。