Encoding Sentences with Graph Convolutional Networks for Semantic Role Labeling 论文阅读

一、任务背景

        论文研究的任务为语义角色标注(Semantic Role Labeling, SLR)。语义角色标注以句子的谓词为中心,不对句子所包含的语义信息进行深入分析,只分析句子中各成分与谓词之间的关系,即句子的谓词(Predicate) - 论元(Argument)结构,并用语义角色来描述这些结构关系。核心的语义角色有A0-5六种,A0通常表示动作的施事,A1通常表示动作的影响等,A2-5 根据谓语动词不同会有不同的语义含义。

        在一个句子中,谓词是对主语的陈述或说明,指出“做什么”, “是什么”或“怎么样,代表了一个事件的核心,跟谓词搭配的名词称为论元。语义角色是指论元在动词所指事件中担任的角色。主要有:施事者(Agent), 受事者(Patient), 客体(Theme), 经验者(Experiencer), 受益者(Beneficiary), 工具(Instrument), 处所(Location), 目标(Goal)和来源(Source)等。

图一:SLR示例

        以Figure 1为例,makes, repairs和engines是谓词;针对谓词makes,Sequa是其A0论元,engines是A1论元;针对谓词repairs,Sequa是其A0论元,engines是A1论元;针对谓词engines,jet是其A0论元。

        虽然以前有很多SRL方面的工作是基于句法的,但最近SRL却依靠了神经序列模型而将忽视了句法关系,其原因大概是缺乏一种简单高效的方法将句法信息结合到神经网络中。为了解决这个局限性,本文提出了一种将句法信息用GCN有效利用起来,添加到双向LSTM上,有效提高SRL效果的模型。

二、模型方法

1. Graph Convolutional Networks (GCN)

图卷积网络GCN是对图结构数据进行信息处理的一种深度学习模型,为了得到图数据中某顶点A的向量信息,从该顶点A的邻居节点中获取信息进行综合处理。

与传统的卷积神经网络不同,传统卷积神经网络的研究的对象是限制在Euclidean domains的数据,在图像为代表的欧式空间中,结点的邻居数量都是固定的,如图二左侧,绿色结点的邻居始终是8个;而在图这种非欧空间中,结点有多少邻居并不固定,如图二右侧,目前绿色结点的邻居结点有2个,但其他结点也会有5个邻居的情况。欧式空间中的卷积操作实际上是用固定大小可学习的卷积核来抽取特征。但是因为邻居结点不固定,所以传统的卷积核不能直接用于抽取图上结点的特征。于是,设计出了图卷积神经网络,对图数据进行深度学习。

图二:传统卷积(左)与图卷积(右)

具体地说,在GCN中:对于无向图G=(v,ε) ,其中v(|V|=n )是节点集合,节点个数为n;ε 是图中所有边的集合,(v,v)∈ε ,说明边集合包括自环。xvRm ,节点v 的列向量维度是m,则图中所有节点的向量矩阵是X∈Rm×n 。经过GCN计算后,节点v 的向量表示如下:

        其中,N(v) 是节点v 的所有邻居节点集合(包括自身),W是图网络的权重,b是偏置。在k+1层GCN中节点v 的向量表示如下:

        对多层GCN的理解如下:

图三:多层GCN示例

如图三所示,在第一层GCN时,A节点从 (A, B, C) 三个节点中学习新的信息,C节点从(A, B, C, D, E, F)中学习新的信息,即经过了第一层GCN的学习后,节点C包含了节点(C, A, B, D, E, F)的信息;在GCN第二层学习中,A继续从B, C两个节点中学习信息,而因为此时C已经包含了D, E, F等节点的信息,A节点也能学到D, E, F的信息。

2. Syntactic GCNs

        正如第一节任务背景最后一段所说,最近的SRL仅依靠了神经序列模型而将忽视了句法关系,其原因是缺乏一种简单高效的方法将句法信息结合到神经网络中。而在本文中,作者提出了一些方法,充分利用了句法依存树(一种有方向且边有类型的图)的信息,将其应用到GCN中。这一部分将详细介绍利用依存树的方法。

2.1 Incorporating directions and labels(GCN结合边的方向与类型)

        句法依存树是一个包含标签的有向图。作者规定:1)信息可以随着句法依存树的边进行双向传递,例如(Sequa, makes)和(makes, Sequa)都属于边集合;2)对于两个相邻节点间的标签,可以认为既包含句法信息,也可以表示这个边是与句法依存边同向或者反向,例如(makes, Sequa)的类型为subj,(Sequa, makes)的类型为subj';3)GCN的参数应当是特定于标签的。根据上面对于k+1层GCN中节点v 的定义:

和图四所示的例子,得出:

图四:syntactic GCN示例

        词disputed在依存图上指向词Lane,边的类型是SBJ,即disputed从邻居节点Lane上学习的信息与权重 Wsubj'(1) 有关,Lane从disputed学习的信息与 Wsubj(1) 有关;estimates从disputed中学习的信息与Wobj(1) 有关。其中,上标(1)代表的是第一层GCN, Wsubj'(1) ,  Wsubj(1) , Wobj(1) 是公式中的WL(u, v)(k) ,而L(u, v) 代表边的类型。

        然而,中文句法依存树边的类型一共41种,考虑的方向的话W的类型一共83(82+1, self-loop类型)种;英语句法依存树中有48种,考虑方向就是97种类型。也就是说一层GCN就要学习83类或97类权重或者偏置,对于只有中度大小的数据集而言,参数会训练的不充分。出于这个原因,论文中定义了公式(2):

        使用Vdir(u, v)(k) 代替WL(u, v)(k)dir(u, v) 表示依存图上的方向,一共有三种:1)与依存图上边的方向一致;2)与依存图边的方向相反;3)self-loop。这样不考虑依存图上边的类型而只考虑了方向,有效地将权重的个数由83或97种类型减少到三种类型。值得注意的是,作者没有对偏置b采取同样的替换,即b仍然保留原来的定义bL(u, v)(k)这样b中完整保留了句法信息,而W则采用三种类型概括,简单有效地利用了句法信息。

2.2 Edge-wise gating(逐边加gate)

        回到图一的示例上:

图五:部分重合的SRL和依存树

(上半部为SRL而下半部为依存树)

经过观察发现,SRL一部分的弧与依存树中的弧有一部分重合,如图五蓝色框部分所示。由此可以想到,依存树中的边如果和SRL中的边重合,则应加大此依存树上边的权重;而对于不重合的边应该降低权重。所以本文提出的方案是,在边上加一个gate。此外,由于句法解析的结果并不可能完美,依存树必然会存在或多或少的错误增加权重也可能会降低错误信息的比重。边上添加gate后的定义如下:

v 是当前要计算信息的节点, 𝑢是𝑣的一个邻居节点,要计算𝑣从𝑢节点学到信息。其中,hu(k) 是节点𝑢在第k层GCN的输出向量,vdir(u, v)(k)  和 bL(u, v)(k) 是权重和偏置,σ 是Sigmoid函数。将公式(3)和公式(1)结合即得到公式(4):

2.3 Complementarity of GCNs and LSTMs(GCN和LSTM的互补性)

在SRL任务中,通常谓语和论元间的路径包含多条句法依存边。LSTM已被证实能够有效解决SRL任务,但尽管LSTM在没有明确句法监督的情况下能够在某种程度上捕捉到句法信息,但是仍然难以解决谓语和论元较远的问题。但是如果可以在一个边上通过句法依存关系,将相隔较远的信息传递过来,那么这种因为距离的限制就会被缩小,而GCN明显可以提供这个能力。

因此,LSTM和GCN或许可以互补,而本文的实验结果也证实了这一点。

3. Syntax-Aware Neural SRL Encoder

        这部分内容将具体介绍本文提出模型的架构,主要有四个组成部分:1)word embedding;2)BiLSTM层;3)GCN层;4)分类器。

        模型结构示例图如下:

图六:包含四个部分的模型结构

3.1 Word Embedding

        对单个词,使用四个向量做拼接作为特征向量:1)随机初始化的word embedding,xre ;2)预训练好的word embedding,xpe ;3)随机初始化的词性标签,xpos ;4)随机初始化的lemma embedding,xle (只在该词是谓词时起作用)。其中,xre , xposxle 是随机初始化的,需要在训练时进行微调。依次拼接上述四个向量,获得词的特征表示。

3.2 Bidirectional LSTM layer

        LSTM模型在很多NLP任务中都被证明是有效的方法。考虑到当前词受左右文本的影响,本文选择了BiLSTM学习词汇在句子中的含义。

3.3 Graph convolutional layer

        LSTM能够学习序列信息,而GCN可以有效利用语义信息即依存树,考虑了结构信息,与LSTM互取所长。LSTM 擅长获取离当前词左右比较近的周围词词义,而GCN可以捕捉到离当前词比较远的词的含义

对语料的统计表明,有20% - 30%的谓词和论元间的间隔超过了5个词,所以GCN对这部分的识别应该有较好的效果。

3.4 Semantic role classifier

        对分类器的定义如下:

        其中,tpti 分别是GCN的输出,代表了谓词p和候选论元i的hidden state;𝑙是谓词p的类型。公式(5)就是计算谓词p和候选论元之间关系为 𝑟 的概率。

        值得注意的是,Wl, r 的定义没有采用统一定义,而是根据不同的lr由下面的公式(6)计算得出:

        其中,qlqr 分别是谓词和角色(role)的lemma embedding,都是随机初始化的。这样每个role的预测都是分开的。同时,希望模型能够学习到低频谓语的标注的良好表示

三、思考总结

  1. 由于依存类型众多、数据集大小有限,直接使用GCN的参数WL(u, v)(k) 进行训练会造成参数训练不充分。于是使用Vdir(u, v)(k) 代替,dir(u, v) 的取值一共只有三种;而对于偏置参数b的设置则没有进行替代。这样即在b里保留了完整的句法信息,又不至于使参数W难以训练。在其他的NLP任务中,如果遇到参数种类多难以训练,可以考虑这样的处理方式,即进行归类,将原本种类过多的参数种类减少
  2. 本文作者将LSTM和GCN结合起来获得了很好的效果,这么做是出于以下考虑:LSTM能够学习序列信息,而GCN可以有效利用语义信息即依存树,考虑了结构信息;LSTM 擅长获取离当前词左右比较近的周围词词义,而GCN可以捕捉到离当前词比较远的词的含义。LSTM和GCN正好互补,实验结果也证明了二者结合的有效性。没有任何一个方法是完美的、毫无缺点的。在其他NLP任务中,可以将现有方法进行结合,优势互补,或许能获得较好的结果

参考链接:

【1】知乎:https://zhuanlan.zhihu.com/p/31805975

【2】知乎:https://zhuanlan.zhihu.com/p/98627680

【3】简书:初探图卷积网络(GCN) - 简书

  • 26
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值