2025-04-02 19:01:51 +08:00

91 lines
6.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 数据处理
原数据文件+量化后文件两个文件
## 合并数据文件
### 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
- 小分区映射到大分区,具体命名规则见[文件](FSR.xlsx)
- 是否为联投: 否0是1
- 视频方向竖屏0横屏1
- 视频分辨率: 360、720、1080、2k、4k、8k(近似匹配赋值为1-6
- 视频类型搬运0自制1
- 字幕: 无字幕为0剩下为1
- 视频总时长输出小于60的之间的和大于600的赋值为123方便后续描述性分析
- 弹幕情感评分(SentimentScore)=0.8*snowNLP+0.2*RoBERTa
### 删除不用指标
- 发布时间等上述被处理过的指标(原播放量要保留)
- 视频简介、标签
- 调整顺序(基础信息放前面,其次是连续型变量,最后是分类变量)
### 数据清洗
- 筛选极端弹幕情感评分,筛选出两种差值>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色彩空间分类标准计算色调比例。