陶 露
(皖江工學院 電氣信息工程學院,安徽 馬鞍山 243000)
命名實體識別是自然語言處理中一項非常基礎的任務。其任務是從自然語言文本中識別具有特定意義的實體,主要包括人名、地名、組織名稱、專有名詞等。例如,“王小強將參加由大觀數(shù)據(jù)主辦的‘大觀杯’數(shù)據(jù)挖掘大賽”,其中“王小強”和“大觀數(shù)據(jù)”是待識別的命名實體。命名實體識別主要包括實體邊界識別和實體類別確定兩部分。它的識別效果對于后續(xù)問答系統(tǒng)、句法分析、機器翻譯和知識庫構(gòu)建的研究與應用具有重要意義。
研究人員提出了許多應用于命名實體識別任務的方法:從早期基于規(guī)則和字典的方法,到基于統(tǒng)計機器學習的方法,再到近年來的基于神經(jīng)網(wǎng)絡的方法。這些方法在生物醫(yī)學、新聞、漁業(yè)、軍事等許多領(lǐng)域的命名實體識別中都取得了一定的成效。基于規(guī)則和詞典的方法需要自定義規(guī)則模板和詞典,這需要大量的語言知識。此外,不同語言的識別規(guī)則并不相同,規(guī)則之間的沖突需要謹慎處理且所構(gòu)建的規(guī)則是不可移植的?;诮y(tǒng)計機器學習的方法中比較常用的是特征模板與條件隨機場(CRF)的結(jié)合,此方法識別效果雖優(yōu)于前一種方法,但是特征模板的構(gòu)建也是一件費時費力的事。結(jié)合上述兩種方法的不足加上深度學習的深入,神經(jīng)網(wǎng)絡成為一種能夠有效處理NER任務的方法。這種方法將NER視為序列標簽任務,把每一個自然語言轉(zhuǎn)換成詞向量映射在低維空間中,然后輸入句子的詞向量嵌入到神經(jīng)網(wǎng)絡中,并自動提取神經(jīng)網(wǎng)絡特性,Softmax或CRF預測每個自然語言標簽。該方法使模型訓練成為一個獨立于特征工程的端到端的過程。綜合上述三種方法所包含的優(yōu)缺點,本文擬提出一種多通道神經(jīng)網(wǎng)絡的命名實體識別模型,首先使用不同的詞向量將語句進行映射作為模型不同通道的輸入,其中詞向量中還融合了基于上下文的字詞向量,然后結(jié)合BiLSTM+CRF在1998年1月份的人民日報語料庫中進行實驗。
論文共由五部分組成:第1部分介紹國內(nèi)外有關(guān)命名實體識別的研究現(xiàn)狀;第2部分闡述使用的詞向量訓練模型;第3部分闡述基于多通道神經(jīng)網(wǎng)絡的命名實體識別模型;第4部分通過實驗驗證所提MNN-NER模型的識別效果;第5部分對全文做出總結(jié)。
命名實體識別(Named entity recognition,NER)是自然語言處理任務的一項基礎工作,它的主要任務是自動識別出信息文本中具有特定意義的實體,從狹義上來說就是識別出文本中包含的人名、地名、組織機構(gòu)名等專有名詞。目前存在的NER方法主要有:基于規(guī)則和詞典的方法、基于統(tǒng)計的方法和基于神經(jīng)網(wǎng)絡的方法。
基于規(guī)則的方法較多的是語言學家手工構(gòu)造規(guī)則模板,以模式和字符串匹配為主要手段,這些系統(tǒng)主要依靠知識庫和詞典的建立。趙哲煥等[1]提出了一種基于句法模板和字典匹配的方法來提取表示蛋白質(zhì)之間關(guān)系類型的關(guān)系詞。該方法在目標語料庫上F值達到83.02%。龍光裕等[2]提出了一種結(jié)合CRF和字典的疾病命名實體識別方法。他們利用網(wǎng)絡資源構(gòu)建了包含語義信息的醫(yī)學術(shù)語字典,利用字典識別醫(yī)學術(shù)語,然后結(jié)合CRF進行命名實體識別。
統(tǒng)計機器學習方法將命名實體識別作為一個序列標記任務,利用大規(guī)模語料庫學習標記模型,從而對句子的各個位置進行標記。常用的NER任務模型有生成模型HMM、判別模型CRF等。目前比較流行的方法是特征模板與CRF相結(jié)合。孫曉等[3]提出基于深層條件隨機場的生物醫(yī)學命名實體識別,利用增量式學習選擇最優(yōu)特征集然后通過錯誤糾正算法修正識別效果,F(xiàn)值達到了72.87%。于楠等[4]提出將多種特征融合識別出電子病歷中的疾病實體和癥狀實體,F(xiàn)值分別達到了92.80%、94.17%。
近年來,隨著硬件能力的發(fā)展和詞嵌入的出現(xiàn),神經(jīng)網(wǎng)絡已經(jīng)成為一種能夠有效處理許多NLP任務的模型。主要模型包括NN/CNN-CRF、RNNCRF及其改進結(jié)構(gòu)。李麗雙等[5]提出了一種基于CNN-BLSTM-CRF的神經(jīng)網(wǎng)絡模型,在兩種生物醫(yī)學語料庫中均取得了良好的效果。馮彥紅等[6]使用了基于上下文的詞向量和基于詞的詞向量,并利用標記序列中標簽的相關(guān)性來進行識別,約束BLSTM的代價函數(shù)。由于某些特定領(lǐng)域獲取標注數(shù)據(jù)的成本較高,許多學者提出引入遷移學習技術(shù)[7-9],以減少對大量標注數(shù)據(jù)的需求。此外,許多研究者將注意機制[10-12]集成到神經(jīng)網(wǎng)絡中,以提高識別效果。
詞向量也稱為詞嵌入,是目前深度學習在自然語言處理領(lǐng)域中最常用的方法。文中所提的詞向量是使用兩種不同的詞向量工具得到的。一種是Google提供的Word2vec,另一種是由斯坦福大學提供的Glove。這兩種詞向量模型有各自的優(yōu)點。
Word2vec有兩種訓練模式:CBOW和SKip-Gram。其中,根據(jù)窗口的上下詞使用CBOW預測當前中心詞,根據(jù)當前中心詞使用skip-gram預測當前上、下窗口詞。訓練Word2vec使用的是SGD優(yōu)化器,因此輸入每一個句子,其需要根據(jù)滑動中心詞與其窗口詞定義其對數(shù)似然函數(shù),求取極大值從而更新向量。使用中文維基百科訓練word2vec,得到的詞向量表記為V1。
相比于利用局部上下文信息的詞向量模型,斯坦福大學Pen-nington等人提出的GloVe模型更加充分利用全文上下文信息,該模型構(gòu)造了一個利用全局統(tǒng)計信息的全局單詞共現(xiàn)矩陣。GloVe結(jié)合全局矩陣分解方法和局部窗口方法,融合文本的全局信息和局部上下文信息。使用搜狗實驗室的新聞語料訓練GloVe模型,得到的詞向量表記為V2。
多通道指的是模型輸入層使用Word2vec和GloVe兩種不同的詞向量工具分別將輸入的語句映射成對應的詞向量表示并作為不同通道的輸入,目的是為了使文本的輸入帶入更多的語義信息,從而使模型學習出區(qū)分度更強的特征,而且還能提高計算速度。
由于現(xiàn)有命名實體識別模型輸入只考慮特定的單一詞向量,導致輸入語義信息不豐富從而模型不能學習出區(qū)分度明顯的特征信息。針對這一問題,擬提出基于多通道的神經(jīng)網(wǎng)絡命名實體識別模型(MNN-NER),該模型采用兩種詞向量工具將要識別的數(shù)據(jù)集轉(zhuǎn)換成對應的詞向量序列,并作為MNN-NER模型輸入通道1和輸入通道2的數(shù)據(jù)。如圖1所示,MNN-NER模型主要分為輸入層、BiLSTM層、CRF層。
圖1 多通道神經(jīng)網(wǎng)絡的命名實體識別模型
3.1.1 輸入層 此層主要將已標注的1998年前6月份的《人民日報》語料輸入MNN-NER模型中。通過已訓練好的Word2vec和Glove兩種詞向量工具將語料映射成低維的稠密向量并作為通道1和通道2的輸入。
3.1.2 BiLSTM層 長短時記憶網(wǎng)絡(Long Short Term Memory network,LSTM)是基于RNN的一種改進結(jié)構(gòu)。它引入了一個存儲單元和“門”機制來實現(xiàn)句子中更長距離信息的使用,并解決了RNN中的梯度消失或梯度爆炸問題。設計的門結(jié)構(gòu)可以有選擇地保存上下文信息,因此它更適合于序列標記問題,例如命名實體識別。LSTM的存儲單元如圖2所示。
圖2 LSTM結(jié)構(gòu)圖
在圖2中,LSTM網(wǎng)絡在t時刻的輸入由輸入層et、上一個LSTM單元的輸出LHt-1和上一個LSTM單元的記憶單元cst-1決定,在t時刻的輸出為該單元的隱藏層LHt和記憶單元cst。其網(wǎng)絡形式可以用式(1)-式(6)進行表示:
其中σ表示sigmoid激活函數(shù),tanh表示雙曲正切激活函數(shù),W表示連接兩層的權(quán)重矩陣,b表示偏置向量,ig、fg和og分別表示輸入門、遺忘門和輸出門。
但是,LSTM結(jié)構(gòu)僅考慮語句的上文信息,而無法獲得該語句的下文信息。在NER任務中,下文信息同樣對NER任務提供關(guān)鍵性作用?;谶@一問題,采用雙向LSTM(BiLSTM),BiLSTM可以有多地獲取雙向上下文信息,即從每個句子的正向和反向捕獲兩種不同的特征表示。然后將二者合并以獲得一條語句完整的上下文特征。圖3為BiLSTM工作結(jié)構(gòu)的示意圖。
圖3 BiLSTM結(jié)構(gòu)示意圖
圖3中,xt表示模型在t時刻的輸入,表示前向LSTM在t時刻的輸出,表示反向LSTM在t時刻的輸出,則BiLSTM在t時刻的輸出可以表示為。
3.1.3 CRF層 BiLSTM輸出特征序列后,可以通過分類函數(shù)獲得序列標記結(jié)果。但是,在NER的任務中,輸出序列標簽具有很強的限制和依賴性。例如,“B-Person”不能出現(xiàn)在“I-Person”之后,“BPerson”后不應是“I-Location”。CRF是無向圖模型。通過考慮相鄰標簽之間的關(guān)系,可以獲得全局最優(yōu)標簽序列。論文在BiLSTM的輸出層之后添加了CRF層,進行句子級的序列標注,這樣不僅可以組合上下文信息,而且可以有效地考慮輸出標簽之間的依賴性。
對于輸入句子S={s1,s2,……,sn},輸出標簽序列L={l1,l2,……,ln},則該標簽序列的概率為:
概率矩陣p是BiLSTM運算之后的輸出,其中p的大小為n?s。n表示實驗集分詞后的總數(shù),s表示標簽類別的數(shù)量。Pij是句子中第i個詞第j個標簽概率的預測。A是大小為s+2的傳遞矩陣。例如,從標簽i到j的過渡概率可以表示為Aij,其中l(wèi)1和ln表示預測句子的開頭和結(jié)尾的標簽。
因此,在歸一化下生成所有可能的標簽序列y的概率為:
bs表示可以通過似然函數(shù)公式獲得的所有有效標簽序列。在預測階段,總概率最大的輸出標簽序列的公式為:
實驗語料來自于1998年1月份《人民日報》數(shù)據(jù)集,該數(shù)據(jù)集是由北京大學計算語言學研究所和富士通研究所發(fā)展中心有限公司共同制作的標注語料庫。利用已經(jīng)訓練好的word2vec和Glove工具,將數(shù)據(jù)集中的每個詞進行向量化得到相應的詞向量表,對于未出在字典里的詞,采取隨機初始化向量進行賦值。
表1列出了各種超參數(shù)值的設置,參數(shù)值的設置是根據(jù)大量相關(guān)文獻分析得到。詞向量的維數(shù)設置為100,表示將分詞后實驗數(shù)據(jù)集中的每個詞轉(zhuǎn)換成100維的詞向量;LSTM的個數(shù)是100,設置兩層;Dropout率設置為0.5,表示在模型每次訓練的過程中隨機讓50%的LSTM停止前向傳播計算與參數(shù)更新;學習速率為0.001;batch-size指網(wǎng)絡訓練一次讀取的句子數(shù)量,根據(jù)讀取句子數(shù)量的多少對上下文的影響也存在著差異,實驗設置為20。另外標簽集合采用BIEOS,B表示該單詞是命名實體的開頭,I表示該單詞在命名實體的中間,E表示該單詞在命名實體的尾端,O表示該單詞不是實體,S表示該詞本身就是一個實體。
表1 實驗超參數(shù)列表
采用正確率P、召回率R和F作為命名實體識別模型實驗的評價指標。具體公式如下:
其中,r表示正確識別的實體個數(shù),s表示識別出的所有實體個數(shù),c表示樣本中所有實體個數(shù),α的值設置為1,表示準確率和召回率同等重要。
為了驗證提出的MNN-NER模型識別性能,主要通過幾組對比實驗驗證,分別為:
實驗1詞向量維度對命名實體識別模型效果的影響。
為驗證詞向量的維數(shù)是否會影響識別模型的性能,設置了四個不同的詞向量維數(shù),分別為50、100、200和300。
根據(jù)圖4的結(jié)果,當詞嵌入維度等于100,最高F1分數(shù)是89.08%。從實驗結(jié)果分析得出,詞向量用維度表達語義信息和特征并不是維度越大越好。例如,當維度為300時,三類實體的F1值卻處于下降趨勢,這是因為詞向量所表達的語義信息被模型充分學習,模型擬合度太高導致測試數(shù)據(jù)中有些實體沒有被識別。因此,將訓練詞向量的維數(shù)設置為100。
圖4 不同詞向量維度的命名實體識別結(jié)果
實驗2 LSTM神經(jīng)元數(shù)量對命名實體識別效果的影響。
LSTM單元的數(shù)量可以更改模型的訓練參數(shù),從而影響識別模型整體性能和計算復雜性。為了獲得最佳的超參數(shù)值,設置了不同數(shù)量的LSTM單元,包括50、100、150和200。
從圖5中可以看出,當隱藏單元維度為100時,模型獲得的最高F1得分為89.08%。隱藏的單元太少會導致捕獲特征的能力不足。隨著神經(jīng)元數(shù)量的增加,訓練參數(shù)的增加導致計算復雜度的增加。因此,將LSTM的隱藏單元數(shù)量設置為100。
圖5 不同LSTM單元數(shù)量的命名實體識別結(jié)果
實驗3 Dropout率的大小對命名實體識別結(jié)果的影響。
為了驗證Dropout的有效性,建立了另一組比較實驗。實驗結(jié)果示于圖6。該實驗用于比較使用Dropout前后識別模型的效果差異。
圖6 是否使用Dropout對識別模型結(jié)果的影響
實驗結(jié)果表明:使用Dropout后,MNN-NER模型的整體性能顯著提高,表明提出使用的正則化方法是有效的。
實驗4多通道識別模型與單輸入識別模型對比。
為了驗證多通道模型的高效性,設置了四組模型不同輸入值對比實驗。MNN-NER模型的輸入分別設置為:隨機初始化單詞向量、只使用word2vec詞向量、只使用Glove詞向量、同時使用兩個詞向量,為保證實驗結(jié)果有效,模型其他參數(shù)值設為一致。實驗結(jié)果如表3所示:
表3 多通道模型與單輸入識別模型對比結(jié)果
實驗5與已發(fā)表論文識別模型對比。
最后,將MNN-NER模型的性能與已發(fā)表的模型進行了比較。實驗結(jié)果根據(jù)F1值排列,如表4所示。
表4 與已發(fā)表論文識別模型對比結(jié)果
針對命名實體識別任務中依賴單一詞向量表示能力和規(guī)則特征構(gòu)建費時費力的問題,提出了一種多通道神經(jīng)網(wǎng)絡命名實體識別模型。該模型使用不同的詞向量工具將文本映射為詞向量作為不同渠道的輸入,從而引入更多的語義信息,然后結(jié)合BiLSTM與CRF完成命名實體識別任務。實驗結(jié)果證明,提出的模型在中文命名實體識別任務中獲得了較好的實驗性能,具有一定的有效性。未來的工作包括以下兩個方面:一方面引入更多的特征作為模型的第三個通道,例如句法依存樹特征、詞性特征等。另一方面將模型運用到無監(jiān)督領(lǐng)域,因為標注語料庫難以獲得,而且某些特定領(lǐng)域標注數(shù)據(jù)的獲取代價十分高昂。在未來的研究工作中,圍繞命名實體識別領(lǐng)域可以考慮引入遷移學習技術(shù)。