基于社交网络的情绪化分析IV
基于社交网络的情绪化分析IV
By 白熊花田(http://blog.csdn.net/whiterbear) 转载需注明出处,谢谢。
前面进行了微博数据的抓取,简单的处理,类似度分析。后面两篇进行学校微博的情感分析。
微博情感分析
这里试图通过字典分析的方式计算学校微博的情感倾向。主要分为积极情感,消极情感,客观。
这里字典分析的情感分析和机器学习方式进行情感分析均參考rzcoding的博客,这里仅仅是根据他的思路和代码改装成了微博的情感分析。
字典分析
字典分析的原理是,给定一句微博。推断这句微博中是否出现过积极或者消极的情感词。假设出现,那么寻找修饰该情感词的程度副词。然后根据定义的规则计算积极和消极情感分值。
字典分析结果
使用了matplotlib模块进行结果的显示。
 
图表示字典分析dlut(大连理工大学)的一个用户的情感分析结果,当中红色表示积极的值(依次为总值,均值。方差),绿色表示消极的值(依次为总值,均值,方差)
字典分析全部学校的结果。
| 学校名称 | 积极的微博 | 消极的微博 | 客观的微博 | 
|---|---|---|---|
| 大连理工大学 | 32.7% | 25.5% | 41.8% | 
| 清华大学 | 32.8% | 23.6% | 43.7% | 
| 北京大学 | 33.9% | 24.0% | 42.1% | 
| 南京大学 | 31.2% | 25.6% | 43.3% | 
| 华东政法大学 | 32.4% | 29.0% | 38.6% | 
从上表能够看出。一个学校所发的微博积极的微博数目较大于消极的微博数目。积极的微博比例一般在32%左右。而消极的微博一般在24%左右。忽略掉客观的微博,那么积极的微博和消极微博数目比例大体在1:1的水平上。
机器学习
利用机器学习的方法对微博进行情感分析,即使用相关监督的学习算法,如贝叶斯算法,使用标注的情感文本进行学习。训练得到分类器。最后使用该分类器进行情感分类并进行图形化显示。
详细步骤为:首先手工标注微博,以积极。消极和客观三种状态来标识。接着。使用全部词,双词和卡方统计等方式获取词的特征,然后,使用多种机器学习模型进行训练。筛选得到最佳精度的分类器。最后,使用该分类器进行微博的情感分类,如:假设积极的情感概率则为积极微博。
机器学习分析结果
机器学习分析全部学校的结果。
| 学校名称 | 积极的微博 | 消极的微博 | 客观的微博 | 
|---|---|---|---|
| 大连理工大学 | 12.6% | 28.4% | 59.0% | 
| 清华大学 | 8.7% | 20.3% | 70.9% | 
| 北京大学 | 8.5% | 19.0% | 72.6% | 
| 南京大学 | 9.8% | 23.6% | 66.6% | 
| 华东政法大学 | 11.9% | 30.6% | 57.4% | 
这里的结果与用词典分析的结果不太一样,在词典分析中,用户发的积极的微博数目大于消极的微博数目,而这里,五所大学中,全部的学校所发的积极的微博比例均小于消极的微博,积极微博大概占到10%左右。消极的微博约占到22%左右。客观的微博占到65%左右。
除去客观的微博,积极微博和消极的微博的比例大体相当于1:2。实验中分类器的精确度达到70%。
影响实验结果的因素:其一,该结果是基于分类器得出的结果,而分类器又是基于标注的微博数据,所以。自己标注的微博数据会对分类器的判定有着一定的影响;其二,因为中文语义丰富。在不同的语境下有着不同的含义。这样会导致分类器的判别有一定的难度从而造成相关的误差。
总结
本次毕设研究的主题为分析和了解不同的群体在社交网络上是怎样表达情绪的及其表达情绪的倾向。
为此,本研究设计并实施了一整套从数据抓取到分析的流程。设计了爬虫去抓取数据,设计了对应的算法去分析和统计和处理数据。
终于,本研究做到了在一定层面上展现了社交网络用数据的特性,不同群体用词的差异性,也给出了在社交网络上不同的群体是怎样表达情绪及其倾向这一问题的解答。
基于社交网络的情绪化分析IV的更多相关文章
- 利用python3 爬取 网易云 上 周杰伦所有专辑,歌曲,评论,并完成可视化分析已经歌曲情绪化分析
		这篇文章适合于python爱好者,里面可能很多语句是冗长的,甚至可能有一些尚未发现的BUG,这个伴随着我们继续学习来慢慢消解吧.接下来 我把里面会用到的东西在这里做一个简单总结吧:本文用到了两门解释性 ... 
- VSTO学习笔记(七)基于WPF的Excel分析、转换小程序
		原文:VSTO学习笔记(七)基于WPF的Excel分析.转换小程序 近期因为工作的需要,要批量处理Excel文件,于是写了一个小程序,来提升工作效率. 小程序的功能是对Excel进行一些分析.验证,然 ... 
- 基于CommonsCollections4的Gadget分析
		基于CommonsCollections4的Gadget分析 Author:Welkin 0x1 背景及概要 随着Java应用的推广和普及,Java安全问题越来越被人们重视,纵观近些年来的Java安全 ... 
- 第1篇--基于jdk7和jdk8分析 JVM的内存区域
		基于jdk7和jdk8分析 JVM的内存区域 目录前言1.什么是JVM2.JRE/JDK/JVM是什么关系3.JVM执行程序的过程4. JVM的生命周期5.JVM垃圾回收一.运行时数据区的组成1.程 ... 
- Java反序列化: 基于CommonsCollections4的Gadget分析 Java 序列化与反序列化安全分析
		Java反序列化: 基于CommonsCollections4的Gadget分析 welkin 京东安全 5天前 https://mp.weixin.qq.com/s/OqIWUsJe9XV39SPN ... 
- Python爬取《你好李焕英》豆瓣短评并基于SnowNLP做情感分析
		爬取过程在这里: Python爬取你好李焕英豆瓣短评并利用stylecloud制作更酷炫的词云图 本文基于前文爬取生成的douban.txt,基于SnowNLP做情感分析. 依赖库: 豆瓣镜像比较快: ... 
- Hive -- 基于Hadoop的数据仓库分析工具
		Hive是一个基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库 ... 
- 基于SQL的日志分析工具myselect
		基本介绍 程序开发者常常要分析程序日志,包括自己打印的日志及使用的其他软件打印的日志,如php,nginx日志等,linux环境下分析日志有一些内置命令能够使用,如grep,sort,uniq,awk ... 
- 符号执行-基于python的二进制分析框架angr
		转载:All Right 符号执行概述 在学习这个框架之前首先要知道符号执行.符号执行技术使用符号值代替数字值执行程序,得到的变量的值是由输入变 量的符号值和常量组成的表达式.符号执行技术首先由Kin ... 
随机推荐
- 三、Pandas速查手册中文版
			本文翻译自文章:Pandas Cheat Sheet - Python for Data Science,同时添加了部分注解. 对于数据科学家,无论是数据分析还是数据挖掘来说,Pandas是一个非常重 ... 
- Hi3519V101 SDK安装以及开发环境搭建
			Hi3519V101 Linux开发环境 1.安装Hi3519V101 SDKHi3519V101 SDK是基于Hi3519V101 DMEB的软件开发包,包含了在Linux相关应用开发时使用的各种工 ... 
- LeetCode答案(python)
			1. 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这 ... 
- 合肥工业大学数据结构上机实验代码与实验报告(全)github地址
			我已经将这个学期的所有数据结构上机实验的代码与报告上传到github上了,一直都有这个想法,但没抽出时间来学习git.经过上周简单的练习后,我已经基本学会运营自己的代码仓库了.所有代码都是C++写的类 ... 
- java的synchronized可重入锁
			在java内部,同一线程在调用自己类中其他synchronized方法/块或调用父类的synchronized方法/块都不会阻碍该线程的执行,就是说同一线程对同一个对象锁是可重入的,而且同一个线程可以 ... 
- leetcode刷题——动态规划
			知识点 专题-B-动态规划 题目 斐波那契数列 矩阵路径 数组区间 分割整数 最长递增子序列 最大连续子序列和 最长公共子序列 最长回文子序列 最长公共子串 最长回文子串 背包 题解 CS-Notes ... 
- .NET中常见的加解密方式
			在互联网普及的初期,人们更关注单纯的连接性,以不受任何限制地建立互联网为最终目的.正如事情都具有两面性,互联网的便捷性给人们带来了负面问题,计算机病毒的侵害.信息泄露.网络欺诈等利用互联网的犯罪行为日 ... 
- MFC下拉框
			在函数OnInitDialog()中添加一下语句可以添加选项到下拉框中 m_comboBox.AddString(_T("ALKATIP Basma Tom")); m_combo ... 
- 【LeetCode】String to Integer (atoi)(字符串转换整数 (atoi))
			这道题是LeetCode里的第8道题. 题目要求: 请你来实现一个 atoi 函数,使其能将字符串转换成整数. 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止. 当我们 ... 
- Working out (DP)
			Summer is coming! It's time for Iahub and Iahubina to work out, as they both want to look hot at the ... 
