邢志偉,戴 錚,羅 謙
(1.中國民航大學 電子信息與自動化學院,天津 300300; 2.中國民航局第二研究所 工程技術研究中心,四川 成都 610041)
旅客運輸是航空運輸的重要組成部分,2019年全行業完成旅客運輸量65 993.42萬人次,比上年增長6.9%[1]。不斷提高機場的旅客服務質量一直是機場管理者追求的目標,傳統的問卷調查方式伴有隨機性和盲目性難以獲得真實客觀的旅客評價。采用命名實體識別技術,針對互聯網上的旅客評價文本進行識別可以快速找到評價的業務對象,幫助機場管理者聚焦旅客服務中的痛點。
命名實體識別[2]是從文本數據中抽取人名、地名、組織機構名等專有名詞的技術。由于傳統的規則與統計的方法過分依賴人工特征和專家知識而逐漸被基于深度學習的方法取代[3]。
民航業務實體識別[4]是一種特殊領域的實體識別,目的是從海量的非結構化文本中識別出運營業務、商業業務、其它服務業務(綜合服務業務)等多種不同類型的實體。民航命名實體識別區別于一些規范的通用實體,旅客評價中存在較多的復雜命名實體,如地名與地名的嵌套,同時存在數據類別不平衡的情況,如地名與綜合服務類實體數量相差較大,因此增加了民航業務實體的識別難度。
為了解決旅客評價中民航業務實體的識別問題,本文提出了集成卷積網絡(ensemble convolution neural network,ECNN)與長短期記憶網絡(long short-term memory,LSTM)融合的模型,并添加了注意力機制。該模型首先由集成卷積和長短期記憶網絡提取文本的長短距離特征,然后由Attention分配權重,最后輸入至條件隨機場(conditional random filed,CRF)獲取最終的預測標簽。
命名實體識別技術發展到深度學習階段,文獻[5]基于循環神經網絡(recurrent neural network,RNN)網絡的改進模型長短期記憶網絡,提出了端到端的BLSTM-CRF模型,克服了傳統的規則模版需要大量專家知識的缺陷,該模型能夠滿足大多數簡單實體的識別。
為解決復合實體的識別,文獻[6]設計了一種針對中文的動態meta-embedding模型,嵌入層不局限于詞或字的模型,將句子的詞語全劃分后與字向量融合,提高了模型對于實體邊界的劃分能力。文獻[7]針對微博中的復合實體設計了一種雙層條件隨機場模型,采用了基于詞性標記的復合實體特征詞提取算法并輔助了外部語義知識庫。文獻[8]將復合實體看作結點的聯結使用從遞歸神經網絡提取的特征來學習實體的超圖表示。文獻[9]利用卷積神經網絡能夠很好描述提取特征信息這一特點,在BLSTM-CRF模型的基礎上利用CNN網絡訓練出具有形態特征的字符級向量,并從大規模背景語料訓練中得到具有語義特征信息的詞向量,然后將二者進行組合作為輸入,提出了CNN-BLSTM-CRF模型。
為解決部分領域數據類別失衡導致的識別性能下降的問題。文獻[10]使用了基于Transformer雙向編碼器的BERT模型,通過微調詞嵌入層數增強了對句子的表達,從改善詞嵌入層面提高了對微博這種非結構化文本的識別。文獻[11]使用Attention機制獲得詞在全文范圍的表示解決了化學領域實體一致性差的問題。文獻[12]針對不規范文本中數據類別標記不平衡問題提出了一種基于遺傳算法的數據類別標記方法,通過合成類別分布均衡的文本擴充源數據降低了分布不平衡性。
但是民航旅客評價規范性更差,它兼具復雜實體較多、數據類別不平衡這兩大特點。因此本文提出一種融合ECNN 與Attention機制的模型ECNN-BLSTM-Attention-CRF,通過ECNN提取文本多范圍的特征信息,并添加Attention機制增強模型對于小類別實體的關注,能有效應對旅客評價這一特殊領域文本。
結合民航業對國內民用機場服務質量的評價,經分析機場所涉及的旅客服務主要分為運營類、商業類和其它服務類(綜合服務類)3大類,其中運營類和商業類具體分為5小類和3小類,其業務劃分如圖1所示。

圖1 機場旅客服務業務劃分
民航領域目前沒有公開的標準數據集,本文從某點評類網站上獲取旅客評價數據,進行了一定的數據處理,包括刪減了部分字符和將部分阿拉伯數字替換為漢字,展示部分處理后的評價數據如下。
例:“XX地鐵二號線終于通到了XX機場,過來方便多了,再也不用坐又破又味兒的機場巴士了。出了地鐵站就是機場擺渡車…”
觀察數據可以得出旅客評價文本有以下特點:
(1)存在較多的復雜實體。
(2)格式不規范,口語表達嚴重,例如“打的”。
(3)指代表述普遍,例如用“hk”指代香港。
(4)錯別字現象普遍,例如“無限信號”。
由于旅客評價中各類別之間的數據量相差較大,這會導致訓練集的標記類別不平衡,同時小樣本的數據有時候具有更大的價值。數據類別不平衡將給模型帶來較大的影響,導致模型更加關注大體量類別數據而對小體量類別數據有所忽略。在旅客評價數據中運營類、商業類等實體中均存在少數類別實體,在訓練時會受到地名這類多數類別實體的影響。同時非實體字符與實體字符的數據量也存在較大差異,文獻[13]采用數據平衡性指標R來評估非實體與實體標記數量的平衡性,計算方式如下
(1)
式中:WO表示文本中非實體字符數,WE表示文本中實體字符數。非實體與實體的比值即R值越大文本類別失衡越嚴重。對數據集中抽取的一部分數據進行平衡度計算,如圖2所示,例如都從未添加領域知識的訓練集和測試集的第三句旅客評價開始順序抽取100字符,訓練集的R值有階段性上升并產生多次的波動,表明此時的文本類別較為不平衡。

圖2 數據平衡與文本字符數關系
為了滿足模型的數據需求,本文采用半監督思想與人工修正結合的方法擴充標準數據。為盡可能多地獲取已標注數據,首先由民航從業者進行標注,同時從微博WeiboNER數據集中往訓練集中補充了部分已標注數據,數據增量過程如下:
(1)input:已標注數據集合L,未標注數據集合U,集合H,測試集Q和基分類器。
(2)while總的F1未趨近收斂
(3)將L在基分類器上進行訓練得出模型M,并對測試集Q測試得出總的F1
(4)使用M對U進行預測獲得集合H: {wi,tagj} 其中w是字符,tag是該字符的預測標記
(5)人工修正H中明顯的標注錯誤
(6)將H加入到L中
(7)output:集合L
上述過程中每次循環初:U會重新添加新的未標注數據,集合H和模型M置空。不同循環可調整基分類器的模型和參數。
詞位標注采用BIO標注法,B表示實體開始,I表示實體中后部,O表示非實體部分。本文不只識別機場業務實體,同時識別了旅客評價文本中的人名、地名和組織機構名,標注方式的示例如下:
例:“武 B-LOC.NAM漢 I-LOC.NAM地B-TRAN鐵I-TRAIN二 I-TRAN號 I-TRAN線 I-TRAN終 O于 O通 O到 O了 O天 B-LOC.NAM河 I-LOC.NAM機 I-LOC.NAM場 I-LOC.NAM…”
本文模型在BLSTM-CRF的基礎上融合了集成卷積網絡與注意力機制,整個模型框架如圖3所示。

圖3 基于ECNN-BLSTM-ATTENTION-CRF的 實體識別模型

旅客評價文本中常常出現較為復雜的實體,例如“廣西壯族自治區政府”地名與組織機構名嵌套在一起。因此整個學習模型中需要增加識別局部上下文的能力。卷積神經網絡中的卷積層擁有良好的提取數據特征的能力。利用這一特性本文使用集成卷積神經網絡提取文本上下文特征,使用不同窗口大小卷積核的網絡獲取更加豐富的詞語邊界特征信息,然后將信息集成[14]。
卷積僅在長方向或者寬方向上進行滑窗操作,如式(2)字嵌入矩陣X∈Rn×m首先經過不同窗口大小的卷積操作得到Cw i, 然后通過式(3)將其集成,提取多范圍的特征信息后形成C={C1,C2,…Cw i}。 使用集成卷積時,設置多種不同大小的卷積窗口并設置步長值,當卷積核移動到邊緣時使用padding對于邊界進行擴充
Cw i=f(V·X)+b
(2)
C=Cw1⊕Cw2⊕…⊕Cw i
(3)
式中:V為權值矩陣,X為計算的字嵌入矩陣,b為偏置,wi是所使用的卷積窗口大小,f為激活函數,本文使用ReLU作為激活函數將卷積層的輸出結果進行非線性映射。
梯度消失會阻礙模型學習長依賴關系,而LSTM網絡能夠在給定的時間步驟中更好控制記憶與遺忘,同時本文為了充分獲取文本信息,采用了雙向LSTM網絡的模型。將ECNN網絡的輸出分別輸入到前向LSTM和后向LSTM中,其計算流程如下。

(4)
通過輸入門it來產生需要更新的信息,公式如下
(5)
使用tanh函數生成新的候選值,公式如下
(6)
綜合遺忘門和輸入門,去掉不用的信息并添加新的信息完成更新過程,公式如下
(7)
然后通過sigmoid函數來得到單元的初始輸出。公式如下
(8)

(9)


Attention機制廣泛的用于圖像識別中,模仿人的注意力行為,例如當人在聚精會神看熒幕時,自然會忽視周圍發生的事件。旅客評價文本中有相當一部分實體分布不均衡,例如出現的人名和安檢類實體,相對于地名實體屬于小類別實體,因此需要給學習模型添加注意力機制,使模型注意關鍵信息而忽略冗余信息,從而讓小類別實體獲得有效的訓練。注意力機制的原理如圖4所示,不同于分心模型,注意力機制是通過對輸入的序列分配不同的權重,“避輕就重”優化資源配置,提高輸出的質量。

圖4 注意力機制

(10)
條件隨機場[16]是一種無向圖模型,結合了最大熵和隱馬爾可夫模型的特點,克服了隱馬爾可夫模型獨立性假設和最大熵模型的標記偏置等缺陷,能獲得全局最優解。傳統的softmax以最高概率標簽作為結果,視各標簽為獨立的個體,實際上標簽之間存在互相的約束關系。CRF將這種約束關系也納入考慮,為當前解決序列標注問題的較優選擇。最終輸出標簽序列由輸出層的輸出yi和轉移矩陣T運算得出,計算公式如下
(11)
式中:li表示i時刻的標簽,Tli-1,li表示從li-1標簽轉移到li標簽的概率,最終通過維特比算法解碼得到預測標簽。
實驗使用的計算環境見表1。

表1 實驗環境配置
實驗的部分超參數設定見表2。
經數據增量并添加所整理的部分領域知識后,所構造數據集中的人名、地名、組織機構和機場業務實體分布見表3,其中具體人名與指代人名合并統計,地名和組織機構名中的具體與指代同理合并統計,各類實體數量的統計以數據集中每類實體開始標志符的數量為準。補充到訓練集中的WeiboNER數據集中特有的實體類別和標注不進行去除,但不納入實體數量分布的統計。由于本數據集除使用部分WeiboNER數據集以外,其它部分不是國際上開源數據集,因此在構造時規范性不足,測試集與訓練集部分內容重合,按存儲空間大小已標注數據中約86%的數據為訓練集,約14%的數據為測試集。

表2 超參數設定

表3 機場業務實體分布
命名實體識別的評價指標設定為精確率P、召回率R和綜合精確率和召回率的評價指標F1值。其計算方法如式(12)~式(14)所示

(12)

(13)
(14)
實驗參考文獻[17]進行設計,為了評估本文模型在旅客評價數據集的上的性能,設計了3組實驗8個模型進行分析,包括BLSTM-CRF、CNN-BLSTM-CRF為第一實驗組;本文在代碼實現時構建了兩種Attention的實現方式,BLSTM-Attention(12)-CRF、CNN-BLSTM-Attention(12)-CRF、ECNN-BLSTM-Attention(12)-CRF為第二、第三實驗組,第一實驗組使用Word2Vec初始化字向量,第二、第三實驗組隨機初始化字向量,第三實驗組的Attention_size設置為200,結果見表4。
表4中每個模型達到表中F1值的epoch數有所差異。從第一實驗組的結果看出卷積神經網絡能有效提高模型的識別性能,對比不使用卷積的模型在F1值上有1.88%的提升。第二、第三實驗組結果顯示出注意力機制的優越性,兩種實現注意力方式的模型F1值優劣趨勢相同,第二實驗組實現注意力機制的代碼雖然簡單,但是需要訓練更多的epoch相比于第一實驗組犧牲了收斂速度,第三實驗組的實現方式收斂速度不會下降。

表4 不同模型實驗對比結果
為驗證集成卷積的有效性,以BLSTM-Attention(1)-CRF為基礎添加了不同的卷積,實驗設置了卷積層中不同的卷積核大小進行對比,CNN3、CNN5、CNN7表示卷積窗口大小為3、5、7,卷積核數量為256*3,ECNN集成了以上3種窗口大小的卷積核,卷積核數量為256*3,訓練相同的epoch數展示F1值最優的epoch的測試結果,見表5。

表5 不同卷積核大小對比結果
表5結果顯示在使用單一窗口大小卷積核時,當卷積核大小為7時F1值為76.74%,當3種卷積核集成后F1值提高到77.38%。在ECNN-BLSTM-Attention(1)-CRF模型識別下,觀察F1值為77.38%的測試集結果,部分復雜的實體如“廣西壯族自治區政府”、“少林寺食品專賣店”能被正確識別,不同卷積核大小的網絡可以獲取不同范圍的特征信息,多種卷積核的集成可以獲得豐富的文本信息。
卷積神經網絡池化層的作用是特征降維、壓縮數據量和減小過擬合的作用,文獻[18]表示在一定場景下池化層進一步壓縮數據量的操作使得部分有價值的信息喪失。因此本文以ECNN-BLSTM-Attention(1)-CRF模型為基礎使用平均池化、最大池化、無池化設置3組對比實驗,訓練相同的epoch數展示F1值最優的epoch的測試結果見表6。發現在本對比實驗下,不使用池化層能得到更好的效果。

表6 不同池化對比結果
表7展示了ECNN-BLSTM-Attention(1)-CRF模型識別下總體F1值達到77.38%的測試集機場業務實體識別的結果,其中具體人名與指代人名合并計算展示,地名和組織機構名中的具體與指代同理合并計算展示。模型對于“行李類”、“地名”的識別效果較好,對于“餐飲類”、“酒店類”的識別效果較差,觀察點評網站的原始數據時發現旅客用“星爸爸”代表“星巴克”,“酒店類”實體數量過少。考慮“綜合服務”類由于涉及的實體范圍較廣,增加了模型的學習難度,識別效果較差。

表7 不同類別實體識別結果
經過數據增量過程與實驗過程之后,展示兩過程中的部分標注結果如下:
標注正確示例:“川 B-ORG.NAM航 I-ORG.NAM”、“少 B-SHOP林 I-SHOP寺 I-SHOP食 I-SHOP品 I-SHOP專 I-SHOP賣 I-SHOP店 I-SHOP”。
標注錯誤示例:“當 B-LOC.NOM場 I-LOC.NOM”、“無 O限 O信 O號 O”。
從正確示例中看出本文模型能夠在出現縮寫和長實體的情況下精準的識別部分較難實體。從錯誤示例中看出數據增量階段所使用的基分類器對于近似的字詞表示的識別能力較弱,考慮是字符相近“當場”被誤識別為“機場”給予了通用地名的標注。但本文模型依然有不足之處,由于“無限信號”中的“限”字是錯別字因此被錯誤預測成了非實體。
本研究在卷積網絡提取特征信息的基礎上設計了集成卷積并在模型中添加了注意力機制,模型能有效識別民航業務實體。但是本研究的不足之處有以下幾點,數據集構建時部分業務劃分不明確,出現了部分實體未能準確分類和標注的前后一致性不同等問題,同時構造訓練集與測試集時有部分內容重合造成了一定程度上的測試集泄露,測試集中的最后一例文本數據及其標注未顯示在測試結果中,數據集的構造和實驗中有被標注文本、標簽數據的錯標、漏標現象,補充到訓練集中的WeiboNER數據中所特有的實體類別在本研究部分測試結果中被錯誤顯示出。因此未來需加強數據集構造和實驗的規范性并致力加強對于縮寫、指代、歧義實體的識別。