如遇公式显示有误,可去我的知乎查看文章,点击跳转


2020COLING-End-to-End Emotion-Cause Pair Extraction with Graph Convolutional Network

1. 摘要和介绍

本篇论文作者贡献:

  1. 提出了Pair Graph Convolutional Network(PairGCN)这个端到端的模型框架来解决ECPE问题
  2. 设计了PairGCN来建模邻域候选对的三种依赖关系,来完成情感-原因对层次的上下文信息的提取。

2. 相关工作

2.1 ECE和ECPE

论文笔记之Emotion-Cause Pair Extraction: A New Task

2.2 GCN

Graph Convolutional Network,图卷积网络,是一种图神经网络。由[Thomas N. Kipf and Max Welling. 2017. Semi-Supervised Classification with Graph Convolutional Networks. In Proceedings ofICLR.]首次提出,用于图中节点的分类。自此之后,GCN被广泛用于NLP,比如关系抽取、aspect-level情感分析、文本分类等。

在本论文中,作者尝试用GCNs来建模邻域的依赖关系以捕获pair层次的上下文信息。

3. 方法

3.1 任务定义

给定文档D={c1,c2,...,cL}D = \{c_1, c_2, ..., c_L\},即文档有LL句话。则会有大小为L×LL \times L的候选情感-原因对集合PP

其中ciec_i^e表示子句cic_i是候选情感子句,cjcc_j^c表示子句cjc_j是候选原因子句。

ECPE的任务就是对于PP中的对,若它是情感-原因对,则输出1,否则输出0。

3.2 子句级上下文编码

PairGCN模型的整体思路是这样的:

先用词级别的LSTM对一句话进行编码,得到每句话的初始向量表示;再用子句级的LSTM对一个文档进行编码,得到每句话的最终向量表示,这时的向量表示就带有了上下文信息;再进行组合得到候选情感-原因对集合PP,由于作者认为对与对之间也有相互作用,所以又用GCN进行对之间的编码。

3.2就是两个LSTM,3.3就是GCN。

word-level BiLSTM

作者说这部分使用的是Xia & Ding (2019)的方法,可以参考论文笔记之Emotion-Cause Pair Extraction: A New Task

简单说一下,就是使用word2vec来表示每个词的向量表示,然后使用BiLSTM+Attention进行编码,得到子句的初始向量表示。

clause-level BiLSTM

作者用了两个双层BiLSTM对上一步得到的子句向量表示进行建模,分别得到子句的情感向量表示和原因向量表示。不过这里需要注意的是,作者认为在一个文档中,情感子句可以被单独识别出来,而一个情感的原因子句则需要借助情感子句才能识别出来,所以就有了以下公式:

其中uteu_t^e表示子句ctc_t的初始情感表示,BiLSTMceBiLSTM_c^e表示用于抽取情感特征的clause-level BiLSTM,vtev_t^e是得到的子句的情感表示。

这一部分我认为和Xia & Ding (2019)中的Inter-EC十分相似。只不过Xia & Ding (2019)在中间过了一个softmax。

3.3 对级上下文编码

从这张图我们可以明显的看出,数据集中情感子句和它对应的原因子句之间的距离,绝大部分都<=2。所以作者对于情感-原因对,就构造了三种依赖关系,也就是图中的三种边,3.3.1讲。

3.3.1 Pair Graph Construction

Nodes

候选情感-原因对ci,jp=(cie,cjc)c_{i,j}^p=(c_i^e,c_j^c)就是结点,向量表示为vi,jp=[vie,vjc]v_{i,j}^p=[v_i^e,v_j^c]

Edges

刚才说过,边有三种,分别代表作者定义的三种依赖关系。

大家再看一下这张图,最左边的大虚线框住的,就是所有的候选情感-原因对集合PP,圆圈31就表示子句对<c3,c1><c_3,c_1>构成了情感-原因对。

作者认为每一行都是一张图,一个有5句话的文档就形成了5张图,即上图中框住的部分就构成一张图。图中的结点是谁呢?只要候选情感-原因对中,原因子句和情感子句的距离<=2,则这个对就是图中的结点。

所以我们看以看到,c3c_3作为候选情感子句,构成的图会有5个结点,c4c_4作为候选情感子句,构成的图会有4个结点。

而且我们据此可以推出:一张图最多有5个结点。

将图中节点形式化定义为:

接下来给出三种依赖关系,即三种边:

3.3.2 Feature Transformation

别忘了我们构造图的目的是为了建模对与对之间的关系,现在定义了三种依赖关系,我们就可以根据这三种边,进行特征传递。

作者使用了两层GCN。

对于结点ci,jpc_{i,j}^p,第一层GCN处理后的向量表示为:

其中WW是三个权重矩阵,训练得到,zz是归一化系数,σ\sigmaReLUReLU激活函数。

第二层GCN处理后得到结点的最终表示:

有了对的最终向量表示,下面就可以进行分类了。

3.4 分类

ECPE

一个公式完成,其中di,jd_{i,j}是距离嵌入,论文中用的是50维。

最终我们得到候选对ci,jpc_{i,j}^p的预测概率分布p^i,j\hat{p}_{i,j}和相对应的预测标签EC^ij\hat{EC}_{ij}

Emotion Extraction and Emotion Cause Extraction

情感抽取,对子句cic_i的预测标签E^i\hat{E}_i

原因抽取完全类似。

4. 实验

5. 结论

词级别的建模其实没什么新意,子句级的建模作者用了GCN,是第一个把GCN引入ECPE的,2020ACL有一篇用了GAT,不过那个是建模句子,不是建模情感-原因对。

个人感觉图神经网络在ECPE上还尚有用武之地。

另外作者提到了数据集中标签不均衡的问题,候选对中正例太少,大部分正例中两个子句距离都<=2。而对于那少部分>2的正例对,虽然作者没有提到,但我猜作者的模型给不了太好的结果。这应该也是个可以改进的地方。