陶 露
(皖江工學(xué)院 電氣信息工程學(xué)院,安徽 馬鞍山 243000)
命名實(shí)體識(shí)別是自然語(yǔ)言處理中一項(xiàng)非常基礎(chǔ)的任務(wù)。其任務(wù)是從自然語(yǔ)言文本中識(shí)別具有特定意義的實(shí)體,主要包括人名、地名、組織名稱、專有名詞等。例如,“王小強(qiáng)將參加由大觀數(shù)據(jù)主辦的‘大觀杯’數(shù)據(jù)挖掘大賽”,其中“王小強(qiáng)”和“大觀數(shù)據(jù)”是待識(shí)別的命名實(shí)體。命名實(shí)體識(shí)別主要包括實(shí)體邊界識(shí)別和實(shí)體類別確定兩部分。它的識(shí)別效果對(duì)于后續(xù)問(wèn)答系統(tǒng)、句法分析、機(jī)器翻譯和知識(shí)庫(kù)構(gòu)建的研究與應(yīng)用具有重要意義。
研究人員提出了許多應(yīng)用于命名實(shí)體識(shí)別任務(wù)的方法:從早期基于規(guī)則和字典的方法,到基于統(tǒng)計(jì)機(jī)器學(xué)習(xí)的方法,再到近年來(lái)的基于神經(jīng)網(wǎng)絡(luò)的方法。這些方法在生物醫(yī)學(xué)、新聞、漁業(yè)、軍事等許多領(lǐng)域的命名實(shí)體識(shí)別中都取得了一定的成效。基于規(guī)則和詞典的方法需要自定義規(guī)則模板和詞典,這需要大量的語(yǔ)言知識(shí)。此外,不同語(yǔ)言的識(shí)別規(guī)則并不相同,規(guī)則之間的沖突需要謹(jǐn)慎處理且所構(gòu)建的規(guī)則是不可移植的。基于統(tǒng)計(jì)機(jī)器學(xué)習(xí)的方法中比較常用的是特征模板與條件隨機(jī)場(chǎng)(CRF)的結(jié)合,此方法識(shí)別效果雖優(yōu)于前一種方法,但是特征模板的構(gòu)建也是一件費(fèi)時(shí)費(fèi)力的事。結(jié)合上述兩種方法的不足加上深度學(xué)習(xí)的深入,神經(jīng)網(wǎng)絡(luò)成為一種能夠有效處理NER任務(wù)的方法。這種方法將NER視為序列標(biāo)簽任務(wù),把每一個(gè)自然語(yǔ)言轉(zhuǎn)換成詞向量映射在低維空間中,然后輸入句子的詞向量嵌入到神經(jīng)網(wǎng)絡(luò)中,并自動(dòng)提取神經(jīng)網(wǎng)絡(luò)特性,Softmax或CRF預(yù)測(cè)每個(gè)自然語(yǔ)言標(biāo)簽。該方法使模型訓(xùn)練成為一個(gè)獨(dú)立于特征工程的端到端的過(guò)程。綜合上述三種方法所包含的優(yōu)缺點(diǎn),本文擬提出一種多通道神經(jīng)網(wǎng)絡(luò)的命名實(shí)體識(shí)別模型,首先使用不同的詞向量將語(yǔ)句進(jìn)行映射作為模型不同通道的輸入,其中詞向量中還融合了基于上下文的字詞向量,然后結(jié)合BiLSTM+CRF在1998年1月份的人民日?qǐng)?bào)語(yǔ)料庫(kù)中進(jìn)行實(shí)驗(yàn)。
論文共由五部分組成:第1部分介紹國(guó)內(nèi)外有關(guān)命名實(shí)體識(shí)別的研究現(xiàn)狀;第2部分闡述使用的詞向量訓(xùn)練模型;第3部分闡述基于多通道神經(jīng)網(wǎng)絡(luò)的命名實(shí)體識(shí)別模型;第4部分通過(guò)實(shí)驗(yàn)驗(yàn)證所提MNN-NER模型的識(shí)別效果;第5部分對(duì)全文做出總結(jié)。
命名實(shí)體識(shí)別(Named entity recognition,NER)是自然語(yǔ)言處理任務(wù)的一項(xiàng)基礎(chǔ)工作,它的主要任務(wù)是自動(dòng)識(shí)別出信息文本中具有特定意義的實(shí)體,從狹義上來(lái)說(shuō)就是識(shí)別出文本中包含的人名、地名、組織機(jī)構(gòu)名等專有名詞。目前存在的NER方法主要有:基于規(guī)則和詞典的方法、基于統(tǒng)計(jì)的方法和基于神經(jīng)網(wǎng)絡(luò)的方法。
基于規(guī)則的方法較多的是語(yǔ)言學(xué)家手工構(gòu)造規(guī)則模板,以模式和字符串匹配為主要手段,這些系統(tǒng)主要依靠知識(shí)庫(kù)和詞典的建立。趙哲煥等[1]提出了一種基于句法模板和字典匹配的方法來(lái)提取表示蛋白質(zhì)之間關(guān)系類型的關(guān)系詞。該方法在目標(biāo)語(yǔ)料庫(kù)上F值達(dá)到83.02%。龍光裕等[2]提出了一種結(jié)合CRF和字典的疾病命名實(shí)體識(shí)別方法。他們利用網(wǎng)絡(luò)資源構(gòu)建了包含語(yǔ)義信息的醫(yī)學(xué)術(shù)語(yǔ)字典,利用字典識(shí)別醫(yī)學(xué)術(shù)語(yǔ),然后結(jié)合CRF進(jìn)行命名實(shí)體識(shí)別。
統(tǒng)計(jì)機(jī)器學(xué)習(xí)方法將命名實(shí)體識(shí)別作為一個(gè)序列標(biāo)記任務(wù),利用大規(guī)模語(yǔ)料庫(kù)學(xué)習(xí)標(biāo)記模型,從而對(duì)句子的各個(gè)位置進(jìn)行標(biāo)記。常用的NER任務(wù)模型有生成模型HMM、判別模型CRF等。目前比較流行的方法是特征模板與CRF相結(jié)合。孫曉等[3]提出基于深層條件隨機(jī)場(chǎng)的生物醫(yī)學(xué)命名實(shí)體識(shí)別,利用增量式學(xué)習(xí)選擇最優(yōu)特征集然后通過(guò)錯(cuò)誤糾正算法修正識(shí)別效果,F(xiàn)值達(dá)到了72.87%。于楠等[4]提出將多種特征融合識(shí)別出電子病歷中的疾病實(shí)體和癥狀實(shí)體,F(xiàn)值分別達(dá)到了92.80%、94.17%。
近年來(lái),隨著硬件能力的發(fā)展和詞嵌入的出現(xiàn),神經(jīng)網(wǎng)絡(luò)已經(jīng)成為一種能夠有效處理許多NLP任務(wù)的模型。主要模型包括NN/CNN-CRF、RNNCRF及其改進(jìn)結(jié)構(gòu)。李麗雙等[5]提出了一種基于CNN-BLSTM-CRF的神經(jīng)網(wǎng)絡(luò)模型,在兩種生物醫(yī)學(xué)語(yǔ)料庫(kù)中均取得了良好的效果。馮彥紅等[6]使用了基于上下文的詞向量和基于詞的詞向量,并利用標(biāo)記序列中標(biāo)簽的相關(guān)性來(lái)進(jìn)行識(shí)別,約束B(niǎo)LSTM的代價(jià)函數(shù)。由于某些特定領(lǐng)域獲取標(biāo)注數(shù)據(jù)的成本較高,許多學(xué)者提出引入遷移學(xué)習(xí)技術(shù)[7-9],以減少對(duì)大量標(biāo)注數(shù)據(jù)的需求。此外,許多研究者將注意機(jī)制[10-12]集成到神經(jīng)網(wǎng)絡(luò)中,以提高識(shí)別效果。
詞向量也稱為詞嵌入,是目前深度學(xué)習(xí)在自然語(yǔ)言處理領(lǐng)域中最常用的方法。文中所提的詞向量是使用兩種不同的詞向量工具得到的。一種是Google提供的Word2vec,另一種是由斯坦福大學(xué)提供的Glove。這兩種詞向量模型有各自的優(yōu)點(diǎn)。
Word2vec有兩種訓(xùn)練模式:CBOW和SKip-Gram。其中,根據(jù)窗口的上下詞使用CBOW預(yù)測(cè)當(dāng)前中心詞,根據(jù)當(dāng)前中心詞使用skip-gram預(yù)測(cè)當(dāng)前上、下窗口詞。訓(xùn)練Word2vec使用的是SGD優(yōu)化器,因此輸入每一個(gè)句子,其需要根據(jù)滑動(dòng)中心詞與其窗口詞定義其對(duì)數(shù)似然函數(shù),求取極大值從而更新向量。使用中文維基百科訓(xùn)練word2vec,得到的詞向量表記為V1。
相比于利用局部上下文信息的詞向量模型,斯坦福大學(xué)Pen-nington等人提出的GloVe模型更加充分利用全文上下文信息,該模型構(gòu)造了一個(gè)利用全局統(tǒng)計(jì)信息的全局單詞共現(xiàn)矩陣。GloVe結(jié)合全局矩陣分解方法和局部窗口方法,融合文本的全局信息和局部上下文信息。使用搜狗實(shí)驗(yàn)室的新聞?wù)Z料訓(xùn)練GloVe模型,得到的詞向量表記為V2。
多通道指的是模型輸入層使用Word2vec和GloVe兩種不同的詞向量工具分別將輸入的語(yǔ)句映射成對(duì)應(yīng)的詞向量表示并作為不同通道的輸入,目的是為了使文本的輸入帶入更多的語(yǔ)義信息,從而使模型學(xué)習(xí)出區(qū)分度更強(qiáng)的特征,而且還能提高計(jì)算速度。
由于現(xiàn)有命名實(shí)體識(shí)別模型輸入只考慮特定的單一詞向量,導(dǎo)致輸入語(yǔ)義信息不豐富從而模型不能學(xué)習(xí)出區(qū)分度明顯的特征信息。針對(duì)這一問(wèn)題,擬提出基于多通道的神經(jīng)網(wǎng)絡(luò)命名實(shí)體識(shí)別模型(MNN-NER),該模型采用兩種詞向量工具將要識(shí)別的數(shù)據(jù)集轉(zhuǎn)換成對(duì)應(yīng)的詞向量序列,并作為MNN-NER模型輸入通道1和輸入通道2的數(shù)據(jù)。如圖1所示,MNN-NER模型主要分為輸入層、BiLSTM層、CRF層。

圖1 多通道神經(jīng)網(wǎng)絡(luò)的命名實(shí)體識(shí)別模型
3.1.1 輸入層 此層主要將已標(biāo)注的1998年前6月份的《人民日?qǐng)?bào)》語(yǔ)料輸入MNN-NER模型中。通過(guò)已訓(xùn)練好的Word2vec和Glove兩種詞向量工具將語(yǔ)料映射成低維的稠密向量并作為通道1和通道2的輸入。
3.1.2 BiLSTM層 長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(Long Short Term Memory network,LSTM)是基于RNN的一種改進(jìn)結(jié)構(gòu)。它引入了一個(gè)存儲(chǔ)單元和“門(mén)”機(jī)制來(lái)實(shí)現(xiàn)句子中更長(zhǎng)距離信息的使用,并解決了RNN中的梯度消失或梯度爆炸問(wèn)題。設(shè)計(jì)的門(mén)結(jié)構(gòu)可以有選擇地保存上下文信息,因此它更適合于序列標(biāo)記問(wèn)題,例如命名實(shí)體識(shí)別。LSTM的存儲(chǔ)單元如圖2所示。

圖2 LSTM結(jié)構(gòu)圖
在圖2中,LSTM網(wǎng)絡(luò)在t時(shí)刻的輸入由輸入層et、上一個(gè)LSTM單元的輸出LHt-1和上一個(gè)LSTM單元的記憶單元cst-1決定,在t時(shí)刻的輸出為該單元的隱藏層LHt和記憶單元cst。其網(wǎng)絡(luò)形式可以用式(1)-式(6)進(jìn)行表示:
其中σ表示sigmoid激活函數(shù),tanh表示雙曲正切激活函數(shù),W表示連接兩層的權(quán)重矩陣,b表示偏置向量,ig、fg和og分別表示輸入門(mén)、遺忘門(mén)和輸出門(mén)。
但是,LSTM結(jié)構(gòu)僅考慮語(yǔ)句的上文信息,而無(wú)法獲得該語(yǔ)句的下文信息。在NER任務(wù)中,下文信息同樣對(duì)NER任務(wù)提供關(guān)鍵性作用。基于這一問(wèn)題,采用雙向LSTM(BiLSTM),BiLSTM可以有多地獲取雙向上下文信息,即從每個(gè)句子的正向和反向捕獲兩種不同的特征表示。然后將二者合并以獲得一條語(yǔ)句完整的上下文特征。圖3為BiLSTM工作結(jié)構(gòu)的示意圖。

圖3 BiLSTM結(jié)構(gòu)示意圖
圖3中,xt表示模型在t時(shí)刻的輸入,表示前向LSTM在t時(shí)刻的輸出,表示反向LSTM在t時(shí)刻的輸出,則BiLSTM在t時(shí)刻的輸出可以表示為。
3.1.3 CRF層 BiLSTM輸出特征序列后,可以通過(guò)分類函數(shù)獲得序列標(biāo)記結(jié)果。但是,在NER的任務(wù)中,輸出序列標(biāo)簽具有很強(qiáng)的限制和依賴性。例如,“B-Person”不能出現(xiàn)在“I-Person”之后,“BPerson”后不應(yīng)是“I-Location”。CRF是無(wú)向圖模型。通過(guò)考慮相鄰標(biāo)簽之間的關(guān)系,可以獲得全局最優(yōu)標(biāo)簽序列。論文在BiLSTM的輸出層之后添加了CRF層,進(jìn)行句子級(jí)的序列標(biāo)注,這樣不僅可以組合上下文信息,而且可以有效地考慮輸出標(biāo)簽之間的依賴性。
對(duì)于輸入句子S={s1,s2,……,sn},輸出標(biāo)簽序列L={l1,l2,……,ln},則該標(biāo)簽序列的概率為:
概率矩陣p是BiLSTM運(yùn)算之后的輸出,其中p的大小為n?s。n表示實(shí)驗(yàn)集分詞后的總數(shù),s表示標(biāo)簽類別的數(shù)量。Pij是句子中第i個(gè)詞第j個(gè)標(biāo)簽概率的預(yù)測(cè)。A是大小為s+2的傳遞矩陣。例如,從標(biāo)簽i到j(luò)的過(guò)渡概率可以表示為Aij,其中l(wèi)1和ln表示預(yù)測(cè)句子的開(kāi)頭和結(jié)尾的標(biāo)簽。
因此,在歸一化下生成所有可能的標(biāo)簽序列y的概率為:
bs表示可以通過(guò)似然函數(shù)公式獲得的所有有效標(biāo)簽序列。在預(yù)測(cè)階段,總概率最大的輸出標(biāo)簽序列的公式為:
實(shí)驗(yàn)語(yǔ)料來(lái)自于1998年1月份《人民日?qǐng)?bào)》數(shù)據(jù)集,該數(shù)據(jù)集是由北京大學(xué)計(jì)算語(yǔ)言學(xué)研究所和富士通研究所發(fā)展中心有限公司共同制作的標(biāo)注語(yǔ)料庫(kù)。利用已經(jīng)訓(xùn)練好的word2vec和Glove工具,將數(shù)據(jù)集中的每個(gè)詞進(jìn)行向量化得到相應(yīng)的詞向量表,對(duì)于未出在字典里的詞,采取隨機(jī)初始化向量進(jìn)行賦值。
表1列出了各種超參數(shù)值的設(shè)置,參數(shù)值的設(shè)置是根據(jù)大量相關(guān)文獻(xiàn)分析得到。詞向量的維數(shù)設(shè)置為100,表示將分詞后實(shí)驗(yàn)數(shù)據(jù)集中的每個(gè)詞轉(zhuǎn)換成100維的詞向量;LSTM的個(gè)數(shù)是100,設(shè)置兩層;Dropout率設(shè)置為0.5,表示在模型每次訓(xùn)練的過(guò)程中隨機(jī)讓50%的LSTM停止前向傳播計(jì)算與參數(shù)更新;學(xué)習(xí)速率為0.001;batch-size指網(wǎng)絡(luò)訓(xùn)練一次讀取的句子數(shù)量,根據(jù)讀取句子數(shù)量的多少對(duì)上下文的影響也存在著差異,實(shí)驗(yàn)設(shè)置為20。另外標(biāo)簽集合采用BIEOS,B表示該單詞是命名實(shí)體的開(kāi)頭,I表示該單詞在命名實(shí)體的中間,E表示該單詞在命名實(shí)體的尾端,O表示該單詞不是實(shí)體,S表示該詞本身就是一個(gè)實(shí)體。

表1 實(shí)驗(yàn)超參數(shù)列表
采用正確率P、召回率R和F作為命名實(shí)體識(shí)別模型實(shí)驗(yàn)的評(píng)價(jià)指標(biāo)。具體公式如下:
其中,r表示正確識(shí)別的實(shí)體個(gè)數(shù),s表示識(shí)別出的所有實(shí)體個(gè)數(shù),c表示樣本中所有實(shí)體個(gè)數(shù),α的值設(shè)置為1,表示準(zhǔn)確率和召回率同等重要。
為了驗(yàn)證提出的MNN-NER模型識(shí)別性能,主要通過(guò)幾組對(duì)比實(shí)驗(yàn)驗(yàn)證,分別為:
實(shí)驗(yàn)1詞向量維度對(duì)命名實(shí)體識(shí)別模型效果的影響。
為驗(yàn)證詞向量的維數(shù)是否會(huì)影響識(shí)別模型的性能,設(shè)置了四個(gè)不同的詞向量維數(shù),分別為50、100、200和300。
根據(jù)圖4的結(jié)果,當(dāng)詞嵌入維度等于100,最高F1分?jǐn)?shù)是89.08%。從實(shí)驗(yàn)結(jié)果分析得出,詞向量用維度表達(dá)語(yǔ)義信息和特征并不是維度越大越好。例如,當(dāng)維度為300時(shí),三類實(shí)體的F1值卻處于下降趨勢(shì),這是因?yàn)樵~向量所表達(dá)的語(yǔ)義信息被模型充分學(xué)習(xí),模型擬合度太高導(dǎo)致測(cè)試數(shù)據(jù)中有些實(shí)體沒(méi)有被識(shí)別。因此,將訓(xùn)練詞向量的維數(shù)設(shè)置為100。

圖4 不同詞向量維度的命名實(shí)體識(shí)別結(jié)果
實(shí)驗(yàn)2 LSTM神經(jīng)元數(shù)量對(duì)命名實(shí)體識(shí)別效果的影響。
LSTM單元的數(shù)量可以更改模型的訓(xùn)練參數(shù),從而影響識(shí)別模型整體性能和計(jì)算復(fù)雜性。為了獲得最佳的超參數(shù)值,設(shè)置了不同數(shù)量的LSTM單元,包括50、100、150和200。
從圖5中可以看出,當(dāng)隱藏單元維度為100時(shí),模型獲得的最高F1得分為89.08%。隱藏的單元太少會(huì)導(dǎo)致捕獲特征的能力不足。隨著神經(jīng)元數(shù)量的增加,訓(xùn)練參數(shù)的增加導(dǎo)致計(jì)算復(fù)雜度的增加。因此,將LSTM的隱藏單元數(shù)量設(shè)置為100。

圖5 不同LSTM單元數(shù)量的命名實(shí)體識(shí)別結(jié)果
實(shí)驗(yàn)3 Dropout率的大小對(duì)命名實(shí)體識(shí)別結(jié)果的影響。
為了驗(yàn)證Dropout的有效性,建立了另一組比較實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果示于圖6。該實(shí)驗(yàn)用于比較使用Dropout前后識(shí)別模型的效果差異。

圖6 是否使用Dropout對(duì)識(shí)別模型結(jié)果的影響
實(shí)驗(yàn)結(jié)果表明:使用Dropout后,MNN-NER模型的整體性能顯著提高,表明提出使用的正則化方法是有效的。
實(shí)驗(yàn)4多通道識(shí)別模型與單輸入識(shí)別模型對(duì)比。
為了驗(yàn)證多通道模型的高效性,設(shè)置了四組模型不同輸入值對(duì)比實(shí)驗(yàn)。MNN-NER模型的輸入分別設(shè)置為:隨機(jī)初始化單詞向量、只使用word2vec詞向量、只使用Glove詞向量、同時(shí)使用兩個(gè)詞向量,為保證實(shí)驗(yàn)結(jié)果有效,模型其他參數(shù)值設(shè)為一致。實(shí)驗(yàn)結(jié)果如表3所示:

表3 多通道模型與單輸入識(shí)別模型對(duì)比結(jié)果
實(shí)驗(yàn)5與已發(fā)表論文識(shí)別模型對(duì)比。
最后,將MNN-NER模型的性能與已發(fā)表的模型進(jìn)行了比較。實(shí)驗(yàn)結(jié)果根據(jù)F1值排列,如表4所示。

表4 與已發(fā)表論文識(shí)別模型對(duì)比結(jié)果
針對(duì)命名實(shí)體識(shí)別任務(wù)中依賴單一詞向量表示能力和規(guī)則特征構(gòu)建費(fèi)時(shí)費(fèi)力的問(wèn)題,提出了一種多通道神經(jīng)網(wǎng)絡(luò)命名實(shí)體識(shí)別模型。該模型使用不同的詞向量工具將文本映射為詞向量作為不同渠道的輸入,從而引入更多的語(yǔ)義信息,然后結(jié)合BiLSTM與CRF完成命名實(shí)體識(shí)別任務(wù)。實(shí)驗(yàn)結(jié)果證明,提出的模型在中文命名實(shí)體識(shí)別任務(wù)中獲得了較好的實(shí)驗(yàn)性能,具有一定的有效性。未來(lái)的工作包括以下兩個(gè)方面:一方面引入更多的特征作為模型的第三個(gè)通道,例如句法依存樹(shù)特征、詞性特征等。另一方面將模型運(yùn)用到無(wú)監(jiān)督領(lǐng)域,因?yàn)闃?biāo)注語(yǔ)料庫(kù)難以獲得,而且某些特定領(lǐng)域標(biāo)注數(shù)據(jù)的獲取代價(jià)十分高昂。在未來(lái)的研究工作中,圍繞命名實(shí)體識(shí)別領(lǐng)域可以考慮引入遷移學(xué)習(xí)技術(shù)。