郝寬公, 董兵, 吳悅, 彭自琛, 羅創(chuàng)
(中國民用航空飛行學院空中交通管理學院, 廣漢 618307)
隨著中國經(jīng)濟的高速發(fā)展和機場數(shù)量的增加,民用航空情報領(lǐng)域逐漸呈現(xiàn)出數(shù)據(jù)量大、內(nèi)容復雜、處理難度大等特點,尤其在中文航行通告的處理方面較為顯著。航行通告是對飛行安全影響最大的飛行前信息通報,其報文主要由航行通告標志、限定行(Q項)、發(fā)生地(A項)、生效時間(B項)、失效時間(C項)、分段時間(D項)、航行通告正文(E項)、下限(F項)和上限(G項)等[1]部分組成,其中除E項外的各項均有嚴格且固定的編發(fā)規(guī)范,屬于結(jié)構(gòu)性文本,而E項報文以明語的形式進行編寫,用于豐富與補充事件的其他要素信息,屬于自由文本,沒有固定的編寫格式,故E項內(nèi)容無法利用統(tǒng)一的格式進行處理。同時,中文報文內(nèi)容存在一詞多義、語義混淆等問題。因此,如何對中文航行通告中E項內(nèi)容要素實體的識別成為民航情報領(lǐng)域迫切需要解決的問題。
在航行通告E項內(nèi)容處理上,項恒等[2]針對航行通告內(nèi)容不規(guī)范的問題,提出一種基于word2vec模型計算Q項和E項內(nèi)容相似度的識別方法,并制定了相應的識別標準;潘正宵等[3]利用分詞令牌化的詞嵌入的方法,解決了航行通告中難以統(tǒng)一格式內(nèi)容的命名實體抽取問題,并通過改進KMP算法進行實體關(guān)系的抽取;Mi等[4]將注意力機制引入航行通告文本分析中,構(gòu)建了ATT-BIGRU模型對文本內(nèi)容進行分類處理,并通過與多種模型的對比實驗驗證了模型的有效性。
命名實體識別(named entity recognition, NER)作為信息抽取的一個任務,能夠從非結(jié)構(gòu)化數(shù)據(jù)中識別出所需要的實體信息。目前,命名實體識別在各個領(lǐng)域得到了廣泛的應用,Qiu[5]通過構(gòu)建Bi-LSTM-CRF模型來獲取上下文序列信息,在地質(zhì)報告中進行地質(zhì)實體的識別;孫鑫瑞等[6]通過對事故模塊進行預定義,識別并提取交通事件中車輛、時間、環(huán)境等要素信息;褚燕華等[7]基于BERT模型提出了數(shù)控機床故障領(lǐng)域內(nèi)的實體標注策略,解決該領(lǐng)域識別過程中實體不規(guī)范的問題;趙鵬飛等[8]針對識別過程中字向量單一表征、缺失局部特征和陌生實體識別率低等問題,結(jié)合農(nóng)業(yè)領(lǐng)域知識提出一種基于BERT的外部詞典特征與雙向字級特征的命名實體識別方法;姜同強等[9]在食品安全實體識別上,利用雙向編碼器的基礎(chǔ)上結(jié)合了注意力機制,提高了識別的準確率;謝騰等[10]在中文實體識別上提出基于BERT-Bi-LSTM-CRF模型的方法,解決了中文實體中存在的上下文語義分析及一詞多義表征等問題,并在人民日報語料庫上得到較好的實驗驗證結(jié)果;焦凱楠等[11]制訂了反恐領(lǐng)域細粒度實體標簽體系并構(gòu)建該領(lǐng)域?qū)嶓w語料庫,提出基于MacBERT-Bi-LSTM-CRF的實體識別模型;李洋等[12]提出了一項整合對抗訓練與BERT嵌入的實體識別方法,旨在解決復合材料檢測領(lǐng)域內(nèi)復雜專業(yè)術(shù)語頻繁出現(xiàn)以及邊界模糊不清等問題;唐進君等[13]將BERT-Bi-LSTM-CRF模型應用于交通系統(tǒng)參與主體的識別上,根據(jù)收集該領(lǐng)域相關(guān)數(shù)據(jù)進行實體識別對比實驗,驗證了該模型的有效性和優(yōu)越性。
針對上述問題,現(xiàn)構(gòu)建機場類航行通告語料庫并制定要素實體識別標準,提出一種BERT-Bi-LSTM-CRF模型在中文航行通告領(lǐng)域進行要素實體識別的方法,以解決機場類航行通告E項中要素信息識別問題,為構(gòu)建航行通告知識圖譜提供要素數(shù)據(jù)基礎(chǔ)。
中文航行通告報文包括結(jié)構(gòu)化文本和非結(jié)構(gòu)化文本,其中結(jié)構(gòu)化文本以數(shù)字與字母組成,具體格式如下:Q項以“Q)”開始,連接8個子項信息,各部分用斜線“/”隔開,其中第二個子項為航行通告代碼;A項以項目編號“A)”起,連接符合國際民航組織要求的四字地名代碼,表示發(fā)生地的機場或飛行情報區(qū);B項和C項分別表示該報文的生效和失效時間,其中十位數(shù)字以兩位數(shù)字一組依次為年、月、日、時和分;D項在編號后接生效期間的分段時間;F項和G項分別在相應的項目編號后填寫該航行通告所影響的最小和最大高度值。而E項是以中文明語和縮略字填寫的航行通告具體內(nèi)容。具體如圖1所示。
圖1 航行通告基本結(jié)構(gòu)Fig.1 Basic structure of navigational notices
航行通告根據(jù)涉及范圍分為機場類、通信導航和監(jiān)視類、空中交通管理類、航空警告類4類,可通過報文中主題代碼區(qū)分[14],本文研究主要以機場類航行通告進行研究。機場類航行通告主要告知燈光設(shè)施、著陸區(qū)和活動區(qū)及相關(guān)設(shè)施和服務的變更,在主題代碼區(qū)域分別以L、M、F作為第一個字母呈現(xiàn)。其中Q項中的主題代碼和狀況代碼分別與E項內(nèi)容所包含的設(shè)施要素和狀態(tài)要素實體信息對應,故Q項可在E項要素實體識別中作為驗證集,對設(shè)施和狀態(tài)要素信息的識別效果進行評價。機場類中文航行通告E項文本由漢字、專業(yè)字母、數(shù)字、單位等復雜元素組成,共同表示跑道(runway)、設(shè)施(facilities)、狀態(tài)(state)、原因(reason)、數(shù)據(jù)(data)等要素實體。E項要素實體示例如圖2所示。
圖2 E項內(nèi)容要素實體分析示例Fig.2 Example of entityanalysis of content element E
利用正則表達式可以實現(xiàn)對航行通告結(jié)構(gòu)化文本中要素實體的提取[15],而非結(jié)構(gòu)化文本中要素實體的識別需要借助機器學習的方法實現(xiàn)。
本文研究提出了一種基于BERT-Bi-LSTM-CRF模型的航行通告要素知識識別方法,整體模型框架如圖3所示,該模型依次由BERT模型、Bi-LSTM模型和CRF模型三大模塊組成。整體過程分為6個階段:①首先根據(jù)航行通告Q項中主題代碼對數(shù)據(jù)進行篩選和清洗,建立有效的機場類航行通告數(shù)據(jù)集;②在輸入層對數(shù)據(jù)進行人工標注,將預處理后的航行通告E項文本序列轉(zhuǎn)換成向量;③在BERT層進行預訓練,將每個漢字及專業(yè)縮略語編碼,同時生成所對應的字向量;④建立Bi-LSTM模型,捕獲航行通告正文中上下文和長距離語義特征;⑤根據(jù)注意力機制得到的關(guān)鍵特征,使文本向量序列調(diào)整成標注概率矩陣;⑥在CRF層中,通過模型對輸出預測的實體標簽之間進行解碼關(guān)系,最后輸出效果最佳的標簽序列。
圖3 整體模型框架Fig.3 The overall model framework of this paper
BERT模型是Goolge團隊于2018年提出的面向自然語言處理任務的無監(jiān)督預訓練語言模型。Bert模型基于雙向的Transformer編碼器,可在大量語料中自監(jiān)督學習特征表示,增強字向量的語義表示來獲取高質(zhì)量詞向量,有效解決了Word2Vec模型無法解釋一詞多義的問題。BERT模型結(jié)構(gòu)如圖4所示。
[CLS]為一個句子的開始;[SEP]為兩個句子間的分隔; [MASK]為掩蓋句子中的詞圖4 BERT模型結(jié)構(gòu)圖Fig.4 BERT model structure diagram
BERT模型在預訓練過程中有掩碼語言模型(masked language model,MLM)和下句預測(next sentence prediction,NSP)兩個任務[16]?;诤叫型ǜ娲罅繜o標注的數(shù)據(jù)特點,避免優(yōu)化預測與訓練過程中數(shù)據(jù)偏差所產(chǎn)生的性能損失問題,本文研究采用MLM進行預訓練,在每個生成訓練樣本句子中隨機抽取15%進行掩碼后,對80%的樣本用掩碼標記[Mask]替換掩碼詞,對另外10%的樣本不做任何替換,對最后10%的樣本從模型詞表中隨機抽取單詞來替代掩碼詞[17]。
通過預訓練國內(nèi)航行通告要素知識,多個Transformer雙向編碼器用于編碼文本字符和縮略語,利用注意力計算詞匯與其他所有詞匯之間的關(guān)系和重要程度,以獲取詞匯之間的相互關(guān)系和內(nèi)部結(jié)構(gòu),從而對樣本句子進行編碼。計算式為
(1)
式(1)中:Q為查詢向量矩陣;K為查詢向量矩陣;V為內(nèi)容向量矩陣;QKT為用于計算輸入字向量之間的關(guān)系;dk為編碼器的輸入向量矩陣維度。
在BERT預訓練中,序列X={x1,x2,…,xn}對應的輸入E={E1,E2,…,En}由三個嵌入特征疊加而成,xi為序列X的第i個字,如圖5所示。
圖5 BERT模型輸入表示Fig.5 BERT model input representation
LSTM(long-short term memory)長短期記憶網(wǎng)絡,解決了普通循環(huán)神經(jīng)網(wǎng)絡(recurrent neural network,RNN)[18]對長距離文本信息學習不足的問題。針對訓練過程中可能產(chǎn)生的梯度消失或梯度爆炸現(xiàn)象,通過門限制來捕捉語料長遠上下文序列依賴信息。LSTM的單元狀態(tài)由輸入(input)、輸出(output)和遺忘(forget)三個門控制, 其中遺忘門和輸入門共同作用,實現(xiàn)重要信息保留和過濾無用信息的過程,單元結(jié)構(gòu)如圖6所示。
圖6 LSTM單元結(jié)構(gòu)圖Fig.6 LSTM cell structure diagram
各個門控制單元的計算公式為
it=σ(Wxixt+Whiht-1+Wcict-1+bi)
(2)
zt=tanh(Wxcxt+Whcht-1+bc)
(3)
ft=σ(Wxfxt+Whcht-1+Wcfct-1+bf)
(4)
ct=ftct-1+itzt
(5)
ot=tanh(Wxoxt+Whoht-1+Wcoct+bo)
(6)
ht=ottanh(ct)
(7)
式中:Wxi、Wxc、Wxf、Wxo分別為輸入門、記憶細胞、遺忘門和輸出門中輸入層連接隱藏層的權(quán)重;Whi、Whc、Whf、Who分別為輸入門、記憶細胞、遺忘門和輸出門中輸出層的權(quán)重;Wci、Wcf、Wco分別為輸入門、遺忘門和輸出門在連接記憶細胞的權(quán)重;bi、bc、bf、bo分別為輸入門、記憶細胞、遺忘門和輸出門中的偏置項;zt為在t時刻的增量。
由于LSTM對前向文本序列信息進行單向考慮,而后向信息被忽略。針對該問題,Bi-LSTM模型在LSTM模型基礎(chǔ)上增加了一層反向傳輸過程,對上下文信息同時進行處理,最終的輸出由前向傳輸與反向傳輸?shù)妮敵銎唇佣伞?/p>
在航行通告要素識別任務中,雖然Bi-LSTM模型可以對E項中長距離文本信息進行捕獲,并能夠獲取樣本中分值最高的實體標簽,但由于通告正文存在相似實體標簽,很難保證實體標簽的合法性和準確預測實體與標簽之間的相鄰和依賴關(guān)系。針對以上問題,引入CRF模型用于預測序列。
CRF模型屬于一種判別式概率無向圖模型,利用實體標簽之間存在的轉(zhuǎn)移關(guān)系計算全局標簽序列的概率,進而得到整體最優(yōu)的標簽序列。
對于隨機一個序列X=(x1,x2,…,xn),設(shè)定Bi-LSTM的輸出分值矩陣為P,P的維度為n×m,n表示詞的數(shù)量,m表示標簽的數(shù)量,Pij表示第i個詞的第j個標簽的得分。預測序列Y=(y1,y2,…,yn)的得分函數(shù)為
(8)
式(8)中:Ayi,yi+1為標簽yi轉(zhuǎn)移到標簽yi+1的得分;Pi,yi為第i個字符為標簽yi的概率。
預測序列Y產(chǎn)生的概率為
(9)
式(9)進行前后取對數(shù),獲得預測序列的似然函數(shù)為
(10)
得到解碼后的最高分值輸出序列為
(11)
目前,在國內(nèi)民航業(yè)中尚無標準的航行通告相關(guān)要素知識的語料庫。在本文實驗中,首先根據(jù)《民用航空情報航行通告E項要素編寫指南(系列文件)》文件對面向民用航空情報領(lǐng)域的專業(yè)語料庫進行了人工標注,然后通過在中航材導航技術(shù)有限公司獲取的2020—2022年國內(nèi)的航行通告數(shù)據(jù)為基礎(chǔ)數(shù)據(jù)源。經(jīng)過數(shù)據(jù)篩選,實驗共收集8 720份機場類中文航行通告,按6∶2∶2的比例分別分配給訓練集、測試集及評價集。具體語料規(guī)模如表1所示。
表1 實驗語料規(guī)模Table 1 Experimental corpus size
為了避免專業(yè)詞匯和英文縮寫對要素識別過程的影響,根據(jù)要素編寫指南等文件建立機場類航行通告語料庫。部分語料如表2所示。
表2 機場類航行通告語料庫示例Table 2 Examples of airport-based navigational notice corpus
中文實體命名識別中,BIO、BMES、BIOES均為常用的標注體系,為了降低人工標注的工作量,本文采用較為簡單的BIO標注體系。由于中文航行通告中跑道與燈光也使用英文,所以本次標注任務采用支持中英文的brat文本標注工具。語料標注如表3所示。
表3 語料標注示例Table 3 Example of corpus annotation
實驗采用Tensorflow1.14框架和keras2.3.1框架,Python3.7環(huán)境,顯卡 3060,內(nèi)存為12 GB,預訓練模型keras4bert的網(wǎng)絡層數(shù)L=12,多頭注意力個數(shù)為12。避免過擬合現(xiàn)象的發(fā)生,在Bi-LSTM中加入dropout。具體超參數(shù)如表4所示。
表4 模型超參數(shù)設(shè)置Table 4 Model hyperparameter settings
評估航行通告要素識別實驗結(jié)果的有效性,評價指標主要采用精確率(precision,P)、召回率(recall,R)、準確率(accuracy,A)和F1[19]。計算式為
(12)
(13)
(14)
(15)
式中:TP為真實體的預測結(jié)果為真實體的實體個數(shù);FP為非實體的預測結(jié)果為真實體的數(shù)量;FN為未預測出的實體量;TN為被正確預測的非實體個數(shù)。
為了驗證不同模型的性能,選擇Bi-LSTM、CNN+CRF、Bi-LSTM+CRF三種模型與BERT+ Bi-LSTM+CRF模型進行對比實驗。通過Bi-LSTM與Bi-LSTM+CRF模型的對比實驗,可對CRF模型進行必要性分析;CNN+CRF與Bi-LSTM+CRF模型對比結(jié)果,可驗證Bi-LSTM模型在識別過程中的重要性;為突出BERT模型的優(yōu)越性,可利用Bi-LSTM+CRF與本文模型實驗結(jié)果對比分析。4種模型對比實驗結(jié)果如表5所示。
表5 不同模型實體識別結(jié)果Table 5 Entity identification results of different models
在4種模型的比較中,BERT+ Bi-LSTM+CRF模型在精確率、召回率、F1、準確率方面均比前3個模型具有優(yōu)勢。其中,本文模型的F1為85.54%,相比Bi-LSTM、CNN+CRF、Bi-LSTM+CRF三種模型分別提升了5.70%、8.49%、3.39%。對各模型F1的迭代效果進行分析,如圖7所示。BERT+ Bi-LSTM+CRF模型與其他3個模型在相同的迭代次數(shù)中有明顯的性能優(yōu)勢。
圖7 F1結(jié)果對比Fig.7 Comparison of F1 value results
為深入分析文本中各實體的識別效果,對4種模型在不同實體識別中的F1進行分析,如圖8所示。
圖8 4種模型各要素實體F1Fig.8 Four models of each element entity F1
由于專業(yè)語料庫的建立,各模型在跑道、設(shè)施等要素實體中識別效果較好,同時,原因要素實體具有固定的形式,所以在實體識別中表現(xiàn)出色。但數(shù)據(jù)要素實體存在內(nèi)容格式混雜、變化頻繁等問題,在各模型中識別性能較差。整體來看,BERT+Bi-LSTM+CRF模型在各實體識別中擁有較好表現(xiàn),驗證了本文模型在機場類航行通告要素識別中的有效性。
中文航行通告正文的事件要素實體識別中存在專業(yè)語料庫缺乏、內(nèi)容復雜及一詞多義等問題,分析機場類航行通告E項文本特點,整理并建立該領(lǐng)域的數(shù)據(jù)集,提出BERT-Bi-LSTM-CRF實體識別模型。通過數(shù)據(jù)清洗過程將不屬于機場類的航行通告數(shù)據(jù)剔除,并對專業(yè)名詞及字母進行數(shù)據(jù)預處理,有效減少不規(guī)范文本數(shù)據(jù)對識別效果的影響。在BERT編碼層對輸入字序列進行預訓練,解決了文本中一詞多義的問題,之后通過Bi-LSTM層對字向量編碼提取上下文特征,最后在CRF層解碼并對實體標簽進行預測。實驗結(jié)果表明,本文模型能有效識別出機場類中文航行通告正文中要素實體,相比現(xiàn)有模型擁有更好的F1。航行通告要素識別性能的提升,有助于探索事件要素間的關(guān)系,進一步構(gòu)建和完善該領(lǐng)域的知識圖譜。