点击上方,选择星标置顶,每天给你送干货

阅读大概需要9分钟

跟随小博主,每天进步一丢丢

来自:NewBeeNLP

Aspect Level Sentiment Classification with Deep Memory Network(EMNLP2016)[1]

文章借鉴了来自QA领域的记忆网络解决ABSA问题。Memory Network提出的目的之一就是为了解决RNN、LSTM等网络的记忆能力较差的问题。它维护了一个外部的记忆单元用于存储之前的信息,而不是通过cell内部的hidden state。如果有同学不太熟悉Memory Network,后续会整理一篇更为详细的解读,稍安勿躁。

整体解决方案如下图所示

1.1 Embedding

输入是一个原始句子,需要将其映射到向量空间后输入到模型中。常规操作,将context word和aspect word分别用向量表示

1.2 Attention

包括了两部分:content attention和location attention

content attention

就是传统的Key Value Query的形式
































location attention

我们从直观上来看,通常情况下,与aspect word距离较近的context word对于相应aspect的情感倾向的判断更重要。于是就有了location attention。所谓的location attention其实就是把context word的位置信息加入到memory中。文中定义了四种方式来encode位置信息:

  • 「方式一:」

























  • 「方式二:」
















































  • 「方式三:」 









    作为模型的一个参数,随机初始化,通过梯度下降学习得到。

























  • 「方式四:」 与方式三类似,加了一层sigmoid。

1.3 Loss

CODE HERE[3]

Recurrent Attention Network on Memory for Aspect Sentiment Analysis(Tencent AI Lab/EMNLP 2017)[4]

论文采用多层注意力机制结合记忆网络去捕获句子中target word 与context word之间的联系。整体框架如下,主要分为

  • input module,

  • memory module,

  • position-weighted memory module,

  • recurrent attention module,

  • output module.

2.1 BLSTM for Memory Building

在上一篇的论文中的记忆网络只是简单地将word embedding作为memory,并不能准确识别例如Except Patrick, all other actors don’t play well这类的实体情感。于是在本文中引入双向LSTM来捕获这之间的深层次关联。如果有L层BLSTM叠加,最终得到的memory vector表示为

2.2 Position-Weighted Memory

当然,作者认为target word在输入句子中的位置信息也非常重要,更靠近target word的context word应该具有更高的重要性。





























































































































2.3 Recurrent Attention on Memory

这一部分的目的就是利用之前计算好的memory来表示出情感,然后用于分类。和上一篇论文一样,使用GRU和堆叠的attention。

Aspect Based Sentiment Analysis with Gated Convolutional Networks(ACL2018)[5]

针对ABSA任务,之前研究效果较好的模型都是采用了LSTM+attention机制,这类模型过于复杂且参数较多训练起来比较费时。

LSTM processes one token in a step. Attention layer involves exponential operation and normalization of all alignment scores of all the words in the sentence. Moreover, some models needs the positional information between words and targets to produce weighted LSTM, which can be unreliable in noisy review text.

因此作者提出一种基于门控机制的可并行训练的CNN模型。

  • 将原始输入embedding后送入包含两个卷积操作的卷积层,第一个卷积对句子提取sentiment feature,第二个卷积额外加上了aspect embedding提取aspect feature,而且两者使用的非线性激活函数也不一样

  • 将上述得到的两个输出按位相乘,

























    以上是针对Aspect-Category Sentiment Analysis(ACSA),如果是Aspect-Term Sentiment Analysis(ATSA)问题呢,我们没有给定的aspect词,每个句子需要预测的target term都不同,这时候可以用另外一个CNN来提取target term的representation

CODE HERE[6]


本文参考资料

[1]

Aspect Level Sentiment Classification with Deep Memory Network(Tang/EMNLP2016): https://arxiv.org/abs/1605.08900

[2]

Memory Networks论文串烧: https://blog.csdn.net/Kaiyuan_sjtu/article/details/90489213

[3]

CODE HERE: https://github.com/ganeshjawahar/mem_absa

[4]

Recurrent Attention Network on Memory for Aspect Sentiment Analysis(Tencent AI Lab/EMNLP 2017): https://www.aclweb.org/anthology/D17-1047

[5]

Aspect Based Sentiment Analysis with Gated Convolutional Networks(Xue/ACL2018): https://www.aclweb.org/anthology/P18-1234

[6]

CODE HERE: https://github.com/wxue004cs/GCAE

END -


投稿或交流学习,备注:昵称-学校(公司)-方向,进入DL&NLP交流群。

方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等。

记得备注呦

有帮助的话,给个好看吧!

【情感分析】基于Aspect的情感分析模型总结(PART IV)相关推荐

  1. NLP之情感分析:基于python编程(jieba库)实现中文文本情感分析(得到的是情感评分)之全部代码

    NLP之情感分析:基于python编程(jieba库)实现中文文本情感分析(得到的是情感评分)之全部代码 目录 全部代码 相关文章 NLP之情感分析:基于python编程(jieba库)实现中文文本情 ...

  2. 情感分析基于词典(算例代码)

    基于词典的情感分析 情感分析是指挖掘文本表达的观点,识别主体对某客体的评价是褒还是贬,褒贬根据进态度行倾向性研究.文本情感分析可以分为基于机器学习的情感分类方法和基于语义理解的情感分析.基于机器学习进 ...

  3. 商品评论情感分析——基于商品评论建立的产品综合评价模型(1)

    商品评论情感分析--基于用户评论建立的产品综合评价模型(1) 1.背景 1.1问题分析 2.数据预处理 2.1删除无关数据 2.2文本去重 3.情感分析 4.LDA主题模型 4.1评论文本分词 4.2 ...

  4. NLP之TEA:基于python编程(jieba库)实现中文文本情感分析(得到的是情感评分)之全部代码

    NLP之TEA:基于python编程(jieba库)实现中文文本情感分析(得到的是情感评分)之全部代码 目录 全部代码 相关文章 NLP之TEA:基于python编程(jieba库)实现中文文本情感分 ...

  5. ​​​​​​​NLP之TEA:基于python编程(jieba库)实现中文文本情感分析(得到的是情感评分)

    NLP之TEA:基于python编程(jieba库)实现中文文本情感分析(得到的是情感评分) 目录 输出结果 设计思路 相关资料 1.关于代码 2.关于数据集 关于留言 1.留言内容的注意事项 2.如 ...

  6. 【自然语言处理】【细粒度情感分析】细粒度情感分析:了解文本情感的What、How、Why

    细粒度情感分析:了解文本情感的What.How.Why Knowing What,How and Way:A Near Complete Solution for Aspect-based Senti ...

  7. java对微博评论进行分析_微博上分析情感的_中文情感分析java_中文微博情感分析...

    目前,社会正处于一个微博崛起的时代,一切有关于微博的问题都被社会广泛关注,并得到了工业界和学术界的高度重视.微博从出现以来,取得了良好的发展,并拥有大众的普遍关注和应用.微博的超大信息量和高速度的更新 ...

  8. 情感分析的分类,情感分析模型有哪些,情感分析的应用场景,情感分析的发展趋势

    1.情感分析的分类: (1)基于情感极性的分类:将文本的情感分为正向.负向和中性三类. (2)基于情感维度的分类:将文本的情感分为喜欢.愤怒.悲伤.惊喜等多个情感维度. 2.情感分析模型: (1)基于 ...

  9. 细粒度情感分析(Aspect Based Sentiment Analysis, ABSA),一个从零开始的案例教程【Python实现】

    目录 前言 数据和源码 你要了解的基础 1. 细粒度情感分析(ABSA)案例背景 1.1 任务介绍 1.2 数据基本介绍 1.3 如何评估ABSA的结果 2. 任务一:Aspect Term Extr ...

  10. 基于Python的对网络评论情感分析:主题与情感词抽取

    资源下载地址:https://download.csdn.net/download/sheziqiong/85661888 问题描述 针对评论网站上的用户评论进行细粒度的情感分析,区别于传统的粗粒度的 ...

最新文章

  1. JSP数据交互(一)
  2. linux下查找文件及内容 grep
  3. linux复盘:mysql基础
  4. git 提交修改到github上
  5. HDU 1059 Dividing
  6. IOS开发基础之截图、图片文字水印
  7. redis大幅性能提升之使用管道(PipeLine)和批量(Batch)操作
  8. 让使用MSN就像访问网页一样容易!
  9. 收文处理和发文处理的环节_公文处理,如何提速增效
  10. 使用webpack开发ES6程序的正确姿势
  11. linux文件管理课程设计,操作系统原理课程设计-Linux文件管理系统的仿真.doc
  12. 心电图数据结构化标准_自己实现一个类 JSON 数据结构
  13. Go打印函数名/文件名/行号
  14. 那些有实力进入 BAT 的本科生,都做对了什么事?
  15. Markdown 写文档做笔记的利器
  16. 鳄克斯系列服务器,英雄联盟:FPX冠军庆典活动进行中 一半宝石入手海科克斯系列皮肤...
  17. 逆转三国攻略-各阶段关卡武将
  18. A Hierarchical Latent Variable Encoder-Decoder Model for Generating Dialogues论文笔记
  19. 【msvcr120.dll下载】msvcr120.dll丢失怎么修复
  20. H3C设备运行状态查询常用命令(建议收藏)

热门文章

  1. SQL SERVER数据库优化相关资料
  2. pycharm操作指北
  3. Java Mysql数据库创建视图、索引、备份和恢复
  4. gridview划线
  5. php入门第二篇---变量
  6. CentOS下配置多个Tomcat同时运行 本篇文章来源于 Linux公社网站(www.linuxidc.com)
  7. ios程序后台运行设置(不是太懂)
  8. repeater上EVAL绑定后台方法并且传参数
  9. 【FIRST USE】第一次用git把代码上传到github
  10. ceph:如何处理rados --striper上传失败的对象