来源:Coursera吴恩达深度学习课程

情感分类(sentiment classification)就是看一段文本,然后分辨这个人是否喜欢他们在讨论的东西,这是NLP中最重要的模块之一。情感分类一个最大的挑战就是标记的训练集没有那么多,但是有了词嵌入,即使只有中等大小的标记的训练集,也可以构建一个不错的情感分类器。

如上图所示,是一个情感分类问题的例子,输入x是一段文本,而输出y是要预测的相应情感。例如一个餐馆评价的星级,

比如"The dessert is excellent."(甜点很棒),四星的评价(review);

"Service was quite slow"(服务太慢),这是两星评价;

"Good for a quick meal but nothing special"(适合吃快餐但没什么亮点),三星评价;

还有比较刁钻的评论,"Completely lacking in good taste, good service and good ambiance."(完全没有好的味道,好的服务,好的氛围),给了一星评价。

如果你能训练一个从x到y的映射,基于这样的标记的数据集,那么你就了解大家对餐馆的评价。一般而言,可以通过一个情感分类器分析一些社交平台上的评价,然后分析出大家对你的餐馆的评论的情感是正面的还是负面的,这样可以了解餐馆是在蒸蒸日上还是每况愈下。

情感分类一个最大的挑战就是可能标记的训练集没有那么多。对于情感分类任务来说,训练集大小从10,000到100,000个单词都很常见,甚至有时会小于10,000个单词,采用了词嵌入能够带来更好的效果,尤其是只有很小的训练集时。

接下来我们看几个不同的算法。

如上图,这是一个简单的情感分类的模型,看这个句子"The dessert is excellent",我们通常用10,000个词的词汇表(dictionary)。我们要构建一个分类器能够把它映射成输出四个星,对于句子中的4个单词,找到相应的one-hot向量,所以the就是o_8928,乘以嵌入矩阵E,E可以从一个很大的文本集里学习到(它可以从一亿个词或者一百亿个词里学习嵌入),然后提取单词the的嵌入向量e_8928,对dessert、is、excellent做同样的步骤。

如果在很大的训练集上训练E,比如一百亿的单词,这样你就会获得很多知识,甚至从有些不常用的词中获取,然后应用到你的问题上,即使你的标记数据集里没有这些词。我们可以这样构建一个分类器,取这些嵌入向量,比如是300维度的向量。接着把它们求和(sum)或者求平均(mean)。在这里取平均之后会得到一个300维的特征向量,把这个特征向量送进softmax分类器,然后输出y帽。这个softmax能够输出5个可能结果的概率值,从一星到五星,这个就是5个可能输出的softmax结果用来预测y的值。

这里用的平均值运算单元(the average operation here),这个算法适用于任何长短的评论,因为即使你的评论是100个词长,你也可以对这一百个词的特征向量求和或者平均它们,然后得到一个表示一个300维的特征向量表示,然后把它送进你的softmax分类器,所以这个平均值运算效果不错。

这个算法有一个问题就是没考虑词序,尤其是这样一个负面的评价,"Completely lacking in good taste, good service, and good ambiance.",good这个词出现了3次,如果算法忽略词序,只是把所有单词的词嵌入加起来或者平均下来,最后的特征向量会有很多good的表示,分类器很可能认为这是一个好的评论,尽管事实上这是一个差评,一星的评价。

我们有一个更加复杂的模型,不用简单的把所有的词嵌入都加起来,我们用一个RNN来做情感分类。

如上图所示,首先取这条评论,"Completely lacking in good taste, good service, and good ambiance.",用每一个one-hot向量乘以词嵌入矩阵E,得到词嵌入表达e,然后把它们送进RNN里。RNN的工作就是在最后一步计算一个特征表示,用来预测y帽,这是一个多对一(many-to-one)的网络结构的例子。这个算法考虑词的顺序效果就更好了,它就能意识到"things are lacking in good taste",这是个负面的评价,“not good”也是一个负面的评价。而不像原来的算法一样,只是把所有的加在一起得到一个大的向量,根本意识不到“not good”和 “good”不是一个意思,"lacking in good taste"也是如此,等等。

如果你训练一个这样的算法,最后会得到一个很合适的情感分类的算法。由于你的词嵌入是在一个更大的数据集里训练的,这样效果会更好,更好的泛化一些没有见过的新的单词。比如其他人可能会说,"Completely absent of good taste, good service, and good ambiance.",即使absent这个词不在标记的训练集里,如果是在一亿或者一百亿单词集里训练词嵌入,它仍然可以正确判断,并且泛化的很好,甚至这些词是在训练集中用于训练词嵌入的,但是可以不在专门用来做情感分类问题的标记的训练集中。

以上就是情感分类的问题。

说明:记录学习笔记,如果错误欢迎指正!转载请联系我。

情感分类(Sentiment Classification)相关推荐

  1. 2.9 情感分类-深度学习第五课《序列模型》-Stanford吴恩达教授

    情感分类 (Sentiment Classification) 情感分类任务就是看一段文本,然后分辨这个人是否喜欢他们在讨论的这个东西,这是NLP中最重要的模块之一,经常用在许多应用中.情感分类一个最 ...

  2. 【Lifelong learning】Continual Learning with Knowledge Transfer for Sentiment Classification

    链接:http://arxiv.org/abs/2112.10021 简介 这是一篇在情感分类Sentiment Classification运用连续学习Continual Learning的pape ...

  3. 基于语义规则的胶囊网络跨域情感分类:Cross-Domain Sentiment Classification by Capsule Network With Semantic Rules

    基于语义规则的胶囊网络跨域情感分类 论文 ABSTRACT I. INTRODUCTION II. RELATED WORK A. CROSS-DOMAIN SENTIMENT CLASSIFICAT ...

  4. 使用语言学特征进行文本情感分类《Linguistically Regularized LSTM for Sentiment Classification》

    原文链接 本文发表于自然语言处理领域顶级会议 ACL 2017 代码链接 摘要 本文主要是做句子情感分类任务的研究,前人做的工作大多都依赖于短语级别的标注,这样费时费力,而一旦仅使用句子级别的标注的话 ...

  5. 【论文阅读】Sentiment Classification情感分类

    0.Abstract 情感分类通常需要大量的标记数据,然而在现实能获得的标记文本大部分都是英语写的,这就使得那些主要以英语数据进行训练的情感分类器提供给非英语使用者的服务会比提供给英语使用者的服务要差 ...

  6. 情感分类《Thumbs up?Sentiment Classification using Machine Learning Techniques》

    相关背景: 这篇论文发表于2002,那时大量的文本分类研究都是对文章的主题分类,例如判断一篇文章是体育类还是财经类.然而随着在线评论的网站大肆兴起,为了提供更言简意赅的信息,就需要判断人们针对某件事发 ...

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

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

  8. 方面级情感分析论文泛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 总结和展 ...

  9. 情感分析论文阅读之《Aspect Level Sentiment Classification with Deep Memory Network》

       本文利用了加入了attention机制的QA系统中的深度记忆网络,本文将aspect word的上下文信息作为memory m中存储的内容.实现了一个针对aspect-level的情感分类模型. ...

  10. 基于LSTM的情感分类案例:Tensorflow代码

    整理中... 情感分析(Sentiment analysis),又称倾向性分析,包含较多的任务,如意见抽取(Opinion extraction),意见挖掘(Opinion mining),情感挖掘( ...

最新文章

  1. bzoj 1731 [Usaco2005 dec]Layout 排队布局——差分约束
  2. nohup 命令(设置后台进程): appending output to ‘nohup.out’ 问题
  3. expandableListView 总结
  4. Condition源码分析
  5. 如何在Raspberry Pi上设置两因素身份验证
  6. 【树】104. 二叉树的最大深度
  7. Oracle中UNION和ORDER BY共用方法
  8. R导出可编辑图到ppt:结合使用ggplot2以及officer
  9. linux安装python3和pip3
  10. Ascii完整码表(256个)
  11. HUSTOJ教程(1)——安装部署
  12. Spring之FactoryBean的使用与源码解析
  13. 关于E-R(实体-联系)图
  14. 红色警戒2009java_命令与征服-红色警戒
  15. 转载 | 年度盘点!Flink 社区全年的精华内容都在这里啦
  16. 安卓原生运行Win11 再跑 Apk,搁着套娃呢!
  17. 石康,你别再让我越来越厌恶了,行不行
  18. Android桌面管理
  19. 电脑不用,不用电脑,你还会写字吗?
  20. mysql 5.7 xbackup_mysql5.7备份

热门文章

  1. Project免费视频教程来了
  2. eviews求相关系数
  3. java视频格式转_java 实现 视频格式转换(转)
  4. linux4.12内核 bridge简介
  5. 知道华为HMS ML Kit文本识别、银行卡识别、通用卡证识别、身份证识别的区别吗?深度好文教你区分
  6. 彻底凉了!全球最大电子书网站遭美政府封站
  7. python数学建模基础(一)——矩阵操作
  8. Windows Mobile 设备中心开启方法(win7/win10)
  9. 影视作品(电影,电视剧,PV,MAD,AMV)的制作程序
  10. 企业ERP上云解决方案(金蝶/用友/OA等)