吳新華,欒翠菊
(上海海事大學(xué) 信息工程學(xué)院,上海 201306)
基于微博文本分類的突發(fā)地震事件檢測方法
吳新華,欒翠菊
(上海海事大學(xué) 信息工程學(xué)院,上海 201306)
事件檢測是文本挖掘的一個重要研究方向,以微博文本的突發(fā)地震事件檢測為例做了深入研究。首先分別運用三種經(jīng)典的分類算法來實現(xiàn)突發(fā)地震事件檢測,將檢測結(jié)果進(jìn)行比較,選擇出一種最優(yōu)的分類算法和最適合的特征數(shù)。在此基礎(chǔ)上提出關(guān)鍵詞過濾和時間關(guān)系識別的方法將錯分的實例進(jìn)行再分類來提高檢測結(jié)果。實驗表明該方法的檢測結(jié)果與僅采用經(jīng)典分類算法相比F1值提高了5.3%。
事件檢測;文本分類;關(guān)鍵字過濾;時間關(guān)系識別關(guān)鍵詞
地震會造成嚴(yán)重的經(jīng)濟(jì)損失和人員傷亡,對人類生命財產(chǎn)安全有著極大的威脅。中國是一個地震災(zāi)害嚴(yán)重的國家,提高應(yīng)對突發(fā)地震災(zāi)害的能力成為當(dāng)務(wù)之急,而震后快速準(zhǔn)確地檢測災(zāi)情信息是地震應(yīng)急工作的關(guān)鍵。通常地震發(fā)生后,在震區(qū)的民眾希望可以第一時間得到災(zāi)情信息。由于互聯(lián)網(wǎng)的快速發(fā)展,微博等社交媒體平臺在輿情分析、觀點挖掘突發(fā)事件檢測等領(lǐng)域起到了重要作用,已成為災(zāi)害信息管理過程中的重要信息來源和溝通媒介。由于微博廣泛的公眾參與性和實時性,在震后災(zāi)情提取中表現(xiàn)出良好的應(yīng)用前景。鑒于此,通過新浪微博平臺,利用文本挖掘技術(shù),研究一種高效的地震事件檢測方法,將有效提高對地震災(zāi)害的應(yīng)急管理能力。
近年來,國外針對Twitter的突發(fā)事件檢測[1-2]研究已取得了一定的成果。文獻(xiàn)[3]提出了基于Twitter的實時地震監(jiān)控系統(tǒng);文獻(xiàn)[4]通過調(diào)查150萬個推特消息,結(jié)果表明Twitter的數(shù)據(jù)可以被用來作為一個有用的資源跟蹤受自然災(zāi)害影響的公眾情緒,以及一個早期預(yù)警系統(tǒng)。
國內(nèi)關(guān)于利用社交媒體檢測地震的研究甚少,大多偏向研究文本聚類[5-7]的突發(fā)話題檢測技術(shù)。聚類目標(biāo)是把相似的東西聚到一起,不關(guān)注具體類別。而分類的目標(biāo)明確,將未知的數(shù)據(jù)分到已有的類別中。微博文本的突發(fā)地震事件檢測要識別出突發(fā)地震的文本,判斷一條微博是否屬于突發(fā)地震事件的類別。因此采用分類的方法來實現(xiàn)更加有效。
白華[8]利用文本分類技術(shù)進(jìn)行災(zāi)害事件探討中,實現(xiàn)了地震災(zāi)害的爆發(fā)檢測,研究過程中主要討論了4種常見的文本分類算法。分別應(yīng)用分類算法進(jìn)行分類,最后得出支持向量機(jī)表現(xiàn)最優(yōu),F(xiàn)1值達(dá)到了0.890。基于此,本文應(yīng)用文本分類來實現(xiàn)突發(fā)地震事件檢測,在此基礎(chǔ)上提出關(guān)鍵詞過濾和時間關(guān)系識別來提高檢測結(jié)果。
本文研究主要概括為兩個部分:文本分類與基于關(guān)鍵詞過濾和時間關(guān)系識別的再分類。首先分別運用三種經(jīng)典的分類算法來實現(xiàn)突發(fā)地震事件檢測,將檢測結(jié)果進(jìn)行比較,選擇一種最優(yōu)的分類算法和最適合的特征數(shù)。在此基礎(chǔ)上提出關(guān)鍵詞過濾和時間關(guān)系識別的方法進(jìn)行再分類來提高檢測結(jié)果。系統(tǒng)框架圖如圖1所示。下面將詳細(xì)描述文本分類和再分類的具體過程。
圖1 突發(fā)地震事件檢測框架圖
2.1文本分類
實驗主要通過調(diào)用數(shù)據(jù)挖掘工具weka接口編程實現(xiàn),分別運用三種經(jīng)典的文本分類算法:決策樹[9](J48)、支持向量機(jī)[10-11](SMO)和樸素貝葉斯多項式模型[12](NaiveBayesMultinomial),這三種方法均在傳統(tǒng)文本分類領(lǐng)域中取得了很好的分類效果。
2.1.1數(shù)據(jù)集
數(shù)據(jù)的獲取是通過在微博搜索頁面設(shè)置關(guān)鍵字“地震”和“震中”查詢地震有關(guān)的微博,并對頁面進(jìn)行解析來爬取微博文本和微博發(fā)表的時間,經(jīng)過去重后實驗數(shù)據(jù)總數(shù)為1 368條,分別為2016-9-9~2016-12-22日之間與地震相關(guān)的微博文本。在這個數(shù)據(jù)集上進(jìn)行人工標(biāo)注,將描述突發(fā)地震事件的微博數(shù)據(jù)標(biāo)為正類positive,其他標(biāo)為負(fù)類negative。標(biāo)注后正類數(shù)據(jù)703條,負(fù)類數(shù)據(jù)665條。至此,突發(fā)地震事件的檢測問題就轉(zhuǎn)化為二值分類問題。正負(fù)類示例數(shù)據(jù)如下表1所示。
表1 正負(fù)類示例數(shù)據(jù)表
2.1.2數(shù)據(jù)預(yù)處理
本文的數(shù)據(jù)預(yù)處理包括兩部分,首先對微博文本分詞,其次通過weka實現(xiàn)微博文本的向量空間的轉(zhuǎn)換。
(1)中文分詞。采用中科院提供的NLPIR漢語分詞系統(tǒng)并根據(jù)本次實驗中地震數(shù)據(jù)的特點建立用戶詞典進(jìn)行中文分詞,用戶詞典包含“防震減災(zāi)”、“地震活動盤點”等地震領(lǐng)域詞匯,同時去掉微博文本中“@用戶名”這樣的內(nèi)容。
(2)文本表示。通過weka平臺StringToWordVecter過濾器將微博文本轉(zhuǎn)換成向量空間模型,權(quán)重計算采用TFIDF算法。
2.1.3特征選擇
構(gòu)成文本的詞匯數(shù)量越大表示向量空間的特征維度越大,為了提高分類效率和減小計算復(fù)雜度而又不影響分類的效果,需要對類別影響大的重要特征進(jìn)行特征選擇。實驗中文本數(shù)據(jù)總特征數(shù)是1 653,分別取400、700、1 000、1 300、1 600五種數(shù)量的特征數(shù)進(jìn)行分類比較。本文采用信息增益進(jìn)行特征選擇。在信息增益中,重要性的衡量標(biāo)準(zhǔn)就是看特征能夠為分類系統(tǒng)帶來多少信息,帶來的信息越多,該特征越重要。如式(1):
IG(wi,cj)=H(C)-H(C|wi)
(1)
2.1.4分類
分別運用三種經(jīng)典的分類算法:決策樹、支持向量機(jī)和樸素貝葉斯多項式模型進(jìn)行分類,并分別取不同的特征數(shù)目,觀察不同特征數(shù)對分類算法的影響,找出一種最優(yōu)分類算法和最合適的特征數(shù)組合,以此作為改進(jìn)的基礎(chǔ)。
在二值分類問題中,分類結(jié)果有四種情況:將正類預(yù)測為正類(TP)、將負(fù)類預(yù)測為負(fù)類(TN)、將正類預(yù)測為負(fù)類(FN)和將負(fù)類預(yù)測為正類(FP)。
對分類算法性能的評估方法通常按照以下3個指標(biāo):準(zhǔn)確率P=TP(TP+FP)、召回率R=TP/(TP+FN)、F1值F1=2TP/(2TP+FP+FN)。
圖2是通過十折交叉驗證取平均值算出的不同算法不同特征數(shù)對分類性能的影響指標(biāo)。通過圖2可以看出,表現(xiàn)最好的是Naive Bayes Multinomial特征算法在數(shù)為1 300和1 600時,它們的F1值都達(dá)到0.859。因此下一步將采用Naive Bayes Multinomial特征數(shù)為1 300作為分類基礎(chǔ)進(jìn)行分類改進(jìn)并比較。
圖2 分類性能評估表
2.2基于關(guān)鍵詞過濾和時間關(guān)系識別的再分類
通過經(jīng)典分類算法檢測得出4種情況,其中分錯的情況是將正類預(yù)測為負(fù)類(FN)和將負(fù)類預(yù)測為正類(FP)。預(yù)測錯誤的兩類數(shù)據(jù)示例如表2所示。
表2 預(yù)測錯誤數(shù)據(jù)示例表
再分類的思想是盡量降低錯誤率,而這兩類數(shù)據(jù)均有各自特點,通過這些特點把預(yù)測錯誤數(shù)據(jù)重新歸為正確類別中。正類預(yù)測為負(fù)類的數(shù)據(jù)中大部分是描述剛發(fā)生的地震,含有“剛剛地震”、“?小時前地震”等兩個關(guān)鍵詞的組合,根據(jù)這些數(shù)據(jù)特點,提出關(guān)鍵詞過濾的方法來糾正錯誤分類的數(shù)據(jù)。負(fù)類預(yù)測為正類的數(shù)據(jù),該類微博數(shù)據(jù)是描述地震知識、防災(zāi)預(yù)警、描述歷史地震等,其大部分含有“演習(xí)”、“防震減災(zāi)”、“悼念”等關(guān)鍵詞,描述歷史地震的微博中帶有時間詞的特點。根據(jù)這些數(shù)據(jù)的特征,先通過關(guān)鍵詞過濾糾正,之后剩下的微博通過識別微博文本中所描述事件的時間并與微博發(fā)表的時間對比,以此判斷是否為突發(fā)事件。
2.2.1將正類預(yù)測為負(fù)類的數(shù)據(jù)糾正
首先根據(jù)這些數(shù)據(jù)的特征,建立一個正類關(guān)鍵詞詞典KeyP,用來糾正被錯誤分類的含有正類關(guān)鍵詞的微博數(shù)據(jù),將其歸為正類。正類關(guān)鍵詞詞典示例表如下表3所示。
但是,這兩個關(guān)鍵詞在微博文本中出現(xiàn)的位置不一定是相鄰的,因此在建立正類關(guān)鍵詞詞典之后再利用集合的包含關(guān)系進(jìn)行判斷微博中是否包含組合關(guān)鍵詞,方法是把整個的預(yù)測錯誤的微博數(shù)據(jù)看作一個大的文本集Text,每一條分完詞的微博看作一個小集合Texti,集合的元素是該條微博中的每一個詞,即Texti=(w1,w2,…,wn),再把正類關(guān)鍵詞詞典中每一組關(guān)鍵詞看作一個集合KeyPxj={kx,k},如果微博數(shù)據(jù)Texti中包含任意一個關(guān)鍵詞集合KeyPj,即Texti?KeyPj,則認(rèn)為該條數(shù)據(jù)是描述突發(fā)地震事件并將其糾正為正類。
2.2.2將負(fù)類預(yù)測為正類的數(shù)據(jù)糾正
先通過關(guān)鍵詞過濾糾正,建立一個負(fù)類關(guān)鍵詞詞典KeyN,將負(fù)類預(yù)測為正類的數(shù)據(jù)經(jīng)過負(fù)類關(guān)鍵詞詞典過濾一遍,如果數(shù)據(jù)中含有詞典中的任意關(guān)鍵詞就把該數(shù)據(jù)歸為負(fù)類。負(fù)類關(guān)鍵詞詞典示例如表4所示。
表4 負(fù)類關(guān)鍵詞詞典示例表
在經(jīng)過負(fù)類關(guān)鍵詞詞典過濾后未能成功糾正的數(shù)據(jù)中,雖然不含有負(fù)類關(guān)鍵詞,但大部分具有時間詞的特征。因此,可以通過識別微博文本中事件的時間關(guān)系[13-14]并與微博發(fā)表的時間對比來確定是否為突發(fā)事件。這些數(shù)據(jù)大部分是描述以前發(fā)生的地震事件,且這些數(shù)據(jù)中時間關(guān)系描述得比較簡單規(guī)范,大部分都有出現(xiàn)“?年?月?日”,因此利用正則表達(dá)式進(jìn)行時間匹配識別。用于匹配的正則表達(dá)式是“Pat =(\d{4}年)?(\d{1,2}月)?(\d{1,2}日)?”。匹配出了時間再與微博的發(fā)表時間作減法比較,時間間隔小于三天則認(rèn)為是突發(fā)地震事件,否則不是。如果微博中只出現(xiàn)“?年”則只與微博發(fā)表的年份比較,如果微博中只出現(xiàn)“?月日”則只與微博發(fā)表的月日作比較,“?月”和“?日”同理。
2.2.3再分類算法
綜上,具體的再分類過程如算法1所示。
算法1再分類過程算法
Procedure Reclassification
Input: label ← Texti中標(biāo)記的分類標(biāo)簽;prelabel ← 分類預(yù)測的標(biāo)簽
Output:通過再分類的微博文本Text
Preliminary: prelabel<>label
1 FOR i = 0 to len[Text]-1
2 DO Texti←Text[i]
3 IF label=“positive”THEN
4 IF Texti?KeyPj THEN
5 prelabel←“positive”;
6 ELSE IF Texti?KeyNj THEN
7 prelabel←“negative”
8 ELSE publish_t←查找微博發(fā)表時間“date:”
9 Texti _ t←Pat = (\d{4}年)?(\d{1,2}月)?(\d{1,2}日)?
10 IF publish_t - Texti _ t>3 THEN
11 prelable←“negative”;
12 END IF
13 END IF
14 END FOR
15 RETURN prelable;
END Reclassification
采用Naive Bayes Multinomial特征數(shù)1 300作為分類基礎(chǔ),進(jìn)行再分類改進(jìn)得出的結(jié)果與單純使用Naive Bayes Multinomial特征數(shù)1 300得到的結(jié)果進(jìn)行對比,如表5所示,F(xiàn)1值提高了5.3%,證明通過關(guān)鍵詞過濾和時間關(guān)系識別的再分類得到了更好的突發(fā)地震事件檢測效果。圖3給出了用weka繪制改進(jìn)前和改進(jìn)后的方法評估ROC曲線圖,從圖中可以明顯看出改進(jìn)后(上面)的分類效果要比改進(jìn)前(下面)的效果好,即通過關(guān)鍵詞過濾和時間關(guān)系識別的方法提高了微博文本突發(fā)地震事件的檢測效率。
表5 改進(jìn)前改進(jìn)后結(jié)果對比表
圖3 ROC曲線圖
通過關(guān)鍵詞過濾和時間關(guān)系識別來進(jìn)行再分類的檢測結(jié)果中F1值達(dá)到0.912,與文獻(xiàn)[8]中僅采用經(jīng)典分類算法得到的結(jié)果“支持向量機(jī)表現(xiàn)最優(yōu)F1值達(dá)到了0.890”相比,F(xiàn)1值有提高。
通過關(guān)鍵詞過濾和時間關(guān)系識別進(jìn)行再分類后F1值提高了5.3%,這對于地震災(zāi)情信息的獲取和應(yīng)急管理有很大幫助。但這種方法做得還不夠完善:(1)正負(fù)關(guān)鍵詞詞典還不夠完整,收錄的僅僅是本次實驗中用到的數(shù)據(jù)集中的一些特征詞,需要從更多的數(shù)據(jù)中發(fā)現(xiàn)新詞來擴(kuò)充詞典;(2)關(guān)鍵詞過濾的方法考慮得過于簡單,例如微博文本中出現(xiàn)關(guān)鍵詞“夢到地震”就認(rèn)為該條微博不是描述突
發(fā)地震事件,但是“夢到地震,醒來真的地震了,衣柜和床都在晃動”卻是在描述突發(fā)的地震事件,對于這種情況,以后將考慮深層的語義分析;(3)本次實驗的時間關(guān)系識別是簡單的通過正則匹配來實現(xiàn)的,如果文本中出現(xiàn)了兩個事件的時間詞將默認(rèn)匹配第一個,這也導(dǎo)致少量的一些具有多個時間詞的數(shù)據(jù)分類結(jié)果不可信,未來將從事件抽取的角度出發(fā)去找出描述地震事件的時間詞。
[1] ATEFEH F, KHREICH W. A survey of techniques for event detection in twitter[J]. Computational Intelligence, 2015,31(1): 132-164.
[2] LI R, LEI K H, KHADIWALA R, et al. TEDAS: a twitter-based event detection and analysis system[J]. 2012 IEEE 28th International Conference on Data Engineering,2012, 41(4):1273-1276.
[3] SAKAKI T, OKAZAKI M, MATSUO Y. Earthquake shake twitter users:real-time event detection by social sensors[C]. The 19th International Conference on World Wide Web, WWW’10.New York, ACM2010: 851-860.
[4] DOAN S, VO B K H, COLLIER N. An analysis of twitter messages in the 2011 tohoku earthquake[J]. Computer Science, 2011, 91: 58-66.
[5] 高永兵,郭文彥,周環(huán)宇,等.基于K-means的私人微博聚類算法改進(jìn)[J].微型機(jī)與應(yīng)用, 2014,33(14): 78-81.
[6] 王勇,肖詩斌,郭跇秀,等.中文微博突發(fā)事件檢測研究[J]. 現(xiàn)代圖書情報技術(shù), 2013, 230(2): 57-62.
[7] 郭跇秀,呂學(xué)強(qiáng),李卓.基于突發(fā)詞聚類的微博突發(fā)事件檢測方法[J].計算機(jī)應(yīng)用, 2014, 34(2): 486-505.
[8] 白華,林勛國. 基于中文短文本分類的社交媒體災(zāi)害事件檢測系統(tǒng)研究[J]. 災(zāi)害學(xué), 2016,31(2): 19-23.
[9] ROKACH L, MAIMON O. Data mining with decision trees: theory and applications(2nd Edition)[M]. World Scientific, 2014.
[10] BY C J. Burges a tutorial on support vector machines for pattern recognition[J]. Data Mining & Knowledge Discovery, 2010, 2(2): 121-167.
[11] FLAKE G W, LAWRENCE S. Efficient SVM regression training with SMO[J]. Machine Learning, 2002, 46(1): 271-290.
[12] BERMEJO P, GMEZ J A, PUERTA J M. Improving the performance of Naive Bayes multinomial in e-mail foldering by introducing distribution-based balance of datasets[J]. Expert Systems with Applications, 2011, 38(3): 2072-2080.
[13] 譚紅葉,鄭家恒,梁吉業(yè).時間關(guān)系識別研究進(jìn)展[J].中文信息學(xué)報, 2011, 25(5):44-52.
[14] 王風(fēng)娥, 譚紅葉, 錢揖麗. 基于最大熵的句內(nèi)時間關(guān)系識別[J]. 計算機(jī)工程, 2012, 38(4): 37-39.
A method for detecting sudden earthquake events based on micro-blog text classification
Wu Xinhua, Luan Cuiju
(Department of Information Engineering, Shanghai Maritime University, Shanghai 201306, China)
Event detection is one of the most important research fields in text mining, and an in-depth study is carried out in the case of micro-blog. First, used three kinds of classical classification algorithms to detection the sudden earthquake events, and the results were compared, selected an optimal classification algorithm and the most suitable number of features. Then, basis of this, put forward the method of keyword filtering and temporal relation recognition to classify the wrong examples to improve the detection results. Experimental results show that the proposed method can improve theF1value by 5.3% compared with the classical classification algorithm.
event detection; text categorization; keyword filtering; temporal relation recognition
TP18
A
10.19358/j.issn.1674- 7720.2017.19.017
吳新華,欒翠菊.基于微博文本分類的突發(fā)地震事件檢測方法[J].微型機(jī)與應(yīng)用,2017,36(19):58-61,65.
2017-04-10)
吳新華(1992-),通信作者,女,碩士,主要研究方向:數(shù)據(jù)挖掘、自然語言處理。E-mail: alicewoo_hi@163.com。欒翠菊(1974-),女, 博士, 副教授,主要研究方向:智能決策、數(shù)據(jù)挖掘等。