标注:本博客是参考论文有《传统情感分类方法与机遇深度学习的情感分类方法对比分析》、《自然语言处理中的深度学习:方法及应用》

情感分类是自然语言处理的重要分支,传统情感分类主要有基于情感词典的和基于机器学习的,最新的方法是基于深度学习的。

1、基于情感词典的方法

缺点:受限于情感词典的质量和覆盖度。
定义:是对人脑的简单模拟,核心模式是基于词典和规则,即以情感词典作为判断评论情感极性的主要依据,根据以往经验对现有词汇做出评价的一种模型,eg1:通常把讨厌、糟糕作为消极词,把高兴。快乐作为积极词,通过句子中出现的情感词,预测该句子的情感极性。
依赖于:情感词典的构建和判断规则质量,而两者都需要耗费很多人力,包括人工设计和先验知识。

2、基于机器学习

核心:模型训练
缺点:模型训练依赖于标注数据集的质量,高质量的数据集需要投入大量人工成本。需要高质量的特征构造和选取。
常用特征有:N-gram特征、句法特征等。

3、基于深度学习模型


  1. 定义:

    深度学习是基于特征自学习和深度神经网络(DNN)的一系列机器学习算法的总称。目前深度学习的研究有了长足发展,在传统特征选择与提取框架上取得巨大突破,在自然语言处理、生物医学分析、遥感影像解译等诸多领域产生越来越重要影响,并在计算机视觉和语音识别领域取得革命性突破。

  2. NLP研究任务包括

    词性标注、机器翻译、命名实体识别、机器问答、情感分析、自动文摘、句法分析和共指消解等。

  3. 深度学习应用在NLP领域原因:
    文本间的关系难以度量,相关研究高度依赖人工构建特征。而深度学习方法的优势恰恰在于其请打的判别能力和特征自学习能力,非常适合高维数、无标签和大数据的特点。

  4. 不使用传统神经网络原因

    传统神经网络无法处理前后关联问题,而深度学习模型RNN解决了该问题。随着距离和先验知识的增加,RNN会出现梯度消失或梯度爆炸情况,因此无法解决长久依赖问题。而LSTM通过三个门结构控制细胞cell,解决上述问题。

  5. 深度学习优点:

    基于深度学习抽象特征,可避免人工提取特征的工作,且通过Word2Vec技术模拟词语之间联系,有局部特征抽象画以及记忆功能,在情感分类中具有极大优势。

  6. 现有深度学习方法主要分为两个步骤:

    • 将需要分类的评论语料表达为语义词向量(Word Embedding);
    • 通过不同语义合成方法用词向量得到所对应句子或文档的特征表达式,最后通过深度神经网络进行分类。

3.1 语义词向量表达

在自然语言处理中,很重要的一个问题是如何将一个句子用向量表示。词向量通常是指通过语言模型学习到的词的分布式特征表示,也被称为词编码。可以非稀疏的表示大规模语料中复杂的上下文信息。

BOW(Bag of Words)。

传统文档表示方法是基于词袋模型。
BOW核心思想:忽略文本中的次序和语法、句法,仅看成这些词汇的排列组合,且文本中的词汇没有任何关系。
缺点:

  1. 极高维度:文本向量的维数与训练数据集中出现的所有单词数一样多,且若某一词汇在训练集中未出现过,则会忽视这个词,在测试集中无法成为该文本特征。
  2. 向量极度稀疏
  3. 认为词语之间无关系,很难表示一个句子或一篇短文的语义,
  4. 不同语境下,词袋法很难区分一个词的意义。

Word2Vec

该模型由Mikolov等人提出,核心思想是通过高维向量表示词语,相近词语放在相近位置,因此Word2Vec适合处理序列数据,因为序列局部间的数据存在很大关联。通过Word2Vec可训练语料库模型,获得词向量,且词向量的高维性解决了词语多方向发散问题,从而保证模型的稳定性。
有两种模型:(1)CBOW:通过上下文预测当前词
(2)Skip-gram:通过当前次预测上下文。

3.2句子向量

通过不同语义合成(Semantic Composition)方法用词向量得到所对应句子或文档的特征表达,语义词向量就是利用原始词向量合成更高层次的文本特征向量。

3.3深度学习模型

  • 循环神经网络和长短记忆神经网络

    循环神经网络(Recurrent neural networks,RNN)是隐藏层和自身存在连接的一类神经网络。相较于前馈神经网络,RNN可将本次隐藏层的结果用于下次隐藏层的计算,因此可以用来处理时间序列问题,比如文本生成【28】、机器翻译【29】和语音识别【30】,RNN的优化算法为BPTT算法(backpropagation through time)【31】,由于梯度消失的原因,RNN的反馈误差往往只能向后传递5-10层,因此文献【32】在RNN的基础上提出来长短记忆神经网络(long-short term memory,LSTM).LSTM使用Celljiegou 记忆之前的输入,使得网络可以学习到合适的时机重置Cell结构。

  • 卷积神经网络(Convolutional neural networks,CNN)

    CNN由文献【40】提出并由文献【41】改进的深度神经网络。在一般前馈神经网络中,输入层和隐藏层之间采用全连接结构,而在CNN中每一个卷积层节点只与一个固定大小的区域有连接,连接的权重矩阵称为卷积核。池化(pooling)是CNN所采用的另一个关键技术,在固定大小的区域使用平均值或最大值代替原有的矩阵区域,既减少了特征数目又增加了网络的鲁棒性。
    目前CNN在NLP领域的应有有许多新的尝试。文献【6】将CNN用于语义角色标注,文献【42】使用字符作为语义特征,采用大规模文本语料训练CNN迷行用于本体分类、情感分析和文本分类。

4 基于情感词典、机器学习、深度学习在情感分类中对比

5深度学习瓶颈

目前深度学习的理论依据还处于起步阶段,大部分的研究成果都是经验性的,没有足够的理论来指导实验,研究者无法确定网络架构。超参数设置是否已是最优组合。除此之外,目前仍没有一种通用的神经网络或学习策略可以适用于大多数的应用任务,因此深度学习领域的研究者正在不断尝试新的网络架构和学习策略,以提升网络的泛化能力。
目前深度学习用于NLP领域的主要步骤可以归结为如下3 步:

  • 将原始文本作为输入,自学习得到文本特征的分布表示。
  • 将分布式向量特征作为深度神经网络的输入。
  • 针对不同的应用需求,使用不同的深度学习模型,有监督的训练网络权重。

传统情感分类方法与深度学习的情感分类方法对比相关推荐

  1. 深度学习 情感分析_使用深度学习进行情感分析

    深度学习 情感分析 介绍 (Introduction) The growth of the internet due to social networks such as Facebook, Twit ...

  2. 深度学习在情感分类中的应用

    简介与背景 情感分类及其作用 情感分类是情感分析的重要组成部分,情感分类是针对文本的情感倾向进行极性分类,分类数量可以是二分类(积极或消极),也可以是多分类(按情感表达的不同程度),情感分析在影音评论 ...

  3. 传统文本分类和基于深度学习文本分类

    用深度学习(CNN RNN Attention)解决大规模文本分类问题 - 综述和实践 近来在同时做一个应用深度学习解决淘宝商品的类目预测问题的项目,恰好硕士毕业时论文题目便是文本分类问题,趁此机会总 ...

  4. 深度学习在情感分析中的应用

    然语言情感分析简介 情感分析无处不在,它是一种基于自然语言处理的分类技术.其主要解决的问题是给定一段话,判断这段话是正面的还是负面的.例如在亚马逊网站或者推特网站中,人们会发表评论,谈论某个商品.事件 ...

  5. 万字总结Keras深度学习中文文本分类

    摘要:文章将详细讲解Keras实现经典的深度学习文本分类算法,包括LSTM.BiLSTM.BiLSTM+Attention和CNN.TextCNN. 本文分享自华为云社区<Keras深度学习中文 ...

  6. 深度学习笔记——情感分析

    很早之前就想写一篇关于用深度学习做情感分析的文章,一直拖到现在,拖延症啊.... 什么是情感分析? 情感分析(Sentiment analysis)是自然语言处理(NLP)领域的一个任务,又称倾向性分 ...

  7. 综述:基于深度学习的文本分类 --《Deep Learning Based Text Classification: A Comprehensive Review》总结(一)

    文章目录 综述:基于深度学习的文本分类 <Deep Learning Based Text Classification: A Comprehensive Review>论文总结(一) 总 ...

  8. 综述:基于深度学习的情感分析

    近年来,深度学习有了突破性发展,NLP 领域里的情感分析任务逐渐引入了这种方法,并形成了很多业内最佳结果.本文中,来自领英与伊利诺伊大学芝加哥分校的研究人员对基于深度学习的情感分析研究进行了详细论述. ...

  9. 基于深度学习的文本分类1

    基于深度学习的文本分类 与传统机器学习不同,深度学习既提供特征提取功能,也可以完成分类的功能.从本章开始我们将学习如何使用深度学习来完成文本表示. 现有文本表示方法的缺陷 在上一章节,我们介绍几种文本 ...

最新文章

  1. linux字符设备驱动架构,linux驱动开发--字符设备:cdd_cdev结构中private_data使用
  2. Windows下启动,关闭Nginx命令
  3. android layout_gravity失效的问题
  4. 智能手机的超性能语音识别技术简介
  5. Spring Boot_打造企业级微信点餐系统_汇总贴
  6. 极客大学架构师训练营 框架开发 设计原则 设计模式 反应式编程框架 上课总结 第五课
  7. npm的那些“坑”——持续更新
  8. 农业信息技术基础知识(1)
  9. Python 找回自家路由器密码
  10. #大话设计模式之适配器模式#
  11. 微信小店怎么设置优惠券
  12. 2020下半年软考中级(系统集成项目管理工程师)(个人备考用)
  13. linux glog使用
  14. IT耳朵IT桔子:2017年人工智能行业发展研究报告白皮书
  15. 链家地产-Java工程师面试
  16. 1000瓶无色无味的药水,其中有一瓶毒药,10只小白鼠拿过来做实验
  17. 第六章 异常 try-catch-finally 6.2.3
  18. 设计模式(二)观察者模式
  19. 直插DC插头内部分解,哪个是正哪个是负
  20. ghost手动恢复linux,GHOST手动还原重装系统详细教程(图文)

热门文章

  1. 使用navicat进行mysql数据库拷贝
  2. RocketMQ基础提高进阶demo实例应用
  3. 安卓小游戏:飞机大战
  4. b站视频详情数据抓取,自动打包并发送到指定邮箱(单个或者群发)
  5. 四、AOSP-开机报错
  6. 记一次 Ruby 内存泄漏的排查和修复
  7. SQLserver 报错RegCreateKeyEx() 返回了错误 5,“拒绝访问。” (.Net SqlClient Data Provider)错误号: 22002 严重性: 16 状态: 1
  8. java上传文件夹到oss
  9. vue3.0的多种写法,你喜欢哪种呢?
  10. java—Web(项目)—数据库(插入数据)