Classifying Relations by Ranking with Convolutional Neural Networks

句子关系抽取论文阅读(2015 ACL)

abstract

关系分类是一项重要的语义处理任务,而最新的系统仍依赖于费时费力的人工抽取特征。在本文的工作中,我们使用卷积神经网络来解决关系分类任务,该卷积神经网络通过排名(ranking)进行分类。我们提出了一个新的成对排名损失函数(pairwise ranking loss function)。我们使用SemEval-2010 Task 8数据集执行实验,该数据集旨在对句子中标记的两个名词之间的关系进行分类。使用CR CNN,我们可以在不使用任何昂贵的手工抽取的情况下,取得最好的正确率,并达到84.1的F1值。此外,我们的实验结果表明:(1)我们的方法比任何使用CNN+softMax classifier的模型更有效; (2)忽略“人工“分类的表示,依旧提高了准确性和查全率; (3)如果仅考虑两个目标名词之间的文本,仅使用词嵌入作为输入特征就足以实现最新的结果。

1.introduction

关系分类是一项重要的自然语言处理(NLP)任务,在许多复杂的NLP应用程序(例如问题解答和自动知识库构建)中,关系分类也被用作实现该过程的子任务。自上个十年以来,人们对将机器学习方法应用于此任务的兴趣日益浓厚(Zhang,2004; Qian等,2009; Rink和Harabagiu,2010)。原因之一是基准数据集(benchmark datasets)(例如task 8 dataset (Hendrickx et al., 2010))的可用性,该任务是对在句子中标记的两个名词之间的关系分类进行编码。例如,以下句子包含名词“introduction”和“book”两者之间的关系:Component-Whole。
The [introduction]e1 in the [book]e2 is a summary of what is in the text.
最近一些有关关系分类的工作集中在使用深度神经网络,目的是减少人工抽取(Socher等,2012; Zeng等,2014; Yu等,2014)。但是,为了获得最先进的结果,这些方法仍使用某些第三方语言处理工具,例如Word Net或NLP工具,例如依赖解析器和命名实体识别器(NER)。
在这项工作中,我们提出了一个新的卷积神经网络(CNN),我们将其命名为排序CNN(CR-CNN),以解决关系分类任务。所提出的网络为每个关系类学习分布式矢量表示。给定输入文本段,网络使用卷积层生成文本的分布式矢量表示形式,并将其与类表示形式进行比较,以便为每个类生成分数。我们提出了一个新的成对排名损失函数,该函数可以轻松减少人工类的影响。我们使用SemEval-2010 Task 8数据集执行了大量实验。使用CR CNN,并且不需要任何昂贵的手工功能,我们在此数据集方面的表现超越了最新技术。我们的实验结果表明:1)我们的方法比任何使用CNN+softMax classifier的模型更有效; (2)忽略“人工“分类的表示,依旧提高了准确性和查全率; (3)如果仅考虑两个目标名词之间的文本,仅使用词嵌入作为输入特征就足以实现最新的结果。
本文其余部分的结构如下。第2节详细介绍了本文提出的神经网络。在第3节中,我们介绍了有关实验评估设置的详细信息,然后在第4节中阐述了结果。在第5节中,我们讨论了深度神经网络中用于关系分类和其他NLP任务的先前工作。第6节得出本文结论。

2 The Proposed Neural Network

给定一个句子x和两个目标名词,CR-CNN为每个关系类c∈C计算一个分数。对于每个类c∈C,网络学习一个分布式矢量表示形式,该表示形式被编码为类嵌入矩阵中的一列Wclasses,如图1所示,网络的唯一输入是句子token化的文本字符串。第一步,CR-CNN将单词转换为实值(real-valued feature vectors)特征向量。接下来,使用卷积层来构建句子的分布式矢量表示,rx。最后,CR-CNN 通过计算rx和Wclass之间的点积来为每个关系类c∈C计算得分。
在这里插入图片描述

2.1 Word Embeddings

网络的第一层将单词转换为表示形式(representations),以捕获有关单词的句法和语义信息。给定一个包含N个单词x = {w1,w2,…,wN}的句子x,每个单词wn都转换为实值向量rwn。因此,下一层的输入是一系列实值向量embx = {rw1,rw2,…,rwN}单词表示由列向量编码在嵌入矩阵Wwrd∈Rdw×| V |中,其中V是固定大小的词汇。每列Wwrd i∈Rdw对应于词汇中第i个词的词嵌入。我们使用矩阵向量乘积将单词w转换为单词rw嵌入单词rw:rw = Wwrdvw
【由于暂时不会表示数学符号,先贴上原文】
在这里插入图片描述

2.2 Word Position Embeddings

在关系分类的任务中,确定两个目标名词之间的关系类别所需的信息通常来自与目标名词接近的单词。 Zeng等。 (2014)提出了使用单词位置嵌入物(位置特征)的方法,该方法可以帮助CNN追踪每个单词与目标实体的接近程度。
在本文的工作中,我们也尝试了Zeng等人提出的词位置嵌入(WPE)。 WPE是从当前单词到目标名词1和名词2的相对距离得出的。例如,在图1所示的句子中,***left***到***car***和***plant***的相对距离分别为-1和2。与(Collobert等,2011)中一样,每个相对距离都映射到维数为d 的向量,该向量用随机数初始化。 d 是网络的超参数。给定单词w相对于目标名词1和目标名词2的向量wp1和wp2,w的位置嵌入由这两个向量的拼接(concatenation)形成,wpew = [wp1,wp2]。
在使用词位置嵌入的实验中,将词嵌入和每个词的词位置嵌入拼接(concatenation)起来,形成卷积层的输入,embx = {[rw1,wpew1],[rw2,wpew2],。 …,[rwN,wpewN]}。

2.3 Sentence Representation

【卷积后经过padding,进行迟化操作,使得句子输出固定维度的向量】
NN的下一步包括为输入句子x创建分布式矢量表示rx。此步骤中的主要挑战是句子大小的可变性以及重要信息可以出现在句子中任何位置。在最近的工作中,当为不同大小的文本段创建表示时,卷积方法已用于解决这些问题。在这里,我们使用卷积层来计算句子的分布式矢量表示。卷积层首先在句子中的每个单词周围产生局部特征。然后,它使用max操作组合这些局部特征,以为输入句子创建固定大小的向量。
给定一个句子x,卷积层将矩阵矢量运算应用于embx = {rw1,rw2,…,rwN}中,每个窗口的size为k。我们首先定义向量 zn ∈ Rdwk,当卷积操作以第n个词为中心进行卷积时:zn = (rwn (k 1)/2, …, rwn+(k 1)/2 )|

2.4 Class embeddings and Scoring

给定输入语句x的分布式矢量表示,参数集为θ的网络通过使用点积计算类标签c∈C的分数在这里插入图片描述
其中Wclasses是一个嵌入矩阵,其列对不同类标签的分布式矢量表示进行编码,而[Wclasses] c是包含类c嵌入的列矢量。请注意,每个类嵌入中的维数必须等于句子表示的大小,该大小由dc定义。嵌入矩阵Wclasses是网络要学习的参数。通过从均匀分布U(- r,r)中随机采样每个值来初始化它:在这里插入图片描述

2.5 Training Procedure

通过最小化训练集D上的成对排名损失函数来训练我们的网络。每个训练回合的输入是句子x和两个不同的类别标签y +∈C和c∈C,其中y +是x和的正确类别标签c不是。令sθ(x)y +和sθ(x)c分别是网络使用参数集θ生成的类别标签y +和c的分数。我们针对这些分数提出了一个新的逻辑损失函数,以训练CR-CNN:
在这里插入图片描述
使用惩罚项进行调整,考虑了负样本,使用了L2正则化,采用SGD进行梯度优化。

2.6 Special Treatment of Artificial Classes

在这项工作中,如果将一个类别用于不属于任何真实类别进行分组,则我们将其视为人工类别。人工类的一个示例是SemEval 2010关系分类任务中的Other类。在此任务中,人工类别Other用于指示两个名词之间的关系不属于所关注的九种关系类别中的任何一种。因此,“Other”类非常嘈杂,因为它将许多可能没有太多共同点的不同类型的关系归为一组。

CR-CNN的一个重要特征是,通过省略其嵌入,可以轻松降低人工类的影响。如果省略了类别标签c的嵌入,则表示嵌入矩阵Wclasses不包含c的列向量。该策略的主要好处之一是学习过程仅针对“nature”类别。由于省略了人工类别的嵌入,因此不会影响预测步骤,即CR-CNN不会为人工类别产生分数。在我们针对SemEval-2010关系分类任务的实验中,当使用类别标签y = Other的句子x进行训练时,等式1右侧的第一项设置为零。在预测期间,仅当所有真实类别的分数均为负时,关系才被分类为“Other”。否则,按得分最高的类别进行分类。

3 Experimental Setup

3.1 Dataset and Evaluation Metric

数据集 SemEval-2010 Task 8,包括10,717 10,717 examples,9个关系类和一个other(表示不属于9类中的任意一个关系)。这9种关系分别是:Cause-Effect,
Component-Whole, Content-Container, EntityDestination, Entity-Origin, Instrument-Agency,Member-Collection, Message-Topic and ProductProducer.每个句子包含标记的2个实体e1和e2,并且会考虑他们之间的方向:Cause-Effect(e1,e2)和Cause-Effect(e2,e1)是2种不同的情况。
该数据集被划分为: 8,000 条训练实例 and 2,717 条测试实例。我们使用SemEval-2010 Task 8官方计分器对系统进行评估,该计分器针对九种实际关系(不包括“其他”)计算宏平均F1-分数,并考虑了实体1和实体2的方向性。

3.2 Word Embeddings Initialization

使用word2vec 进行词嵌入。

3.3 Neural Network Hyper-parameter

超参数的设置:
在这里插入图片描述

4 Experimental Results

4.1 Word Position Embeddings and Input Text Span

在本节讨论的实验中,我们评估了使用单词位置嵌入(WPE)的影响,并提出了一种几乎与WPE一样有效的更简单的替代方法。在关系分类任务中使用WPE的主要思想是,根据较近的单词比远处的单词影响更大的假设,向卷积层提示单词与目标名词的接近程度。在这里,我们假设对关系进行分类所需的大多数信息都出现在两个目标名词之间。基于此假设,我们进行了一个实验,其中卷积层的输入由单词序列{we1 1,…,we2 + 1}的单词嵌入组成,其中e1和e2对应于第一个的位置和第二目标名词。在表2中,我们比较了不同CR-CNN配置的结果。第一列表示是否使用了完整句子(是)或是否使用了目标名词之间的文本范围(否)。第二列告知是否使用了WPE。显然,使用完整的句子时必须使用WPE,因为F1从74.3跃升至84.1。
另一方面,仅在目标名词之间使用文本跨度时,WPE的影响要小得多。通过这种策略,我们仅使用词嵌入作为输入就可以达到82.8的F1,这与(Yu等人,2014)针对SemEval- 2010 Task 8数据集。此实验结果还表明,在此任务中,CNN适用于短文本。
在这里插入图片描述

4.2 Impact of Omitting the Embedding of the artificial class Other

在这里插入图片描述

4.3 CR-CNN versus CNN+Softmax

在这里插入图片描述

4.4 Comparison with the State-of-the-art

4.5 Most Representative Trigrams for each Relation

考虑和实体最相关的窗口大小为3个的连续词汇。

5 Related Work

多年来,已经提出了各种用于关系分类的方法(Zhang,2004; Qian等,2009; Hendrickx等,2010; Rink和Harabagiu,2010)。他们中的大多数将其视为多类分类问题,并将各种机器学习技术应用于该任务以实现高精度。

最近,深度学习(Bengio,2009年)已成为多种应用程序的诱人领域,包括计算机视觉,语音识别和自然语言处理。在不同的深度学习策略中,卷积神经网络工作已成功应用于不同的NLP任务,例如词性标记(dos San tos和Zadrozny,2014),情感分析(Kim,2014; dos Santos和Gatti) (2014年),问题分类(Kalchbrenner等人,2014年),语义角色标记(Collobert等人,2011年),主题标签预测(Weston等人,2014年),句子补全和响应匹配(Hu等人,2014年)。

Socher等人最近进行了一些有关关系分类的深度学习研究。 (2012),Zeng等。 (2014)和Yu等。 (2014)。在(Socher et al。,2012)中,作者使用递归神经网络(RNN)来处理关系分类,该网络对解析树中(parse tree)的每个节点用矩阵向量表示。根据解析树的句法结构,通过递归组合单词来自底向上计算完整句子的表示形式。其方法称为矩阵向量递归神经网络(MVRNN)。
Zeng等。 (2014年)提出了一种用于关系分类的方法,其中通过CNN学习句子级别的特征,其中单词嵌入和位置特征作为它的输入。同时,根据给定的名词提取词汇特征。然后,将句子级和词汇特征拼接到单个向量中,并喂入(feed into )softmax分类器进行预测。这种方法在SemEval-2010 Task 8数据集上实现了最先进的性能。

Yu等。 (2014年)提出了一种 Factor-based Compositional Embedding Model(FCM),该方法通过使用依存树和命名实体从单词嵌入中提取句子级和子结构嵌入。与(Zeng et al。,2014)相比,它在同一数据集上的准确性更高,但仅在使用语法信息时才如此。
本文提出的方法与(Socher等人,2012; Zeng等人,2014; Yu等人,2014)提出的方法有两个主要区别:(1)CR-CNN使用 pair-wise ranking method,而其他方法则通过在CNN / RNN顶部使用softmax函数来进行多类分类; (2)CR-CNN采用一种有效的方法来消除人工类的嵌入,而其他方法则平等地对待所有类。

6 Conclusion

在本文中,我们使用通过排名进行分类的CNN解决关系分类任务。这项工作的主要贡献是:(1)为SemEval-2010 Task 8数据集定义了一个最新技术,而没有使用任何昂贵的人工特征抽取; (2)使用类嵌入和新的损失函数进行分类; (3)an effective method to deal with artificial classes by omitting their embeddings in CR-CNN; (4)证明了仅使用目标名词之间的文本几乎与使用WPE一样有效; (5)为每种关系类型提取最有代表性的上下文表示。尽管我们将CR-CNN应用于关系分类,但该方法可用于任何分类任务。

原论文地址:
代码实现:Theano

总结

看了作者的原码,前面数据处理,实体和实体位置拼接进行embedding,后面进行卷积池化和普通模型一样,主要的区别是在损失函数上面,这个损失函数主要有以下几个特点:
在这里插入图片描述
其中,损失函数中:lm(损失函数中的 𝛾) 为缩放因子,margin_plus (m+) 和margin_minus( 𝑚)− 为 margin 参数
损失函数 L 将随着 𝑠𝜃(𝑥)𝑦+ 的增大而减小,随着 𝑠𝜃(𝑥)𝑐− 的减小而减小
𝑠𝜃(𝑥) 为模型输出的非归一化分数,𝑦+ 为正确标签,𝑐− 为错误标签中分数大于 𝑚− 的那些标签,作者认为这些标签具有更大的信息量。
此外,模型还考虑了两个实体不属于任何类别,将其看作类别 “Other”,在训练的过程中,不考虑这个类别的分类,或者说在全连接层为该类别分配了一个不可训练的零初始化的神经元,对于该类别为正确标签的训练样本,损失函数的第一项为0,只保留第二项。在预测的时候,只当某个样本所有类别分数为负数时,才将其分类为 “Other”
该模型的主要创新点在于其 Ranking loss 上,相比于 Softmax 函数,其能够使得模型不仅仅考虑到正类别分数要尽量高,还要关注易分类错误的类别分数尽量低。

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 游动-白 设计师: 上身试试
应支付0元
点击重新获取
扫码支付

支付成功即可阅读