龔艷,汪玉,梁昌明,黃林鈺,樂(lè)漢,徐圣嬰,王本強(qiáng)
(1.上海市公安局科技處,上海 200042;2.上海德拓信息技術(shù)股份有限公司,上海 200030)
命名實(shí)體識(shí)別(Named Entity Recognition,NER)又稱為要素提取,是指識(shí)別文本中具有特定意義的實(shí)體,主要包括人名、地名、機(jī)構(gòu)名、專有名詞等,簡(jiǎn)而言之就是識(shí)別自然文本中實(shí)體指稱的邊界和類別,在自動(dòng)文本摘要、機(jī)器翻譯、信息檢索、問(wèn)題回答等不同自然語(yǔ)言的應(yīng)用中具有至關(guān)重要的作用。
目前,公安系統(tǒng)已經(jīng)初步建立了能覆蓋業(yè)務(wù)場(chǎng)景和滿足使用需求的應(yīng)用系統(tǒng)體系,并在實(shí)際使用過(guò)程中積累了大量案件數(shù)據(jù)。這些數(shù)據(jù)和現(xiàn)有公安數(shù)據(jù)、社會(huì)數(shù)據(jù)在公安日常工作中起著至關(guān)重要的作用,如在警情統(tǒng)計(jì)分析中需進(jìn)行同時(shí)間、同地點(diǎn)等更細(xì)膩的要素統(tǒng)計(jì)分析;分析同一案件人員的串聯(lián)關(guān)系,用于警情串并案;對(duì)于重點(diǎn)人員、重點(diǎn)車輛等要素進(jìn)行預(yù)警分析等。因此,隨著各類警務(wù)活動(dòng)的深入開展,建立一個(gè)高精度、高覆蓋率的警情要素提取模型迫在眉睫。
近年來(lái),神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)機(jī)器學(xué)習(xí)相結(jié)合的方法在端到端NER系統(tǒng)中的應(yīng)用越來(lái)越廣泛。例如,文獻(xiàn)[5]提出基于詞向量+條件隨機(jī)場(chǎng)(Conditional Random Fields,CRF)的NER方法;文獻(xiàn)[6-7]提出基于雙向長(zhǎng)短時(shí)記憶神經(jīng)網(wǎng)絡(luò)(Bi-directional Long Short-Term Memory,BiLSTM)+卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)的實(shí)體提取模型;文獻(xiàn)[8-9]提出基于BiLSTM+CRF的NER方法;文獻(xiàn)[10]提出基于BiLSTM+CNN+CRF的序列標(biāo)注方法。然而,但上述方法均存在未引入預(yù)訓(xùn)練知識(shí)且抽取內(nèi)容單一等問(wèn)題。
為此,本文提出多模型融合警情要素提取方法,主要由兩部分組成。對(duì)于人名、地名、機(jī)構(gòu)名等無(wú)明顯規(guī)律的要 素,采 用BERT(Bidirectional Encoder Representations from Transformers)+BiLSTM+CRF方法。該法相較傳統(tǒng)深度學(xué)習(xí)方法提取的上下文語(yǔ)義信息更加豐富準(zhǔn)確,同時(shí)很好地解決了一詞多義的問(wèn)題;對(duì)于時(shí)間、車牌號(hào)等具有一定規(guī)律的數(shù)據(jù),采用模式識(shí)別方法搜集要素規(guī)律,制定相關(guān)規(guī)則,抽取出符合該規(guī)則的要素類型。最后結(jié)合兩種方法,抽取出人名、地點(diǎn)、機(jī)構(gòu)名、丟失物品、金額、身份證號(hào)、手機(jī)號(hào)、銀行卡號(hào)、時(shí)間、IMEI、MAC、車牌號(hào)、性別、文化程度、血型、民族16種要素,以滿足實(shí)際業(yè)務(wù)需求。
采用BERT+BiLSTM+CRF模型對(duì)人名、地點(diǎn)、機(jī)構(gòu)名、丟失物品、金額5類要素進(jìn)行抽取,該模型由BERT字向量表征層、BiLSTM雙向編碼層、CRF解碼層組成。首先采用BERT對(duì)文本中的每個(gè)字進(jìn)行向量表征,利用上下文信息使每個(gè)字不僅包含其本身的語(yǔ)義信息,還能包含上下文的語(yǔ)義信息;然后通過(guò)BiLSTM進(jìn)行更深層次的編碼;最后利用CRF進(jìn)行解碼及序列標(biāo)注,從而得到每個(gè)字所對(duì)應(yīng)的類別。
BERT+BiLSTM+CRF模型架構(gòu)如圖1所示,其中Text
為輸入文本,每個(gè)字映射為Tok
1、Tok
2…TokN
對(duì)應(yīng)數(shù)字。利用BERT層將數(shù)字映射為對(duì)應(yīng)的字向量E
、E
…E
,融合句子上下文信息,將字向量表征為T
、T
…T
;然后利用BiLSTM層進(jìn)一步學(xué)習(xí)句子的序列信息,得到P
、P
…P
;最后利用CRF進(jìn)行解碼,得到每個(gè)字所對(duì)應(yīng)的類別Tag
、Tag
…Tag
。2.1.1 BERT預(yù)訓(xùn)練語(yǔ)言模型
近年來(lái),預(yù)訓(xùn)練語(yǔ)言模型逐漸成為自然語(yǔ)言處理領(lǐng)域的一大熱點(diǎn),被廣泛應(yīng)用于自然語(yǔ)言推理、命名實(shí)體識(shí)別、知識(shí)問(wèn)答等領(lǐng)域。傳統(tǒng)語(yǔ)言模型僅從統(tǒng)計(jì)的角度考慮,沒有考慮上下文信息,難以解決一詞多義問(wèn)題。隨著神經(jīng)網(wǎng)絡(luò)的發(fā)展,近年來(lái)出現(xiàn)了ELMO(Embedding from Language Models)、GPT(Improving Language Understanding by Generative Pre-Training)等優(yōu)秀的語(yǔ)言模型,均取得了不錯(cuò)效果。Devlin等提出的BERT預(yù)訓(xùn)練語(yǔ)言模型更是一舉拿下自然語(yǔ)言處理領(lǐng)域的14個(gè)冠軍,成為近年來(lái)領(lǐng)先的預(yù)訓(xùn)練語(yǔ)言模型。
Fig.1 Structure of BERT+BiLSTM+CRF model圖1 BERT+BiLSTM+CRF模型架構(gòu)
采用BERT模型作為字向量表征層,結(jié)構(gòu)如圖2所示。其中,P
、P
……P
為位置編碼,用于存儲(chǔ)每個(gè)字對(duì)應(yīng)的位置信息;E
為句子編碼,用于區(qū)分上下句;t
、t
……t
為字向量,用于儲(chǔ)存字信息;加入特殊符號(hào)[CLS],用于后續(xù)分類任務(wù)。將3個(gè)部分的信息相加融合形成E
、E
……E
,作為輸入向量,再經(jīng)過(guò)BERT模型將字向量表征為T
、T
……T
。Fig.2 Structure of BERT model圖2 BERT模型結(jié)構(gòu)
BERT的特征提取采用Transformer(Attention is All You Need)的編碼部分,該部分由多個(gè)編碼層(Encoder)堆疊而成。每個(gè)編碼層由自注意力機(jī)制(Self-attention)和前饋神經(jīng)網(wǎng)絡(luò)(Feed-forward)兩部分構(gòu)成,結(jié)構(gòu)如圖3所示。
編碼層中的主要部分為Self-attention層,具體結(jié)構(gòu)如圖4所示。每個(gè)字都有Q(Query)、K(Key)、V(Value)3個(gè)向量,分別由其對(duì)應(yīng)的字向量與w
、w
、w
3個(gè)矩陣相乘得到,表示為:Fig.3 Structure of Encoder in the Transformer圖3 Transformer中的Encoder結(jié)構(gòu)
x
為每個(gè)字經(jīng)過(guò)映射對(duì)應(yīng)的字向量,維度為512×768;w
、w
、w
為初始化后的學(xué)習(xí)矩陣,維度為768×64。Fig.4 Structure of self-attention圖4 Self-attention結(jié)構(gòu)
在自編碼中,單個(gè)詞的Attention值計(jì)算結(jié)果如圖4中公式所示。采用字a對(duì)應(yīng)的K
向量與字a所對(duì)應(yīng)的Q
向量點(diǎn)乘,產(chǎn)生對(duì)應(yīng)的score值,再利用Softmax對(duì)score進(jìn)行歸一化,表示為:此外,為提取更深層的語(yǔ)義信息,Transformer中使用了多頭注意力機(jī)制(Multi-Headed-Attention),即重復(fù)式(4)、式(5)計(jì)算,再將結(jié)果進(jìn)行拼接,表示為:
t
為Multi-Headed個(gè)數(shù)。為防止模型退化,Transformer中借鑒了殘差結(jié)構(gòu),將上一層參數(shù)與這一層參數(shù)相加融合。同時(shí),為加速模型的學(xué)習(xí)速度,引入批歸一化(Normalize)方法,將參數(shù)縮放至類正態(tài)分布。
2.1.2 BiLSTM層
采用長(zhǎng)短時(shí)記憶神經(jīng)網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)層進(jìn)行更深層次的編碼。LSTM是循環(huán)神經(jīng)網(wǎng)絡(luò)的一種,由于其能夠儲(chǔ)存序列信息,在序列標(biāo)注任務(wù)中應(yīng)用廣泛。LSTM的結(jié)構(gòu)如圖5所示。
Fig.5 Structure of LSTM algorithm圖5 LSTM結(jié)構(gòu)
LSTM主要由遺忘門、學(xué)習(xí)門、記憶門和使用門組成,同時(shí)利用長(zhǎng)時(shí)記憶C和短時(shí)記憶h作為記憶單元。對(duì)于第t
個(gè)輸入來(lái)說(shuō),h
、C
的更新方式為:τ
為tanh激活函數(shù),用于擬合模型非線性能力,表示為:為緩解LSTM產(chǎn)生的長(zhǎng)時(shí)依賴問(wèn)題,本文模型采用雙向LSTM模型BiLSTM,即正向逆向各進(jìn)行一次LSTM,再將兩者信息進(jìn)行拼接融合。
2.1.3 CRF層
CRF是經(jīng)典無(wú)向圖之一,其核心思想為給定一組輸入序列條件下另一組輸出序列的條件概率分布模型,最常見的形式為線性鏈(Linear Chain),結(jié)構(gòu)如圖6所示。該模型假設(shè)馬爾可夫隨機(jī)場(chǎng)中只有X和Y兩個(gè)變量,X一般是給定的,而Y是X給定條件下模型的輸出。
在線性CRF中,特征函數(shù)分為兩類:第一類是定義在Y節(jié)點(diǎn)上的節(jié)點(diǎn)特征函數(shù),該函數(shù)只與當(dāng)前節(jié)點(diǎn)有關(guān),表示為:
第二類是定義在Y上下文的局部特征函數(shù),該函數(shù)只與當(dāng)前節(jié)點(diǎn)的上一個(gè)節(jié)點(diǎn)有關(guān),表示為:
Fig.6 Structureof CRF圖6 CRF結(jié)構(gòu)
無(wú)論是節(jié)點(diǎn)特征函數(shù)還是局部特征函數(shù),它們的取值只能是0或1,分別表示滿足特征條件或不滿足特征條件。此外,可以為每個(gè)特征函數(shù)賦予一個(gè)權(quán)值,用于表達(dá)對(duì)該特征函數(shù)的信任度,從而得到線性CRF的參數(shù)化形式:
以上公式中涉及的參數(shù)均采用梯度下降法求解。為減少計(jì)算量,采用維特比算法求得局部最優(yōu)解。
采用模式識(shí)別方式抽取身份證號(hào)、手機(jī)號(hào)、銀行卡號(hào)、時(shí)間、IMEI、MAC、車牌號(hào)、性別、文化程度、血型、民族11種要素。模式識(shí)別的原理是通過(guò)搜集要素規(guī)律制定相關(guān)規(guī)則,抽取出符合該規(guī)則的要素類型。例如,身份證號(hào)的固定長(zhǎng)度為18位,由地址碼、出生日期碼、順序碼和校驗(yàn)碼組成,其中前6位為地址碼,第7-14位為出生日期碼,第15-17位為順序碼,第18位為校驗(yàn)碼。再如關(guān)于時(shí)間的規(guī)律比較雜亂且多,分為5個(gè)部分進(jìn)行分析:①標(biāo)準(zhǔn)時(shí)間,如2020-11-11 23:59:59、2020/11/11;②數(shù)字中文混合,如2020年十一月11日;③年、月、周、天,如上周日、周日下午、明天、上月末、去年十月一號(hào);④節(jié)日,如端午節(jié)、圣誕節(jié)、春節(jié);⑤時(shí)間段,如近3天、10月11日到11月11日。
遵循BERT+BiLSTM+CRF模型訓(xùn)練規(guī)則,數(shù)據(jù)采用BIOES編碼方式,其中B代表每個(gè)類別的起始字,I代表中間字,E代表結(jié)束字,S代表單個(gè)字,O代表無(wú)關(guān)字。
BERT層采用Google中文預(yù)訓(xùn)練語(yǔ)言模型參數(shù)作為初始參數(shù),并在此基礎(chǔ)上進(jìn)行微調(diào)(Fine-tuning)。模型包含12個(gè)Encoder層,每個(gè)隱藏層有768個(gè)參數(shù),12個(gè)Multi-Headed;BiLSTM層中,神經(jīng)元個(gè)數(shù)為256,向上堆疊2層;CRF層中輸出21個(gè)類別。
選取Adam優(yōu)化器,訓(xùn)練30批次,每個(gè)批次大小為256,初始學(xué)習(xí)率為1×10,并在每個(gè)Epoch結(jié)束后衰減5%。同時(shí),為了防止過(guò)擬合,在訓(xùn)練過(guò)程中隨機(jī)丟棄10%的參數(shù)。
模型采取精確率(Precision)、召回率(Recall)、F1值作為評(píng)估標(biāo)準(zhǔn)。
精確率用于評(píng)估抽取出來(lái)要素的準(zhǔn)確性,表示為:
召回率用于評(píng)估要素抽取的全面性,表示為:
F1用于評(píng)估模型整體效果,表示為:
本文使用的數(shù)據(jù)集由8萬(wàn)篇警情構(gòu)成,警情字?jǐn)?shù)范圍為50~100個(gè)。為保證測(cè)試公平性,采用十折交叉法驗(yàn)證。識(shí)別實(shí)體包括人名、地名、機(jī)構(gòu)名、丟失物品、金額、身份證號(hào)、手機(jī)號(hào)、銀行卡號(hào)、時(shí)間、IMEI、MAC、車牌號(hào)、性別、文化程度、血型、民族。
對(duì)人名、地名、機(jī)構(gòu)名、丟失物品、金額進(jìn)行命名實(shí)體識(shí)別,比較Word2vec+CRF、BiLSTM、BiLSTM+CRF、BiLSTM+CNN+CRF、BERT+BiLSTM+CRF模型的性能,結(jié)果見表1??梢钥闯?,BERT+BiLSTM+CRF在精確率、召回率、F1值上均比其他模型提升3%以上。
Table1 Results of named entity recognition of each model表1 命名實(shí)體識(shí)別效果比較 (%)
比較各批次下BERT+BiLSTM+CRF模型在測(cè)試集中的性能(見表2),1個(gè)批次時(shí),測(cè)試集的F1值即達(dá)到94.0%,在20個(gè)批次左右F1值達(dá)到95.2%,后續(xù)訓(xùn)練無(wú)明顯提升。
Table2 Effect of BERT+BiLSTM+CRF model in different batches of test dataset表2 BERT+BiLSTM+CRF模型在不同批次下的測(cè)試集效果(%)
30個(gè)訓(xùn)練批次完成后,BERT+BiLSTM+CRF模型對(duì)各個(gè)實(shí)體的抽取效果見表3。對(duì)于人名、地名、機(jī)構(gòu)名、金額的抽取,F(xiàn)1值均能達(dá)到95%以上;丟失物品的不規(guī)律性過(guò)強(qiáng),很多描述模棱兩可,對(duì)模型理解造成較大干擾,導(dǎo)致其F1值僅在78%左右。
比較模式識(shí)別模型對(duì)不同實(shí)體的抽取效果(見表4),發(fā)現(xiàn)除時(shí)間外,其余要素召回率均超過(guò)95%,F(xiàn)1值均超過(guò)93%。
Table3 Effect of BERT+BiLSTM+CRF model in different entities表3 BERT+BiLSTM+CRF模型對(duì)不同實(shí)體的抽取效果 (%)
Table4 Effect of pattern recognition model in different entities表4 模式識(shí)別模型對(duì)不同實(shí)體的抽取效果 (%)
比較模式識(shí)別和表1中5種深度學(xué)習(xí)方法對(duì)身份證號(hào)、手機(jī)號(hào)、銀行卡號(hào)、時(shí)間、IMEI、MAC、車牌號(hào)、性別、文化程度、血型、民族要素的抽取效果(見表5),可以看出,模式識(shí)別的評(píng)價(jià)指標(biāo)相較其他方法均提升超過(guò)1%。
Table5 Results comparison of named entity recognition based on pattern recognition and deep learning methods表5 模式識(shí)別與深度學(xué)習(xí)方法效果比較 (%)
基于多模型融合的要素提取方法旨在解決警情中日益增長(zhǎng)的不同種類要素提取需求,為此,本文建立了抽取詞義關(guān)鍵信息的BERT+BiLSTM+CRF模型,以及抽取符合一定規(guī)則要素的模式識(shí)別模型。實(shí)驗(yàn)結(jié)果表明,該模型具有較高的準(zhǔn)確率,且能夠滿足不同種類的要素提取需求。后續(xù)計(jì)劃將BERT+BiLSTM+CRF模型與模式識(shí)別模型融合起來(lái),形成端到端的一體化模型,并繼續(xù)探索新類型的警情要素提取方法。