陳 偉,吳云志,2*,涂 凌,劉 航,余克健,樂 毅,2
(1.安徽農(nóng)業(yè)大學(xué) 信息與計算機(jī)學(xué)院,安徽 合肥 230036;2.安徽省北斗精準(zhǔn)農(nóng)業(yè)信息工程實驗室,安徽 合肥 230036;3.安徽大學(xué) 物質(zhì)科學(xué)與信息技術(shù)研究院,安徽 合肥 230601)
隨著互聯(lián)網(wǎng)技術(shù)的日益進(jìn)步,信息的海量增長也愈來愈快,由于絕大部分的數(shù)據(jù)格式都為非結(jié)構(gòu)化數(shù)據(jù),加上數(shù)據(jù)自身結(jié)構(gòu)無序的原因?qū)е聜鹘y(tǒng)的數(shù)據(jù)挖掘工具無法對其進(jìn)行有效的信息挖掘,因此從規(guī)模龐大的信息中準(zhǔn)確并且高效地找到所需要的內(nèi)容,已經(jīng)成為了文本挖掘領(lǐng)域所需要解決的關(guān)鍵性問題[1],信息抽取便在這個大背景下應(yīng)運(yùn)而生,隨著近年來信息抽取的興起,命名實體識別研究問題進(jìn)一步得到廣泛的關(guān)注和深入研究。命名實體識別是信息抽取里重要的一部分[2-3]。
本文是從人民日報中識別實體并抽取實體之間的語義關(guān)系,主要基于統(tǒng)計機(jī)器學(xué)習(xí)的方法。命名實體識別可自動化地提取出動作節(jié)點,組織機(jī)構(gòu),人物,變遷等具有語義特征的實體,有助于知識圖譜的構(gòu)建,為人工智能領(lǐng)域提供更高效、便捷的實體抽取方法。
實體抽取與關(guān)系抽取是典型的文本序列標(biāo)注問題,是自然語言處理領(lǐng)域中的重要組成部分之一[4-5],在情感分析的方面也應(yīng)用過,一共有四大類方法。一是基于規(guī)則和詞典的方法[6],此類方法主要需要語言學(xué)家來構(gòu)建規(guī)則的模板,將關(guān)鍵字、標(biāo)點符號等作為特征選取,以此作為系統(tǒng),但同時依靠建設(shè)知識庫和詞典,知識庫和詞典也可以叫做語料庫,所需要的成本過高,并且構(gòu)建系統(tǒng)的時間周期也較長[7]。二是基于統(tǒng)計學(xué)和機(jī)器學(xué)習(xí)的預(yù)測方法,其中最具代表性的預(yù)測方法有:隱馬爾可夫模型(Hidden Markov Model)、條件隨機(jī)場(Conditional Random Field)[8],這些模型各有其優(yōu)缺點,首先隱馬爾科夫模型通過已觀測序列來預(yù)測未觀察的序列,在訓(xùn)練數(shù)據(jù)和字的時候,實體被識別的速度較快。條件隨機(jī)場具有特征設(shè)計靈活、全局最優(yōu)的標(biāo)注的優(yōu)點,但收斂速度較慢、訓(xùn)練數(shù)據(jù)的時間過長,CRF中運(yùn)用Viterbi算法的動態(tài)規(guī)劃尋找最短路徑,求解命名實體類別序列,從而達(dá)到較高的效率,此方法對語料庫的依賴比較大[9]。三是混合方法,自然語言處理中的任何一種方法都有一定的局限性,基于統(tǒng)計的方法會使搜索空間大,所以必須要先對知識進(jìn)行篩選和數(shù)據(jù)處理,幾乎沒有單純用統(tǒng)計模型的命名實體識別的系統(tǒng),大多數(shù)情況都是用混合方法,例如將規(guī)則的方法和傳統(tǒng)的機(jī)器學(xué)習(xí)的方法相互結(jié)合來進(jìn)行實體識別,或者統(tǒng)計學(xué)的方法之間內(nèi)部的融合[8],還有將人工整理的知識與機(jī)器學(xué)習(xí)的方法結(jié)合。四是基于神經(jīng)網(wǎng)絡(luò)的方法,近年來有許多學(xué)者將神經(jīng)網(wǎng)絡(luò)的方法應(yīng)用在各個領(lǐng)域,最廣泛的應(yīng)用是在圖像處理方面,同時神經(jīng)網(wǎng)絡(luò)模型也可以處理許多NLP的任務(wù),并且有明顯的效果,主要的模型有CNN、RNN、CNN-CRF、RNN-CRF、LSTM-CRF[10],神經(jīng)網(wǎng)絡(luò)是一種數(shù)據(jù)驅(qū)動的方法,并不依靠特征提取等框架,訓(xùn)練數(shù)據(jù)量大,大約百萬數(shù)據(jù)作為標(biāo)記樣本,模型的網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,對參數(shù)設(shè)置的依賴大。從整個命名實體識別的過程來看,有著數(shù)量大,識別準(zhǔn)確率低,影響分詞效果等問題,但實體識別是自然語言處理中必不可少的重要組成部分,為構(gòu)建知識圖譜奠定了基礎(chǔ)[11-13]。
隱馬爾可夫模型是統(tǒng)計學(xué)的方法,它是由一個隱變量或者離散的隱狀態(tài),生成了一種不可觀測的狀態(tài)序列,并且都是隨機(jī)的,將命名實體識別任務(wù)轉(zhuǎn)化為序列標(biāo)注的問題[14]。在使用HMM解決命名實體識別這種序列標(biāo)注問題的時候,我們能用眼看到的是由字組成的序列,實體和非實體中輸入的詞或者字就是觀測序列,而每個字對應(yīng)的標(biāo)注是我們觀察不到的,也就是狀態(tài)序列,然后通過訓(xùn)練生成可觀測的預(yù)測隨機(jī)序列,這樣與原標(biāo)簽對比來判斷其準(zhǔn)確率。如今這樣的統(tǒng)計模型已經(jīng)廣泛應(yīng)用在自然語言處理的任務(wù)中,比如人名、地名、組織機(jī)構(gòu)的實體識別。命名實體識別從根本上來說可以作為一種序列標(biāo)注問題,需要詞和句子提供更多的特征,包括上下文的信息,前后的時間信息關(guān)系,但HMM觀測的句子中的每個字都是具有獨立意義的單個個體,所以存在缺陷。
BiLSTM(Bi-directional Long-Short Term Memory)是雙向長短期記憶網(wǎng)絡(luò),是在LSTM基礎(chǔ)上改進(jìn)的。LSTM是在解決循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)問題時提出的模型,此問題是RNN模型網(wǎng)絡(luò)結(jié)構(gòu)只能短期記憶,而且還存在梯度爆炸和梯度消失的問題[15],若時間間隔過長,則很難建成長距離的依賴關(guān)系,所以LSTM由輸入門、遺忘門、輸出門三個門來控制信息的傳遞[16]。BiLSTM 網(wǎng)絡(luò)模型包括前向傳播和后向傳播兩個過程。將訓(xùn)練序列輸入到前向LSTM網(wǎng)絡(luò)模型通過前向傳播計算得到前向特征信息,同樣地,輸入后向 LSTM網(wǎng)絡(luò)模型通過后向傳播計算得到后向特征信息,再將前向特征信息與后向特征信息拼接獲得最終的隱藏狀態(tài),能夠兼顧上下文的字和句子信息,方便提取特征,這樣就匯總了前向和后向雙向語義特征。RNN基本結(jié)構(gòu)由輸入層、隱藏層和輸出層組成(見圖1)。
圖1 基本的RNN結(jié)構(gòu)
LSTM的基本結(jié)構(gòu)如圖2所示。
圖2 LSTM內(nèi)部單元結(jié)構(gòu)
前文說到增加序列的長度在RNN里,會導(dǎo)致梯度爆炸或者梯度消失[17],所以利用長短時記憶(LSTM)在RNN基礎(chǔ)上解決了這個問題。
條件隨機(jī)場(CRF)是一種直接建模條件概率的無向圖模型,也叫邏輯回歸層[16],它作用于整個句子中,進(jìn)行語句和序列的標(biāo)注,條件隨機(jī)場常會引入一個自定義的特征函數(shù),不僅能夠表達(dá)當(dāng)前觀測和前后多個狀態(tài)之間的相互依賴,還能夠表示當(dāng)前的觀測和前后多個狀態(tài)之間的相互復(fù)雜依賴,可以有效地克服HMM面臨的問題。為了設(shè)計和建立一個條件隨機(jī)場模型,我們首先需要明確地定義一個特征函數(shù)集,該特征函數(shù)集內(nèi)的每一個特征函數(shù)都以提取標(biāo)注的序列作為輸入,提取出的所有特征作為輸出[6]。CRF沒有標(biāo)簽偏差的問題,并集合了隱馬爾可夫模型和最大熵的優(yōu)勢。在計算節(jié)點值的同時CRF模型還可以輸出節(jié)點值所對應(yīng)的條件概率。
BiLSTM+CRF是在BiLSTM基礎(chǔ)上增加CRF層,BiLSTM是對標(biāo)注過后的單詞進(jìn)行獨立的分類,并不能直接用上下文的信息,但BiLSTM網(wǎng)絡(luò)模型可以解決人工提取特征的繁瑣和復(fù)雜性問題,在命名實體識別任務(wù)中,CRF能夠衡量標(biāo)簽之間的關(guān)系,比如B-LOC類標(biāo)注(表示某實體的開頭)后面不會繼續(xù)接一個B-LOC類標(biāo)注,使得序列化標(biāo)注更精確,CRF的優(yōu)點就是建立一個新的模型在隱藏的狀態(tài)下,有著學(xué)習(xí)狀態(tài)序列特征的優(yōu)勢,也同時能增加一定的約束條件,但它有個劣勢是序列的特征需要人工來慢慢完成提取[18,19]。所以我們將BiLSTM與CRF網(wǎng)絡(luò)模型結(jié)合起來(CRF層放在BiLSTM后),以獲得兩者的優(yōu)點。
本節(jié)將提出多頭自注意力機(jī)制(Multi-head Self-attention)與CRF結(jié)合的改進(jìn)模型,并開展實體抽取實驗,驗證方法的有效性。本實體抽取方法的研究架構(gòu)一共分為四大環(huán)節(jié),分別是數(shù)據(jù)處理,模型設(shè)計,模型訓(xùn)練,模型測試與實驗分析。其中數(shù)據(jù)處理是為了建立語料庫,在模型設(shè)計中分為嵌入層預(yù)訓(xùn)練模型,Multi-head Self-attention層,然后將CRF層連接起來。在訓(xùn)練好的模型中對漢字進(jìn)行順序標(biāo)記,并對得到的最優(yōu)狀態(tài)標(biāo)記進(jìn)行解碼以識別實體。此外在Multi-head Self-attention中也用到了Transformer結(jié)構(gòu)[20]。實驗是先在公開數(shù)據(jù)集上進(jìn)行模型訓(xùn)練與測試,然后對五種不同的命名實體識別模型之間的實驗結(jié)果進(jìn)行對比,從各項評價指標(biāo)中分析并驗證提出算法模型的有效性,最后應(yīng)用在水下機(jī)器人任務(wù)文檔的實體抽取實驗中,并對結(jié)果進(jìn)行分析,如圖3為改進(jìn)的模型結(jié)構(gòu)圖。模型分為嵌入層,多頭自注意力機(jī)制層和CRF層,首先是嵌入層為達(dá)到計算機(jī)能獲取自然語言蘊(yùn)含信息的目的,需要將字符串表示形式的自然語言轉(zhuǎn)換成計算機(jī)易于處理的數(shù)值型數(shù)據(jù),將離散字符序列的句子轉(zhuǎn)換為低維的分布式表示,這有利于學(xué)習(xí)豐富的語義信息,提高模型的性能,可以對自然語言進(jìn)行建模和特征學(xué)習(xí),它將詞匯表中的單詞或短語映射成計算機(jī)能夠識別且計算的向量。然后第二層是基于多頭自注意力機(jī)制層進(jìn)行特征加權(quán),該方法能讓模型減少了對上下文中相對距離過多的約束,計算詞的重要性,實現(xiàn)了全局上下文信息的獲取能力,但會使模型對絕對位置不敏感。然而在語言任務(wù)中,文本的語句順序是至關(guān)重要的,絕對位置信息的缺失會使模型失去對句子順序的擬合能力,進(jìn)而影響模型效果。因此,本文采用位置編碼的方式,對字的順序進(jìn)行標(biāo)記,使得模型能學(xué)習(xí)到語言順序信息。最后是CRF層,其作用是輸出最大的標(biāo)簽序列,根據(jù)相鄰標(biāo)簽之間的關(guān)系,可以得到一個最優(yōu)的預(yù)測序列,達(dá)到精確的實體識別目的[21]。
圖3 改進(jìn)模型的結(jié)構(gòu)圖
將本文提出的多頭自注意力機(jī)制與CRF相結(jié)合的實體識別模型與四種典型的實體識別模型HMM、CRF、BiLSTM、BILSTM+CRF在公開數(shù)據(jù)集上進(jìn)行實驗對比分析,以驗證本文模型的性能,并在水下機(jī)器人任務(wù)作業(yè)文檔中開展實體抽取實驗,從多個評價指標(biāo)角度分析本文模型的表現(xiàn)和效果,驗證本文多頭自注意力機(jī)制與CRF相結(jié)合模型的有效性。
人民日報語料庫數(shù)據(jù)集。實驗數(shù)據(jù)集為國內(nèi)公開的2014年人民日報語料庫數(shù)據(jù)集,數(shù)據(jù)包含了 3 種實體類型,分別是人名、組織機(jī)構(gòu)和地名[19]。其中訓(xùn)練集中共包含1000043個字,測試集包括223832個字,驗證集包含112187個字,實驗主要對人名、地名以及組織機(jī)構(gòu)進(jìn)行識別評測。實驗分別用HMM,BiLSTM,BiLSTM+CRF,Multi-head Self-attention+CRF四個模型在數(shù)據(jù)集上開展命名實體識別,圖4為實驗流程圖。
圖4 實驗流程圖
本文采用BIO標(biāo)注法進(jìn)行位置信息的標(biāo)注,B(Begin)表示實體的開頭,I(Intermediate)表示實體的中間,O(Other)表示非實體。在實驗中用BIO標(biāo)注法進(jìn)行標(biāo)注的字的名稱和含義如表1所示,以人民日報語料庫為例,語料數(shù)據(jù)標(biāo)記后,將語料數(shù)據(jù)集進(jìn)行分割,其中80%的數(shù)據(jù)集作為訓(xùn)練集用于模型實驗的訓(xùn)練,并單獨保存在訓(xùn)練集(train data)文件中。剩下的數(shù)據(jù)集分別作為10%測試集和10%驗證集,用于模型實驗的測試,單獨保存在測試集(test data)文件和驗證集(dev data)文件中,形成完整的實驗1語料庫。
表1 命名實體識別標(biāo)注方法
水下機(jī)器人任務(wù)文檔數(shù)據(jù)。水下機(jī)器人任務(wù)文檔數(shù)據(jù)采用的數(shù)據(jù)集是中國科學(xué)院委托項目協(xié)同作業(yè)基本流程試驗(軟件和協(xié)議部分)文檔。
首先,將文檔里關(guān)于水下機(jī)器人任務(wù)作業(yè)的動作節(jié)點和所屬主體有關(guān)的語句提取出來,放在一個新的文檔里,也就是數(shù)據(jù)獲取和數(shù)據(jù)篩選,共有8000多字和字符,將這些數(shù)據(jù)作為訓(xùn)練集;接著;將動作節(jié)點和所屬主體單獨放在另一個文檔當(dāng)作測試集,共有860個字和字符;然后是數(shù)據(jù)處理即數(shù)據(jù)序列標(biāo)注等預(yù)處理,模式是BIO標(biāo)注法,B代表實體首字,I代表實體非首字,O代表非實體。因此,B-ACT、I-ACT分別表示動作節(jié)點首字、動作節(jié)點非首字,B-SUB、I-SUB分別表示所屬主體首字、所屬主體非首字,B-STA,I-STA分別代表的是所屬階段首字,所屬階段非首字,O代表非命名實體,形成完整的實驗2語料庫。
本實驗使用Pytorch1.6的深度學(xué)習(xí)框架,具體訓(xùn)練環(huán)境配置如表2所示。
表2 環(huán)境配置
batch_size是網(wǎng)絡(luò)訓(xùn)練一次讀入數(shù)據(jù)的大小,lr表示權(quán)重迭代的步長,emb_size表示字向量的維度,hidden_size表示lstm隱藏層的大小,epoch指迭代次數(shù),為了避免過擬合問題,用dropout參數(shù)對模型中的神經(jīng)元按一定比例讓其停止工作,從而提高網(wǎng)絡(luò)的泛化能力,表3中的數(shù)據(jù)是根據(jù)眾多論文中的人民日報有關(guān)的命名實體實驗的參數(shù)設(shè)置。
表3 參數(shù)設(shè)置
為了準(zhǔn)確驗證實體抽取模型的實驗結(jié)果,并對模型的各項性能進(jìn)行全面分析,本實驗采用了在機(jī)器學(xué)習(xí)中常用的三個評價指標(biāo)對實驗結(jié)果進(jìn)行評估:準(zhǔn)確率 P(Precision)、F-值及召回率 R(Recall)。
評估機(jī)器學(xué)習(xí)模型在人民日報實體抽取中的性能。將真實類別標(biāo)簽與計算機(jī)預(yù)測類別標(biāo)簽相互組合,分別記為真正例(TP)、假正例(FP)、真反例(TN)與假反例(FN),則計算公式:
P=TP/(TP+FP)×100%,R=TP/(TP+FN)×100%,F(xiàn)1=2RP/(P+R)
total代表的是各類標(biāo)簽的綜合評價指標(biāo)。
由表4至表9可知,每種模型統(tǒng)計的每一類預(yù)測標(biāo)簽數(shù)目是一樣的。
表4 HMM模型實驗各項評價指標(biāo)結(jié)果
表5 BiLSTM模型實驗各項評價指標(biāo)結(jié)果
表6 CRF模型實驗各項評價指標(biāo)結(jié)果
表7 BiLSTM+CRF模型實驗各項評價指標(biāo)結(jié)果
表8 Multi-head Self-attention+CRF 模型實驗各項評價指標(biāo)結(jié)果
表9 統(tǒng)計模型實驗各項評價指標(biāo)結(jié)果
首先比較BiLSTM+CRF和BiLSTM模型,BiLSTM+CRF的F1值比BiLSTM高2.9%,主要原因在于CRF 模塊能夠充分運(yùn)用相鄰的兩個標(biāo)簽的關(guān)聯(lián)關(guān)系,像“B-PER I-ORG”這樣的標(biāo)簽序列無法有效地輸出,使得序列化標(biāo)注更精確,除此之外,這個模塊能容納任意的上下文信息,算出整句話的概率分布,從而可以獲得全局最優(yōu)的標(biāo)簽序列,進(jìn)而能夠改善實體識別性能,改進(jìn)的模型用時最短,減少了一定的時間成本。
實驗結(jié)果表明Multi-head Self-attention+CRF模型在2014年人民日報文檔的實體識別中效果最好,各項評價指標(biāo)也是最高的。Multi-head Self-attention+CRF模型在PER類標(biāo)簽上的F1值比HMM高21.08%,比BiLSTM高11.92%,比BiLSTM+CRF高8.05%;在ORG類標(biāo)簽上的F1值比HMM高41.38%,比BiLSTM高20.22%,比BiLSTM+CRF高14.48%;在LOC類標(biāo)簽上的F1值比HMM高30.62%,比BiLSTM高15.67%,比BILSTM+CRF高11.16%。結(jié)果顯示Multi-head Self-attention+CRF模型效果最好,其次模型在準(zhǔn)確率P值上總體預(yù)測標(biāo)簽比其他模型分別高9.08%,4.57%,2.75%,在召回率R值上總體預(yù)測標(biāo)簽比其他模型分別高18.52%,6.77%,3.76%,在F1值上總體預(yù)測標(biāo)簽比其他模型分別高16.05%,6.5%,3.6%,從各項指標(biāo)上看效果都比其他模型優(yōu)越,對于模型特征提取能力,優(yōu)勢主要是基于多頭自注意力機(jī)制進(jìn)行特征抽取的模型明顯比基于BiLSTM的模型效果好,這表明基于多頭自注意力機(jī)制的Transformer 相對于基于雙向長短期記憶網(wǎng)絡(luò)能更有效獲取人民日報上下文中命名實體的關(guān)鍵潛在特征,與其他方法相比可以忽略相對距離計算詞的權(quán)重,能更好地獲取上下文信息。其通過拼接多個自注意力機(jī)制,進(jìn)一步提高了上下文信息的獲取能力,首先將原本的Q、K、V通過線性變換得到多組不同的結(jié)果,將最后得到的結(jié)果連接到一起,通過線性變換調(diào)整輸出維度,可以同時計算多組注意力機(jī)制,加快計算速度方便并行計算,獲取更充分的信息;同時對循環(huán)神經(jīng)網(wǎng)絡(luò)及其變體而言,參數(shù)量更少,訓(xùn)練速度更快。
結(jié)合CRF的優(yōu)勢,進(jìn)一步提高了中文實體識別的效果,有更強(qiáng)的信息利用能力。基于多頭自注意力機(jī)制與CRF的結(jié)合模型整體在命名實體識別任務(wù)表現(xiàn)上更優(yōu)異,驗證了本文使用Transformer的多頭自注意力機(jī)制作為特征提取器的合理性(見表10)。
將提出的多頭自注意力機(jī)制與CRF結(jié)合模型應(yīng)用在水下機(jī)器人作業(yè)文檔中,使用新型[實體開始位置,實體非開始位置,非實體]的三元標(biāo)簽,實驗結(jié)果表明Multi-head Self-attention+CRF模型在水下機(jī)器人任務(wù)作業(yè)文檔這樣的特定領(lǐng)域中的實體識別效果最好,各項評價指標(biāo)也是最高的,F(xiàn)1值達(dá)到了98.79%,比CRF,HMM,BiLSTM,BiLSTM+CRF分別提高了0.93%,18.74%,15.41%,13.08%。這為水下機(jī)器人作業(yè)領(lǐng)域的命名實體識別任務(wù)開展奠定了堅實的基礎(chǔ),也為后面知識抽取和構(gòu)建知識圖譜提供了有效的方法。
基于多頭自注意力機(jī)制提出了一種多頭自注意力機(jī)制與CRF結(jié)合模型,首先對實體抽取任務(wù)過程進(jìn)行綜合闡述,然后對提出的模型詳細(xì)介紹,分別闡述了數(shù)據(jù)處理標(biāo)注、模型中的嵌入層、多頭自注意力層和CRF層的基本原理,并介紹了每個模塊之間的聯(lián)系。在NER任務(wù)中,實體的識別很大程度上依賴于上下文信息,多頭自注意力機(jī)制減少了對上下文中相對距離過多的約束,計算詞的重要性,通過拼接多個自注意力機(jī)制,進(jìn)一步提高了上下文和全局信息的獲取能力,且模型的泛化能力得以提高。然后與傳統(tǒng)的命名實體模型進(jìn)行對比分析,在公開的2014年人民日報語料庫數(shù)據(jù)集上進(jìn)行實驗,結(jié)果表明改進(jìn)的模型在公開數(shù)據(jù)集上取得了有效的識別效果,最后應(yīng)用在水下機(jī)器人任務(wù)作業(yè)文檔中,驗證了此方法的有效性。