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