python b站弹幕分析_关于《后浪》的B站弹幕分析总结(五)——Python实现情感分析、情绪分析以及可视化...
目录
一、利用百度ai做情感分析
二、使用pyechats可视化实现动态图表
三、情绪分析的方法
相关内容:
B站视频《[数说弹幕]我不小心看了后浪弹幕》
关于《后浪》的B站弹幕分析总结(一)——爬取B站视频的上万条弹幕的方法
关于《后浪》的B站弹幕分析总结(二)——分词常用的词典、颜文字处理以及格式统一
关于《后浪》的B站弹幕分析总结(三)——怎么制作好看的交互式词云
关于《后浪》的B站弹幕分析总结(四)——Python实现LDA内容主题挖掘及主题可视化
情感分析常见的研究中都按照三分类(正向、中性、负向)的方式进行,也有7分类甚至更多维度的分类,本文为了区别开将三分类称为情感分析,7分类的称为情绪分析。
按照处理文本的颗粒度的性质情感分析可以分为文档级情感分析、句子级情感分析、属性级请按分析等。
无论哪种分析方法对于个人都是长期且巨大的工程,所以这里推荐使用情感分析的工具。
一、利用百度ai做情感分析
百度ai的这个功能只能够区分正向、中性、负向,多分类还不可以。
https://ai.baidu.com/?track=cp:aipinzhuan|pf:pc|pp:AIpingtai|pu:title|ci:|kw:10005792
在自然语言处理下创建应用,选择情感倾向分析,你会得到你的三个码。后面程序中需要用到。
AppID
API Key
Secret Key
使用python连接你的应用,百度的这个功能是可以免费调用500000次的,不知道什么时候他就会不免费了,所以趁现在可以多用用。
from aip import AipNlp
""" 你的 APPID AK SK """
APP_ID = '你的AppID'
API_KEY = '你的APIKey'
SECRET_KEY = '你的Secret Key'
client = AipNlp(APP_ID, API_KEY, SECRET_KEY)
def get_sentiments(text,i):
try:
sitems=client.sentimentClassify(text)['items'][0]#情感分析
positive=sitems['positive_prob']#积极概率
confidence=sitems['confidence']#置信度
sentiment=sitems['sentiment']#0表示消极,1表示中性,2表示积极 output='{}\t{}\t{}\t{}\n'.format(i,positive,confidence,sentiment)
f=codecs.open('sentiment.xls','a+','utf-8')
f.write(output)
f.close()
print('Done')
except Exception as e:
print(e)
for i in range(len(data_code)):
print('正在处理第{}条,还剩{}条'.format(i,data_df.shape[0]-i))
view= data_code[i]
print(view)
get_sentiments(view,i)
这个程序运行后,就可以看到界面上在一条一条处理语句,我的是1万8千条数据,大概需要处理1个小时。
正在处理第1条,还剩18499条
君子美美与共,和而不同
Done
正在处理第2条,还剩18498条
后浪
Done
正在处理第3条,还剩18497条
啊是青青!!
Done
正在处理第4条,还剩18496条
复旦之光!!
但是百度ai也不是非常好用,比如‘’奔涌吧,后浪‘’这句话就处理成了负向,需要做一下调整。其实这里做的有点粗糙了,在文本上还可以做些处理。
二、使用pyechats可视化实现动态图表
因为我想要看到一个每天都在变化的情感正负向情况,所以借助到pyechats的timeline。
from pyecharts import options as opts
from pyecharts.charts import Pie, Timeline
from pyecharts.faker import Faker
attr = list(data_sen1.index)
tl = Timeline()
for i in list(data_sen1.columns):
pie = (
Pie()
.add(
"弹幕",
[list(z) for z in zip(attr, list(data_sen1[i]))],
rosetype="radius",
radius=["30%", "55%"],
)
.set_global_opts(title_opts=opts.TitleOpts("情感分析".format(i)))
)
tl.add(pie, "{}".format(i))
tl.render("timeline_pie.html")
这个图会根据时间轴每天发生变化,具体可以看我的视频。
三、情绪分析的方法
这个其实内容很大,简单介绍一下,感兴趣的可以自己查资料,以后有时间我会详细写一下这部分内容。本文的思路是参考《情感分析及可视化方法在网络视频弹幕数据分析中的应用》这篇论文。
这里介绍一种基于词典的方法。首先你需要建立自己的情绪分析词典,将情绪划分为7种,如同我在总结(二)中介绍的喜、怒、忧、思、悲、恐、惊,当然网上也有很多类似的词典可以下载,一定要是针对这种网络评论用语的词典才好,因为网络文化还是和日常用语不太一样。然后将你的文档做分词,分词完根据词典做分类,同时要注意去停用词,根据极性副词做一个增加情感强度或弱化情感强度的处理,一般思路为如果增强情感的则乘以一个大于1的数,如果弱化情感的则乘以一个小于1的数。取情感值最大的作为句子的情绪。还有否定词怎么处理的问题等等。
当然这样的思路也有一些问题,因为你只是做了句子级的情绪分类,还需要做属性级的情绪分类才能判断真实意图。
工具有吗,当然有,可以看看微博舆情网站的情绪分析,其他工具可以评论交流。
python b站弹幕分析_关于《后浪》的B站弹幕分析总结(五)——Python实现情感分析、情绪分析以及可视化...相关推荐
- python与会计的论文_甭管前浪后浪,写完论文的先浪!
原标题:甭管前浪后浪,写完论文的先浪! 自愿返校已是板上钉钉的事儿了 而对于大家的期末考 现在也基本上已经通知线上考试 如果没有线上考试的话,那就是交论文 可是,论文动不动就2000字10%查重 毛概 ...
- java建站集成包_基于Java的快速建站框架实现(含源文件).doc
武汉纺织大学2010届毕业设计论文 PAGE \* MERGEFORMAT 16 1 概述 1.1 课题背景 随着IT技术和互联网应用的蓬勃发展,类似Blog.BBS等类型的个人型网站的需求量也越来越 ...
- python编程对电脑要求_什么是集成开发环境和代码编辑器?优秀Python编程环境的要求(4)...
科学家将甚大望远镜和斯皮策空间望远镜的数据进行能量分布分析,发现了在西北向旋臂末端存在一些年轻恒星,越往星系中央,恒星的年龄越大.最新版本的komodo提供了更多的功能与pycharm.pydev和w ...
- 怎么把python解释器配置在pycharm中_在PyCharm中配置项目(三):配置Python解释器...
PyCharm是一种Python IDE,其带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具.此外,该IDE提供了一些高级功能,以用于Django框架下的专业Web开发. PyCha ...
- python做的小项目实例_?【清单】精选10个适合新手练习的 Python 实战小项目
1.Python 图片转字符画 用 50 行 Python 代码完成图片转字符画小工具.通过本实验将学习到 Linux 命令行操作,Python 基础,pillow 库的使用,argparse 库的使 ...
- python最强表白神器_「含蓄优雅表白神器」程序员式用python代码画爱心(附详细教程)...
还能用python代码画爱心?还有这种操作?这是什么原理? 不相信python代码可以画爱心?先来一张效果图来看看效果吧! 用python代码画爱心的思路是怎样的? 1.怎么画心形曲线 2.怎么填满心 ...
- python建站的缺点_记录一下自己的建站过程(三):Python与Django
前言(都是唠叨) 讲完了前端了,后端开始了.还是pml老师,因为我后面的课都没听过,所以一直都是不知道后端到底是怎么工作的.只听过一个词叫Tornado,对就真的只知道这个词,龙卷风,它是个啥我到现在 ...
- python下载之后无法启动_安装后启动时,适用于Python的Eric IDE崩溃
On Windows 7 I successfully installed Python 3.73 and then installed Eric 6, the Python IDE. 安装似乎已成功 ...
- 兔子数列python编程分析_九九乘法,兔子数列,杨辉三角|用Python生成器的妙解...
很多同学还是对生成器的用法,感到怀疑,特别是有其他语言基础的同学,一下子很难理解和转换过来,那什么情况下会用到yield,建议是当需要在循环过程中依次处理一个序列中的元素的时候,就应该考虑生成器,其实 ...
- python第六周实验_机器学习 | 吴恩达机器学习第六周编程作业(Python版)
实验指导书 下载密码:ovyt 本篇博客主要讲解,吴恩达机器学习第六周的编程作业,作业内容主要是实现一个正则化的线性回归算法,涉及本周讲的模型选择问题,绘制学习曲线判断高偏差/高方差问题.原始实 ...
最新文章
- selenium提取数据之driver对象的常用属性和方法
- 输出以下图案菱形7行_春夏格子图案超流行,三木的一款格子连衣裙,带来田园少女风...
- qt项目中的某一个类的输出中文信息乱码,其它类中文输出正常
- 无法删除所有指定的值_AutoCAD所有系统变量大全
- 菜鸟教程html图片自动播放,HTML img 标签 | 菜鸟教程
- Linux + ChromiumOS操作系统资源持续更新...(转载)
- Ubuntu16.04LTS安装Visual Studio Code和Git以及解决git clone问题
- unity3d人物跳_Unity人物跳跃效果
- Tomcat配置HTTP协议转HTTPS协议
- HTMl+CSS 模仿京东网登录页面
- javaWeb期末复习实验专题
- 刺激战场android闪退,《绝地求生刺激战场》老是闪退怎么办 老是闪退解决方法介绍...
- 旺旺机器人的快捷短语_机器人配置和我的快捷短语
- POJ3107 Godfather 树形dp+模拟vector
- 《观音山》的文艺范儿
- Power Automate:发送带有SharePoint列表附件的邮件
- Power BI 可视化:KPI 指标在卡片图中的突出显示
- 幸运通过系统集成项目管理工程师的6条经验
- python爬虫案例——东方财富股票数据采集
- 6.3 南丁格尔玫瑰图