李 忠, 楊百一, 李 瑩, 李曉麗
(防災科技學院應急管理學院, 廊坊 065201)
自然災害事件具有緊急性和突發(fā)性的特點,往往會造成人員傷亡和社會經(jīng)濟的巨大損失。正因為如此,在巨災發(fā)生時,如何快速、有序、高效、準確地收集災情信息是迫切需要解決的問題。社交媒體作為在災難響應和恢復階段的重要部分,及時響應受害者的請求可以極大提高受害者的生存概率[1]。目前已經(jīng)有很多研究人員運用災難中社交媒體發(fā)布的數(shù)據(jù)來獲取災區(qū)的情況,但往往會存在信息獲取能力不足的問題,包括不能全方位多角度地獲取信息和信息關(guān)聯(lián)能力不強,不能對收集上來的信息做出準確的劃分,以至于錯失許多關(guān)鍵信息[2]。社交媒體可以收集大量與災情有關(guān)的信息,可以幫助應急管理人員面對不同規(guī)模、范圍和性質(zhì)的災情。但是,關(guān)鍵信息的錯誤傳遞,可能會導致救援效率降低。如何指定有效的信息傳遞戰(zhàn)略,是目前亟待解決的問題。為此中外人員針對社交應急響應數(shù)據(jù)作了相關(guān)研究。國外研究人員主要在推特上收集災難響應數(shù)據(jù),及時發(fā)現(xiàn)災區(qū)情況,如Zahra等[3]利用在推特上收集的信息,以識別災害發(fā)生后的目擊者類別為目的建立文本分類器,以此來提高在災難中識別具有價值的目擊者報告;Benitez等[4]通過推特收集與災害相關(guān)的信息對文本進行分類,針對數(shù)據(jù)量大、分類精度低等問題,利用遺傳算法降低特征空間的維數(shù),去除不相關(guān)的、冗余的特征以此來提高分類精度。中國研究人員主要以微博數(shù)據(jù)為依據(jù),通過收集相關(guān)的災難響應數(shù)據(jù),進行文本分類以達到了解災區(qū)災情的目的。吳先華等[5]通過微博大數(shù)據(jù)獲取有關(guān)暴雨內(nèi)澇災情的數(shù)據(jù),利用TF-IDF(term frequency-inverse document frequency)進行特征選擇,建立暴雨災情內(nèi)澇表,以此來獲取災區(qū)的災情以及公眾情緒。徐敬海等[6]以帶有位置的地震災情信息作為數(shù)據(jù)源,通過應用反距離空間差值法,實現(xiàn)微博災情信息面狀化。王琳等[7]針對地震應急信息,通過“關(guān)鍵詞分類”將地震應急信息分為震前基礎信息、震中災情信息和應急援助信息,以達到地震應急信息自動分類的目的,提高對應急響應信息處理的效率。
雖然上述方法可以實現(xiàn)在大量災難響應信息中獲取關(guān)鍵內(nèi)容,但同一條災難響應消息可能存在多個標簽。如何從一條相關(guān)災難響應的社交媒體文本中提取所有關(guān)鍵信息,并根據(jù)匹配度對標簽排序,需要對災難響應文本數(shù)據(jù)進行多標簽數(shù)據(jù)挖掘?,F(xiàn)針對含有多標簽的災難響應信息,利用深度神經(jīng)網(wǎng)絡模型提取相應的標簽信息,有效提高對災難響應信息的利用效率,達到盡快實施救援的目的。
文本分類研究是數(shù)據(jù)挖掘技術(shù)應用的一個重要領(lǐng)域,涉及特征提取、算法設計、軟件開發(fā)等多個方面,前人已經(jīng)做了很多基礎性研究工作。
所謂詞嵌入模型,就是將文本信息轉(zhuǎn)化為數(shù)字向量的模式。最原始的算法是將文本信息轉(zhuǎn)化為0-1模型,即one-hot編碼,用0和1兩個數(shù)字來表示字符是否出現(xiàn)在文本中,但這種方法會因為數(shù)據(jù)量變大而導致計算變得復雜。Salton等[8]提出TF-IDF模型,TF-IDF是計算特征詞在文本中的權(quán)重,其取值范圍在[0,1]之間,其中TF指該特征詞在這篇文檔中的詞頻。雖然這種方法可以提取出文本中的特征詞,但是如果把所有詞都作為特征項,會導致特征向量過大而使得計算速度下降,那么如何在不損害文本特征信息的同時降低特征性向量的維度呢?Karen等[9]提出了逆文檔詞頻 (inverse document frequency,IDF),表示區(qū)分文本的能力。Mikolov等[10]提出了Word2Vec模型,一種利用神經(jīng)網(wǎng)絡進行詞嵌入的學習方法,但該模型未能有效地利用所有文本信息。BERT(bidirectional encoder representation from transformers)模型,建立在Transformer之上,具有強大的語言表征能力和特征提取能力[11],但該模型可復現(xiàn)性差,模型收斂速度較慢,需要極高的算力才行。為改進BERT模型的收斂慢問題,Lan 等[12]提出了一種雙向編碼特征表示模型——ALBERT(a lite BERT)文本預訓練語言模型,其先對大量文本數(shù)據(jù)進行預訓練,再根據(jù)下游任務進行調(diào)整,達到提高下游預測效果的目的。ALBERT 預訓練語言模型是基于BERT模型的雙向Trandformer編碼器的特征表示方式,可以在保證較少參數(shù)量的同時,提取文本的主要特征。
目前,關(guān)于多標簽數(shù)據(jù)挖掘問題,主要分為兩類:一類是多標簽分類,另一類是多標簽排序[12]。二者的不同在于后者可以返回類別標簽的同時對標簽匹配度進行排序。
從模型建立上看,文本的多標簽分類一般有兩種:一種是傳統(tǒng)的機器學習模型,如SVM、DT、Na?ve Bayes、DT、Xgboost等算法;另一種是深層網(wǎng)絡機器學習模型,如RNN、CNN、LSTM和GRU等。從解決問題角度上看,文本的多標簽分類包括問題轉(zhuǎn)換法和算法適應法,其中問題轉(zhuǎn)化法是將多標簽文本分類轉(zhuǎn)化為一個由多個單標簽分類組合而成的問題,這樣對多標簽分類的問題求解就變成對單標簽文本分類問題的求解,如BR(binary relevance)二元關(guān)系法和LP(label powerset)標簽冪集法等[12]。而算法適應法則是通過對算法的改進,使二分類算法也可以解決多標簽分類問題。本文中所使用的多標簽分類算法是利用雙向GRU神經(jīng)網(wǎng)絡對災難響應信息的標簽進行預測。
若要對文本信息進行多標簽分類,需要先將文本進行預處理,再將預處理后的文本信息利用ALBERT預訓練模型提取特征,得到詞嵌入向量。根據(jù)提取的詞嵌入向量,利用Attention機制的雙向GRU神經(jīng)網(wǎng)絡進行訓練,以到達多標簽分類預測的目的。
為了利用模型對文本進行多標簽預測,需要將一條文本信息利用向量來表示,這可以利用詞嵌入模型實現(xiàn)。為了解決BERT參數(shù)量大的問題,ALBERT采用雙向Transform的encoder結(jié)果表示文本的特征,模型結(jié)構(gòu)圖如圖1所示。
圖1 ALBERT模型結(jié)構(gòu)圖Fig.1 Structure diagram of ALBERT model
Ti表示句子中第i個詞的特征向量,Ei表示文中第i個詞的序列化字符。在BERT的基礎上,ALBERT進行了3個方面的改進[13]。
2.1.1 詞嵌入向量因式分解
通過對大的詞特征嵌入矩陣分解,得到兩個相對較小的矩陣,從而將隱含層分離出來。利用因式分解,將模型的復雜度從O(VH)降到O(VE+EH),復雜度變化為
O(VH)→O(VE+EH)
(1)
式(1)中:V表示詞匯表長度;H表示隱含層大??;E表示詞嵌入大小,當E?H時參數(shù)量會明顯減少。
2.1.2 跨參數(shù)共享
針對參數(shù)過多的問題,ALBERT利用多層參數(shù)共享策略減少參數(shù),包括全連接層和注意力層的參數(shù)共享。這種做法可以避免當模型網(wǎng)絡深度增加時,參數(shù)數(shù)量也隨之增加。
2.1.3 段落連續(xù)任務
ALBERT對BERT中的NSP(next sentence prediction)任務進行改進,為了消除主題識別的影響,提出了SOP(sentence-order prediction )任務,可以在同一個文本中選取正負樣本,不受句子順序的影響。
傳統(tǒng)的神經(jīng)網(wǎng)絡是單向的,狀態(tài)從前向后傳播。但是在多標簽文本分類中,為了對文本進行更深層次的特征提取,讓前一時刻的輸出與后一時刻的輸出聯(lián)系在一起,采用雙向GRU神經(jīng)網(wǎng)絡模型[14],其結(jié)構(gòu)如圖2所示。
圖2 雙向GRU神經(jīng)網(wǎng)絡結(jié)構(gòu)圖Fig.2 Structure diagram of bidirectional GRU neural network
從圖2中可以看出,雙向GRU可以看作兩個單向GRU組合而成,在t時刻隱含層的狀態(tài)由其前后時刻的隱含層狀態(tài)決定,可表示為
(2)
(3)
(4)
Self-Attention機制是從大量的文本信息中提取出具有價值的信息,在自然語言問題中,需要對文本進行編碼和解碼[15]。編碼器負責把文本轉(zhuǎn)化為指定長度的詞向量,即該文本的語義。解碼器負責將詞向量作為輸入變量送入模型中,生成指定長度的序列。Self_Attention機制就是在解碼的過程中對不同的字符賦予不同的權(quán)重,計算公式為
ut=vttanh(wh+wd)
(5)
at=softmax(ut)
(6)
(7)
式中:ut表示輸出向量與解碼時狀態(tài)的相似度計算;l表示向量的個數(shù);w表示權(quán)重;h表示每一步的輸出向量;d表示解碼時每一時刻的狀態(tài);c是計算向量匹配度后的權(quán)值相加,計算后的向量用于解碼器中每個時間步的輸入;a表示向量匹配度softmax后的匹配權(quán)重。
令輸入樣本表示為X={X1,X2,…,Xn},標簽樣本表示為Y={Y1,Y2,…,Ym},其中n表示有n條樣本信息,m表示有m個類別的標簽。Yi=1 時表示文本屬于該標簽,Y2=0表示不屬于該標簽。
首先利用ALBERT預處理模型對文本進行向量轉(zhuǎn)化,轉(zhuǎn)化后的向量矩陣用E=(E1,E2,…,En)表示,即詞嵌入向量,Ei表示第Xi字符的向量表示。再將輸出的詞嵌入向量進行雙向Transform編碼,得到文本的特征向量T=(T1,T2,…,Tn),作為雙向GRU網(wǎng)絡的輸入。結(jié)合Attention機制,進一步提取文本中的關(guān)鍵信息,最后,以交叉熵作為損失函數(shù)對神經(jīng)網(wǎng)絡模型進行編譯。利用全連接層對結(jié)果進行歸一化,得到響應信息的標簽概率分布矩陣。計算流程如圖3所示。
圖3 網(wǎng)絡結(jié)構(gòu)圖Fig.3 Network structure diagram
本文中采用開源數(shù)據(jù)集(Appen)中的多語言災難響應數(shù)據(jù)。該數(shù)據(jù)集共有26 248條數(shù)據(jù),來自于若干年關(guān)于自然災害的新聞報道,包括2010年海地地震、2010 年智利地震、2010 年巴基斯坦洪災、2012 年美國超級風暴桑迪等。作為標準數(shù)據(jù)集,其中訓練集、測試集與驗證集的數(shù)據(jù)量如表1所示。
表1 數(shù)據(jù)集劃分
在該數(shù)據(jù)集中包含37個與應急響應信息相關(guān)的標簽,每一條文本信息可以標記多個標簽。根據(jù)數(shù)據(jù)集標簽的屬性,將其分為3個級別:一級標簽為文本是否與災情相關(guān);二級標簽將災情信息分為五類,分別為援助相關(guān)、災民相關(guān)、物資相關(guān)、災況相關(guān)和災區(qū)相關(guān);三級標簽為更具體的救災信息分類。詳細數(shù)據(jù)標簽分類見表2。
表2 數(shù)據(jù)標簽分類詳情
針對文本多標簽分類問題,評價指標主要有準確率(accuracy)、漢明損失(Hamming loss)、微平均F1值(Micro_F1)。
3.2.1 準確率
準確率A體現(xiàn)計算預測標簽是否完全與實際標簽相符合,其計算公式為
(8)
式(8)中:m為樣本數(shù)量;Zi表示真實值;Yi表示預測值;δ(Zi,Yi)表示真實標簽是否完全匹配預測標簽,若完全匹配,則δ(Zi,Yi)為1,否則為0。
3.2.2 漢明損失
漢明損失(LHam)表示在所有預測的類別中錯誤樣本的比例,數(shù)值越小,預測標簽越準確。其計算公式為
(9)
式(9)中:N為樣本數(shù)量;M為標簽個數(shù);Zi表示真實值;Yi表示預測值;xor( )表示異或運算;Zi與Yi相同為0,不同為1。
3.2.3 Micro_F1
多標簽前分類的F1-Score分為微平均Micro_F1和宏平均Macro_F1。其中微平均為計算所有類別標簽的精確率和召回率后,再計算F1;宏平均為先計算出每一個類別標簽的精確率和召回率,再計算平均的F1值,該值越大,分類效果越好。為表示模型對整體文本的預測效果,本文中以微平均作為評價標準,其計算公式為
(10)
(11)
(12)
式中:TPi表示真實值為1、預測值也為1的樣本數(shù);FPi表示真實值為0、預測值為1 的樣本數(shù);FNi表示真實值為0、預測值為0的樣本數(shù);Micro_P表示預測的精確率;Micro_R表示預測的召回率;Micro_F1即為微平均F1。
部分雙向GRU網(wǎng)絡參數(shù)設置如表3所示。表中Input_size表示輸入特征維數(shù),Hidden_size表示隱含層的維數(shù),Embedding_size表示詞嵌入大小,Output_size表示輸出層維數(shù)。
表3 模型訓練參數(shù)
訓練結(jié)果如圖4所示。從圖4中可以看出,訓練集的損失和測試集的損失均不斷下降,說明雙向GRU網(wǎng)絡仍在學習,且學習效果較好。在迭代次數(shù)(echo)為10時,測試集的損失值為0.137,準確率達到95.6%,說明模型預測的效果較好。
圖4 網(wǎng)絡損失值與準確率變化趨勢圖Fig.4 Variationtrend of network loss value and accuracy
表4為不同詞向量轉(zhuǎn)化模型和文本模型的對比分析,其中詞向量轉(zhuǎn)化對比模型采用TF-IDF,預測對比模型采用邏輯回歸、樸素貝葉斯和LSTM長短期記憶神經(jīng)網(wǎng)絡。從表4中可以看出,本文中提出的文本多標簽分類模型在準確率、F1-Score、漢明損失上的效果均優(yōu)于其他預測模型。
表4 不同模型訓練效果對比
因本文中以Sigmoid作為雙向GRU網(wǎng)絡模型的激活函數(shù),所以求得的結(jié)果為標簽概率分布矩陣。若要達到標簽自動分類的目的,需確定多標簽分類閾值。本文中利用模擬退火算法對閾值求解,通過計算得出最優(yōu)閾值為0.34。將結(jié)果與閾值為0.5和0.7的結(jié)果進行對比,如表5所示。從表5中可以看出,利用模擬退火算法計算的閾值多標簽分類效果優(yōu)于其他閾值效果。
表5 不同分類閾值預測效果對比
在當今大數(shù)據(jù)時代,一旦有災害發(fā)生,就會有若干人在社交媒體、數(shù)字網(wǎng)絡等發(fā)布成千上萬的災難響應信息,如何識別出與災情有關(guān)的信息并將請求幫助信息推送給救援組織,這對于提高救援質(zhì)量和救援效率是非常重要的一項工作。從以下幾點在分析了文本信息分類模型在災后救援中的作用。
(1)針對大量的災情響應信息,按照與災害和救援相關(guān)的37個標簽,提出了結(jié)合ALBERT和雙向GRU神經(jīng)網(wǎng)絡的多標簽文本信息分類模型,自動地對響應數(shù)據(jù)進行標簽識別。
(2)以開源數(shù)據(jù)集(Appen)中的多語言災難響應數(shù)據(jù)作為數(shù)據(jù)源進行計算,并將結(jié)果與邏輯回歸、樸素Bayes和LSTM等方法的結(jié)果進行對比。
(3)實驗結(jié)果顯示,該模型可以有效地識別出文本的標簽,準確率更高,漢明損失更小,能夠更好地辨別災情求助信息,提高救援效率。