Jointly Extracting Multiple Triplets with Multilayer Translation Constraints [论文研读]

一般的关系抽取方法是首先进行命名实体识别(NER),然后在进行关系分类(RC)输出抽取出的三元组(SPO)。在AAAI上的这篇论文《Jointly Extracting Multiple Triplets with Multilayer Translation Constraints》就提出了一个新的解决关系抽取的模型,可以联合命名实体识别和关系分类进行关系抽取,这样就避免了分步联合抽取的错误蔓延。另外论文还在解决一句话中有多个三元组(SPO)的方法上做出了很大的提升。

论文链接:Jointly Extracting Multiple Triplets with Multilayer Translation Constraints


摘要

抽取三元组的任务是自动构建知识库的关键技术,目的是从非结构化的文本中提取结构信息,这种技术在当今知识爆炸的时代有很大的意义。如前文所说,一般的方法是先命名实体识别在进行关系分类,这种方法忽略了命名实体识别和关系分类之间的联系。神经网络的出现使这类问题的解决达到了更高的水平。然而他们无法在一个句子中抽取出多个三元组,这也是现实生活中最为常见的问题。为了解决这类问题,论文提出了一种联合神经抽取模型,即TME模型。该模型通过翻译机制进行排序,能够自适应的同时发现句子中的多个三元组。

1.介绍

传统关系抽取三元组的弊端:a.忽略了命名实体识别和关系分类之间的关系;b.先做NER再做RC会有错误级联的影响。这里b的意思是如果NER就已经识别错误,那么RC的操作也会错误,会有错误传递的影响。

为了克服上面的缺点,最近的研究采取了联合模型,其中大多数是基于结构化的模型,需要过度的人工干预和有监督的自然语言处理工具包来构造多路复杂的特征。最近提出的几种联合提取实体和关系的模型,利用Bi-LSTM来学习共享隐藏特征,然后利用LSTM来提取实体,利用CNN提取关系;还有利用端到端模型提取实体,并利用依赖树来确定关系。这两个模型首先识别实体,然后对每一对确定的实体选择一个语义关系,再这样的情况下,RC分类器有相对较低的精确度,但是召回率比较高。因为它会被许多属于另一类的所误导。(产生了太多的候选)

补(召回率和精确度的定义)

召回率 = 正确判断为该类数  /  实际该类总数     eg:正确判断是恐怖分子占实际所有恐怖分子的比例

精确度 = 所有判断为该类数  / 实际该类总数      eg:所有判断为恐怖分子占实际所有恐怖分子的比例

所以不难看出,模型会使准确率低,而召回率高。 

与此同时,也有一些模型可以提取目标关系的约束表现,将联合抽取转化为标记问题,在同一个模式中抽取标记实体和关系,并利用端到端模型解决该问题。然而有一个比较强的假设:一个句子只能涉及一个关系;另外Katiyar and Cardie也用Bi-LSTM来抽取实体,并融入注意力机制提取关系,此模型假设实体在句子中只与它前一个实体相关联。在后两种模型的情况下,模型由较高的准确度,而召回率比较低,因为,一个句子只能识别出一个关系,候选范围有限。

总结上面的模型,因为模型假设的原因,要么抽取的候选范围太大,在成准确度较低;要么抽取的候选范围太小,召回率较低。主要的原因是因为忽略了现实语料中存在多三元组的影响。

以图一英文快讯为例,[Donald Trump arrivers in France,Pairs.],这里有俩两组关系即[Donald Trump,Arrive in,Pairs],[Pairs,Located in,France];以上模型都未能捕捉这两种关系。一方面假设一个句子中只涉及到一种关系,那么两种关系[Arrive in],[Located in]其中的一个必然回被忽略一个。另一方面,假设每一个实体之间都有关系,那么就会有太多的实体对要被判断,句子中的Elysee Palace就是噪音数据,对RC分类器造成影响。因此可能无法正确的检测或者选择多个三元组的目标关系。

论文的目的就是多三元组提取问题。一个好的三元组提取器应该具备 一下几点:1.明智的区分可能涉及目标关系的候选体。2.了解每个句子的实体和关系的完整特征。3.减轻其他关系对RC的影响,加强对提取员的训练。

为此,我们提出了一种新的多元组联合抽取模型,即TME。为了区分候选实体并排除无关实体,我们首先设计了一种三部分标记的策略。使用位置,类型和关系部分来描述句子中每一个单词的特征,像一所示。为了进行标注,我们采用了Bi-LSTM+CRF的方法,通过Bi-LSTM学习实体特征,然后通过CRF生成句子中的单词的标记序列,从而只识别出可能参与目标关系的实体。在关系抽取中,通过嵌入翻译(translation),使用外部语句无关嵌入描述关系特征;即需要实体和关系组成三元组(e_h,e_t,r),满足基于翻译(translation)的约束(e_h + r \approx e_t)。为了防止实体特征偏离Bi-LSTM,我们也强制两个附加的约束,具体如下图所示:

为了进一步减轻“其他关系”的影响,我们利用一个基于排名的提取器,在该提取器中我们只对关系列表中的候选关系进行排名,正确的三元组在排名中比较高。为了更高的训练联合模型,引入了负采样策略来支持鲁棒性的基于排序的关系提取器。

贡献:

  • 提出对于多三元组抽取问题的TME模型,它采用了一种新颖的多层嵌入翻译模型,在抽取三元组时尽量保留实体所具有的关系特征。
  • 设计了一个定制的三部分标记方案,该方案严格区分候选实体,这有助于减少来自无关实体的噪声。
  • 我们提出通过对候选关系进行排序来执行关系抽取,同时使用指定的关系特征向量来强制执行基于翻译的约束。
  • 模型的效果优于以前的模型效果。

2.相关工作

Joint Triplets Extraction:

Miwa and Bansal 2016:端到端模型抽取实体,依存树用来决定关系。

Zheng et al. 2017a:Bi-LSTM抽取隐藏层信息,LSTM抽取实体,CNN识别关系。

Katiyar and Cardie 2017:Bi-LSTM抽取实体,自注意力机制抽取关系。

Yang and Cardie 2013:提出解决该问题的整数线性模型。

Kate and Mooney 2010:使用卡-金字塔解析来联合提取实体和关系。

Singh et al. 2013:利用概率图形模型。

Named Entity Recognition:

Passos, Kumar, and McCallum 2014:隐含马尔科夫经典统计模型

McCallum and Li 2003; Finkel, Grenager, and Manning 2005:条件随机场经典统计模型。

Collobert et al. 2011:CNN+CRF。

Lample et al. 2016:Bi-LSTM+CRF。

Relation Classification:

Santos, Xiang, and Zhou 2015:利用CNN。

Zhang and Wang 2015:利用RNN(GRU and LSTM)。

Shen and Huang 2016,Wang et al. 2016:加入注意力机制捕获词序列和依赖信息。

Xu et al. 2015:最小依赖树的应用

3.框架和准备工作

3.1框架

许多现有的联合抽取模型的基本原理是:如果一个句子中包含两个以上实体,那么任何一对实体之间都有可能存在一种关系。自然的,关系抽取分为以下步骤:首先提取实体,然后对任意一对候选实体进行分类。然而,当一个实体与另一个实体没有关系或者有多重关系时,这个范式的缺陷就显示出来。

为了解决上述问题,提出了一个修订的框架(如上图所示),它在提取实体时生成候选实体对,而不需要实际约束,并且避免过多的无关实体进入关系分类阶段。包括如下内容:

  • 采用BI-LSTM+CRF获取实体特征的神经网络模型,通过多层模块的特征共享重用实体特征,通过翻译机制获取复杂关系特征;

  • 区分实体是否涉及所需关系的一种三部分标记方案;

  • 一种基于边际的关系排序器,用负样本训练,用于发现实体对之间的适当关系;

3.2准备工作

Bi-LSTM+CRF是被认为解决命名实体识别的标准化结构,此模型捕捉句子中不同的关系依赖由嵌入层(Embedding ),Bi-LSTM和CRF三个层次决定。

Embedding Layer:

对于输入\chi =(x_1,x_2,.......x_s),s是\chi的长度,构建一个输入嵌入i(input embedding)由三部分组成,即词嵌入(word embedding)w,字符级嵌入(character level embedding)c_h,大写嵌入( capitalization embedding)c_a,三者的维度分别是:d_w,d_o,d_c。引入字符级嵌入的目的是全面提取单词的字符特征,由字符驱动的Bi-LSTM完成。特别的,单词x的字符序列被送进Bi-LSTM产生向量c_hc_h是单词驱动的Bi-LSTM输出的第n个向量,这里n是单词x的长度。(这里没太明白论文表述)

Bi-LSTM Layer:

Bi-LSTM被用来捕获序列特征,输入是来自embedding Layer的序列嵌入( embedding sequence)\tau =(i_1,...,i_t,...,i_s),这里i_t的维度是d_i = d_w + d_o +d_c,在Bi-LSTM中,有两个LSTM,一个抽取前向隐藏层特征\underset{h_t}{\rightarrow},一个抽取反向隐藏层特征\underset{h_t}{\leftarrow}。Bi-LSTM可以描述为:

输出为h_t = [\underset{h_t}{\rightarrow},\underset{h_t}{\leftarrow}],这里使用激活函数来合并\underset{h_t}{\rightarrow},\underset{h_t}{\leftarrow},并且投射到d_l维的空间:

其中,d_l是不同标签的数目,W_l,W_t是权重矩阵,b_t,b_l是偏置。

CRF Layer:

论文中使用CRF决定每一个输出y_t的标签,CRF层的输入是Bi-LSTM层的输出,L = (l_1,l_2,.......l_{s-1},l_s)^T,这里L的大小为s\times d_lL_{i,j}表示为第i个词的第j个标记的概率得分,对于一个预测的序列y = (y_1,y_2,......y_{s-1},y_s),将CRF分数定义为:

其中T是转移矩阵(transition  matrix),T_{i,j}表示标签i转移到标签j的分数,并且y_0y_{s+1}分别是起始和结束标签。 然后,使用softmax通过以下方法计算序列y的概率:

y表示序列X所有可能的标签。

在这个框架中,我们利用Bi LSTM+CRF来执行三部分标记(即将引入),它只能识别可能参与某些关系的实体,CRF层的输出是包含单词是否是实体的一部分以及它是否与某个关系相关的信息的预测标记。

CRF学习参考链接(后期补上!!)

4.提出的模型模块

4.1 三标记范式

在Bi-LSTM+CRF的基础上,提出一种三标记范式(TTS),为了给每一个序列(句子)中的单词一个独一无二的标签,此标签被用来抽取实体。由三部分组成:

  • In position part (PP):使用“BIO”来编码单词的位置信息,“B”表示单词位于实体的第一个位置,“I”表示位于一个实体第一个位置后的位置。“O”表示位于非实体的位置。

  •  In type part (TP):将单词与实体类型相关联,像之前图片所示,“PER”表示一个人,“LOC”表示一个地点点,“ORG”代表一个组织。

  •  In relation part (RP):标记一个位于句子中的单词是否涉及任何的关系,“R”表示这个实体涉及一些关系,“N”表示没有参与任何的关系。

以图片1来举例,“Donald”是一个实体的第一个位置,而且是一个人,和其他的实体有关系,所以,表示为“B-PER-R”,而“Trump”是实体第一个位置以后的位置,所以用“I-PER-R”来表示。

与BILOU表示范式相比较,TTTS可以同时描述每个实体的位置,类型和关系信息。TTS的主要优势它在从句子中识别实体的同时,也去除了噪声实体,促进了多三元组的提取。

4.2 多层翻译机制

符号说明:

对于一个序列(句子)\chi,词嵌入(word embedding)表示为:W = (w_1,w_2,.....,w_s)\underset{H}{\rightarrow} = (\underset{h_1}{\rightarrow},\underset{h_2}{\rightarrow},.......\underset{h_s}{\rightarrow})是前向LSTM的输出,\underset{H}{\leftarrow}=(\underset{h_1}{\leftarrow},\underset{h_2}{\leftarrow},......\underset{h_s}{\leftarrow})是反向LSTM的输出。\tau ,\varepsilon ,\gamma分别为三元组集合,实体集合 和关系集合。三元组t = (e_1,e_2,r)\in \tau ,其中(e_1,e_2) \in \varepsilonr\in \gamma。对于一个在\chi中的实体,e = (x_i,.....,x_{i+j},.....x_{i+e_l})i表示实体在句子\chi中的起始位置,e_l表示实体的长度。将实体位置上的嵌入进行求和来表示实体嵌入:

模型:

对于句子中的三元组t = (e_1,e_2,r)\in \tau,我们得到了嵌入层中嵌入e_1的头实体和嵌入e_2的尾实体,并生成了嵌入r的对应关系,我们要求:e_1+r\approxe_2,得分函数描述为:

和上面相似,LSTM正向输出和反向输出也类似的得分公式:

4.3 联合抽取器的训练

论文主要进行对标签标注和标签关系两种预测,来实现多三元组的抽取。为了在BI-LSTM+CRF的基础上进行标签序列预测,我们最大化正确标签序列的对数概率p(y|X):

最大化的目的是为了鼓励模型构造一个正确的标签序列。

Margin-based Relation Ranker:

实体之间的关系通过排序进行判定,即合适的关系将会排名比较高,不合适的关系将会排名比较低。为了更好地训练排序器,引入了负样本\tau ^',它是有正确的关系进行关系替换得来的样本。

为了训练关系嵌入并区分正负三元组,我们在嵌入层中最大化基于边缘的排序损失函数:

这里\gamma>0,是一个超参数用来约束正负三元自的边界,Relu为激活函数,类似的LSTM的前向输出和反向输出的损失函数为:

因此,关系排名的损失函数如下:

联合等式1和等式2,最终的损失函数为:,其中,\lambda是平衡两个分量的加权超参数。然后用随机梯度下降(SGD)来训练模型。

Multi-triplets Extraction:

为了进行多三元组抽取,在给定一个句子的情况下,首先通过以下方法预测得到最大得分的标签序列:

随后,选择在TTS中PR标记为“R”的单词作为实体,构成{\hat{\varepsilon }} = (\hat{e_1},........\hat{e_m})m为候选实体的数目。之后,对于候选实体(\hat{e_i},\hat{e_j}),产生一个三元组,,并且计算分数通过公式:。对于每一个实体对,选择一个三元组\hat{t},如下:

                   

如果f_c(\hat{t})>\delta _r(某关系设置的阈值),则\hat{t}作为候选三元组,\delta _r由验证集上的正确率来确定。排序后,取前n个三元组作为提取的三元组,与测试集中的目标三元组进行比较。 在每个句子中,当且仅当一个提取的三元组与实体,它们的位置和关系完全匹配,则提取是正确的。

Discussion(优点讨论):

  • 嵌入平移机制直接保留实体的位置信息。 例如,如果我们改变实体在(Paris,France,Locations in)中的位置,即France+Locations in≈Paris,这在我们的模型中被认为是一个负三元组。 与使用额外方案来标记位置信息的(Zheng et al.2017b)相比,TME具有更强的自适应性
  • 与现有的RC任务神经模型相比,关系排序器将正确关系的检测问题转化为排序任务,而不是分类问题。 因此,它部分地解决了other类学习特征的困难,减少了本应为other类的非缩进关系的影响,更重要的是,它使得用负样本进行训练变得容易。
  • 与WithCotype(renetal.2017)相比,TME只使用句子中的信息,这增强了模型在各种情况下的可操作性。

5.实验和分析

5.1 实验设置

数据集:此次实验在两个可公开下载的数据集NYT-single和NYT-multi两个数据集。

  • NYT-single:包含从1987年到2007年的《纽约时报》文章,总共包含235000个句子。 过滤掉无效和重复的句子,最终得到67000个句子。特别是,内置测试集包含395个句子,其中大多数句子中都有单个三元组。
  • NYT-multi:是从NYT-single派生的数据集,它是专门为测试多三元组提取而构造的。 从过滤后的NYT-single中随机抽取1000个句子作为测试集,其余的作为训练集。 与NYT-single不同,测试集的很大一部分(39.1%)包含一个以上的三元组。

比较:

比较中,我们用以下模型作为基线模型:DS+logistic (Mintz et al. 2009),MultiR (Hoffmann et al. 2011), DS-Joint (Li and Ji 2014),FCM (Gormley, Yu, and Dredze 2015), LINE (Tang et al.2015), CoType (Ren et al. 2017), and NTS-Joint (Zheng
et al. 2017b),
初次之外,我们还做了TME的各种变体,来做彻底研究。

  1. TME-RR:该变体使用随机且稳定的关系嵌入r来进行模型训练;

  2. TME-MR:此变体使用额外的关系嵌入\underset{r}{\rightarrow}\underset{r}{\leftarrow},来代替\underset{f(t)}{\rightarrow}\underset{f(t)}{\leftarrow}中的r嵌入;

  3. TME-NS:这个变体在没有负采样的情况下训练模型;

实现:

对于参数的设置,选择词向量(word embedding)的维度d_w={20,50,100,200},字符嵌入(character embedding)的维度d_{ch}={5,10,15,25},大写嵌入(capitalization embeddings)的维度d_c={1,2,5,10},正负三元组的阈值\gamma={1,2,5,10},权重超参数\lambda={0.2,0.5,1,2,5,10,20,50},dropout的值为0或0.5,随机梯度下降(SGD)来优化损失函数。在测试集中随机选取10%的句子作为验证集,其余的句子作为评价集。最好的构造为:\lambda=10.0,\gamma=2.0,d_w=100,d_{ch}=25,d_c=5和dropout=0.5。

NYT-single上的不同提取模型的结果示于表2中,其中top-k中的k用于限制从每个句子中提取的三元组的数目。从表2可以看出,与其他选手相比,TME(top-1)达到了最先进的成绩,F1值达到0.530,并且它比第二名NTS-Joint高出7%; 此外,TME的查全率明显提高(提高了17.1%),而查准率略低(降低了5.4%),这证明基于排序的关系抽取器处理实体对间关系的适应性更强。

5.2 结果分析

比较分析:

为了提高多三元组的抽取的效率,使用NYT-multi数据集,与基线的比较结果在tabel3中。结果表明,TME(top-2)的F1值达到0.567,比NTS-Joint提高了36.7%。 与NYT-single上的结果不同,NYT-multi上的最佳结果是由top-2获得的,而不是由top-1获得的 ,验证了其处理多三元组句子的能力 。除此之外,与TME-MR,TME-RR和TME-NS相比,TME也取得了更好的效果,即:(1)在不同的环境中使用相同的关系嵌入层,可以有效地防止嵌入特征在BI-LSTM提取后发生偏移;(2)负抽样能有效提高表征能力 。

消融研究:

为了显示每个组件的有效性,我们每次删除一个特定组件,以了解其对性能的影响,具体的研究了如下几项对实验的影响:character embedding, CRF, TTS and single-layer translation-based model;还包括预训练和dropout的研究。table4总结了在NYT-multi数据集上的结果。

参数分析:

此外,我们还分析了不同的\lambda值对性能的影响,结果如图4所示。 若大于20或小于5,则F1值的准确性下降。 当\lambda=10时,TME达到平衡在实体和关系抽取的性能之间,并提供了最好的F1评分

表5表示了在测试集上预测值和正确值在句子上的结果对比:

  • TME在每个句子中发现多个三元组,不仅当一个实体涉及不同的关系时(参见句子II),而且当同一关系出现在多个实体对中时(参见句子III)。
  • 在句子I和句子II中,确定了伊朗和美国这两个不相关的实体,说明TTS有助于有效地提高性能。

6.总结

在本文中,指出了现有模型的缺点,即忽略了句子中实体之间的复杂关系,生成的候选实体对要么带有非语用约束,要么没有经过仔细的处理。在模型TME中,设计了一个三部分标记方案来识别实体,并且排除了与目标关系无关的实体参与关系抽取。 此外,TME使用了一个额外的嵌入来描述关系特征,使得基于边界的关系排序器能够被训练采用负抽样策略确定候选实体之间的适当关系。

 

发布了15 篇原创文章 · 获赞 2 · 访问量 2188

猜你喜欢

转载自blog.csdn.net/Mr_WangYC/article/details/105053615