2025-04-03 23:24:36 +08:00
2025-04-03 20:33:46 +08:00
2025-04-02 18:50:35 +08:00
2025-04-03 20:33:46 +08:00
2025-04-01 11:20:27 +08:00
2025-03-31 16:31:27 +08:00
2025-03-30 12:06:31 +08:00
2025-04-02 09:18:48 +08:00
2025-04-01 11:20:27 +08:00
2025-04-03 23:24:36 +08:00
2025-04-03 20:33:46 +08:00
2025-04-03 20:33:46 +08:00
2025-04-02 19:01:51 +08:00
2025-04-03 23:24:36 +08:00
2025-04-03 20:33:46 +08:00
2025-04-01 12:10:19 +08:00
2025-03-29 22:45:36 +08:00
2025-03-29 15:46:52 +08:00

数据处理

原数据文件+量化后文件两个文件

合并数据文件

1. 合并热门数据

  • 数据文件
    • 视频: hot_data/分区/info
    • up: hot_data/分区/up_info
    • 弹幕/评论: hot_data/分区/BV号/...
  • 单分区处理
    • 按bv号匹配视频对应up指标添加到info.csv
    • 依序读取弹幕输出情感评分,(如果顺序没变的话) 直接添加一列到info.csv
    • 合并: 遍历.分区info文件创建总文件并给“视频荣誉”改名成“是否热门”并赋值为1

2. 合并非热数据

  • 同上并赋值为0

3. 合并两个文件

  • 根据URL获取封面
  • 按发布时间排序

4. 文本数据合并

  • 评论文本 (仅热门): 直接合并成列,人工筛选高质量文本
  • 标签合并 (放一起整一个txt即可拉个词云了事)
  • 简介合并 (同上)

数据预处理

原合并文件+量化后文件两个文件

单独处理

  • 是否为系列 (标题关键词分析)(excel使用find函数即可)否0是1
  • 封面处理并量化

数据量化可以用excel实现)

  • up主uid输出uid位数越小表示号越老
  • up主性别 男0女1保密2
  • 播放量对数转换, 输出logV
  • 发布时间: 区分为0-6点6-12点12-18点18-24点四个时段依次赋值为1-4
  • 小分区映射到大分区,具体命名规则见文件
  • 是否为联投: 否0是1
  • 视频方向竖屏0横屏1
  • 视频分辨率: 360、720、1080、2k、4k、8k(近似匹配赋值为1-6
  • 视频类型搬运0自制1
  • 字幕: 无字幕为0剩下为1
  • 视频总时长输出小于60的之间的和大于600的赋值为123方便后续描述性分析
  • 弹幕情感评分(SentimentScore)=0.8snowNLP+0.2RoBERTa

删除不用指标

  • 发布时间等上述被处理过的指标(原播放量要保留)
  • 视频简介、标签
  • 调整顺序(基础信息放前面,其次是连续型变量,最后是分类变量)

数据清洗

  • 筛选极端弹幕情感评分,筛选出两种差值>0.3的人工检查
  • 缺失值处理(按总平均填入)
  • 去除异常值

指标创新

新增指标:

  • 弹幕情感评分snowNLP和RoBERTa及其加权平均作为最终评分(SentimentScore)
  • 标题情感效价(PosTe)和情感唤醒度(ActTe)
  • 封面:
    • 是否有人像(Portrait)
    • 暖色比例(WarmRatio)
    • 冷色比例(CoolRatio)
    • 中性色比例(NeutralRatio)

弹幕情感评分

弹幕情感倾向可以反映用户对视频的喜爱程度。此前我们爬取了每个视频的弹幕,为分析弹幕的情感趋向,我们设计了字典法和模型法两套计算方案,并且最终采用加权平均的方法求得最终值以提高结果的可信度。 字典法采用SnowNLP库进行情感分析得到的情感评分范围在0到1之间其中0表示负面情感1表示正面情感。 字典法运算较为快速,同时也较为传统, 为适应B站弹幕的语言特点我们手动增添了部分词汇并给予一定的情感赋值(以原词典中很好0.78一般0.52差0.14为标准), 如"爷青回"0.9(我的青春回来了),"yyds"0.9(永远的神)"awsl"0.8(啊我死了(感动、可爱)),"2333"0.6(笑)"DNA动了"0.8(触发记忆), 得到“弹幕情感评分snowNLP”指标。

模型法采用前人预训练好的RoBERTa模型进行情感分析情感评分规则同上。 RoBERTa是由...等人在2019年提出的改进版BERT模型适用于文本分类和情感分析具有一定的鲁棒性(引用论文)。 在此基础上我们采用开源的Erlangshen-Roberta-330M模型其已在中文领域经过调整拥有3.3亿个参数,在京东、微博评论等数据集上表现良好(引用论文) 因此较为适合B站的弹幕情感分析。 由于弹幕数据量大计算量很大我们对单个视频弹幕量超过500的作均匀抽样处理500条并且借助学校高性能运算中心提供的平台进行计算虽然没什么用,得到"弹幕情感评分RoBERTa"指标。 最终,我们采用加权平均的方法结合两种方法的结果,得到最终的弹幕情感评分(SentimentScore)。

标题文本的情感效价(PosTe)和情感唤醒度(ActTe)

(验证了论文里的封面文本的情感效价和情感唤醒度的计算发现OCR的识别效果并不好不过函数编都编了遂应用到视频标题上去。

步骤:

  1. 定义见论文<<应急科普>>P37表格
  2. 情感效价PosTe的计算 使用NLPIR分词与情感词标注(Python的“cnsenti”包),统计文本中的积极、消极词汇数,然后 依据廖圣清、程 俊超等学者的做法以“积极词汇数/(积极词汇数+消极词汇数)”作为该条文本的情感效价。 若文本中积极、消极词汇同时为0将PosTe赋值为0.5,表示为中性.
  3. 情感唤醒度ActTe的计算 对分词结果对照大连理工情感词典(引用论文:徐琳宏,林鸿飞,潘宇,任惠,陈建美.情感词汇本体的构造.情报学报,2008,27(2):180-185) 匹配到情感分类(小类),进一步匹配到情感大类, 即“哀”、"好"、“恶”、“乐”、“怒”、“惧”、“惊”七种情感, 并借鉴廖圣清等学者的做法根据情感唤醒度的强弱分别赋值为1-7。 对文本中反映该七种情感的字词出现的频数进行统计,将七种情感所包含的词汇数目分别乘以对应的情感唤醒程度的赋值,归一化后作为该封面文本的情感唤醒度。 对标题文本匹配结果为0的表明主要为中性词汇将ActTe赋值为0.

视频封面处理

视频的封面对其传播具有重要影响,但由于封面吸引力等因素具有主观性,以往的研究较为有限。 在这里,我们提取了是否有人像、暖色比例、冷色比例、中性色比例四个客观指标辅助分析。 我们使用了OpenCV库加载了预训练的人脸检测模型并调用detectMultiScale方法进行人像检测。 并使用改进的k-means聚类算法MiniBatchK-means提取封面主色结合HSV色彩空间分类标准计算色调比例。

Description
No description provided
Readme 61 MiB
Languages
Python 100%