辛雨璇 王曉東



摘 要:基于文本挖掘技術對電影評論進行深層數據分析.爬取電影網站短評,利用TF-IDF進行高頻詞可視化,對評論進行情感傾向分析.利用貝葉斯分類器將電影短評分為好評集和差評集,得出好評與差評集的主題詞概率,找出影評大數據背后隱含的深層信息.
關鍵詞:電影評論;情感分析;機器學習;LDA
[中圖分類號]TP391.1?? [文獻標志碼]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
電影評論中隱含著關于電影真實評價的重要信息,這為電影業的進步提供了大眾的評審意見.互聯網上電影的觀影者通常會寫下對電影的真實感受,其他觀影者通過查看電影評論了解該電影,并選擇是否觀看.隨著影評的增多和信息的更迭,評論區數據通過Ajax動態加載,頁面最多顯示20余條評論信息,其他觀影者僅能查看有限的評論數據,無法整體把握評論風向.筆者利用文本挖掘技術對電影網站短評進行爬取,利用機器學習算法實現對電影評論的情感分析,找出影評大數據背后隱含的深層信息,實現客觀整體評價電影.
1 研究框架和數據采集清洗
1.1 研究框架
爬取某電影的評論數據,對評論文本進行預處理:數據清洗、降噪及文本分詞.一是描述性分析,通過計算高頻詞匯,反映影評的評論熱點.二是情感分析,將評論文本向量化;采用有監督學習的樸素貝葉斯分類方法,找到好評和差評集合;用LDA主題模型分別對好評和差評集進行分析,找到最大概率主題詞;結合描述性分析和情感分析結果找到海量大數據背景下有參考價值的評論信息.
1.2 數據來源
收集工作使用兩個爬蟲路線[1]:一是根據用戶輸入的關鍵字抓取與關鍵字相關的電影信息,二是有針對性抓取選定電影的影評數據.爬蟲的起點為初始URL,根據規則生成URL隊列進行循環爬取,使用正則表達式解析網頁內容,保存解析數據.首先,網站地址遵循關鍵詞+偏移量的組合規則,根據關鍵詞獲得相關的電影,根據偏移量實現頁面的翻頁處理.其次,對網頁結構進行分析.網站評論存在頁面的特定區域,找到數據接口后,將數據以數據字典形式存儲.每條數據內容5個維度:用戶名稱、所在城市、評論內容、電影評分以及評論的時間.
1.3 數據預處理
數據的預處理去除不完整的、不一致的數據,排除低質量的數據.如每條數據內容5個維度,單個數據遺漏一個或者多個既做去除處理.讀取爬取數據信息,根據屬性切片、篩選,將篩選后的屬性值存入新的字典中匯總.本文采用jieba分詞法對評論內容進行中文分詞,將評論語句分為單獨詞匯.評論中的語氣詞出現頻率很高,沒有實際意義,對此類詞語進行過濾.
2 評論文本描述性分析
2.1 基于TF-IDF計算高頻詞
統計一元和二元詞頻確定高頻詞匯.利用TF-IDF[2]對電影評論分詞進行一元和二元計數得到高頻詞匯top20及權重,見表1.
TF-IDE=Ni,j∑kNi,jlog|D|1+|{j:Tj∈Dj}|.(1)
TF是詞頻,IDE為逆向文件頻率,用于衡量出現的普遍程度,TF-IDE為兩者乘積.式(1)中,Ni,j表示單詞在文件D中出現的次數,∑kNi,j表示文件D中詞條的總和,D語庫中總文檔數,|{j:Tj∈Dj}|表示包含詞條T的總文檔數.
2.2 評論描述可視化
基于Pyecharts庫實現電影評論描述性可視化.以《復仇者聯盟4》為例,餅狀圖可以直觀反映評分星級占比(圖1),詞云圖可以直觀地突出文本數據中頻率較高的關鍵詞,形成“關鍵詞的渲染”(圖2).
3 電影評論情感傾向分析
電影評論文本的描述性分析能夠在一定程度上對電影評價進行描述,但不能理解評論背后所表達的情感傾向.為了理解電影評論文本的深層語義,需要對電影評論進行情感分析.利用機器學習算法判斷評論所表達的情感為正面還是負面,嘗試找到評論背后議論的主題.
3.1 評論文字向量化表示
采用Word2vec技術[3]將文本詞轉換為詞向量,采用CBOW模型,利用上下文信息wt-2,wt-1,wt+1,wt+2預測.輸入層輸入上下文的詞向量,輸出層計算出概率最高的詞向量,模型如圖3所示.利用python的Gensim包進行詞向量提取.
3.2 基于樸素貝葉斯情感傾向分類
樸素貝葉斯可應用于向量化后的分類并取得較好的效果.[4]
其中,p(cj)為cj的先驗概率,為某一類別占所有類別的比例;p(xi|cj)為后驗概率,為某一類別特征向量在第n個維度下的特征向量xi出現的次數q與樣本Q的比例.將電影評論分為兩類,即正面評價和負面評價兩類.正面評價用1,負面評價用0.用樸素貝葉斯分類收集標注好的詞語作為訓練集或進行二次人工標注.
統計實際數據,評價分類效果.筆者從網絡上搜集到對該電影的正面評論數據2 012條,負面評論1 200條,作為訓練集.實驗結果表明,正面評價913條,占比76%;負面評價287條,占比23%.正面評價中,正確分類823條,錯誤分類90條.負面評價中,正確分類259條,錯誤分類38條.根據混淆矩陣計算[5],準確率為90%,精準率95%,召回率90%,平衡點92%.由于對測試語句的評價指標良好.本文用訓練后的分類器對電影評論進行分類,得到正面和負面兩個分類文檔:“好評集.txt”和“差評集.txt”.
3.3 基于LDA的主題分析
3.3.1 利用LDA模型[6]計算圍繞主題的關鍵詞概率
(1)輸入文檔集W,對文檔集的文檔m確定其Nm;
(2)從多項式分布QM中取樣生成文檔m的第n個主題詞zm;
(3)從Direchlet分布的k中取樣生成主題詞zm的詞語分布;
(4)從詞語的多項式分布Gm中采樣得到最終的主題詞;
(5)參數的估計采用Gibbs采樣.
概率值計算公式:
p(w/α,β)=∫p(θ/α)∏nn=1∑zp(zn|θ)p(wn|zmβ)dθ.(5)
選取最大概率詞作為主題詞,通過統計詞頻對參數進行評估——下一個詞主題條件概率的計算.
3.3.2 實驗結果分析
對好評集和差評集進行LDA主題分析.設置Gibbs抽樣迭代次數為1 000.好評集的主題K取值分別為5,25,125;差評集的主題K取值為5,20,80;根據不同的主題數分別進行SC分析提取主題.好評主題數為125,差評主題數為50,詳見表2.結果顯示,該電影正面評論較多,觀影者對電影總體滿意.正面評論的主題詞推測結果顯示,好看和吸引觀影者的地方在于特效和英雄,給觀影者印象最深的部分是特效、英雄背后的情懷和滿滿的回憶.觀影者還關注電影里面的英雄人物,例如隊長、雷神等人物的塑造.負面評論主題詞推測結果顯示,部分觀影者認為該電影一般.從主題詞來看,劇情一般,缺少起伏,過多回顧,動作制作也一般.觀影者對于結局和反派都有不滿意,對于英雄的人設有崩塌,對反派也較為失望.
4 總結
本文將文本挖掘技術和機器學習算法運用到電影評論分析上,通過描述性分析和情感傾向分析兩個層面試圖找到用戶評論背后隱藏的有用信息.在描述性分析上采用計算高頻詞概率并生成圖云的方式,直觀可視化表達.在情感分析層面將評論文本向量化,利用樸素貝葉斯分類法分類,找到高概率主題詞,分析指定電影的優缺點,進行深層主題挖掘.在大數據背景下對觀影者評論進行深層分析,有利于客觀整體評價電影,有利于反映觀影者真實感受,有利于其他觀影者對是否觀看該電影進行決策,有一定的實踐意義.
參考文獻
[1]楊治秋,李子龍.早期探測與數據分析的智能網絡主題搜索[J].牡丹江師范學院學報:自然科學版,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]張丹.用線性組合模型分析軟件可靠性數據[J].牡丹江師范學院學報:自然科學版,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
基金項目:黑龍江自然科學基金項目(F2016039);黑龍江省教育廳科學研究項目(1355TD002)
作者簡介:辛雨璇(1988-),女,山東肥城人.助教,碩士,主要從事大數據與人工智能研究;王曉東(1971),男,山東平度人.教授,博士,碩士生導師,主要從事定性空間推理和數據分析研究.