图神经网络与属性级文本分类——Syntax-Aware Aspect Level Sentiment Classification with Graph Attention Networks论文解读

1、摘要

属性层次的情感分类任务:在给定上下文句子的情况下,识别某属性表达的情感。

以前的基于神经网络的方法很大程度上忽略了句子的语法结构。

本文提出了一种新的面向属性层次情感分类任务的目标依赖图注意网络(Target-Dependent Graph Attention Network,TD-GAT),这种网络可以利用单词之间的依赖关系(本篇解读都将其简称为依赖图)。使用上述依赖图,可以使上下文中对某一属性的情感特征通过语法结构传播。实验结果表明提出的方法优于Glove嵌入的多个基线方法。除此之外,还展示了使用BERT后,性能进一步大大提高。

2、介绍

属性层次情感分类的目的是:在上下文中,识别属性或其所指向目标对象的情感极性(正面、负面、中性)。与句子级情感分类相比,这是一项更精细的任务。属性层次情感分类可以区分句子中多个属性相异的情感极性,而句子级的情感分类在这些情况下往往是失效的。例如,在一个句子“食物很棒,但服务很糟糕”中,“食物”和“服务”的情感极性分别是积极的和消极的。然而,在这种情况下,由于句子同时拥有积极和消极的表达,很难确定整个句子的整体情绪。

通常,研究人员使用机器学习算法来分类句子中给定属性的情感。早期的研究工作都是手工设计的特征提取方法。后来,各种基于神经网络的方法在这项任务中流行起来,因为他们不需要手动设计特征工程,大多数都是基于LSTM的神经网络,很少使用卷积神经网络。

这些基于神经网络的方法大多将句子视为单词序列,并通过多种方法将属性信息嵌入到句子表示中。这些方法在很大程度上忽略了句子的句法结构,这有助于识别与属性目标直接相关的情感特征。但是当属性词被从情感短语中分离出来时,就很难在单词序列中找到相关的情感词。例如,在一个句子“The food, though served with bad service, is actually great”中,单词“great”在依赖图中比在单纯的单词序列中更接近“food”这个属性。

使用依赖关系也有助于消除单词序列中可能存在的歧义。在一个简单的句子中,“好的食物,糟糕的服务”,“好的”和“坏的”可以互换使用。但是,一个有良好语法知识的读者可以很容易地发现“好的”是“食物”的形容词修饰语,而“坏的”是“服务”的修饰语。

3、提出方法

本文提出了一种新的神经网络框架——目标依赖图注意网络(TD-GAT),它能在属性级情感分类任务中很好地利用句子的语法结构。此方法将句子表示为依赖图,而非单词序列。在依赖图中,属性目标和相关属性词直接相连。作者采用多层图注意网络,将情感特征从重要的语法相邻词传播到属性目标。作者还进一步在TD-GAT中加入了一个LSTM单元,以便在递归邻域扩展过程中明确地捕获跨层次的属性相关信息。

3.1 文本表示

句子 s = [ w 1 , w 2 , ⋯ w i , ⋯   , w n ] s=[w_1,w_2,\cdots w_i,\cdots ,w_n] s=[w1,w2,wi,,wn]长度为 n n n,属性目标为 w i w_i wi

首先需将 w i w_i wi嵌入到维度为 d d d的低维词向量空间 R d R^d Rd中,每个 w i w_i wi对应于 x i ∈ R d x_i\in R^d xiRd

使用论文中的A fast and accurate dependency parser using neural networks一般性依存关系语法分析方法来将句子转换为依赖图。每一个结点都代表了一个词,并且拥有一个词嵌入向量(这个局部相关的词嵌入向量可能来自预训练模型)作为其局部特征向量。一条无向边代表着相连两词在语法上的相关性。下图是句子“delivery was early too”的依赖图,属性目标“delivery”的属性特征(“early”)从距离其2跳的位置传播到距离其1跳的位置,又传给它自己。

对于具有多个单词的属性目标,首先用特殊符号“__target__”替换整个目标单词序列,然后将整个句子传递到依赖解析器中。因此,依赖图中存在表示目标的元结点,其局部特征向量为组成目标短语的词的嵌入向量的平均值。

3.2 图注意网络

Graph Attention Network(GAT)

图注意网络是GNN的一个变体,也是本文方法的一个关键点。它将某属性的上下文特征传递给属性本身。给定 N N N个结点的依赖图,每个结点都对应一个局部相关的词嵌入向量,每一个GAT层都会通过集成周围邻居结点的隐状态向量来重新计算每个结点的表示向量。对于一个 L L L层的GAT网络, L L L跳的特征会被传递给属性目标结点。对于一个结点 i i i,给定第 l l l层中它的隐状态 h l i h_l^i hli及其邻居结点 n [ i ] n[i] n[i]的隐状态,如何计算第 l + 1 l+1 l+1层它的隐状态呢?使用多头注意力计算。

计算公式如下:
h l + 1 i = ∣ ∣ k = 1 K σ ( ∑ j ∈ n [ i ] α l k i j W l k h l j ) α l k i j = e f ( a l k T [ W l k h l i ∣ ∣ W l k h l j ] ) ∑ u ∈ n [ i ] e f ( a l k T [ W l k h l i ∣ ∣ W l k h l u ] h_{l+1}^i=||_{k=1}^K\sigma (\sum_{j\in n[i]}\alpha_{lk}^{ij}W_{lk}h_l^j)\\ \alpha_{lk}^{ij}=\frac{e^{f(a_{lk}^T[W_{lk}h_l^i||W_{lk}h_l^j])}}{\sum_{u\in n[i]}e^{f(a_{lk}^T[W_{lk}h_l^i||W_{lk}h_l^u]}} hl+1i=k=1Kσ(jn[i]αlkijWlkhlj)αlkij=un[i]ef(a

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值