復仇者聯盟3的輿情分析
基於時間序列的輿情分析(復仇者聯盟3)
摘要
隨著移動網際網路和資訊科技的發展,網路產生了形形色色的自媒體平臺。以微博、微信為代表的社交軟體受到了網民的熱烈追捧,由此每天產生著的海量即時資訊,描述著社會中正在發生的熱點事件,如能即時發現、追蹤這些社會熱點事件,將有助於實現網路輿情的實時監控,為決策者提供可靠的資料支援。本次作業通過python爬蟲爬取微博以及電影評論,針對某一個事件進行輿情分析。
1. 什麼是輿情分析
1.1 輿情分析基本概念
輿情分析,簡單來說就是對社會上面的一些輿論資訊進行分析處理,從而得出結論,也就是分析報告,輿情行業來說使用輿情資料做的分析即為輿情分析報告,通常企業和政府都會用到,分析報告主要是領導或高層檢視的,用來制定一些相應的措施和調整。
2. 微博文字特徵
2.1 噪聲符號多
由於微博的隨意性,其編輯格式經常產生噪聲符號多的問題。例如中國氣象局2017年3月25號釋出的微博: “#倒春寒# 天晴了你們開心不[擠眼][微風]”,其中包含了“#”和一些表情包。常見的噪聲有“#”、“@”和表情包等噪聲符號,需要對“#話題名#”和“@使用者”為格式的微博訊息進行過濾,表情包的識別和過濾也是一個問題。這些噪聲符號給資料清洗工作造成的極大困擾,也為熱點話題的準確挖掘增加難度。
2.2 文字簡短
微博的早期設計導致文字內容一般由短文字組成,且字數不大於140字,有碎片化的特點。雖然最近微博的最大文字長度增加到2000字,但長期培養成的使用者習慣具有慣性,使用者一時難以改變,微博文字長度仍處於低水平,這造成所含資訊量密度低的問題。
2.3 話題爆發集中度高
微博的資訊傳播機制分為單向關注和雙向關注兩種,當有一定社會影響力的使用者開通微博時,往往能吸引大量的粉絲關注,由此產生了粉絲數目龐大的微博大V 。而由於微博長期沉澱下來的使用者群體基數較大,當中包含的活躍使用者數目龐大,當微博大V轉發話題性比較強的微博事件時,往往能夠吸引活躍使用者的快速評論和轉發,爆發核裂變式的的討論,在短時間內引起微博平臺的震盪,從而形成微博熱點事件。
2.4 矩陣高維度且高度稀疏
由於文字簡短的緣故,將全部微博文字對映成句子級向量時,無論是採用one-hot詞典模型還是tf-idf的方法,向量的維度都會非常高,而且相同的詞語出現在不相同的微博中的概率也會遠遠低於傳統文字的,從而造成矩陣的高度稀疏,文字相似度計算的困難,增加熱點事件挖掘的難度。
3.爬蟲工作原理和抓取策略
3.1 爬蟲幾本流程
網路爬蟲不僅是搜尋引擎的重要組成部分,而且是目前大資料分析不可缺少的工具。瞭解爬蟲的原理和實現對日常工作或者個人的興趣愛好有很大的幫助。比如你在百度貼吧裡面看到了一遍不錯的帖子,這個帖子裡面的回覆很有價值,你想收藏下來,但是帖子有1000多頁,你沒辦法逐個手動複製;或者你是日系二次元愛好者,喜歡蒐集美女圖片;或者你對目前的股票、房價的發展趨勢想做一些預測;這些需求都可以藉助爬蟲這個有力的工具得意實現。
3.2 爬蟲的抓取策略
在爬蟲系統中,待抓取URL佇列是很重要的一部分。待抓取URL佇列中的URL以什麼樣的順序排列也是一個很重要的問題,因為這涉及到先抓取那個頁面,後抓取哪個頁面。而決定這些URL排列順序的方法,叫做抓取策略。下面重點介紹幾種常見的抓取策略
1.深度優先策略(DFS) 深度優先策略是指爬蟲從某個URL開始,一個連結一個連結的爬取下去,直到處理完了某個連結所在的所有線路,才切換到其它的線路。 此時抓取順序為:A -> B -> C -> D -> E -> F -> G -> H -> I -> J
2.廣度優先策略(BFS) 寬度優先遍歷策略的基本思路是,將新下載網頁中發現的連結直接插入待抓取URL佇列的末尾。也就是指網路爬蟲會先抓取起始網頁中連結的所有網頁,然後再選擇其中的一個連結網頁,繼續抓取在此網頁中連結的所有網頁。 此時抓取順序為:A -> B -> E -> G -> H -> I -> C -> F -> J -> D
3.3 本次使用的爬蟲
4.LDA模型
4.1 LDA話題模型
潛在狄利克雷分配(Latent Dirichlet Allocation),簡稱LDA,是一個概率生成模型,其生成過程是在pLSI的基礎上增加了狄利克雷先驗,彌補了pLSI沒有“將概率表示進行到底”的缺陷,是一個完全的貝葉斯模型,可以更好地從文字語料中挖掘話題,是一個主題挖掘模型。
LDA模型是生成過程主要有五個步驟:
第一,挑選一組文字向量。N代表文字向量的長度;
第二,挑選主題分佈θ。θ是一個向量,服從以α為引數的狄利克雷分佈,記錄著主題出現的概率;
第三,挑選文字中每個詞向量w的主題z。z服從以θ為引數,在詞典V上的多項式分佈;
第四,挑選關鍵詞w。w服從以β為引數,z的條件多項式分佈,其中β是一個矩陣,每個分量代表某個主題z條件下生成某個單詞β的概率。
第五,重複M次步驟一到步驟四,得到整個文字集的話題,其中M是文件的數量。
LDA模型的生成過程如圖一所示:
圖一 LDA生成過程
由於上述過程涉及到的數學原理比較複雜,下面將使用通俗的語言對LDA模型的生成過程進一步描述。在對文字集進行建模時,假設文字集總共具有T個主題、D個文件和W個詞語,三者之間有如下關係:
1.對於每個主題Ti,是詞語W上的多項式分佈,即一個主題用多個關鍵詞來表示;
2.對於每個文件Di,是主題T上的多項式分佈,即一篇文件用多個主題來表示。
這裡共有兩種概率分佈:一是“文件-主題”分佈;二是“主題-詞語”分佈。詞語的生成是通過“文件-主題-詞語”這條關係鏈來生成的。打個比方,一個詞語的產生可以用拋兩次骰子來類比:第一次拋骰子,相當於從“文件-主題”分佈中選擇一個主題,第二次拋骰子,相當於從選定的主題中,從“主題-詞語”分佈中選擇一個詞語,連續重複多次上述過程。一篇文章的主題,就是從“文件-主題-詞語”關係鏈中生成一組代表這個主題的關鍵詞。
這個關係可以用公式(1)來表示:
(1)
將公式(1)的條件概率形式轉化為矩陣形式,即可得到如圖二所示:
圖二 文件-詞語矩陣生成過程
注:
為文件-詞語矩陣;
為主題-詞語矩陣;
為文件-主題矩陣。
LDA演算法的優點:
第一,屬於無監督學習,可以對文字自動進行話題挖掘,無需人工新增標籤;
第二,對文字的語義進行分析,考慮與詞語間的聯絡。
LDA演算法的缺點:
第一,LDA是一種文字話題挖掘方法,所以LDA模型的效能難以客觀評價;
第二,LDA模型在微博等短文字語料中的效果沒有在傳統文件中的好;
第三,主題數目的設定依賴於人工經驗,需要反覆除錯取最優值。
5. 演算法框架
5.1 整體分析框架
微博熱點挖掘模型由資料獲取模組、資料預處理模組、情感分析模組和視覺化模組等四個模組組成。
5.2 爬蟲爬取微博資料
得到的資料如下圖
5.3 資料預處理模組
利用pandas對csv檔案進行讀取,然後使用jieba進行分詞,分詞的時候注意要適當增加新的詞典和停用詞,來對文字進行更好的切割。
新詞典(部分截圖)
處理完得到的文字(部分截圖)
5.4 LDA提取主題詞
將預處理後的文字匯入到詞典,並儲存起來,將tf-idf進行詞向量化,並儲存詞向量化的文字,將詞向量化的文字和詞典匯入到LDA模型,並設定話題數量k,設定關鍵詞數目為10個,構建主題詞。
得到的主題詞
5.5 基於情感詞典的情感分析
讀取原始文字、情感詞典,利用jieba對原始文字進行分詞,但不去掉停用詞,計算每個句子的情感得分,將整個文字分為三類:積極,消極,中立。得到結果,儲存到TXT檔案中,進行視覺化處理。
這裡的情感詞典有四個:正面詞典、消極詞典、程度副詞詞典、否定詞詞典。
5.6 基於情感詞典的情感分析(關鍵詞版本)
在原本的情感分析上增加了關鍵詞篩選這一功能,可以針對某些包含關鍵詞的文字進行情感分析
關鍵詞為:宇宙
5.7 基於決策樹(xgboost)的文字分類和熱度分析
讀取原始文字,利用jieba對原始文字進行分詞,但不去掉停用詞,訓練模型,然後對每一天進行分類,將整個文字分為兩類:有關,無關;以有關微博佔每天爬取總微博數的比例為熱度,得到結果,儲存到csv檔案中,進行視覺化處理。
熱度表(部分截圖)
5.8 視覺化處理
視覺化處理分為詞雲和echart兩部分。“詞雲”這個概念由美國西北大學新聞學副教授、新媒體專業主任裡奇·戈登(Rich Gordon)於近日提出。 ... 因此,“詞雲”就是對網路文字中出現頻率較高的“關鍵詞”予以視覺上的突出,形成“關鍵詞雲層”或“關鍵詞渲染”,從而過濾掉大量的文字資訊,使瀏覽網頁者只要一眼掃過文字就可以領略文字的主旨。Echart是一種視覺化工具,可以實現很多功能。
6. 結果分析
6.1 情感分析
在輿情分析中,正面評價數量:7045負面評價數量:3160中立評價數量:3016。正面積極的微博及影評佔總數的53.28%,負面消極的微博及影評佔總數的23%,中立態度的微博及影評佔總數的22%。可以看出大家對復仇者聯盟3這個話題是持積極態度的。在對幾個主題詞“滅霸”、“英雄”、“宇宙”、“電影”、“漫威”的分析中,基本是以正面的評價為主(在視覺化介面可以看出)。
6.2 熱度分析
關於熱度分析,因為復仇者聯盟3在海外和中國上映的時間不同步,所以造成熱度持續偏高的現象,5月10號的熱度高達百分之90,是因為5月11號凌晨0點,復仇者聯盟3在中國首映。過了5月18號之後,熱度慢慢下降。
7. 總結與展望
7.1 本次作業存在的不足
1. 爬取的資料量不夠大,導致分析的結果不是十分具有代表性。
2. 所用的模型比較簡陋,得出的準確率不是特別理想。
3. 沒有形成一個比較系統的模型,每個模組之間比較獨立,寫了很多個python檔案。
7.2 展望
1、希望可以用深度學習以及神經網路的方法對文字進行處理,提高準確率。
2、形成一個比較完整的系統,能做出人機互動的介面。