NLP————目标情感分析(TSA任务)

TSA任务介绍

目标情感分析任务(Targeted Sentiment Analysis, TSA)旨在提取目标实体并对其进行情感分类。因此可以理解为命名实体识别(NER)和情感分析(SA)两个任务的联合学习。例如,给出一句“ESPN调查显示迈克尔乔丹是最伟大的篮球运动员”,检测目标是ESPN和迈克尔乔丹,他们的情绪类别分别为中性和正面。最近的一些工作试图联合学习这两项任务,看成序列标注问题,其中B/I/O表示目标的边界,Positive/Neutral/Negative标签表示情感分类 (Klinger and Cimiano, 2013; Yang and Cardie, 2013)。随着词嵌入(word embedding)引入NLP领域,多种神经网络模型被用来处理序列标注问题,有人通过词嵌入来丰富特征并训练神经网络模型来解决TSA问题,这是当前较为流行的方法。但是在长距离依赖性和字符级特征角度来说,以上方法并没有充分考虑。因此下面介绍一个来自EMNLP 2018的方法---hierarchical multi-layer bidi- rectional gated recurrent units(HMBi-GRU)。

HMBi-GRU

这个方法考虑了word和character两个层面的embedding特征,来探索字符级特征和高级语义特征,从而建立二者之间的长距离依赖。除了特征之外,此方法充分利用了实体和情感之间的边界信息:目标的边界信息(B,I)标签和情感标签是一样的。例如上面的例子中,Michael Jordon的目标标签和情感标签是“B-Person,I-Person”和“B-Positive,I-Positive”,通过这种方式,模型可以在预测情绪标签时了解目标边界信息。

下面来详细介绍这个模型,对于GRU不了解的可以按照RNN来理解,只是内部门控有差异。

假设一个句子由n个单词[w1,w2,...,wn]组成。 对于每个单词,由li字符组成[c1,c2,...,cli],li是wi的长度。我们将句子表示为字嵌入矩阵W = [E1,E2,...,En]∈Rn×dw。 类似地,单词wi表示为字符嵌入的矩阵Ci∈Rli×dc,dw和dc分别表示字嵌入和字符嵌入的大小。

模型是多级的双层结构,每层结构中包括 multi-layer bidirectional Gated Recurrent Units(MBi-GRU)。GRU擅长对序列建模,具有避免梯度消失和爆炸问题的优点。假设,每层结构中的MBi-GRU都有m层,时间为t,因此隐藏状态如下:

NLP————目标情感分析(TSA任务)_第1张图片

Bi-GRU是双向GRU的意思,类似于经常听到的Bi-LSTM,定义如下:

NLP————目标情感分析(TSA任务)_第2张图片

xt是输入,可以是字嵌入或其他BiGRU的隐藏状态。 ⊕表示连接两个向量的操作。

使用字符嵌入Ci的矩阵作为输入,我们利用MBi-GRU基于其字符嵌入来学习字wi的字符级抽象特征。通过MBi-GRU,我们可以获得隐藏状态[hM1,hM2,...,hMli],在该状态上应用最大池操作,输出字wi的字符级特征ri∈R2dc。(这里的2dc是因为双向的网络结构的原因)

将句子中所有单词的字符特征形成新的矩阵C∈Rn×2dc。接下来,我们将C与字嵌入W的矩阵连接起来,并将连接表示为F∈Rn×(dw + 2dc)。以F为输入,我们利用另一个MBi-GRU来学习隐藏状态H = [h'M1,h'M2,...,h'Mn]作为句子的最终表示。因此,分层两层MBi-GRU架构可以考虑字符级和字级信息来学习高级抽象特征。

然后就可以通过最终特征表示来进行预测了,tfi是隐藏状态H中的h'Mn,W和b就是权重和偏置。

正如我们上文中提到的,实验中关注了实体标签和情感标签的边界一致问题,为了学习这层信息,我们将目标标签信息引入情感分析标签:

sfi = h′Mi ⊕ yti,W和b是权重和偏差。这样就让模型了解到了目标标签信息在进行情感预测时。同时模型中使用了状态转移矩阵来记录状态之间的转换概率,使用softmax进行结果的归一化,最后得到的结果序列使用维特比算法解码。

论文地址《Joint Learning for Targeted Sentiment Analysis》

项目的代码我自己在看的时候可能做了一些改动,不过整体没有删掉,做了注释,语料库需要自己下载。

这里就写我自己上传的github项目吧

你可能感兴趣的:(DeepLearning,NLP)