陳靖鎧 顧家豪 高 敏 紀(jì)昌權(quán) 苑豪杰
(中國礦業(yè)大學(xué)(北京)管理學(xué)院,北京 100083)
風(fēng)雹災(zāi)害是我國影響范圍最廣的災(zāi)種,數(shù)據(jù)種類與數(shù)量豐富。由于文本中普遍存在記錄不規(guī)范的問題,人工識別消缺的方法只能在有限范圍內(nèi)將部分數(shù)據(jù)轉(zhuǎn)化為領(lǐng)域知識。
命名實體識別技術(shù)可以從海量異構(gòu)數(shù)據(jù)中識別關(guān)鍵信息,目前已受到廣泛關(guān)注。張芳從等[1]基于RoBERTa-WWMBiLSTM-CRF 模型不依賴人工特征解決了中文電子病歷文本詞識別不全的問題;王明達等[2]對城鎮(zhèn)燃氣事故文本進行主旨聚類劃分后,通過BiLSTM-CRF-RL 模型提高識別質(zhì)量。目前,已有學(xué)者對臺風(fēng)、地震、洪澇等災(zāi)害[3-5]進行文本分析與信息抽取工作。風(fēng)雹災(zāi)害伴生氣象較多,無法通過單一氣象數(shù)據(jù)集進行訓(xùn)練。因此該文提出一種基于風(fēng)雹災(zāi)害數(shù)據(jù)集的 BERT-BiLSTM-CRF 模型。使用Bert 模型訓(xùn)練得到多種語義特征的動態(tài)詞向量后,輸入BiLSTM 模型進一步提取上下文特征,連接CRF 模型輸出全局最優(yōu)識別結(jié)果。最后利用該文自建數(shù)據(jù)集中的相關(guān)實體,從時空間維度進行特征可視化分析,為風(fēng)雹災(zāi)害應(yīng)急管理與處置提供新思路。
風(fēng)雹災(zāi)害文本含有發(fā)生時間、地點及類型等語義信息,是災(zāi)害實體識別模型的訓(xùn)練基礎(chǔ)。傳統(tǒng)語義處理模型無法解決實體表述不一致和一詞多意的問題。BERT 模型基于多層Transformer 架構(gòu)具有雙向編碼能力,可以提取文本序列中的語義、結(jié)構(gòu)等多種特征。
BERT 的輸入為文本字符序列,輸出向量詞嵌入、段嵌入和位置嵌入3 個部分。詞嵌入為字符對應(yīng)的靜態(tài)向量,段嵌入用于區(qū)分字符所屬句子,位置嵌為表示字符位置信息的特征向量。BERT 訓(xùn)練包括2 個任務(wù), MLM 任務(wù)內(nèi)容為隨機遮掩一句話中的部分字符后,通過上下文信息對該字符預(yù)測,提高模型詞意理解。NSP 任務(wù)內(nèi)容為隨機選取部分語句,判斷是否存在一定的相鄰關(guān)系,可以讓模型更好地理解句子間的關(guān)系。完成詞向量預(yù)訓(xùn)練后,將文本序列向量化后輸入BiLSTM 模型進行訓(xùn)練。
BiLSTM 模型是由2 個LSTM 模型組成的,通過捕獲雙向語義信息,挖掘的語義特征更豐富。LSTM 引入了記憶細胞、輸入門、輸出門和遺忘門作為控制機制。各門控系數(shù)的計算如公式(1)~公式(3)所示。
式中:Ft、It、Ot為遺忘門、輸入門、輸出門系數(shù);σ為sigmoid神經(jīng)網(wǎng)絡(luò)層,系數(shù)值域為[0,1],控制信息量大小,1 代表全部通過。Xt為輸入的t時刻文本序列向量,Ht-1為輸入的上一時刻隱狀態(tài)向量。Wx、Wh為各門控的權(quán)重參數(shù),b為各門控的偏置參數(shù)。Xt由BERT 生成,Ht-1來自上一時刻的LSTM 單元,以Ht為例進行計算,如公式(4)所示。
式中:Ct為t時刻記憶細胞狀態(tài);Ot為t時刻輸出門系數(shù);tanh 為tanh 神經(jīng)網(wǎng)絡(luò)層,其計算結(jié)果Ht為向量形式。
輸入門計算系數(shù)后生成候選狀態(tài)向量,與遺忘門處理后的上一時刻細胞狀態(tài)拼接后,將當(dāng)前時刻細胞狀態(tài)更新為Ct,其計算如公式(5)~公式(6)所示。
式中:為t時刻候選狀態(tài)向量;Ct為t時刻細胞狀態(tài)向量;Ct-1為t-1 時刻細胞狀態(tài)向量。
LSTM 訓(xùn)練流程如下:輸入當(dāng)前時刻文本與上一時刻單元的隱狀態(tài),遺忘門與輸入門將根據(jù)各自系數(shù)決定丟棄、增添部分信息后,拼接生成當(dāng)前時刻細胞狀態(tài),用于下一個LSTM 單元訓(xùn)練,輸出門根據(jù)細胞狀態(tài)計算隱狀態(tài)向量,輸入Softmax 層解碼后得到當(dāng)前時刻預(yù)測標(biāo)簽。
BiLSTM 模型可以處理長距離文本的上下文依賴關(guān)系,但是無法處理標(biāo)簽之間的關(guān)系。例如B-DATE 標(biāo)簽只能出現(xiàn)在時間實體的首端,但是BiLSTM 輸出結(jié)果中可能存在I-DATE 位于B-DATE 之前。CRF[6]具有長距離依賴性和交疊性特征表達能力,可以處理不同標(biāo)簽之間的依賴關(guān)系,修正BiLSTM 的部分錯誤輸出。將災(zāi)害文本預(yù)測標(biāo)簽序列通過全連接層后輸入CRF 模型后,訓(xùn)練更新輸出矩陣計算預(yù)測得分,最后CRF 將根據(jù)得分高低輸出對應(yīng)最優(yōu)預(yù)測標(biāo)簽。得分計算如公式(7)所示。
式中:T為標(biāo)簽yi后標(biāo)簽為yi+1的得,P為字符i預(yù)測為標(biāo)簽yi的得分。
在BERT-BiLSTM-CRF 組合模型中,BERT 根據(jù)災(zāi)害文本序列輸出對應(yīng)的組合表征向量,BiLSTM 模型利用該向量,通過前向LSTM 與后向LSTM 雙向編碼學(xué)習(xí)風(fēng)雹災(zāi)害文本中的依賴關(guān)系與語義特征,將前向、后向特征向量序列合并后輸入CRF 模型,對該序列進行全局最優(yōu)歸一處理,得到文本最優(yōu)預(yù)測標(biāo)簽序列,完成實體識別。整體流程如圖1 所示。
圖1 模型結(jié)構(gòu)
圖2 災(zāi)情時間圖
由于風(fēng)雹災(zāi)害領(lǐng)域目前缺少現(xiàn)成語料庫,因此首先需要獲取有關(guān)數(shù)據(jù)。各地氣象局發(fā)布的災(zāi)情報告包括發(fā)生時間、發(fā)生地點和受災(zāi)情況等權(quán)威信息,是自然災(zāi)害數(shù)據(jù)分析的重要文本。該文搜索風(fēng)雹等關(guān)鍵詞,爬取相關(guān)報告180 余篇。由于語料中包括報道人、報道來源等大量無關(guān)信息,為增強模型識別效果,人工清洗上述噪聲數(shù)據(jù);同時對半結(jié)構(gòu)化數(shù)據(jù)進行人工拼接組合。完成上述處理后形成本次試驗風(fēng)雹災(zāi)害語料集,共計65534 字符。
建立語料集后,按照8 ∶2 的比例劃分訓(xùn)練集與測試集。命名實體識別任務(wù)屬于序列標(biāo)注任務(wù)范疇,需要對文本標(biāo)注后訓(xùn)練,標(biāo)注結(jié)果包括實體類別、起始位置和結(jié)束位置3 個部分的內(nèi)容。目前,標(biāo)注方法有BIO 法、BMES 法和BIOES法。在BIO 標(biāo)注法中,B-xxx 代表某實體開頭字符,I-xxx代表某實體的中間或者結(jié)尾字符,O 代表不屬于任何實體的無關(guān)字符。BMES 與BIOES 標(biāo)注法對實體邊界進一步劃分,實現(xiàn)單個字符實體的標(biāo)注。該試驗數(shù)據(jù)中單個字符實體出現(xiàn)頻率較低,因此采用BIO 方法。該文參照國家標(biāo)準(zhǔn)《自然災(zāi)害承災(zāi)體分類與代碼》(GB/T 32572—2016)、《自然災(zāi)害災(zāi)情統(tǒng)計第2 部分:擴展指標(biāo)》(GB/T 24438.2—2012),設(shè)置大風(fēng)、冰雹、大雨、雷電4 類災(zāi)害實體,發(fā)生時間、發(fā)生地點、受災(zāi)人員、受災(zāi)房屋、受災(zāi)農(nóng)業(yè)、經(jīng)濟損失6 類災(zāi)情實體,共10 類實體。綜上所述,該試驗所用訓(xùn)練集字符總數(shù)51237 個,實體總數(shù)5265 個;測試集字符總數(shù)14296 個,實體總數(shù)1 371 個。
該試驗計算機配置為AMD Ryzen 7 PRO 4750U 處理器,16GB 內(nèi)存,Windows10 操作系統(tǒng),編程語言Python3.6,TensorFlow1.14.0 框架,使用Adam 優(yōu)化器調(diào)整參數(shù)。在BiLSTM 前后加入dropout 層防止過擬合,添加對抗訓(xùn)練提升模型魯棒性。分層設(shè)置學(xué)習(xí)率可以提高識別效果,將 BiLSTM學(xué)習(xí)率設(shè)置為BERT 學(xué)習(xí)率的500 倍,具體參數(shù)見表1。
表1 試驗參數(shù)設(shè)置
該文使用精確率(Precision),召回率(Recall),F(xiàn)1值三種指標(biāo)評價模型精度。精確率代表模型預(yù)測結(jié)果中正確實體所占比例, 召回率代表輸入數(shù)據(jù)后被正確識別實體所占比例。在命名實體識別任務(wù)中通常希望模型兼顧精確率與召回率,F(xiàn)1值可以綜合反映模型識別效果,值越高模型綜合性能越好。各指標(biāo)計算如公式(8)所示~如公式(10)所示。
式中:Tp為模型識別出的正確實體數(shù)量;Fp為模型識別出的錯誤實體數(shù)量;FN為模型沒有識別出的實體數(shù)量。
使用BERT-BiLSTM-CRF 模型訓(xùn)練后在測試集上的各指標(biāo)表現(xiàn)見表2。在四類災(zāi)害實體的識別結(jié)果中,雷電、冰雹、大雨實體識別效果較好,F(xiàn)1值均在90%以上,原因為雷電、冰雹、大雨三類實體的語義較為簡單,表達形式固定。例如,雷電實體在語料中的表述集中在“雷電”、“雷暴”兩詞,大雨實體集中在“大雨”、“暴雨”等詞。大風(fēng)實體的精確率很高但召回率較低,F(xiàn)1值僅有87.80%,主要原因是訓(xùn)練集中該實體數(shù)量明顯低于其他災(zāi)害實體數(shù)量,影響模型訓(xùn)練。在6 類災(zāi)情實體的識別結(jié)果中,僅有發(fā)生地點實體指標(biāo)較差,F(xiàn)1值88.4%。發(fā)生地點精確率召回率較低的主要原因是實體過長,語義表述復(fù)雜,例如 “東北地區(qū)西南部”,“德宏傣族景頗族自治州隴川縣”。通過擴充數(shù)據(jù)量,或者針對性地遷移訓(xùn)練可以解決上述問題。受災(zāi)人員、受災(zāi)房屋、受災(zāi)農(nóng)田和經(jīng)濟損失等災(zāi)情實體為數(shù)值型數(shù)據(jù),表達形式固定且具有明顯邊界特征,因此F1值相對較高。為測試模型泛化能力,隨機選取一篇近期新聞報道進行試驗,識別結(jié)果見表3,結(jié)果說明該模型具有良好識別效果。
表2 訓(xùn)練指標(biāo)
表3 識別結(jié)果
為了體現(xiàn)BERT-BiLSTM-CRF 模型在風(fēng)雹災(zāi)害領(lǐng)域?qū)嶓w識別任務(wù)中的優(yōu)勢,在相同數(shù)據(jù)集下使用CBOWBiLSTM-CRF 與Skip-gram-BiLSTM-CRF 模型進行試驗,結(jié)果見表4。與CBOW-BiLSTM-CRF 模型相比,該文模型識別精確率、召回率、F1值分別提高5.04%、1.47%、3.26%;與Skip-gram-BiLSTM-CRF 模型相比,三類指標(biāo)分別提高3.87%、0.77%、2.31%。結(jié)果表明BERT 模型可以根據(jù)語料全局語義關(guān)系更好地捕捉語義、句法等相關(guān)性特征,生成的詞向量更準(zhǔn)確豐富、解釋性更強,識別效果更好。
表4 對比結(jié)果
Power Query 是用于數(shù)據(jù)獲取與查詢的Excel 插件,可在無規(guī)律文本中提取處理信息。災(zāi)害類別、時間、地點實體可以直接使用,但是受災(zāi)人員、受災(zāi)房屋、受災(zāi)農(nóng)業(yè)、經(jīng)濟損失4 類災(zāi)情實體須提取數(shù)字進行統(tǒng)計,使用“數(shù)字=Text.Remove([災(zāi)情實體],{"一".."龜"})”函數(shù)對4 類實體的中文字符進行剔除,保留可運算數(shù)字類型數(shù)據(jù)。Power Query中的中文字符以Unicode 形式連續(xù)儲存,在所有漢字中“一”的Unicode 最小,“龜”最大,利用該特性移除所有中文字符,提取后使用Excel 統(tǒng)計,結(jié)果見表5。從時間角度看,風(fēng)雹災(zāi)害屬于強對流天氣,與大風(fēng)、暴雨、冰雹、雷電災(zāi)害聯(lián)動發(fā)生,主要集中在5—7 月。平均人員傷亡以冰雹為最高,平均農(nóng)作物受災(zāi)平均以冰雹為最高,平均房屋損毀以大風(fēng)為最高,平均經(jīng)濟損失以冰雹為最高。使用微詞云軟件對每篇語料的地點實體進行詞頻統(tǒng)計后,設(shè)置三類頻次梯度,利用詞頻結(jié)果分析全國風(fēng)雹發(fā)生情況。從空間角度看,風(fēng)雹災(zāi)害發(fā)生范圍覆蓋全國,中西部地區(qū)發(fā)生頻率較高,甘肅云南兩省發(fā)生次數(shù)最多。
表5 災(zāi)情統(tǒng)計
使用Power Query 清洗獲取統(tǒng)計數(shù)據(jù)后,選取月份作為維度繪制災(zāi)情數(shù)據(jù)如圖2 所示。從災(zāi)情發(fā)生特征角度看,風(fēng)雹災(zāi)害全年發(fā)生,高發(fā)期集中在3—9 月。 3、6、7 月份房屋損毀較多,7—8 月受災(zāi)人口較多,5、7 月農(nóng)作物受災(zāi)面積較高,6—7 月經(jīng)濟損失最高的月份,主要原因是處于農(nóng)忙時期。與表5 進行對比,不同氣象災(zāi)害具有不同的時間特征,3—4 月發(fā)生較頻繁的災(zāi)害為大風(fēng),對房屋的損毀較大,5—7 月4 種災(zāi)害都時有發(fā)生,因此受災(zāi)最嚴重時也多集中在這個時間段。
該文的研究主要基于風(fēng)雹災(zāi)情報告文本,在數(shù)據(jù)集較少、文本不規(guī)則的情況下使用Bert-BiLSTM-CRF 模型,有效識別測試集中相關(guān)實體,為風(fēng)雹災(zāi)害處置與減災(zāi)提供便利。
自然災(zāi)害領(lǐng)域文本具有信息分散、隨機性強的特點,目前基于神經(jīng)網(wǎng)絡(luò)的實體識別方式仍然存在數(shù)據(jù)文本單一且收集困難、人工處理數(shù)據(jù)工作量大、識別結(jié)果關(guān)聯(lián)規(guī)則利用不足等問題。
針對現(xiàn)有研究的不足,該文提出相應(yīng)的改進措施:1)擴充數(shù)據(jù)量,針對非規(guī)范化、非標(biāo)準(zhǔn)化的文本數(shù)據(jù)進行強化學(xué)習(xí)、遷移訓(xùn)練,進一步提高模型泛化能力。2)實體識別層面結(jié)果不足以進行全方位特征支撐起分析,在獲得高質(zhì)量的實體后,對實體關(guān)系進行抽取后進一步分析更復(fù)雜的關(guān)聯(lián)特征,同時構(gòu)建風(fēng)雹災(zāi)害知識圖譜,為應(yīng)對災(zāi)情提供充足的知識儲備。