王 月,王孟軒,張 勝,杜 渂*
(1.迪愛(ài)斯信息技術(shù)股份有限公司,上海200032;2.電信科學(xué)技術(shù)第一研究所,上海200032)
命名實(shí)體識(shí)別(Named Entity Recognition,NER)是自然語(yǔ)言處理技術(shù)(Natural Language Processing,NLP)中的一個(gè)重要領(lǐng)域[1],也是警情數(shù)據(jù)智能分析的關(guān)鍵。其核心內(nèi)容是找出一套可有效識(shí)別并抽取文本中人名、地名、時(shí)間等實(shí)體要素的算法。近年來(lái),基于神經(jīng)網(wǎng)絡(luò)的命名實(shí)體識(shí)別方法被相繼提出,其主要思路是先使用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)、循 環(huán) 神 經(jīng) 網(wǎng) 絡(luò)(Recurrent Neural Network,RNN)等網(wǎng)絡(luò)結(jié)構(gòu)提取序列隱含特征,然后利用條件隨機(jī)場(chǎng)(Conditional Random Field,CRF)求解最優(yōu)序列[2-6],這些算法較經(jīng)典統(tǒng)計(jì)學(xué)習(xí)方法,如隱馬爾可夫模型(Hidden Markov Model,HMM)、條件隨機(jī)場(chǎng)模型(Conditional Random Field,CRF)等性能上有顯著提升[7]。中文命名實(shí)體與英文不同,依賴(lài)分詞的方案無(wú)法解決詞語(yǔ)錯(cuò)分造成的誤差傳遞問(wèn)題,而僅依賴(lài)傳統(tǒng)字符詞向量(Skip-gram、CBOW(Continuous Bag Of Words)等)的方案無(wú)法很好地解決一詞多義問(wèn)題[8],部分工作開(kāi)始探索新型詞向量表達(dá)方法。Peters 等[9]提出的ELMO(Embeddings from Language MOdel)學(xué)習(xí)訓(xùn)練詞向量與上下文的關(guān)系函數(shù)而非詞向量的方式解決上述問(wèn)題;Google[10]則提出一種新型語(yǔ)言模型 BERT(Bidirectional Encoder Representations from Transformers),在各類(lèi)NLP 任務(wù)上均達(dá)到了目前最好的結(jié)果。
本文提出的BERT-BiLSTM-Attention-CRF模型采用BERT預(yù)訓(xùn)練語(yǔ)言模型訓(xùn)練中文詞向量,較完整地保存了文本語(yǔ)義信息,提升了模型的上下文雙向特征抽取能力,并較好地解決了命名實(shí)體的邊界劃分問(wèn)題;使用句子級(jí)注意力機(jī)制對(duì)文本語(yǔ)義信息進(jìn)行編碼,相比傳統(tǒng)的BiLSTM 模型,對(duì)語(yǔ)義信息的利用更為充分,提升了模型對(duì)實(shí)體的識(shí)別率,模型總體命名實(shí)體識(shí)別精確率達(dá)91%。本文的另一工作在于制定了一套與警情處理相關(guān)的命名實(shí)體識(shí)別標(biāo)準(zhǔn)規(guī)范,并依據(jù)規(guī)范在脫敏數(shù)據(jù)上標(biāo)注實(shí)體,建立相應(yīng)的警情語(yǔ)料數(shù)據(jù)集。以電信詐騙為例,該模型將識(shí)別實(shí)體類(lèi)別從三類(lèi)(人名、地名、機(jī)構(gòu)名)拓展到目前的七類(lèi)(受害人名、案發(fā)時(shí)間、相關(guān)地名、詐騙方法、轉(zhuǎn)賬途徑、損失金額、處理方法)以滿(mǎn)足實(shí)際場(chǎng)景中的業(yè)務(wù)需求。
模型主要由四部分構(gòu)成,分別是BERT 預(yù)訓(xùn)練語(yǔ)言模型、BiLSTM 層、Attention 層以及CRF 層。模型首先利用BERT 預(yù)訓(xùn)練語(yǔ)言模型對(duì)單個(gè)字符進(jìn)行編碼,得到單個(gè)字符對(duì)應(yīng)的詞向量;接著利用BiLSTM 層對(duì)輸入文本進(jìn)行雙向編碼,在解碼前使用注意力機(jī)制增加上下文相關(guān)的語(yǔ)義信息;最后將包含上下文信息的語(yǔ)義向量輸入CRF 層進(jìn)行解碼,CRF 層可以輸出概率最大的標(biāo)簽序列,從而得到每個(gè)字符的類(lèi)別。
為提升訓(xùn)練速度,并確保詞向量編碼具有足夠豐富的表征能力,該模型使用的詞向量是在1998 人民日?qǐng)?bào)語(yǔ)料庫(kù)上預(yù)先習(xí)得的。模型整體結(jié)構(gòu)圖1 所示:其中X1,X2,…,XN表示輸入詞向量;緊接著的為BERT 預(yù)訓(xùn)練語(yǔ)言模型層,主要由兩組Transformer 構(gòu)成;H1,H2,…,HN表示BiLSTM 層的隱含向量;Uchar表示Attention 層的加權(quán)函數(shù),用于計(jì)算兩兩單詞之間的關(guān)系權(quán)重;V 為加權(quán)后的拼接向量;接下來(lái)的部分為CRF層,用于計(jì)算每個(gè)輸入向量的實(shí)體類(lèi)別標(biāo)簽,如地址(LOC)、人名(NAME)等實(shí)體類(lèi)別,其中“B-”表示實(shí)體開(kāi)頭,“I-”表示實(shí)體除頭以外部分。
圖1 BERT-BiLSTM-Attention-CRF模型Fig.1 BERT-BiLSTM-Attention-CRF model
本文設(shè)定wq、wk、wv分別為權(quán)值矩陣的q、k、v 維,Q、K、V為權(quán)值矩陣,W 為偏置矩陣,x、h 為輸入向量和隱向量,b 表示偏置量,P、A為轉(zhuǎn)移矩陣。
語(yǔ)言模型(Language Model,LM)是自然語(yǔ)言處理領(lǐng)域的一個(gè)重要概念,簡(jiǎn)單來(lái)說(shuō),語(yǔ)言模型是計(jì)算任意語(yǔ)言序列w1,w2,…,wn出現(xiàn)概率p(w1,w2,…,wn)的方法,即:
神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型(Neural Network Language Model,NNLM)最早是Bengio等[11]于2003年提出的,它是關(guān)于計(jì)算給定序列情況下后一個(gè)詞語(yǔ)出現(xiàn)概率的方法。在由詞w1,w2,…,wT構(gòu)成的句子組成的訓(xùn)練集中,神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型的目的是學(xué)到下面的語(yǔ)言表征模型:
傳統(tǒng)語(yǔ)言模型是靜態(tài)的,無(wú)法根據(jù)上下文很好地表征字詞的多義性等,針對(duì)這個(gè)問(wèn)題,本文采用了BERT 預(yù)訓(xùn)練語(yǔ)言模型,結(jié)構(gòu)圖如圖2 所示,E1,E2,…,EN為模型的輸入向量,T1,T2,…,TN為模型的輸出向量。
圖2 BERT預(yù)訓(xùn)練語(yǔ)言模型Fig.2 BERT pretraining language model
BERT 預(yù)訓(xùn)練語(yǔ)言模型采用雙向Transformer 作為特征抽取器,與傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)相比,可以獲取更長(zhǎng)的上下文信息,提升了特征抽取能力;同時(shí),該模型改進(jìn)了常見(jiàn)的雙向語(yǔ)言模型,轉(zhuǎn)而使用上下文融合語(yǔ)言模型,該語(yǔ)言模型不再是簡(jiǎn)單地將從左到右和從右到左的句子編碼簡(jiǎn)單拼接起來(lái),而是隨機(jī)遮擋部分字符(默認(rèn)遮擋15%字符,以下稱(chēng)token),訓(xùn)練中損失函數(shù)只計(jì)算被遮擋的token。遮擋方法如下:
1)80%被遮擋詞用符號(hào)masked token代替;
2)10%用隨機(jī)詞替換;
3)10%不變。
每個(gè)字符對(duì)應(yīng)的詞向量由三個(gè)向量組成,分別是Token Embeddings、Segment Embeddings 和Position Embeddings。其中,Token Embeddings 為詞向量,第一個(gè)詞為cls,用于下游的分類(lèi)任務(wù);Segment Embeddings 用于區(qū)分不同句子,便于預(yù)訓(xùn)練模型做句子級(jí)別分類(lèi)任務(wù);Position Embeddings 是人為給定的序列位置向量。示意圖如圖3所示。
圖3 BERT預(yù)訓(xùn)練語(yǔ)言模型的詞向量構(gòu)成Fig.3 Word vector composition of BERT pretraining language model
此外,增加了句子級(jí)別的訓(xùn)練任務(wù)。該項(xiàng)任務(wù)是在預(yù)訓(xùn)練模型中加入了一個(gè)二分類(lèi)模型,學(xué)習(xí)句子之間的關(guān)系。具體做法是隨機(jī)替換部分句子,利用上一個(gè)句子對(duì)下一個(gè)句子做“是或否”的預(yù)測(cè)。
BERT 預(yù)訓(xùn)練語(yǔ)言模型使用的Transformer 特征抽取器[12],Transformer是目前自然語(yǔ)言處理領(lǐng)域流行的網(wǎng)絡(luò)結(jié)構(gòu),每個(gè)單元僅由自注意力機(jī)制(self-Attention)和前饋神經(jīng)網(wǎng)絡(luò)(Feed Forward Network)構(gòu)成,單元可以連續(xù)堆疊。其結(jié)構(gòu)圖如圖4所示。
Transformer 中最重要的結(jié)構(gòu)是自注意力機(jī)制模塊,結(jié)構(gòu)如圖5,圖中MatMul表示矩陣相乘運(yùn)算。
圖4 Transformer特征抽取器結(jié)構(gòu)Fig.4 Structure of feature extractor Transformer
圖5 自注意力機(jī)制示意圖Fig.5 Schematic diagram of self-attention mechanism
在自注意力機(jī)制中,每個(gè)詞對(duì)應(yīng)3 個(gè)不同的向量,它們分別是Query 向量(Q)、Key 向量(K)和Value 向量(V),長(zhǎng)度相同,由嵌入向量乘以三個(gè)不同的權(quán)值矩陣wq、wk、wv得到。
每個(gè)詞的重要度score由Query向量和Key向量相乘而得:
Attention 值通過(guò)使用SoftMax 對(duì)score作平滑而得,平滑后的結(jié)果與Value向量相乘:
實(shí)際使用中,一般先通過(guò)注意力機(jī)制計(jì)算注意力包含注意力的編碼向量Z,然后將Z 送入前饋神經(jīng)網(wǎng)絡(luò)層,用作訓(xùn)練下游任務(wù),即:
BERT 預(yù)訓(xùn)練模型使用了由多個(gè)自注意力機(jī)制構(gòu)成的多頭注意力機(jī)制(multihead-attention),用于獲取句子級(jí)別的語(yǔ)義信息。
為解決深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練困難的問(wèn)題,Transformer 模塊還使用了“短路連接”[13]和“層歸一化”[14]方法,見(jiàn)圖4 虛線部分。“短路連接”是殘差網(wǎng)絡(luò)中常使用的方法,它的思路是將前一層信息無(wú)差地傳遞到下一層從而解決深度神經(jīng)網(wǎng)絡(luò)中梯度消失問(wèn)題;“層歸一化”是指對(duì)每一層的激活值進(jìn)行歸一化處理,這樣可以加速模型訓(xùn)練過(guò)程,使得模型盡快收斂。
循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)[15]是神經(jīng)網(wǎng)絡(luò)中一類(lèi)重要的結(jié)構(gòu),自帶時(shí)序性的特點(diǎn)使得這類(lèi)網(wǎng)絡(luò)模型在自然語(yǔ)言處理、序列預(yù)測(cè)等領(lǐng)域具有廣泛應(yīng)用。
本文使用的長(zhǎng)短期記憶(Long Short Term Memory,LSTM)神經(jīng)網(wǎng)絡(luò)[16]結(jié)構(gòu)是對(duì)傳統(tǒng)RNN 結(jié)構(gòu)作了較大改進(jìn)。LSTM 神經(jīng)網(wǎng)絡(luò)是指一類(lèi)具有記憶單元的循環(huán)神經(jīng)網(wǎng)絡(luò),由Schmidhuber在1997年提出。
每個(gè)LSTM 單元里最重要的是門(mén)控單元I-gate、F-gate 和O-gate,分別稱(chēng)作輸入門(mén)、遺忘門(mén)和輸出門(mén),均使用前一時(shí)刻的隱藏單元與當(dāng)前時(shí)刻信號(hào)作為門(mén)控單元的輸入,利用Sigmoid函數(shù)進(jìn)行非線性激活,更新方式如下:
其中:c(t)為L(zhǎng)STM 中的記憶信息,由兩部分組成,分別為遺忘門(mén)f 控制的歷史信息與輸入門(mén)i 控制的當(dāng)前信息。更新方式為:
隱藏單元的更新由輸出門(mén)o和記憶信息c(t)決定,即:
傳統(tǒng)單向循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)只能捕捉序列的歷史信息,而序列標(biāo)注等任務(wù)中每個(gè)字的標(biāo)簽與上下文聯(lián)系同樣緊密。受 此 啟 發(fā),Graves 等[17]提 出 了 雙 向 循 環(huán) 神 經(jīng) 網(wǎng) 絡(luò)(Bidirectional RNN,BRNN)結(jié)構(gòu),該模型成功地應(yīng)用于實(shí)體識(shí)別中,并取得了當(dāng)時(shí)最好的結(jié)果。后續(xù),Graves 等[18]提出了BiLSTM 這一改進(jìn)模型,進(jìn)一步提升了模型利用上下文信息的能力,在語(yǔ)音識(shí)別、詞性標(biāo)注、實(shí)體識(shí)別等領(lǐng)域得到了大規(guī)模應(yīng)用。
Attention 層主要是用來(lái)獲取上下文相關(guān)的語(yǔ)義信息,經(jīng)過(guò)編碼的隱向量包含豐富的上下文信息特征,然而這些特征具有相同的權(quán)重,因此區(qū)分實(shí)體種類(lèi)時(shí),存在較大誤差。Attention機(jī)制將對(duì)得到的每個(gè)詞向量xi,通過(guò)
分配權(quán)重αi,其中S 表示由x1,x2,…,xn構(gòu)成的句子。在Attention 中,每個(gè)字符的距離都為1,字符之間的相關(guān)性通過(guò)權(quán)重αi體現(xiàn),便于劃分詞語(yǔ)邊界,從而解決字符級(jí)數(shù)據(jù)集詞語(yǔ)邊界難以區(qū)分的問(wèn)題。
條件隨機(jī)場(chǎng)是序列標(biāo)注任務(wù)中的一種常見(jiàn)算法[19],因此可以用于標(biāo)注實(shí)體類(lèi)別。序列標(biāo)注模型中常使用的是線性鏈條件隨機(jī)場(chǎng),是一種根據(jù)輸入序列預(yù)測(cè)輸出序列的判別式模型。對(duì) 于 指 定 序 列X(x1,x2,…,xn),其 對(duì) 應(yīng) 標(biāo) 簽 為Y(y1,y2,…,yn),若滿(mǎn)足下列條件:
設(shè)P(N,K)為解碼層輸出的權(quán)重矩陣,進(jìn)而可以得出評(píng)估分?jǐn)?shù)S(x,y),即:
其中:A為轉(zhuǎn)移矩陣,k為標(biāo)簽個(gè)數(shù),n為序列長(zhǎng)度。
序列標(biāo)簽y的最大概率可以用SoftMax函數(shù)計(jì)算,即:
訓(xùn)練時(shí)一般使用極大似然法求解P(y|x)的最大后驗(yàn)概率:
線性條件隨機(jī)場(chǎng)的訓(xùn)練和解碼一般使用Viterbi算法[20]。
本文使用的數(shù)據(jù)集由10 萬(wàn)字左右的電信詐騙相關(guān)接處警文本構(gòu)成。識(shí)別的實(shí)體為:報(bào)警人姓名、報(bào)警時(shí)間、相關(guān)地點(diǎn)、詐騙手段、詐騙金額,詐騙途徑(包括轉(zhuǎn)賬方式等)和處理方式。
數(shù)據(jù)的標(biāo)注采用BIO 三段標(biāo)記法:對(duì)于每個(gè)實(shí)體,將其第一個(gè)字標(biāo)記為“B-(實(shí)體名稱(chēng))”,后續(xù)的標(biāo)記為“I-(實(shí)體名稱(chēng))”,對(duì)于無(wú)關(guān)字,一律標(biāo)記為O。相比BIOES 五段標(biāo)記法,BIO 三段標(biāo)記法最大的優(yōu)點(diǎn)是支持逐字標(biāo)記,BIOES 法需要將單字標(biāo)為“S(Single)”,而這需要先對(duì)數(shù)據(jù)進(jìn)行分詞處理,容易將分詞產(chǎn)生的誤差向下傳播,影響模型最終效果。
以電信詐騙為例,結(jié)合例子說(shuō)明命名實(shí)體的標(biāo)注規(guī)范。
相關(guān)人名 將警情文本中的人名信息,例如“張某某”,“冒充宋清云經(jīng)理”中的“宋清云”按<相關(guān)人名>相關(guān)的人名</相關(guān)人名>方式標(biāo)注。
相關(guān)時(shí)間 將警情文本中的時(shí)間信息,例如“2018年9月15日”“上午7點(diǎn)左右”“國(guó)慶節(jié)那天”等,按照<相關(guān)時(shí)間>相關(guān)的時(shí)間</相關(guān)時(shí)間>方式標(biāo)注。
相關(guān)地點(diǎn) 警情文本中的地點(diǎn)信息較為雜亂,例如“江南造船廠附近”“光瑞路2 號(hào)”“鼓樓區(qū)”“長(zhǎng)山花園5 號(hào)”,包括小區(qū)、各類(lèi)道路、各種建筑物等名稱(chēng),按照<相關(guān)地點(diǎn)>相關(guān)的地點(diǎn)</相關(guān)地點(diǎn)>方式標(biāo)注。
詐騙手段 詐騙手段描述較長(zhǎng),例如“幫忙辦理信用卡……”“以交輔導(dǎo)費(fèi)為由,讓……”“冒充其老板向其借錢(qián)”等,均標(biāo)記文本中的首句緣由部分,例如上面三個(gè)例子依次標(biāo)記“辦理信用卡”“以交輔導(dǎo)費(fèi)為由”“冒充其老板”部分。
詐騙金額 不僅要記金額數(shù)值,還需要將數(shù)值的單位標(biāo)記出來(lái),例如將“300 元”“十萬(wàn)元人民幣”“一百塊錢(qián)”等按<詐騙金額>詐騙的金額</詐騙金額>方式標(biāo)注。
詐騙途徑 詐騙途徑主要包括轉(zhuǎn)賬途徑一類(lèi)的信息,例如將“通過(guò)中國(guó)銀行轉(zhuǎn)賬”“支付寶轉(zhuǎn)賬”“微信轉(zhuǎn)賬”等按<詐騙途徑>轉(zhuǎn)賬的途徑</詐騙途徑>的規(guī)則標(biāo)注。
處理方式 將警情文本中的處理方式按<處理方式>具體處理方式</處理方式>。
標(biāo)記好的數(shù)據(jù)處理后共分16 大類(lèi),分別為B-Name、I-Name、B-Time、I-Time、B-Location、I-Location、B-Reason、I-Reason、B-Money、I-Money、B-Measure、I-Measure、B-Deal、I-Deal、O 和<Padding>。為保證訓(xùn)練時(shí)采用的長(zhǎng)度一致(256×1維),額外添加了一個(gè)占位符<Padding>。
命名實(shí)體識(shí)別的評(píng)價(jià)標(biāo)準(zhǔn)主要包括精確率(P)、召回率(R)和F 值,并定義Tp為模型識(shí)別正確的實(shí)體個(gè)數(shù),F(xiàn)p為模型識(shí)別到的不相關(guān)實(shí)體個(gè)數(shù)、Fn為模型沒(méi)有檢測(cè)到的相關(guān)實(shí)體個(gè)數(shù)。具體公式如下:
所有實(shí)驗(yàn)采用的環(huán)境如表1所示。
表1 實(shí)驗(yàn)環(huán)境Tab.1 Experimental environment
本文使用的主要參數(shù)包括:BERT預(yù)訓(xùn)練語(yǔ)言模型默認(rèn)使用12 頭注意力機(jī)制的Transformer,預(yù)訓(xùn)練詞向量長(zhǎng)度為768維;單個(gè)處警文本長(zhǎng)度多位于160~300 字,故每次讀取的序列長(zhǎng)度為256,每批次大小為64;優(yōu)化器采用的是Adam[21],學(xué)習(xí)率設(shè)置為5×10-5,實(shí)驗(yàn)結(jié)果顯示較小的學(xué)習(xí)率有助于模型找到最優(yōu)解;丟棄率[22]為0.5;為緩解梯度消失和爆炸的影響,LSTM 隱含單元設(shè)為128,層數(shù)為2;還使用了梯度裁剪技術(shù),clip 設(shè)置為5;Attention 層參數(shù)為64,即每個(gè)詞向量被壓縮為64 維;經(jīng)過(guò)CRF 層的全連接層參數(shù)為16,即分為16 類(lèi),每類(lèi)為16×1維的one-hot向量。
為驗(yàn)證模型的有效性,主要進(jìn)行了四組對(duì)比實(shí)驗(yàn),使用的模型分別為CRF++、BiLSTM-Attention-CRF、BiLSTM-CRF 和BERT-BiLSTM-Attention-CRF。
其中,CRF++模型使用的是線性立鏈條件隨機(jī)場(chǎng)算法,采用單字匹配的模式,原理是利用特征函數(shù)構(gòu)建特征方程,特征函數(shù)主要包括句子s、詞在句中的位置i以及前一個(gè)詞、后一個(gè)詞的標(biāo)簽;使用梯度下降法訓(xùn)練,解碼時(shí)使用Viterbi 動(dòng)態(tài)規(guī)劃法。
BiLSTM-CRF 是深度學(xué)習(xí)領(lǐng)域比較有代表性的序列標(biāo)注模型,實(shí)驗(yàn)中采用的是基于字符標(biāo)注的版本,字向量是采用CBOW 在警情語(yǔ)料上預(yù)先訓(xùn)練好的,每個(gè)字向量為128×1維。
為了比較Attention 在句子語(yǔ)義編碼中的作用,本文設(shè)計(jì)了包含Attention 機(jī)制的BiLSTM-Attention-CRF 模型與BiLSTM-CRF 模型進(jìn)行對(duì)比,除Attention 層以外,其他參數(shù)設(shè)置均相同。
本文設(shè)計(jì)的BERT-BiLSTM-Attention-CRF 模型采用的字符向量是利用BERT 模型在大規(guī)模中文語(yǔ)料上預(yù)訓(xùn)練好的,字向量為128×1維。
BERT-BiLSTM-Attention-CRF 模型的損失函數(shù)曲線如圖6所示,其中:val-loss 表示驗(yàn)證集交叉熵?fù)p失值;loss 為訓(xùn)練集交叉熵?fù)p失值。由于采用的是Adam 優(yōu)化器,它可以根據(jù)訓(xùn)練過(guò)程自動(dòng)地調(diào)節(jié)學(xué)習(xí)率,損失函數(shù)曲線有較為明顯的階段性特征。
圖6 驗(yàn)證集與訓(xùn)練集損失函數(shù)曲線Fig.6 Loss curve of validation set and training set
三組實(shí)驗(yàn)的結(jié)果如表2所示。
表2 各個(gè)模型的命名實(shí)體識(shí)別結(jié)果Tab.2 Results of named entity recognition of each model
本文對(duì)比了各個(gè)模型在測(cè)試集上的具體表現(xiàn),各類(lèi)實(shí)體標(biāo)記結(jié)果方式如下,其中XX 表示文字,下劃線用于標(biāo)識(shí)各類(lèi)實(shí)體。
CRF++標(biāo)記結(jié)果如下:
BiLSTM-Attention-CRF標(biāo)記結(jié)果如下:
BiLSTM-CRF標(biāo)記結(jié)果如下:
BERT-BiLSTM-Attention-CRF標(biāo)記結(jié)果如下:
由上述結(jié)果可以看出,CRF++模型無(wú)法準(zhǔn)確抽取實(shí)體邊界信息,甚至有錯(cuò)抽和誤抽的情況。這主要是由于CRF++模型的實(shí)體抽取建立在分詞基礎(chǔ)上,而時(shí)間、地點(diǎn)包括姓名一類(lèi)的實(shí)體均屬于未登錄詞范疇,模型對(duì)這一類(lèi)的未登錄詞識(shí)別較弱。BiLSTM-Attention-CRF 模型相比BiLSTM-CRF 和CRF++,在實(shí)體識(shí)別上準(zhǔn)確率較高,邊界劃分也更為準(zhǔn)確,但對(duì)于“詐騙途徑”這類(lèi)實(shí)體的識(shí)別較差;本文模型對(duì)實(shí)體邊界的劃分較以上模型更為準(zhǔn)確,例如可以將地點(diǎn)信息“北京”“廣州”準(zhǔn)確抽取出來(lái),且對(duì)“詐騙手段”的識(shí)別也較為靈活,不拘泥于部分常見(jiàn)詞語(yǔ),而將相關(guān)的語(yǔ)義信息全部標(biāo)記出來(lái)。
根據(jù)表2,本文提出的BERT-BiLSTM-Attention-CRF 模型準(zhǔn)確率比CRF++的基準(zhǔn)模型高7%,F(xiàn)1值高0.18,表明神經(jīng)網(wǎng)絡(luò)在特征抽取能力上比傳統(tǒng)統(tǒng)計(jì)學(xué)模型要更強(qiáng);與BiLSTMAttention-CRF 模型相比,準(zhǔn)確率提升了7%,表明BERTBiLSTM-Attention-CRF 模型使用的BERT 詞向量預(yù)訓(xùn)練模型較word2vec 訓(xùn)練的一類(lèi)靜態(tài)語(yǔ)言模型,在把握語(yǔ)義方面更加精準(zhǔn),對(duì)于實(shí)體識(shí)別等自然語(yǔ)言處理任務(wù)的性能提升有較大影響。
在測(cè)試集上的實(shí)驗(yàn)表明,使用Attention 機(jī)制在語(yǔ)義編碼時(shí)效果最佳,如BERT-BiLSTM-Attention-CRF模型不僅可以準(zhǔn)確地抽取姓名要素,對(duì)地點(diǎn)、時(shí)間等實(shí)體的抽取也更為靈活,“從南京到廣州”遠(yuǎn)比“南京”“廣州”語(yǔ)義信息豐富,對(duì)于較復(fù)雜的原因類(lèi)實(shí)體,也可以得到“運(yùn)輸信息,謊稱(chēng)”的字樣,比單純的“謊稱(chēng)”要更為實(shí)用。
BERT-BiLSTM-Attention-CRF 模型對(duì)各類(lèi)實(shí)體的識(shí)別率見(jiàn)表3。
表3 各類(lèi)實(shí)體的識(shí)別率Tab.3 Recognition rate of different named entities
本文提出的模型對(duì)于案發(fā)時(shí)間、受害人名、詐騙金額以及處理方式這四類(lèi)實(shí)體具有較高的識(shí)別率和F1 值,對(duì)相關(guān)地點(diǎn)、詐騙手段、轉(zhuǎn)賬途徑等實(shí)體識(shí)別率較低,這主要是因?yàn)檫@些實(shí)體描述方式過(guò)于多樣,難以找到通用規(guī)則表述,例如相關(guān)地點(diǎn)中包括住宅地址、公司名、廣場(chǎng)名等多種類(lèi)型,找出一個(gè)通用規(guī)則的方法尚不理想。這些問(wèn)題可以通過(guò)對(duì)各個(gè)實(shí)體類(lèi)別作進(jìn)一步細(xì)分來(lái)解決。
基于BERT 的命名實(shí)體識(shí)別模型與傳統(tǒng)模型相比,在準(zhǔn)確率、召回率和F1 值上均有較大程度的提升,對(duì)報(bào)警文本中的常見(jiàn)實(shí)體例如案發(fā)時(shí)間、受害人名、處理方式等具有較高的識(shí)別率,可以滿(mǎn)足部分業(yè)務(wù)需求。為進(jìn)一步提升模型的性能,后續(xù)可以從細(xì)化、完善各類(lèi)實(shí)體的標(biāo)記規(guī)則和拓展語(yǔ)料規(guī)模等方面著手。
由于命名實(shí)體的分布數(shù)目分布不均勻,單純地使用各個(gè)實(shí)體權(quán)重相同的損失函數(shù)進(jìn)行訓(xùn)練效果不是很好,可以設(shè)計(jì)基于各類(lèi)實(shí)體數(shù)目分布的加權(quán)損失函數(shù)進(jìn)一步優(yōu)化,提升部分稀疏實(shí)體的識(shí)別率。