曹衛(wèi)東,徐秀麗
(中國民航大學計算機科學與技術學院,天津 300300)
隨著國民經(jīng)濟的迅猛發(fā)展,越來越多的公眾選擇乘坐飛機出行,但隨之而來的是旅客的各種不文明行為增多,如機上接打電話、擅自打開應急艙門、破壞安檢設施設備、在客艙中毆打他人、在停機坪擾亂機場公共秩序等,嚴重擾亂了民航秩序,妨礙安全出行。 因此,有必要對民航不文明旅客加以識別。
目前,在識別方法方面,國內(nèi)外學者進行了大量研究。 命名實體識別(NER,namely entity recognition)[1]是自然語言處理的一項基本任務,主要是從文本中尋找實體,并標記實體的位置和類別。Bikel 等[2]最早提出了基于隱馬爾可夫模型(HMM,hidden Markov model)的英文命名實體識別方法;Liao 等[3]提出了基于條件隨機場(CRF,conditional random field)模型,采用半監(jiān)督的學習算法進行命名實體識別;Ratinov 等[4]采用未標注文本訓練詞類模型(word class model)的方法,可有效地提高NER 系統(tǒng)的識別效率。中文命名實體識別也獲得了廣泛關注。Zong 等[5]提出基于模板的中文人名消歧混合模型;Tian 等[6]提出基于屬性特征的自適應聚類的中文名消歧模型。近年來還出現(xiàn)了大量基于神經(jīng)網(wǎng)絡[7]的模型,并取得良好效果。Zhang 等[8]提出了一種使用格子長短時記憶網(wǎng)絡(LSTM,long short-term memory)的中文命名實體識別的最新模型。
目前,針對民航不文明旅客實體識別的相關研究較為少見,為解決在一條民航旅客文本記錄語句中包含多個實體識別的問題,通過深度學習方法對民航不文明旅客數(shù)據(jù)進行實體識別,使用BIOES 方法對文本進行標記,與詞嵌入、位置嵌入串聯(lián)后作為輸入,通過前向和后向LSTM 學習上下文信息,使用條件隨機場模型作為模型的解碼層,在輸入層、雙向長短時記憶網(wǎng)絡層(Bi-LSTM,bi-directional long short-term memory)添加dropout 層有效防止網(wǎng)絡過擬合,該模型能夠更高效地識別民航不文明旅客中的8 種實體類型。
Yedda 是由新加坡科技大學Yang 等[9]在2018年開發(fā),用于文本(幾乎所有語言,包括英語、中文)、符號甚至表情符號等注釋的輕量級、高效且全面的開源文本標注工具,可為文本范圍注釋提供系統(tǒng)的解決方案,應用范圍從協(xié)作用戶注釋到管理員評估和分析。通過命令行和快捷鍵對實體進行注釋,從而克服了傳統(tǒng)文本注釋工具的低效問題。該工具可以批量注釋多個實體,并支持將帶注釋的文本導出為序列文本。Yedda 還通過學習最新的帶注釋文本來提供明智的建議,此外,更新版本還包括智能推薦和管理員分析,與所有主流操作系統(tǒng)兼容。 與現(xiàn)有的標注工具相比,可將標注時間減少一半。 Yedda 框架如圖1 所示。
圖1 Yedda 框架Fig.1 Yedda framework
玻森(Boson)命名實體采用UTF-8 編碼進行標注,每行為一個段落標注。所有的實體標注格式為{實體類型:實體文本}。Boson 語料中數(shù)據(jù)如{Name:喬振}{Flight:南航CZ6262}{Time:2016年2月3日}。 Boson標注的民航旅客信息中的8 類實體如表1 所示。
表1 民航旅客信息Boson 實體類別Tab.1 Boson entity category of civil aviation passenger information
中文命名實體識別通常是基于字標注的中文分詞。 基于字的標注一般有3 種方法,BIO 標記方法(標識實體的開始、中間部分和非實體部分),BIOS 標記方法(增加S 單個實體情況的標注),BIOES 標記方法(增加E 實體的結束標識),標注類型含義說明如表2 所示。由于BIOES 方法明顯優(yōu)于BIO 方法[10],因此,將NER看作是一個順序標注問題,并采用BIOES 標記方式。
表2 標注類型說明Tab.2 Description of label type
根據(jù)民航不文明旅客信息的特征,將其劃分為8種實體類型,數(shù)據(jù)文本通過Yedda 工具處理后輸出的字向量表示如表3 所示。
表3 民航不文明旅客實體標注Tab.3 Entity labeling of civil aviation unruly passengers
對于語句“2016年2月3日,喬振乘坐南航CZ6262次航班,在飛機下降階段,未聽從乘務員的連續(xù)勸阻繼續(xù)使用平板電腦,當班安全員報告機長,通知哈爾濱太平國際機場公安機關處理,飛機落地后警方登機處置,對該違法旅客做出行政罰款200 元處理。該名旅客被列入民航旅客不文明行為記錄名單,記錄期限為一年”。標注后的具體數(shù)據(jù)集格式如下:{B-Time, ITime, I-Time, I-Time, I-Time, I-Time, I-Time, ITime,E-Time,O,B-Name,E-Name,O,O,B-Flight,I-Flight,I-Flight,I-Flight,I-Flight,I-Flight,I-Flight,E-Flight,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,B-Reason,IReason,I-Reason,E-Reason,O,O,O,O,O,O,O,O, O, O, O, O, O, O, O, B-Airport, I-Airport, IAirport,I-Airport,E-Airport,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O, O, O, O, O, O, B-Fine, I-Fine, I-Fine, I-Fine,I-Fine,E-Fine,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,B-Deadline,E-Deadline,O}。
構建的Tag+Bi-LSTM+CRF 模型如圖2 所示。 模型分為4 個部分:輸入嵌入層,Bi-LSTM 層,線性CRF層和輸出層。 民航不文明旅客實體識別的過程如圖3所示。
圖2 Tag+Bi-LSTM+CRF 模型Fig.2 Tag+Bi-LSTM+CRF model
圖3 民航不文明旅客的實體識別過程Fig.3 The entity recognition process of civil aviation unruly passengers
在實體識別過程中,第一個任務是創(chuàng)建手動注釋的訓練數(shù)據(jù)集來訓練模型,在一條民航旅客文本記錄語句中包含多實體識別,使用Yedda 工具處理可獲得文本的BIOES 嵌入,與詞嵌入、位置嵌入串聯(lián)后構成的向量作為模型輸入,以豐富輸入表示。在輸入Bi-LSTM層前設置dropout 層,使得數(shù)據(jù)集更容易學習。Bi-LSTM層能夠有效地使用過去和將來的輸入信息自動提取上下文特征,輸出每一個標簽的預測分值。 在命名實體識別中,Bi-LSTM 可以使用softmax 進行標記,由于softmax 分別標記每個位置,可能會得到不合適的標簽序列,因此模型使用線性CRF 層,使用句子級標簽信息對每兩個不同標簽的過度行為進行建模。 Bi-LSTM層輸出的預測分數(shù)經(jīng)過dropout 層隨機舍棄部分神經(jīng)元作為線性CRF 層的輸入,通過自學習為輸出預測的標簽添加一些約束來保證預測標簽是合法的。
詞嵌入對輸入句子中的每個字使用帶有隨機初始化的單詞嵌入,詞嵌入的維數(shù)為dw。
位置嵌入使用位置嵌入來編碼每個單詞與句子中兩個目標實體之間的相對距離。 關于關系的更有用信息隱藏在離目標實體較近的詞中,位置嵌入的維數(shù)為dp。
BIOES 嵌入輸入語句通常包含兩個以上的實體,利用BIOES 標記方法標記實體信息來豐富輸入表示。 對于輸入句中的每個單詞,用B、I、E 標記實體的開始、中間和結束部分(如果單詞個數(shù)超過3 個字,則第一個字和最后一個字分別用B 和E 標記,其余的字用I 標記),S 表示單個實體,O 表示非實體的詞。BIOES 標簽嵌入的維數(shù)為dt。
將每個字的3 個嵌入[11]連接在一起后,將一個句子轉換為矩陣X=[x1x2… xn]作為輸入表示,其中列向量xi∈Rdw+2dp+dt。
2.2.1 LSTM
LSTM[12]是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(RNN,recur rent neural network),可學習比簡單RNN 更長的依賴關系。 LSTM 在短期依賴和長期依賴任務上表現(xiàn)良好,因此,在處理序列數(shù)據(jù)時被廣泛使用。LSTM 在簡單RNN基礎上增加了3 個函數(shù),能夠記憶、更新和忘記內(nèi)存,很好地克服了漸變消失的問題。
LSTM 模型由當前單元時刻t 的輸入向量xt,細胞狀態(tài)Ct,隱藏層狀態(tài)ht,遺忘門ft,記憶門it,輸出門ot組成。 LSTM 的計算過程如下。
式中:σ 和tanh 表示兩種不同的激活函數(shù);t 表示當前單元時刻;t-1 表示上一層單元時刻;xt是輸入向量;Ct-1表示上一層的控制門單元,與ft相乘,決定什么樣的信息會被丟棄;it表示要保留下來的新信息;表示新數(shù)據(jù)形成的控制參數(shù),與it相乘,決定什么樣的數(shù)據(jù)會被保留;Ct表示控制門單元的更新, 可傳入到下一個階段;ht表示隱藏層的輸出結果,也是當前層的預測結果;Wf、Wi、Wc、Wo分別表示遺忘門、 輸入門、 控制門、輸出門隱藏狀態(tài)的權重矩陣;bf、bi、bc、bo分別表示遺忘門、輸入門、控制門、輸出門的偏差矩陣。 圖4 為LSTM 單元的基本結構。
圖4 LSTM 單元的基本結構Fig.4 Basic structure of LSTM unit
2.2.2 Bi-LSTM
Bi-LSTM[13]的基本思想是每一個訓練序列向前和向后分別是一個LSTM, 且這兩個LSTM 連接著同一個輸出層。這個結構提供給線性CRF 層輸入序列中每一個點完整的上下文信息,并把輸出的隱狀態(tài)按位置拼接,得到完整的隱狀態(tài)序列,如圖5 所示,前向能夠獲得上文信息ht(1),后向能夠獲得下文信息ht(2),將前向和后向LSTM 結合就能得到上下文信息ht,即
圖5 Bi-LSTM 模型Fig.5 Bi-LSTM model
式中⊕表示向量的拼接。
條件隨機場[14]是在給定輸入的條件下求輸出變量的條件概率分布模型,能夠通過考慮相鄰標簽的關系獲得一個全局最優(yōu)的標記序列。線性CRF 層可以將序列標注表述為一個分類問題,將其嵌入到Bi-LSTM 層中,對Bi-LSTM 輸出進行處理,得到最優(yōu)的標記序列。CRF 可以表示為
式中:h=(h1,h2,…,hn)為輸入觀測序列;n 為序列的長度;y=(y1,y2,…,yn)為對應的預測輸出標記序列或狀態(tài)序列,與觀測序列有相同的結構。
為了計算概率估計,CRF 做了兩個假設。
假設1該分布為指數(shù)族分布,使得
式中:Z(h)是歸一化因子;f()可以看作打分函數(shù),將其取指數(shù)并歸一化后可得概率分布。
假設2概率輸出之間的關聯(lián)關系僅發(fā)生在相鄰位置,且關聯(lián)是指數(shù)可加的,則只需計算單標簽打分函數(shù)k()以及相鄰標簽對打分函數(shù)g(),將所有打分結果求和得到總分。 式(9)可簡化為
在線性CRF 中,又假設g()與h 無關,則
使用最大似然方法對線性CRF 模型進行訓練,即
由于CRF 只考慮臨近標簽的聯(lián)系,可以使得原來歸一化因子為指數(shù)級別的計算量降低為線性級別。 使用維特比(Viterbi)算法可以獲取CRF 中最優(yōu)的標簽序列。
通過線性CRF 層后,模型在所有標簽序列中選擇預測得分最高的標簽序列作為實體識別的結果進行輸出。
實驗環(huán)境如下:操作系統(tǒng)為Windows 10,處理器為Inter(R)i7-9750H,內(nèi)存大小為16 GB,開發(fā)語言是Python 3.7,采用的深度學習框架為Pytorch,開發(fā)環(huán)境為Pycharm。
實驗數(shù)據(jù)來源于信用中國、航協(xié)網(wǎng)的民航旅客隨機記錄文本,共收集了民航不文明旅客文本信息4.7萬條,每一條文本是一個民航不文明旅客的記錄,文件大小為15.1 MB,對其進行標注后,文件大小為42.3 MB。按照訓練集、驗證集、測試集7∶1∶2 的概率隨機分配,劃分后的數(shù)據(jù)集文件詳細統(tǒng)計信息如表4所示。
表4 數(shù)據(jù)集統(tǒng)計Tab.4 Statistics of datasets MB
采用精確率P(precision)、召回率R(recall)和F1值3 個標準作為評價指標。 要計算評價指標,首先要構建一個混淆矩陣,混淆矩陣也稱為誤差矩陣,以矩陣形式將數(shù)據(jù)集中的記錄按照真實的類別與分類模型預測的類別判斷匯總,如表5 所示。
表5 混淆矩陣Tab.5 Confusion matrix
混淆矩陣是對分類模型進行性能評價的重要工具,根據(jù)混淆矩陣可計算P、R 和F1 值,計算公式為
矩陣中一些符號含義為:
(1)TP(true positive),將正類預測為正類數(shù),即預測為正例,實際上也為正例;
(2)FN(false negative),將正類預測為負類數(shù),即預測為反例,實際上為正例;
(3)FP(false positive),將負類預測為正類數(shù),即預測為正例,實際上為反例;
(4)TN(true negative),將負類預測為負類數(shù),即預測為反例,實際上也為反例。
模型使用Adam 優(yōu)化器,參數(shù)設置為:dw=200、dp=50,dt=50。 每批數(shù)據(jù)量的大小batch_size=8,學習率lr=0.005,LSTM 隱向量的維數(shù)hidden_size=64,dropout=0.5,迭代次數(shù)epochs=25。損失值與迭代次數(shù)的關系,如圖6 所示,其中:loss 表示訓練集的損失值;val_loss 表示測試集的損失值。由圖6 可知,在迭代25 次左右時,損失收斂。
圖6 損失值-迭代次數(shù)曲線圖Fig.6 Loss-epoches graph
3.5.1 實體識別結果
在民航不文明旅客數(shù)據(jù)集上進行實驗,對旅客姓名、時間等8 類實體進行識別,具體結果如表6 所示。
表6 實體識別結果Tab.6 Entity recognition results
由表6 中的實驗結果可知:Tag+Bi-LSTM+CRF 模型的實體識別效果較好,其P、R、F1 均值都達到了96%以上。 對于單個實體,根據(jù)實體的復雜程度和訓練集中的數(shù)量不同會有差異。同一個實體的B-、I-、E-識別結果不同是因為在一個實體中,可以包含多個中間的字。 由表6 可看出:①對于罰款金額、拘留時間和不文明期限實體的識別準確率較高,基本能達到99%,原因可能是這幾個屬性的結果較為穩(wěn)定,且原始數(shù)據(jù)集里存在大量的包含這幾個屬性的重復句子,導致分割得到的測試集包含了一些訓練集中的內(nèi)容;②相對而言,不文明行為實體的識別準確率較低,其準確率為79%左右,原因可能是旅客的不文明行為多種多樣,且沒有統(tǒng)一的行為描述詞;③姓名、航班、機場等實體的識別效果和平均識別效果差距不大。
3.5.2 對比實驗
為了驗證Tag+Bi-LSTM+CRF 模型對民航不文明旅客實體識別的有效性,將該模型與已有的經(jīng)典模型如HMM、CRF、雙向Bi-LSTM 進行對比,對8 類實體識別的結果進行綜合評估,實驗結果如表7所示。
表7 實驗結果對比Tab.7 Comparison of experimental results
從表7 可看出:Tag+Bi-LSTM+CRF 模型對民航不文明旅客實體識別表現(xiàn)出更好的總體性能,能夠識別出民航不文明旅客數(shù)據(jù)中的8 類實體,可以用在民航不文明旅客服務規(guī)則庫的命名實體識別上;HMM 模型的表現(xiàn)效果最差,可能原因為HMM 只依賴于每一個狀態(tài)和其對應的觀察對象,而實體識別問題不僅和單個詞相關,而且和序列長度、單詞上下文都相關;CRF模型和Bi-LSTM 模型的效果相當,但這兩個模型的性能依賴于數(shù)據(jù)規(guī)模的大小和應用場景,在數(shù)據(jù)規(guī)模較小時,CRF 的實驗效果要略優(yōu)于Bi-LSTM,當數(shù)據(jù)規(guī)模較大時,Bi-LSTM 的效果會超過CRF,從場景來說,如果需要識別的任務不需要太依賴長久的信息,此時Bi-LSTM 等模型只會增加額外的復雜度??紤]到數(shù)據(jù)規(guī)模大、識別任務不需要太依賴長久的信息,結合了Bi-LSTM 和CRF,充分利用了模型的優(yōu)點,實現(xiàn)了最佳性能。
3.5.3 網(wǎng)絡優(yōu)化器對實驗結果的影響
網(wǎng)絡優(yōu)化器對實體識別的結果有很大影響,因此選用合適的優(yōu)化器是非常重要的。本實驗通過對比不同的優(yōu)化器對實體識別效果的影響,選取了Adam、AdaGrad、SGD 進行實驗,結果如圖7 所示。
由圖7 可知,當選用Adam 優(yōu)化器時,命名實體識別的P、R 和F1 均達到最大值,而使用SGD 優(yōu)化器,各項性能指標都最低。
圖7 網(wǎng)絡優(yōu)化器對實驗結果的影響Fig.7 The influence of network optimizer on experimental results
3.5.4 dropout 對實驗結果的影響
為增強模型的泛化能力,在Bi-LSTM 和CRF 層之間加入了dropout 層,不同的取值會影響模型的效果,如圖8 所示,當dropout=0.5 時,模型的各項性能達到最優(yōu)。
圖8 Dropout 曲線Fig.8 Dropout curve
結合民航不文明旅客數(shù)據(jù)記錄每條數(shù)據(jù)包含多個實體的特點,提出基于字的Tag + Bi-LSTM + CRF的實體識別模型。與經(jīng)典模型相比,該模型表現(xiàn)較好,對民航不文明旅客信息實體識別精確率、召回率與F1均高達96%以上,能有效獲取民航不文明旅客行為、等級、處罰、期限等信息。但由于旅客記錄數(shù)據(jù)有些屬性值相對簡單,且描述較為單一,其對應屬性的F1 值較高,而描述相對復雜屬性的F1 值相對較低。 在未來的工作中需要繼續(xù)優(yōu)化神經(jīng)網(wǎng)絡結構,采集更多不規(guī)則的民航不文明旅客數(shù)據(jù)集,提高模型訓練性能。