顧乾暉,徐力晨,涂振宇,黃逸翠
(南昌工程學(xué)院 信息工程學(xué)院,江西 南昌 330099)
近幾年來,隨著高性能處理器、大數(shù)據(jù)技術(shù)和人工智能技術(shù)的蓬勃發(fā)展,信息化技術(shù)被廣泛應(yīng)用于水利領(lǐng)域。當(dāng)今各地水利部門著手建立水利信息綜合平臺(tái),每天都有來自不同的地域、不同類別的水利信息在全國各地產(chǎn)生,這些海量的數(shù)據(jù)最后都會(huì)匯總至水利信息庫中。因此水利信息庫中雖然有結(jié)構(gòu)化數(shù)據(jù),但還有大量的非結(jié)構(gòu)化數(shù)據(jù),比如各種水利相關(guān)的文檔、行政函、報(bào)表、文獻(xiàn)等。由于非結(jié)構(gòu)化的水利信息數(shù)據(jù)具有復(fù)雜化、非結(jié)構(gòu)化、跨領(lǐng)域化、海量化等特點(diǎn),這使得對(duì)水利文本信息進(jìn)行挖掘變得十分困難。如何從海量的水利文本中提取出水利的主題信息是亟需解決的問題。
命名實(shí)體識(shí)別(Named Entity Recognition,NER)是自然語言處理(Natural Language Processing,NLP)重要的組成部分,它的核心任務(wù)是自動(dòng)提取出有特定意義的實(shí)體,如人名、地名、組織機(jī)構(gòu)等[1]。
傳統(tǒng)的命名實(shí)體識(shí)別方法為兩類,第一類是利用詞典和規(guī)則的方法,這種方法主要通過人工制定規(guī)則模板,但是這種方法不僅費(fèi)時(shí)費(fèi)力,而且具有主觀性過強(qiáng),易產(chǎn)生誤差,可移植性差等特點(diǎn)[2]。第二類是基于統(tǒng)計(jì)學(xué)習(xí)的方法,如俞鴻魁[3]等人利用層疊隱馬爾可夫模型對(duì)實(shí)體進(jìn)行識(shí)別,在漢語分詞大賽中取得了良好的成績(jī)。何炎祥和羅楚威[4]等人利用CRF和實(shí)體規(guī)則相結(jié)合建立了地理信息實(shí)體的識(shí)別模型,有效提高了識(shí)別準(zhǔn)確率。但是基于統(tǒng)計(jì)學(xué)習(xí)的方法在特征選擇和實(shí)體標(biāo)注上仍需要專業(yè)領(lǐng)域的人員進(jìn)行繁瑣的手動(dòng)操作,效率低;另外,基于統(tǒng)計(jì)學(xué)習(xí)的識(shí)別效果依賴特征選擇,主觀性較強(qiáng)。
近幾年來,以神經(jīng)網(wǎng)絡(luò)模型為代表的深度學(xué)習(xí)技術(shù)得到了空前發(fā)展,這大力促進(jìn)了自然語言處理領(lǐng)域的進(jìn)步。由于深度學(xué)習(xí)的方法具有較強(qiáng)的泛化能力,自動(dòng)尋找潛在的特征模板集合,不需要復(fù)雜的特征工程等特點(diǎn),這使得深度學(xué)習(xí)方法成為命名實(shí)體識(shí)別領(lǐng)域的主流。Lample[5]等人于2016年提出了雙向長(zhǎng)短時(shí)記憶神經(jīng)網(wǎng)絡(luò)(Bidirectional Long-Short TERM,BiLSTM)與條件隨機(jī)場(chǎng)(Conditional random field,CRF)結(jié)合組成BiLSTM-CRF模型,有效提高了識(shí)別效果。李麗雙[6]等人通過加入CNN特征選擇機(jī)制的BiLSTM-CRF模型對(duì)生物醫(yī)學(xué)命名實(shí)體進(jìn)行識(shí)別。李韌和李童等人[7]利用Transformer編碼器進(jìn)行特征處理,再與BiLSTM-CRF結(jié)合對(duì)橋梁檢測(cè)領(lǐng)域命名實(shí)體進(jìn)行識(shí)別,實(shí)驗(yàn)結(jié)果發(fā)現(xiàn)能有效提高模型識(shí)別能力。以上這些深度學(xué)習(xí)技術(shù)雖然在NER任務(wù)上取得不錯(cuò)的效果,但無法解決一詞多義問題。
谷歌團(tuán)隊(duì)的Devlin[8]等人在2018年提出了基于雙向Transformer結(jié)構(gòu)的BERT預(yù)訓(xùn)練模型,BERT模型不僅可以增強(qiáng)語義表示,還可以根據(jù)上下文生成相關(guān)的字向量,能夠很好解決一詞多義的問題。王子牛[9]等人提出了BERT-CRF命名實(shí)體方法,在人民日?qǐng)?bào)數(shù)據(jù)集上取得了很好的效果。李妮[10]等人提出了基于BERT-IDCNN-CRF的中文命名實(shí)體識(shí)別方法,實(shí)驗(yàn)表明,該模型在MSRA語料上表現(xiàn)出很好的效果。但在實(shí)際中文命名實(shí)體識(shí)別的訓(xùn)練過程中,文本標(biāo)注是一項(xiàng)繁瑣的過程,由于標(biāo)注者在標(biāo)注過程中難免遇到一些失誤,出現(xiàn)漏標(biāo)、錯(cuò)標(biāo)等狀況,會(huì)造成訓(xùn)練時(shí)出現(xiàn)過擬合現(xiàn)象。
對(duì)抗性訓(xùn)練是一種通過加入噪聲,來提高模型的泛化能力和魯棒性的訓(xùn)練方式。在自然語言處理任務(wù)中,對(duì)抗訓(xùn)練通常在embedding層中加入對(duì)抗擾動(dòng),這能有效提高語言模型的泛化能力[11]。因此本文提出一種利用FreeLB對(duì)抗訓(xùn)練模型結(jié)合BERT-CRF語言模型的面向水利領(lǐng)域的命名實(shí)體識(shí)別方法,即FreeLB-BERT-CRF模型。
本文提出的FreeLB-BERT-CRF模型結(jié)構(gòu)如圖1所示。該模型主要由由FreeLB對(duì)抗訓(xùn)練模塊、BERT嵌入層模塊、BERT的Transformer模塊、CRF模塊這4部分組成。
圖1 FreeLB-BERT-CRF結(jié)構(gòu)圖
BERT模型是一種語言預(yù)訓(xùn)練模型,它的主要任務(wù)是通過大量的無標(biāo)注數(shù)據(jù)進(jìn)行自監(jiān)督訓(xùn)練,從而獲得字向量的語義表示。
BERT模型的輸入如圖2所示,輸入文本的字符通過BERT嵌入層轉(zhuǎn)換成字向量形式。BERT的嵌入層由字向量層、句向量層、位置向量層混疊而成,其中位置向量層是將字符的位置信息轉(zhuǎn)換成位置向量,句向量層是用以區(qū)別是否為一種句子。
輸入文本通過BERT嵌入層表示成字編碼向量(E1,E2,…,En),同時(shí)(E1,E2,…,En)作為BERT模型的輸入向量,并在大規(guī)模訓(xùn)練后輸出(T1,T2,…,Tn),如圖3所示。
BERT最核心的部分是雙向Transformer編碼器,由于Transformer不含RNN和CNN網(wǎng)絡(luò)結(jié)構(gòu),只含有注意力機(jī)制,所以BERT模型能夠利用注意力機(jī)制充分融合字的上下兩邊的信息,從而得到更好的表征形式。如圖4所示,每一個(gè)Transformer編碼單元包含多頭注意力機(jī)層(Self-Attention)、全連接層(FeedForward)、殘差鏈接和歸一化層(Add&Normal)。其中自注意力機(jī)制是Transformer中最重要的部分,自注意力機(jī)制主要作用是計(jì)算出文本中字與字之間的關(guān)聯(lián)程度,并根據(jù)關(guān)聯(lián)程度調(diào)整每個(gè)字的權(quán)重,關(guān)聯(lián)程度計(jì)算方法的見式(1):
(1)
式中Q表示查詢向量;K表示建向量;V表示值向量;dk表示縮放因子。
BERT模型只考慮字上下文的關(guān)系,無法考慮各標(biāo)簽間的依賴關(guān)系,而條件隨機(jī)場(chǎng)[11](CRF)能夠提取標(biāo)簽之間的約束關(guān)系來確保輸出是最合理的標(biāo)簽序列,因此本文通過CRF進(jìn)行標(biāo)簽序列建模。
CRF給定輸入序列x=(x1,x2,x3,…,xn)和對(duì)應(yīng)的標(biāo)簽序列y=(y1,y2,y3,…,yn),定義評(píng)估分?jǐn)?shù)計(jì)算公式如式(2)所示:
(2)
其中A表示轉(zhuǎn)換矩陣;Ai,j表示標(biāo)簽轉(zhuǎn)移分?jǐn)?shù);Pi,yi表示該字符第yi標(biāo)簽的分?jǐn)?shù);標(biāo)簽序列y對(duì)應(yīng)的預(yù)測(cè)概率可表示式(3):
(3)
圖2 BERT嵌入層
圖3 BERT預(yù)訓(xùn)練模型結(jié)構(gòu) 圖4 Transformer編碼單元
在自然語言處理任務(wù)(NLP)中,大部分對(duì)抗訓(xùn)練通過對(duì)BERT等預(yù)訓(xùn)練模型中的Embedding層增加擾動(dòng),來提高模型的泛化能力和魯棒性。
FreeLB模型是由Zhu C[12]等人在2019年提出的一種面向自然語言處理的新型對(duì)抗訓(xùn)練模型。相對(duì)于其他的對(duì)抗訓(xùn)練模型FGM[13]、FGSM[14]、PFD[15]、YOPO[16],經(jīng)過FreeLB對(duì)抗訓(xùn)練出的NLP模型具有更強(qiáng)的魯棒性和泛化能力。
FreeLB模型采用梯度上升的方法對(duì)語言模型嵌入層中的字向量層進(jìn)行擾動(dòng),而位置向量層和句向量層保持不變,公式可表示為
(4)
式中y表示語言模型的輸出;V表示嵌入矩陣(列如BERT模型中的BERT嵌入層);θ語言模型所有可能的參數(shù);Z表示文本的字序列;δ表示對(duì)抗性擾動(dòng),為了保持語義,通常把δ值設(shè)置很小。
FreeLB模型在對(duì)抗訓(xùn)練過程中,進(jìn)行了多次迭代,在每次迭代過程中不斷積累梯度,見式(5)。然后在每一次迭代中通過積累的梯度在模型更新噪聲擾動(dòng)δ,見式(6)。最后完成迭代同時(shí),利用已積累的梯度更新模型參數(shù)θ,見式(7)。
(5)
gadv=?δL(fθ(X+δt-1),y),
δt=∏(δt-1+α·gadv/||gadv||F),
(6)
θ=θ-τgK.
(7)
本文通過網(wǎng)絡(luò)爬蟲技術(shù),對(duì)百度百科、知網(wǎng)文獻(xiàn)、百度文庫以及各大水利相關(guān)新聞網(wǎng)站爬取水利文本來構(gòu)建水利領(lǐng)域語料庫,對(duì)BERT-CRF模型進(jìn)行實(shí)驗(yàn)。語料庫中一共4 300條短文本,根據(jù)水利領(lǐng)域?qū)<抑笇?dǎo),標(biāo)記7種不同的水利實(shí)體類別。其中各類實(shí)體統(tǒng)計(jì)如表1和圖5,水利領(lǐng)域?qū)嶓w類別描述見表2。
表1 水利語料數(shù)據(jù)劃分
表2 水利實(shí)體類別示例
圖5 實(shí)體數(shù)量
本文采用BIO標(biāo)注策略對(duì)文本中的實(shí)體進(jìn)行標(biāo)簽標(biāo)注。命名實(shí)體識(shí)別的評(píng)價(jià)指標(biāo)有精確率(P)、召回率(R)、F1-score(F1)。P表示正確識(shí)別的實(shí)體占全部識(shí)別出實(shí)體的比例,R表示正確識(shí)別的實(shí)體占應(yīng)識(shí)別實(shí)體比例,F(xiàn)1是結(jié)合了P和R的綜合評(píng)價(jià)指標(biāo)。這3種評(píng)價(jià)指標(biāo)公式如式(8~10)所示:
(8)
(9)
(10)
式中TP表示模型正確識(shí)別的實(shí)體個(gè)數(shù);FP表示為模型識(shí)別錯(cuò)誤實(shí)體的個(gè)數(shù);FN表示模型沒有識(shí)別到的實(shí)體個(gè)數(shù)。部分實(shí)體標(biāo)注例子見表3。
表3 水利實(shí)體標(biāo)注示例
2.3.1 實(shí)體標(biāo)注
自然語言處理的大部分任務(wù)是監(jiān)督學(xué)習(xí)問題。序列標(biāo)注問題如中文分詞、命名實(shí)體識(shí)別,分類問題如關(guān)系識(shí)別、情感分析、意圖分析等,均需要標(biāo)注數(shù)據(jù)進(jìn)行模型訓(xùn)練,而標(biāo)注數(shù)據(jù)就需要各種標(biāo)注工具。如今,NLP領(lǐng)域有著許多標(biāo)注工具,但是這些標(biāo)注工具大多面向英文,對(duì)英文生態(tài)很友好。中文開源語料以及基于中文的標(biāo)注工具就少得多,各種面向英文的自然語言模型和前沿技術(shù)都因?yàn)橹形恼Z料的匱乏很難遷移過來。
中文標(biāo)注工具的出現(xiàn),改變了中文在NLP領(lǐng)域的尷尬場(chǎng)面。中文文本標(biāo)注工具Chinese-Annotator因?yàn)橛兄庇^易懂的中文標(biāo)注界面、友好的中文生態(tài)、簡(jiǎn)便的操作方法等特點(diǎn),受到大家的歡迎。
2.3.2 模型參數(shù)
BERT模型采用BERT-Base預(yù)訓(xùn)練語言模型,BERT-Base共12層,768個(gè)隱藏單元,采用12頭模式,BERT-Base超參數(shù)設(shè)置如表4所示。
表4 BERT-Base超參數(shù)設(shè)置
為了驗(yàn)證本文提出的模型的有效性,實(shí)驗(yàn)使用了不同的語言模型對(duì)水利文本數(shù)據(jù)集進(jìn)行訓(xùn)練。對(duì)比模型包括BiLSTM、BiLSTM-CRF、BERT、BERT-CRF、BERT-BiLSTM-CRF。
各類模型性能對(duì)比結(jié)果如表5與圖6所示。BiLSTM模型在epoch為12時(shí)得到最優(yōu)F1值,為 67.7%,但是之后隨著迭代次數(shù)增加,模型效果變差。BiLSTM-CRF模型在epoch為12時(shí)得到最優(yōu)F1值,為68.8%,但是之后隨著迭代次數(shù)增加,模型效果變差。BERT模型在epoch為7時(shí)得到最優(yōu)F1值,為74.8%。BERT-CRF模型在epoch為10時(shí)得到最優(yōu)F1值,為78.6%,且模型達(dá)到收斂。 BERT-BiLSTM-CRF模型在epoch為7時(shí)得到最優(yōu)F1值,為80.3%,且模型達(dá)到收斂。FreeLB-BERT-CRF模型在epoch為5時(shí)得到最優(yōu)F1值,為85.6%,且模型達(dá)到收斂。
FreeLB-BERT-CRF預(yù)訓(xùn)練模型相比其他對(duì)比模型,能夠快速收斂,并在F1評(píng)價(jià)指標(biāo)上取得很好的效果。BiLSTM和BiLSTM-CRF預(yù)訓(xùn)練模型由于以LSTM神經(jīng)網(wǎng)絡(luò)為基礎(chǔ),隨著訓(xùn)練時(shí)間過長(zhǎng),會(huì)出現(xiàn)梯度消失的情況,即效果隨著迭代次數(shù)的增加慢慢變差。BERT-CRF與BERT預(yù)訓(xùn)練模型收斂速度比FreeLB-BERT-CRF預(yù)訓(xùn)練模型稍慢,F(xiàn)1評(píng)價(jià)指標(biāo)也在模型收斂后比FreeLB-BERT-CRF預(yù)訓(xùn)練模型稍遜。
但是在模型訓(xùn)練耗時(shí)上,F(xiàn)reeLB-BERT-CRF模型卻比其他模型耗時(shí)都要長(zhǎng),這是由FreeLB對(duì)抗訓(xùn)練模型的特性導(dǎo)致,具體耗時(shí)見表5所示。
表5 各模型性能比較
圖6 各模型F1值變化
在水利文本數(shù)據(jù)集上進(jìn)行不同的對(duì)比實(shí)驗(yàn),各類模型性能對(duì)比如表5所示。從表5可以看出,本文提出的FreeLB-BERT-CRF模型在準(zhǔn)確率、召回率、F1值上都比其他對(duì)比模型表現(xiàn)更好。
本文針對(duì)水利領(lǐng)域的命名實(shí)體識(shí)別展開了研究,提出一種基于對(duì)抗訓(xùn)練FreeLB和BERT-CRF相結(jié)合的水利信息命名實(shí)體識(shí)別方法。該模型利用BERT模型獲得水利文本的字向量表示,同時(shí)利用對(duì)抗訓(xùn)練模型FreeLB對(duì)BERT中的字向量層進(jìn)行擾動(dòng),提升BERT語言模型的泛化能力和準(zhǔn)確率,最后通過CRF來獲得最合理的標(biāo)簽序列。
實(shí)驗(yàn)結(jié)果表明,本文FreeLB-BERT-CRF模型相對(duì)于其他對(duì)比模型,不僅在3種評(píng)價(jià)指標(biāo)(P、R、F1)上都取得最優(yōu)的效果,而且收斂速度快。
但是FreeLB-BERT-CRF模型由于加入了對(duì)抗訓(xùn)練需要大量的計(jì)算,這導(dǎo)致與其他模型相比訓(xùn)練耗時(shí)過長(zhǎng)。因此在下一步研究中,考慮擁有l(wèi)arge-batch的模型(RoBERTa等模型)來節(jié)省計(jì)算開銷,加快訓(xùn)練速度。