金彥亮, 謝晉飛, 吳迪嘉
(上海大學通信與信息工程學院, 上海 200444)
命名實體識別(named entity recognition, NER)是自然語言處理中的底層關鍵技術, 其主要目的是在非結構化文本中提取出具有特定含義的實體, 并將其分類為預定義的類型, 如人名、地名和組織名等. 有效地識別出有意義的實體對于自然語言的語義理解起著至關重要的作用, 并有利于進行關系提取、事件抽取和問答系統等后續任務. 近年來, 非嵌套命名實體識別的研究取得了較大的進展, 但是非嵌套命名實體識別未考慮文本中命名實體嵌入其他實體中的情況. 如圖1 所示, 句子“[[上海市][金山區]新華書店]”是2 層嵌套命名實體, 其中地名(location, LOC)被嵌入到組織機構名(organization, ORG)中. 這種復雜的中文文本給命名實體識別任務帶來技術上的挑戰.

圖1 嵌套命名實體示例Fig.1 Example of nested named entities
對于中文命名實體識別任務, 現有的標準方法是將該任務看作一個序列標注問題,并利用雙向長短時記憶網絡(bidirectional long short-term memory, BiLSTM)和條件隨機場(conditional random field, CRF)來捕獲上下文字符的信息, 最終通過對字符分配標記來完成命名實體識別. 序列化標注的方法可分為基于詞模型和基于字符模型的方法. 前者存在2 個問題: ①單詞邊界模糊導致分詞準確度具有不確定性; ②單詞數量龐大容易出現未登錄詞(out of vocabulary, OOV). 而基于字符模型的方法對嵌套命名實體進行識別可以有效避免上述問題, 但是該方法只利用了字符的信息, 不能捕捉潛在的詞級別信息. 因此, 如何合理地在字符模型方法的基礎上引入潛在的詞匯信息對于提高嵌套命名實體識別的準確率有著重要的意義.
為提高中文嵌套命名實體識別的性能, 本工作提出了一種層級神經網絡模型. 該模型在BiLSTM 模型的基礎上引入了基于位置感知的自注意力機制, 可以有效識別當前層級實體的邊界信息, 克服傳統的基于字符模型的缺點. 首先, 在輸入層中由詞長度特征得到的Softword 將被作為字符向量特征的補充. Softword 的引入可以使字符序列模型利用潛在的詞序列信息, 在輸入層同時獲取字符信息和詞匯信息. 其次, 得到高維度特征后, 將輸入層特征表示送入BiLSTM 模型以進行特征提取并生成有效的上下文信息表示. 然后, Highway 神經網絡被用來獲取句子中感興趣的字符表示. 最后, 模型使用位置感知自注意力在多個不同子空間捕獲相鄰字符信息, 輸出識別結果. 實驗結果表明, 本模型相比于幾種基線模型在實體識別中取得了較好的性能.
現有的嵌套命名實體識別方法可以分為3 類: 基于規則和字典的方法、基于機器學習的方法和基于深度學習的方法. 早期的命名實體識別系統主要基于規則和字典, 其缺點是規則的靈活性差、可擴展性差和OOV 單詞查找能力不足. 隨著統計機器學習的出現, 命名實體識別任務被抽象為序列標記問題. 傳統的序列標記方法大多采用層次模型, 將嵌套命名實體識別任務轉換成多個層次的序列標注問題. 周俊生等[1]利用層疊條件隨機場模型來識別中文機構命名實體, 該方法在低層條件隨機場進行人名和地名實體識別, 并將結果傳遞到高層條件隨機場,以識別復雜的嵌套組織機構名; Fu 等[2]采用雙層條件隨機場模型進行嵌套命名實體識別, 低層模型識別基本實體, 高層模型在已經識別的基本實體上引入實體語素特征以識別出嵌套的命名實體; 尹迪等[3]提出了一種聯合學習模型, 將中文嵌套命名實體識別看作是一種聯合切分和標注的任務, 該模型能夠處理分詞和嵌套命名實體識別任務; Xing 等[4]構建層次條件隨機場模型來完成中文微博命名實體識別任務, 在低層條件隨機場設置滑動窗口來提取文本的實體特征, 高層條件隨機場基于低層的特征進行實體識別; 李雁群等[5]采用由內而外的層次模型方法,利用外部數據語料和多個條件隨機場模型來識別由內到外不同嵌套層次的實體. 但是, 以上模型都嚴重依賴于特征工程和外部資源. 近年來, 深度學習提供了一種解決自然語言處理問題的新方法; Katiyar 等[6]提出了一種循環神經網絡構建方法, 該方法使用從循環神經網絡提取的特征來學習嵌套實體的超圖表示, 在嵌套實體抽取任務中有著優秀的表現, 基于圖結構的方法在很大程度上具有很高的復雜性; Ju 等[7]利用動態堆疊的LSTM-CRF 模型從內到外提取實體, 這種層次化結構在生物醫學嵌套命名實體識別中有較好的效果; 顧溢[8]設計了多層的基于位置信息和主題信息優化的BiLSTM-CRF 模型結構, 低層網絡在優先側重召回率的情況下進行粗粒度命名實體的識別, 然后將低層網絡輸出送給高層網絡進行細粒度命名實體識別, 該方法在新聞嵌套命名實體識別中取得了不錯的效果.
上述方法研究表明, 通過構建多層命名實體識別模型來層次化識別嵌套命名實體, 可以獲得不錯的效果. 但是, 這些方法無法有效捕獲嵌套實體之間的邊界信息, 這將限制嵌套實體識別的性能. 為了解決上述問題, 本工作提出了一種層疊深度神經網絡模型, 該模型在不利用外部資源情況下可以有效識別嵌套實體相應層級的邊界信息, 實現端到端的特征提取.
與大多數命名實體識別方法一樣, 本工作也將實體識別任務轉化為序列標注問題. 本模型架構如圖2 所示. 整體結構分為5 層: 第1 層為字粒度嵌入層, 獲得字粒度的特征向量表示;第2 層為基于Highway-BiLSTM 的編碼層, 經過Highway-BiLSTM 編碼器得到上下文的序列表示; 第3 層為基于位置感知的注意力信息交換層, 通過注意力網絡來捕獲每層實體類型邊界信息; 第4 層為Gate 過濾層, 利用Gate 過濾機制對相應的文本特征表示進行嵌套識別; 第5 層為CRF 解碼層, 基于單詞標簽之間的制約關系, 從內到外分別給出每層的最優標注序列.

圖2 本模型的總體框架Fig.2 Overall framework of the proposed model
大多數研究表明, 將分詞信息作為基于字符NER 模型的softword 可以有效提高實體識別性能[9-10]. 在本模型中, 分割的標簽向量被用來連接字向量以增強輸入編碼的表示能力. 分詞信息由BIOES 標記策略表示,其中B 表示為實體的開始部分, I 表示為實體的中間部分, E 表示為實體的結尾, S 表示為單個實體的標記, O 表示為非實體的部分. 在字粒度表示層上, 中文句子被編碼為X={x1,x2,··· ,xn}, 其中xi表示為輸入句子X中的第i個字符, 則每個字符的輸入表示都以xci的形式嵌入到分布空間中:

式中:ec和es分別為預訓練的字向量表和分詞標簽向量表;⊕表示連接操作符; seg(xi)表示由分詞器得到的詞向量.
Hochreiter 等[11]提出了用LSTM 來解決傳統遞歸神經網絡的梯度消失和梯度爆炸問題,該方法利用自適應門控機制和存儲單元來更好地建模句子長距離依賴關系. 對于給定句子X={x1,x2,··· ,xn}, 每個時刻t中各個單元的隱藏狀態ht計算如下:

式中:σ為邏輯回歸中的sigmoid 函數;it、ft、ot、ut、ct分別為輸入門、遺忘門、輸出門、時刻記憶單元狀態候選值和狀態值;W、U為LSTM 單元輸出的權值矩陣;b為偏置向量;⊙為元素級乘法計算.
因隱藏狀態流是單向傳遞的, LSTM 僅保留單向序列的信息. 為了利用雙向序列信息, 本工作采用雙向LSTM 捕獲句子的上下文特征. 通過構造2 個正反方向的隱藏層來捕獲上下文信息, 得到隱藏狀態輸出ht為

Highway 網絡允許信息高速穿過深度神經網絡的各個層, 從而有效地減緩了梯度消失問題. 本工作使用Highway 網絡的自適應門控來控制信息流, Highway 網絡架構如圖3 所示. 通過Highway 網絡層, 模型可以智能地選擇與當前字符更相關的單詞. 其計算如下:

圖3 Highway 網絡結構Fig.3 Architecture of Highway network layer

式中:σ為邏輯回歸中的Sigmoid 函數;f為整流線性單元;W、b分別為對應權值矩陣和偏置向量;⊙表示元素級乘法計算; tg 表示轉換門, 控制有多少信息被轉換并傳遞給下一層,而1-tg 稱為進位門, 允許輸入直接傳遞到下一層. 因此, Highway 網絡的輸入h和輸出z需要保持相同形狀.
在字符向量經Highway-BiLSTM 編碼后, 自注意力網絡被用來學習句子中任意2 個字符之間的依賴關系, 以及捕獲句子的內部結構信息. 在嵌套命名實體識別模型中, 各層的注意力網絡都在相應的嵌套級別識別重疊的實體, 彼此相互獨立.
在嵌套實體中, 內層嵌套的邊界特征有益于外層嵌套實體的識別. 因此, 本工作結合不同層級實體的位置信息設計了跨層的注意力機制, 用來實現不同層實體邊界信息的交換. 位置信息有助于提升注意力機制的編碼能力, 從而幫助模型更好地評估句子內每個字符的相對貢獻. 對于輸入句子X={x1,x2,··· ,xn}, 本工作使用共享的可訓練嵌入矩陣P來獲得相應的位置嵌入表示XPi={pi1,pi2,··· ,pin}. 對于第一層嵌套實體, 模型使用Highway-BiLSTM 輸出Z= [z1,z2,··· ,zn]來初始化K和V, 并在全局序列特征表示Z上引入額外的位置信息查詢來初始化Q. 后續嵌套層則將內層的上下文注意力表示ck-1作為額外查詢來初始化Q, 其中K和V值與第一層相同. 該注意力的計算可以表示為

多頭注意力機制在參數不共享的前提下,首先通過使用不同的線性投影矩陣將Q、K、V投影h次; 然后,h個投影并行執行縮放的點積注意, 得到不同空間的注意力headi, 最終將其合并投影以得到新的特征表示. 多頭注意力可以表示為

考慮到序列中每個位置標簽的權重不一致性和嵌套實體分層識別帶來的誤差擴散, 本模型引入了一種Gate 過濾機制對序列特征表示進行調整, 將zt和ct加權得到結合上下文特征和自身特征的表示. Gate 過濾機制輸出表示為

式中:σ為邏輯回歸中的sigmoid 函數;Wg、bg分別為對應權值矩陣和偏置向量;⊙為元素級乘法計算.
最后, 執行一個全連接層來計算概率評分矩陣, 其計算如下:

式中:Ws、bs分別為全連接層的權值矩陣和偏置向量.
在NER 序列標記任務中, 相鄰字符的標簽之間有很強的依賴性, 如I-LOC(I-location)標簽不能出現在B-PER(B-person)標簽或S-PER(S-person)標簽后面. 因此, 模型不是直接使用全連接層的輸出來做標記決策, 而是利用CRF 來共同推斷實體標記序列的輸出. 這里,CRF 可以表達這種依賴性并有效地向最終的預測標簽序列添加一些約束.
對于給定句子X={x1,x2,··· ,xn}, CRF 層被訓練用來預測最大概率標簽序列y={y1,y2,··· ,yn}, 標記序列的分數計算如下:

式中:Oi,yi表示為句子中第i個字符xi的第yi標簽的分數;T為轉移分數矩陣, 表示從標簽i到標簽j的轉移得分;y0和yi+1為句子的開始和結束標記, 被添加到可能的標記集中. 真實標簽序列y的概率定義為

式中:y為正確的標簽序列; ~y為任意標簽序列;Yx為輸入的所有可能輸出標簽序列的集合. 在解碼階段, 維特比算法被用來預測獲得最高得分標記序列的最佳路徑.

在訓練過程中, 本模型使用對數似然作為結構損失函數. 給定一組訓練示例{(xi,yi)}|Ni=1,第n層的損失函數Ln可以定義為式中:k為嵌套的層數, 目標函數由各層損失函數加權平均得到. 最后, 本工作采用Adam 更新規則的隨機梯度下降方法來優化目標函數[12].
為驗證所提模型的有效性, 本工作采用由北京大學標注的1998 年1 月份的《人民日報》語料進行相關實驗研究. 該語料包含了19 484 個句子, 并提供了2 層嵌套實體信息. 本工作將80%的語料用作訓練集, 10%的語料作為驗證集, 10%的語料作為測試集. 該語料的詳細的統計信息如表1 所示.

表1 《人民日報》數據集結構Table 1 Structure of information People′s Daily dataset
該語料已經標注了人名、地名和組織機構名等信息. 本工作采用BIOES 標記策略表示命名實體, 從原始數據自動提取已經標注的嵌套實體信息, 并去除特殊標點字符和數字日期表示. 該語料中各實體類型統計信息如表2 所示.

表2 《人民日報》數據集統計信息Table 2 Detailed statistics information of People′s Daily dataset
本模型采用Tensorflow 框架, 并用NVIDIA 的1080Ti GPU 進行加速訓練. 本工作將字符嵌入大小和BiLSTM 的隱藏層大小設為300 維, 多頭自注意機制的投影數h設為6.Highway 網絡的門偏置使用-1 矢量初始化. Adam 作為模型優化工具, 初始學習率設為0.001,梯度范數為5. 為避免過度擬合, 使用dropout 技術來防止過擬合, 其值設為0.5. 設定100 個訓練階段, 并采用了早期停止策略. 實驗中模型使用的字符嵌入來自Li 等[13], 是由負采樣Skip-Gram 在3.9 G 的人民日報語料上進行預訓練生成. 實驗中具體的參數設置如表3所示.

表3 參數設置Table 3 Parameter settings
為了驗證本模型的有效性, 將本模型結果與其他5 個模型結果進行了對比, 其中3 個模型是文獻中提到的方法[1,3,5]. BiLSTM+CRF 將作為基準模型, Highway-BiLSTM+CRF 模型在基準模型的基礎上引入了Highway 信息過濾層. 本模型在Highway-BiLSTM+CRF 模型基礎上引入了具有位置感知的多頭注意力機制. 實驗對比結果如表4 所示.

表4 《人民日報》數據集實驗結果Table 4 Experimental results on People′s Daily dataset
表4 中列出了本模型在1998 年1 月份《人民日報》語料上的性能. 周俊生等[1]提出了層疊條件隨機場模型用于識別中文嵌套機構名, 該算法在低層模型中識別較簡單的人名、地名等實體, 并將低層識別結果傳遞到高層模型, 為高層復雜機構名的識別提供決策支持, 獲得了89.07%的F1 分數值; 尹迪等[3]提出了一種聯合學習模型, 將嵌套命名實體識別看作是一種聯合切分和標注任務, 該模型可以實現較快的收斂速度, 達到了80.85%的F1 分數值; 李雁群等[5]在原始語料上采用半自動標注方式重新標注了多層的嵌套命名實體, 取得了94.22%的準確率, 但在召回率上表現不足.
同時, 從表4 可以看出, 本模型僅使用了字符嵌入和softword 詞信息便獲得了90.35%的F1 分數值. 實驗結果表明, 基準模型的R分數值和F1 分數值已經超越了文獻中模型的結果. 與基準模型相比, Highway-BiLSTM+CRF 模型在F1 得分方面有著顯著提高, 取得了90.91%的F1 分數值. 這表明門控網絡可以執行更詳細的特征提取, 并學習更復雜的依賴關系. 由表4 可知, 在加入基于位置感知自注意力機制后, 模型的整體性能得到了提升, 本模型的F1 分數值比文獻[1]模型的結果(89.07%分數值)提升了2.34%, 并比基準模型提升了1.06%, 表明本模型具有更強的特征提取能力, 在不需要引入外部詞典信息情況下, 可以有效地應用到中文嵌套命名實體識別任務.
為了驗證所提模型的泛化能力, 本工作將模型的任務層數k設置為1, 使本模型變為非嵌套NER 模型, 并與非嵌套命名實體識別的模型進行比較. 本實驗采用2006 年SIGHAN 中文命名實體識別評測的MSRA 數據集[14]. 該數據集包含3 種帶標記的命名實體類型: 人名、地名和組織名. MSRA 數據集具體統計信息如表5 所示. 驗證集在MSRA 數據集中不可用. 因此, 本工作將訓練集的10%數據作為驗證樣本.

表5 MSRA 數據集統計信息Table 5 Detailed statistics information of MSRA dataset
本模型在MSRA 數據集上的性能如表6 所示. Zhou 等[15]將中文NER 視為聯合識別和分類任務, 并利用具有豐富的人工特征的統計模型實現了90.28%的F1 分數值; Dong 等[16]提出了結合漢字偏旁部首特征的LSTM-CRF 來進行中文命名實體識別; Cao 等[17]使用對抗遷移學習和自注意力機制來聯合訓練中文NER 任務和中文分詞任務, 以獲得更好的性能; Yang 等[18]考慮語義信息和n-gram 特征, 提出了一種基于五筆的CNN-BiRNN-CRF 的中文NER 任務模型, 并取得了91.67%的F1 分數值; Xu 等[19]研究了不同的字符嵌入在BiGRUCRF 中文命名實體識別框架上的效果, 得到了91.45%的F1 分數值.

表6 MSRA 數據集實驗結果Table 6 Experimental results on MSRA dataset
從表6 可知, 與現有的非嵌套NER 模型相比, 本模型和Highway-BiLSTM+CRF 模型均取得了較好的F1 分數值, 且本模型F1 分數值超越了表中所有模型的結果, 達到了92.74%,較Yang 等[18]的模型提高了1.07%的F1 分數值. 可見, 本模型也可以較好地對非嵌套實體識別進行建模, 模型通用性較好.
本工作針對中文嵌套命名實體任務的特點, 提出了一個基于分層標注的嵌套命名實體識別模型. 該模型在不使用外部資源的情形下, 能夠通過完全端到端的方式, 利用內部實體信息來學習嵌套實體之間的依賴關系. 在《人民日報》語料上的實驗結果表明: 具有位置感知的自注意力機制可以有效捕獲文本特征和每層嵌套實體的邊界信息; 同時Gate 過濾機制可對輸入特征進行調整, 使模型能專注于學習與實體相關的特征, 從而提高了對中文嵌套命名實體的識別能力. 最終, 本模型F1 分數值為91.41%, 取得了較好的效果. 由于中文語料庫的限制, 故本工作只考慮了2 層嵌套命名實體的識別, 對于多層嵌套命名實體識別, 可對本模型進行擴展.在今后的研究工作中, 本工作將擴大實驗的規模, 進一步驗證模型的有效性, 并降低模型計算成本以提高模型的學習效率.