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

歡迎光臨散文網(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萬+彈幕,告訴你這劇到底“香”在哪?的評論 (共 條)

分享到微博請遵守國家法律
监利县| 海阳市| 武清区| 衢州市| 东方市| 宁乡县| 鄂托克旗| 夏邑县| 当雄县| 南部县| 固阳县| 铁岭县| 佳木斯市| 贵定县| 富锦市| 永春县| 从江县| 常熟市| 永修县| 浙江省| 杨浦区| 襄城县| 泾阳县| 咸阳市| 比如县| 镇雄县| 广丰县| 郧西县| 龙陵县| 胶南市| 汉川市| 沈丘县| 和田市| 宁国市| 武夷山市| 兴业县| 涟水县| 丹棱县| 临西县| 虹口区| 文昌市|