辛雨璇 王曉東
摘 要:基于文本挖掘技術(shù)對(duì)電影評(píng)論進(jìn)行深層數(shù)據(jù)分析.爬取電影網(wǎng)站短評(píng),利用TF-IDF進(jìn)行高頻詞可視化,對(duì)評(píng)論進(jìn)行情感傾向分析.利用貝葉斯分類(lèi)器將電影短評(píng)分為好評(píng)集和差評(píng)集,得出好評(píng)與差評(píng)集的主題詞概率,找出影評(píng)大數(shù)據(jù)背后隱含的深層信息.
關(guān)鍵詞:電影評(píng)論;情感分析;機(jī)器學(xué)習(xí);LDA
[中圖分類(lèi)號(hào)]TP391.1?? [文獻(xiàn)標(biāo)志碼]A
Research on Sentiment Analysis of MovieReviews based on Text Mining
XIN Yuxuan,WANG Xiaodong
(School of Computer and Information Engineering,Mudanjiang Normal University,Mudanjiang 157011,China)
Abstract:Based on text mining technology,deep data analysis of movie reviews.Crawl short reviews of movie websites,use TF-IDF to visualize high-frequency words,and analyze the sentiment tendency of reviews.The Bayesian classifier is used to score short movies into favorable and negative review sets,and the probabilities of the subject words of the favorable and negative reviews are obtained,and the deep information behind the big data of film reviews is found.
Key words:movie reviews;sentiment analysis;machine learning;LDA
電影評(píng)論中隱含著關(guān)于電影真實(shí)評(píng)價(jià)的重要信息,這為電影業(yè)的進(jìn)步提供了大眾的評(píng)審意見(jiàn).互聯(lián)網(wǎng)上電影的觀影者通常會(huì)寫(xiě)下對(duì)電影的真實(shí)感受,其他觀影者通過(guò)查看電影評(píng)論了解該電影,并選擇是否觀看.隨著影評(píng)的增多和信息的更迭,評(píng)論區(qū)數(shù)據(jù)通過(guò)Ajax動(dòng)態(tài)加載,頁(yè)面最多顯示20余條評(píng)論信息,其他觀影者僅能查看有限的評(píng)論數(shù)據(jù),無(wú)法整體把握評(píng)論風(fēng)向.筆者利用文本挖掘技術(shù)對(duì)電影網(wǎng)站短評(píng)進(jìn)行爬取,利用機(jī)器學(xué)習(xí)算法實(shí)現(xiàn)對(duì)電影評(píng)論的情感分析,找出影評(píng)大數(shù)據(jù)背后隱含的深層信息,實(shí)現(xiàn)客觀整體評(píng)價(jià)電影.
1 研究框架和數(shù)據(jù)采集清洗
1.1 研究框架
爬取某電影的評(píng)論數(shù)據(jù),對(duì)評(píng)論文本進(jìn)行預(yù)處理:數(shù)據(jù)清洗、降噪及文本分詞.一是描述性分析,通過(guò)計(jì)算高頻詞匯,反映影評(píng)的評(píng)論熱點(diǎn).二是情感分析,將評(píng)論文本向量化;采用有監(jiān)督學(xué)習(xí)的樸素貝葉斯分類(lèi)方法,找到好評(píng)和差評(píng)集合;用LDA主題模型分別對(duì)好評(píng)和差評(píng)集進(jìn)行分析,找到最大概率主題詞;結(jié)合描述性分析和情感分析結(jié)果找到海量大數(shù)據(jù)背景下有參考價(jià)值的評(píng)論信息.
1.2 數(shù)據(jù)來(lái)源
收集工作使用兩個(gè)爬蟲(chóng)路線[1]:一是根據(jù)用戶(hù)輸入的關(guān)鍵字抓取與關(guān)鍵字相關(guān)的電影信息,二是有針對(duì)性抓取選定電影的影評(píng)數(shù)據(jù).爬蟲(chóng)的起點(diǎn)為初始URL,根據(jù)規(guī)則生成URL隊(duì)列進(jìn)行循環(huán)爬取,使用正則表達(dá)式解析網(wǎng)頁(yè)內(nèi)容,保存解析數(shù)據(jù).首先,網(wǎng)站地址遵循關(guān)鍵詞+偏移量的組合規(guī)則,根據(jù)關(guān)鍵詞獲得相關(guān)的電影,根據(jù)偏移量實(shí)現(xiàn)頁(yè)面的翻頁(yè)處理.其次,對(duì)網(wǎng)頁(yè)結(jié)構(gòu)進(jìn)行分析.網(wǎng)站評(píng)論存在頁(yè)面的特定區(qū)域,找到數(shù)據(jù)接口后,將數(shù)據(jù)以數(shù)據(jù)字典形式存儲(chǔ).每條數(shù)據(jù)內(nèi)容5個(gè)維度:用戶(hù)名稱(chēng)、所在城市、評(píng)論內(nèi)容、電影評(píng)分以及評(píng)論的時(shí)間.
1.3 數(shù)據(jù)預(yù)處理
數(shù)據(jù)的預(yù)處理去除不完整的、不一致的數(shù)據(jù),排除低質(zhì)量的數(shù)據(jù).如每條數(shù)據(jù)內(nèi)容5個(gè)維度,單個(gè)數(shù)據(jù)遺漏一個(gè)或者多個(gè)既做去除處理.讀取爬取數(shù)據(jù)信息,根據(jù)屬性切片、篩選,將篩選后的屬性值存入新的字典中匯總.本文采用jieba分詞法對(duì)評(píng)論內(nèi)容進(jìn)行中文分詞,將評(píng)論語(yǔ)句分為單獨(dú)詞匯.評(píng)論中的語(yǔ)氣詞出現(xiàn)頻率很高,沒(méi)有實(shí)際意義,對(duì)此類(lèi)詞語(yǔ)進(jìn)行過(guò)濾.
2 評(píng)論文本描述性分析
2.1 基于TF-IDF計(jì)算高頻詞
統(tǒng)計(jì)一元和二元詞頻確定高頻詞匯.利用TF-IDF[2]對(duì)電影評(píng)論分詞進(jìn)行一元和二元計(jì)數(shù)得到高頻詞匯top20及權(quán)重,見(jiàn)表1.
TF-IDE=Ni,j∑kNi,jlog|D|1+|{j:Tj∈Dj}|.(1)
TF是詞頻,IDE為逆向文件頻率,用于衡量出現(xiàn)的普遍程度,TF-IDE為兩者乘積.式(1)中,Ni,j表示單詞在文件D中出現(xiàn)的次數(shù),∑kNi,j表示文件D中詞條的總和,D語(yǔ)庫(kù)中總文檔數(shù),|{j:Tj∈Dj}|表示包含詞條T的總文檔數(shù).
2.2 評(píng)論描述可視化
基于Pyecharts庫(kù)實(shí)現(xiàn)電影評(píng)論描述性可視化.以《復(fù)仇者聯(lián)盟4》為例,餅狀圖可以直觀反映評(píng)分星級(jí)占比(圖1),詞云圖可以直觀地突出文本數(shù)據(jù)中頻率較高的關(guān)鍵詞,形成“關(guān)鍵詞的渲染”(圖2).
3 電影評(píng)論情感傾向分析
電影評(píng)論文本的描述性分析能夠在一定程度上對(duì)電影評(píng)價(jià)進(jìn)行描述,但不能理解評(píng)論背后所表達(dá)的情感傾向.為了理解電影評(píng)論文本的深層語(yǔ)義,需要對(duì)電影評(píng)論進(jìn)行情感分析.利用機(jī)器學(xué)習(xí)算法判斷評(píng)論所表達(dá)的情感為正面還是負(fù)面,嘗試找到評(píng)論背后議論的主題.
3.1 評(píng)論文字向量化表示
采用Word2vec技術(shù)[3]將文本詞轉(zhuǎn)換為詞向量,采用CBOW模型,利用上下文信息wt-2,wt-1,wt+1,wt+2預(yù)測(cè).輸入層輸入上下文的詞向量,輸出層計(jì)算出概率最高的詞向量,模型如圖3所示.利用python的Gensim包進(jìn)行詞向量提取.
3.2 基于樸素貝葉斯情感傾向分類(lèi)
樸素貝葉斯可應(yīng)用于向量化后的分類(lèi)并取得較好的效果.[4]
其中,p(cj)為cj的先驗(yàn)概率,為某一類(lèi)別占所有類(lèi)別的比例;p(xi|cj)為后驗(yàn)概率,為某一類(lèi)別特征向量在第n個(gè)維度下的特征向量xi出現(xiàn)的次數(shù)q與樣本Q的比例.將電影評(píng)論分為兩類(lèi),即正面評(píng)價(jià)和負(fù)面評(píng)價(jià)兩類(lèi).正面評(píng)價(jià)用1,負(fù)面評(píng)價(jià)用0.用樸素貝葉斯分類(lèi)收集標(biāo)注好的詞語(yǔ)作為訓(xùn)練集或進(jìn)行二次人工標(biāo)注.
統(tǒng)計(jì)實(shí)際數(shù)據(jù),評(píng)價(jià)分類(lèi)效果.筆者從網(wǎng)絡(luò)上搜集到對(duì)該電影的正面評(píng)論數(shù)據(jù)2 012條,負(fù)面評(píng)論1 200條,作為訓(xùn)練集.實(shí)驗(yàn)結(jié)果表明,正面評(píng)價(jià)913條,占比76%;負(fù)面評(píng)價(jià)287條,占比23%.正面評(píng)價(jià)中,正確分類(lèi)823條,錯(cuò)誤分類(lèi)90條.負(fù)面評(píng)價(jià)中,正確分類(lèi)259條,錯(cuò)誤分類(lèi)38條.根據(jù)混淆矩陣計(jì)算[5],準(zhǔn)確率為90%,精準(zhǔn)率95%,召回率90%,平衡點(diǎn)92%.由于對(duì)測(cè)試語(yǔ)句的評(píng)價(jià)指標(biāo)良好.本文用訓(xùn)練后的分類(lèi)器對(duì)電影評(píng)論進(jìn)行分類(lèi),得到正面和負(fù)面兩個(gè)分類(lèi)文檔:“好評(píng)集.txt”和“差評(píng)集.txt”.
3.3 基于LDA的主題分析
3.3.1 利用LDA模型[6]計(jì)算圍繞主題的關(guān)鍵詞概率
(1)輸入文檔集W,對(duì)文檔集的文檔m確定其N(xiāo)m;
(2)從多項(xiàng)式分布QM中取樣生成文檔m的第n個(gè)主題詞zm;
(3)從Direchlet分布的k中取樣生成主題詞zm的詞語(yǔ)分布;
(4)從詞語(yǔ)的多項(xiàng)式分布Gm中采樣得到最終的主題詞;
(5)參數(shù)的估計(jì)采用Gibbs采樣.
概率值計(jì)算公式:
p(w/α,β)=∫p(θ/α)∏nn=1∑zp(zn|θ)p(wn|zmβ)dθ.(5)
選取最大概率詞作為主題詞,通過(guò)統(tǒng)計(jì)詞頻對(duì)參數(shù)進(jìn)行評(píng)估——下一個(gè)詞主題條件概率的計(jì)算.
3.3.2 實(shí)驗(yàn)結(jié)果分析
對(duì)好評(píng)集和差評(píng)集進(jìn)行LDA主題分析.設(shè)置Gibbs抽樣迭代次數(shù)為1 000.好評(píng)集的主題K取值分別為5,25,125;差評(píng)集的主題K取值為5,20,80;根據(jù)不同的主題數(shù)分別進(jìn)行SC分析提取主題.好評(píng)主題數(shù)為125,差評(píng)主題數(shù)為50,詳見(jiàn)表2.結(jié)果顯示,該電影正面評(píng)論較多,觀影者對(duì)電影總體滿(mǎn)意.正面評(píng)論的主題詞推測(cè)結(jié)果顯示,好看和吸引觀影者的地方在于特效和英雄,給觀影者印象最深的部分是特效、英雄背后的情懷和滿(mǎn)滿(mǎn)的回憶.觀影者還關(guān)注電影里面的英雄人物,例如隊(duì)長(zhǎng)、雷神等人物的塑造.負(fù)面評(píng)論主題詞推測(cè)結(jié)果顯示,部分觀影者認(rèn)為該電影一般.從主題詞來(lái)看,劇情一般,缺少起伏,過(guò)多回顧,動(dòng)作制作也一般.觀影者對(duì)于結(jié)局和反派都有不滿(mǎn)意,對(duì)于英雄的人設(shè)有崩塌,對(duì)反派也較為失望.
4 總結(jié)
本文將文本挖掘技術(shù)和機(jī)器學(xué)習(xí)算法運(yùn)用到電影評(píng)論分析上,通過(guò)描述性分析和情感傾向分析兩個(gè)層面試圖找到用戶(hù)評(píng)論背后隱藏的有用信息.在描述性分析上采用計(jì)算高頻詞概率并生成圖云的方式,直觀可視化表達(dá).在情感分析層面將評(píng)論文本向量化,利用樸素貝葉斯分類(lèi)法分類(lèi),找到高概率主題詞,分析指定電影的優(yōu)缺點(diǎn),進(jìn)行深層主題挖掘.在大數(shù)據(jù)背景下對(duì)觀影者評(píng)論進(jìn)行深層分析,有利于客觀整體評(píng)價(jià)電影,有利于反映觀影者真實(shí)感受,有利于其他觀影者對(duì)是否觀看該電影進(jìn)行決策,有一定的實(shí)踐意義.
參考文獻(xiàn)
[1]楊治秋,李子龍.早期探測(cè)與數(shù)據(jù)分析的智能網(wǎng)絡(luò)主題搜索[J].牡丹江師范學(xué)院學(xué)報(bào):自然科學(xué)版,2010(2):8-10.
[2]SALTON G,BUCKLEY C.Term-weighting approaches inautomatic text retrieval[J].information? processing&man-agement,Elsevier,1988,24(5):513-523.
[3]Yoshua Bengio,Rejean Ducharme,Pascal Vincent,and Christian Jauvin.A neural probabilistic language model[J].Journal of Machine Learning Research(JMLR),2003(3):1137-1155.
[4]CHEN X,QIU X,ZHU C,et al.Gated recursive neural network for Chinese word segment ation[C]//Proceedings of the 53rd annual meet the association for computational linguistics and the 7th international joint conference on natural language processing,2015:1744-1753.
[5]張丹.用線性組合模型分析軟件可靠性數(shù)據(jù)[J].牡丹江師范學(xué)院學(xué)報(bào):自然科學(xué)版,2007(4):9-11.
[6]Blei? D? M,Ng Andrew Y,Jordan,et ?al.Latent? dirichlet? allocation[J].Journal? of machine Learning research,2003,3(Jan):993-1022.
編輯:琳莉
收稿日期:2020-10-28
基金項(xiàng)目:黑龍江自然科學(xué)基金項(xiàng)目(F2016039);黑龍江省教育廳科學(xué)研究項(xiàng)目(1355TD002)
作者簡(jiǎn)介:辛雨璇(1988-),女,山東肥城人.助教,碩士,主要從事大數(shù)據(jù)與人工智能研究;王曉東(1971),男,山東平度人.教授,博士,碩士生導(dǎo)師,主要從事定性空間推理和數(shù)據(jù)分析研究.