陳 劍, 何 濤, 聞英友, 馬林濤
(東北大學(xué) 計算機(jī)科學(xué)與工程學(xué)院/東軟研究院, 遼寧 沈陽 110169)
命名實體識別(named entity recognition,NER)問題是中文自然語言處理研究的一個重要領(lǐng)域,對于實體信息抽取[1]、關(guān)系抽取[2]、句法分析[3]、文本翻譯[4]、知識圖譜[5]構(gòu)建等很多應(yīng)用起到基礎(chǔ)性作用.由于中文語言本身結(jié)構(gòu)的特殊性,字詞之間沒有分隔符,實體描述方式多種多樣,加大了中文命名實體識別的難度.
命名實體識別技術(shù)早期使用基于詞典和規(guī)則的方法,根據(jù)詞語的分布和語義規(guī)則進(jìn)行計算打分,但需要人工完成復(fù)雜的特征建模.隨著語料資源的豐富,基于統(tǒng)計學(xué)的機(jī)器學(xué)習(xí)算法廣泛用于命名實體識別問題,典型應(yīng)用包括隱馬爾科夫模型[6]、最大熵模型[7]、條件隨機(jī)場[8]、支持向量機(jī)[9]等.近年來,隨著計算能力的提高及深度學(xué)習(xí)的發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)等方法被廣泛地應(yīng)用在實體識別領(lǐng)域.
Feng等[10]提出在嵌入詞向量特征的基礎(chǔ)上利用長短時記憶網(wǎng)絡(luò)模型進(jìn)行命名實體識別.Dong等[11]提出利用雙向長短時記憶網(wǎng)絡(luò)模型與條件隨機(jī)場進(jìn)行命名實體識別.Ma 等[12]提出結(jié)合雙向長短期記憶模型、卷積神經(jīng)網(wǎng)絡(luò)和條件隨機(jī)場,解決序列標(biāo)注問題.Strubell等[13]在2017年提出迭代膨脹卷積神經(jīng)網(wǎng)絡(luò)(iterated dilated convolutional neural networks,IDCNN)來處理序列問題,IDCNN計算出每個詞分類的概率,而條件隨機(jī)場(conditional random field,CRF)層引入序列的轉(zhuǎn)移概率.Vaswani等[14]提出基于多頭自注意力機(jī)制的Transformer模型,提高了文本特征提取能力,為序列標(biāo)注任務(wù)提出新的解決方法.Zhang等[15]提出了一種新型的Lattice LSTM(long short-term memory),將潛在的詞語信息融合到基于字模型的傳統(tǒng)LSTM+CRF中去,而其中潛在的詞語信息是通過外部詞典獲得的.Yang等[16]提出了一種利用眾包標(biāo)注數(shù)據(jù)學(xué)習(xí)對抗網(wǎng)絡(luò)模型的方法,構(gòu)建中文實體識別系統(tǒng).2018年10月底,Google公布BERT(bidirectional encoder representation from transformers)[17]在11項NLP任務(wù)中刷新紀(jì)錄,BERT的成功引起業(yè)界的廣泛關(guān)注.
司法文書命名實體識別是司法業(yè)務(wù)信息化和智能化的基礎(chǔ)任務(wù),是知識圖譜構(gòu)建、案情輔助研判、類案檢索、法律法規(guī)推薦等上層功能的前提工作.目前司法文書命名實體識別的研究并不成熟,也沒有公開的司法領(lǐng)域命名實體標(biāo)注數(shù)據(jù)集,因此,開發(fā)司法實體標(biāo)注工具和根據(jù)實際需求標(biāo)注數(shù)據(jù)集也是本文需要完成的工作.
司法文書不同于普通文本,通常包含大量的人名,如被告人、受害人、證人、代理人等多種類型,并常常使用代稱;專業(yè)術(shù)語較多,通常會出現(xiàn)法律法規(guī)條文;還要關(guān)注多義詞問題,如“盜竊車鑰匙一把”和“一把奪過行人的背包”,兩個“一把”含義不同,歸入的實體類型也不同.
為了解決上述問題,本文引入BERT模型,該模型是一個強(qiáng)大的預(yù)訓(xùn)練模型,通過雙向訓(xùn)練Transformer編碼器從海量的無標(biāo)注語料中學(xué)習(xí)短語信息特征、語言學(xué)特征和一定程度的語義信息特征.BERT可以將豐富的語言學(xué)知識進(jìn)行遷移學(xué)習(xí),在規(guī)模較小的司法文書標(biāo)注語料庫上進(jìn)行微調(diào),同時其強(qiáng)大的詞向量表征能力能夠有效區(qū)分多義詞在不同上下文中的含義.
本文提出一種融合BERT的多層次司法文書實體識別模型,實驗結(jié)果表明,該模型與目前主流的實體識別模型BiLSTM(bi-directional LSTM)+CRF相比,F(xiàn)1分?jǐn)?shù)可提高7.5%左右.
BERT+BiLSTM+CRF模型的整體結(jié)構(gòu)見圖1.三層結(jié)構(gòu)分別是:①BERT使用Transformer機(jī)制對輸入數(shù)據(jù)進(jìn)行編碼,使用預(yù)訓(xùn)練模型獲取字的語義表示;②BiLSTM在BERT輸出結(jié)果的基礎(chǔ)上進(jìn)一步提取數(shù)據(jù)的高層特征;③CRF對BiLSTM層的輸出結(jié)果進(jìn)行狀態(tài)轉(zhuǎn)移約束.
BERT預(yù)訓(xùn)練模型與其他詞向量預(yù)訓(xùn)練模型如ELMO[18],GPT等不同,該模型是在多層Transformer編碼器的基礎(chǔ)上實現(xiàn)的.Transformer編碼器作為文本特征提取器,很多研究證明其特征提取能力遠(yuǎn)遠(yuǎn)大于RNN和CNN模型,這也是BERT模型的核心優(yōu)勢所在.
Transformer是由Vaswani等[14]提出的一個完全依賴自注意力機(jī)制計算輸入和輸出的表示,而不使用序列對齊的遞歸神經(jīng)網(wǎng)絡(luò)或卷積神經(jīng)網(wǎng)絡(luò)的轉(zhuǎn)換模型.自注意力的計算方法如下:從編碼器的每個輸入向量中創(chuàng)建三個向量:一個Query向量、一個Key向量和一個Value向量.這些向量是通過將詞嵌入向量與三個訓(xùn)練后的矩陣Wq,Wk,Wv相乘得到的,維度默認(rèn)為64.為了便于計算,將三個向量分別合并成矩陣,得到自注意力層的計算公式:
(1)
在Transformer的基礎(chǔ)上,BERT使用Masked LM進(jìn)行無監(jiān)督預(yù)訓(xùn)練.一個深度雙向模型要比單向的“左-右”模型或淺層融合“左-右”和“右-左”模型更高效.為了解決雙向訓(xùn)練中每個詞在多次上下文可以間接看見自己的問題,BERT采用隨機(jī)遮掩一定百分比的輸入token,然后通過預(yù)測被遮掩的token進(jìn)行訓(xùn)練.
BERT的輸入數(shù)據(jù)是基于字符級Embedding的線性序列,每個序列的第一個token是一個特殊的分類識符號,記作“[CLS]”,序列之間使用分隔符“[SEP]”分割.每個字符有三個Embedding:①Token Embedding,即每一個輸入字符的Embedding;②Segment Embedding, BERT是一個句子級別的語言模型,這個標(biāo)記對應(yīng)一個句子的唯一向量表示;③Position Embedding,在自然語言處理任務(wù)中,序列的索引信息很重要.與Transformer不同,BERT并沒有采用三角函數(shù)來表達(dá)句子中詞語位置的方法,而是直接設(shè)置句子的固定長度去訓(xùn)練Position Embedding,在每個詞的位置隨機(jī)初始化詞向量.最終把單詞對應(yīng)的三個Embedding疊加,形成BERT的輸入,如圖2所示.
由于在深度神經(jīng)網(wǎng)絡(luò)中使用反向傳播算法,即根據(jù)損失函數(shù)計算的誤差通過梯度反向傳播的方式,指導(dǎo)深度網(wǎng)絡(luò)權(quán)值的更新優(yōu)化,隨著網(wǎng)絡(luò)深度的增加,常常出現(xiàn)梯度消失和梯度爆炸問題[19].LSTM在RNN的基礎(chǔ)上進(jìn)行改進(jìn),通過使用復(fù)雜的門機(jī)制解決了梯度消失/爆炸問題,加快訓(xùn)練收斂速度,并能很好地檢測出序列中的長距離依賴.一個基本的LSTM單元結(jié)構(gòu)如圖3所示.圖中:h(t)存儲短期狀態(tài)信息,c(t)存儲長期狀態(tài)信息.c(t-1)進(jìn)入時間迭代t的神經(jīng)元時,首先經(jīng)過一個忘記門限,丟掉一些記憶,再通過輸入門限有選擇地增加一些新記憶,c(t)作為長期狀態(tài)被傳入下一個時間迭代t+1的神經(jīng)元.同時,長期狀態(tài)被復(fù)制并傳入tanh函數(shù),然后結(jié)果被輸出門限過濾,產(chǎn)生短期狀態(tài)h(t):
(2)
(3)
(4)
(5)
c(t)=f(t)?c(t-1)+i(t)?g(t),
(6)
y(t)=h(t)=o(t)?tanh(c(t)).
(7)
式中:Wxi,Wxf,Wxo,Wxg為每一層連接到輸入向量x(t)的權(quán)重矩陣;Whi,Whf,Who,Whg為每一層連接到前一個短期狀態(tài)h(t-1)的權(quán)重矩陣;bi,bf,bo,bg是每一層的偏差系數(shù).
在處理序列標(biāo)注問題時,神經(jīng)網(wǎng)絡(luò)模型不僅要關(guān)注上文信息,同樣也要關(guān)注下文信息,將前向LSTM和后向LSTM結(jié)合起來,使得每一個訓(xùn)練序列向前和向后分別是兩個循環(huán)神經(jīng)網(wǎng)絡(luò),而且這兩個網(wǎng)絡(luò)連接著同一個輸出層,這便是BiLSTM的優(yōu)點,能夠提供給輸出層輸入序列中每一個元素完整的上下文信息.
CRF是一種判別式概率圖模型,在序列標(biāo)注任務(wù)中通常使用線性鏈條件隨機(jī)場.設(shè)隨機(jī)變量序列x為觀測序列,y為狀態(tài)向量(標(biāo)記序列),每一個(yi,xi)對為一個線性鏈上的最大團(tuán),并滿足:
P(yi|x,y1,y2,…,yn)=P(yi|x,yi-1,yi+1).
(8)
給定一條觀測序列x,使用CRF求解狀態(tài)序列y的建模公式為
(9)
因為狀態(tài)序列與前后Token之間存在限定關(guān)系,并與觀測序列存在依賴關(guān)系,所以引入兩類特征函數(shù),轉(zhuǎn)移特征函數(shù)集t和狀態(tài)特征函數(shù)集s,建模公式可擴(kuò)展為
(10)
Z(x)=∑yexp(∑i,jλjtj(yi-1,yi,x,i)+∑i,lμlsl(yi,x,i)).
(11)
式中:Z(x)用來歸一化;tj表示轉(zhuǎn)移狀態(tài)函數(shù),對應(yīng)權(quán)重為λj;sl為狀態(tài)特征函數(shù),對應(yīng)權(quán)重為μl;k和l為特征函數(shù)的個數(shù).
(12)
CRF是全局范圍內(nèi)統(tǒng)計歸一化的條件狀態(tài)轉(zhuǎn)移概率矩陣,讓底層深度神經(jīng)網(wǎng)絡(luò)在CRF的特征限定下,依照新的損失函數(shù),學(xué)習(xí)出一套更合理的非線性變換空間.
本文所使用的標(biāo)注語料庫均是自主完成創(chuàng)建,所用語料均來自中國裁判文書網(wǎng)公開的裁判文書,搜集到的文書總數(shù)量達(dá)到10萬份.司法文書實體提取問題,不同于傳統(tǒng)的NER是對人名、地名、組織機(jī)構(gòu)名等7類特定實體的識別,案件要素提取需要自己定義復(fù)雜的實體標(biāo)簽集,針對不同的犯罪類型,標(biāo)簽集包含的內(nèi)容也各不相同.以盜竊罪為例,需要定義的實體有:公訴機(jī)關(guān)、被告人、犯罪時間、犯罪地點、作案工具、盜竊方式、盜竊物品、被盜物品價值、盜竊金額、銷贓處置、銷贓金額、抓獲時間、贓物追回、認(rèn)罪態(tài)度、諒解情況等共15類實體.
標(biāo)注語料庫的質(zhì)量對訓(xùn)練深度學(xué)習(xí)模型的性能起到?jīng)Q定性作用,本實驗從語料庫中選取盜竊類型且內(nèi)容較為詳實的2 900份文書進(jìn)行標(biāo)注,所有的標(biāo)注工作均由經(jīng)過專業(yè)培訓(xùn)的人員手工標(biāo)注完成.盡管不排除主觀因素對實體標(biāo)注邊界的影響,但總體而言標(biāo)注質(zhì)量較高,非常適合用于模型的訓(xùn)練.
對于標(biāo)注完成的語料,使用包含信息量更豐富的BIOES[20]標(biāo)注體系轉(zhuǎn)化為可供模型使用的數(shù)據(jù)集,即一個字符對應(yīng)一個標(biāo)簽.B表示一個實體的開始, I表示實體內(nèi)部, O表示不是標(biāo)注的實體, E表示實體的結(jié)束, S表示這個字本身就是一個單獨(dú)的實體.顯然,標(biāo)簽之間存在順序關(guān)系,比如在B之后不會出現(xiàn)O和S標(biāo)簽,在I之后只能出現(xiàn)I和E標(biāo)簽.CRF可以約束標(biāo)簽之間的依賴關(guān)系.
從數(shù)據(jù)集中隨機(jī)抽取三部分作為訓(xùn)練集、驗證集、測試集,三者的文書數(shù)量比例約為4∶1∶1.樣本分布數(shù)據(jù)如表1所示.
表1 盜竊案實體樣本分布
在機(jī)器學(xué)習(xí)中評估模型的性能通常使用精度P、召回率R,F(xiàn)1分?jǐn)?shù)三個指標(biāo):
P=TP/(TP+FP),
(13)
R=TP/(TP+FN),
(14)
F1=2×P×R/(P+R).
(15)
式中:TP表示真正類的數(shù)量;FP表示假正類的數(shù)量;FN表示假負(fù)類的數(shù)量;F1分?jǐn)?shù)是精度P和召回率R的諧波平均值,只有當(dāng)召回率和精度都很高時,才能獲得較高的F1分?jǐn)?shù).
在驗證集上各實體的F1分?jǐn)?shù)隨迭代次數(shù)而發(fā)生變化的情況如表2所示.
設(shè)置訓(xùn)練過程的epoch最大值為100,在每個epoch運(yùn)行完以后,通過在驗證集上綜合全部實體識別的得分來獲取性能最優(yōu)的模型.訓(xùn)練完成后,使用該模型在測試集上獲得各類實例的性能指標(biāo),其指標(biāo)分布如表3所示.
表3 15類實體的識別效果
該模型在各個實體類型上的得分會有較大的差異,比如“盜竊方式”的F1分?jǐn)?shù)只有0.835 6,其原因是該類型實體在概念上不夠明確,盜竊方式的描述多種多樣,很難確定每種盜竊方式的邊界,在標(biāo)注的時候不像“盜竊時間”有明確的邊界,導(dǎo)致在標(biāo)注的過程中受到較大的主觀因素和標(biāo)注習(xí)慣影響;而“銷贓處置”的F1分?jǐn)?shù)較低是因為該類實體數(shù)量較少,模型學(xué)習(xí)得不夠充分.
為了證明本文提出的模型在性能方面的優(yōu)越性,在相同數(shù)據(jù)集上,與以下模型進(jìn)行比較:
1) IDCNN+CRF模型:迭代擴(kuò)張卷積神經(jīng)網(wǎng)絡(luò)通過融合空洞卷積方法,實現(xiàn)序列化特征的卷積提取與上下文特征傳遞.
2) BiLSTM+CRF模型:序列標(biāo)注問題使用主流模型,使用BiLSTM獲取文本特征并輸出各個標(biāo)簽取值的概率,CRF對標(biāo)簽間的順序關(guān)系做約束.
3) BERT+CRF模型:通過每個字符左邊和右邊的上下文信息,BERT層可以學(xué)到句子中每個字符最可能對應(yīng)的實體標(biāo)注是什么,CRF可以調(diào)整違反標(biāo)注規(guī)則的結(jié)果,降低錯誤率.
本文將命名實體識別領(lǐng)域廣泛使用的三個模型與BERT+BiLSTM+CRF模型的性能指標(biāo)進(jìn)行統(tǒng)計對比,各模型性能如表4所示.
表4 4種模型結(jié)果對比
從統(tǒng)計數(shù)據(jù)可以看出,前三個模型的F1分?jǐn)?shù)分別達(dá)到了0.801 6,0.816 4,0.880 5,相差并不明顯.本文提出的模型F1分?jǐn)?shù)達(dá)到了0.891 2,比目前廣泛應(yīng)用的BiLSTM+CRF提高7.5%,從另一個角度來看,實體識別的錯誤率下降40%,性能有了顯著提升.BERT+BiLSTM+CRF模型比BERT+CRF模型的F1分?jǐn)?shù)高出1.07%,兩者的結(jié)果非常接近,這也說明BERT的特征提取能力非常強(qiáng)大,在計算資源有限的情況下,BERT+CRF應(yīng)用于實體識別也是一種很好的選擇.
1) 為解決檢察業(yè)務(wù)標(biāo)注語料規(guī)模較小、案件文本實體提取困難的問題,提出一種將BERT, BiLSTM與CRF相結(jié)合,進(jìn)行案件實體提取的方法.該方法利用BERT預(yù)訓(xùn)練學(xué)習(xí)的語義句法知識,在標(biāo)注的數(shù)據(jù)集上進(jìn)行微調(diào),再利用BiLSTM的序列建模能力和CRF的狀態(tài)轉(zhuǎn)移約束功能進(jìn)一步優(yōu)化.實驗表明,該方法優(yōu)于目前幾種主流的實體識別模型,在性能上得到大幅提升.
2) 下一步的任務(wù)是如何將該模型應(yīng)用到檢察案件文本的智能標(biāo)注上及如何在云平臺上提供高效可信的文本標(biāo)注服務(wù)和實體提取服務(wù).