浅谈文本情感分析

 在大数据和人工智能的时代,机器能否拥有情感成为人们热议的话题。真正的人工智能系统不仅具有像人类的思考和推理能力,也需要能够感知和表达情感。还记得《魔幻手机》那部经典的国产电视剧中的傻妞么?在电视剧最后她和主人公相爱的故事,激起了我对人工智能拥有人类情感的无限想象。在未来,机器人走向千家万户,和手机一样成为人类生活的一部分是一种必然的趋势。那么你是愿意整天面对的是一丝不苟、冷冰冰地执行任务的毫无情感的铁块,还是像傻妞那样会感知和表达情感的更近人化的智能人呢?毋庸置疑,人们选择的肯定是后者。那么,到了这个时候,大家心里或许有些疑问,机器到底是怎样理解人类情感呢?通常来讲,机器理解人类情感是一个多模态的感知过程,通过表情、行为、语言来理解情感[1]。而语言通常以文本的形式存在,本文将从文本的角度讨论情感分析的研究,也就是所谓的文本情感分析。
 一、什么是文本情感分析:
  文本情感分析是指对包含用户表示的观点、 喜好、 情感等的主观性文本进行检测、 分析以及挖掘,然后归纳推理出文本和文本中的各个人物所要表达的情感色彩是怎样的过程,如从音乐评论中分析用户对音乐的评价(positive、negative);从商品评论文本中分析用户对商品的“价格、大小、重量、易用性”等属性的情感倾向;从新闻评论文本中分析民众对新闻人物和新闻事件的总体评价,掌握当前的舆情信息,特别是热点事件的舆情信息。它是自然语言处理领域的一类任务,又被称为文本倾向性分析,文本意见抽取(Opinion Extraction),文本意见挖掘(Opinion Mining),文本情感挖掘(Sentiment Mining),文本主观分析(Subjectivity Analysis)等。
  二、文本情感分析的主要方法:
  传统的情感分类研究方法主要有两种:(1)基于情感词典的方法;(2)基于传统机器学习的方法。前者需要人工创建情感词典,而人工构建的情感字典多是收集了褒贬情感词的词典,如哈佛大学GI情感词典 ,而对于喜、怒、哀、乐、悲、恐、惊等情感相应的词典还比较少,英语中主要有WordNet-Affect,中文中大连理工大学的情感词汇本体将情感分为七个基本大类和二十一个小类。由于是人工构建,上述词典规模基本都在几千词范围内,规模小,又费时费力。后者通常采用朴素贝叶斯(NB)、最大熵 (ME)、支持向量机(SVM)等进行分类,虽然省去了人工搭建情感字典的繁琐过程,但这些方法容易丢失文本语法语义信息,很难有效捕获文本中的情感。
  随着深度神经网络在自然语言处理领域的应用,2003年 Bengio等人通过神经网络训练词向量来表示文本。词向量不仅可以有效获取语义信息,同时避免了数据稀疏性问题。利用词向量表示文本,并采用深度学习模型,如递归神经网络、卷积神经网络(CNN)、循环神经网络(RNN)等,可以越过情感元素的抽取过程,避免级联错误,使端到端的情感分析成为可能,使情感分类获得比传统机器学习方法更优的效果。
  三、文本情感分析实践:
  接下来我在谷歌的Colab上对IMDB数据集使用深度学习框架Tensorflow基于CNN模型解决文本情感分类问题,

(1)导入 TensorFlow、tflearn 以及构建网络所需要的模块。然后导入 IMDb 库并执行独热编码和填充:在这里插入图片描述
(2)加载数据集,用 0 填充整个句子至句子的最大长度,然后在标签上进行独热编码,其中两个数值分别对应 true 和 false 值。请注意,参数 n_words 是词汇表中单词的个数。表外的单词均设为未知。此外,请注意 trainX 和 trainY 是稀疏向量,因为每个评论可能仅包含整个单词集的一个子集。
在这里插入图片描述
(3)显示几个维度来检查刚刚处理的数据,并理解数据维度的含义:
在这里插入图片描述
(4)为数据集中包含的文本构建一个嵌入。就目前而言,考虑这个步骤是一个黑盒子,它把这些词汇映射聚类,以便类似的词汇可能出现在同一个聚类中。请注意,在之前的步骤中,词汇是离散和稀疏的。通过嵌入操作,这里将创建一个将每个单词嵌入连续密集向量空间的映射。使用这个向量空间表示将给出一个连续的、分布式的词汇表示。
在这里插入图片描述
(5)创建合适的卷积网络。这里有三个卷积层。由于正在处理文本,这里将使用一维卷积网络,这些图层将并行执行。每一层需要一个 128 维的张量(即嵌入输出),并应用多个具有有效填充的滤波器(分别为 3、4、5)、激活函数 ReLU 和 L2 regularizer。然后将每个图层的输出通过合并操作连接起来。接下来添加最大池层,以 50% 的概率丢弃参数的 dropout 层。最后一层是使用 softmax 激活的全连接层:在这里插入图片描述
(6)学习阶段使用 Adam 优化器以及 categorical_crossentropy 作为损失函数:
在这里插入图片描述
(7)在训练中,采用 batch_size=32,观察在训练和验证集上达到的准确度。正如你所看到的,在通过电影评论预测情感表达时能够获得 79% 的准确性:
在这里插入图片描述
还可以调节学习率、适当增加迭代次数、适当增加批次数量、更换优化器等方法进一步提高模型预测的准确率。
四、文本情感分析的应用
总体来看,它们应用在商品/服务评论分析、社交网络分析、情感机器人这三方面。(1)商品/服务评论分析。这类应用聚焦于来自消费产品和服务的评论,例如基于产品评论的代表性平台有Google Shopping 、OpinionEQ 。(2)社交网络分析。随着QQ、微信等社交平台的快速发展,积累了人们大量的富情感的数据。研究人员能够通过分析这些数据来分析公众的情绪变化,并对政府管理、经济、娱乐领域产生影响。例如针对全球情感波动监测的应用Global Pulse ,北航的研究小组推出的第一个针对中文微博的在线情感系统MoodLens 。(3)情感机器人。文本情感分析技术还被引入到对话机器人领域。例如,微软的“小冰”机器人 可以通过分析用户的文本输入和表情贴图,理解用户当前的情绪状况,并据此回复文本或者语音等情感回应。
在这个互联网大兴的时代,人们的生活越发地离不开线上的文字交流,故而基于庞大的互联网线上用户,文本情感分析技术将发挥越来越大的作用,给互联网用户带来越来越好的使用体验,给企业更多可靠的用户情绪反映来促进企业的改变与发展,给国家政府提供更多的对某一政策人民真实的情绪反映进而方便国家政策的调整。
五、文本情感分析面临的挑战与趋势
挑战:由于人类语言的灵活性,人们对于情感的表达也是多样化的,有直截了当的,也有含蓄不露的,更有通过修辞手段及反讽的多种形式表达情感。有时候我们身为人类对中国古代诗歌等文本中蕴含的情感都很难把握,机器恐怕更难了。再者我们人类是情绪复杂的生物,一段文本中可能包含很多种情感,甚至前后会有两种截然相反的情感,而不仅仅是之前简单的对产品、服务等的褒贬倾向性评论。因此需要更深层次的机器学习技术以及情感常识库的支持,如何构建常识知识库是亟待解决的问题。
趋势:文本情感分析不再独自针对文本分析了,而是与语音、图像处理等技术结合,从语言、表情和行为方面理解人类情感并给出相应的情感回复。如此一来,我们相信离打造一个具有情感的机器人的时代已经不远了。或许真正的傻妞会在不远的将来与我们相见。

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值