趙志升 靳曉松 溫童童 梁俊花
摘 要 網(wǎng)上熱點新聞的評論不僅反映了民眾對社會熱點事件的關(guān)注程度,也反映了公眾所表現(xiàn)出的各類情感價值和思想動態(tài)?;赑ython-Snownlp經(jīng)過數(shù)據(jù)采集,數(shù)據(jù)預(yù)處理,建立向量模型,數(shù)據(jù)挖掘與分析對新聞評論中用戶觀點與情緒進行研究,有效實現(xiàn)輿情分析和監(jiān)控。
關(guān)鍵詞 Python Snownlp;網(wǎng)絡(luò)爬蟲;聚類分析;情感分析
中圖分類號 G2 文獻標識碼 A 文章編號 1674-6708(2018)219-0104-02
步入“互聯(lián)網(wǎng)+”與大數(shù)據(jù)時代,網(wǎng)絡(luò)媒體已經(jīng)成為輿論新格局的重要組成部分,人們更傾向于通過互聯(lián)網(wǎng)關(guān)注社會中的熱點問題,并通過網(wǎng)絡(luò)媒體來發(fā)表個人意見和看法。
文章從鳳凰新聞、新浪新聞、環(huán)球網(wǎng)網(wǎng)頁入手,使用Python的Scrapy框架來訪問網(wǎng)頁URL,解析頁面評論信息,將抓取的評論信息存儲到Mysql數(shù)據(jù)庫中。抽取數(shù)據(jù)并進行預(yù)處理清洗,調(diào)用Python開源的分詞模塊jieba分詞對文本進行分詞,去除停用詞、敏感詞,建立相應(yīng)的語料庫。使用TF-IDF算法將語料庫中的詞語轉(zhuǎn)化成詞矩陣模型,使用K-Means算法對評論數(shù)據(jù)進行聚類分析挖掘,采用Python專為中文文本設(shè)計的Snownlp模塊對數(shù)據(jù)進行情感分析。
1 數(shù)據(jù)采集
采用網(wǎng)絡(luò)爬蟲技術(shù)進行數(shù)據(jù)獲取,選取了影響比較大的“造謠伊利董事長失聯(lián)事件”這一熱點事件的新聞評論作為數(shù)據(jù)集,使用網(wǎng)絡(luò)爬蟲技術(shù)從Web端抓取新聞評論數(shù)據(jù)集。首先,通過訪問URL地址獲取Web服務(wù)器端返回得數(shù)據(jù),并解析數(shù)據(jù)抓取資源。請求模塊是向網(wǎng)頁URL發(fā)送請求,并獲取網(wǎng)頁源代碼。解析模塊是對網(wǎng)頁源代碼的解析,去除源代碼中的JS腳本標簽,CSS代碼、HTML標簽等內(nèi)容,并將解析后的數(shù)據(jù)下載下來。資源庫則是用來存放從網(wǎng)絡(luò)上抓取下來的數(shù)據(jù)資源。并進行JS拼接,使用Scrapy模塊進行解析,Scrapy模塊是Python開發(fā)的一個快速、高層次的屏幕抓取和Web抓取框架,用于抓取Web站點并從頁面中提取結(jié)構(gòu)化的數(shù)據(jù)。
Scrapy使用了Twisted異步網(wǎng)絡(luò)庫來處理網(wǎng)絡(luò)通訊,架構(gòu)清晰,并且包含了各種中間件接口。引擎(Scrapy Engine),用來處理整個系統(tǒng)的數(shù)據(jù)流處理,觸發(fā)事務(wù)。然后存儲到Mysql數(shù)據(jù)庫。
2 數(shù)據(jù)預(yù)處理
從網(wǎng)頁采集下來的文本數(shù)據(jù),存在較多的臟數(shù)據(jù),需要進行一系列的數(shù)據(jù)預(yù)處理,主要工作有數(shù)據(jù)清洗、中文分詞、去除停用詞等。從騰訊新聞網(wǎng)抓取的新聞評論數(shù)據(jù)存在較多的干擾信息,比如重復冗余評論,存在HTML標簽的評論,帶有表情的評論等。從Web采集下來的新聞評論數(shù)據(jù)并不干凈,使用Python正則表達式的方法re.sub()匹配去除,通過正則表達式查找匹配HTML標簽,并將HTML標簽替換成空字符串。
中文分詞是中文文本挖掘和信息處理的基礎(chǔ)環(huán)節(jié),“結(jié)巴”分詞是Python社區(qū)開源的分詞項目。經(jīng)過它分詞后的數(shù)據(jù)還有很多干擾項,在中文文本中,會存在著這樣一些詞匯,使用頻率雖然極高,但是本身卻沒有意義如:“在”“的”“萬一”等以一些中文標點符號和鍵盤符號如:“?”“!”等,這些詞匯本身沒有什么實際意義,使文本的相似度增加,也增加了文本挖掘的難度。本文從網(wǎng)絡(luò)上搜集了2 630個常用的停用詞,將其加載到“結(jié)巴”分詞的停用詞庫中,在分詞時過濾掉評論數(shù)據(jù)中的停用詞,排除語料庫中的干擾項,同時也能夠提高中文分詞的準確性。
3 評論數(shù)據(jù)挖掘分析
將評論數(shù)據(jù)轉(zhuǎn)化為向量模型,然后從聚類分析,情感分析和可視化分析3個方面對評論數(shù)據(jù)進行分析和挖掘。
文章使用向量空間模型來描述文本的特征。過濾了停用詞后的中文分詞詞匯作為新聞評論的特征項詞匯,使用TF-IDF算法對特征詞進行權(quán)重計算,TF為“詞頻”,IDF為“逆文檔頻率”,這個值相乘,就得到了一個詞的TF-IDF值。TF-IDF值反映了一個詞在文本中的重要性。評論數(shù)據(jù)經(jīng)過數(shù)據(jù)清洗,中文分詞,過濾停用詞、處理后,使用Python中sklearn模塊的TfidfTransformer、CountVectorizer方法計算TF-IDF權(quán)重,轉(zhuǎn)化為向量空間模型。之后就對數(shù)據(jù)進行分析與挖掘。
評論數(shù)據(jù)屬于非結(jié)構(gòu)化數(shù)據(jù),數(shù)據(jù)本身是不帶有屬性和標簽的,因此選擇采用K-Means聚類算法進行聚類分析,K-means算法屬于無監(jiān)督學習,初始k的選取至關(guān)重要。
使用肘部法則解決此問題,肘部法則會將不同k值的成本函數(shù)畫出來,當k值增大時,平均畸變程度的改善效果會不斷降低。k值增大過程中,會存在一個點,在這個點之前畸變程度的改善效果下降幅度最大,在這個點之后,畸變程度的改善效果下降趨于平穩(wěn),這個點對應(yīng)的k值就是肘部。對有關(guān)“造謠伊利董事長‘失聯(lián)”的53 982條新聞評論做了聚類分析,通過分析以及觀察數(shù)據(jù),最后得出了7種網(wǎng)民的觀點,7種觀點如下:
1)聚類類別1,評論條數(shù)6 774,百分比12.55%,說明:希望造謠者得到嚴懲。
2)聚類類別2,評論條數(shù)4 159,百分比7.70%,說明:呼吁不信謠,不傳謠。
3)聚類類別3,評論條數(shù)7 524,百分比13.94%,說明:支持出臺網(wǎng)絡(luò)監(jiān)管政策,創(chuàng)造良好的網(wǎng)絡(luò)環(huán)境。
4)聚類類別4,評論條數(shù)4 817,百分比8.92%,說明:部分媒體為了吸引眼球,不計后果。
5)聚類類別5,評論條數(shù)5 276,百分比9.77%,說明:大家對信息要有辨別真假的能力,不要被利用。
6)聚類類別6,評論條數(shù)22 731,百分比42.11%,說明:劉成昆之流通過小說映射誹謗伊利,造成社會影響。
7)聚類類別7,評論條數(shù)2 701,百分比5.00%,說明:該事件對伊利經(jīng)營造成損失,股價受到波動;總評論條數(shù)53 982。通過聚類分析,大多數(shù)網(wǎng)民對“造謠伊利董事長‘失聯(lián)”事件的持積極態(tài)度,其中約56%的網(wǎng)民認為該造謠者和部分媒體為了流量,不計后果,對受害者和社會都產(chǎn)生了很大影響,約13%的網(wǎng)民希望造謠者能夠得到法律嚴懲,7.7%的網(wǎng)友呼吁大家不信謠不傳謠,9.7%的網(wǎng)民認為民眾要能辨別真假信息,不要被牽鼻子帶著走,同時還有約14%的網(wǎng)民希望能出臺網(wǎng)絡(luò)管理政策,給大家良好的網(wǎng)絡(luò)環(huán)境。
為了更好地顯示分析結(jié)果,調(diào)用百度API和Python的Wordcould模塊來采用分析詞云可視化圖與熱力圖可視化方法去側(cè)面分析評論。關(guān)鍵詞統(tǒng)計、詞云可視化可以反映出網(wǎng)民們最關(guān)心的是哪些方面,詞云可視化得知,對這一事件,網(wǎng)民們提到更多的是“謠言”“網(wǎng)絡(luò)”“法治”“媒體”等這類詞匯,說明網(wǎng)民們對造謠者和部分媒體人的譴責,對謠言的抵制,對良好網(wǎng)絡(luò)環(huán)境的期盼。
而熱力圖來展現(xiàn)網(wǎng)民們對新聞關(guān)注的地域性分布。能反映出哪些地點的網(wǎng)民對這一新聞事件比較關(guān)心。熱力圖分析得知,關(guān)注這一熱點新聞的網(wǎng)民主要聚集中東部尤其是華北平原地區(qū),因為網(wǎng)絡(luò)的普及,網(wǎng)絡(luò)熱點事件的傳播也越來越迅速,人們對熱點事件的參與度也越來越高,同時內(nèi)蒙古地區(qū)也有一部分網(wǎng)友,說明對網(wǎng)民對本地的產(chǎn)業(yè)的關(guān)注度也在逐步提高。
4 結(jié)論
文章使用數(shù)據(jù)挖掘技術(shù)對“造謠伊利董事長失聯(lián)”這一熱點新聞評論做了分析。首先使用Python網(wǎng)絡(luò)爬蟲技術(shù)從新聞評論頁面抓取網(wǎng)民們的評論數(shù)據(jù),對數(shù)據(jù)進行清洗和中文分詞,去除數(shù)據(jù)中停用詞,使用TF-IDF方法對預(yù)處理后的數(shù)據(jù)建立向量模型,使用聚類算法來對數(shù)據(jù)進行聚類。
通過聚類分析后知大多數(shù)網(wǎng)民認為該事件對伊利、網(wǎng)絡(luò)環(huán)境和社會造成了很大影響,希望誹謗者得到嚴懲。采用Python專為中文文本設(shè)計的Snownlp模塊對數(shù)據(jù)進行情感分析網(wǎng)民情緒,可以看出大多數(shù)網(wǎng)民這一事件持積極態(tài)度。詞云圖分析可知,網(wǎng)民對網(wǎng)絡(luò)環(huán)境的美好期盼。熱力圖分析可知,中東部地區(qū)和產(chǎn)源地的人們更關(guān)注新聞事件的發(fā)展。
參考文獻
[1]耿大偉.基于Python技術(shù)的校園網(wǎng)搜索引擎的設(shè)計與實現(xiàn)[D].秦皇島:燕山大學,2015.
[2]欒文娟.BBS準實時輿情監(jiān)測技術(shù)研究與實現(xiàn)[D].武漢:華中科技大學,2012.
[3]張立.基于新聞評論數(shù)據(jù)的Kmeans聚類算法的研究[D].太原:太原理工大學,2010.
[4]李朋.面向網(wǎng)絡(luò)評論性短文本的中文情感分析方法研究[D].重慶:重慶理工大學,2016.
[5]張瑩.在線新聞評論的情感分析研究[D].天津:南開大學,2013.