Aspect Level Sentiment Classification with Deep Memory Network论文学习笔记
一:关于aspect level 的情感分析
给定一个句子和句子中出现的某个aspect,aspect-level 情感分析的目标是分析出这个句子在给定aspect上的情感倾向。
例如:great food but the service was dreadful! 在aspect “food”上,情感倾向为正,在aspect “service”上情感倾向为负。Aspect level的情感分析相对于document level来说粒度更细。
神经网络方法
利用神经网络学习低维文本特征,获取文本的语义表示。
神经网络模型的问题
传统的神经网络模型能够捕捉背景信息,但是不能明确的区分对某个aspect的更重要的上下文信息。LSTM通过sequence的方式对所有的context word执行同样的操作,因此不能明确反映出每个context word的重要性。而对于aspect-level的情感分析来说,只有一部分上下文信息对于判定某个特定的aspect的情感倾向是比较重要的。
例子:great food but the service was dreadful!
在这个句子里,对于“food”这个aspect来说,要判断它的情感倾向,“great”是一个重要的线索,“dreadful”基本没什么用。同样的对于“service”这个aspect来说,“dreadful”比较重要,“great”就没有什么作用了
解决这个问题的方法
捕捉不同的context word对于特定aspect的重要性,利用这个信息做句子的语义表示。作者的想法来自于memory network。
二、关于memory network
memory network是Jason Weston在14年提出来的想法,Sainbayar Sukhbaatar在15年提出了让memory network进行end to end的训练方法,并在QA上取得了较好的效果。
关于memory network的相关内容可参考下面两篇论文:
- [Weston et al.2014] MEMORY NETWORKS
- [Sukhbaatar et al.2015] End-To-End Memory Networks
memory network的总体说明
按照我的理解,memory network就是有一个可以读写的外部memory,模型可以根据memory的内容来确定输出的符号。memory里面存储需要的信息,比如上下文的语义信息,这样可以解决长期大量的记忆问题。
memory network的总体结构
Memory network包括:一个memory m,四个component I,G,O,R
- m:一组vector
- I:把输入转化成feature representation
- G:根据新的输入更新memory
- O:根据当前memory和输入得到output representation
- R:根据output representation得到模型输出
输入:一系列sentence:,和question q
task:根据这些sentence得到q的答案
- I每次读一个sentence ,encode得到vector representation;
- G根据当前的sentence representation更新memory;
- 所有sentence都处理完得到完整的memory m,存储这些sentence的语义信息;
- Encode question q得到;
- O根据从memory m选择related evidence得到一个输出向量o;
- R根据o得到最终的输出。
给定句子和aspect word
1、map each word into its embedding vector
四、总结
1、作者将memory network的思想用在aspect-level的情感分析上,通过上下文信息构建memory,通过attention捕获对于判断不同aspect的情感倾向较重要的信息,在实验数据集上取得了较好的结果。和RNN、LSTM等神经网络模型相比,本文提出的模型更简单计算更快。
2、将content信息和location信息结合起来学习context weight是一种比较适合aspect-level的情感分析的方法,对模型性能有较大提升。
3、多层计算单元可以学到更多更abstractive的信息,可以提升模型性能。