返回
数据可视化视角下的B站弹幕解析
人工智能
2023-12-07 12:32:28
前言
B站弹幕,作为B站的一大特色,一直以来都备受关注。这些五花八门的弹幕,不仅为视频增添了许多乐趣,也从侧面反映了观众对视频的看法。
数据来源与分析方法
本文所使用的数据来自B站官方提供的弹幕API。我们使用Python语言对数据进行分析,并使用pyecharts库进行可视化。
弹幕内容分析
弹幕词云图
首先,我们来看看弹幕中的高频词有哪些。
import jieba
import pyecharts.charts as charts
# 分词
texts = [" ".join(jieba.cut(text)) for text in texts]
# 生成词云图
wordcloud = (
charts.WordCloud()
.add("", texts, word_size_range=[20, 100])
.set_global_opts(title_opts=opts.TitleOpts(title="弹幕词云图"))
)
wordcloud.render("弹幕词云图.html")
从词云图中可以看出,“哈哈”、“666”、“爱了”、“笑死”等词语出现在了高频词中。这些词语都代表了观众对视频的积极情绪,说明观众对视频的整体评价是正面的。
弹幕情感分析
除了对弹幕内容进行分词之外,我们还可以对弹幕进行情感分析。
import jieba
import numpy as np
import pyecharts.charts as charts
# 分词
texts = [" ".join(jieba.cut(text)) for text in texts]
# 情感分析
sentiments = [classify(text) for text in texts]
# 生成饼图
pie = (
charts.Pie()
.add("", sentiments, radius=[30, 75])
.set_global_opts(title_opts=opts.TitleOpts(title="弹幕情感分析"))
)
pie.render("弹幕情感分析.html")
从饼图中可以看出,正面情感的弹幕占比最高,达到了60%以上。这说明观众对视频的整体评价是正面的。
弹幕发送者分析
弹幕发送者地域分布图
接下来,我们来看看弹幕发送者的地域分布情况。
import pyecharts.charts as charts
# 生成地图
map = (
charts.Map()
.add("弹幕发送者地域分布", data_pair, "china")
.set_global_opts(title_opts=opts.TitleOpts(title="弹幕发送者地域分布"))
)
map.render("弹幕发送者地域分布图.html")
从地图中可以看出,弹幕发送者主要分布在沿海地区,其中广东、江苏、浙江、上海、北京等省份的弹幕发送者数量最多。这与这些省份的互联网普及率较高有关。
弹幕发送者性别分布图
我们还可以看看弹幕发送者的性别分布情况。
import pyecharts.charts as charts
# 生成饼图
pie = (
charts.Pie()
.add("", gender, radius=[30, 75])
.set_global_opts(title_opts=opts.TitleOpts(title="弹幕发送者性别分布"))
)
pie.render("弹幕发送者性别分布图.html")
从饼图中可以看出,男性弹幕发送者占比更高,达到了65%以上。这与B站的男性用户居多的情况相符。
弹幕发送时间分析
弹幕发送时间分布图
最后,我们来看看弹幕发送时间分布情况。
import pyecharts.charts as charts
# 生成折线图
line = (
charts.Line()
.add("弹幕发送时间分布", time, number)
.set_global_opts(title_opts=opts.TitleOpts(title="弹幕发送时间分布"))
)
line.render("弹幕发送时间分布图.html")
从折线图中可以看出,弹幕发送数量在晚上达到峰值,这与人们在晚上有更多空闲时间有关。另外,在一些特殊的时间点,如节假日、热门视频发布时,弹幕发送数量也会大幅增加。
结语
通过对B站弹幕数据的可视化分析,我们对B站弹幕这一独特的文化现象有了更深入的了解。这些数据不仅可以帮助我们更好地理解B站用户,还可以为B站的运营提供一些有价值的建议。