文本情感分析方法研究小结
文本情感分析总结
1. 文本情感分析简介
何谓文本情感分析,其实很简单,利用算法来分析提取文本中表达的情感。例如分析一个句子表达的好、中、坏等判断,高兴、悲伤、愤怒等情绪。如果能将这种文字转为情感的操作让计算机自动完成,就节省了大量的时间。对于目前的海量文本数据来说,这是很有必要的。
2. 文本情感分析分类
文本情感分析主要有三大任务,即文本情感特征提取、文本情感特征分类以及文本情感特征检索与归纳。而关于文本情感分析的方法主要分为两类:
- 基于情感词典的方法
- 人工构建情感词典
- 自动构建情感词典
- 基于机器学习的方法
- 朴素贝叶斯
- 最大熵
- SVM分类器
2.1 基于词典的文本情感分析方法
情感词典是文本分析的基础,利用文本情感词典,可以对情感词典进行极性和强度标注,进而进行文本情感分类。
下图示基于词典的文本情感分析过程:
举个例子:
这个游戏不是太好玩。
先进行分词:这个/游戏/不是/太好玩,一共分为四个词,这个,游戏,不是,太好玩。
遍历每个单词,“太好玩”
在情感词典中的pos词典中出现,所以pos_score得分为1,然后往前遍历是否出现程度词,无程度词,在搜索否定词,出现了“不是”
为-1,相乘最终得分为-1。然后用pos_score减去neg_score的值为最终得分为-1分,大于0则为pos,小于0为neg。
上述例子中每一个情感词的得分需要按照情感词典来计算,而情感词典的构建是则分为人工构建情感词典和自动构建情感词典。
2.1.1 人工构建情感词典
人工构建词典是抓取数据之后多次进行人工标注,根据情感表达将词语进行正负向和强弱程度区分。比较典型的中文情感词典是王勇等对微博中的句子构建的极性词典。台湾大学的中文情感极性词典(NTUSD)、知网情感词典 HowNet等。
人工构建词典在扩充词条信息和便利性方面有一定的优势,但是大大增加了人工开销,并且设计的范围有限,不适合跨领域研究。
2.1.2 自动构建情感词典
第一种是基于知识库的方法,是对上面的人工构建情感词典进行的拓展,加入名词动词副词,使情感词更加全面。
完备的语义知识库, 能够快速构建通用性较强的情感词典, 对词典的精度要求不高的情况下, 这种方法较为实用。中文语义知识库的不足以及领域的限制使得该方法在构建面向单一领域的情感词典中表现不佳。
第二种是基于语料库的方法,利用相关领域的大量语料和相关度的计算规则,结合机器学习的方法,自动统计情感词的情感极性,自动构建情感词典。
语料库相对于语义知识库而言, 其优点是容易获得且数量充足, 构建的词典在语料所属的领域内表现较好, 但是构建的成本较高, 需要对语料进行预处理, 另外, 所构建的词典的准确率相对不高。
第三种是知识库和语料库结合的方法,通过将扩充的情感知识库和特定领域的语料库结合,使构成的情感词典更加丰富。
基于词典的文本情感分析技术由于构建的词典往往只针对某个领域,对于跨领域情感分析的效果不够好,而且词典中的情感词可能不够丰富,对于短文本和特定领域文本进行情感分析的效果更好。因此,对于长文本来说,更好的解决方法是利用机器学习方法。
2.2基于机器学习的文本情感分析方法
先将文本信息进行特征处理,然后对模型进行有监督学习训练,训练好的模型用于预测新的文本信息的情感极性。工作方式如图所示:
根据分类算法不同,可分为朴素贝叶斯、最大熵和支持向量机三种方法。而其中支持向量机的效果最好。
2.2.1 朴素贝叶斯
基于朴素贝叶斯的方法是通过计算概率来对文本情感进行分类,适合增量式训练,而且算法比较简单。
对于给定的数据x,有贝叶斯公式:
p(C|x)=p(C)p(x|C)p(x)
根据公式可以得出数据x归为情感类型C的概率。
将x分词为x1,x2,x3,x4,则:
p(x)=p(x1∩x2∩x3∩x4)
朴素贝叶斯在贝叶斯公式的基础上做了独立同分布假设,所以简化p(x)的计算为:
p(x)=p(x1)p(x2)p(x3)p(x4)
但该方法对输入数据的表达形式很敏感,而且需要计算先验概率,因此会在分类决策方面存在错误率。
2.2.2 最大熵
最大熵分类器属于指数模型类的概率分类器。基于最大熵原理,并且从适合训练数据的所有模型中,选择具 有最大熵的模型。近年部分学者基于最大熵构建情感分析模型,对文本情感进行了分析。
基于最大熵的文本情感分析只要得到一些训练数据,然后进行迭代,就可以得到所需模型,进行自收敛,方法简 单。但是由于最大熵往往只能得到局部最佳解而非全局最优解,因此运用该方法进行情感分析准确率有待提高。且约束函数数量和样本数目有关系,导致迭代过程计算量巨大,实际应用比较难。
2.2.3 支持向量机
支持向量机最初 由vapnik提 出,它通过寻求结构化风险最小以提高学习机泛化能力,实现经验风险和置信范围的最小 化,从而达到在统计样本量较少的情况下,亦能获得良好统计规律的目的。
结果表明,基于Boosting算法的SVM混合情绪分析模型,性能显著优于单独的SVM模型。
基于SVM的文本情感分析方法被认为是最好的情感挽回分析方法,该方法泛化错误率低,计算开销不大,而且对于训练样本较小的文本可以得到很好的情感分析效果,对高维数据的处理效果良好,能够得到较低的错误率,但该方法对参数调节和核函数的选择敏感。
3. 深度学习在文本情感分析领域中的发展
随着深度学习在图像处理的领域不断发展创新,深度学习技术也开始涉及文本情感分析领域。随着深度学习的快速发展, 词向量模型等的提出恰好为相关研究提供了契机。
同时结合知识库和语料库的优点, 并借助深度学习的方法将词语转换成为词向量, 同时利用神经网络构造情感极性分类器, 判断词语的情感极性, 从而避免分类不准确情况的产生, 最后提出一种自动化构建面向金融领域情感词典的方法。
在深度学习中,可以应用于情感分析的技术有很多,比如:
- 前馈神经网络(FNN)
- Word2Vec词嵌入技术
- 卷积神经网络(CNN)
- 循环神经网络(RNN)
- LSTM网络
时至今日,深度学习对各个领域的影响在日益扩增。
4.结语
信息技术的快速发展带来了电子商务的发展热潮和网络平台的急剧增加,对这些平台上的大量言论信息进行情感分析所得到的结果可以用于网络平台评论分类、产品分析推荐、消费预测等方面, 具有极高的商业价值。
传统的文本情感分析方法耗费大量人力资源,然而人工提取的特征覆盖面有限且人工的非理性行为会影响结果的正确性,因此传统方法不具有普适性。
随着深度学习能自动提取特征、学习修正输出、可以处理非线性复杂数据 等优势凸显,深度学习的方法在自然语言处理方面 正受到众多学者的关注,可以预测深度学习的方法将成为文本情感分析研究的重要趋势。
文本情感分析方法研究小结相关推荐
- 武汉大学计算机学院 情感分析,跨语言情感分析方法研究
跨语言情感分析方法研究 [摘要]:近些年来,随着自然语言处理技术和机器学习技术的发展,单语文本的情感分析已得到深入的研究和发展,各种关于词级.超词级.句子级.篇章级的情感分析研究已逐渐趋于成熟.然而, ...
- 结合语言知识和深度学习的中文文本情感分析方法
结合语言知识和深度学习的中文文本情感分析方法 徐康庭, 宋威 北方工业大学信息学院 摘要:在目前的中文文本情感分析研究中,基于语义规则和情感词典的方法通常需要人工设置情感阈值:而基于深度学习的方法由于 ...
- 常用的文本情感分析方法及其应用
1.文本情感分析是指对带有情感色彩的主观性文本进行分析.处理.归纳和推理的过程. 常见的情感极性分析方法有: ①基于情感词典(制定一系列的情感词典和规则,对文本进行段落拆解.句法分析,计算情感值,最后 ...
- 基于情感词典的文本情感分析方法
大致流程: 一.确定情感词典: 情感词典分为极性词典和量化词典(自己整理定义). 1.若选择量化词典可直接进行第二步(适合情感词较少的短文本,重点在于区分情感程度): 2.若选择极性词典,需要先对消极 ...
- 文本情感分析难点和方法
二 文本情感分析的难点 文本特征较难提取 文本较难规范化 词与词之间有联系,关联关系纳入模型不容易 不带情感色彩的停用词会影响情感打分.比如:"打开天窗说亮话". 中文复 ...
- 基于SnowNLP的商品评论文本情感分析
摘要:情感文本电商情感标注分析研究是当前电商数据情感挖掘学术研究的重要热点,具有极高的国际应用价值.对当前电商手机在线商品评论词典进行情感文本电商情感标注分析与词典数据情感挖掘研究具有很 ...
- [深度学习]-基于tensorflow的CNN和RNN-LSTM文本情感分析对比
基于tensorflow的CNN和LSTM文本情感分析对比 1. 背景介绍 2. 数据集介绍 2.0 wordsList.npy 2.1 wordVectors.npy 2.2 idsMatrix.n ...
- 文本情感分析综述笔记
文章目录 前言 一.应用场景 二.具体流程 1.文本预处理 1.1 分词,停用词,词典 1.2 实体识别(命名体识别) 2.情感分析(情感分类) 2.1 基于词典 2.2 基于机器学习 2.3 基于深 ...
- 自然语言处理之文本情感分析
1.导语 深度学习近些年取得突破性的发展,目前深度学习技术在人工智能领域应用最广泛的两方面就是CV(计算机视觉)和NLP(自然语言处理),在本次夏虹老师的<人工智能>课程上,我和我的小组成 ...
最新文章
- 她因重仓马斯克和比特币封神!现在分享了十大2021技术趋势
- ECShop 增加收藏商品排行榜功能
- Python爬虫入门(8):Beautiful Soup的用法
- python的openpyxl库如何读取特定列_通过渲染一百万个网页,来了解网络是如何崩溃的...
- 做一个.net 程序员要掌握的知识提纲
- QPW 企业维度评分表(tf_company_dimesion)
- File类、递归、字节流
- 用phpcms如何将静态页面制作成企业网站(中)
- 苹果系统自带的计算机怎么恢复出厂设置,苹果电脑恢复出厂化设置的教程_苹果电脑怎样恢复出厂系统-win7之家...
- Java使用qq邮箱发送email
- abc计算机机房建设标准,ABC级数据中心机房建设要求
- 阅读技术书籍原著的困扰:技术书籍中的符号用英语该怎么念?
- Meltdown Spectre原理简要梳理
- jpa+hibernate整合达梦数据库(附源码)
- openGL贝塞尔曲面细分
- 栾锟数据科学与计算机学院,山东女子学院学生会第四届第一任干部名单
- HTML5网页设计常用标记-图像标记
- 蒲公英 · JELLY技术周刊 Vol.22: npm i react-router@6.0.0-beta.0
- 一文读懂MEMS技术4大主要分类及应用领域
- 职教云python程序设计答案_智慧职教云课堂2020Python程序设计基础章节答案
热门文章
- 商业模式 - 被程序员颠覆的业务蓝图
- C++vector用法总结
- Ubuntu 3行命令 安装Google Chrome64位
- OS 页面置换算法(OPT,FIFO,LRU)颠簸/抖动
- 170822 WarGames-Natas(27-28)
- mysql函数返回表类型_如何从MySQL函数返回表?
- 英文学术论文写作,有什么好书可以推荐?
- android9无法连接wifi,安卓9手机连上wifi却上不了网怎么办
- 将 MSIL 编译为本机代码 AOT
- Python极简讲义——一本书入门数据分析与机器学习(序言)