本文利用了加入了attention机制的QA系统中的深度记忆网络,本文将aspect word的上下文信息作为memory m中存储的内容。实现了一个针对aspect-level的情感分类模型。本文在attention机制中,增加了location特征,将aspect的位置也作为记忆网络中memory的一部分。最终在laptop数据集和restaurant数据集中进行了测试,并与feature-based SVM模型,LSTM模型和attention-LSTM模型进行了对比。

Task Definition

   给定一个由nnn个单词组成的句子s={w1,w2...,wi...wn}s=\{w_1,w_2...,w_i...w_n\}s={w1​,w2​...,wi​...wn​},其中wiw_iwi​为aspect word,确定句子sss对词wiw_iwi​的情感倾向。例如句子"greatfoodbuttheservicewasdreadful""great \ food\ but\ the\ service\ was\ dreadful""great food but the service was dreadful"中,对于aspect word“food”“food”“food”的情感是积极的,而对于“service”“service”“service”的情感是消极的。本文中所有单词向量叠加在一个单词嵌入矩阵L∈Rd∗∣V∣L\in R^{d*|V|}L∈Rd∗∣V∣中,其中ddd为单词向量的维数,∣V∣|V|∣V∣为单词大小。wiw_iwi​的嵌入一词记作ei∈Rd∗1e_i\in R^{d*1}ei​∈Rd∗1,它是嵌入矩阵LLL中的一列。

An Overview of the Approach

   给定一个由nnn个单词组成的句子s={w1,w2...,wi...wn}s=\{w_1,w_2...,w_i...w_n\}s={w1​,w2​...,wi​...wn​},其中wiw_iwi​为aspect word,我们将每个单词映射到它的嵌入向量中。这些词向量被分成两个部分, aspect representation和上下文表示。如果aspect word是像“food”“food”“food”或“service”“service”“service”这样的单个单词,那么aspect representation就是aspect word的词嵌入向量。对于aspect word是“batterylife”“battery life”“batterylife”等词组的情况,aspect representation是组成词组单词的词向量的平均值。上下文单词向量{e1,e2...,ei−1,ei+1,...,en}\{e_1,e_2...,e_i-1,e_i+1,...,e_n\}{e1​,e2​...,ei​−1,ei​+1,...,en​}将叠加,作为外存储器m∈Rd∗(n−1)m\in R^{d*(n-1)}m∈Rd∗(n−1),其中nnn为句子长度。
  模型的示意图如下,其中hop代表计算层(computational layers),每一个hop包括一个attention layer和一个linear layer。将aspect vector作为输入,通过注意层自适应地从memorymmm中选择重要的相关信息。对注意层的输出和aspect vector的线性变换进行求和,并将结果作为下一层的输入。最后一个hop的输出向量被认为是句子关于aspect的表示,并被进一步用作aspect-level情感分类的特征。

Content Attention

  对于一个aspect word,由于其所在句子中的上下文单词对于情感分析重要性程度并不相同,因此加入了attention机制。
  以external memory m∈Rd∗km\in R^{d*k}m∈Rd∗k和aspect vector vaspect∈Rd∗1v_{aspect}\in R^{d*1}vaspect​∈Rd∗1为输入,注意模型输出连续向量vec∈Rd∗1vec\in R^{d*1}vec∈Rd∗1。输出向量计算为m中每一向量的加权和,即
vec=∑i=1kαimivec=\sum_{i=1}^k\alpha_im_ivec=i=1∑k​αi​mi​
kkk是memory的大小,αi∈[0,1]\alpha_i\in[0,1]αi​∈[0,1]是mim_imi​的权重,并且∑αi=1\sum \alpha_i=1∑αi​=1。我们实现了一个基于神经网络的注意力模型。对于memory中的每一个mim_imi​,我们使用一个前馈神经网络来计算其与aspect word的语义关联。计算函数如下,这个函数主要是计算memory中的每一个mim_imi​与vaspectv_{aspect}vaspect​的相关性,其中Watt∈R1∗2dW_att\in R^{1*2d}Wa​tt∈R1∗2d,batt∈R1∗1b_att\in R^{1*1}ba​tt∈R1∗1,是前馈神经网络的参数。
gi=tanh(Watt[mi;vaspect]+batt)g_i=tanh(W_{att}[m_i;v_{aspect}]+b_{att})gi​=tanh(Watt​[mi​;vaspect​]+batt​)
在得到{g1,g2,...,gk}\{g_1,g_2,...,g_k\}{g1​,g2​,...,gk​}之后,通过softmaxsoftmaxsoftmax函数计算最终的重要性系数{α1,α2,...,αk}\{\alpha_1,\alpha_2,...,\alpha_k\}{α1​,α2​,...,αk​}
αi=exp(gi)∑j=1kexp(gj)\alpha_i=\frac{exp(g_i)}{\sum_{j=1}^kexp(g_j)}αi​=∑j=1k​exp(gj​)exp(gi​)​

Location Attention

  由于前面定义的content attention机制忽略了位置信息,但位置信息对情感倾向的判断很重要,因此这里作者借鉴了《End-to-end memory networks》中的思想在attention中加入位置信息,提出四个模型来表示位置信息,加入了位置信息之后的mim_imi​作为memory m 中最终存储的向量。

model 1

记忆向量mim_imi​的计算公式为:
mi=ei⨀vim_i=e_i \bigodot v_imi​=ei​⨀vi​
其中⨀\bigodot⨀代表元素级的乘法,vi∈Rd∗1v_i\in R^{d*1}vi​∈Rd∗1代表wiw_iwi​的位置向量,向量viv_ivi​中的每一个元素的计算方式如下:
vik=(1−li/n)−(k/d)(1−2×li/n)v_i^k=(1-l_i/n)-(k/d)(1-2\times l_i/n)vik​=(1−li​/n)−(k/d)(1−2×li​/n)
其中nnn是句子的长度,kkk是层数,lil_ili​是wiw_iwi​的位置。

model 2

这个模型是模型一的简化,对不同hop层中的wiw_iwi​采用相同的viv_ivi​:
vi=(1−li/n)v_i=(1-l_i/n)vi​=(1−li​/n)

model 3

将位置向量viv_ivi​作为一个参数,用向量加法计算mim_imi​,即:
mi=ei+vim_i=e_i+v_imi​=ei​+vi​
将所有的位置向量叠加在一个位置嵌入矩阵中,通过梯度下降法进行联合学习。

model 4

位置向量也作为参数。与模型3不同的是,位置表示被看作是控制有多少词的语义被写入内存的神经门。将位置向量viv_ivi​经过一个sigmoid函数σ\sigmaσ,最后与eie_iei​进行元素级的乘法计算得到mim_imi​:
mi=ei⨀σ(vi)m_i=e_i \bigodot \sigma(v_i)mi​=ei​⨀σ(vi​)

Experiment

  最后贴一下实验结果,MemNet即为该论文设计的网络,括号里面的表示网络的层数,其中Majority是一个基线方法,它将训练集中的多数情绪标签分配给测试集中的每个实例:

  我们可以看到feature+SVM的方法与本文的方法不相上下,作者强调了本文方法在运行速度上的优势:

  作者也比较了四种location attention模型的效果,以及不使用location attention的效果,其实感觉这个location attention的提升效果并不明显:

情感分析论文阅读之《Aspect Level Sentiment Classification with Deep Memory Network》相关推荐

  1. 方面级情感分析论文泛03:Aspect-based Sentiment Classification with Aspect-specific Graph Convolutional Networks

    提示1:原文链接 提示2:代码链接 文章目录 前言 一.论文信息 二.笔记要点 2.1 存在的问题 2.2 目前解决方法 2.3 本文方法和创新点 2.4 模型结构 2.5 实验结果 2.6 总结和展 ...

  2. Deep Mask Memory Network with Semantic Dependency and Context Moment for Aspect Level Sentiment Clas

    这篇博文是Deep Memory Network在Aspect Based Sentiment方向上的应用的一部分,如果你已经熟知深度记忆网络并且看过其在ABSA的应用,只想看这篇论文,可以跳过直接阅 ...

  3. 方面级情感分析论文泛读02:Syntax-Aware Aspect-Level Sentiment Classification with Proximity-Weighted Convolution

    提示1:原文链接 提示1:代码链接 文章目录 前言 一.论文信息 二.笔记要点 2.1. 目前存在的问题 2.2. 目前解决方法: 2.3.本文方法和创新点 2.4. 实验效果 2.5. 模型结构 2 ...

  4. INTERSPEECH2020 语音情感分析论文之我见

    本文分享自华为云社区<INTERSPEECH2020 语音情感分析论文总结一>,原文作者:Tython. 1. Learning Utterance-level Representatio ...

  5. 论文阅读:Natural Language Processing Advancements By Deep Learning: A Survey

    文章目录 一.介绍 二.背景 1.人工智能和深度学习 (1)多层感知机 (2)卷积神经网络 (3)循环神经网络 (4)自编码器 (5)生成对抗网络 2.NLP中深度学习的动机 三.NLP领域的核心概念 ...

  6. 【论文阅读】Learning Traffic as Images: A Deep Convolutional ... [将交通作为图像学习: 用于大规模交通网络速度预测的深度卷积神经网络](2)

    [论文阅读]Learning Traffic as Images: A Deep Convolutional Neural Network for Large-Scale Transportation ...

  7. 【论文阅读】DouZero: Mastering DouDizhu with Self-Play Deep Reinforcement Learning

    [论文阅读]DouZero: Mastering DouDizhu with Self-Play Deep Reinforcement Learning 1 本文解决了什么问题? 斗地主是一个非常具有 ...

  8. 论文阅读笔记(2):Learning a Self-Expressive Network for Subspace Clustering,SENet,用于大规模子空间聚类的自表达网络

    论文阅读笔记(2):Learning a Self-Expressive Network for Subspace Clustering. SENet--用于大规模子空间聚类的自表达网络 前言 摘要 ...

  9. 【论文阅读】Learning Traffic as Images: A Deep Convolutional ... [将交通作为图像学习: 用于大规模交通网络速度预测的深度卷积神经网络](1)

    [论文阅读]Learning Traffic as Images: A Deep Convolutional Neural Network for Large-Scale Transportation ...

最新文章

  1. ACM POJ 2192 Zipper
  2. PyQt5 图形界面 - Qt Designer创建qrc资源文件引用图片资源实例演示,QTextBrower组件引用图片资源方法展示
  3. 华为手机如何关闭通知栏推送消息_如果华为手机升级EMUI10后,电池耗电很快!要记得调整这3个设置...
  4. Algorithm:C++语言实现之队列相关算法(最短路径条数问题、拓扑排序)
  5. SpringMvc项目中使用GoogleKaptcha 生成验证码
  6. System.gc()调用 - 适用的场景
  7. 解决MATLAB不能设置为.m文件默认打开方式
  8. 循环所有数据库执行脚本
  9. 将页面数据转json存入数据库
  10. php3.2 之文件上传,多文件上传
  11. plc算法相关论文参考
  12. 《Java程序设计教程 实验手册》pdf 附下载链接
  13. 串口读取gps信息php,Linux串口读取GPS数据
  14. Lu窗口库LuWin
  15. Matlab:数模12-聚类分析
  16. DNN硬件加速器设计3 -- DNN Accelerators(MIT)
  17. [MATLAB]数据统计分析平均值(mean/median/sum/prod/cumsum)
  18. Qt窗口内嵌Word,PPT,Excel
  19. 10个简单的放松运动
  20. 买股不如买基?Python实现快速追踪基金的收益情况!谁还不是个买基高手?

热门文章

  1. C中八进制和十六进制转义字符揭秘
  2. 满堂花醉三千客,一剑霜寒十四州。—第十六天
  3. 运算放大器设计及应用参讨(一)
  4. 使用MODIS REPROJECTION TOOL(MRT)进行MODIS影像批处理(拼接+转投影)
  5. JAVA 极光推送后台实现触发,推送自定义消息、通知、定时推送、批量推送
  6. 北京大学王立威教授:机器学习理论的回顾与展望
  7. linpack实验:MPI性能参数调优
  8. 多路转接模型多路复用模型
  9. 【luogu2700】逐个击破
  10. 6728. 【2020.06.16省选模拟】T2 战棋游戏