最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Python爬《沉默的真相》3萬+彈幕,告訴你這劇到底“香”在哪?

2020-11-02 14:05 作者:愛數(shù)據(jù)分析社區(qū)  | 我要投稿

J哥?| 作者
菜J學(xué)Python |

本文運用文本挖掘技術(shù),對最近熱播劇《沉默的真相》3萬+彈幕進行數(shù)據(jù)分析,希望對你有一定的啟發(fā)。


本文數(shù)據(jù)分析思路及步驟如下圖所示,閱讀本文需要10min,你可添加小數(shù)獲取彈幕數(shù)據(jù)進行測試。


1. 數(shù)據(jù)獲取

本文僅提供核心代碼:

2. 數(shù)據(jù)清洗

2.1 導(dǎo)入數(shù)據(jù)分析庫

2.2合并彈幕數(shù)據(jù)

《沉默的真相》共12集,分集爬取,共生成12個csv格式的彈幕數(shù)據(jù)文件,保存在danmu文件夾中。通過glob方法遍歷所有文件,讀取數(shù)據(jù)并追加保存到danmu_all文件中。

2.3 重復(fù)值、缺失值等處理

清洗后數(shù)據(jù)如下所示:

2.4 機械壓縮去重

機械壓縮去重即數(shù)據(jù)句內(nèi)的去重,我們發(fā)現(xiàn)彈幕內(nèi)容存在例如"啊啊啊啊啊"這種數(shù)據(jù),而實際做情感分析時,只需要一個“啊”即可。


應(yīng)用以上函數(shù),對彈幕內(nèi)容進行句內(nèi)去重:

2.5 特殊字符過濾

另外,我們還發(fā)現(xiàn)有些彈幕內(nèi)容包含表情包、特殊符號等,這些臟數(shù)據(jù)也會對情感分析產(chǎn)生一定影響。

特殊字符直接通過正則表達式過濾,匹配出中文內(nèi)容即可。

另外,過短的彈幕內(nèi)容一般很難看出情感傾向,可以將其一并過濾。

3. 數(shù)據(jù)可視化

可視化圖表來看,網(wǎng)友對《沉默的真相》還是相當(dāng)認(rèn)可的,尤其對白宇塑造的正義形象江陽,提及頻率遠(yuǎn)高于其他角色。

3.1 整體彈幕詞云


3.2 主演提及

4. 文本挖掘(NLP)


4.1 情感分析

情感分析對帶有感情色彩的主觀性文本進行分析、處理、歸納和推理的過程。按照處理文本的類別不同,可分為基于新聞評論的情感分析和基于產(chǎn)品評論的情感分析。

其中,前者多用于輿情監(jiān)控和信息預(yù)測,后者可幫助用戶了解某一產(chǎn)品在大眾心目中的口碑。目前常見的情感極性分析方法主要是兩種:基于情感詞典的方法和基于機器學(xué)習(xí)的方法。

本文主要運用Python的第三方庫SnowNLP對彈幕內(nèi)容進行情感分析,使用方法很簡單,計算出的情感score表示語義積極的概率,越接近0情感表現(xiàn)越消極,越接近1情感表現(xiàn)越積極。

(1)整體情感傾向

(2)觀眾對主演的情感傾向

mapping = {'jiangyang':'白宇|江陽',?'yanliang':'廖凡|嚴(yán)良',?'zhangchao':'寧理|張超','lijing':'譚卓|李靜',?'wengmeixiang':'李嘉欣|翁美香'}
for?key, value in mapping.items():
????df[key] = df['danmu'].str.contains(value)
average_value = pd.Series({key: df.loc[df[key],?'score'].mean()?for?key in mapping.keys()})
print(average_value.sort_values())

由各主要角色情感得分均值可知,觀眾對他們都表現(xiàn)出積極的情感。翁美香和李靜的情感得分均值相對高一些,難道是男性觀眾偏多?江陽的情感傾向相對較低,可能是觀眾對作為正義化身的他慘遭各種不公而鳴不平吧。

4.2 主題分析

這里的主題分析主要是將彈幕情感得分劃分為兩類,分別為積極類(得分在0.8以上)和消極類(得分在0.3以下),然后再在各類里分別細(xì)分出5個主題,有助于挖掘出觀眾情感產(chǎn)生的原因。

首先,篩選出兩大類分別進行分詞:

然后,分別去除停用詞:

#去除停用詞
stop = pd.read_csv("/菜J學(xué)Python/stop_words.txt",encoding='utf-8',header=None,sep='tipdm')
stop = [' ',''] + list(stop[0])
#print(stop)

pos = pd.DataFrame(data1)
neg = pd.DataFrame(data2)

pos["danmu_1"] = pos["danmu"].apply(lambda?s:s.split(' '))
pos["danmu_pos"] = pos["danmu_1"].apply(lambda?x:[i?for?i?in?x?if?i.encode('utf-8')?not?in?stop])
#print(pos["danmu_pos"])

neg["danmu_1"] = neg["danmu"].apply(lambda?s:s.split(' '))
neg["danmu_neg"] = neg["danmu_1"].apply(lambda?x:[i?for?i?in?x?if?i.encode('utf-8')?not?in?stop])

接著,對積極類彈幕進行主題分析:

結(jié)果如下:

最后,對消極類彈幕進行主題分析:

結(jié)果如下:

5.?總結(jié)

本文較為系統(tǒng)的分析了《沉默的的真相》3萬+彈幕數(shù)據(jù),但由于snownlp對商品評論做文本挖掘更有效,您也可以嘗試用百度AI和騰訊AI進行情感分析,分析的結(jié)果可能更準(zhǔn)確一些。

Python爬《沉默的真相》3萬+彈幕,告訴你這劇到底“香”在哪?的評論 (共 條)

分享到微博請遵守國家法律
西宁市| 洱源县| 七台河市| 北海市| 二连浩特市| 襄城县| 聊城市| 克东县| 平定县| 防城港市| 青川县| 裕民县| 津市市| 五家渠市| 沅江市| 桂东县| 乐业县| 望城县| 湘潭县| 浦城县| 井冈山市| 廉江市| 蒲江县| 抚远县| 长乐市| 宁安市| 顺义区| 新郑市| 宁津县| 建水县| 延庆县| 西吉县| 南江县| 兰坪| 资阳市| 景东| 天等县| 江西省| 明溪县| 合水县| 耒阳市|