AI学习笔记(十八)NLP常见场景之情感分析
目录
情感分析
基于情感词典的传统算法
基于深度学习的算法
情感分析
情感分析是自然语言处理中常见的场景,对于指导产品更新迭代具有关键性的作用。
通过情感分析,可以挖掘产品在各个维度的优劣,从而明确如何改进产品。比如对外卖评价,可以分析菜品口味、送达时间、送餐态度、菜品丰富度等多个维度的用户情感指数,从而从各个维度上改进外卖服务。
情感分析可以采用基于情感词典的传统方法,也可以采用基于深度学习的方法。
情感分析也称为意见挖掘(Option Mining),是自然语言处理(NLP)的一个领域,它构建的系统,用于在文本中识别和提取观点。通常,除了识别观点,这些系统还提取描述的特征,例如:
- 极性:发言者表达积极或消极的意见;
- 主题:正在谈论的事情;
- 意见持有人:表达意见的个人或实体
目前,情感分析是一个很有兴趣的话题,因为它有许多实际应用。由于互联网公司公开可用的信息不断增长,在评论网站,论坛,博客和社交媒体中,可以获得大量表达意见的文本。
在情感分析的帮助下,这种非结构化信心可以自动转化为,数据化结构,关于产品,服务,品牌或人们可以表达意见的其他主题。这些数据对于商业应用非常有用,例如营销分析,公馆分析,产品评论,网络发起人评分,产品反馈和客户服务。
情感分析可以用于不同级别的范围:
- 文本级别:通过完整文档或段落来获取情绪;
- 句子级别:获得单句的情绪;
- 子句级别:获得字句子中,表达的情感。
情感分析的优点
- 可扩展性
如成千上万的推文,用户对话或用户评论等数据量比较大的情况下,情感分析能够以有效且低成本的方式大规模处理数据。
- 实时分析
我们可以使用情感分析来识别关键信息,以便在特定情境中实施提供态势感知。
- 一致的标准
人类没有观察到评估一段文字感情的清洗标准。锯骨机,在判断特定文本的情感时,不同的人仅仅在60~65%的情况下统一。这是一项主管任务,伸手个人经理,思想和信仰的影响。通过使用集中情感分析系统,公司可以对所有数据应用相同的标准,这有助于减少错误并提高数据一致性。
基于情感词典的传统算法
基于情感词典的方法,先对文本进行分词或停用词处理等预处理,再利用先构建好的情感词典,对文本进行字符串匹配,从而挖掘正面和负面信息。
情感词典包含正面词语词典、负面词语词典、否定词语词典、程度副词词典等四部分。
词典包含两部分,词语和权重。
基于词典的文本匹配算法需要逐个遍历分次后的语句中的词语,如果词语命中词典,则进行相应权重的处理。正面词权重为加法,负面词权重为减法,否定词权重取相反数,程度副词权重和它修饰的词语权重相乘。利用最终输出的权重值,就可以区分是正面、负面还是中性情感了。
基于情感词典的情感分类,简单易行,而且通用性也能够得到保障,但其不足在于:
1、精度不高。语言是一个高度复杂的东西,采用简单的现行叠加显然会造成很大1精度损失。词语权重同样不是一成不变的,而且也难以做到准确。
2、新词发现。对于新的情感词,比如给力,666等等,词典不一定能够覆盖;
3、词典重构难,基于词典的情感分类,核心在于情感词典。而情感词典的构建需要有较强的背景知识,需要对语言有比较深刻的理解,在分析外语方面会有很大限制。
基于深度学习的算法
近年来,深度学习在NLP领域内也是遍地开花。基于深度学习的情感分析,具有精度高,通用性强,不需要情感词典等优点。
基于深度学习的情感分类,首先对语句进行分词、停用词、简繁转换等预处理,然后进行词向量编码,然后利用LSTM或者GRU等RNN网络进行特征提取,最后通过全连接层和softmax输出每个分类的概率,从而得到情感分类。
基于深度学习的情感分析难点也很多,比如:
1、语句长度太长。很多用户评论都特别长,分词完后有几百个词语。一般解决方法有进行停用词护理,无关词处理等,从而所建文本长度。或者对文本进行摘要,抽离语句主要成分。
2、新词和口语词特别多。用户评价语句不像新闻那样规整,新词和口语化的词语特别多。这个问题给分词和词向量带来了很大难度。一般解决方法是分词方面,建立用户词典,从而调高分词准确度。词向量方面,对新词进行增量训练,从而提高新词覆盖率。
AI学习笔记(十八)NLP常见场景之情感分析相关推荐
- Polyworks脚本开发学习笔记(十八)-用SDK开发Polyworks插件
Polyworks脚本开发学习笔记(十八)-用SDK开发Polyworks插件 插件是由PolyWorks加载的动态链接库(DLL文件),然后查询Polyworks模块,以确定它们具有哪些功能,提供给 ...
- python3.4学习笔记(十八) pycharm 安装使用、注册码、显示行号和字体大小等常用设置...
python3.4学习笔记(十八) pycharm 安装使用.注册码.显示行号和字体大小等常用设置 Download JetBrains Python IDE :: PyCharm http://ww ...
- windows内核开发学习笔记十八:IRP 处理的标准模式
windows内核开发学习笔记十八:IRP 处理的标准模式 在 Windows 内核中的请求基本上是通过 I/O Request Packet 完成的. I/O manager ---> Dis ...
- 【D3D11游戏编程】学习笔记十八:模板缓冲区的使用、镜子的实现
(注:[D3D11游戏编程]学习笔记系列由CSDN作者BonChoix所写,转载请注明出处:http://blog.csdn.net/BonChoix,谢谢~) 模板缓冲区(Stencil Buffe ...
- three.js学习笔记(十八)——调整材质
介绍 到现在为止,我们都在创建新的着色器材质,但是如果我们想要修改一个Three.js内置的材质呢?或许我们对MeshStandardMaterial的处理结果感到满意,但是希望往里边添加顶点动画. ...
- 学习笔记(十八):MoRe-Fi用深度学习网络从非线性信号中恢复呼吸波形
<MoRe-Fi: Motion-robust and Fine-grained Respiration Monitoring via Deep-Learning UWB Radar>学习 ...
- 【theano-windows】学习笔记十八——混合蒙特卡洛采样
#前言 继续之前的Theano学习,本次主要学习混合蒙特卡洛(Hybrid Monte-Carlo Sampling)采样算法. 国际惯例,参考网址 Hybrid Monte-Carlo Sampli ...
- MonoRail学习笔记十八:在VM中可以使用哪些系统变量
我们知道在vm中可以直接使用Session.SiteRoot等,那么我们还可以使用哪些默认的系统变量呢? 其实可以直接在vm中使用的系统变量都是在NVelocityViewEngine类的Create ...
- JavaScript权威设计--事件冒泡,捕获,事件句柄,事件源,事件对象(简要学习笔记十八)...
1.事件冒泡与事件捕获 2.事件与事件句柄 3.事件委托:利用事件的冒泡技术.子元素的事件最终会冒泡到父元素直到跟节点.事件监听会分析从子元素冒泡上来的事件. 事件委托的好处: 1.每个函 ...
最新文章
- Science:一种新型玻璃,有望让手机告别碎屏!
- H3C学习笔记《五》(初级理论知识)
- python怎么读取文件-python怎么读取文件内容
- Deap: python中的遗传算法工具箱
- python编写程序输出诗句_Python学习笔记(一)-- print语句
- 任务调度框架Quartz基本介绍
- 【MATLAB统计分析与应用100例】案例005:matlab调用medfilt1函数对加噪正弦波信号进行平滑处理
- 静态生成html的原理
- linux内核驱动之 设备和模块的分类
- 用typescript完成倒计时_「2019 JSConf.Hawaii - Brie.Bunge」大规模应用 TypeScript
- Golang unsafe包使用笔记
- 实验1-利用Debug查看CPU寄存器和内存+利用机器指令和汇编指令编程
- paip.Answer 3.0 注册功能SQL注入漏洞解决方案
- Apache Prefork、Worker和Event三种工作模式分析
- 场面火爆!5G+智慧灯杆融合发展论坛在北京顺利召开
- 商品期货基本面研究纲要
- root过的安卓机器,安卓机怎样root
- 51单片机 | LCD12864 液晶显示实验
- 学习软件测试的第十九天
- win7下virtualbox遇到的问题
热门文章
- 你必须了解的基础的 Linux 网络命令
- 医疗信息化 医学信息 医院管理 资料下载
- php addall,thinkphp addall() 方法设置
- android mvp框架基类,Android MVP架构项目搭建封装,基类封装
- php的前端环境,PHP中的环境变量
- cv2 imread函数 python_opencv-python库基础操作(一)
- python多进程运行死机_python多进程假死
- Android线程创建aop,【android安卓】一个注解搞定线程切换,基于AOP的线程转换框架...
- PHP九宫格翻牌抽奖,PHP 九宫格抽奖代码
- php多条件检索怎么写,sql查询同时满足三个条件 php查询数据库,同时满足三个条件的sql怎么写?...