这是崔斯特的第二十一篇原创文章
前排 @皇族电子竞技俱乐部
==================================
S7中RNG对阵SKT,想必是全世界LOL玩家关注的重点。在比赛开始前,使用小葫芦把斗鱼S7直播间的弹幕都抓下来,想着做一小点分析,看看会得出什么结论。
因为数据量和分析深度等原因,以下内容仅供娱乐观赏
数据采集
使用小葫芦采集2万多条弹幕数据,RNG对阵SKT斗鱼直播间的弹幕,最后得到约4万可用数据
中文分词
使用jieba分词,算法如下
- 基于前缀词典实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图 (DAG)
- 采用了动态规划查找最大概率路径, 找出基于词频的最大切分组合
- 对于未登录词,采用了基于汉字成词能力的 HMM 模型,使用了 Viterbi 算法
简单处理之后,看起来是这样
顺便做个统计,看看都在说什么。不加停用词是这样的,全是 “666”
RNG和牛逼是出现最多的词语,同时也发现“卢本伟牛逼”
弱弱问一句“唐梦琼”是谁
下面是词云,Python的词云做不来不好看,所以我使用的工具 HTML5 Word Cloud
弹幕内容词云
用户昵称词云
情感分析
这里使用的是 isnowfy/snownlp。SnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的。
|
|
有点难看,直接看数据吧,得到的结果是在 [0,1] 之间的positive的概率
51659中有44705个大于0.5,占比86.54%,有 6954条弹幕低于0.5,占比13.46%。
弹幕中积极的概率还是相当高的,说明观众还是比较赞赏比赛的。
特征提取
TF-IDF是信息检索领域非常重要的搜索词重要性度量;tf-idf是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。
词频TF(Term Frequency)
词w在文档d中出现次数count(w, d)和文档d中总词数size(d)的比值:
基于 TF-IDF 算法的关键词抽取:
- RNG
- rng
- 贺电
- 加油
- 发来
- 666
- 6666
- 66666
- 恭喜
- 66666666666666
- 666666
- 66666666666
- 6666666
- skt
- 李哥
- 66666666666666666666
- SKT
- 66666666
- 666666666
- 马甲
在没有加上停用词的前提下,可以看到效果并不理想
TextRank是在Google的PageRank算法启发下,针对文本里的句子设计的权重算法,目标是自动摘要。它利用投票的原理,让每一个单词给它的邻居(术语称窗口)投赞成票,票的权重取决于自己的票数。
基于 TextRank 算法的关键词抽取:
- 发来
- 贺电
- 加油
- 学院
- 机器人
- 大学
- 职业
- 船长
- 技术
- 小炮
- 没有
- 解说
- 中国
- 经济
- 开始
- 无敌
- 香锅
- 垃圾
- 老鼠
- 科技
特征选择
Word2vec是一个将单词表征成向量的形式,它可以把文本内容的处理简化为向量空间中的向量运算,计算出向量空间上的相似度,来表示文本语义上的相似度。
计算相似度:
首先是RNG:
- rng 0.9893965721130371
- 加油 0.9829007983207703
- 必胜 0.9790929555892944
- Rng 0.9743078947067261
- 恭喜 0.9733642339706421
- 中国队 0.9397183656692505
- 关 0.9283092021942139
- < 0.9278833866119385
- 燕尾港 0.9222617149353027
- B 0.9143030643463135
RNG加油
看看SKT:
- skt 0.9911665320396423
- 皇族 0.972029983997345
- ^ 0.970970094203949
- 稳住 0.9653508067131042
- 干死 0.9643667340278625
- 牛比 0.9629441499710083
- 一起 0.9625348448753357
- @ 0.9619969725608826
- 鸟巢 0.9608791470527649
- 冠军 0.9608250856399536
稳住,干死SKT?
贺电:
- 学院 0.9811943769454956
- 大学 0.980491042137146
- 技术 0.9766334295272827
- 职业 0.9691535234451294
- 电子科技 0.9668481349945068
- 发来 0.9619022607803345
- 科技 0.9594647884368896
- 山东 0.9568137526512146
- 重庆 0.9440888166427612
- 哈尔滨 0.939836859703064
山东XX学院发来贺电
加油:
- 必胜 0.9876022934913635
- RNG 0.9829007983207703
- rng 0.960281252861023
- Rng 0.9591789841651917
- 恭喜 0.9551880359649658
- 中国队 0.9436988830566406
- 关 0.94183349609375
- ! 0.921385645866394
- ~ 0.9148629903793335
- @ 0.9062787294387817
RNG加油,RNG必胜
小狗:
- 吹 0.9970275163650513
- 无敌 0.996719241142273
- 神超 0.996111273765564
- 后期 0.9959050416946411
- 厉害 0.9957337975502014
- 凶 0.9957261681556702
- 强 0.9955072402954102
- 一个 0.9954395890235901
- 干 0.99541175365448
- 起来 0.9952359199523926
狗吹?
李哥:
- 还是 0.9825356602668762
- 电话 0.9700809717178345
- 承 0.9697628617286682
- 心脏 0.9686012864112854
- 陈文泽在 0.9681863188743591
- 麻痹 0.9680625200271606
- 响 0.9674116373062134
- 以为 0.9664229154586792
- 狗哥 0.9592204689979553
- 不 0.9589840769767761
你李哥还是你李哥
MLXG:
- 宣告 0.9958090782165527
- mlxg 0.9953181147575378
- 死亡 0.995277464389801
- b 0.9949076771736145
- 6666 0.9947425723075867
- 丑 0.9943945407867432
- 10 0.9943088293075562
- 辣鸡 0.9940722584724426
- 干死 0.9940391778945923
- 锤 0.9939616918563843
香锅和死亡宣告有啥关系
小虎:
- 笑笑 0.9971799850463867
- 看到 0.9967395663261414
- 解说 0.9961692690849304
- 不是 0.9959656000137329
- 中单 0.9951503872871399
- 假 0.9950063824653625
- 为什么 0.9944812655448914
- 又 0.9942663908004761
- 么 0.9938984513282776
- 里奥 0.9937981367111206
小虎与加里奥(:
letme:
- 难受 0.9964221715927124
- 笑话 0.9959778785705566
- 哦 0.9958946108818054
- 世界 0.9958213567733765
- 毒奶 0.9957934021949768
- KPL 0.9957884550094604
- 上单 0.9956253170967102
- 瓜皮 0.9955945014953613
- 快 0.9953423738479614
- 打团 0.9953156113624573
真难受啊
To Do
- 可以使用朴素贝叶斯做分类模型
- 使用机器学习性能评估指标预测精确率和准确率
- 欢迎补充