情感分析论文阅读之《Aspect Level Sentiment Classification with Deep Memory Network》
本文利用了加入了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αimi
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}Watt∈R1∗2d,batt∈R1∗1b_att\in R^{1*1}batt∈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=1kexp(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》相关推荐
- 方面级情感分析论文泛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 总结和展 ...
- Deep Mask Memory Network with Semantic Dependency and Context Moment for Aspect Level Sentiment Clas
这篇博文是Deep Memory Network在Aspect Based Sentiment方向上的应用的一部分,如果你已经熟知深度记忆网络并且看过其在ABSA的应用,只想看这篇论文,可以跳过直接阅 ...
- 方面级情感分析论文泛读02:Syntax-Aware Aspect-Level Sentiment Classification with Proximity-Weighted Convolution
提示1:原文链接 提示1:代码链接 文章目录 前言 一.论文信息 二.笔记要点 2.1. 目前存在的问题 2.2. 目前解决方法: 2.3.本文方法和创新点 2.4. 实验效果 2.5. 模型结构 2 ...
- INTERSPEECH2020 语音情感分析论文之我见
本文分享自华为云社区<INTERSPEECH2020 语音情感分析论文总结一>,原文作者:Tython. 1. Learning Utterance-level Representatio ...
- 论文阅读:Natural Language Processing Advancements By Deep Learning: A Survey
文章目录 一.介绍 二.背景 1.人工智能和深度学习 (1)多层感知机 (2)卷积神经网络 (3)循环神经网络 (4)自编码器 (5)生成对抗网络 2.NLP中深度学习的动机 三.NLP领域的核心概念 ...
- 【论文阅读】Learning Traffic as Images: A Deep Convolutional ... [将交通作为图像学习: 用于大规模交通网络速度预测的深度卷积神经网络](2)
[论文阅读]Learning Traffic as Images: A Deep Convolutional Neural Network for Large-Scale Transportation ...
- 【论文阅读】DouZero: Mastering DouDizhu with Self-Play Deep Reinforcement Learning
[论文阅读]DouZero: Mastering DouDizhu with Self-Play Deep Reinforcement Learning 1 本文解决了什么问题? 斗地主是一个非常具有 ...
- 论文阅读笔记(2):Learning a Self-Expressive Network for Subspace Clustering,SENet,用于大规模子空间聚类的自表达网络
论文阅读笔记(2):Learning a Self-Expressive Network for Subspace Clustering. SENet--用于大规模子空间聚类的自表达网络 前言 摘要 ...
- 【论文阅读】Learning Traffic as Images: A Deep Convolutional ... [将交通作为图像学习: 用于大规模交通网络速度预测的深度卷积神经网络](1)
[论文阅读]Learning Traffic as Images: A Deep Convolutional Neural Network for Large-Scale Transportation ...
最新文章
- ACM POJ 2192 Zipper
- PyQt5 图形界面 - Qt Designer创建qrc资源文件引用图片资源实例演示,QTextBrower组件引用图片资源方法展示
- 华为手机如何关闭通知栏推送消息_如果华为手机升级EMUI10后,电池耗电很快!要记得调整这3个设置...
- Algorithm:C++语言实现之队列相关算法(最短路径条数问题、拓扑排序)
- SpringMvc项目中使用GoogleKaptcha 生成验证码
- System.gc()调用 - 适用的场景
- 解决MATLAB不能设置为.m文件默认打开方式
- 循环所有数据库执行脚本
- 将页面数据转json存入数据库
- php3.2 之文件上传,多文件上传
- plc算法相关论文参考
- 《Java程序设计教程 实验手册》pdf 附下载链接
- 串口读取gps信息php,Linux串口读取GPS数据
- Lu窗口库LuWin
- Matlab:数模12-聚类分析
- DNN硬件加速器设计3 -- DNN Accelerators(MIT)
- [MATLAB]数据统计分析平均值(mean/median/sum/prod/cumsum)
- Qt窗口内嵌Word,PPT,Excel
- 10个简单的放松运动
- 买股不如买基?Python实现快速追踪基金的收益情况!谁还不是个买基高手?