《Context Tracking Network: Graph-based Context Modeling for Implicit Discourse Relation Recognition》

上下文跟踪网络:基于图的隐性话语关系识别上下文建模

Abstract

内隐语篇关系识别(IDRR Implicit discourse relation recognition)旨在识别语篇中两个相邻句子之间的逻辑关系。现有的模型未能充分利用语境信息,而语境信息在解释每一个局部句子中起着重要作用。因此,在本文中,我们提出了一种新的基于图的上下文跟踪网络(CT-Net Context Tracking Network)来为IDRR的话语上下文建模。CT-Net首先将话语转换为段落关联图(PAG),其中每个句子通过不同类型的边从复杂的话语中跟踪其密切相关的上下文。然后,CT-Net通过专门设计的交叉粒度更新机制从PAG中提取上下文表示,该机制可以有效地集成句子级和token级上下文语义。PDTB 2.0上的实验表明,CT-Net比粗略模拟上下文的模型获得了更好的性能。

1 Introduction

内隐语篇关系识别(IDRR)旨在在没有连接词(例如,因为,但是)的指导下识别语篇中两个相邻句子之间的逻辑关系,这是语篇分析的主要挑战之一。随着深度学习的兴起,IDRR领域出现了许多基于句子建模的方法)。这些方法通常侧重于对这两个句子的局部语义进行建模,而不考虑更广泛的话语语境。

语境信息在理解句子中起着重要作用。以图1中的P={S1,S2,S3,S4}段为例,S3和S4之间的ground-truth关系为“比较”。

 图1:为PDTB 2.0的案例(左)构建的段落关联图(PAG)(右)。

结合S1和S2提供的背景信息,我们可以更容易地识别“achieve that price”(上涨:“每股15.75美元”至“每股29美元”)和“softened”(下跌:“每股29”至“25美元”)所反映的“比较”关系。Dai和Huang在利用更广泛的话语语境方面迈出了一步,他们使用层次化的BiLSTM(H-LSTM)来建模整个段落,而不仅仅是两个句子,以获得上下文感知的句子表示。然而,他们的模型仍有两个局限性。首先,他们大致合并了段落中的所有信息,这削弱了与当前句子密切相关的关键上下文的作用。第二,H-LSTM存在长距离遗忘问题,这可能无法模拟跨多个句子的长距离和非连续依赖性(如图1中的绿线)。

为了克服这些限制,我们提出了一种新的上下文跟踪网络(CT-Net),它可以从复杂的话语中跟踪每个句子的基本上下文,而不受空间距离的影响。CT-Net通过两个主要步骤计算上下文表示。首先,它将段落转换为段落关联图(PAG)(图1),其中包含三种类型的句子之间的边,即(1)邻接边(黑线):连接相邻句子,(2)共指边(紫色线):连接具有共指关联的句子,以及(3)词汇链边(绿线):包含相关单词的句子。每个句子都可以沿着这些边追踪密切相关的上下文,包括涉及同一对象或主题的长距离句子。其次,CT-Net提取PAG上的上下文表示。为了有效地合并token携带的细粒度信息,我们提出了交叉粒度更新机制,该机制将被多次重复执行。在每一轮中,它通过三个过程执行语义交换:

• token到句子更新: 用其token更新句子表示以掌握细粒度语义。

逐句更新:在PAG上执行句子之间的交互以获得上下文感知的句子表示。

句子到token更新:使用上下文感知句子表示来更新token,以便每个token也可以包含上下文信息。获得的上下文感知token表示将用于下一轮的计算。

经过多次循环,CT-Net获得了完全结合句子级和token级上下文语义的上下文表示。

我们的主要贡献是两处。首先,我们提出了一种新颖的基于CT-Net的多粒度上下文语义网络,该网络构建了复杂语篇中每句密切相关上下文的PAG,并通过交叉粒度更新机制整合了多粒度上下文语义。其次,在PDTB 2.0上的实验表明,CT-Net比各种粗略模拟语篇语境的方法获得了更好的性能。

2 Model

CT-Net的输入是段落P = (S1, S2,…, Sn−1,Sn)。这里Sn−1和Sn是相邻的要分类的句子,而S1,…, Sn−2是背景信息的上下文。我们的目标是确定Sn−1和Sn之间的关系。我们首先为P(第2.1节)构建段落关联图(PAG),然后在PAG上使用跨粒度更新机制提取Sn−1和Sn(第2.2节)的上下文表示。然后将上下文表示用于最终的分类(章节2.3)。

2.1 Paragraph Association Graph段落关联图

CT-Net首先将P转换为PAG G = (V, E),其中V和E分别为节点集和边集。如图2所示,PAG包含句子节点(蓝色)和token节点(橙色)。

图2:CT-Net的整体架构。给定段落P = (S1, S2, S3, S4),将P转换为PAG G,然后对G采用跨粒度更新机制得到上下文表示进行分类。

每个token节点都与其对应的句子节点相连接。 我们仔细设计了句子节点之间的边,使每个句子只连接与它密切相关的句子。具体来说,PAG中句子节点之间的边有三种类型:

邻接边(黑边)。相邻句往往包含重要的上下文信息。因此,我们在语篇中的相邻句之间添加邻接边。

•共指边(紫色边)。具有共指关联的句子往往涉及相同的对象并且高度相关,因此我们在它们之间添加了共指边。

词汇链边(绿色边)。词汇链追踪贯穿整个段落的相关词汇。包含相同单词或同义词(停止词除外)的句子往往涉及相同的主题,因此,我们在它们之间添加了词汇链边。

我们将在第3.2节给出PAG的更多细节。

2.2 Cross-Grained Updating Mechanism跨粒度更新机制

然后,CT-Net通过交叉粒度更新机制从PAG G中提取Sn−1和Sn的上下文表示,并执行T轮。在第t轮,我们将第i个句子节点的状态表示为g_{i}^{t},将第i个句子的第j个token节点的状态表示为h_{i,j}^{t}。从第(t-1)轮到第t轮的状态转换包括三个计算过程:token到句更新、句到句更新和句到token更新。前两个进程负责更新句子节点,而最后一个进程负责更新token节点。

节点初始化。当t = 0时,我们使用char、GloVe 和ELMo 嵌入的拼接来初始化token节点。并且降维:

其中W、b为参数。句子节点g_{i}^{0}被初始化为其token节点的平均值。 

Token到句子更新。这个过程用上一轮的token状态h^{t-1}_{i,j}更新句子状态g^{t}_{i}。我们使用了句子状态LSTM (SLSTM) 来实现这一点。SLSTM是一种新颖的图RNN,它将一个句子转换为具有一个全局句子节点和几个局部词节点的图,就像PAG中的子图(在图2中带点的椭圆内)一样。在第t轮时,第i句g^{t}_{i}的隐藏状态计算如下:

其中,SLSTM_{h\rightarrow g}表示SLSTM用token状态更新句子状态的过程,其详细方程见附录A。 |Si|是Si中的token数。

句子到句子更新。在合并token语义之后,句子通过PAG上句子节点之间的交互进一步掌握句子级上下文语义。由于有三种类型的边,我们使用多关系GCN来获得Si的上下文句子表示c^{t}_{i}

其中Wg、Wr是模型参数。R是句子节点之间的边类型集合。 N^{r}_{i}表示关系r的第i个句子节点的邻居,其中r∈R、 σ是ReLU函数。

句子到Token更新。这个过程用于更新token状态。它将句子级别的上下文信息c^{t-1}_{i}传递给token,这也是由SLSTM实现的。在第t轮,每个tokenh^{t}_{i,j}的隐藏状态计算如下:

其中x_{i,j}是初始的token嵌入。 我们在附录A中给出了SLSTM_{g\rightarrow h}的详细方程。然后,将得到的h^{t}_{i,j}用于下一轮的token到句的更新。

经过T轮,我们得到c^{T}_{n-1}c^{T}_{n}分别作为S_{n-1}S_{n}的最终上下文表示,它充分结合了token级上下文语义和句子级上下文语义。

2.3 Classification Layer分类层

在获得全局上下文表示c^{T}_{n-1}c^{T}_{n}后,我们使用单层BiLSTM 通过连接两个方向上最后的隐态,将S_{n-1}编码为l_{n-1},并以同样的方式将S_{n}编码为l_{n}l_{n-1}l_{n}是局部表示,没有考虑更广泛的上下文。然后我们将全局和局部特征连接如下:

然后将X_{cls}送入两层MLP(一个具有ReLU激活的全连接层,后面是一个softmax输出层)进行分类。 

Multi-Task Training 我们应用多任务学习来提高性能。主要任务是内隐话语关系识别(IDRR),辅助任务是显式话语关系识别(EDRR)和连接预测(CP)。这三个任务共享相同的编码器,但使用三个不同的mlp。目标函数为:

其中α, β, γ是可调节的超参数。y_{idrr}y_{edrr}y_{cp}分别为IDRR、EDRR、CP的ground-truth标签,\wedgey_{idrr}\wedgey_{edrr}\wedgey_{cp}为对应的预测。Cidrr、Cedrr、Ccp分别表示IDRR、EDRR、CP的类数。

3 Experiment

3.1 Dataset 

我们在PDTB 2.0上进行了实验(Prasad et al, 2008),其中包含了16224个隐式实例和18459个显式实例。我们对4种顶层语篇关系:比较(Comp.)、偶发(Cont.)、展开(Exp.)和时态(Temp.)进行了一对其他二元分类和四向分类。根据Pitler等人,我们使用2-20节进行训练,21-22节进行测试,0-1节进行验证。度量为F1分数,对于4向分类,我们计算F1的宏观平均分数。

3.2实施细节

PAG的详细信息。我们将构建PAGs的句子数设置为6,当文本少于6句时使用零填充。在构建PAG时,我们使用spaCy (https://space.io/)来识别共指边,使用简单匹配来识别相同的单词,使用WordNet 来识别同义词。WordNet覆盖了59.38%(7558/12632)的训练样本、59.05%(699/1183)的开发样本和56.98%(596/1046)的测试样本。PAG中的平均边数是11。

参数和训练的详细信息。节点嵌入初始化使用内核窗口大小为[1,2,3]的CNN获得的150维char嵌入,300维-gloVe嵌入,1024维ELMo (BiLSTM第二层的输出)。我们将节点状态的维数降为512,使SLSTM和MR-GCN的维数也为512。跨粒度更新机制的迭代轮数设置为6。用于计算局部特征(章节2.3)的BiLSTM的大小是128。对于多任务学习,我们设置α,β,γ为1.0,0.5,0.5。在batch大小为64的情况下,学习率为0.001。CT-Net的参数数约为16M。在手动调优超参数值时,我们使用F1分数作为标准。整个模型使用ADAM优化器在两台具有24GB GPU内存的特斯拉P40上进行端到端训练,平均运行时间约为6小时。

3.3 Results and Discussion

主要结果(表1)

表1:与使用不同段落编码器的模型的比较(F1, %)(在3.3节介绍)。

我们精心设计了四个具有不同段落编码器的基线,以进行全面比较:(1)“NoContext”模型,只使用BiLSTM获取局部特征,不考虑更大的上下文。(2)“BiLSTM”,使用BiLSTM对段落进行编码的模型。(3)“H-LSTM”模型,采用分层BiLSTM作为段落编码器。(4)“FCG-Net”,即用全连通图(FCG)代替CT-Net中的PAG模型。 除段编码方式外,其他设置均与CT-Net相同。我们可以得出以下三个结论。首先,在大多数情况下,“NoContext”的性能最差,这证明了使用上下文表示的必要性。其次,CT-Net的性能优于顺序段编码器“BiLSTM”和“H-LSTM”的模型,证明了基于图的CT-Net的优越性。原因是CT-Net可以对包括远距离句子在内的密切相关的上下文进行跟踪和建模。第三,用FCG (FCG-Net)代替CTNet中的PAG,质量有所下降,证明PAG能有效地挑选出有利于句子理解的恰当上下文。我们还对CT-Net与这4条基线进行了配对t-test。在p<0.05时,CT-Net显著优于所有这些基线。

PAG分析(表2)

 表2:不同PAG设置的CT-Net 4向分类结果。

PAG包含三种类型的边:邻接边(Adj.)、共指边(Coref.)和词汇链边(Lex.)。为了了解这些边的影响,我们进行了四向分类的消融实验。第1-3行分别报告删除“adm .”、“Coref.”以及“Lex”的结果。去掉“adm .”带来最大的下降(0.97%),这反映出邻接边在PAG中起着最重要的作用。去掉“adm .”带来最大的下降(0.97%),这反映出邻接边在PAG中起着最重要的作用。我们还探讨了PAG中句子数的影响。第4-6行报告结果。当PAG长度为6句时,CT-Net的性能最好,而模拟长度为8句的较长段落则会导致性能下降。我们假设建模一个太长的段落可能会引入一些不相关的上下文,导致性能下降。

与现有系统的比较(表3)

表3显示了与现有系统的比较。

我们的方法在四向分类上优于其他模型,在时域(Temp.)和展开(Exp.)的二元分类上也取得了最好的性能。 

多任务学习的消融研究(表4)

表4:4向分类下多任务学习的消融研究。 

继Dai和Huang(2018)和Nguyen等人(2019)之后,我们利用外显语篇关系识别(EDRR)和连接预测(CP)作为辅助任务来帮助内隐语篇关系认知(IDRR)。我们对这两个辅助任务进行了4向分类(表4)的消融实验,以显示其影响。第一行是CT-Net的性能。第2-3行报告删除辅助任务的性能。正如预期的那样,EDRR对IDRR的贡献比CP更大,这是因为EDRR与IDRR的任务更相似。

4 Conclusion

我们提出了一种新的基于图的上下文跟踪网络(CT-Net)来为内隐话语关系分类建模。CT-Net首先将段落转换为段落关联图(PAG),其中每个句子通过不同的边跟踪其适当的上下文,然后使用跨粒度更新机制来组合句子级和token级上下文信息。在PDTB 2.0上的实验表明,CT-Net捕获的上下文信息比使用不同上下文编码器精心设计的基线更有效。

A Sentence-state LSTM

句子-状态LSTM (SLSTM) 是一种新型的图RNN。我们将更新句子状态的过程表示为SLSTM_{h\rightarrow g},将更新token状态的过程表示为。

SLSTM_{h\rightarrow g}。在第t轮,对于所有j∈[0,....,|S_{i}|],第i句的隐藏状态g^{t}_{i}的计算基于h^{t-1}_{i,j}

 其中W_{*}U_{*}b_{*}是模型参数,在这里,*\epsilon{g,f,o}。|Si|是第i个句子的token数。f^{t}_{i,0},...,f^{t}_{i,|S_{i}|}f^{t}_{g_{i}}分别是控制来自v^{t-1}_{i,0},...,v^{t-1}_{i,|S_{i}|}v^{t-1}_{g_{i}}的信息的门。o^{t}_{i}是循环细胞v^{t}_{g_{i}}g^{t}_{i}的输出门。Fs表示softmax函数。

SLSTM_{g\rightarrow h}.在第t轮,每个tokenh^{t}_{i,j}的隐藏状态基于初始输入x_{i,j},其上一轮的隐藏状态h^{t-1}_{i,j},其上一轮的邻居h^{t-1}_{i,j-1},h^{t-1}_{i,j+1}和上下文表示c^{t-1}_{i}的隐藏状态计算。

其中W *, U *和b *是模型参数,在这里,*∈{i, l, r, f, s, o}。 Fs表示softmax函数,σ表示sigmoid函数。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值