唐煥玲,王 慧,隗 昊,趙紅磊,竇全勝,魯明羽
1.山東工商學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,山東 煙臺(tái)264005
2.山東工商學(xué)院 信息與電子工程學(xué)院,山東 煙臺(tái)264005
3.山東省高等學(xué)校協(xié)同創(chuàng)新中心:未來(lái)智能計(jì)算,山東 煙臺(tái)264005
4.山東省高校智能信息處理重點(diǎn)實(shí)驗(yàn)室(山東工商學(xué)院),山東 煙臺(tái)264005
5.大連海事大學(xué) 信息科學(xué)技術(shù)學(xué)院,遼寧 大連116026
知識(shí)圖譜(knowledge graph,KG)是一種用圖模型來(lái)描述知識(shí)和建模世間萬(wàn)物之間關(guān)聯(lián)關(guān)系的技術(shù)方法,可分為通用知識(shí)圖譜和領(lǐng)域知識(shí)圖譜兩種。通用知識(shí)圖譜主要應(yīng)用于語(yǔ)義搜索、推薦系統(tǒng)、智能問(wèn)答等業(yè)務(wù)場(chǎng)景,并發(fā)揮著越來(lái)越重要的作用。而領(lǐng)域知識(shí)圖譜是基于行業(yè)數(shù)據(jù)構(gòu)建,由于知識(shí)來(lái)源多、知識(shí)結(jié)構(gòu)復(fù)雜、知識(shí)質(zhì)量要求更高等特點(diǎn),在解決行業(yè)痛點(diǎn)時(shí),存在對(duì)知識(shí)圖譜利用不明晰、知識(shí)圖譜技術(shù)與行業(yè)難融合等問(wèn)題。如面向時(shí)鐘領(lǐng)域,用戶(hù)越來(lái)越復(fù)雜,用戶(hù)無(wú)法將自己的需求用專(zhuān)業(yè)術(shù)語(yǔ)表達(dá),進(jìn)而導(dǎo)致需求頻繁更改、項(xiàng)目延期。同時(shí),傳統(tǒng)售后服務(wù)不能快速識(shí)別、理解和解決用戶(hù)的售后問(wèn)題。因此,迫切需要面向時(shí)鐘領(lǐng)域構(gòu)建垂直知識(shí)圖譜,輔助語(yǔ)言理解和數(shù)據(jù)分析。而命名實(shí)體識(shí)別是時(shí)鐘領(lǐng)域知識(shí)圖譜構(gòu)建過(guò)程中的基礎(chǔ)和關(guān)鍵環(huán)節(jié),其目標(biāo)是從海量的文本中識(shí)別出具有特定意義的實(shí)體。
主流的命名實(shí)體識(shí)別方法是基于深度學(xué)習(xí)的方法,通常是將實(shí)體識(shí)別任務(wù)轉(zhuǎn)化為序列標(biāo)注任務(wù)。而目前沒(méi)有針對(duì)時(shí)鐘領(lǐng)域命名實(shí)體識(shí)別的研究,由于時(shí)鐘領(lǐng)域的標(biāo)簽數(shù)據(jù)匱乏,現(xiàn)有的方法直接應(yīng)用于時(shí)鐘領(lǐng)域,存在實(shí)體識(shí)別精度不高的問(wèn)題。
本文針對(duì)時(shí)鐘領(lǐng)域?qū)嶓w識(shí)別中的問(wèn)題,提出一種新的命名實(shí)體識(shí)別模型BERT-LCRF,該模型利用預(yù)訓(xùn)練語(yǔ)言模型BERT能夠提取時(shí)鐘領(lǐng)域的文本特征,利用線性鏈條件隨機(jī)場(chǎng)(Linear-CRF)進(jìn)一步提高實(shí)體識(shí)別的精度。在時(shí)鐘行業(yè)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,該模型在各項(xiàng)指標(biāo)上顯著優(yōu)于其他命名實(shí)體識(shí)別方法。BERTLCRF 命名實(shí)體識(shí)別方法,能夠更好地獲取句子間的語(yǔ)義關(guān)系,并且能夠提高序列標(biāo)注任務(wù)的精度,對(duì)構(gòu)建時(shí)鐘領(lǐng)域知識(shí)圖譜有著積極的促進(jìn)作用。
命名實(shí)體識(shí)別發(fā)展至今,主要有基于規(guī)則和詞典的方法、基于統(tǒng)計(jì)的方法和基于深度學(xué)習(xí)的方法,其中基于深度學(xué)習(xí)的方法可以自動(dòng)學(xué)習(xí)適合領(lǐng)域的特征,獲取多層次的表達(dá),因此在命名實(shí)體識(shí)別方向有著廣泛的使用。
基于規(guī)則和字典的方法主要是采用模式字符串匹配的實(shí)現(xiàn)方式,使用人手工構(gòu)造的特征模版。該方法的不足之處在于模型的可移植性差,單一語(yǔ)料訓(xùn)練好的特征模板不適用于任意語(yǔ)料;其次,構(gòu)建模板時(shí)花費(fèi)的時(shí)間成本較大,它依賴(lài)語(yǔ)言學(xué)專(zhuān)家書(shū)寫(xiě)規(guī)則,或者需要收集整理相關(guān)詞典等資源。因此,該方法存在系統(tǒng)可移植性不好,代價(jià)大,系統(tǒng)建設(shè)周期長(zhǎng)等問(wèn)題。
基于統(tǒng)計(jì)的方法依賴(lài)于特征選擇,對(duì)實(shí)體識(shí)別結(jié)果有影響的各種特征需要從文本中選取,用統(tǒng)計(jì)的模型對(duì)選出的特征進(jìn)行訓(xùn)練,從而得到各模型的參數(shù),進(jìn)而對(duì)實(shí)體進(jìn)行識(shí)別。有學(xué)者采用基于詞匯資源、模板的統(tǒng)計(jì)信息等進(jìn)行上下文聚類(lèi)的方式[1-3];也有學(xué)者使用少量標(biāo)注的種子數(shù)據(jù)作為開(kāi)始,再去無(wú)監(jiān)督語(yǔ)料中進(jìn)行訓(xùn)練,迭代后發(fā)現(xiàn)符合規(guī)則的實(shí)體[4-7]?;诮y(tǒng)計(jì)的方法主要是在標(biāo)注訓(xùn)練數(shù)據(jù)集上,利用模型來(lái)抽取數(shù)據(jù)集中的特征,對(duì)訓(xùn)練數(shù)據(jù)集以外的數(shù)據(jù)進(jìn)行實(shí)體抽取。常用的識(shí)別模型有馬爾可夫模型(hidden Markov model,HMM)[8]、支持向量機(jī)(support vector machine,SVM)[9]、條件隨機(jī)場(chǎng)(CRF)[10]等。有監(jiān)督學(xué)習(xí)雖然有優(yōu)勢(shì)并且能夠有效處理海量的數(shù)據(jù),但是其不足之處在于,第一,模型的訓(xùn)練需要大量的人工標(biāo)注語(yǔ)料、代價(jià)高;第二,有監(jiān)督學(xué)習(xí)的識(shí)別效果依賴(lài)特征工程選取的特征,因此如何選取反映實(shí)體特性的特征集合,對(duì)于模型來(lái)說(shuō)至關(guān)重要。
目前,深度學(xué)習(xí)算法在自然語(yǔ)言處理領(lǐng)域已經(jīng)得到了大規(guī)模的應(yīng)用,在命名實(shí)體識(shí)別領(lǐng)域,基于深度學(xué)習(xí)的方法已經(jīng)成為主流。循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural networks,RNN)等時(shí)序網(wǎng)絡(luò)模型,在文本序列標(biāo)注中表現(xiàn)出良好的效果,神經(jīng)網(wǎng)絡(luò)模型的輸入分為字粒度、詞粒度和句子粒度,通過(guò)學(xué)習(xí)嵌入模型以向量的形式表示,輸入到神經(jīng)網(wǎng)絡(luò)中進(jìn)行編碼,然后通過(guò)條件隨機(jī)場(chǎng)模型對(duì)編碼的數(shù)據(jù)進(jìn)行解碼,得到全局最優(yōu)的標(biāo)注序列。為了解決RNN 中梯度消失和梯度爆炸問(wèn)題,研究學(xué)者又提出了一種長(zhǎng)短期記憶網(wǎng)絡(luò)模型(long shortterm memory,LSTM)[11],這種改進(jìn)的時(shí)序網(wǎng)絡(luò)模型適用于命名實(shí)體識(shí)別任務(wù),具有較大的優(yōu)勢(shì)。Huang 等人[12]提出了雙向長(zhǎng)短期記憶網(wǎng)絡(luò)(bidirectional long shortterm memory,BiLSTM)和條件隨機(jī)場(chǎng)(CRF)架構(gòu)用于自然語(yǔ)言處理序列標(biāo)注任務(wù),將拼寫(xiě)特征、內(nèi)容特征、詞向量作為神經(jīng)網(wǎng)絡(luò)的輸入,該論文將模型用于命名實(shí)體識(shí)別任務(wù)中獲得了先進(jìn)水平。2018 年,由Google 的研究人員Devlin等人[13]提出的BERT模型采用Transformer編碼和自注意力機(jī)制對(duì)大規(guī)模語(yǔ)料進(jìn)行訓(xùn)練,得到了表征能力強(qiáng)的預(yù)訓(xùn)練字向量。李明揚(yáng)等人[14]在BiLSTMCRF模型的基礎(chǔ)上引入自注意力機(jī)制,豐富了文本的特征,在微博語(yǔ)料庫(kù)中達(dá)到58.76%的效果。李博等人[15]針對(duì)中文電子病歷命名實(shí)體識(shí)別傳統(tǒng)模型識(shí)別效果不佳的問(wèn)題,提出一種完全基于注意力機(jī)制的神經(jīng)網(wǎng)絡(luò)模型,對(duì)Transformer模型進(jìn)行訓(xùn)練優(yōu)化以提取文本特征;利用條件隨機(jī)場(chǎng)對(duì)提取到的文本特征進(jìn)行分類(lèi)識(shí)別,具有較好的識(shí)別效果。
楊培等人[16]利用BiLSTM 學(xué)習(xí)字符向量,隨后將詞向量和字符向量再經(jīng)過(guò)另一個(gè)BiLSTM 以獲得詞的上下文表示,然后再利用Attention機(jī)制獲得詞在全文范圍下的上下文表示,最后利用CRF層得到整篇文章的標(biāo)簽序列。Kuru 等人[17]提出的一種基于字符級(jí)別的命名實(shí)體識(shí)別標(biāo)注模型及標(biāo)注模式,該方法能更好地捕獲詞組的形態(tài)學(xué)特征,同時(shí)又可以避免出現(xiàn)未登陸的詞(OOV)情況。Zhang 等人[18]采用Lattice LSTM 模型進(jìn)行實(shí)體識(shí)別,該模型對(duì)輸入字符序列以及與詞典匹配的所有潛在單詞進(jìn)行編碼,供模型自動(dòng)取用,相比于字符級(jí)的編碼,Lattice LSTM 能夠獲取更豐富的語(yǔ)義;相比于詞序列的編碼,Lattice LSTM能夠避免分詞錯(cuò)誤帶來(lái)的影響。
但在特定的時(shí)鐘領(lǐng)域的實(shí)體識(shí)別方法還存在一些難點(diǎn)問(wèn)題:(1)時(shí)鐘行業(yè)內(nèi)數(shù)據(jù)類(lèi)型眾多,存儲(chǔ)格式不統(tǒng)一,并且信息實(shí)體之間大部分不是直接連接的。信息實(shí)體與通用的命名實(shí)體也是不一致的,需要對(duì)概念實(shí)體進(jìn)行重新定義。(2)時(shí)鐘領(lǐng)域缺乏足夠多的標(biāo)注數(shù)據(jù),人工標(biāo)注的成本很高,需要耗費(fèi)大量的時(shí)間以及精力,并且實(shí)體標(biāo)注難度大。目前并無(wú)學(xué)者對(duì)時(shí)鐘領(lǐng)域的命名實(shí)體識(shí)別進(jìn)行探索,時(shí)鐘領(lǐng)域也沒(méi)有公開(kāi)的大規(guī)模的帶標(biāo)簽的數(shù)據(jù)集。因此,本文針對(duì)時(shí)鐘領(lǐng)域的命名實(shí)體識(shí)別問(wèn)題,提出了一種結(jié)合BERT和Linear-CRF的時(shí)鐘領(lǐng)域命名實(shí)體識(shí)別模型,記作BERT-LCRF。
面向時(shí)鐘領(lǐng)域的命名實(shí)體識(shí)別方法,其目標(biāo)是從時(shí)鐘行業(yè)的文檔中識(shí)別出與時(shí)鐘行業(yè)相關(guān)的實(shí)體,并將他們歸類(lèi)到預(yù)先定義好的實(shí)體類(lèi)別中。
首先根據(jù)收集的時(shí)鐘領(lǐng)域的各種文檔,分析時(shí)鐘領(lǐng)域的專(zhuān)業(yè)術(shù)語(yǔ)和概念,預(yù)先定義時(shí)鐘領(lǐng)域的實(shí)體類(lèi)別集合C={c1,c2,…,cm}。根據(jù)時(shí)鐘領(lǐng)域的文本特點(diǎn)和實(shí)體類(lèi)別集合C,采用BIO 標(biāo)注策略,定義實(shí)體標(biāo)簽集合L。令B代表Beginning,標(biāo)注實(shí)體的起始部分,I代表Inside,標(biāo)注實(shí)體的中間部分,O 代表Outside,標(biāo)注與實(shí)體無(wú)關(guān)的信息,實(shí)體標(biāo)簽集合L={l1,l2,…,lk}。面向時(shí)鐘領(lǐng)域的命名實(shí)體識(shí)別問(wèn)題可以轉(zhuǎn)換為序列標(biāo)注問(wèn)題,輸入句子的字序列,預(yù)測(cè)輸出其實(shí)體標(biāo)簽序列。
面向時(shí)鐘領(lǐng)域命名實(shí)體識(shí)別任務(wù)是:
訓(xùn)練階段:對(duì)給定時(shí)鐘領(lǐng)域訓(xùn)練樣本集X和實(shí)體標(biāo)簽序列空間Y,訓(xùn)練生成:
其中,hBERT-LCRF是本文面向時(shí)鐘領(lǐng)域提出的一種基于BERT和線性鏈條件隨機(jī)場(chǎng)(Linear-CRF)的命名實(shí)體識(shí)別模型,框架如圖1 所示。hBERT-LCRF的目標(biāo)函數(shù)是最大化如式(2)的對(duì)數(shù)似然。
測(cè)試階段:對(duì)任意句子x=(x1,x2,…,xn),預(yù)測(cè)實(shí)體標(biāo)簽序列為:
其中,hBERT-LCRF是訓(xùn)練好的命名實(shí)體識(shí)別訓(xùn)練模型?!蔐,是對(duì)x預(yù)測(cè)的實(shí)體標(biāo)簽序列。
如圖1所示,BERT-LCRF的時(shí)鐘領(lǐng)域命名實(shí)體識(shí)別模型由BERT層、Linear-CRF層組成。其中,BERT層是特征提取層,實(shí)現(xiàn)特征提取的功能。Linear-CRF層是基于Linear-CRF 的序列標(biāo)注層,實(shí)現(xiàn)序列標(biāo)注的功能。BERT層和Linear-CRF層將在2.2~2.4節(jié)詳細(xì)描述。
圖1 BERT-LCRF的模型結(jié)構(gòu)圖Fig.1 BERT-LCRF model structure diagram
BERT 模型[13]是從語(yǔ)料中學(xué)習(xí),并充分考慮語(yǔ)料中句子級(jí)、詞語(yǔ)級(jí)和字符級(jí)之間的關(guān)系特征,增強(qiáng)字向量的語(yǔ)義表示。BERT 的結(jié)構(gòu)如圖2 所示,其最大的特點(diǎn)是拋棄循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)和卷積神經(jīng)網(wǎng)絡(luò)(CNN),采用多層的Transformer結(jié)構(gòu)。
圖2 BERT模型結(jié)構(gòu)Fig.2 BERT model structure
如圖2所示,BERT的輸入是n個(gè)字序列,經(jīng)過(guò)BERT嵌入層(embedding),表示成字編碼向量(e1,e2,…,en),輸出是(t1,t2,…,tn),表示n個(gè)字的得分概率向量。
為融合字左右兩側(cè)的上下文,BERT 采用多個(gè)雙向Transformer 作為編碼器,即圖2 中的Trm。通過(guò)Transformer 中的注意力機(jī)制將任意位置的兩個(gè)單詞的距離轉(zhuǎn)換,反映各個(gè)字之間的相關(guān)程度,從而使輸出的各個(gè)字向量都充分融合了上下文的信息,解決了一詞多義的問(wèn)題。BERT 模型具有很好的并行計(jì)算能力,且能夠捕獲長(zhǎng)距離的特征。
條件隨機(jī)場(chǎng)(condition random field,CRF)模型是一種用于標(biāo)注和切分有序數(shù)據(jù)的條件概率模型,該模型結(jié)合了隱馬爾可夫和最大熵模型的優(yōu)點(diǎn)。
假設(shè)x=(x1,x2,…,xn),y=(y1,y2,…,yn)均為線性鏈表示的隨機(jī)變量序列,如果給定隨機(jī)變量序列x,隨機(jī)變量序列y的條件概率分布Pr(y|x)構(gòu)成條件隨機(jī)場(chǎng),即滿(mǎn)足馬爾可夫性:
則稱(chēng)Pr(y|x)為線性鏈條件隨機(jī)場(chǎng)(Linear-CRF)。
序列標(biāo)注問(wèn)題中,x表示輸入觀測(cè)序列,y表示對(duì)應(yīng)的輸出標(biāo)記序列或狀態(tài)序列,且與觀測(cè)序列具有相同的結(jié)構(gòu)。因此,序列標(biāo)注問(wèn)題可以表示為如圖3所示的Linear-CRF。
圖3 線性鏈條件隨機(jī)場(chǎng)Fig.3 Linear chain conditional random field
對(duì)序列標(biāo)簽的預(yù)測(cè),通常采用softmax分類(lèi)器方法,但是softmax方法沒(méi)有考慮標(biāo)簽之間的依賴(lài)關(guān)系。
本文采用Linear-CRF 進(jìn)行序列標(biāo)簽預(yù)測(cè),Linear-CRF能夠考慮各字標(biāo)簽之間的約束關(guān)系,它利用每個(gè)字標(biāo)簽的得分與字標(biāo)簽之間的轉(zhuǎn)移矩陣A計(jì)算不同標(biāo)簽序列的出現(xiàn)概率Pr(y|x),從而能夠從中選取出概率最大的序列y*作為所考慮句子的標(biāo)簽序列。
本文基于BERT 和Linear-CRF 提出了面向時(shí)鐘領(lǐng)域的BERT-LCRF命名實(shí)體識(shí)別模型。
如圖1 所示,輸入句子x=(x1,x2,…,xn),由BERT模型輸出字序列標(biāo)簽的得分概率向量T=(t1,t2,…,tn),然后采用Linear-CRF 模型預(yù)測(cè)句子中的每個(gè)字xi∈x的最優(yōu)標(biāo)簽,從而完成時(shí)鐘領(lǐng)域的命名實(shí)體識(shí)別任務(wù)。
2.4.1 BERT嵌入層
BERT 嵌入層即圖1 和圖2 中的“embedding”層,由三種embedding求和而成,具體如圖4所示。
圖4 BERT嵌入層的特征嵌入表示Fig.4 Feature embedding representation of BERT embedding layer
BERT 嵌入層的輸入是字的線性序列,支持單句文本和句對(duì)文本,句首用符號(hào)[CLS]表示,句尾采用符號(hào)[SEP],斷開(kāi)輸入的兩個(gè)句子。
BERT嵌入層由詞嵌入(token embeddings)、分割嵌入(segment embeddings)和位置嵌入(position embeddings)共同組成[13],其中詞嵌入是將中文字符轉(zhuǎn)為字向量,位置嵌入是指將字符的位置信息編碼成特征向量,分割嵌入用于區(qū)分兩個(gè)句子。其中,位置嵌入(position embeddings)用來(lái)加入位置信息,支持序列長(zhǎng)度為512,利用正余弦函數(shù)對(duì)字進(jìn)行位置編碼,將字的位置信息編碼成特征矩陣,其編碼如式(5)和(6)[13]。
其中,PE為二維矩陣,其維度與輸入embedding 的相同,這里行表示字,列表示字向量,pos表示字在句子中的位置,dmodel表示字向量的維度,i表示字向量的位置,a等于10 000。位置編碼的每個(gè)維度的波長(zhǎng)形成是從2π 到a?2π 的幾何數(shù),對(duì)于任何固定偏移k,PE(pos,k)可以表示為一個(gè)線性的位置編碼。位置編碼是通過(guò)線性變換獲取后續(xù)字符相對(duì)于當(dāng)前字符的位置關(guān)系,能夠更好地表達(dá)語(yǔ)義關(guān)系。
輸入句子x=(x1,x2,…,xn),由BERT嵌入層的三種embedding轉(zhuǎn)換求和之后,每個(gè)字xi轉(zhuǎn)換為嵌入向量ei輸出,得到句子的嵌入表示E=(e1,e2,…,en),其中ei是對(duì)應(yīng)xi的向量表示,是一個(gè)m維向量,E是一個(gè)n×m維的矩陣,每一行對(duì)應(yīng)句子中一個(gè)字的向量表示,然后作為圖2中Trm層的輸入。
2.4.2 Trm層
如圖2 所示,BERT 的Trm 層由多個(gè)Transformer 編碼器(Encoder)組成,每個(gè)Encoder的結(jié)構(gòu)如圖5所示。
圖5 Encoder詳細(xì)結(jié)構(gòu)Fig.5 Encoder detailed structure
每個(gè)Encoder包括多頭自注意力機(jī)制層(multi-head self-attention)、全連接層(feed forward)、殘差連接和歸一化層(add&normal)。在Encoder 中最主要的模塊為multi-head self-attention[19],其核心思想是計(jì)算句子中每個(gè)字與該句子中其他所有的字的相互關(guān)系,并調(diào)整每個(gè)字的權(quán)重,獲取每個(gè)字的新的表達(dá)方式。
Encoder的輸入是BERT嵌入層的輸出E。將目標(biāo)字的ei通過(guò)線性變換得到表示目標(biāo)字的q向量、表示上下文各個(gè)字的k向量以及表示目標(biāo)字與上下文各個(gè)字的原始v向量,然后計(jì)算q向量與各個(gè)k向量的相似度作為權(quán)重,加權(quán)融合目標(biāo)字的v向量和各個(gè)上下文字的v向量,計(jì)算[19]如式(7):
其中,q表示查詢(xún)向量,k表示鍵向量,v表示值向量,d為縮放因子,其目的是使模型的梯度更穩(wěn)定。采用點(diǎn)積的計(jì)算機(jī)制,使當(dāng)前節(jié)點(diǎn)不只關(guān)注當(dāng)前的字,而是關(guān)注整個(gè)句子,從而獲取到上下文的語(yǔ)義信息,在一定程度上反映出不同字符之間的關(guān)聯(lián)性和重要程度,獲得更豐富的語(yǔ)義特征表達(dá)。最后使用softmax進(jìn)行歸一化處理。
在實(shí)際應(yīng)用過(guò)程中,編碼器(encoder)中使用多頭自注意力(multi-head self-attention),利用不同的Self-Attention 模塊獲得句子中每個(gè)字在不同語(yǔ)義空間下的增強(qiáng)語(yǔ)義向量,并將每個(gè)字的多個(gè)增強(qiáng)語(yǔ)義向量進(jìn)行拼接,再進(jìn)行線性變換,從而獲得一個(gè)最終的與原始字向量長(zhǎng)度相同的增強(qiáng)語(yǔ)義向量,作為Multi-Head Self-Attention層的結(jié)果,計(jì)算如式(8)和式(9)。表示第i個(gè)head的權(quán)重矩陣,WO表示附加的權(quán)重矩陣,在模型訓(xùn)練時(shí)不斷更新。在多頭注意力層通過(guò)不同的head得到多個(gè)特征表達(dá),將所有的特征拼接到一起,作為增強(qiáng)語(yǔ)義的向量表示。
在殘差鏈接和歸一化層(add&normal)中,利用殘差鏈接可避免在模型較深時(shí),反向傳播過(guò)程中的梯度消失問(wèn)題。當(dāng)網(wǎng)絡(luò)進(jìn)行前向傳播時(shí),可以按照網(wǎng)絡(luò)層數(shù)進(jìn)行逐層傳播,還可以從當(dāng)前層隔一層或多層向前傳播。該層能對(duì)各特征之間的輸入進(jìn)行規(guī)范化。然后將處理后的數(shù)據(jù)zi傳送給全連接層(feed forward),該層可以進(jìn)行并行計(jì)算。
在全連接層(feed forward neural network),是一個(gè)兩層的全連接層,第一層的激活函數(shù)為Relu,第二層不使用激活函數(shù),對(duì)應(yīng)的公式如下:
其中,
其中,zi為殘差鏈接和歸一化層的輸出,W1,W2,b1,b2均為前饋網(wǎng)絡(luò)層的權(quán)值參數(shù)。
在模型結(jié)構(gòu)中,每一層都會(huì)間隔一層add&normal,這是深度殘差網(wǎng)絡(luò)的特性,將前一層的輸入和輸出進(jìn)行求和正則,得到R=(r1,r2,…,rn),并將其作為下一個(gè)Encoder 的輸入,在經(jīng)過(guò)多個(gè)Encoder 編碼后,最后通過(guò)softmax 歸一化得到各個(gè)字的標(biāo)簽得分概率向量T=(t1,t2,…,tn)。
使用Transformer編碼器(Encoder)能夠計(jì)算句中字與字之間的關(guān)系,使得模型能夠?qū)W習(xí)字之間的聯(lián)系以及每個(gè)字的重要程度,獲取全局特征信息。
2.4.3 基于Linear-CRF的序列標(biāo)注層
給定句子x=(x1,x2,…,xn),由BERT模型得到的字序列的實(shí)體標(biāo)簽得分概率T=(t1,t2,…,tn),ti是字xi的實(shí)體標(biāo)簽得分,T是linear-CRF序列標(biāo)注層的輸入。
linear-CRF 層的參數(shù)是一個(gè)(n+2)×(n+2)的實(shí)體標(biāo)簽轉(zhuǎn)移矩陣A,Aij表示是從第i個(gè)標(biāo)簽到第j標(biāo)簽的轉(zhuǎn)移得分,體現(xiàn)的是實(shí)體標(biāo)簽之間的約束關(guān)系。對(duì)一個(gè)位置進(jìn)行標(biāo)注時(shí),可以利用此前已經(jīng)標(biāo)注過(guò)的標(biāo)簽。n+2 是為句子首部添加一個(gè)起始狀態(tài),句子尾部添加一個(gè)終止?fàn)顟B(tài)。
對(duì)給定的句子x,根據(jù)每個(gè)字的實(shí)體標(biāo)簽的得分ti,以及字標(biāo)簽之間的轉(zhuǎn)移矩陣A,計(jì)算對(duì)x預(yù)測(cè)為不同標(biāo)簽序列y的概率,取概率最大的標(biāo)簽序列y*,作為該句子的標(biāo)簽序列,具體過(guò)程如下:
對(duì)任意一個(gè)句子x=(x1,x2,…,xn),n是字序列長(zhǎng)度,也是標(biāo)簽序列的長(zhǎng)度,那么BERT-LCRF模型對(duì)x預(yù)測(cè)為標(biāo)簽序列y的得分計(jì)算如式(11):
其中,表示第i個(gè)字被標(biāo)記為yi的概率,A為轉(zhuǎn)移矩陣,表示從yi標(biāo)簽轉(zhuǎn)移到y(tǒng)i+1標(biāo)簽的概率,n為序列長(zhǎng)度。因此,整個(gè)字序列的得分是每個(gè)字的分?jǐn)?shù)之和,而每個(gè)字的分?jǐn)?shù)由兩部分組成,一部分是由上一層輸出的ti決定,另一部分則由linear-CRF的轉(zhuǎn)移矩陣A決定。最后利用softmax函數(shù)歸一化,計(jì)算Pr(y|x)如式(12)所示:
其中,y′∈Y,L是對(duì)時(shí)鐘領(lǐng)域的字標(biāo)簽集合,y′是可能的字標(biāo)簽序列,式(12)的對(duì)數(shù)似然計(jì)算如式(13):
最后在解碼階段,使用維特比算法[20]求解最優(yōu)路徑,計(jì)算如式(14):
由此對(duì)于輸入字序列x=(x1,x2,…,xn),經(jīng)過(guò)模型BERT-LCRF預(yù)測(cè),得到字序列標(biāo)簽
本文采用自建的時(shí)鐘領(lǐng)域語(yǔ)料庫(kù)(clock-dataset)對(duì)BERT-LCRF模型的有效性進(jìn)行實(shí)驗(yàn)評(píng)估。
(1)時(shí)鐘領(lǐng)域文本預(yù)處理
首先收集時(shí)鐘行業(yè)的時(shí)鐘系統(tǒng)建議書(shū)作為原始數(shù)據(jù),由于原始文本數(shù)據(jù)的存儲(chǔ)格式不同,包含對(duì)實(shí)體識(shí)別無(wú)用的信息,經(jīng)過(guò)格式轉(zhuǎn)換、過(guò)濾圖片等無(wú)用信息、分段、分句等預(yù)處理,得到初始以句子為單位的時(shí)鐘領(lǐng)域語(yǔ)料庫(kù)。
(2)領(lǐng)域新詞識(shí)別和自定義字典
對(duì)未分詞的語(yǔ)料庫(kù),采用基于互信息和左右熵算法[21]進(jìn)行領(lǐng)域新詞的識(shí)別。該方法首先計(jì)算詞與其右鄰接字的互信息,得到候選新詞,然后再采用鄰接熵、過(guò)濾候選新詞首尾的停用詞和過(guò)濾舊詞語(yǔ)等規(guī)則進(jìn)行篩選,最終得到領(lǐng)域新詞集,并添加領(lǐng)域自定義詞典(clockdictionary)中。結(jié)合clock-dictionary,采用jieba 分詞對(duì)初始時(shí)鐘語(yǔ)料庫(kù)中的句子進(jìn)行分詞,提高領(lǐng)域分詞結(jié)果的準(zhǔn)確性。同時(shí)將分詞結(jié)果作為時(shí)鐘領(lǐng)域的先驗(yàn)知識(shí),減少人工標(biāo)注審核的工作量,提高標(biāo)注的效率,降低標(biāo)注誤差。
(3)實(shí)體類(lèi)別和實(shí)體標(biāo)簽定義
根據(jù)時(shí)鐘系統(tǒng)建議書(shū)的領(lǐng)域特性,進(jìn)行概念抽取,結(jié)合對(duì)領(lǐng)域詞匯的統(tǒng)計(jì)分析,定義時(shí)鐘領(lǐng)域的實(shí)體類(lèi)別集合C={c1,c2,…,cm},其中ci∈C,可以是地域(CITY)、設(shè)備(EQU)、對(duì)象(OBJ)等,具體如表1所示。
表1 時(shí)鐘領(lǐng)域?qū)嶓w類(lèi)別描述Table 1 Entity category description in clock domain
在定義了實(shí)體類(lèi)別集合C后,根據(jù)時(shí)鐘領(lǐng)域的文本特點(diǎn),采用BIO 標(biāo)注策略,令B 代表Beginning,標(biāo)注實(shí)體的起始部分,I代表Inside,標(biāo)注實(shí)體的中間部分,O代表Outside,標(biāo)注與實(shí)體無(wú)關(guān)的信息,定義實(shí)體字標(biāo)簽集合L={l1,l2,…,lk},其中l(wèi)i∈L,具體描述如表2所示。
表2 clock-dataset的實(shí)體標(biāo)簽描述Table 2 Label category description of clock-dataset
(4)語(yǔ)料標(biāo)注
在沒(méi)有時(shí)鐘領(lǐng)域的標(biāo)注語(yǔ)料時(shí),通過(guò)設(shè)計(jì)人機(jī)交互的輔助實(shí)體標(biāo)注平臺(tái),輔助專(zhuān)業(yè)人士快速、高效標(biāo)注高質(zhì)量的訓(xùn)練語(yǔ)料,記作時(shí)鐘領(lǐng)域數(shù)據(jù)集(clock-dataset)。在獲得一定數(shù)量的人工標(biāo)注數(shù)據(jù)后,可以利用BERTLCRF命名實(shí)體識(shí)別方法,結(jié)合semi-supervised learning(半監(jiān)督學(xué)習(xí))、self-learning(自學(xué)習(xí))和active learning(主動(dòng)學(xué)習(xí))等方法進(jìn)行標(biāo)注數(shù)據(jù)的擴(kuò)充。實(shí)驗(yàn)中,對(duì)標(biāo)注的clock-dataset 數(shù)據(jù)集,劃分成三個(gè)數(shù)據(jù)集:訓(xùn)練集、測(cè)試集和驗(yàn)證集,具體表述如表3所示。
表3 clock-dataset的劃分描述Table 3 Clock-dataset division
本文的實(shí)驗(yàn)環(huán)境設(shè)置:64 位Window10 系統(tǒng),AMD Ryzen 7 2700X Eight-Core Pricessor 3.70 GHz 處理器,8 GB內(nèi)存,顯卡為NVIDIA GeForce GTX 1060 6 GB中進(jìn)行。使用的編程語(yǔ)言為Python,深度學(xué)習(xí)框架Pytorch。
實(shí)驗(yàn)中,設(shè)置網(wǎng)絡(luò)的損失函數(shù)為最大似然函數(shù),采用BertAdam 優(yōu)化方法不斷更新參數(shù),并使損失函數(shù)最小化。為了防止模型過(guò)擬合,提高模型的泛化能力,在網(wǎng)絡(luò)模型中加入Dropout,將其設(shè)置為0.1。BERT 模型共12 層,768 個(gè)隱藏單元,12 個(gè)注意力頭。實(shí)驗(yàn)參數(shù)設(shè)置如表4所示。
表4 實(shí)驗(yàn)參數(shù)設(shè)置Table 4 Experimental parameter settings
實(shí)驗(yàn)中采用宏準(zhǔn)確率(Macro-P),宏召回率(Macro-R)和宏F1值(Macro-F1)三個(gè)指標(biāo),對(duì)如表1所示的七類(lèi)實(shí)體的識(shí)別結(jié)果進(jìn)行評(píng)估,計(jì)算公式如下:
其中,TP(cj)表示屬于cj實(shí)體類(lèi)別,且識(shí)別正確實(shí)體數(shù);FN(cj)表示屬于cj實(shí)體類(lèi)別,但識(shí)別不正確的實(shí)體數(shù);FP(cj)表示不屬于cj實(shí)體類(lèi)別,但被識(shí)別為cj的實(shí)體數(shù)。
為了驗(yàn)證所提BERT-LCRF模型的有效性,與HMM、CRF、LSTM、BiLSTM-CRF模型進(jìn)行了命名實(shí)體識(shí)別對(duì)比實(shí)驗(yàn)。
3.4.1 命名實(shí)體識(shí)別模型總體識(shí)別效果比較分析
在clock-dataset 上,BERT-LCRF 模型與BiLSTMCRF、LSTM、HMM、CRF模型的命名實(shí)體識(shí)別對(duì)比實(shí)驗(yàn)結(jié)果如表5所示。
表5 不同模型的命名實(shí)體識(shí)別結(jié)果比較Table 5 Comparison of named entity recognition results of different models %
從表5 中可以看出,針對(duì)于時(shí)鐘領(lǐng)域的語(yǔ)料而言,所提BERT-LCRF模型相對(duì)于其他四種算法模型取得了較為優(yōu)異的結(jié)果。如表5所示,HMM、CRF、LSTM算法的Macro-P分別為71.51%、82.84%、94.13%,BiLSTM-CRF模型為95.53%,而B(niǎo)ERT-LCRF 的準(zhǔn)確率為96.70%,評(píng)估指標(biāo)Macro-R和Macro-F1的對(duì)比也是類(lèi)似的。
分析表5中不同方法的效果對(duì)比,其中HMM、CRF算法沒(méi)有學(xué)習(xí)上下文的語(yǔ)義關(guān)系,因此識(shí)別效果不好。LSTM 只是單向的學(xué)習(xí)文本序列,沒(méi)有CRF,雖然可以得到句子中每個(gè)單元的正確標(biāo)簽,但是不能保證標(biāo)簽每次都是預(yù)測(cè)正確的。BiLSTM-CRF 模型采用雙向LSTM 和CRF,其結(jié)果優(yōu)于LSTM 方法,其Macro-P 為95.53%、Macro-R 為94.98%、Macro-F1 為95.26%。而B(niǎo)ERT-LCRF 模型的三種評(píng)估指標(biāo)為96.70%、96.73%和96.71%,對(duì)比BiLSTM-CRF模型平均提升了0.9%。
原因在于,本文使用BERT預(yù)訓(xùn)練語(yǔ)言模型來(lái)代替BiLSTM?;贐iLSTM-CRF 命名實(shí)體識(shí)別方法不能很好地利用語(yǔ)料中的上下文的語(yǔ)義關(guān)系,而B(niǎo)ERTLCRF 模型增加了位置編碼以及注意力機(jī)制,能夠很好地利用語(yǔ)料中的上下文語(yǔ)義關(guān)系,對(duì)時(shí)鐘領(lǐng)域數(shù)據(jù)進(jìn)行特征提取,能夠充分學(xué)習(xí)時(shí)鐘領(lǐng)域的特征信息,解決時(shí)鐘領(lǐng)域的特征表示的一詞多義問(wèn)題,因此BERT-LCRF模型的識(shí)別效率相對(duì)最高。
3.4.2 時(shí)鐘領(lǐng)域每類(lèi)實(shí)體的識(shí)別效果比較
為進(jìn)一步驗(yàn)證BERT-LCRF模型對(duì)每類(lèi)實(shí)體的識(shí)別效果,與HMM 模型、CRF 模型和BiLSTM-CRF 模型進(jìn)行了實(shí)驗(yàn)對(duì)比,實(shí)驗(yàn)結(jié)果如表6~9所示。
從表6~9 中可以看出,BERT-LCRF 模型在13 種實(shí)體類(lèi)別上的宏準(zhǔn)確率、宏召回率、宏F1值均比其他模型的高,說(shuō)明BERT-LCRF 模型的每類(lèi)實(shí)體識(shí)別效果要優(yōu)于其他模型。
從表6~9中還可以看出,所有實(shí)體類(lèi)別中,“B-OBJ”和“I-OBJ”對(duì)象類(lèi)實(shí)體的宏準(zhǔn)確率最高,HMM 模型為87.67%,CRF 模型為94.95%,BiLSTM-CRF 模型為97.46%,BERT-LCRF模型為97.49%。分析原因,時(shí)鐘領(lǐng)域數(shù)據(jù)中的對(duì)象這類(lèi)實(shí)體的數(shù)量比較多,并且實(shí)體組成較為單一,邊界詞明顯,主要是以“系統(tǒng)”兩個(gè)字作為結(jié)尾,并且有固定的表達(dá)格式,例如“時(shí)鐘系統(tǒng)”“時(shí)鐘同步系統(tǒng)”“子母鐘系統(tǒng)”等,因此在識(shí)別過(guò)程中宏準(zhǔn)確率高。功能、技術(shù)這類(lèi)實(shí)體的宏準(zhǔn)確率相對(duì)較低,功能(FUN)和技術(shù)(TEC)這類(lèi)實(shí)體,實(shí)體數(shù)量相對(duì)其他實(shí)體來(lái)說(shuō),實(shí)體數(shù)量少,存在OOV 詞,因此其宏準(zhǔn)確率會(huì)相對(duì)較低,其余的實(shí)體類(lèi)別宏準(zhǔn)確率相對(duì)而言比較平均。
表6 HMM模型實(shí)體類(lèi)別識(shí)別結(jié)果Table 6 HMM model entity category recognition results %
本文針對(duì)時(shí)鐘領(lǐng)域的問(wèn)題,定義時(shí)鐘領(lǐng)域?qū)嶓w類(lèi)別,選擇適合時(shí)鐘領(lǐng)域文本的標(biāo)注規(guī)則,設(shè)計(jì)輔助標(biāo)注平臺(tái),構(gòu)建時(shí)鐘領(lǐng)域數(shù)據(jù)集(clock-dataset),提出一種BERT-LCRF 的命名實(shí)體識(shí)別模型。該模型利用BERT結(jié)合時(shí)鐘領(lǐng)域的先驗(yàn)知識(shí),充分學(xué)習(xí)時(shí)鐘領(lǐng)域的特征信息,而Linear-CRF 能夠提高序列標(biāo)注的準(zhǔn)確度,從而B(niǎo)ERT-LCRF模型能夠提高實(shí)體識(shí)別的精度。在時(shí)鐘行業(yè)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,該模型在各項(xiàng)指標(biāo)上顯著優(yōu)于同類(lèi)其他模型。BERT-LCRF模型是構(gòu)建時(shí)鐘領(lǐng)域知識(shí)圖譜的基礎(chǔ),時(shí)鐘領(lǐng)域的實(shí)體類(lèi)別和標(biāo)簽還有待擴(kuò)充,下一步將在此基礎(chǔ)上結(jié)合時(shí)鐘領(lǐng)域先驗(yàn)知識(shí)進(jìn)行事件抽取,進(jìn)一步構(gòu)建面向時(shí)鐘領(lǐng)域的知識(shí)圖譜。
表7 CRF模型實(shí)體類(lèi)別識(shí)別結(jié)果Table 7 CRF model entity category recognition results %
表8 BiLSTM-CRF模型實(shí)體類(lèi)別識(shí)別結(jié)果Table 8 BiLSTM-CRF model entity category recognition results %
表9 BERT-LCRF模型實(shí)體類(lèi)別識(shí)別結(jié)果Table 9 BERT-LCRF model entity category recognition results %