李海生
(江南造船集團(tuán),上海 201913)
微博作為新時代的產(chǎn)物,在短短的幾年時間已經(jīng)得到了迅猛發(fā)展,目前已經(jīng)成為了日常生活必不可少的溝通、分享工具。一般一條中文微博字?jǐn)?shù)限制在140字左右,但僅僅就這140字的微博卻能表達(dá)出一個人的觀點(diǎn)、思想和情緒,大大方便了信息的傳遞、獲取與共享,微博已經(jīng)一躍成為時下最方便、最流行的互聯(lián)網(wǎng)應(yīng)用之一。微博作為互聯(lián)網(wǎng)應(yīng)用杰出的代表,在逐步地影響著人們的日常生活,微博每天大約會產(chǎn)生千萬條數(shù)據(jù),在這千萬條數(shù)據(jù)中又會產(chǎn)生幾萬個話題,如果用戶想要更深入的了解熱點(diǎn)話題的話,就需要不斷地去刷新動態(tài),用自己獨(dú)到的眼光去判斷熱點(diǎn)話題,分析微博傳遞的信息,這顯然是不合理的,而且了解的信息不完全,得不到理想的結(jié)果。怎樣從龐大的熱點(diǎn)話題中檢測出熱門話題,快速讓讀者了解熱門話題,這是時下里的一個熱點(diǎn)研究方向。同時,微博發(fā)布方式便捷,使得熱點(diǎn)話題得到快速傳播,這些特點(diǎn)也會使得虛假信息和片面信息容易泛濫,成為社會的安定的隱患,而且對于某些部門,他們密切關(guān)注著這些話題的動向。所以本文提出一種熱點(diǎn)話題檢測算法,對時下最熱門的微博系統(tǒng)之一的新浪微博做分析,來幫助相關(guān)人員自動檢測熱門話題,達(dá)到實(shí)時預(yù)警功能,形成一套微博輿情系統(tǒng)。
目前提及話題檢測通常都會提及 TDT,TDT的英文全稱是 Topic Detection and Tracking[1],最早的研究主要是針對事件的檢測,通常的話題檢測是面向正式的新聞媒體信息流,其主要任務(wù)是識別當(dāng)前話題,搜集相關(guān)話題和對已經(jīng)檢測的話題進(jìn)行追蹤。TDT中的話題識別與跟蹤的基本思想源于1996年,來自 DARPA、卡內(nèi)基?梅隆大學(xué)、Dragon系統(tǒng)公司以及麻薩諸塞大學(xué)的研究者開始定義話題識別與跟蹤研究的內(nèi)容,并開發(fā)用于解決問題的初步技術(shù)。目前國內(nèi)也有一些類似的系統(tǒng),例如北大方正技術(shù)研究院推出的方正智思輿情預(yù)警輔助決策支持系統(tǒng),其成功地實(shí)現(xiàn)了針對互聯(lián)網(wǎng)海量輿情自動實(shí)時的監(jiān)測分析,有效地解決了政府部門以傳統(tǒng)的人工方式對輿情監(jiān)測的實(shí)施難題。
就目前來看,微博輿情熱點(diǎn)發(fā)現(xiàn)的研究主要是在對中文信息的處理中和數(shù)據(jù)挖掘領(lǐng)域。在中文信息處理中,涉及到的技術(shù)有中文分詞技術(shù)、多維向量空間技術(shù)。而在數(shù)據(jù)挖掘技術(shù)方面,有輿情信息采集、自動分類、自動聚類等。黃曉斌在分析文本挖掘技術(shù)的基礎(chǔ)上提出網(wǎng)絡(luò)輿情信息挖掘分析模型[2],并以實(shí)例說明文本挖掘在網(wǎng)絡(luò)輿情分析中的應(yīng)用;錢愛兵分析了網(wǎng)絡(luò)輿情的基本情況,設(shè)計(jì)了一個基于主題的網(wǎng)絡(luò)輿情分析模型[3];郭建永等結(jié)合劃分聚類和凝聚聚類的優(yōu)點(diǎn)提出了一種增量層次聚類算法應(yīng)用于主題發(fā)現(xiàn)[4];于滿泉等將自然語言處理與信息檢索技術(shù)相結(jié)合,提出針對事件特點(diǎn)的切實(shí)有效的單粒度話題識別方法[5];劉星星等設(shè)計(jì)了一個熱點(diǎn)事件發(fā)現(xiàn)系統(tǒng),該系統(tǒng)面向互聯(lián)網(wǎng)新聞報道流,能自動發(fā)現(xiàn)任意一段時間內(nèi)網(wǎng)絡(luò)上的熱點(diǎn)事件[6];王偉根據(jù)對網(wǎng)絡(luò)輿情分析的需求,構(gòu)建了基于聚類的網(wǎng)絡(luò)輿情熱點(diǎn)問題發(fā)現(xiàn)及分析系統(tǒng)[7]。對于海量的網(wǎng)絡(luò)輿情信息,如何提高分析處理的效果和效率,提高網(wǎng)絡(luò)輿情熱點(diǎn)分析的準(zhǔn)確度和效率,仍然是目前研究熱點(diǎn)。
本文是針對目前主流三大微博之一的新浪微博做的一個分析和檢測,旨在反映某個時間段內(nèi)的熱點(diǎn)話題,通過實(shí)時對熱點(diǎn)話題的檢測,達(dá)到一個輿情預(yù)警的功能。本文構(gòu)建的微博輿情系統(tǒng)架構(gòu)設(shè)計(jì)如圖1所示。
圖1 微博熱點(diǎn)話題分析系統(tǒng)架構(gòu)設(shè)計(jì)
微博數(shù)據(jù)采集采用的是網(wǎng)絡(luò)爬蟲技術(shù),主要是針對新浪微博獲取數(shù)據(jù)源,他能夠遍歷新浪微博范圍內(nèi)整個Web空間的數(shù)據(jù)源,并采集數(shù)據(jù),然后通過索引將網(wǎng)絡(luò)爬蟲的數(shù)據(jù)建立索引并保存到索引數(shù)據(jù)庫,同時為了保證索引的實(shí)時更新,網(wǎng)絡(luò)爬蟲會不斷的工作,對新浪微博中的數(shù)據(jù)源進(jìn)行重新搜索。微博信息采集實(shí)現(xiàn)以下功能:
(1)對新浪微博全網(wǎng)的搜索,將有效信息保存,去除一些重復(fù)和無效數(shù)據(jù);
(2)網(wǎng)頁分析、信息存儲,實(shí)現(xiàn)頁面的去重、去噪,刪除垃圾信息;
(3)多線程、分布式高速采集;
(4)增量更新,只采集上次更新數(shù)據(jù),而不是全部一次采集一遍,從而保證了信息更新的效率。
2.2.1 數(shù)據(jù)預(yù)處理
微博文本有其自身的特點(diǎn),表達(dá)方式多樣性,且包含網(wǎng)頁鏈接、圖片、英文字母等等,本文需要對其進(jìn)行預(yù)處理,步驟如下:
(1)對微博數(shù)據(jù)進(jìn)行去重、去噪、標(biāo)簽過濾等操作,例如此微博,“今天我非常開心,巴西首場如愿獲得了勝利,恭喜巴西,巴西世界杯看球攻略http://t.cn/RvoEUxI”,針對此微博數(shù)據(jù),需要對其進(jìn)行預(yù)處理,去除鏈接、特殊符號、英文字母,得到純凈的微博數(shù)據(jù),如“今天我非常開心,巴西首場如愿獲得了勝利,恭喜巴西,巴西世界杯看球攻略”。
(2)去除表情符號,為后面的分詞處理做準(zhǔn)備。
(3)對微博進(jìn)行分詞處理,本文使用中科院ICT?CLAS系統(tǒng)[8]進(jìn)行分詞與詞性標(biāo)注。例如“今天我非常開心,巴西首場如愿獲得了勝利,恭喜巴西,巴西世界杯看球攻略”,通過分詞系統(tǒng)可得到{今天/t我/rr非常/d開心/a,/wd巴西/nz首場/d如愿/vi獲得/v了 /rr勝利/n,/wd恭喜/v巴西/nz,/wd巴西/nz世界杯/nz看/v球/n攻略/n}。
(4)對分詞后的文本進(jìn)行粗降維,即將停用詞,低頻詞從文檔中去除。
2.2.2 特征選取
由于抽取樣本網(wǎng)頁正文的內(nèi)容作為網(wǎng)頁的特征向量待選集合,分詞后的特征向量空間維度很大,導(dǎo)致算法效率會受到影響。 特征選取的目的就是進(jìn)一步過濾掉信息量不大,對輿情熱點(diǎn)發(fā)現(xiàn)影響不大的詞,達(dá)到對網(wǎng)頁特征向量降維的效果,從而提高處理的效率和降低計(jì)算復(fù)雜度。這里采用的降維方式是通過統(tǒng)計(jì)方法構(gòu)造網(wǎng)頁主題評價函數(shù),對每個特征向量進(jìn)行評估,選擇那些符合預(yù)定閾值的詞作為網(wǎng)頁的特征項(xiàng)。
常見的特征選取方法有很多:信息增益法,互信息法,統(tǒng)計(jì)量法,交叉熵,優(yōu)勢率和文檔頻率法等。 其中文檔頻率是最簡單,同時也是最有效的文本特征選取方法之一,在此采用它作為特征選取的方法。 在運(yùn)用該方法時,首先計(jì)算各個征詞的文檔頻率,然后通過網(wǎng)頁主題評價函數(shù)進(jìn)行評估(評估依據(jù)為文檔頻率低的特征不包含對分類(或聚類)有用的鑒別信息,因而對分類結(jié)果沒有什么影響),高于預(yù)定閾值的那些特征詞保留作為特征項(xiàng)。 特征詞出現(xiàn)的頻率 P(k)定義為:
式中freq(k)為網(wǎng)頁特征詞語頻率。
2.2.3 向量表示
特征提取之后,在此采用目前應(yīng)用最廣泛的向量空間模型VSM(Vector Space Module),該模型基本思想是:經(jīng)過文本預(yù)處理后,將文本看作一系列無序詞條的集合,繼而表示為高維空間向量。將文本中每個詞條Ti作為惟一特征用來表示,權(quán)值Wi表示一個文本中的第i個元素或特征的重要性,這樣每條微博m就可以映射為此空間中的一個點(diǎn),用向量表示為Vm=(T1W1,T2W2,…,TnWn)。再通過句子相似度計(jì)算獲得文本之間的差距,然后我們就可以判斷微博之間的相似性。用向量空間模型表示微博消息的優(yōu)點(diǎn):將文本內(nèi)容用向量化表示,使得自然語言能夠被計(jì)算機(jī)理解,具有可操作性和可計(jì)算性;模型概念容易理解,應(yīng)用過程易于實(shí)現(xiàn);通過對權(quán)值的計(jì)算能夠體現(xiàn)不同詞語在微博語句中的重要性;在計(jì)算文本相似度時有更大選擇空間。該模型的缺點(diǎn):將微博消息中的詞條離散化,詞的次序、詞與詞之間的關(guān)系等因素將不被考慮,因此當(dāng)以詞為向量基本單位時,可能造成空間維數(shù)較高,影響效率,所以需要進(jìn)行降維處理。
熱點(diǎn)發(fā)現(xiàn)模塊主要是將經(jīng)過預(yù)處理的微博數(shù)據(jù)進(jìn)行分析,獲取在一定時間周期內(nèi)發(fā)布信息流中,一組內(nèi)容相同和相近的話題微博,當(dāng)參與者超過一定的閾值H時則認(rèn)定為熱點(diǎn)話題MT。微博話題描述的形式為,MT=(MS,N,T,MF),其中 MS表示非空的微博信息集合;N表示參與者的個數(shù);T表示微博消息發(fā)生的時間跨度;MF表示抽取時間的微博特征詞匯表。根據(jù)熱點(diǎn)話題的定義,每次熱點(diǎn)話題提取和分析的對象,是時間跨度T內(nèi)微博的集合,表示為CM,MS屬于CM。因此微博的話題發(fā)現(xiàn)就是基于微博內(nèi)容的歸類處理,每一類微博就能說明用戶群所關(guān)注的一個焦點(diǎn),即熱點(diǎn)話題。
在微博內(nèi)容的劃分上,由于微博數(shù)量巨大且內(nèi)容復(fù)雜,并且在研究中沒有先驗(yàn)學(xué)習(xí)語料,所以不能直接通過有監(jiān)督的文本分類方法來獲得歸類后的微博子集合。因此類別特征能被視為話題的對應(yīng)體,通過計(jì)算每個微博話題的特征詞表就能夠發(fā)現(xiàn)這段時間內(nèi)微博中的熱點(diǎn)話題。在無監(jiān)督學(xué)習(xí)條件下直接獲取每一個話題對應(yīng)的特征詞表是不現(xiàn)實(shí)的,可以通過詞頻統(tǒng)計(jì)[9]的方式發(fā)現(xiàn)整個微博流中的特征集合,根據(jù)內(nèi)容關(guān)聯(lián)度對這個特征集合進(jìn)行劃分就能得到每個微博話題對應(yīng)的特征詞表,每個特征詞表對應(yīng)一個話題,通過這樣的方法完成微博的話題發(fā)現(xiàn)。
任何一個系統(tǒng)都離不開系統(tǒng)管理模塊,本系統(tǒng)管理模塊主要是針對用戶角色設(shè)定的,實(shí)現(xiàn)用戶、訪問權(quán)限、數(shù)據(jù)分離、數(shù)據(jù)安全控制等。主要由用戶管理模塊和角色權(quán)限管理模塊兩個模塊組成。系統(tǒng)管理模塊是系統(tǒng)的核心,同時也控制著數(shù)據(jù)訪問權(quán)限。
文本分類算法常用的評價指標(biāo)有召回率R、準(zhǔn)確率P和F值,計(jì)算公式如下:
召回率:
準(zhǔn)確率:
F值:
式中Ci為實(shí)驗(yàn)分類為C的微博數(shù);Di為實(shí)驗(yàn)總的微博數(shù);Ei為微博分類為C的微博條數(shù),C表示微博類別。
本文利用如上所述的方法采集新浪微博數(shù)據(jù)28 000條,經(jīng)過預(yù)處理分析,篩選出19 830條數(shù)據(jù),利用這近2萬條數(shù)據(jù)進(jìn)行分析計(jì)算,得到話題有{好聲音,532},{爸爸去哪兒,453},{感動中國,344},{文明出行,298}等,其中的數(shù)字表示詞頻。微博話題檢測詞頻如表1所示。
表1 微博話題檢測詞頻
表1為系統(tǒng)經(jīng)過分析后的數(shù)據(jù),近期微博熱點(diǎn)話題為#中國好聲音#,雖然只有2萬條數(shù)據(jù),但是其占據(jù)了很大比例。對于這套分析系統(tǒng)采用第2節(jié)所示的測試指標(biāo),召回率為0.657 76,準(zhǔn)確率為0.708 53,F(xiàn)值為0.582 35。召回率、準(zhǔn)確率和F值都在0.6左右,所以對比往常的分析方法還算正常的結(jié)果范圍。利用系統(tǒng)分析出的熱點(diǎn)話題,與當(dāng)下的熱點(diǎn)話題相比確實(shí)差不多,中國好聲音確實(shí)比較流行。
本文利用網(wǎng)絡(luò)爬蟲算法結(jié)合新浪微博的API獲取新浪媒體的微博數(shù)據(jù),然后對微博數(shù)據(jù)進(jìn)行過濾,預(yù)處理得出比較純凈的微博數(shù)據(jù),然后結(jié)合熱點(diǎn)話題算法構(gòu)建了一套微博輿情分析系統(tǒng),此系統(tǒng)經(jīng)過試驗(yàn)證明有一定的可行性,能獲得當(dāng)前的微博話題。但是該系統(tǒng)還存在很多問題,例如無法對熱點(diǎn)話題進(jìn)行實(shí)時的預(yù)警,對一些敏感詞匯進(jìn)行追蹤,查詢發(fā)布源頭等,這些都是下一步系統(tǒng)所需要改進(jìn)的地方。
[1]ALLAN James,PAPKA Ron,LAVRENKO Victor.On ?line new event detection and tracking[C]//Processing of 21st Annual International ACM SIGIR Conference on Research and Develop?ment in Information Retrieval.Amherst:University of Massa?chusetts,1998:37?45.
[2]黃曉斌,趙超.文本挖掘在網(wǎng)絡(luò)輿情信息分析中的應(yīng)用[J].情報科學(xué),2009(1):94?99.
[3]錢愛兵.基于主題的網(wǎng)絡(luò)輿情分析模型及其實(shí)現(xiàn)[J].情報分析與研究,2008(4):49?55.
[4]郭建永,蔡永,甑艷霞.基于文本聚類技術(shù)的主題發(fā)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2008(6):1426?1428.
[5]于滿泉,駱衛(wèi)華,許洪波,等.話題識別與跟蹤中的層次化話題識別技術(shù)研究[J].計(jì)算機(jī)研究與發(fā)展,2006,43(3):489?495.
[6]劉星星,何婷婷,龔海軍,等.網(wǎng)絡(luò)熱點(diǎn)事件發(fā)現(xiàn)系統(tǒng)的設(shè)計(jì)[J].中文信息學(xué)報,2008,22(6):80?85.
[7]王偉,許鑫.基于聚類的網(wǎng)絡(luò)輿情熱點(diǎn)問題發(fā)現(xiàn)及分析[J].情報分析與研究,2009(3):74?79.
[8]ICTCLAS Chinese Word Segmentation.Download ICTCLAS[EB/OL].[2012?07?02].http://ictclas.org/ictclas_download.aspx.
[9]張清亮,徐健.網(wǎng)絡(luò)情感詞自動識別方法研究[J].現(xiàn)代圖書情報技術(shù),2011(10):24?28.