A Hierarchical Interactive Network for Joint Span-based Aspect-Sentiment Analysis 论文阅读笔记

一、作者

Wei Chen、Jinglong Du、Zhao Zhang、Fuzhen Zhuang、Zhongshi He

College of Computer Science, Chongqing University, Chongqing, China

Institute of Artificial Intelligence, Beihang University, Beijing, China

College of Medical Informatics, Chongqing Medical University, Chongqing, China

Institute of Computing Technology, Chinese Academy of Sciences, Beijing, China

School of Computer Science, Beihang University, Beijing, China

二、背景

方面情感分析(ASA)分为方面抽取(AE)和情感分类(SC)两个子任务。

大多数现有的方法均为基于跨度的方法,这类方法通过预测边界分布来提取方面,并根据方面级别词(aspect-level words)对情感极性进行分类。从模型形式上来说,根据在不同任务中编码相应特征的方式可以将现有模型分为两类:

  1. 顺序编码:作为一种单向交互策略,不同任务中的特征会被顺序提取,即后续任务提取的特征对前序任务不会有直接影响。
  2. 并行编码:采用这种方式时,除了各个任务间的共享输入以外,特定任务的特征也是独立提取的。

因此以上两种方式都无法有效建模AE和SC之间的双向交互。但实际上,给定所需的方面可以帮助更好地理解情感词,比如用情感词“大”分别形容“电池容量”和“误差”这两个方面;此外,情感表示也往往会贴近于特定的方面,比如当餐厅的评论中出现的辣、咸等词往往会与食物相关。

三、创新点

为了更好地实现AE与SC两个子任务的双向交互,作者提出了一个分层交互模型(Hierarchical Interactive model for joint span-based Aspect-Sentiment Analysis)。该模型中的浅层交互模块通过学习语义交互特征以促进两个子任务间的信息共享,而深层交互模块则是通过互信息最大化技术来促进交互。

四、具体实现

1.浅层交互

作者借助于计算机视觉领域中的十字绣机制(crossstitch mechanism)来实现AE和SC之间的浅层交互。

具体的交互过程为 [ H a 1 H s 1 ] = [ γ a a α s a α a s γ s s ] [ H a 0 H s a ] \begin{bmatrix} {\boldsymbol H}_a^1 \\ {\boldsymbol H}_s^1 \end{bmatrix} = \begin{bmatrix} {\boldsymbol \gamma}_{aa} & {\boldsymbol \alpha}_{sa} \\ {\boldsymbol \alpha}_{as} & {\boldsymbol \gamma}_{ss} \end{bmatrix}\begin{bmatrix} {\boldsymbol H}_a^0 \\ {\boldsymbol H}_s^a \end{bmatrix} [Ha1Hs1]=[γaaαasαsaγss][Ha0Hsa],其中 γ a a {\boldsymbol \gamma}_{aa} γaa γ s s {\boldsymbol \gamma}_{ss} γss为两个子任务所独有的参数, α s a {\boldsymbol \alpha}_{sa} αsa α a s {\boldsymbol \alpha}_{as} αas则为任务共享的参数, H a 1 {\boldsymbol H}_a^1 Ha1 H s 1 {\boldsymbol H}_s^1 Hs1为浅层交互的输出。

此外,为了加速训练,作者为浅层交互制定了约束 γ a a = γ s s , α s a = α a s {\boldsymbol \gamma}_{aa} = {\boldsymbol \gamma}_{ss}, {\boldsymbol \alpha}_{sa} = {\boldsymbol \alpha}_{as} γaa=γss,αsa=αas γ a a + α s a = 1 {\boldsymbol \gamma}_{aa} + \boldsymbol{ \alpha}_{sa} = 1 γaa+αsa=1,训练过程也就简化为 { H a 1 = α ⋅ H s 0 + ( 1 − α ) ⋅ H a 0 H s 1 = α ⋅ H a 0 + ( 1 − α ) ⋅ H s 0 \begin{cases} {\boldsymbol H}_a^1 = \alpha \cdot {\boldsymbol H}_s^0 + (1 - \alpha) \cdot {\boldsymbol H}_a^0 \\ {\boldsymbol H}_s^1 = \alpha \cdot {\boldsymbol H}_a^0 + (1 - \alpha) \cdot {\boldsymbol H}_s^0 \end{cases} {Ha1=αHs0+(1α)Ha0Hs1=αHa0+(1α)Hs0

2.深层交互

浅层交互可以实现语义级别的交互,但无法对任务级别的交互进行恰当的建模。作者通过观察发现,在基于跨度的方面抽取模型中,实体词会获得更高的分数,但是在进行方面情感学习时,除了情感词以外,实体词也会得到更高的注意力权重,作者由此推断基于AE和SC进行方面和情感的互相学习能进一步提高模型效果。由此,基于互信息最大化技术,作者实现了方面抽取和情感分类两个子任务之间的深层交互。

a.方面抽取

作者通过预测边界来获取句子中每个词的方面得分,进而提取方面。

作者首先通过线性分类器来预测起始位置得分结束位置得分,最终得到概率分布分别记为 g s g_s gs g e g_e ge。作者认为,不应当直接通过方面的边界分布来计算方面得分,因为二者含义并不相同同,于是借助于池化操作,可以将方面得分定义为: E = p o o l i n g ( g s ) + p o o l i n g ( g e ) 2 \mathcal{E} = \frac{\mathrm{pooling}(g_s) + \mathrm{pooling}(g_e)}{2} E=2pooling(gs)+pooling(ge),其中池化函数采用窗口大小为1$\times$3的平均池化。

b.情感分类

作者借助于反复注意力模型(over-and-over attention model)来实现情感分类,训练过程中得到的情感分布 A \mathcal{A} A作为情感特征可以在后续用于优化方面检测。

c.互信息最大化

互信息最大化基于前序子任务获得的方面分布 E \mathcal{E} E和情感分布 A \mathcal{A} A

训练过程中需要最大化两个分布的相似性,由此作者采用了JS散度来衡量相似度,即有 J S ( E ∣ ∣ A ) = 1 2 K L ( E ∣ ∣ E + A 2 ) + 1 2 K L ( E ∣ ∣ A + A 2 ) JS(\mathcal{E}||\mathcal{A}) = \frac{1}{2}KL(\mathcal{E}||\frac{\mathcal{E} + \mathcal{A}}{2}) + \frac{1}{2}KL(\mathcal{E}||\frac{\mathcal{A} + \mathcal{A}}{2}) JS(EA)=21KL(E2E+A)+21KL(E2A+A)

最终,深层交互可以表示为 a r g m i n θ = J a e + J s c + β ⋅ J S ( E ∣ ∣ A ) \underset{\theta}{\mathrm{argmin}} = \mathcal{J}_{ae} + \mathcal{J}_sc + \beta \cdot JS(\mathcal{E} || \mathcal{A}) θargmin=Jae+Jsc+βJS(EA)

五、实验

作者采用了Laptop(Pontiki et al., 2014)、Restaurant(Pontiki et al., 2014, 2015, 2016)和Tweets(Mitchell et al., 2013)三个数据集作为实验数据集。

作者的实验结果如下图所示:

消融实验分别围绕浅层交互(SI)和深层交互(DI)进行,作者认为HI-ASA能取得良好效果的主要原因是实现了基于任务级别的双向特征交互。

此外,作者也基于交互参数 α \alpha α进行了实验,实验结果如下:

α \alpha α为0时,模型退化为并行编码,其中基于Restaurant数据集进行的实验对 α \alpha α的要求更高,作者推断这可能是因为该数据集中的样本更多,需要更多的知识交互。此外, α \alpha α的值不应大于0.5,应以当前任务特征为主,另一任务特征为辅,而不能本末倒置。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值