劉丹 趙云飛
摘 要:在這個數據爆炸的時代,每個人的生活、工作以及思維都將發(fā)生改變。大數據資源隱含著巨大的商業(yè)價值,大數據在為信息領域帶來深刻變革的同時也為其他行業(yè)帶來了機遇和挑戰(zhàn)。本文研究了數據挖掘的理論知識及分析過程。設計并實現了從數據采集、非結構化數據存儲、分析結果的可視化等數據挖掘過程。
關鍵詞:大數據;數據挖掘;電視節(jié)目;中文情感分析
0 引言
本文選取綜藝節(jié)目《奔跑吧兄弟》作為代表,采集其在主流視頻網站的用戶評論,包括愛奇藝、優(yōu)酷、騰訊視頻,通過海量數據的數據挖掘,建立分析模型,利用文本情感分析技術對用戶的情感進行分析,評估用戶對節(jié)目的情感傾向性。
1 系統總體設計
情感分析系統的技術架構,共分為如下四層:
1、數據采集層:負責采集海量的用戶評論數據。采集后的數據需經過抽取、轉換、加載三個步驟的處理。
2、數據存儲層:負責匯總存儲采集的用戶評價數據。
3、數據挖掘層:由管理平臺負責整體任務的調度,MapReduce負責計算引擎,通過支持向量機模型,實現海量用戶評論數據的文本情感分析,并將分析后數據存儲到數據倉庫中。
4、數據可視化層:主要任務是接收用戶提交的各項分析任務操作請求,調用底層的分析引擎進行數據的分析任務,接收底層分析任務返回的結果,封裝結果格式并返回給前臺界面顯示。
數據流的走向從視頻網站用戶評論數據到數據存儲(ODS)到數據ETL到數據倉庫DW再到聯機分析處理(OLAP),最后到用戶端
本系統的數據倉庫基于數據立方體理論進行設計。數據立方體,支持從多個維度進行數據的建模和觀察,由維和事實定義。維一般代表實體,相應的數據庫表稱為維度表。事實是用來對數值進行度量的,用于分析與維度之間的關系,相應數據庫表稱為實事表。
2 1 數據采集模塊設計
系統涉及的數據源包括優(yōu)酷、愛奇藝、騰訊三個視頻網站的綜藝節(jié)目《奔跑吧兄弟》的用戶評論數據,首先獲取這三個網站視頻播放地址,在視頻播放地址頁面中包含用戶評論數據的URL,之后對URL的返回數據進行分析,解析出本系統需要的關鍵用戶評論數據,最后將數據暫存到MySQL數據庫中。
2.2 數據存儲模塊的設計
數據存儲模塊,定期從數據庫表comment_youku、comment_iqiyi、comment_qq同步數據到HBase中。具體是實現時使用ETL工具將MySQL數據庫中的用戶評論數據定期、增量導入到HBase
2.3數據分析模塊的設計
采用基于機器學習的情感分析方法。同時,為了能針對海量評論數據進行大規(guī)模的情感分析,需要基于MapReduce計算引擎完成。
MapReduce算法執(zhí)行過程分為Map和Reduce兩個主要的過程:
1、Map過程,根據時間戳從HBase數據庫并行獲取新抓取的數據,其中,分配到不同map的數據基于Map-Reduce模型的就近原則獲取,盡可能平均地劃分到不同的計算節(jié)點上。得到數據以后,不同的節(jié)點并發(fā)執(zhí)行多個map程序,通過支持向量機模型,完成每條用戶評論的情感傾向性判斷,并輸出中間結果。
2、Reduce過程,匯總每條評論的情感傾向性結果,計算得出整體的評論情感傾向性。為了使MapReduce的作業(yè)任務可以定時執(zhí)行,通過Oozie完成任務的定時調度。
2.4 數據可視化模塊的設計
數據可視化模塊,使用Web交互模式,用戶可以通過瀏覽器查詢分析結果。采用MVC設計模式。即Model、View、Controller三部分組成:
1、Model,數據模型,是抽象后的客觀事物。將數據、業(yè)務邏輯和業(yè)務規(guī)則作為Model。系統中把用戶評論數據的計算結果封裝為Model。
2、View,視圖,一般指呈現給用戶的界面,是對Model的具體表現。同時用戶也可以通過界面進行交互,如用戶選擇以不同的維度進行分析。
3、Contorller,控制器,主要負責與Model和View的交互。
開發(fā)框架使用Spring MVC,SpringMVC使用了MVC架構模式的思想,將Web層進行職責解耦。組織代碼的方式是將業(yè)務邏輯和數據顯式進行分離,將業(yè)務邏輯聚合到一個組件中,這樣在很多場景下不再需要重新編寫業(yè)務邏輯。在頁面展示方面,為了達成更好的圖表展示效果,圖表展示基于ECharts框架進行開發(fā)?;ヂ摼W電視節(jié)目評價分析頁面展現效果如圖1所示。
3 結語
本文對系統進行了整體的設計,系統分為四個主要功能組件。數據采集層負責采集海量的用戶評論數據。數據存儲層負責層匯總了存儲采集的用戶評價數據。數據挖掘層通過MapReduce計算引擎,利用向量機模型,實現海量用戶評論數據的文本情感分析,并將分析后數據存儲到數據倉庫中。數據可視化層主要任務是接收用戶提交的各項分析任務操作請求,調用底層的分析引擎進行數據的分析任務,接收底層分析任務返回的結果,封裝結果格式并返回給前臺界面顯示。
參考文獻:
[1] 陳曦. 大數據時代背景下電視節(jié)目的發(fā)展趨勢[J]. 新聞研究導刊,2014,
[2] 趙瑜. 2014年國產電視劇大數據分析[J]. 當代電影,2015
作者簡介:
劉丹(1980-),女。遼寧沈陽人,碩士,軟件工程師,研究方向:大數據技術
(東軟集團股份有限公司,遼寧 沈陽 110179)