原神2023年五星男性角色PV弹幕感情和高频词分析——艾尔海森

原神艾尔海森弹幕感情和高频词分析

在上一节中,得到一个艾尔海森PV的弹幕csv文件:bilibili_elheisen_danmu.csv,接下来我们进行弹幕的感情分析并提取高频词汇,用到的python 模块表示为

# 数据处理库
import pandas as pd
import jieba
# 数据可视化库
import matplotlib.pyplot as plt
import seaborn as sns
# 文本挖掘库
from snownlp import SnowNLP

首先我们对数据进行导入和预处理(去重空白值和重复值)

filename = 'bilibili_elheisen_danmu.csv'
danmu_data = pd.read_csv(filename, names=['弹幕内容'])
data = pd.DataFrame(danmu_data)
data = data.dropna()   # 删除空白数据所在的行
data = data.drop_duplicates() # 对数据进行去重操作

删除缺失行。

弹幕感情分析

我们用SnowNLP对这些弹幕进行感情分析

# 对弹幕内容中的每个值进行情感训练
senti_score = data['弹幕内容'].apply(lambda x: SnowNLP(x).sentiments)
data['感情分数'] = senti_score
# 对艾尔海森的感情倾向
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(12, 6))
rate = data['感情分数']

ax = sns.distplot(rate,
                  hist=True,
                  kde=True,  # 开启核密度曲线kernel density estimate (KDE)
                  kde_kws={'linestyle': '--', 'linewidth': '1', 'color': '#c72e29',
                          },
                  color='#098154',
                  axlabel='艾尔海森弹幕整体感情倾向'  # 设置x轴标题
                 )
# ax.set_title('艾尔海森弹幕整体感情倾向')
plt.show()

得到的结果可以表示为
在这里插入图片描述

高频词分析

words = jieba.lcut(data)  # 使用jieba库对文本进行分词
counts = {}  # 创建一个字典,用于对词出现次数的统计,键表示词,值表示对应的次数
for word in words:
    if len(word) <= 1:
        continue
    else:
        counts[word] = counts.get(word, 0) + 1  # 在字典中查询若该字返回次数加一
# print(counts)
word_dict = sorted(counts.items(),  key=lambda d: d[1], reverse=True)
# 绘制高频词汇的柱状图
dict_len = 10
for i_len in range(dict_len):
    plt.bar(word_dict[i_len][0], word_dict[i_len][1])
plt.title("艾尔海森的前10个高频弹幕词")
plt.xlabel("弹幕内容")
plt.ylabel("出现次数")
plt.show()

我们对前10个高频词进行了展示,得到如下结果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值