查看原文
其他

关系抽取--有监督学习 Pipline 经典模型介绍

ShuYini AINLPer 2023-07-10

喜欢我们,点击上方AINLPer,关注一下,极品干货即刻送达!


引言

    随着深度学习以及词向量的发展,近年来大多的关系抽取模型都采用词向量作为关系抽取的主要特征,且均取得了非常好的效果。限于篇幅,本文仅对有监督学习下的 Pipline 经典模型进行介绍。

   回复:RE002 本篇涉及7篇文章打包下载。

    资料整理不易,最后帮作者点个赞点个在看吧,谢谢~~

往期IE系列文章

必看!信息抽取(IE)【关系抽取】
必看!信息抽取(IE)【命名实体识别NER】
必看!信息抽取(IE)【事件抽取】
参考文章:
【西多士】https://www.cnblogs.com/sandwichnlp/p/12020066.html

正文开始



1First Blood

1、TILE: Relation Classification via Convolutional Deep Neural Network

Author: Daojian Zeng

Paper: https://www.aclweb.org/anthology/C14-1220.pdf

论文简述: 该论文属于早期使用深度卷积网络模型解决关系抽取任务的经典论文。该论文将关系抽取问题定义为:给定一个句子S和名词对e1e2,判断 e1e2在句子中的关系,即将关系抽取问题等效为一个关系分类问题。与传统的方法相比,该模型只需要将整个输入句子以及简单的词信息作为输入,而不需要认为构造特征,就能得到非常好的效果。模型的主要架构如下所示:

模型的输入主要包括两个部分,即词汇级别特征以及句子级别特征


    lexical level features:词汇级别特征包括实体对e1 和 e2 的词嵌入向量,e1 和 e2 的左右两边词的词嵌入向量,以及一个 WordNet 上位词向量。WordNet 上位词特征指的是 e1 和 e2 同属于哪一个上位名次,如“狗”和“猫”的上位词可以是“动物”或者“宠物”,具体需要参考的 WordNet 词典是怎样构建的。直接将上述的5个向量直接拼接构成词汇级别的特征向量 l

    sentence level feature:句子级别特征采用最大池化的卷积神经网络作为主要特征抽取模型,输入特征包括词向量信息以及位置向量信息。

    Word Features:为了能够抽取到每个词完整的上下文信息,在句子首位额外添加了Padding字符,Word Embedding 层是预训练得到的,并且参与后续的训练任务

    Position Features:额外增加了时序特征来弥补卷积网络对时序特征抽取能力不足的缺陷。论文中的做法是为每个词拼接两个固定维度的位置向量,分别表示词距离两个关键实体的相对位置信息。如“中国 的 首都 是 北京”,“的”与“中国”的距离大小为 1,与“北京”的距离大小为 -3,再将 1 和 -3 在 Position Embedding 层中查表得到,Position Embedding 层是随机初始化的,并且参与到模型训练当中

    将上述的 Word Features 与 Position Features 拼接,输入到卷积网络中,再用Max Pooling 层把每个卷积核的输出进行池化操作。再将池化结果通过一个全连接层,激活函数为 tanh,将其看作一个更高层次的特征映射,得到最终的句子级别的特征向量 g

将词汇级别特征与句子级别特征直接拼接,即f=[l;g],最终将其送入分类器进行分类。


2、TILE:Relation Extraction: Perspective from Convolutional Neural Networks

Author: Thien Huu Nguyen.  

Paper: https://www.aclweb.org/anthology/W15-1506/

论文简述: 该论文首先提出关系分类和关系抽取两个主要任务:

    关系分类:两个实体之间存在多个关系类型,并且这多个可能关系中有一个 non-relation 类别,这多个类别的样本数量基本是平衡的

    关系抽取:关系抽取与关系分类的区别在于,关系抽取中的 non-relation 类别的样本数目可能远远超过其他类别的样本数目,这样的任务更有挑战性,但在实际中有更为广泛的应用。

    论文主要关注的是关系抽取任务。与上篇文章类似,同样是利用卷积神经网络作为主要的特征抽取模型,模型细节如下所示:

    Look-up tables:包括 word embedding 层和 position embedding 层两个部分。word embedding 为预训练得到,而 position embedding 则随机初始化,两者均参与训练。对于输入句子长度,将其限定在两个实体可能的最大长度的范围内,假设句子长度为 n,用 i−i1 和 i−i2 表示地i个词距离第一个实体和第二个实体的距离,则 position embedding 层的维度为(2n−1)×md,其中md 为位置向量的维度。假设句子中第 i 个词的词向量为 ei ,位置向量为 di1 和 di2,则该词的词表征为 xi=[ei;di1;di2]

    Convolutional layer:该模型的卷积层借鉴了 TextCNN 的模型结构,通过设计多个不同宽度的卷积核来抽取不同粒度大小的特征来提升模型性能。

    Pooling layer:最大池化操作,用于抽取最重要的特征。

    Classifier:全连接层,激活函数为softmax,还使用了 dropout 和 l2 正则化策略。

3、TILE:Classifying Relations by Ranking with Convolutional Neural Networks

Author: Cícero dos Santos,

Paper: https://www.aclweb.org/anthology/P15-1061/

论文简述: 这篇论文同样是在论文1 基础上的改进,模型的基本架构与之前基本一致,最大的改变损失函数。

模型结构如上图所示,主要有以下几个部分:

   -- 模型仅将整个句子作为输入,不考虑 lexical level feature。输入词表征包括 Word Embedding 和 Position Embedding 两个部分,获取方式与之前一样

   -- 卷积层为窗口为 3 的固定大小的卷积核,且也对输出进行了最大池化操作

   -- 对于得到的编码表征,输入一个全连接层,得到每个类别的非归一化分数,但不再对输出做 softmax 操作,而是直接对正类别和负类别进行采样,从而计算损失函数,损失函数(pairwise ranking loss function)如下所示:

这个损失函数主要有以下几个特点

   -- m+ 和 m− 为 margin 参数,γ 为缩放因子

   -- sθ(x) 为模型输出的非归一化分数,y+ 为正确标签,c− 为错误标签中分数大于 m− 的那些标签,作者认为这些标签具有更大的信息量。

   -- 显然,损失函数 L 将随着 sθ(x)y+ 的增大而减小,随着 sθ(x)c− 的减小而减小

   -- 此外,模型还考虑了两个实体不属于任何类别,将其看作类别 "Other",在训练的过程中,不考虑这个类别的分类,或者说在全连接层为该类别分配了一个不可训练的零初始化的神经元,对于该类别为正确标签的训练样本,损失函数的第一项为0,只保留第二项。在预测的时候,只当某个样本所有类别分数为负数时,才将其分类为 "Other"

   -- 模型在训练过程中还额外添加了 L2 正则化项

    小结:该模型的主要创新点在于其 Ranking loss 上,相比于 Softmax 函数,其能够使得模型不仅仅考虑到正类别分数要尽量高,还要关注易分类错误的类别分数尽量低。其缺点仍然是模型结构上的缺陷。


4、TILE: Bidirectional Long Short-Term Memory Networks for Relation Classification

Author: Shu Zhang

Paper: https://www.aclweb.org/anthology/Y15-1009/

论文简述: 在这篇论文之前有过利用简单的 RNN 和 BiRNN 作为模型编码模块的处理关系抽取任务的,但是效果较 CNN 来说差的就不是一点两点了,这里就不提了。该论文用经典的 BiLSTM 作为模型主要模块,此外,重新考虑了 lexical feature,实验证明 lexical feature 对模型性能确实有十分明显的提升效果。

    论文最后测试了不加人工特征,只用 word embedding,结果下降了1.5个点,说明人工特征还是有一定效果的。此外,论文还测试了移除某个特征对模型的影响,发现位置特征和 NER 特征的移除对模型的影响非常小,这也是十分好理解的,这里就不多说了。

5、TILE:Attention-Based Bidirectional Long Short-Term Memory Networks for Relation Classification

Author: Peng Zhou,

Paper: https://www.aclweb.org/anthology/P16-2034/

论文简述:该模型利用了典型的注意力机制对 BiLSTM 的输出进行了注意力加权求和,在仅利用了词向量的情况下效果接近加入人工特征的模型,可见注意力机制的作用也是十分强大的。

    模型的主要架构如上图所示。其实模型的主要架构还是比较常规的,下面简单介绍一下:

    Input Layer: 即输入的句子,每个词用 one-hot 向量表示 

   Embedding Layer: 预训练的词向量层,为 one-hot 向量提供查询词表

    LSTM Layer: 利用 BiLSTM 对输入句子进行编码,得到每个时刻的输出,即对应每个词的编码结果

    Attention Layer: 典型的 Soft-Attention 层。直接随机初始化一个参数向量作为 Query,用于与句子的编码结果进行一维匹配计算注意力分数,再对句子的各个词的编码结果进行加权求和。

6、TILE:Relation Classification via Multi-Level Attention CNNsAuthor: Linlin Wang

Paper: https://www.aclweb.org/anthology/P16-1123/

论文简述: 这篇文章公布其在 SemEval-2010 Task 8 上的分数达到了 88.0,但是没有开源,且复现结果也不太好,这个模型的效果存在争议,或许是论文中个别细节描述有误,但是其思路还是非常不错的。整个论文的主要内容为:

    模型主要依赖一种多层注意力机制

    第一层的注意力机制在输入层,用于计算所有词对目标实体的注意力大小。

    第二层的注意力机制在CNN的输出部分,用于计算对于目标关系的注意力大小。

    提出了一种新的损失函数,证明其效果要优于传统的损失函数。

    Input Representation: 输入表征与 Zeng CNN 一致,为 Word Embedding 和 Position Embeddding 的拼接。

    Input Attention Mechanism: 直接使用向量内积的方式来计算实体与其他词之间的相关性,并且将其构造成一个对角阵(其实可以直接用向量来表示的),再将其进行softmax归一化得到注意力分数。

    Attention-Based Pooling: 将常规的 Max Pooling 直接用 Attention 操作替代。

    Margin-based pairwise loss function: 作者定义了新的损失函数代替之前的分类器 + softmax + 交叉熵的做法。


7、TILE:Bidirectional Recurrent Convolutional Neural Network for Relation Classification

Author: Rui Cai  

Paper: https://www.aclweb.org/anthology/P16-1072/

论文简述:论文的主要思想是对两个实体间的词法句法的最短依赖路径 SDP (shortest dependency path)进行建模,这也是常见的一种关系抽取任务的建模方法,并与之前的建模方式存在一些区别,下面相对详细地阐述一下。

    由于受到卷积神经网络和循环神经网络特性的限制,之前的工作将句法依赖关系看作是词或者某些句法特征,如词性标签 (POS)。该论文的第一个贡献就是提出了一种 RCNN 的网络结构:

    利用两通道的 LSTM 对 SDP 进行全局信息编码

    利用 CNN 捕获每个依赖关系连接的两个单词的局部特征 

    此外,作者还指出,两个实体之间的依赖关系是有向的,如上图展示的因果关系示例图,若存在K个关系,则需要将其看作(2K+1)种分类问题,其中1为Other类。因此,作者提出其第二个贡献就在于使用双向的循环卷积神经网络 (BRCNN) 来同时学习双向的表征,可以将双向依赖问题建模为对称的依赖问题,从而将其简化为(K+1)的分类问题。模型细节如下图所示:



2往期回顾

学术圈

   收藏!「NLP」AINLPer 大 盘 点 !!    重磅!一千多万公司企业注册数据集   收藏!学术界全球知名学者教授信息大盘点(全)!  

长按识别下方二维码关注我们

资料整理不易,帮忙点个、点个【在看



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存