羅 巒,夏驕雄
(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
隨著互聯(lián)網(wǎng)的普及和計(jì)算機(jī)技術(shù)的發(fā)展,人們獲取信息的途徑愈加豐富,同時(shí)網(wǎng)絡(luò)上的文本信息呈指數(shù)級(jí)增長(zhǎng)。這些海量文本中蘊(yùn)含著科技創(chuàng)新的前沿趨勢(shì)、熱點(diǎn)話題、經(jīng)濟(jì)社會(huì)的輿情民意等重要信息,因此,如何從海量文本數(shù)據(jù)中挖掘出有價(jià)值的關(guān)鍵信息給研究者們帶來(lái)了巨大挑戰(zhàn)。在這一背景下,信息抽取[1]技術(shù)(Information Extraction,IE)應(yīng)運(yùn)而生。信息抽取主要是對(duì)文本中的非結(jié)構(gòu)化信息進(jìn)行處理,從文本中抽取出特定的實(shí)體或事件,幫助研究人員對(duì)海量文本內(nèi)容進(jìn)行自動(dòng)分類、提取和重構(gòu)。命名實(shí)體識(shí)別(Named Entity Recognition,NER)作為信息抽取的重要子任務(wù),受到了國(guó)內(nèi)外研究者的廣泛關(guān)注。
命名實(shí)體識(shí)別是自然語(yǔ)言處理領(lǐng)域的一項(xiàng)基礎(chǔ)任務(wù),主要任務(wù)是從文本數(shù)據(jù)中自動(dòng)地發(fā)現(xiàn)信息實(shí)體以及識(shí)別它們對(duì)應(yīng)的類別。自然語(yǔ)言處理研究領(lǐng)域的信息檢索[2]、信息抽取、知識(shí)圖譜[3]、問答系統(tǒng)[4]等多項(xiàng)任務(wù)均需要命名實(shí)體識(shí)別任務(wù)作為基礎(chǔ)。隨著自然語(yǔ)言處理技術(shù)的不斷發(fā)展,對(duì)文本中包含的語(yǔ)義知識(shí)的挖掘變得愈發(fā)重要,豐富的語(yǔ)義知識(shí)會(huì)使得后續(xù)的任務(wù)取得更好的效果,而命名實(shí)體作為文本中的關(guān)鍵信息,包含了豐富的語(yǔ)義知識(shí),因此正確識(shí)別文本中這些實(shí)體并進(jìn)行分類,具有重要的研究意義。
實(shí)體識(shí)別任務(wù)早期通常采用基于規(guī)則和詞典的方法,這種方法考慮了數(shù)據(jù)的結(jié)構(gòu)和特點(diǎn),對(duì)于結(jié)構(gòu)性強(qiáng)的實(shí)體(日期、時(shí)間、貨幣等)具有較好的識(shí)別效果,但對(duì)于結(jié)構(gòu)性不強(qiáng)的實(shí)體識(shí)別效果差,且編寫規(guī)則的過程復(fù)雜?;诮y(tǒng)計(jì)模型的方法對(duì)特征選取要求更高,需要提取出對(duì)實(shí)體識(shí)別有影響的各種特征。基于統(tǒng)計(jì)的機(jī)器學(xué)習(xí)方法主要包括隱馬爾可夫模型(Hidden Markov,HMM)、最大熵(Maximum Entropy,ME)、支持向量機(jī)(Support Vector Machine,SVM)等,這些方法需要人工提取特征,且特征的選取對(duì)識(shí)別效果有很大影響。
近幾年,隨著深度學(xué)習(xí)的不斷發(fā)展,深度學(xué)習(xí)在自然語(yǔ)言處理的許多應(yīng)用中都取得了長(zhǎng)足進(jìn)步,于是,NER的研究熱點(diǎn)逐漸從早期基于詞典和規(guī)則的方法過渡到基于神經(jīng)網(wǎng)絡(luò)的方法。深度學(xué)習(xí)是一種從原始數(shù)據(jù)中自動(dòng)學(xué)習(xí)特征的方法,具有較強(qiáng)的泛化能力,在很大程度上減弱了對(duì)繁瑣的特征工程和專業(yè)知識(shí)的依賴。
文獻(xiàn)[5]使用了多層疊加的雙向長(zhǎng)短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)進(jìn)行文本特征提取,在多種不同任務(wù)上進(jìn)行實(shí)驗(yàn),均取得了較好的識(shí)別效果,并證明了字符級(jí)的標(biāo)注方法相較于詞語(yǔ)級(jí)的標(biāo)注方法效果更好;文獻(xiàn)[6]通過多層疊加的CNN來(lái)擴(kuò)大處理范圍從而提高長(zhǎng)距離信息捕獲能力,并且使用空洞卷積在維持相同處理范圍的同時(shí)有效減少了參數(shù)數(shù)量,在取得良好效果的同時(shí)降低了模型的運(yùn)算復(fù)雜度;文獻(xiàn)[7]使用大量的無(wú)標(biāo)記語(yǔ)料來(lái)訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,將訓(xùn)練好的語(yǔ)言模型與序列標(biāo)注模型進(jìn)行拼接,將語(yǔ)言模型學(xué)到的知識(shí)作為額外特征以提高序列標(biāo)注任務(wù)的性能;文獻(xiàn)[8]提出了將帶有局部注意力層卷積網(wǎng)絡(luò)和帶有全局注意力層的門控循環(huán)網(wǎng)絡(luò)相結(jié)合的CAN,以更好地捕獲相鄰字符和句子上下文的信息;文獻(xiàn)[9]提出一種協(xié)同圖神經(jīng)網(wǎng)絡(luò)(Collaborative Graph Network),通過詞意信息自動(dòng)構(gòu)建詞匯來(lái)解決命名實(shí)體識(shí)別中分詞邊界信息缺失問題;文獻(xiàn)[10]提出一種詞字-圖卷積網(wǎng)絡(luò)(WC-GCN),使用了一種交叉GCN模塊同時(shí)處理兩個(gè)方向的詞字有向無(wú)環(huán)圖,提高對(duì)長(zhǎng)距離依賴的捕獲能力;文獻(xiàn)[11]將實(shí)體識(shí)別任務(wù)轉(zhuǎn)變?yōu)閱柎鹑蝿?wù)以解決實(shí)體嵌套的問題。上述方法對(duì)實(shí)體識(shí)別的貢獻(xiàn)大多體現(xiàn)在優(yōu)化詞向量或優(yōu)化特征表達(dá)其中一方面,兼顧兩者的方法大多結(jié)構(gòu)復(fù)雜耗時(shí)較長(zhǎng)。為此,該文提出的模型具有以下貢獻(xiàn):使用ERNIE訓(xùn)練詞向量作為嵌入層,擺脫了模型對(duì)于分詞預(yù)處理過程的依賴,避免出現(xiàn)因分詞錯(cuò)誤以及信息缺失引起錯(cuò)誤傳播而導(dǎo)致準(zhǔn)確率降低的情況;通過自注意力層增加了約束正則項(xiàng)提高對(duì)參數(shù)約束性以提高每個(gè)生成標(biāo)簽的準(zhǔn)確性;最后,加入計(jì)劃采樣機(jī)制以解決模型訓(xùn)練與測(cè)試過程中存在的不匹配問題。
編解碼器[12-13]解決問題的主要思路是通過神經(jīng)網(wǎng)絡(luò)模型在每個(gè)時(shí)間段不斷地去學(xué)習(xí)輸入文本序列的編碼向量,然后根據(jù)存儲(chǔ)的信息向量解析成目標(biāo)序列。在每一步中,模型都是自循環(huán),當(dāng)生成下一個(gè)輸出時(shí),會(huì)將之前的輸出作為附加的輸入。
模型的結(jié)構(gòu)如圖1所示。
圖1 融合ERNIE和改進(jìn)Transformer的模型示意圖
該模型的整體運(yùn)作流程是:首先輸入文本序列,利用ERNIE預(yù)訓(xùn)練模型,獲得包含序列總體信息的動(dòng)態(tài)詞向量,接著將新的詞向量輸入到multi-head自注意力層進(jìn)行特征提取,捕捉序列的特征信息,編碼器通過學(xué)習(xí)將輸入的文本序列編碼成狀態(tài)向量,狀態(tài)向量會(huì)作為每個(gè)時(shí)刻特征輸入,并結(jié)合之前時(shí)刻的輸出進(jìn)行學(xué)習(xí)并輸出。編碼器由N=6個(gè)相同的基礎(chǔ)層疊加組成,每個(gè)基礎(chǔ)層由兩個(gè)子層組成,分別是multi-head自注意力層和全連接層,其中每個(gè)子層都加了殘差鏈接[14]和層標(biāo)準(zhǔn)化,子層的輸出可表示為:
sublayeroutput=LayerNorm(x+(SubLayer(x)))
(1)
其中,x和SubLayer(x)分別對(duì)應(yīng)multi-head自注意力層和全連接層的輸入和輸出。解碼器由N=6個(gè)相同的基礎(chǔ)層疊加組成,但相比于編碼器的基礎(chǔ)層多了一個(gè)子層,該子層輸入部分的K、V來(lái)自編碼器,Q來(lái)自上一位置解碼器的輸出,并且也包括殘差鏈接和層標(biāo)準(zhǔn)化。
在自然語(yǔ)言處理中,文本序列處理由以下幾個(gè)步驟組成。首先將原始文本序列嵌入至稠密的表征詞嵌入,其次將詞嵌入序列轉(zhuǎn)化為定長(zhǎng)的表征向量,最終輸入后續(xù)任務(wù)中。對(duì)詞嵌入表征的研究向來(lái)是自然語(yǔ)言處理的重中之重。然而,類似于Word2vec詞向量模型存在無(wú)法解析一詞多義以及上下文信息缺失等缺點(diǎn),往往對(duì)性能的提升并不明顯。ERNIE[15]作為一種預(yù)訓(xùn)練語(yǔ)言模型,是通過在海量語(yǔ)料中進(jìn)行自監(jiān)督學(xué)習(xí)而得到的一組適用性十分廣泛同時(shí)還能在具體任務(wù)中動(dòng)態(tài)優(yōu)化詞向量,所謂自監(jiān)督學(xué)習(xí)是指在沒有人工標(biāo)注的數(shù)據(jù)上運(yùn)行的監(jiān)督學(xué)習(xí)。ERNIE Embedding的結(jié)構(gòu)如圖2所示。
圖2 ERNIE Embedding的結(jié)構(gòu)
其訓(xùn)練過程與BERT類似,但BERT模型主要是聚焦在針對(duì)字或英文單詞粒度的學(xué)習(xí),沒有充分注重到中文字級(jí)結(jié)構(gòu)及語(yǔ)義單元之間的聯(lián)系[16-17]。為此,ERNIE訓(xùn)練過程通過對(duì)連續(xù)的語(yǔ)義單元掩碼,對(duì)訓(xùn)練數(shù)據(jù)中的詞法結(jié)構(gòu)、語(yǔ)法結(jié)構(gòu)、語(yǔ)義信息進(jìn)行統(tǒng)一建模,使得模型學(xué)習(xí)完整概念的語(yǔ)義表示,進(jìn)一步增強(qiáng)了在中文文本上的語(yǔ)義結(jié)構(gòu)表示能力。
由于多頭自注意力層缺少對(duì)序列中字詞順序的表示,因此需要在序列中添加位置編碼向量:Positional Encoding,該向量包含當(dāng)前字詞在序列中的位置信息,公式如下:
(2)
(3)
其中,pos表示當(dāng)前字詞在句子中的位置,i表示位置編碼向量中的第幾個(gè)維度,dmodel表示詞向量的維度,位置編碼的作用是將字詞在句子中的位置pos映射成dmodel維的位置向量,最后,將同維度的位置向量與詞向量進(jìn)行矩陣求和得到具有位置信息的詞向量。
Multi-head自注意力模塊在Transformer中首次被提出,其最大的特點(diǎn)是替代了傳統(tǒng)的RNN和CNN,整個(gè)結(jié)構(gòu)完全由attention機(jī)制組成[18]。傳統(tǒng)的RNN(或者LSTM,GRU等)的計(jì)算限制為順序的,也就是只能從左往右或者從右向左依次計(jì)算,這種機(jī)制帶來(lái)了兩個(gè)問題:t時(shí)刻的計(jì)算必須依賴t-1時(shí)刻的計(jì)算結(jié)果,這樣限制了模型的并行能力;順序計(jì)算的過程中信息會(huì)丟失,盡管在RNN上添加門控機(jī)制等方法一定程度上緩解了長(zhǎng)期依賴的問題,但仍存在依賴遞減的問題。而Multi-head自注意力模塊有效解決了上述問題。
Multi-head自注意力機(jī)制的計(jì)算過程相當(dāng)于多個(gè)不同的單自注意力機(jī)制的集成,單自注意力機(jī)制輸入由維數(shù)同為dk的query和key,以及維數(shù)為dv的value組成,輸出為:
(4)
Multi-head自注意力機(jī)制的計(jì)算過程相當(dāng)于多個(gè)不同的縮放點(diǎn)積注意力模塊集成,如圖3所示。
圖3 Multi-head自注意力
首先將Q,K,V經(jīng)過一個(gè)線性變換,然后再做縮放點(diǎn)積注意力運(yùn)算,整個(gè)過程重復(fù)h次。具體如公式(5)所示:
(i=1,2,…,h)
(5)
MultiHead(Q,K,V)=Concat(headi,…,
headh)WO
(6)
其中,WO∈Rhdv×dmodel,表示再進(jìn)行一次線性變換,最后得到所求注意力。
上面介紹了融合ERNIE和Transformer的模型,本節(jié)將引出約束正則項(xiàng)提高對(duì)參數(shù)約束性以提高每個(gè)生成標(biāo)簽的準(zhǔn)確性,進(jìn)一步對(duì)模型參數(shù)進(jìn)行優(yōu)化。因?yàn)樾枰獮槊總€(gè)令牌都生成一個(gè)標(biāo)簽,因此在生成特定的標(biāo)簽時(shí),應(yīng)該更多注意到對(duì)應(yīng)的令牌,而不應(yīng)該讓整個(gè)序列的標(biāo)簽過分地受到某一個(gè)令牌的影響,降低準(zhǔn)確性。為解決此問題,即需要使令牌之間在整個(gè)解碼過程中獲得的注意力差不多,因此,在解碼過程中,損失函數(shù)上加入注意力正則項(xiàng):
(7)
(8)
由于在訓(xùn)練時(shí)解碼器每個(gè)時(shí)間點(diǎn)接入的都是真實(shí)序列標(biāo)記,而在測(cè)試時(shí)每個(gè)時(shí)間點(diǎn)接入的都是上一時(shí)間點(diǎn)解碼器的輸出,這種訓(xùn)練和測(cè)試時(shí)編碼器輸入不匹配的差異會(huì)導(dǎo)致當(dāng)在某一步做出錯(cuò)誤預(yù)測(cè)后,后面會(huì)產(chǎn)生累積錯(cuò)誤,也就是上一時(shí)間點(diǎn)生成了錯(cuò)誤的標(biāo)簽,那么以它為輸入生成的下一標(biāo)簽的準(zhǔn)確性也會(huì)被影響。為解決此問題,引入一種計(jì)劃采樣策略:訓(xùn)練時(shí)不再完全采用真實(shí)序列標(biāo)記作為下一時(shí)間點(diǎn)的輸入,而是引入概率解決這個(gè)問題,以概率p選擇真實(shí)標(biāo)記,以1-p選擇模型自身的輸出,p采用反sigmoid函數(shù),公式如下:
(9)
其中,x為已使用數(shù)據(jù)集比例,k為超參;概率p的大小在訓(xùn)練過程中是動(dòng)態(tài)變化的:開始時(shí)p盡量選擇較大值,因?yàn)槟P陀?xùn)練不充分,盡量使用真實(shí)標(biāo)記。隨著訓(xùn)練的進(jìn)行,p值逐漸減小,因?yàn)殡S著模型訓(xùn)練越來(lái)越充分,需要盡量選擇模型自己的輸出以避免訓(xùn)練測(cè)試不匹配問題。
實(shí)驗(yàn)采用1998年1月的人民日?qǐng)?bào)語(yǔ)料作為數(shù)據(jù)集,該數(shù)據(jù)集是北京大學(xué)計(jì)算語(yǔ)言學(xué)研究所和富士通研究中心共同制作的標(biāo)注語(yǔ)料庫(kù),被作為原始數(shù)據(jù)應(yīng)用于大量的研究和論文中。實(shí)驗(yàn)過程按80%、10%、10%將其隨機(jī)劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集。數(shù)據(jù)集使用BIO標(biāo)注方式(Beginning,Inside,Outside)進(jìn)行標(biāo)注,其中包括3種實(shí)體類型,人名、地名和組織名(PER,LOC,ORG),共7種標(biāo)簽(‘B-PER’,‘I-PER’,‘B-LOC’,‘I-LOC’,‘B-ORG’,‘I-ORG’,‘O’)。實(shí)驗(yàn)中采用精確率P、召回率R和F1值作為模型的評(píng)價(jià)指標(biāo)。計(jì)算公式如下:
(10)
(11)
(12)
實(shí)驗(yàn)中,首先將文中模型與其他模型進(jìn)行對(duì)比,驗(yàn)證模型的有效性;然后通過在不同比重?cái)?shù)據(jù)集上進(jìn)一步驗(yàn)證研究融合ERNIE的有效性;最后,通過消融實(shí)驗(yàn)進(jìn)一步驗(yàn)證約束正則項(xiàng)及計(jì)劃采樣機(jī)制的有效性。
3.2.1 實(shí)驗(yàn)1:文中模型與其他模型的比較
實(shí)驗(yàn)選取了幾種效果較好且主流的模型包括CRF、LSTM-CRF、GRU-CRF以及RD-CNN-CRF[19]與文中模型進(jìn)行對(duì)比,結(jié)果見表1。實(shí)驗(yàn)結(jié)果顯示,文中模型相比于其他模型在各個(gè)指標(biāo)上都有所提升,通過在相同數(shù)據(jù)集上對(duì)比實(shí)驗(yàn)結(jié)果說明在實(shí)體識(shí)別任務(wù)中應(yīng)用文中模型能夠提高識(shí)別效果。
表1 不同模型實(shí)驗(yàn)結(jié)果對(duì)比 %
3.2.2 實(shí)驗(yàn)2:評(píng)估融合ERNIE后模型效果
按照不同比例從數(shù)據(jù)集中進(jìn)行不放回隨機(jī)取樣生成不同規(guī)模的數(shù)據(jù)集,在ERIT上將詞向量訓(xùn)練方式改為常規(guī)word2vec以此作為對(duì)比模型。實(shí)驗(yàn)結(jié)果見圖4。在不同規(guī)模的數(shù)據(jù)集上訓(xùn)練文中模型與對(duì)比模型,結(jié)果表明隨著數(shù)據(jù)集規(guī)模增大,兩者的結(jié)果均明顯提高,表明了模型的有效性;同時(shí)在不同的規(guī)模數(shù)據(jù)集上文中模型表現(xiàn)均優(yōu)于對(duì)比模型,說明融合ERNIE方式相較于word2vec詞向量訓(xùn)練法可以提升實(shí)體識(shí)別模型的表現(xiàn),這種情況在數(shù)據(jù)集較小時(shí)更加明顯。
圖4 實(shí)驗(yàn)2結(jié)果
3.2.3 實(shí)驗(yàn)3:消融研究
為了驗(yàn)證模型中約束正則項(xiàng)和計(jì)劃采樣機(jī)制的有效性,對(duì)文中模型進(jìn)行消融研究。通過在訓(xùn)練過程中移除和添加這兩部分然后在測(cè)試集上驗(yàn)證其對(duì)性能指標(biāo)的影響。具體實(shí)驗(yàn)做法為分別對(duì)正則項(xiàng)和計(jì)劃采樣設(shè)置權(quán)重系數(shù)λ1、λ2,當(dāng)λ1分別置為0或1時(shí),即分別表示移除或添加了約束正則項(xiàng);當(dāng)λ2置為1時(shí)即為在訓(xùn)練時(shí)解碼器每個(gè)時(shí)間點(diǎn)接入的都是真實(shí)序列標(biāo)記,當(dāng)λ2置為p時(shí),即表示加入了計(jì)劃采樣機(jī)制,實(shí)驗(yàn)結(jié)果見表2。
表2 消融實(shí)驗(yàn)結(jié)果 %
通過對(duì)比模型在沒有采用約束正則項(xiàng)與計(jì)劃采樣機(jī)制(λ1=0,λ2=1)時(shí)和只采用正則項(xiàng)(λ1=1,λ2=1)時(shí)的實(shí)驗(yàn)結(jié)果表明,后者相較于前者取得了更好的效果,這驗(yàn)證了約束正則項(xiàng)的有效性,又與λ1=0,λ2=1的結(jié)果對(duì)比發(fā)現(xiàn)將計(jì)劃采樣機(jī)制集成到模型中會(huì)進(jìn)一步提高性能。值得注意的是,加入計(jì)劃采樣機(jī)制會(huì)使得模型在訓(xùn)練集上效果有所下降,但在測(cè)試集上有明顯提升,因?yàn)榧尤胗?jì)劃采樣機(jī)制,訓(xùn)練時(shí)不再完全采用真實(shí)標(biāo)記,會(huì)策略性地選擇上一時(shí)間點(diǎn)的輸出接入解碼器,這雖然降低了在訓(xùn)練集上的效果,但卻使模型更具魯棒性,所以實(shí)際測(cè)試效果更好。這些結(jié)果表明,提出的約束注意力正則項(xiàng)和計(jì)劃采樣機(jī)制是非常有效的。
提出的模型使用ERNIE訓(xùn)練詞向量作為嵌入層對(duì)文本序列進(jìn)行了特征提取,兼顧輸入文本識(shí)別精度的同時(shí)進(jìn)一步優(yōu)化輸入語(yǔ)句的詞向量。利用Transformer獲取輸入序列的上下文信息并進(jìn)行充分的特征提取,相比傳統(tǒng)神經(jīng)網(wǎng)絡(luò)模型效果提升顯著,在此基礎(chǔ)上提出了約束正則項(xiàng)提高對(duì)參數(shù)約束性以提高每個(gè)生成標(biāo)簽的準(zhǔn)確性,并加入計(jì)劃采樣機(jī)制以解決模型訓(xùn)練與測(cè)試過程中存在的不匹配問題,通過實(shí)驗(yàn)證明提出的約束注意力正則項(xiàng)和計(jì)劃采樣機(jī)制能進(jìn)一步提升模型性能。
計(jì)算機(jī)技術(shù)與發(fā)展2022年10期