基于python的情感分析案例_关于python爬虫的情感分析

基于python的情感分析案例_关于python爬虫的情感分析今天给大家分享的是通过情感词典来对文本进行情感分析最后计算出情感得分通过情感得分来判断正负调性主要步骤:数据准备本次情感词典采用的是BosonNLP的情感词典,来源于社交媒体文本,所以词典适用于处理社交媒体的情感分析本次分析准备的文本数据有:BosonNLP情感词典停用词表否定词表程度副词表生成停用…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

今天给大家分享的是通过情感词典来对文本进行情感分析最后计算出情感得分 通过情感得分来判断正负调性

    主要步骤:

          

图片

数据准备

        

本次情感词典采用的是BosonNLP的情感词典,来源于社交媒体文本,所以词典适用于处理社交媒体的情感分析

     本次分析准备的文本数据有:

            BosonNLP情感词典

            停用词表

            否定词表

            程度副词表

基于python的情感分析案例_关于python爬虫的情感分析

生成停用词词典

         

在生成停用词词典的时候要注意过滤否定词和程度副词

    代码如下:

基于python的情感分析案例_关于python爬虫的情感分析

数据预处理

        

在数据预处理部分主要做的是对文本进行jieba分词和去停用词

     代码如下:

基于python的情感分析案例_关于python爬虫的情感分析

分数计算前期准备

对文本进行分词以后,得到文本中的情感词、否定词和程度副词

    读取情感词典文件、否定词文件、程度副词文件

    然后将分词后的情感词、否定词和程度副词通过情感词典文件、否定词文件、程度副词文件分别放入三个字典,为下面计算情感分数做铺垫:

基于python的情感分析案例_关于python爬虫的情感分析

基于python的情感分析案例_关于python爬虫的情感分析 

计算情感的分数

通过上一步得到了文本的分词结果,同时得到了文本的情感词、否定词和程度副词三个列表

    遍历所有的情感词,看查看当前情感词的前面是否有否定词和程度副词。

    如果没有否定词,就对当前情感词乘以1,如果有否定词或者有多个否定词,可以乘以(-1)^否定词的个数;如果有程度副词,就在当前情感词前面乘以程度副词的程度等级。

基于python的情感分析案例_关于python爬虫的情感分析

测试

   通过输入文本来测试一下由分词词典得到的情感分数:(最后得到的文本情感分数有正负之分  分数越高越趋近于正面 分数越低越趋近于负面)

基于python的情感分析案例_关于python爬虫的情感分析

测试用例1: 今天吃了顿砂锅米线 味道特别好 下次还去

图片

    测试用例2:今天外面下雨了 心情也顺带有点沮丧 提不起精神

图片

    测试用例3:年年岁岁花相似 岁岁年年人不同

图片

    测试用例4:在淘宝买了个商品 可是快递员把我的快递随意乱扔 里面的东西都被摔碎了 真的好生气

图片

    通过分数可以看到,还是分析的有点准的,但是相较于机器学习来做情感分析还是差距很大,后面有时间会陆续学习更新一些更深入的情感分析算法。希望大家多多支持~

如需源码请关注公众号【PyDream】后回复:【情感分析即可】

本文链接:https://mp.weixin.qq.com/s/ybboepfKDPxm65HXY8ZEaw

微信公众号二维码:

基于python的情感分析案例_关于python爬虫的情感分析

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/172445.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月23日 上午7:00
下一篇 2022年8月23日 上午7:00


相关推荐

  • js 判断一个 object 对象是否为空

    js 判断一个 object 对象是否为空js判断一个object对象是否为空转载原文判断一个对象是否为空对象,本文给出三种判断方法:1.最常见的思路,for…in…遍历属性,为真则为“非空数组”;否则为“空数组”for(variinobj){//如果不为空,则会执行到这一步,返回truereturntrue}returnfalse//如果为空,返回false2.通过JSON自带的s

    2022年6月9日
    40
  • MyBatisPlus–逻辑删除「建议收藏」

    MyBatisPlus–逻辑删除「建议收藏」逻辑删除开发系统时,有时候在实现功能时,删除操作需要实现逻辑删除,所谓欧吉删除就是将数据标记为删除,而并非真正的物理删除(非DELETE操作),查询时需要携带状态条件,确保被标记的数据不被查询,这样做的目的就是避免数据被真正的删除。配置application.properties#删除状态值为1mybatis-plus.global-config.db-config.logic-del…

    2022年5月5日
    78
  • win7系统opc服务器配置,win7 设置opc服务器

    win7系统opc服务器配置,win7 设置opc服务器win7设置opc服务器内容精选换一换创建媒体处理服务配置项。媒体处理服务配置项用于媒体处理服务中获取相关授权。参数和对应说明如表1。MpcConfigmpcConfig=newMpcConfig();mpcConfig.setEndPoint(“endPoint”);//设置转码节点地址mpcConfig.setProjectId(华为云帮助中心,为用户提供产品简介、价格说明、购买…

    2022年6月20日
    27
  • lamp配置多个虚拟站点

    lamp配置多个虚拟站点在同一ip下添加多个域名站点!1.查看ip命令:ifconfig2.添加域名命令:vi/etc/hosts输入域名:如192.168.160.127www.test.com192.168.160.127www.test2.com3.创建要配置站点的文件夹及文件.var/www/test/index.php/var/www/test2/inde…

    2022年6月5日
    29
  • 挑战10个最难回答的Java面试题(附答案)

    译者:Yujiaaosegmentfault.com/a/1190000019962661推荐阅读(点击即可跳转阅读)1.SpringBoot内容聚合2.面试题内容聚合3.设计模式内容聚合4.Mybatis内容聚合5.多线程内容聚合这是我收集的10个最棘手的Java面试问题列表。这些问题主要来自Java核心部分,不涉及JavaEE相关问题。…

    2022年4月14日
    73
  • flake8规范_flake8

    flake8规范_flake8一.概述flake8(代码规范利器)是下面三个工具的封装:1)PyFlakes2)Pep83)NedBatchelder’sMcCabescript二.安装pipinstallflake8三.使用(rd)➜webgit:(develop)✗flake8views.py#检查一个文件views.py:1:1:E265blockcomments…

    2025年11月9日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号