龔艷,汪玉,梁昌明,黃林鈺,樂漢,徐圣嬰,王本強
(1.上海市公安局科技處,上海 200042;2.上海德拓信息技術股份有限公司,上海 200030)
命名實體識別(Named Entity Recognition,NER)又稱為要素提取,是指識別文本中具有特定意義的實體,主要包括人名、地名、機構名、專有名詞等,簡而言之就是識別自然文本中實體指稱的邊界和類別,在自動文本摘要、機器翻譯、信息檢索、問題回答等不同自然語言的應用中具有至關重要的作用。
目前,公安系統已經初步建立了能覆蓋業務場景和滿足使用需求的應用系統體系,并在實際使用過程中積累了大量案件數據。這些數據和現有公安數據、社會數據在公安日常工作中起著至關重要的作用,如在警情統計分析中需進行同時間、同地點等更細膩的要素統計分析;分析同一案件人員的串聯關系,用于警情串并案;對于重點人員、重點車輛等要素進行預警分析等。因此,隨著各類警務活動的深入開展,建立一個高精度、高覆蓋率的警情要素提取模型迫在眉睫。
近年來,神經網絡與傳統機器學習相結合的方法在端到端NER系統中的應用越來越廣泛。例如,文獻[5]提出基于詞向量+條件隨機場(Conditional Random Fields,CRF)的NER方法;文獻[6-7]提出基于雙向長短時記憶神經網絡(Bi-directional Long Short-Term Memory,BiLSTM)+卷積神經網絡(Convolutional Neural Networks,CNN)的實體提取模型;文獻[8-9]提出基于BiLSTM+CRF的NER方法;文獻[10]提出基于BiLSTM+CNN+CRF的序列標注方法。然而,但上述方法均存在未引入預訓練知識且抽取內容單一等問題。
為此,本文提出多模型融合警情要素提取方法,主要由兩部分組成。對于人名、地名、機構名等無明顯規律的要 素,采 用BERT(Bidirectional Encoder Representations from Transformers)+BiLSTM+CRF方法。該法相較傳統深度學習方法提取的上下文語義信息更加豐富準確,同時很好地解決了一詞多義的問題;對于時間、車牌號等具有一定規律的數據,采用模式識別方法搜集要素規律,制定相關規則,抽取出符合該規則的要素類型。最后結合兩種方法,抽取出人名、地點、機構名、丟失物品、金額、身份證號、手機號、銀行卡號、時間、IMEI、MAC、車牌號、性別、文化程度、血型、民族16種要素,以滿足實際業務需求。
采用BERT+BiLSTM+CRF模型對人名、地點、機構名、丟失物品、金額5類要素進行抽取,該模型由BERT字向量表征層、BiLSTM雙向編碼層、CRF解碼層組成。首先采用BERT對文本中的每個字進行向量表征,利用上下文信息使每個字不僅包含其本身的語義信息,還能包含上下文的語義信息;然后通過BiLSTM進行更深層次的編碼;最后利用CRF進行解碼及序列標注,從而得到每個字所對應的類別。
BERT+BiLSTM+CRF模型架構如圖1所示,其中Text
為輸入文本,每個字映射為Tok
1、Tok
2…TokN
對應數字。利用BERT層將數字映射為對應的字向量E
、E
…E
,融合句子上下文信息,將字向量表征為T
、T
…T
;然后利用BiLSTM層進一步學習句子的序列信息,得到P
、P
…P
;最后利用CRF進行解碼,得到每個字所對應的類別Tag
、Tag
…Tag
。2.1.1 BERT預訓練語言模型
近年來,預訓練語言模型逐漸成為自然語言處理領域的一大熱點,被廣泛應用于自然語言推理、命名實體識別、知識問答等領域。傳統語言模型僅從統計的角度考慮,沒有考慮上下文信息,難以解決一詞多義問題。隨著神經網絡的發展,近年來出現了ELMO(Embedding from Language Models)、GPT(Improving Language Understanding by Generative Pre-Training)等優秀的語言模型,均取得了不錯效果。Devlin等提出的BERT預訓練語言模型更是一舉拿下自然語言處理領域的14個冠軍,成為近年來領先的預訓練語言模型。

Fig.1 Structure of BERT+BiLSTM+CRF model圖1 BERT+BiLSTM+CRF模型架構
采用BERT模型作為字向量表征層,結構如圖2所示。其中,P
、P
……P
為位置編碼,用于存儲每個字對應的位置信息;E
為句子編碼,用于區分上下句;t
、t
……t
為字向量,用于儲存字信息;加入特殊符號[CLS],用于后續分類任務。將3個部分的信息相加融合形成E
、E
……E
,作為輸入向量,再經過BERT模型將字向量表征為T
、T
……T
。
Fig.2 Structure of BERT model圖2 BERT模型結構
BERT的特征提取采用Transformer(Attention is All You Need)的編碼部分,該部分由多個編碼層(Encoder)堆疊而成。每個編碼層由自注意力機制(Self-attention)和前饋神經網絡(Feed-forward)兩部分構成,結構如圖3所示。
編碼層中的主要部分為Self-attention層,具體結構如圖4所示。每個字都有Q(Query)、K(Key)、V(Value)3個向量,分別由其對應的字向量與w
、w
、w
3個矩陣相乘得到,表示為:
Fig.3 Structure of Encoder in the Transformer圖3 Transformer中的Encoder結構

x
為每個字經過映射對應的字向量,維度為512×768;w
、w
、w
為初始化后的學習矩陣,維度為768×64。
Fig.4 Structure of self-attention圖4 Self-attention結構
在自編碼中,單個詞的Attention值計算結果如圖4中公式所示。采用字a對應的K
向量與字a所對應的Q
向量點乘,產生對應的score值,再利用Softmax對score進行歸一化,表示為:

此外,為提取更深層的語義信息,Transformer中使用了多頭注意力機制(Multi-Headed-Attention),即重復式(4)、式(5)計算,再將結果進行拼接,表示為:

t
為Multi-Headed個數。為防止模型退化,Transformer中借鑒了殘差結構,將上一層參數與這一層參數相加融合。同時,為加速模型的學習速度,引入批歸一化(Normalize)方法,將參數縮放至類正態分布。
2.1.2 BiLSTM層
采用長短時記憶神經網絡(Long Short-Term Memory,LSTM)層進行更深層次的編碼。LSTM是循環神經網絡的一種,由于其能夠儲存序列信息,在序列標注任務中應用廣泛。LSTM的結構如圖5所示。

Fig.5 Structure of LSTM algorithm圖5 LSTM結構
LSTM主要由遺忘門、學習門、記憶門和使用門組成,同時利用長時記憶C和短時記憶h作為記憶單元。對于第t
個輸入來說,h
、C
的更新方式為:


τ
為tanh激活函數,用于擬合模型非線性能力,表示為:
為緩解LSTM產生的長時依賴問題,本文模型采用雙向LSTM模型BiLSTM,即正向逆向各進行一次LSTM,再將兩者信息進行拼接融合。
2.1.3 CRF層
CRF是經典無向圖之一,其核心思想為給定一組輸入序列條件下另一組輸出序列的條件概率分布模型,最常見的形式為線性鏈(Linear Chain),結構如圖6所示。該模型假設馬爾可夫隨機場中只有X和Y兩個變量,X一般是給定的,而Y是X給定條件下模型的輸出。
在線性CRF中,特征函數分為兩類:第一類是定義在Y節點上的節點特征函數,該函數只與當前節點有關,表示為:

第二類是定義在Y上下文的局部特征函數,該函數只與當前節點的上一個節點有關,表示為:

Fig.6 Structureof CRF圖6 CRF結構

無論是節點特征函數還是局部特征函數,它們的取值只能是0或1,分別表示滿足特征條件或不滿足特征條件。此外,可以為每個特征函數賦予一個權值,用于表達對該特征函數的信任度,從而得到線性CRF的參數化形式:

以上公式中涉及的參數均采用梯度下降法求解。為減少計算量,采用維特比算法求得局部最優解。
采用模式識別方式抽取身份證號、手機號、銀行卡號、時間、IMEI、MAC、車牌號、性別、文化程度、血型、民族11種要素。模式識別的原理是通過搜集要素規律制定相關規則,抽取出符合該規則的要素類型。例如,身份證號的固定長度為18位,由地址碼、出生日期碼、順序碼和校驗碼組成,其中前6位為地址碼,第7-14位為出生日期碼,第15-17位為順序碼,第18位為校驗碼。再如關于時間的規律比較雜亂且多,分為5個部分進行分析:①標準時間,如2020-11-11 23:59:59、2020/11/11;②數字中文混合,如2020年十一月11日;③年、月、周、天,如上周日、周日下午、明天、上月末、去年十月一號;④節日,如端午節、圣誕節、春節;⑤時間段,如近3天、10月11日到11月11日。
遵循BERT+BiLSTM+CRF模型訓練規則,數據采用BIOES編碼方式,其中B代表每個類別的起始字,I代表中間字,E代表結束字,S代表單個字,O代表無關字。
BERT層采用Google中文預訓練語言模型參數作為初始參數,并在此基礎上進行微調(Fine-tuning)。模型包含12個Encoder層,每個隱藏層有768個參數,12個Multi-Headed;BiLSTM層中,神經元個數為256,向上堆疊2層;CRF層中輸出21個類別。
選取Adam優化器,訓練30批次,每個批次大小為256,初始學習率為1×10,并在每個Epoch結束后衰減5%。同時,為了防止過擬合,在訓練過程中隨機丟棄10%的參數。
模型采取精確率(Precision)、召回率(Recall)、F1值作為評估標準。
精確率用于評估抽取出來要素的準確性,表示為:

召回率用于評估要素抽取的全面性,表示為:

F1用于評估模型整體效果,表示為:

本文使用的數據集由8萬篇警情構成,警情字數范圍為50~100個。為保證測試公平性,采用十折交叉法驗證。識別實體包括人名、地名、機構名、丟失物品、金額、身份證號、手機號、銀行卡號、時間、IMEI、MAC、車牌號、性別、文化程度、血型、民族。
對人名、地名、機構名、丟失物品、金額進行命名實體識別,比較Word2vec+CRF、BiLSTM、BiLSTM+CRF、BiLSTM+CNN+CRF、BERT+BiLSTM+CRF模型的性能,結果見表1。可以看出,BERT+BiLSTM+CRF在精確率、召回率、F1值上均比其他模型提升3%以上。

Table1 Results of named entity recognition of each model表1 命名實體識別效果比較 (%)
比較各批次下BERT+BiLSTM+CRF模型在測試集中的性能(見表2),1個批次時,測試集的F1值即達到94.0%,在20個批次左右F1值達到95.2%,后續訓練無明顯提升。

Table2 Effect of BERT+BiLSTM+CRF model in different batches of test dataset表2 BERT+BiLSTM+CRF模型在不同批次下的測試集效果(%)
30個訓練批次完成后,BERT+BiLSTM+CRF模型對各個實體的抽取效果見表3。對于人名、地名、機構名、金額的抽取,F1值均能達到95%以上;丟失物品的不規律性過強,很多描述模棱兩可,對模型理解造成較大干擾,導致其F1值僅在78%左右。
比較模式識別模型對不同實體的抽取效果(見表4),發現除時間外,其余要素召回率均超過95%,F1值均超過93%。

Table3 Effect of BERT+BiLSTM+CRF model in different entities表3 BERT+BiLSTM+CRF模型對不同實體的抽取效果 (%)

Table4 Effect of pattern recognition model in different entities表4 模式識別模型對不同實體的抽取效果 (%)
比較模式識別和表1中5種深度學習方法對身份證號、手機號、銀行卡號、時間、IMEI、MAC、車牌號、性別、文化程度、血型、民族要素的抽取效果(見表5),可以看出,模式識別的評價指標相較其他方法均提升超過1%。

Table5 Results comparison of named entity recognition based on pattern recognition and deep learning methods表5 模式識別與深度學習方法效果比較 (%)
基于多模型融合的要素提取方法旨在解決警情中日益增長的不同種類要素提取需求,為此,本文建立了抽取詞義關鍵信息的BERT+BiLSTM+CRF模型,以及抽取符合一定規則要素的模式識別模型。實驗結果表明,該模型具有較高的準確率,且能夠滿足不同種類的要素提取需求。后續計劃將BERT+BiLSTM+CRF模型與模式識別模型融合起來,形成端到端的一體化模型,并繼續探索新類型的警情要素提取方法。