李艷紅,趙宏偉,王素格,李德玉
(1.山西大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院,太原 030006;2.計(jì)算智能與中文信息處理教育部重點(diǎn)實(shí)驗(yàn)室(山西大學(xué)),太原 030006)
(?通信作者電子郵箱liyh@sxu.edu.cn)
近年來(lái),社交媒體如Twitter和新浪微博,已經(jīng)是人們了解信息資訊、探討社會(huì)問(wèn)題的主要平臺(tái),根據(jù)Twitter 發(fā)布的2019 年第四季度財(cái)報(bào)顯示,Twitter 日活躍用戶(hù)增加了700 萬(wàn)人,達(dá)到1.52 億人;根據(jù)新浪微博發(fā)布的用戶(hù)發(fā)展報(bào)告顯示,2019 年第四季度微博月活躍用戶(hù)為5.16 億,同比增長(zhǎng)11.7%。微博受到了越來(lái)越多民眾的歡迎,大家可以享受即時(shí)信息,分享自己的看法,此外信息在微博中迅速?gòu)V泛地傳播,使其成為各類(lèi)突發(fā)話題的第一發(fā)布現(xiàn)場(chǎng)。由于微博信息的高度動(dòng)態(tài)性、交互性、海量性,使民眾在享受服務(wù)便利的同時(shí),也會(huì)面臨新的挑戰(zhàn):微博中非負(fù)面情感突發(fā)話題(如明星慶生、體育賽況等)會(huì)吸引大量的網(wǎng)民關(guān)注,而負(fù)面情感突發(fā)話題(如地震災(zāi)害、疫情傳播等)同樣也會(huì)引發(fā)社會(huì)熱議。傳統(tǒng)的突發(fā)話題檢測(cè)方法并沒(méi)有考慮兩者的區(qū)別,導(dǎo)致檢測(cè)出的突發(fā)話題還需進(jìn)一步判定是否為負(fù)面情感突發(fā)話題,這樣既浪費(fèi)了資源,也不能達(dá)到及時(shí)有效的輿論監(jiān)控。
目前,微博突發(fā)話題檢測(cè)方法主要分為兩類(lèi):以微博文本為中心的方法和以突發(fā)特征為中心的方法。以微博文本為中心的方法首先對(duì)滑動(dòng)窗口中的微博文本聚類(lèi),然后評(píng)估聚類(lèi)結(jié)果的突發(fā)性從而發(fā)現(xiàn)突發(fā)類(lèi),最后從突發(fā)類(lèi)中提取主題詞以表示突發(fā)話題,如:Li 等[1]提出了一種增量時(shí)間主題模型,通過(guò)微博文本流的時(shí)間信息進(jìn)行建模,若當(dāng)前時(shí)間窗口中微博數(shù)量相較于歷史均值顯著增加時(shí),則認(rèn)為存在突發(fā)話題。Diao 等[2]通過(guò)改進(jìn)隱狄利克雷分布(Latent Dirichlet Allocations,LDA)主題模型,綜合考慮了時(shí)間因素和用戶(hù)因素來(lái)發(fā)現(xiàn)微博文本流中的突發(fā)話題。Huang 等[3]首先利用局部加權(quán)線性回歸方法估計(jì)單詞的新穎度和衰減度,然后使用主題模型獲取微博話題,最后將二者相結(jié)合確定主題的突發(fā)度和衰減度,并實(shí)現(xiàn)對(duì)話題的追蹤。Wang 等[4]提出了一種主題級(jí)別的突發(fā)話題檢測(cè)模型,通過(guò)單詞的突發(fā)性以及與其他單詞的共現(xiàn)性來(lái)確定突發(fā)話題。
以突發(fā)特征為中心的方法通過(guò)分析微博流的突發(fā)特征(如主題詞的詞頻、加速度、動(dòng)量、情感特征)的變化來(lái)判斷突發(fā),然后對(duì)具有突發(fā)特征的微博文本進(jìn)行聚類(lèi)從而獲取突發(fā)話題結(jié)構(gòu)。Fung等[5]首次提出了以特征為中心的突發(fā)話題檢測(cè)方法,通過(guò)分析時(shí)間信息和單詞的分布情況來(lái)發(fā)現(xiàn)特征詞,突發(fā)話題由若干特征詞組成。Zhu 等[6]利用主題詞頻的變化率以及對(duì)其變化趨勢(shì)的預(yù)測(cè)發(fā)現(xiàn)突發(fā)話題,由于在主題的提取過(guò)程中加入了時(shí)間和地理位置信息,得以更好地確定突發(fā)內(nèi)容。Xie等[7]提出了TopicSketch 突發(fā)話題檢測(cè)框架,將單詞對(duì)和三元單詞組的加速度作為突發(fā)特征,然后利用草圖模型和張量分解技術(shù)確定突發(fā)話題的主題。Zhang等[8]在文獻(xiàn)[7]的基礎(chǔ)上,提出了一種改進(jìn)的張量分解模型,將聚類(lèi)和模糊集理論加入到模型當(dāng)中,使其過(guò)濾掉普通主題,從而檢測(cè)出突發(fā)話題。Zou 等[9]首先通過(guò)離線構(gòu)建情感共現(xiàn)圖對(duì)微博文本進(jìn)行情感分類(lèi),然后利用Kleinberg 等[10]提出的自動(dòng)機(jī)模型判斷每種情感中的微博文本數(shù)量是否存在突發(fā),最后將具有突發(fā)狀態(tài)的微博主題標(biāo)簽作為突發(fā)話題的關(guān)鍵詞,選擇與其相關(guān)的單詞共同描述突發(fā)話題。Paltoglou 等[11]將與關(guān)鍵詞相關(guān)微博的情感極性相較于歷史情感平均值的變化作為突發(fā)特征發(fā)現(xiàn)突發(fā)話題。張魯民等[12]利用情感符號(hào)模型監(jiān)測(cè)微博流中情感符號(hào)的變化,發(fā)現(xiàn)情感符號(hào)的突發(fā)期,然后通過(guò)啟發(fā)式近鄰傳播(Affiliation Propagation,AP)聚類(lèi)算法得到話題的主題結(jié)構(gòu)。文獻(xiàn)[5-8]在檢測(cè)突發(fā)話題時(shí)沒(méi)有考慮微博的情感特征,文獻(xiàn)[9,11-12]中雖然考慮了微博的情感特征,但在檢測(cè)時(shí)沒(méi)有區(qū)分突發(fā)話題的情感極性。
以微博文本為中心的檢測(cè)方法需先將微博流劃分為多個(gè)滑動(dòng)窗口,并對(duì)窗口中的微博進(jìn)行聚類(lèi),這種檢測(cè)方式不適合實(shí)時(shí)檢測(cè)任務(wù)。以突發(fā)特征為中心的方法重點(diǎn)在于檢測(cè)微博文本流中突發(fā)特征隨時(shí)間的變化,但是以往的工作還存在以下問(wèn)題需要深入研究:1)由于在輿情監(jiān)控中更加關(guān)注負(fù)面情感突發(fā)話題,因此如何有效地區(qū)分負(fù)面情感突發(fā)話題與非負(fù)面情感突發(fā)話題是當(dāng)前需要解決的問(wèn)題。2)已有的檢測(cè)方法通常采用定長(zhǎng)滑動(dòng)窗口技術(shù),滑動(dòng)窗口的大小難以確定,因此勢(shì)必對(duì)突發(fā)話題的檢測(cè)帶來(lái)影響。所以,如何確定突發(fā)話題的范圍也是研究難點(diǎn)之一。
針對(duì)以上問(wèn)題,本文提出了面向微博文本流的負(fù)面情感突發(fā)話題檢測(cè)(Negative Emotion Burst Topic Detection,NEBTD)算法。該算法同時(shí)考慮主題詞對(duì)的加速度和負(fù)面情感強(qiáng)度的變化率進(jìn)行負(fù)面情感突發(fā)話題檢測(cè),并根據(jù)突發(fā)詞對(duì)的速度確定負(fù)面情感突發(fā)話題的持續(xù)范圍,然后使用一種基于吉布斯采樣的狄利克雷多項(xiàng)式混合模型(Gibbs Sampling Dirichlet Multinomial Mixture model,GSDMM)聚類(lèi)算法[13]獲取突發(fā)話題的主題結(jié)構(gòu)。最后通過(guò)與一種已有的基于情感方法的話題檢測(cè)(Emotion-Based Method of Topic Detection,EBM-TD)算法進(jìn)行對(duì)比,結(jié)果表明本文所提算法的準(zhǔn)確率和召回率均有明顯提高,而且可以減少負(fù)面情感突發(fā)話題檢測(cè)的時(shí)間延遲。
在微博文本流中分布著大量話題,這些話題可分為突發(fā)話題和一般話題兩類(lèi)。直觀地,突發(fā)話題區(qū)別于一般話題的特征為:1)微博涌現(xiàn)。突發(fā)話題出現(xiàn)時(shí),在短時(shí)間內(nèi)微博文本流中會(huì)涌現(xiàn)大量的相關(guān)微博;而一般話題沒(méi)有此特征。2)情感增強(qiáng)。突發(fā)話題出現(xiàn)時(shí),在短時(shí)間內(nèi)微博文本的情感強(qiáng)度會(huì)明顯增強(qiáng),特別地,當(dāng)負(fù)面情感突發(fā)話題出現(xiàn)時(shí),會(huì)伴隨著微博文本流負(fù)面情感強(qiáng)度的顯著增強(qiáng)。
圖1 是對(duì)“全國(guó)多地大雪導(dǎo)致交通癱瘓”這一負(fù)面情感突發(fā)話題和“吳亦凡參加快樂(lè)大本營(yíng)”這一非負(fù)面情感突發(fā)話題的主題詞對(duì)數(shù)量變化和負(fù)面情感強(qiáng)度變化的分析結(jié)果??梢园l(fā)現(xiàn),在兩個(gè)話題發(fā)生的早期,主題詞對(duì)數(shù)量在短時(shí)間內(nèi)均有明顯的增多。但由于圖1(a)中的話題引發(fā)了民眾擔(dān)憂(yōu)、焦慮等負(fù)面情感的爆發(fā),所以微博文本流負(fù)面情感強(qiáng)度在短時(shí)間內(nèi)明顯增強(qiáng);而圖1(b)為明星參加綜藝節(jié)目,民眾大多為激動(dòng)、喜愛(ài)的情感,話題的負(fù)面情感強(qiáng)度沒(méi)有發(fā)生明顯的變化。由此可見(jiàn),將主題詞對(duì)加速度和微博文本流負(fù)面情感強(qiáng)度變化率共同作為負(fù)面情感突發(fā)話題的突發(fā)特征是可行的。
圖1 主題詞對(duì)和負(fù)面情感強(qiáng)度分布Fig.1 Distribution of topic word pair and negative emotion intensity
為了檢測(cè)微博文本流中的負(fù)面情感突發(fā)話題,本文提出將主題詞對(duì)的加速度和微博文本流負(fù)面情感強(qiáng)度的變化率作為突發(fā)特征。這是因?yàn)楫?dāng)突發(fā)話題出現(xiàn)時(shí),會(huì)出現(xiàn)“微博涌現(xiàn)”現(xiàn)象,微博中相關(guān)主題詞的速度也會(huì)隨之明顯增高,而速度的變化快慢可以利用“加速度”來(lái)刻畫(huà)。由于主題詞對(duì)相較于單個(gè)主題詞包含更豐富的話題信息,如:(全國(guó),大雪)、(大雪,交通)、(交通,癱瘓),因此,可以將主題詞對(duì)的加速度作為突發(fā)特征之一。此外,當(dāng)負(fù)面情感突發(fā)話題出現(xiàn)時(shí),會(huì)出現(xiàn)“負(fù)面情感增強(qiáng)”現(xiàn)象,微博中帶有負(fù)面情感的情感詞、表情符號(hào)會(huì)明顯增多,因此可以將微博文本流負(fù)面情感強(qiáng)度的變化率作為另一個(gè)突發(fā)特征。
下面依次給出主題詞對(duì)速度、加速度,微博情感強(qiáng)度,微博文本流的負(fù)面情感強(qiáng)度、負(fù)面情感強(qiáng)度變化率定義。
定義1 微博di中主題詞對(duì)(wx,wy)在ti時(shí)刻的速度定義為(wx,wy)在時(shí)間片ΔT內(nèi)的微博出現(xiàn)的平均頻率[7]。表示為:
式中:ΔT是以ti為終止時(shí)間點(diǎn)的時(shí)間片;f j(wx,wy)為微博dj中主題詞對(duì)(wx,wy)的頻率。f j(wx,wy)計(jì)算式為:
定義2主題詞對(duì)(wx,wy)在ti時(shí)刻的加速度通過(guò)以ti為終止時(shí)刻的兩個(gè)時(shí)間片ΔT1、ΔT2所對(duì)應(yīng)的主題詞對(duì)速度的變化快慢來(lái)刻畫(huà)[14]。定義為:
式中:ΔT1< ΔT2。
定義3微博di的情感強(qiáng)度ei,可基于微博中的情感詞三元組(negj,vj,ej)來(lái)計(jì)算[15]。ei的計(jì)算式為:
式中:ne為微博di中情感詞個(gè)數(shù);q(ej)為情感詞ej的情感強(qiáng)度值(-9 ≤q(ej)≤9);g(vj)為程度副詞vj的程度值(-3 ≤g(vj)≤3)。其中q(ej)、g(vj)的值通過(guò)給定的情感詞典和程度副詞詞典確定。
若ei< 0,將微博di定義為負(fù)面情感微博;否則,di定義為非負(fù)面情感微博。
定義4ti時(shí)刻微博文本流的負(fù)面情感強(qiáng)度定義為:
式中:α為ΔT時(shí)間內(nèi),負(fù)面情感微博數(shù)占總微博數(shù)的比值;ej為ΔT時(shí)間內(nèi)所有負(fù)面微博的情感強(qiáng)度值。
定義5ti時(shí)刻微博文本流的負(fù)面情感強(qiáng)度變化率ki,可以通過(guò)以ti為終止時(shí)間點(diǎn)的兩個(gè)時(shí)間片ΔT1和ΔT2所對(duì)應(yīng)的微博文本流負(fù)面情感強(qiáng)度的變化來(lái)刻畫(huà),計(jì)算式為:
式中:ΔT1< ΔT2。
當(dāng)檢測(cè)到微博文本流中主題詞對(duì)的加速度和負(fù)面情感強(qiáng)度變化率均大于特定閾值時(shí),則認(rèn)為出現(xiàn)了負(fù)面情感突發(fā)話題,并稱(chēng)該主題詞對(duì)為突發(fā)詞對(duì)。由于突發(fā)詞對(duì)的速度在一定程度上可以反映突發(fā)話題的受關(guān)注程度,因此將突發(fā)詞對(duì)的速度均不小于某個(gè)閾值的連續(xù)時(shí)間區(qū)間稱(chēng)為突發(fā)詞對(duì)窗口。又由于負(fù)面情感突發(fā)話題的情感傾向會(huì)隨著時(shí)間的推移發(fā)生變化,因此在確定負(fù)面情感突發(fā)話題窗口時(shí)沒(méi)有考慮情感因素。因?yàn)橐粋€(gè)負(fù)面情感突發(fā)話題中往往會(huì)存在多個(gè)突發(fā)詞對(duì)窗口,因此可以通過(guò)合并多個(gè)交叉、重疊或相鄰的突發(fā)詞對(duì)窗口從而得到負(fù)面情感突發(fā)話題窗口。
下面依次給出突發(fā)詞對(duì)、突發(fā)詞對(duì)窗口和負(fù)面情感突發(fā)話題窗口的定義。
定義6若≥ε,則稱(chēng)該主題詞對(duì)(wx,wy)為突發(fā)詞對(duì),記為BPx,y。其中ε為突發(fā)詞對(duì)加速度的閾值。
定義7突發(fā)詞對(duì)BPx,y所對(duì)應(yīng)的突發(fā)詞對(duì)窗口BPWx,y利用該詞對(duì)的速度來(lái)確定,定義為:
定義8突發(fā)詞對(duì)BPx1,y1,BPx2,y2,…,BPxnum,ynum,若存在num個(gè)交叉、重疊或相鄰的突發(fā)詞對(duì)窗口BPWx1,y1,BPWx2,y2,…,BPWxnum,ynum,則對(duì)這些窗口進(jìn)行合并,得到負(fù)面情感突發(fā)話題窗口W,定義為:
本文提出的微博文本流負(fù)面情感突發(fā)話題檢測(cè)框架如圖2所示。該框架主要包括以下三部分:
1)突發(fā)特征識(shí)別。將微博文本流中主題詞對(duì)的加速度和負(fù)面情感強(qiáng)度的變化率共同作為負(fù)面情感突發(fā)話題的突發(fā)特征。當(dāng)有新的微博文本出現(xiàn)時(shí),進(jìn)行突發(fā)特征識(shí)別,即統(tǒng)計(jì)微博中主題詞對(duì)的頻率、刷新主題詞對(duì)速度表,并計(jì)算主題詞對(duì)的加速度;根據(jù)微博中的情感詞三元組計(jì)算微博的情感強(qiáng)度、更新微博情感強(qiáng)度表,并進(jìn)一步得到微博文本流負(fù)面情感強(qiáng)度變化率。若主題詞對(duì)加速度和負(fù)面情感強(qiáng)度變化率均大于給定閾值,則認(rèn)為出現(xiàn)了負(fù)面情感突發(fā)話題,并且相應(yīng)的主題詞對(duì)為突發(fā)詞對(duì)。
2)負(fù)面情感突發(fā)話題窗口確定。針對(duì)每個(gè)發(fā)現(xiàn)的突發(fā)詞對(duì),結(jié)合突發(fā)詞對(duì)的速度來(lái)確定突發(fā)詞對(duì)出現(xiàn)頻繁的區(qū)間,即突發(fā)詞對(duì)窗口。通過(guò)將多個(gè)交叉、重疊或相鄰的突發(fā)詞對(duì)窗口進(jìn)行合并,得到負(fù)面情感突發(fā)話題窗口。
3)負(fù)面情感突發(fā)話題的主題結(jié)構(gòu)獲取。利用基于吉布斯采樣的狄利克雷多項(xiàng)式混合模型(GSDMM)聚類(lèi)算法對(duì)負(fù)面情感突發(fā)話題窗口中的微博文本進(jìn)行聚類(lèi),得到負(fù)面情感突發(fā)話題的主題結(jié)構(gòu)。該聚類(lèi)方法能夠很好地處理稀疏、高維的短文本,而且可以自動(dòng)推斷聚類(lèi)個(gè)數(shù),并快速地收斂。
圖2 負(fù)面情感突發(fā)話題檢測(cè)框架Fig.2 Negative emotion burst topic detection framework
本文設(shè)計(jì)了主題詞對(duì)速度表Z和微博情感強(qiáng)度表E,其中Z為Q*Q數(shù)組,用于保存主題詞對(duì)的速度。Z[x][y]存放的是主題詞對(duì)(wx,wy)的速度和,如圖3所示。
圖3 主題詞對(duì)速度表Fig.3 Speed table of topic word pairs
微博情感強(qiáng)度表E為一維動(dòng)態(tài)變化數(shù)組,用于保存以ti為終止時(shí)刻的ΔT2時(shí)間內(nèi)所有微博的情感強(qiáng)度。
當(dāng)有新的微博文本到達(dá)時(shí),更新表Z和E,并計(jì)算主題詞對(duì)加速度和微博文本流負(fù)面情感強(qiáng)度變化率,以此來(lái)確定是否存在負(fù)面情感突發(fā)話題。
根據(jù)圖2 所示的負(fù)面情感突發(fā)話題檢測(cè)框架,本文設(shè)計(jì)了一種負(fù)面情感突發(fā)話題檢測(cè)(NE-BTD)算法,如算法1所示。
算法1 負(fù)面情感突發(fā)話題檢測(cè)算法。
輸入 微博文本流D,時(shí)間片ΔT1和ΔT2,主題詞對(duì)加速度閾值ε,微博文本流負(fù)面情感強(qiáng)度變化率閾值δ,突發(fā)詞對(duì)速度閾值γ,突發(fā)詞對(duì)合并窗口個(gè)數(shù)閾值m。
輸出 負(fù)面情感突發(fā)話題主題結(jié)構(gòu)。
1)按照D中的時(shí)間戳ti逐條讀取微博,進(jìn)行突發(fā)特征計(jì)算:
2)負(fù)面情感突發(fā)話題窗口確定:根據(jù)定義7,確定突發(fā)詞對(duì)窗口。若存在交叉、重疊或相鄰的突發(fā)詞對(duì)窗口BPWx1,y1,BPWx2,y2,…,BPWxnum,ynum,其中num≥m則合并突發(fā)詞對(duì)窗口,得到負(fù)面情感突發(fā)話題窗口W;否則轉(zhuǎn)到1)。
3)負(fù)面情感突發(fā)話題主題結(jié)構(gòu)確定:利用GSDMM 聚類(lèi)算法對(duì)負(fù)面情感突發(fā)話題窗口W內(nèi)的微博文本進(jìn)行聚類(lèi),得到負(fù)面情感突發(fā)話題主題結(jié)構(gòu)。
本文實(shí)驗(yàn)均在PC 上完成,具體機(jī)器配置如下:CPU 為Intel Core i7-7700 3.6 GHz,內(nèi)存16 GB,Windows 10 操作系統(tǒng),Pycharm開(kāi)發(fā)環(huán)境,Python版本3.5。
目前針對(duì)負(fù)面情感突發(fā)話題檢測(cè)并沒(méi)有標(biāo)準(zhǔn)的數(shù)據(jù)集,因此本文通過(guò)編寫(xiě)爬蟲(chóng)程序從新浪微博網(wǎng)站(www.weibo.com)爬取了從2019 年12 月23 日到2020 年1 月23 日期間32萬(wàn)余條微博。
針對(duì)本文的任務(wù)需要,對(duì)爬取到的微博數(shù)據(jù)進(jìn)行處理,保留微博的發(fā)布時(shí)間和內(nèi)容信息,形成微博文本流。在實(shí)驗(yàn)前對(duì)微博文本流進(jìn)行預(yù)處理,首先刪除微博內(nèi)容中的噪聲(如@×××、URL 鏈接),并將文本內(nèi)容中詞數(shù)小于3 的微博刪除,然后利用哈爾濱工業(yè)大學(xué)研發(fā)的語(yǔ)言技術(shù)平臺(tái)(Language Technology Platform,LTP)中文分詞工具,對(duì)微博文本進(jìn)行分詞、詞性標(biāo)注、去除停用詞操作,得到了30 余萬(wàn)條微博數(shù)據(jù)。經(jīng)過(guò)對(duì)微博數(shù)據(jù)進(jìn)行人工標(biāo)注,共得到突發(fā)話題48 個(gè),其中負(fù)面情感突發(fā)話題有28 個(gè)。在實(shí)驗(yàn)中將上述30 余萬(wàn)條微博數(shù)據(jù)劃分為三部分,具體的數(shù)據(jù)描述如表1 所示。本實(shí)驗(yàn)所用的情感詞典是在大連理工大學(xué)徐琳宏等[16]構(gòu)造的情感詞典的基礎(chǔ)上,加入了人工收集的網(wǎng)絡(luò)流行語(yǔ)、表情符號(hào)等,情感詞典規(guī)模從原有的27 467個(gè)情感詞擴(kuò)充到現(xiàn)在的30 035個(gè)情感詞。
表1 數(shù)據(jù)描述Tab.1 Data description
本文使用準(zhǔn)確率(P)、召回率(R)、F1 值來(lái)評(píng)價(jià)算法的性能,并在上述三個(gè)數(shù)據(jù)集上進(jìn)行對(duì)比實(shí)驗(yàn)。P、R、F1值的計(jì)算公式為:
其中:Right_topic為算法檢測(cè)正確的負(fù)面情感突發(fā)話題數(shù)量;All_topic為算法檢測(cè)到的負(fù)面情感突發(fā)話題數(shù)量;lable_topic為標(biāo)注的負(fù)面情感突發(fā)話題數(shù)量。
本文提出的NE-BTD 算法參數(shù)取值為:主題詞對(duì)加速度閾值ε=0.15,微博文本流負(fù)面情感強(qiáng)度變化率閾值δ=0.20、突發(fā)詞對(duì)速度閾值γ=3.0,ΔT1=15 min,ΔT2=30 min,突發(fā)詞對(duì)窗口合并閾值m=4。目前針對(duì)負(fù)面情感突發(fā)話題的檢測(cè)算法,如文獻(xiàn)[17]提出的一種基于情感方法的話題檢測(cè)(EBM-TD)算法,該算法使用定長(zhǎng)滑動(dòng)窗口內(nèi)的主題詞頻增長(zhǎng)速率,并結(jié)合負(fù)面情感對(duì)主題詞頻加權(quán)來(lái)篩選突發(fā)詞。EBM-TD 算法的參數(shù)取值為:定長(zhǎng)滑動(dòng)窗口長(zhǎng)度為3 h,突發(fā)詞判定閾值0.3,突發(fā)詞聚類(lèi)閾值0.25。
圖4 為本文提出的NE-BTD 算法與EBM-TD 算法在三個(gè)數(shù)據(jù)集上檢測(cè)負(fù)面情感突發(fā)話題的P、R 和F1值的對(duì)比結(jié)果。由圖4 可知,本文所提出的NE-BTD 算法相較于EBM-TD 算法在三個(gè)數(shù)據(jù)集上,其準(zhǔn)確率、召回率、F1 值均有明顯提高。通過(guò)對(duì)實(shí)驗(yàn)數(shù)據(jù)中所有話題的持續(xù)時(shí)間、情感傾向,以及兩種算法檢出突發(fā)話題的情況分析,結(jié)果如表2 所示,可知EBM-TD算法雖然考慮了負(fù)面情感因素,但只是將其作為主題詞的權(quán)重,不能單獨(dú)作為判定負(fù)面情感突發(fā)話題的依據(jù),以至于會(huì)將部分主題詞頻變化率高的非負(fù)面情感突發(fā)話題誤認(rèn)為是負(fù)面情感突發(fā)話題(如吳亦凡參加快樂(lè)大本營(yíng)),從而導(dǎo)致檢測(cè)準(zhǔn)確率的降低。又因?yàn)镋BM-TD 算法采用定長(zhǎng)滑動(dòng)窗口的方法,窗口可能會(huì)將話題切分開(kāi),使得主題詞頻變化率達(dá)不到閾值而將突發(fā)話題遺漏,如“女乘客辱罵滴滴司機(jī)”,該突發(fā)話題從10:00 持續(xù)到12:00,而EBM-TD 算法中兩個(gè)定長(zhǎng)滑動(dòng)窗口分別為8:00—11:00、11:00—14:00,由于話題被窗口切分,主題詞頻變化率沒(méi)有達(dá)到閾值,所以未能檢測(cè)到這一突發(fā)話題,從而導(dǎo)致召回率的降低。而本文所提出的NE-BTD 算法根據(jù)每一條微博信息實(shí)時(shí)計(jì)算突發(fā)特征,其中主題詞對(duì)加速度能夠?qū)⒁话阍掝}過(guò)濾掉,負(fù)面情感強(qiáng)度變化率能夠有效地發(fā)現(xiàn)突發(fā)話題中負(fù)面情感突發(fā)話題。
圖4 兩種檢測(cè)算法的P、R、F1值Fig.4 P,R,F(xiàn)1 values of two detection algorithms
表2 部分話題持續(xù)時(shí)間及被檢出情況Tab.2 Duration and detected status of some topics
為了評(píng)價(jià)NE-BTD 算法檢測(cè)負(fù)面情感突發(fā)話題的時(shí)效性,比較了NE-BTD、EBM-TD 兩種算法檢出同一負(fù)面情感突發(fā)話題的時(shí)間,如圖5所示。
圖5 為五個(gè)負(fù)面情感突發(fā)話題每分鐘相關(guān)話題微博數(shù)隨時(shí)間變化的情況,以及兩種算法檢出負(fù)面情感突發(fā)話題的時(shí)間。由圖5 可知,本文提出的NE-BTD 算法相較于EBM-TD 算法至少提前40 min檢出負(fù)面情感突發(fā)話題,這是因?yàn)椋罕疚乃惴▽?shí)時(shí)進(jìn)行主題詞對(duì)加速度、微博文本流負(fù)面情感強(qiáng)度變化率的計(jì)算,當(dāng)加速度和變化率均達(dá)到閾值時(shí)則認(rèn)為存在負(fù)面情感突發(fā)話題;而EBM-TD 算法由于采用定長(zhǎng)滑動(dòng)窗口的方法,要比較當(dāng)前窗口和歷史窗口主題詞頻的變化情況,所以只有當(dāng)滑動(dòng)窗口結(jié)束后才進(jìn)行主題詞頻的分析,以至于其檢測(cè)出負(fù)面情感突發(fā)話題的時(shí)間滯后。
在表3 中列舉了3 個(gè)負(fù)面情感突發(fā)話題,以及EBM-TD 算法檢測(cè)出的突發(fā)詞和NE-BTD 算法檢測(cè)出的突發(fā)詞對(duì)。為獲取負(fù)面情感突發(fā)話題的主題結(jié)構(gòu),本文采用GSDMM 聚類(lèi)算法對(duì)負(fù)面情感突發(fā)話題窗口中的微博文本聚類(lèi)。以“春運(yùn)首日火車(chē)票購(gòu)買(mǎi)困難”這一負(fù)面情感突發(fā)話題為例,NE-BTD 算法檢測(cè)出了四個(gè)突發(fā)詞對(duì),將交叉、重疊或相鄰的突發(fā)詞對(duì)窗口合并得到負(fù)面情感突發(fā)話題窗口,通過(guò)對(duì)窗口中的微博文本聚類(lèi)分析,得到該話題的兩個(gè)主題結(jié)構(gòu),分別為:1)關(guān)于春運(yùn)首日,民眾購(gòu)買(mǎi)火車(chē)票困難的討論;2)民眾對(duì)于12306 購(gòu)票軟件候補(bǔ)功能的討論。
圖5 兩種算法檢出同一負(fù)面情感突發(fā)話題的時(shí)間對(duì)比Fig.5 Time comparison of two algorithms on detecting same negative emotion burst topic
表3 負(fù)面情感突發(fā)話題主題結(jié)構(gòu)Tab.3 Topic structures of negative emotion burst topics
為分析不同的突發(fā)詞對(duì)加速度閾值ε、微博文本流的負(fù)面情感強(qiáng)度變化率閾值δ,對(duì)本文所提出的NE-BTD 算法的準(zhǔn)確率、召回率、F1 值的影響,在FT_DATA、ST_DATA、TT_DATA三個(gè)數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn)。
本文設(shè)置突發(fā)詞對(duì)加速度閾值ε為0.10~0.20、微博文本流的負(fù)面情感強(qiáng)度變化率閾值δ為0.15~0.30進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表4所示。
由表4 可知,當(dāng)ε值一定時(shí),隨著δ值的增大,算法的召回率下降,這是因?yàn)殡S著δ值的增大,會(huì)將部分負(fù)面情感強(qiáng)度變化率低的負(fù)面情感突發(fā)話題過(guò)濾掉,導(dǎo)致算法的召回率下降。通過(guò)比較數(shù)據(jù)可知,當(dāng)ε為0.15、δ為0.20 時(shí),在三組數(shù)據(jù)中的效果最優(yōu),算法的準(zhǔn)確率保持在80%以上,召回率保持在88%以上。
表4 ε一定,不同δ對(duì)算法P、R、F1的影響Tab.4 Under same ε,different δ influence on P,R,F(xiàn)1 of algorithm
本文針對(duì)如何及時(shí)有效地檢測(cè)出微博文本流中負(fù)面情感突發(fā)話題的問(wèn)題,提出了一種面向微博文本流的負(fù)面情感突發(fā)話題檢測(cè)算法,該算法通過(guò)檢測(cè)主題詞對(duì)速度、加速度來(lái)發(fā)現(xiàn)突發(fā)話題,通過(guò)檢測(cè)微博情感強(qiáng)度、微博文本流的負(fù)面情感強(qiáng)度、負(fù)面情感強(qiáng)度變化率將負(fù)面情感突發(fā)話題與非負(fù)面情感突發(fā)話題區(qū)分開(kāi)來(lái)。本文利用突發(fā)詞對(duì)速度確定負(fù)面情感突發(fā)話題的窗口范圍,有效解決了傳統(tǒng)檢測(cè)方法中滑動(dòng)窗口難以確定的問(wèn)題,最后采用GSDMM 聚類(lèi)算法對(duì)負(fù)面情感突發(fā)話題窗口內(nèi)的微博文本進(jìn)行聚類(lèi),得到負(fù)面情感突發(fā)話題的主題結(jié)構(gòu),并在實(shí)驗(yàn)中驗(yàn)證了本文所提算法的有效性。在未來(lái)的工作中,我們將針對(duì)參數(shù)的取值進(jìn)行深入研究使其更加精準(zhǔn)有效,此外負(fù)面情感突發(fā)話題的演化、漂移問(wèn)題,也是我們接下來(lái)研究工作的重點(diǎn)。