唐琳
摘 要:微信作為大眾日常生活、工作的必備通信工具,已經(jīng)隨著互聯(lián)網(wǎng)及移動終端的發(fā)展而被我國人民普遍使用,可以說,從小學(xué)生到古稀老人都在使用微信,而微信的一個公眾平臺--訂閱號,又能發(fā)布各種各樣的圖文內(nèi)容,這些文章,有的和新聞一樣,屬于客觀性敘述,有的是帶有作者強烈的主觀引導(dǎo),因此對微信訂閱號中的文章進行分析和監(jiān)測是目前網(wǎng)絡(luò)安全的重中之重.這一工作又歸屬于網(wǎng)絡(luò)輿情監(jiān)測范疇,因此,本文在簡要總結(jié)網(wǎng)絡(luò)輿情分析相關(guān)理論及技術(shù)的基礎(chǔ)上,對文本傾向性分析的前期工作所需的關(guān)鍵技術(shù)進行了初步研究,主要體現(xiàn)在數(shù)據(jù)采集和文本預(yù)處理領(lǐng)域,針對數(shù)據(jù)采集過程所采用的工具和方法進行論述,針對文本預(yù)處理流程進行了系統(tǒng)的總結(jié)和歸納.
關(guān)鍵詞:網(wǎng)絡(luò)輿情;數(shù)據(jù)采集;文本預(yù)處理;傾向性分析
中圖分類號:G640? 文獻標(biāo)識碼:A? 文章編號:1673-260X(2019)11-0054-03
21世紀(jì),隨著信息技術(shù)的不斷更迭,數(shù)字技術(shù)正向人類生產(chǎn)生活的各個領(lǐng)域全面推進,人類正逐步由網(wǎng)絡(luò)時代步入數(shù)字化時代(哲思時代)[1],人類社會也正從信息社會悄然向后信息社會不斷演變.在這一時代背景下,各類互聯(lián)網(wǎng)通信服務(wù)平臺呈現(xiàn)出泛社交化態(tài)勢,其中的典型代表——微信,已成為中國人民日常生活工作中不可缺少的一部分.微信(WeChat)[2]是騰訊公司于2011年1月21日推出的一款為智能終端提供即時通信服務(wù)的免費應(yīng)用程序[2],由張小龍所帶領(lǐng)的騰訊廣州研發(fā)中心產(chǎn)品團隊打造[3].2019年1月9日,微信官方公眾號微信派發(fā)布了2018微信數(shù)據(jù)報告,據(jù)報告顯示,2018年,微信月活用戶達到了10.82億.平均每天有450億次的信息發(fā)送出去,4.1億次音視頻呼叫成功.通訊錄朋友人均比三年前多了110%.用過微信的朋友們都知道,微信提供公眾平臺、朋友圈、消息推送等功能,用戶可以通過“搖一搖”“搜索號碼”“附近的人”、掃二維碼方式添加好友和關(guān)注公眾平臺,同時微信將內(nèi)容分享給好友以及將用戶看到的精彩內(nèi)容分享到微信朋友圈.在如此龐大用戶基數(shù)的情況下,網(wǎng)民對某些社會問題通過微信表達自己的觀點、情緒、態(tài)度,就成為輿情和社會安全的重要關(guān)口.
微信公眾平臺中的訂閱號(又稱公眾號),是騰訊為媒體和個人提供的一種新的信息傳播方式,主要功能是給用戶傳達資訊,功能類似報紙雜志,提供新聞信息或娛樂趣事,適用于個人、媒體、企業(yè)、政府或其他組織.用戶只要創(chuàng)立了訂閱號,1天內(nèi)就可以群發(fā)1條消息,鑒于互聯(lián)網(wǎng)的普及之廣、傳播之快使得這些消息中的情感傾向有著重大的社會影響,因此,針對如此龐大的數(shù)據(jù)量進行監(jiān)測分析是目前的研究熱點,本文正是基于此開展了系列研究后形成的成果.
1 網(wǎng)絡(luò)輿情分析相關(guān)理論及技術(shù)
網(wǎng)絡(luò)輿情是網(wǎng)民通過互聯(lián)網(wǎng)平臺,針對社會問題所發(fā)表觀點的聚集和匯總,這些觀點往往并不統(tǒng)一,網(wǎng)民們主要針對現(xiàn)實生活中的熱點、焦點問題進行討論,最終形成一些具有較強影響力、傾向性的言論和觀點.網(wǎng)絡(luò)輿情的主要特點是以互聯(lián)網(wǎng)為媒介、以事件為核心,是廣大網(wǎng)民情感、意見的表達互動和傳播,并由此形成了社會輿論,并帶有較強影響力.既然輿情具有影響力和傾向性,那就需要相關(guān)部門去監(jiān)測和分析,避免出現(xiàn)影響社會安全的事情和問題發(fā)生.
網(wǎng)絡(luò)輿情監(jiān)測分析在計算機科學(xué)領(lǐng)域里涉及的理論和技術(shù)主要為信息采集、文本傾向性分析、數(shù)據(jù)挖掘等,網(wǎng)絡(luò)輿情監(jiān)測分析中的信息采集技術(shù)主要依靠爬蟲手段來實現(xiàn),但是目前很多社交通信平臺都設(shè)有很強大的反爬蟲手段,所以數(shù)據(jù)采集階段的工作并不容易,因此很多科研機構(gòu)和企業(yè)研發(fā)人員將主要精力都投入在了信息采集技術(shù)革新上;文本傾向性分析緣起于文章內(nèi)容的情感傾向,文章作者往往帶有一定的觀點立場、喜好偏見,因此對文章的情感、立場、觀點傾向進行分析,也是網(wǎng)絡(luò)輿情分析的重要技術(shù)組成之一,這一技術(shù)領(lǐng)域涉及了多項算法的設(shè)計和實現(xiàn);文本數(shù)據(jù)挖掘則是從采集到的信息、文本、數(shù)據(jù)中,找到有價值的消息和知識,主要技術(shù)手段為關(guān)聯(lián)規(guī)則、文本聚類、分類等算法,這也是時下計算機領(lǐng)域的一個主流研究熱門方向,針對關(guān)聯(lián)規(guī)則、文本聚類、分類等算法的研究成果也是浩瀚如海,這些算法也都覺有各自的特點和代表,在具體實現(xiàn)上還需要依靠大家的火眼金睛去偽存真,才能讓真正有意義的數(shù)據(jù)被有效“挖掘”.
網(wǎng)絡(luò)輿情監(jiān)測其實并不是一個前沿話題,自互聯(lián)網(wǎng)誕生之后,網(wǎng)絡(luò)輿情這一問題就隨之產(chǎn)生,對其分析系統(tǒng)的研究已經(jīng)非常成熟,形成了目前主流的網(wǎng)絡(luò)輿情監(jiān)測分析系統(tǒng)框架,見圖1所示.
具體來說,主流網(wǎng)絡(luò)輿情監(jiān)測分析系統(tǒng)框架主要包括三層,數(shù)據(jù)采集層、分析處理層、結(jié)果展示層.筆者認(rèn)為這一主流框架并不全面,有很多改進之處,因此筆者在主流框架的基礎(chǔ)上做了進一步的擴充和完善,見圖2所示.
2 數(shù)據(jù)采集技術(shù)
微信公眾平臺的文章主要集中在朋友圈和訂閱號中,本文主要選取訂閱號為主要數(shù)據(jù)來源,因騰訊與搜狗合作的關(guān)系,微信訂閱號中的數(shù)據(jù)可以從搜狗網(wǎng)站上采集,但搜狗網(wǎng)站上有眾多反爬限制,為數(shù)據(jù)采集帶來更大的難度,因此,我們主要研究智能移動終端的微信平臺數(shù)據(jù)采集方案.
2.1 傳統(tǒng)網(wǎng)頁爬蟲技術(shù)
所謂網(wǎng)絡(luò)爬蟲,是一種使用計算機語言編寫的按照特定規(guī)則和步驟,從指定網(wǎng)頁上下載有價值的信息的腳本程序.爬蟲爬取數(shù)據(jù)的基本思路是,獲得初始網(wǎng)頁URL,瀏覽網(wǎng)頁過程中不斷生成URL隊列,在特定條件下持續(xù)訪問網(wǎng)頁,直到滿足一定條件,停止爬取.網(wǎng)絡(luò)爬蟲的主要功能由控制器、解析器、網(wǎng)頁庫三個部件完成,分別負(fù)責(zé)多線程任務(wù)分配、頁面腳本代碼處理、存儲網(wǎng)頁資源等任務(wù),傳統(tǒng)網(wǎng)頁爬蟲系統(tǒng)結(jié)構(gòu)見3所示.
2.2 移動端微信采集技術(shù)
采用Hook技術(shù)實現(xiàn)微信程序與騰訊服務(wù)器交互時的數(shù)據(jù)獲取及過程監(jiān)控,Hook技術(shù)又叫作鉤子函數(shù),其作用是在系統(tǒng)調(diào)用函數(shù)前,先截獲消息,即在消息到達終點前就被截獲并監(jiān)控事件的傳輸.簡單來說,Hook就是“鉤住”系統(tǒng)的程序后,將自己的代碼融入進去,成為一個新的進程.比如Android系統(tǒng)使用了沙箱機制,普通用戶的進程空間互相獨立,但Hook技術(shù)可以通過一個程序改變這些用戶彼此間的進程,修改他們的代碼,替換符號地址,從而實現(xiàn)數(shù)據(jù)采集.
Hook技術(shù)實現(xiàn)的步驟分為兩步,首先是查找Hook點,可以通過Java層實現(xiàn),其次將Hook函數(shù)放到系統(tǒng)之外執(zhí)行,也就是在系統(tǒng)的程序中加入我們自己的邏輯,具體工作流程見圖4所示.
2.3 Android數(shù)據(jù)采集技術(shù)
對于微信訂閱號中的大規(guī)模數(shù)據(jù)(文本)的采集來說,我們可以借鑒和使用Android自動化測試技術(shù)及其測試工具,Android自動化測試技術(shù)又稱為UI自動化測試,其中UI是User Interface的縮寫,這一測試技術(shù)可以通過工具模擬人對手機的單擊、滑動、輸入等操作,從而使手工操作改為系統(tǒng)自動操作,已完成自動化測試的目標(biāo).對于數(shù)據(jù)采集而言,使用現(xiàn)有的Android自動化測試工具,最終實現(xiàn)自動化數(shù)據(jù)采集,無疑是個行之有效并節(jié)省人力的神器.目前,主流的自動化測試工具有MonkeyRunner、Rubotium、UIautoMator等,前兩個優(yōu)點很多,比如MonkeyRunner操作簡單、Rubotium功能強大,但是二者一個功能受限、移植性差,另一個操作復(fù)雜,因此我們還是建議選擇功能強大、操作簡單的UIautoMator工具,來實現(xiàn)終端的自動化數(shù)據(jù)采集功能.
3 文本預(yù)處理技術(shù)
對于前面我們采集到的文本而言,需要進行必要的文本預(yù)處理,這里使用的技術(shù)主要包括了規(guī)范編碼格式、切分技術(shù)、過濾技術(shù)、分詞技術(shù)、去停用詞技術(shù)等.
文本預(yù)處理流程如圖5所示,具體步驟如下.
(1)將爬取的信息進行統(tǒng)一規(guī)范編碼,一般常采用utf-8編碼格式;
(2)對文檔進行切分,切分的前提是所有文檔都存儲在一個文件內(nèi),經(jīng)過切分,可以將每一篇文章獨立的提取出來,存放到不同的文件中;
(3)過濾掉諸如HTML、JS、CSS等前端代碼,以及圖像等與文章內(nèi)容無關(guān)的標(biāo)記、鏈接等信息;
(4)將文章的單詞和詞語切分提取出來,作為文本的特征值表示,以提取出來的詞語作為傾向性分析的主要關(guān)鍵詞,這里主要需要區(qū)別英文和中文的文章,因為英文和中文的構(gòu)成結(jié)構(gòu)和語法都不一樣,因此提取關(guān)鍵詞的方法也不同,對于英文來說相對較為容易一些,可以通過空格符來切分單詞,而對中文來說,復(fù)雜度相對高了很多,需要將連續(xù)的漢字按照新的規(guī)則進行劃分,這個過程,我們稱為中文分詞.我們直接采用了Python擴展庫Jieba來進行關(guān)鍵詞的提取和切分;
(5)去停用詞,停用詞是指在信息檢索中,為節(jié)省存儲空間和提高搜索效率,在處理自然語言數(shù)據(jù)(或文本)之前或之后會自動過濾掉某些字或詞,這些字或詞即被稱為Stop Words(停用詞).這些停用詞都是人工輸入、非自動化生成的,生成后的停用詞會形成一個停用詞表.但是,并沒有一個明確的停用詞表能夠適用于所有的工具.甚至有一些工具是明確地避免使用停用詞來支持短語搜索的.[4]我們將采用哈爾濱工業(yè)大學(xué)停用詞表和百度停用詞表兩個庫來比對處理結(jié)果.[5]
限于篇幅,本文僅對網(wǎng)絡(luò)輿情分析的相關(guān)理論及技術(shù)進行了簡要的總結(jié)和敘述,對文本傾向性分析的前期工作所開展的研究進行了整理和論述,主要體現(xiàn)在數(shù)據(jù)采集和文本預(yù)處理領(lǐng)域,針對數(shù)據(jù)采集過程所采用的工具和方法進行論述,針對文本預(yù)處理流程進行了系統(tǒng)的總結(jié)和歸納,后期我們將對文本傾向性分析的關(guān)鍵技術(shù)進行進一步的研究和總結(jié).
參考文獻:
〔1〕(美)Negroponte著.胡泳譯.數(shù)字化生存[M].海南出版社,1997.
〔2〕“微信”網(wǎng)絡(luò)時代的變革者.中國存儲.2016-08-03[引用日期2016-08-03].
〔3〕微信怎樣誕生:張小龍給馬化騰的一封郵件.網(wǎng)易[引用日期2016-12-03].
〔4〕停用詞.百度百科.[引用日期2019-10-17].
〔5〕https://github.com/fighting41love/funNLP/tree/master/data/停用詞.[引用日期2019-10-17].