远程监督已成为关系抽取中的标准方法。然而,即使它是一种有效的方法,它也不是没有任何代价的 - 由此产生的远程监督的训练样本通常有非常多的噪声。为了对抗噪声,大多数最近的现有技术方法都集中于选择一个最佳句子或计算一个特定实体对在句子集合上的注意力权重。然而,这些方法并不是最理想的,假阳性问题仍然是性能的关键瓶颈。我们认为那些错误标记的候选句子必须用一个确定性的决策来对待,而不是使用注意力权重去处理。为此,我们的论文描述了一个根本的解决方案 - 我们探索一种深度强化学习策略来生成假阳性指标,我们自动识别每种关系类型的假阳性而没有任何监督信息。与之前研究中的删除操作不同,我们将它们重新分配到负面示例中。实验结果表明,与现有技术系统相比,该策略显着提高了远程监督的性能。
关系抽取是信息提取和自然语言理解的核心任务。关系抽取的目标是预测句子中实体的关系。例如,给定句子 “ B a r a c k O b a m a i s m a r r i e d t o M i c h e l l e O b a m a . ” “Barack~Obama~is~married~to~Michelle~Obama.” “Barack Obama is married to Michelle Obama.”,关系分类器旨在预测 “ s p o u s e ” “spouse” “spouse”的关系。在下游应用中,关系抽取是构建知识图谱的关键模块,它是许多自然语言处理应用程序的重要组成部分,如结构化搜索,情感分析,问答和摘要。
在关系抽取算法的早期开发中遇到的一个主要问题是数据稀疏性问题 - 它非常昂贵,并且人工几乎不可能通过数百万个句子的大型语料库来提供大量标记的训练实例。因此,远程监管关系抽取变得流行,因为它使用来自知识库的实体对从未被标记的数据中选择一组噪声实例。近年来,已经提出神经网络方法在这些噪声条件下去训练关系抽取器。为了抑制噪声,最近的研究已经提出使用注意力机制将软权重置于一组有噪声的句子上,并选择样本。然而,我们认为仅选择一个示例或基于注意力权重并不是最佳策略:为了提高鲁棒性,我们需要一个系统的解决方案来利用更多实例,同时消除假阳性并将它们放在正确的位置。
在本文中,我们研究了使用动态选择策略进行增强远程监督的可能性。更具体地说,我们设计了一个深度强化学习agent,其目的是学习根据关系分类器的性能变化选择是否删除或保留远程监督的候选实例。直观地,我们的agent想要消除假阳性,并重建一组清晰的远程监督实例,以根据分类准确性最大化奖励。我们提出的方法是独立于分类器的,它可以应用于任何现有的远程监督模型。根据经验,我们证明了我们的方法在各种基于深度神经网络的模型中带来了一致的性能增益,在广泛使用的纽约时报数据集上实现了强大的性能(Riedel等,2010)。我们的贡献主要是以下三个方面:
在第2节中,我们将讨论有关远程监督关系抽取的相关工作。接下来,我们将在第3节中描述我们强大的远程监督框架。在第4节中,显示了经验评估结果。最后,我们在第5节中进行总结。
Mintz等人是第一个将依存路径和特征融合结合起来进行远程监督的研究。然而,这种方法会引入许多假阳性,因为同一实体对可能有多个关系。为了缓解这个问题,霍夫曼等人解决了这个问题,提出了一个与多重关系共同学习的模型。 Surdeanu等人进一步提出了一个多实例多标签学习框架来提高性能。请注意,这些早期方法并未明确删除噪声实例,而是希望模型能够抑制噪声。
最近,随着神经网络技术的发展,引入了深度学习方法,希望对隐藏层中的有嘈杂的远程监督过程进行建模。然而,他们的方法只选择每个实体对中最合理的一个实例,不可避免地错过了许多有价值的训练实例。最近,林等人提出了一种注意力机制,从一组嘈杂的实例中选择合理的实例。但是,我们认为注意力权重分配可能不是最佳解决方案,因为假阳性应该被完全删除并置于负集中。Ji等结合外部知识丰富实体对的表示,以这种方式提高注意力的准确性。尽管上述方法可以选择高质量的实例,但它们忽略了假阳性的情况:一个实体对的所有句子都属于假阳性。在这项工作中,我们采取激进的方法来解决这个问题 - 我们将尽可能地利用远程标记的资源,同时学习一个独立的假阳性指标来消除假阳性,并将它们放在正确的位置。在我们的ACL提交之后,我们注意到一个同时期的研究冯等人也采用强化学习来学习实例选择器,但是它们的奖励是根据预测概率计算的。相反,在我们的方法中,奖励能通过关系分类器的性能变化直观地反映出来。我们的方法也是上述大多数方法的补充,可以直接应用于任何现有的关系抽取分类器。
我们引入了一种基于性能的,基于策略的强化学习方法,以启发式地识别假阳性样本。与先前未充分利用远程监督样本的研究相比(Lin等人,2016),我们认为 R L a g e n t RL~agent RL agent可用于鲁棒的远程监管关系抽取。我们首先描述我们RL方法的定义,包括基于策略的agent,外部环境和预训练策略。接下来,我们描述RL agent的再训练策略。我们agent的目标是根据关系分类器的性能变化来确定是保留还是删除远距离监督的句子。最后,我们描述了噪声抑制方法,在该方法中,我们教导基于策略的agent对较干净的远程监管训练数据集进行重新分配。
(1)定义
远程监管关系抽取是在自动生成的训练集的情况下去预测实体对的关系类型。但是,问题是这些涉及该实体对的远程监督句子可能无法表达所需的关系类型。因此,我们的 R L a g e n t RL~agent RL agent应该做的是确定在这种关系类型下,远程监督的句子是否是真正的正确实例。为了实现强化学习,外部环境和 R L a g e n t RL~agent RL agent是两个必不可少的组件,并且通过这两个部分之间的动态交互来训练鲁棒的agent。
首先,强化学习的先决条件是外部环境应建模为马尔可夫决策过程(MDP)。但是,关系抽取的传统设置不能满足此条件:输入句子彼此独立。换句话说,我们不能仅仅将正在处理的句子的信息作为一个状态。因此,我们将早期状态中的信息添加到当前状态的表示中,以这种方式将我们的任务建模为MDP问题。另一个组件, R L a g e n t RL~agent RL agent通过策略网络 π θ ( s , a ) = p ( a ∣ s ; θ ) π_θ(s,a)= p(a | s;θ) πθ(s,a)=p(a∣s;θ)进行参数化。策略网络根据状态向量计算动作 A = { a r e m o v e , a r e m a i n } A = \{a_{remove},a_{remain}\} A={aremove,aremain}的概率分布。需要注意的是,Deep Q Network(DQN)也是一种广泛使用的RL方法。但是,即使我们的动作空间很小,它也不适合我们的情况。首先,我们无法计算每个动作的即时奖赏;相反,只有在完成对整个训练数据集的处理之后,才能获得准确的奖赏。第二,策略网络的随机策略能够防止agent陷入中间状态。以下各节详细介绍了提出的RL方法中基本组件的定义。
(2)状态
为了满足MDP的条件,状态 s s s包括来自当前语句和在早期状态中已删除的语句的信息。句子的语义和句法信息由连续的实值向量表示。根据一些最新的监督关系抽取方法,我们利用词嵌入和位置嵌入将句子转换为向量。使用此句子向量,当前状态是当前句子向量与早期状态中已删除句子的平均向量的联合。我们对当前句子的向量给予相对较大的权重,以这种方式来放大当前句子信息对动作决策的主导影响。
(3)动作
在每个步骤中,我们的agent都需要确定实例对于目标关系类型是否为假阳性。每个关系类型都有一个agent。 每个agent都有两个动作:是从训练集中删除还是保留当前实例。通过将最初的远程监督数据集与标签错误的实例混合在一起,我们希望我们的agent能够使用策略网络来过滤嘈杂的实例。 在此清理后的数据集下,远程监督将有望获得更好的性能。
(4)奖赏
如前所述,我们模型的直觉是,当过滤了标签错误的实例时,关系分类器的性能会更好。因此,我们将分类器性能的变化作为由agent决定的一系列操作的结果驱动的奖赏。与准确性相比,我们采用 F 1 F_1 F1值作为评估标准,因为准确性在数据分布可能不均衡的多类别分类设置中可能不是指示性指标。因此,奖赏可以表述为相邻历迭代结果之间的差值:
R i = α ( F 1 i − F 1 i − 1 ) ( 1 ) R_i=\alpha(F^i_1-F^{i-1}_1)\qquad(1) Ri=α(F1i−F1i−1)(1)
如该方程式所示,在步骤 i i i中,只有 F 1 F_1 F1得到改善,我们的agent才能获得正奖赏。否则,agent将获得负面奖赏。在此设置下,奖赏的值与 F 1 F_1 F1的差异成比例,并且使用 α α α将该差异转换为合理数值范围。自然,奖赏的值在一个连续的空间中,这比二进制奖励(-1和1)更合理,因为此设置可以反映agent已删除的错误标签实例的数量。为了避免 F 1 F_1 F1的随机性,我们使用最近五个时期的平均 F 1 F_1 F1来计算奖励。
(5)策略网络
对于每个输入语句,我们的策略网络将确定它是否表示目标关系类型,如果与目标关系类型无关,则采取删除措施。因此,它类似于二进制关系分类器。CNN通常用于构建关系分类系统,因此我们采用窗口大小为 c w c_w cw,内核大小为 c k c_k ck的简单CNN来建模策略网络 π ( s ; θ ) π(s;θ) π(s;θ)。我们之所以不选择为远程监管精心设计的两个CNN变体(Zeng等,2015; Lin等,2016),是因为这两个模型属于袋级模型(同时处理句子袋)并处理多重分类问题;我们只需要一个模型来进行句子级的二分类。自然,采用了更简单的网络。
与远程监管关系抽取的目标不同,我们的agent是确定带标注的句子是否表达目标关系类型,而不是预测实体对的关系,因此,尽管当句子属于同一实体对时,它们仍被独立对待。在远程监督训练数据集中,一种关系类型包含几千或一万个句子;此外,奖赏 R R R只能在处理完此关系类型的整个正集合后才能计算。如果我们随机初始化策略网络的参数并通过反复试验来训练该网络,这将浪费大量时间,并且倾向于收敛性较差。为了克服这个问题,我们采用监督学习方式来预训练我们的策略网络,从而为基于策略的agent提供正确的学习方向。
受AlphaGo启发,预训练策略是RL相关工作中加快 R L a g e n t RL~agent RL agent训练的通用策略。通常,他们在强化学习之前利用带注释的数据集的一小部分来训练策略网络。例如,AlphaGo使用收集的专家动作对 G o R L a g e n t Go~RL~agent Go RL agent进行监督学习。但是,在远程监督关系抽取任务中,没有任何可用的监督信息,除非让语言专家为部分实体对做一些手动注释。但是,这种方式代价昂贵,这并不是远程监督的初衷。在这种情况下,我们提出了一种折衷的解决方案。对于良好对齐的语料库,在远距离监督数据集中,与假阳性样本相比,真实阳性样本在数量上应具有明显的优势。因此,对于特定的关系类型,我们将远程监督的正集合直接视为正集合,并随机抽取远程监督的负集合的一部分作为负集合。为了在此预训练过程中更好地考虑先验信息,阴性样本的数量是阳性样本数量的10倍。这是因为,当学习大量的阴性样本时,该agent更有可能朝着更好的方向发展。交叉熵损失函数用于训练此二分类器,其中负标签对应于去除动作,正标签对应于保持动作。
J ( θ ) = ∑ i y i l o g [ π ( a = y i ∣ s i ; θ ) ] + ( 1 − y i ) l o g [ 1 − π ( a = y i ∣ s i ; θ ) ] ( 2 ) J(\theta)=\sum_iy_ilog[\pi(a=y_i|s_i;\theta)]+(1-y_i)log[1-\pi(a=y_i|s_i;\theta)]\quad(2) J(θ)=i∑yilog[π(a=yi∣si;θ)]+(1−yi)log[1−π(a=yi∣si;θ)](2)
由于远距离标注实例的噪声性质,如果让此预训练过程过度拟合噪声数据集,则大多数样本的预测概率往往接近0或1,这很难校正且不必要地增加了强化学习的训练成本。因此,当准确性达到85%〜90%时,我们将停止此训练过程。 从理论上讲,我们的方法可以解释为增加策略梯度agent的熵,并防止策略的熵过低,这意味着缺乏探索可能是一个问题。
如图2所示,为了在没有任何监督信息的情况下发现标签错误的实例,我们引入了基于策略的RL方法。我们的agent试图处理的是来自远程监督的正数据集中的噪声样本;在这里,我们称其为DS正数据集。我们将其分为训练正集 P t o r i P^{ori}_t Ptori和验证正集 P v o r i P^{ori}_v Pvori;自然,这两个集合都有噪声。相应地,通过从DS负数数据集中随机选择来构造训练负数集 N t o r i N^{ori}_t Ntori和验证负数集 N v o r i N^{ori}_v Nvori。在每个epoch,Agent都会根据随机策略 π ( a ∣ s ) π(a | s) π(a∣s)从 P t o r i P^{ori}_t Ptori中删除一个有噪声的样本集 Ψ i Ψ_i Ψi,我们得到一个新的正集 P t = P t o r i − Ψ i P_t = P^{ori}_t-Ψ_i Pt=Ptori−Ψi。因为 Ψ i Ψ_i Ψi被认为是标签错误的样本,所以我们将其重新分配到负集 N t = N t o r i + Ψ i N_t = N^{ori}_t +Ψ_i Nt=Ntori+Ψi中。在此设置下,训练集的规模对于每个epoch都是恒定的。现在,我们利用清理后的数据 P t , N t {P_t,N_t} Pt,Nt来训练关系分类器。理想的情况是 R L a g e n t RL~agent RL agent能够通过重新定位标签错误的误报实例来提高关系分类器的性能。因此,我们使用验证集{P ori v,Nori v}来衡量当前代理的性能。首先,此验证集由当前agent过滤(即删除或保留)并重新分发为 { P v , N v } \{P_v,N_v\} {Pv,Nv};从中计算当前关系分类器的F1分数。最后,将当前和先前时期之间的F1分数之差用于计算奖赏。接下来,我们将介绍几种策略来训练更强大的 R L a g e n t RL~agent RL agent。
(1)在每个epoch中移除固定数目句子
在每个epoch中,我们让 R L a g e n t RL~agent RL agent删除固定数目或更少的句子(当一个epoch中被删除的句子数目在训练过程中未达到此固定数目),以此方式防止 R L a g e n t RL~agent RL agent尝试通过删除更多实例来删除更多误报实例。在固定数目的限制下,如果agent决定删除当前状态,则意味着删除其他状态的机会减少。因此,为了获得更好的报酬,代理应尝试删除包含更多否定实例的实例集。
(2)损失函数
R L a g e n t RL~agent RL agent的质量由所删除句子的质量反映出来。经过预训练过程,agent仅具有区分明显的假阳性实例的能力,这意味着难以区分的错误标记的实例的判别仍然是模棱两可的。特别地,该难以区分的部分是反映agent质量的标准。因此,无论这些容易区分的实例情况如何,在不同epoch中被删除部分的不同部分都是 F 1 F_1 F1得分变化的决定因素。因此,我们确定两个集合:
Ω i − 1 = Ψ i − 1 − ( Ψ i ∩ Ψ i − 1 ) ( 3 ) Ω i = Ψ i − ( Ψ i ∩ Ψ i − 1 ) ( 4 ) \Omega_{i-1}=\Psi_{i-1}-(\Psi_i\cap\Psi_{i-1})\qquad (3)\\ \Omega_{i}=\Psi_{i}-(\Psi_i\cap\Psi_{i-1})\qquad (4) Ωi−1=Ψi−1−(Ψi∩Ψi−1)(3)Ωi=Ψi−(Ψi∩Ψi−1)(4)
其中, Ψ i Ψ_i Ψi是epoch i i i的删除部分。 Ω i − 1 Ω_{i-1} Ωi−1和 Ω i Ω_i Ωi在图2中用不同的颜色表示。如果 F 1 F_1 F1分数在第 i i i个epoch中增加,则意味着第 i i i个epoch的动作比第 i − 1 i-1 i−1个epoch更合理。换句话说, Ω i Ω_i Ωi比 Ω i − 1 Ω_{i-1} Ωi−1具有更多负例。因此,我们将正奖励分配给 Ω i Ω_i Ωi,将负奖励分配给 Ω i − 1 Ω_{i-1} Ωi−1,反之亦然。总之,最终损失函数的公式如下:
J ( θ ) = ∑ Ω i l o g π ( a ∣ s ; θ ) R ( 5 ) + ∑ Ω i − 1 l o g π ( a ∣ s ; θ ) ( − R ) J(\theta)=\sum^{Ω_i}log~\pi(a|s;\theta)R\qquad(5)\\ \quad +\sum^{Ω_{i-1}}log~\pi(a|s;\theta)(-R) J(θ)=∑Ωilog π(a∣s;θ)R(5)+∑Ωi−1log π(a∣s;θ)(−R)
通过以上的强化学习过程,对于每种关系类型,我们获得一个agent作为假阳性指标。 这些agent具有识别相应关系类型的标签错误的实例的能力。我们采用这些agent作为分类器,以在嘈杂的远程监督训练数据集中识别假阳性样本。对于一个实体对,如果所有从语料库对齐的句子都归为假阳性,则该实体对将重新分配到否定集中。