謝凱,梁剛,楊文太,楊進(jìn),許春
(1.四川大學(xué)計(jì)算機(jī)學(xué)院,成都 610065;2.四川大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,成都 610065)
隨著Web 2.0的快速發(fā)展與廣泛的應(yīng)用,越來越多的新興社交媒體的出現(xiàn)對人們的日常生活以及互聯(lián)網(wǎng)產(chǎn)業(yè)都產(chǎn)生了巨大的沖擊。得益于網(wǎng)絡(luò)交流的便利性、平臺的開放性、終端的可擴(kuò)展性,使用的便利性與原創(chuàng)性,微博逐漸成為人們獲取信息、分享個人信息與觀點(diǎn)的主流媒介。與情是較多群眾關(guān)于某個社會現(xiàn)象或事件的觀點(diǎn)、態(tài)度以及情緒等等表現(xiàn)的總和。然而,某一些微博與情的傳播可能會對社會或企業(yè)造成危害。例如,2011年3月,日本福島核電站發(fā)生核泄漏,導(dǎo)致中國一些地區(qū)發(fā)生“搶鹽潮”。其原因?yàn)槲⒉┥嫌腥税l(fā)布消息稱食鹽在將來可能會受到核污染;黑龍江延壽縣3名在押犯人“越獄殺警”事件在微博上快速傳播,造成了哈爾濱等周邊地區(qū)民眾的恐慌。在這些事件中,微博作為一個重要的信息傳播渠道,可能影響事件的走向或?qū)κ录慕Y(jié)果造成影響,進(jìn)而對有關(guān)部門對事件的處理造成影響。因此,監(jiān)控并預(yù)測微博與情能夠有效地減少有關(guān)部門在處理類似事件時的壓力、快速對事件做出反應(yīng),并掌控事件的發(fā)展方向,防止其對社會產(chǎn)生危害。
微博不同于傳統(tǒng)的文檔,大多數(shù)微博服務(wù)提供商僅允許用戶上傳較短的文本(140字),并且微博信息數(shù)量巨大且用語不規(guī)范,這些特點(diǎn)為微博的與情監(jiān)控帶來了新的挑戰(zhàn)。與情預(yù)測是基于話題檢測與追蹤(TDT)之上的,TDT已經(jīng)具有了許多經(jīng)典的話題檢測模型。例如,隱馬爾可夫模型(HMM)、老化理論、時間序列分析以及LDA(Latent Dirichilet Allocation)模型。但是以上傳統(tǒng)的話題檢測算法均適用于長文本文檔,而在微博這類短文本文檔上的性能就要大打折扣。近幾年來,一部分研究者嘗試去找到一些新的與情檢測算法并且取得了一定的成果。例如,Ritter等人[3]使用了開放域事件提取來解決推特的短文本和噪音數(shù)據(jù)的問題。Nip等人[4]通過研究回復(fù)與原文以及用戶喜好之間的不同來發(fā)現(xiàn)微博與情的形成規(guī)律。Jiang等人[5]提出一種基于LDA主題模型的微博重要話題發(fā)現(xiàn)方法,但其在實(shí)時檢測話題上表現(xiàn)欠佳。Cui等人[7]提出了一種通過推特上的Hashtags來發(fā)現(xiàn)突發(fā)話題的方法,但是其不適用于沒有Hashtags的微博,并且在用戶使用有多種意義的Hashtags的時候其檢測結(jié)果不理想。Du等人[8]提出了一種基于用戶關(guān)系的微博突發(fā)話題檢測算法。其使用基于用戶關(guān)系的改進(jìn)的PageRank算法來計(jì)算關(guān)鍵詞的權(quán)重。但是當(dāng)微博回復(fù)量很小的時候,其同樣不能夠快速地發(fā)現(xiàn)目標(biāo)話題。
綜合上述研究,針對輿情發(fā)現(xiàn)中的“冷啟動”問題,本文基于熱傳導(dǎo)的原理,描述了微博輿情檢測中介質(zhì)的相關(guān)定義,提出了微博的熱量以及熱傳導(dǎo)率的概念,并建立了微博輿情發(fā)現(xiàn)中有關(guān)微博熱量傳播的模型(MPOPTM,Microblog Public Opinion Prediction based on Thermodynamic Model),根據(jù)其計(jì)算出微博的熱量以及熱傳導(dǎo)率,來判斷微博是否可能形成新的輿情。解決了傳統(tǒng)輿情發(fā)現(xiàn)領(lǐng)域中不能在輿情產(chǎn)生初期及時發(fā)現(xiàn)微博輿情的問題。本文基于真實(shí)數(shù)據(jù)集進(jìn)行了實(shí)驗(yàn)以及與傳統(tǒng)方法進(jìn)行了對比實(shí)驗(yàn),結(jié)果顯示MPOPTM較傳統(tǒng)方法具有更優(yōu)的檢測效率。
與熱力學(xué)中熱傳導(dǎo)的過程類似,與情的形成過程與時間有關(guān)。隨著時間的推移,微博話題將經(jīng)歷形成、發(fā)展、高潮、回落,然后消亡的過程,微博的關(guān)注度隨著時間變化而變化,具有一個完整的生命周期。將會形成與情的微博具有兩個特征:1)在一個時間窗口內(nèi),該微博話題的熱度將會快速增長;2)該微博傳播非常迅速。這一個過程與熱量傳播的過程類似,一個高熱量的物體將會迅速將熱量往四周傳播。因此,本文根據(jù)熱量模型來計(jì)算一個話題是否可能形成與情。
在本文中,一條微博被看作一個能夠傳導(dǎo)熱量的介質(zhì),微博的關(guān)注度作為該介質(zhì)具有的熱量。一個具有較高關(guān)注的微博有更廣的傳播范圍以及更快的傳播速度,也就更有可能形成新的輿情。而在熱力學(xué)中,高溫的物體也會向低溫的物體傳導(dǎo)熱量,這兩個過程極其相似。在MPOPTM中,通過計(jì)算在一個時間窗口內(nèi)該介質(zhì)的溫度、比熱容、質(zhì)量等值,得到其在該時間窗口內(nèi)的熱量Q以及熱傳導(dǎo)率c,若這兩個值大于設(shè)定的閾值,則該微博有可能形成新的輿情。
熱量的傳播需要介質(zhì),在本文中,將總的微博作為輸入數(shù)據(jù)集,其中每一條微博看作一個能傳播熱量的介質(zhì),對介質(zhì)有如下定義:
定義1將一條微博看作熱量傳播的介質(zhì)。微博數(shù)據(jù)集定義為 B,且 B={b1,b2,b3,…,bn},其中 bi即是一條微博,bi∈B,i=1,2,3,…,n。bi能被一個三元組模型描述:bi=(com,fo,li),其中com 是該微博的評論數(shù),fo是該微博的轉(zhuǎn)發(fā)數(shù),li是該微博的點(diǎn)贊數(shù)。
對于微博的熱量,我們有如下定義:
定義2在一個時間窗口內(nèi),將一條微博增長的熱度看作一個介質(zhì)增加的熱量。在熱力學(xué)模型中,在一個時間窗口內(nèi)增加的熱量表示為Qb,其描述了在單位時間內(nèi)該介質(zhì)增加的熱量。熱量由比熱容c、介質(zhì)質(zhì)量m、以及溫度差ΔT決定。比熱容c表示該微博出現(xiàn)的頻率;質(zhì)量m表示該微博的重要程度;ΔT表示該微博的增加的關(guān)注度。
通過計(jì)算當(dāng)前時間窗口內(nèi)該介質(zhì)所吸收的熱量,我們可以再計(jì)算得到該介質(zhì)的熱傳導(dǎo)率。對于微博的熱傳導(dǎo)率,我們有如下定義:
定義3將一條微博的傳播速度看作一個介質(zhì)的熱傳導(dǎo)率。在物理學(xué)中,熱傳導(dǎo)率k是評價(jià)一個材料傳導(dǎo)熱量的性能的指標(biāo)。它描述了在該介質(zhì)中熱量的傳播速度。其由介質(zhì)長度l、接觸面積A、傳播時間Δt、溫度差ΔT、以及吸收的熱量Q所決定。長度l表示有多少微博可能在討論相似的話題;接觸面積A表示該微博傳播的范圍;傳播時間Δt表示時間窗口的大??;溫度差ΔT表示該微博增加的關(guān)注度。吸收的熱量Q表示在一個時間窗口內(nèi)增加的熱量。
通過計(jì)算一條微博在一個時間窗口內(nèi)的熱量以及熱傳導(dǎo)率,我們可以判斷其是否有可能形成輿情,將其看作輸出數(shù)據(jù)集,定義如下:
定義 4 P={P1,P2,P3,…,Pn}定義為可能形成與情的微博數(shù)據(jù)集合。其中 pi∈P,i=1,2,3,…,n,表示一條可能形成與情的微博。
一條微博被定義為一種熱量傳播的介質(zhì),該介質(zhì)所包含的熱量隨著介質(zhì)的溫度的增長而增長。這個過程與微博關(guān)注度增加的過程類似。在MPOPTM中,使用熱量的吸收來描述這一過程。介質(zhì)在該過程中所吸收的熱量可以由式(1)所計(jì)算出來:
ΔTbi可由式(2)計(jì)算得到:
其中,Tt1(bi)表示在t1時刻bi的溫度。溫度T由微博的評論數(shù)com、轉(zhuǎn)發(fā)數(shù)fo以及點(diǎn)贊數(shù)li來決定。其描述了bi的關(guān)注人數(shù)在該時間窗口內(nèi)的增加量。T(bi)可由式(3)計(jì)算得到:
其中,x,y,z分別表示評論數(shù)com、轉(zhuǎn)發(fā)數(shù)fo、點(diǎn)贊數(shù)li的權(quán)重,作為對應(yīng)的調(diào)節(jié)參數(shù)。
質(zhì)量m表示該微博在整個數(shù)據(jù)集中的重要程度,其由 TF-IDF(Term Frequency-inverse Document Fre?quency)所決定。
其中,tf(in)和idf(in)分別表示bi中每個詞的TFIDF值。
比熱容c由IDF值計(jì)算得到:
其中idf(in)表示bi的IDF值。通過計(jì)算一條微博的溫度差ΔT、比熱容c以及質(zhì)量m等參數(shù),最后得到該微博在一個時間窗口內(nèi)吸收的熱量Q,該熱量即表示其在一個時間窗口內(nèi)增加的關(guān)注度,熱量越高,關(guān)注度也就越高,該微博便越有可能形成新的輿情。
熱量的傳播需要介質(zhì)。介質(zhì)的熱傳導(dǎo)率越大,熱量在其中傳播的速度越快。熱傳導(dǎo)的過程與微博傳播的過程類似,越熱門的微博,傳播的速度也就越快。在MPOPTM中,使用熱傳導(dǎo)率來描述微博的傳播速度。其計(jì)算方式(式6)如下:
其中Q(bi)表示在一個時間窗口內(nèi)傳播的熱量,在這里我們可將其視為在一個時間窗口內(nèi)吸收的熱量。因此其同樣可以使用式(1)計(jì)算得到。
長度 l由 DF(document frequency)計(jì)算得到:
其中df(in)表示bi中每個詞的文檔頻率。面積A由評論數(shù)與轉(zhuǎn)發(fā)數(shù)決定:
其中com表示bi的評論數(shù),fo表示bi的轉(zhuǎn)發(fā)數(shù)。
在2.2和2.3節(jié)中,我們定義了微博熱量與熱傳導(dǎo)率的計(jì)算方法。但是微博上存在大量相同的信息,因此我們需要對這些微博進(jìn)行合并,多個微博共同描述同一個話題。本文使用向量空間模型結(jié)合余弦相似度的方法來計(jì)算微博之間內(nèi)容的相似度。
在本文中,將數(shù)據(jù)集中的所有微博通過向量空間模型(VSM)轉(zhuǎn)換為向量,并計(jì)算每兩條微博之間的余弦相似度,來判斷這兩條微博是否描述同一個話題。余弦相似度可以由式(9)計(jì)算得到:
為了測試該模型的性能,實(shí)驗(yàn)基于真實(shí)的微博數(shù)據(jù)集。我們選擇從新浪微博上采集數(shù)據(jù),并將其作為實(shí)驗(yàn)數(shù)據(jù)集。我們從工具“艾薇盒子”[13]提供的新浪微博影響力排行榜中,篩選了傳媒類微博影響力排名靠前的用戶微博共計(jì)55位作為數(shù)據(jù)來源。編寫新浪微博爬蟲獲取各個目標(biāo)用戶發(fā)布的微博信息,作為微博輸入數(shù)據(jù)集。在對其進(jìn)行人工標(biāo)注后,用以檢測本文所以算法的性能。在新浪微博首頁,每日會更新24小時內(nèi)的話題排行榜,將其作為熱門話題的驗(yàn)證數(shù)據(jù)集。
實(shí)驗(yàn)計(jì)算微博的熱量以及熱傳導(dǎo)率,并使用準(zhǔn)確率(Precision,P)、召回率(Recall,R)和綜合指標(biāo)(F-measure,F1)[11]來對模型進(jìn)行評價(jià)。
其中TP表示將正類檢測為正類數(shù),F(xiàn)N表示將正類檢測為負(fù)類數(shù),F(xiàn)P表示將負(fù)類檢測為正類數(shù),TN表示將負(fù)類檢測為負(fù)類數(shù)。
通過爬蟲采集從2017年4月1至9號,總計(jì)9天共8799條新浪微博,將此微博數(shù)據(jù)集作為模型訓(xùn)練樣本集。使用人工標(biāo)注的方法對該樣本集進(jìn)行標(biāo)注,提取出形成輿情的微博,將其作為評價(jià)實(shí)驗(yàn)結(jié)果的標(biāo)準(zhǔn)。通過測試發(fā)現(xiàn),采集一次樣本集耗時2小時左右,將其作為最小時間窗口。輸入在該時間窗口內(nèi)起始和結(jié)束時刻的微博樣本集,計(jì)算其中相同微博在該時間窗口內(nèi)增加的轉(zhuǎn)發(fā)數(shù)、評論數(shù)以及點(diǎn)贊數(shù)的差值,將其作為其熱量Q和熱傳導(dǎo)率k的計(jì)算參數(shù)。
使用jieba分詞對上一步到的微博樣本集進(jìn)行分詞,并使用自建停用詞表去停用詞,使用得到的結(jié)果作為單詞表。根據(jù)定義,首先計(jì)算溫度差ΔT、質(zhì)量m、比熱容c、長度l、面積A等參數(shù),然后計(jì)算每一條微博在每個時間窗口下吸收的熱量Q以及熱傳導(dǎo)率k,篩選出大于閾值TQ以及Tk的微博。其中評論數(shù)com、轉(zhuǎn)發(fā)數(shù)fo以及點(diǎn)贊數(shù)li的權(quán)值x、y、z的取值范圍為0~1.0約束條件為x=1-y-z。將評論數(shù)com、轉(zhuǎn)發(fā)數(shù)fo以及點(diǎn)贊數(shù)li分別與其權(quán)值x、y、z相乘,計(jì)算出在不同的參數(shù)組合下的值作為訓(xùn)練數(shù)據(jù)集。根據(jù)訓(xùn)練數(shù)據(jù)集中計(jì)算得到的分類結(jié)果的準(zhǔn)確率P,召回率R以及綜合指標(biāo)F1值。選擇最優(yōu)的x,y,z的組合使得到的F1值最大,圖1為部分參數(shù)取值示意圖。
圖1 部分參數(shù)示意圖
經(jīng)過計(jì)算,選擇F1值最大的一組參數(shù)組合作為最終選擇,該組的參數(shù)取值分別為:x=0.4,y=0.4,z=0.2。使用本文所提算法計(jì)算該參數(shù)組合下的訓(xùn)練集中被分類為輿情的每條數(shù)據(jù)的熱量Q以及熱傳導(dǎo)率k,得到最小的熱量與熱傳導(dǎo)率值分別為Q=15500,k=14600,將其作為熱量以及熱傳導(dǎo)率的閾值。將該參數(shù)組合代入本文所提算法進(jìn)行計(jì)算,得到每條微博對應(yīng)的熱量Q以及熱傳導(dǎo)率k。
將上一步計(jì)算得到的微博樣本集計(jì)算每兩條微博之間的余弦相似度,相似度大于0.8的微博看作相同的話題,最后得到可能形成輿情的微博集合P。將實(shí)驗(yàn)計(jì)算得到的微博集合P與驗(yàn)證數(shù)據(jù)集比較,計(jì)算得到MPOPTM的各項(xiàng)評價(jià)指標(biāo)。通過訓(xùn)練得到MPOPTM的 參 數(shù) 取 值 為 :x=0.4,y=0.4,z=0.2,TQ=15500,Tc=14600。在測試集上使用該參數(shù)組合測試,得到相應(yīng)的評價(jià)指標(biāo)為P=85.01%,R=86.92%,F(xiàn)1=85.96%。
使用通過網(wǎng)絡(luò)爬蟲所采集2017年4月1日至2017年4月9日共9天總計(jì)8799條微博作為數(shù)據(jù)集。對本文提出的基于熱量模型的微博輿情預(yù)測模型以及話題發(fā)現(xiàn)領(lǐng)域較有代表性的算法TF-IDF和UFITUF[12]算法進(jìn)行了對比實(shí)驗(yàn),用以說明本文所提算法在解決微博輿情發(fā)現(xiàn)問題的有效性,得到如圖2所示的結(jié)果。
圖2 實(shí)驗(yàn)結(jié)果對比
從實(shí)驗(yàn)結(jié)果中可以看出,MPOPTM在準(zhǔn)確率、召回率以及F值上明顯優(yōu)于TF-IDF和UF-IUF模型。實(shí)驗(yàn)表明,MPOPTM能夠在微博輿情形成初期快速地檢測到可能形成輿情的微博。
圖3是從2017年4月1日至4月9日MPOPTM和UF-ITUF模型兩種方法的準(zhǔn)確率分布情況,其中橫軸表示日期,縱軸表示準(zhǔn)確率。從圖上可以看出,本文所提方法的準(zhǔn)確率變化波動較小,檢測結(jié)果相對更加穩(wěn)定。在4月1日以及4月4日這兩天,由于話題數(shù)量較多且較集中,兩種方法的檢測結(jié)果準(zhǔn)確率都相對較低,但是MPOPTM的準(zhǔn)確率下降幅度較小,算法的穩(wěn)定性更高。因?yàn)楸疚氖褂梦⒉┦醉撁咳崭碌?4小時話題排行榜作為驗(yàn)證數(shù)據(jù)集,將其與本文所提方法的最小檢測時間作比較。通過每日隨機(jī)選取20條使用本文所提算法計(jì)算出為可能形成輿情的微博,將該微博出現(xiàn)在微博話題排行榜上的最早時間和微博發(fā)布時間的時間差與使用本文方法能夠檢測出該話題的最小時間窗口作對比。計(jì)算兩種方法的每日平均檢測時間,計(jì)算結(jié)果如圖4所示,其中橫軸表示日期,縱軸表示平均檢測時間。從圖4中可以看出,本文所提方法所需平均檢測時間更少,能夠較微博話題排行榜更快地發(fā)現(xiàn)可能形成輿情的微博,即微博輿情形成初期檢測可能形成輿情的微博,解決了微博輿情發(fā)現(xiàn)的“冷啟動”問題,反映了本文利用熱量模型來檢測微博輿情的思想的有效性以及準(zhǔn)確性。
圖3 準(zhǔn)確率對比
在本文中,我們使用了熱力學(xué)模型進(jìn)行建模來檢測微博輿情。該模型主要著眼于解決現(xiàn)有技術(shù)中的“冷啟動”問題,快速地發(fā)現(xiàn)可能形成與情的微博或剛剛產(chǎn)生的新輿情。在我們的模型中,我們將一條微博看作熱量傳播的介質(zhì),將微博的傳播過程映射為熱量的傳播過程。通過計(jì)算微博在單位時間窗口內(nèi)增加的熱量Q和熱傳導(dǎo)率k,當(dāng)其達(dá)到閾值時,我們認(rèn)為該微博即可能形成新的與情。實(shí)驗(yàn)結(jié)果顯示,該算法不僅能有效的檢測出在微博中廣為流傳的微博輿情,而且也能夠檢測出剛剛產(chǎn)生的新輿情,克服了現(xiàn)有的微博輿情發(fā)現(xiàn)技術(shù)中的“冷啟動”問題。
圖4 平均檢測時間
參考文獻(xiàn):
[1]Rabiner L R.A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition[J].Proceedings of the IEEE,1989,77(2):257-286.
[2]Blei D M,Ng A Y,Jordan M I.Latent Dirichlet Allocation[J].Journal of machine Learning Research,2003,3(Jan):993-1022.
[3]Ritter A,Etzioni O,Clark S.Open Domain Event Extraction from Twitter[C].Proceedings of the 18th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.ACM,2012:1104-1112.
[4]Nip J Y M,Fu K.Networked Framing Between Source Posts and Their Reposts:an Analysis of Public Opinion on China's Microblogs[J].Information,Communication&Society,2016,19(8):1127-1149.
[5]姜曉偉,王建民,丁貴廣.基于主題模型的微博重要話題發(fā)現(xiàn)與排序方法[J].計(jì)算機(jī)研究與發(fā)展,2013,50:179-185.
[6]賀敏,杜攀,張瑾,等.基于動量模型的微博突發(fā)話題檢測方法[J].計(jì)算機(jī)研究與發(fā)展,2015,52(5):1022-1028.
[7]Cui A,Zhang M,Liu Y,et al.Discover Breaking Events with Popular Hashtags in Twitter[C].Proceedings of the 21st ACM International Conference on Information and knowledge management.ACM,2012:1794-1798.
[8]Du Y,He Y,Tian Y,et al.Microblog Bursty Topic Detection Based on User Relationship[C].Information Technology and Artificial Intelligence Conference(ITAIC),2011 6th IEEE Joint International.IEEE,2011,1:260-263.
[9]申國偉,楊武,王巍,等.面向大規(guī)模微博消息流的突發(fā)話題檢測[J].計(jì)算機(jī)研究與發(fā)展,2015,52(2):512-521.
[10]Zhang X,Chen X,Chen Y,et al.Event Detection and Popularity Prediction in Microblogging[J].Neurocomputing,2015,149:1469-1480.
[11]Powers,David M W.Evaluation:From Precision,Recall and F-Measure to ROC,Informedness,Markedness&Correlation(PDF).Journal of Machine Learning Technologies,2(1):37–63.
[12]Zhu M,Hu W,Wu O.Topic Detection and Tracking for Threaded Discussion Communities[C].Web Intelligence and Intelligent Agent Technology,2008.WI-IAT'08.IEEE/WIC/ACM International Conference on.IEEE,2008,1:77-83.
[13]http://www.iweibox.com/
[14]Agresti A,Kateri M.Categorical Data Analysis[M].International Encyclopedia of Statistical Science.Springer Berlin Heidelberg,2011:206-208.