蔣 翔 馬建霞 袁 慧
1(中國科學院西北生態環境資源研究院 甘肅 蘭州 730000) 2(中國科學院蘭州文獻情報中心 甘肅 蘭州 730000) 3(中國科學院大學經濟與管理學院圖書情報與檔案管理系 北京 100190) 4(中國移動通信集團北京有限公司 北京 100007)
自然語言處理(Nature Language Processing,NLP)是一門融語言學、計算機科學、數學于一體的交叉學科。在大數據時代的背景下,自然語言處理已廣泛應用于各個任務中,如:信息檢索、機器翻譯、輿情分析、知識圖譜構建等。命名實體識別(Named Entity Recognition,NER)是自然語言處理的基本任務之一,其目的在于從文本中識別出專有名詞和有意義的短語,是上述較高層次自然語言處理任務中不可缺少的一部分基礎工作。
在生態治理技術領域中,有大量的文獻數據沒有得到充分的開發與利用。對生態治理技術領域的論文數據進行充分的挖掘和利用,首先需要自動、準確、快速地識別和抽取生態治理文獻中的相關實體,如生態治理技術名稱、實施時間、實施地點等。抽取出的實體將應用于生態治理技術領域后續的自然語言處理任務(如:關系抽取、事件抽取、領域知識圖譜構建等)。使用神經網絡技術從大量文獻中識別出生態治理技術領域的命名實體,不僅有助于生態治理技術領域的研究人員開展相關的科研工作,也促進了文本抽取技術在資源環境情報分析方面的應用。
生態治理技術領域中的文獻存在書寫規范不統一、專有名詞較多等問題,在分詞時會加入大量的噪聲,降低實體的識別效果。本文提出BiLSTM-IDCNN-CRF模型,通過神經網絡抽取出不同粒度的特征進行互補,使用更加豐富的特征信息提高命名實體識別的效果。同時,使用了基于字嵌入的方法以避免加入錯誤的分詞信息,緩解上述問題。
命名實體識別任務最早于MUC-6[1]會議作為信息抽取任務的子任務被提出。信息抽取任務的目標是從文本中抽取出結構化的信息,抽取結構化信息的前提是必須將文本中的相關實體(如人名、地名、機構名等)準確地識別和抽取。之后的MET會議、ACE評測和CoNLL會議都將命名實體識別作為一項重要的測評任務。目前實現命名實體識別的方法主要有基于規則的方法、基于統計機器學習的方法和基于深度學習的方法等。
基于規則的方法需要專家手工構建規則模板,通過提取相關文本中的特征(如:詞頻信息、關鍵詞、指示詞、位置詞、方向詞和中心詞等)構造對應的規則集?;谝巹t的方法是根據某一種具體的語言,在某一特定的領域中提取相關特征,導致其可移植性較差;而且手工抽取特征模板的過程十分耗時,抽取的規則之間可能會產生干擾?;诮y計機器學習的方法是利用人工標注的訓練語料對模型進行訓練,通過使用訓練好的模型識別出文本中命名實體,包括基于分類模型的方法和基于序列模型的方法。基于統計機器學習的方法能夠處理未出現過的文本,識別出沒有標注過的實體,可移植性強。但是與深度學習相比性能較低,需要大量的訓練數據保證模型的訓練質量。
深度學習對于硬件設備的運算性能要求較高,隨著近年來硬件設備的快速發展,深度學習方法逐漸成為主流。深度學習早期主要用于圖像處理領域,近年來在語音識別、自然語言處理等領域的應用也取得了大量成果。Collobert等[2]提出使用卷積神經網絡(Convolutional Neural Networks,CNN)對文本中的句子進行建模,結合CRF層進行序列標注實現命名實體識別。Zeng等[3]提出了使用CNN將詞匯向量和詞位置向量作為輸入,通過卷積層、池化層和分類層得到句子的表示。Huang等[4]使用循環神經網絡(Recurrent Neural Network)作為文本建模工具,提出了LSTM-CRF模型和BiLSTM-CRF模型,首次將雙向長短期記憶神經網絡模型(Bi-directional Long Short-Term Memory)結合CRF層的BiLSTM-CRF模型用于命名實體識別任務。Ma等[5]引入了一種將BiLSTM、CNN和CRF結合的神經網絡架構,可以從詞和字符級別提取文本中的深層特征,不需要特征工程和預處理。袁慧[6]使用相關領域論文中的摘要進行詞向量訓練,結合BiLSTM-CRF模型對生態治理技術領域進行了命名實體識別研究,從數據集中抽取出了時間實體、地點實體和生態治理技術實體。Zeng等[7]使用LSTM-CRF實現了生物醫學文獻中藥物名稱的準確識別。為解決BiLSTM模型無法充分利用硬件設備導致訓練速度較慢的問題,Strubell等[8]提出使用迭代膨脹卷積神經網絡(Iterated Dilated Convolutions,IDCNN)替代BiLSTM,與CRF層結合組成IDCNN-CRF模型,在提高了訓練速度的同時獲得了更好的性能表現。Qiu等[9]在膨脹卷積神經網絡的每一層中加入原始信息,組成殘差膨脹卷積神經網絡(Residual Dilated Convolutional Neural Networks,RDCNN)對文本進行建模,最后結合CRF層對中文病歷進行命名實體識別。表1對三種不同類型的命名實體識別方法和模型進行了整理。

表1 命名實體識別相關研究
隨著算法的進步以及計算機運算性能的提高,命名實體識別的主流方法從早期的基于規則的方法轉變為基于統計機器學習的方法,再由基于統計機器學習的方法轉變為基于深度學習的方法。本文在前人研究的基礎上,將基于字嵌入的BiLSTM-CRF模型和IDCNN-CRF模型應用于生態治理技術領域的命名實體識別任務中,都超過了文獻[6]方法在相同數據集上所取得的最好成績。通過將BiLSTM模型和IDCNN模型分別抽取到的不同粒度的文本特征進行融合,再結合CRF層構成BiLSTM-IDCNN-CRF模型,相比前兩個模型獲得了更好的性能。
循環神經網絡(Recurrent Neural Network,RNN)由Elman[22]于1990年提出,該模型可以對序列數據進行處理,按照時間序列將數據逐條輸入模型。但RNN輸出的語義會偏向于較為靠后輸入的數據,而且由于RNN中的權重矩陣復用,當序列長度過長時會出現梯度消失或梯度爆炸的問題。為解決上述問題,Hochreiter等[23]于 1997年提出了長短期記憶模型(Long Short-Term Memory,LSTM),以RNN單元為基礎,通過輸入門、輸出門和遺忘門實現對歷史信息的選擇性利用,可以有效地捕獲較長序列數據的信息。
令X=[x1,x2,…,xT]為輸入的文本, LSTM神經元內部結構的實現如下:
it=σ(Wxixt+Whiht-1+Wcict-1+bi)
(1)
ft=σ(Wxfxt+Whfht-1+Wcfct-1+bf)
(2)
ct=ftct-1+ittanh(Wxcxt+Whcht-1+bc)
(3)
ot=σ(Wxoxt+Whoht-1+Wcoct+bo)
(4)
ht=ottanh(ct)
(5)
式中:it、ht、ft、ct、ot分別為記憶門、隱藏層、遺忘門、細胞核和輸出門在輸入第t個文本時的狀態;W為模型的參數;b為偏置向量;σ為Sigmoid函數;tanh為雙曲正切函數。
雙向長短期記憶網絡(Bidirectional LSTM,BiLSTM)通過兩層LSTM神經元分別從左至右和從右至左對序列數據進行學習,可以學習到某一字或詞的歷史信息和未來信息。將兩種信息進行結合,可以更好地描述上下文內容。
卷積神經網絡(Convolutional Neural Networks,CNN)與RNN相比,能夠充分利用GPU的并行性,從而獲得更快的訓練速度。于是越來越多的研究人員將CNN模型用于NLP領域的任務中。
為了使一次卷積能夠獲取更多的上下文信息,同時避免由于卷積核的窗口過大導致內存溢出和運算效率降低等問題,Yu等[24]提出了膨脹卷積神經網絡(Dilated Convolutions Neural Network,Dilated CNN)。膨脹卷積神經網絡并不是使用膨脹的卷積核,而是在卷積核中增加了一個膨脹距離d。令卷積核的權重矩陣k=[k-l,k-l+1,…,kl],卷積操作可寫作:
(6)
Strubell等[8]將膨脹卷積神經網絡應用到命名實體識別任務中,提出了IDCNN-CRF模型。在IDCNN網絡中包含多個膨脹卷積塊,一個膨脹卷積塊為一個多層的膨脹卷積神經網絡。令X=[x1,x2,…,xT]為輸入的文本,膨脹卷積塊的內部結構的實現如下:
(7)
(8)
(9)

神經網絡輸入的數據格式是向量或者矩陣,所以在訓練之前需要將文本中的字或詞使用向量進行表示,這個過程稱為嵌入。
由于生態治理技術領域專有名詞較多,且不同論文在書寫規范上不統一,使得分詞工具無法正確對實施地點、技術名詞等進行正確分詞,數據被加入了大量的錯誤分詞信息。在具有大量錯誤分詞信息的數據集中使用目前主流的Word2vec模型[25]訓練出的詞向量質量較低,無法有效表達詞語之間的語義聯系。而且Word2vec默認忽略頻次小于5的詞,而大量有效詞匯的出現頻次較少,導致很多詞匯沒有對應的詞向量生成,無法準確獲取大量低頻詞和未登錄詞的上下文語義。經測試,文獻[6]訓練的詞向量僅能覆蓋數據集中約24%的詞匯。
Gridach[26]為解決生物醫學領域文本的專業性較強、詞匯復雜多變導致的低頻詞和未登錄詞等問題,提出使用BiLSTM神經網絡獲取單詞的字符級信息,并與預訓練的詞向量結合,使得詞向量能同時包含詞匯的語義學信息和形態學信息,減少了無法準確獲取低頻詞和未登錄詞上下文語義所帶來的影響。本文借鑒其思路,使用字嵌入結合分詞信息的方式對生態治理技術領域的文本進行表示,不僅能減少錯誤分詞帶來的影響,而且也不需要額外的時間進行詞向量的訓練。
在生態治理技術領域中,需要抽取的實體類型包括:技術實施時間、技術實施地點和技術名稱,分別使用Time、Plcae和Tech標簽進行標注。本文使用IOBES標注法,相較于目前主流的IOB2標注法具有更多的標簽信息。實體分類及標注方法如表2所示。

表2 數據集實體分類及標注體系
本文使用了jieba分詞,將分詞信息作為特征加入數據集中輔助實體識別,使用0代表單字詞,1代表一個詞的第一個字,2代表詞的中間部分,3代表詞的末尾字符。
以句子“在毛烏素沙漠應推行灌草橋相結合以…” 為例,數據集的具體標注方法如表3所示。
將文本的分詞信息映射為低維向量,與文本的字向量進行拼接得到每個字的表示。圖1以一個字向量為4,分詞信息向量為1的文本矩陣為例,矩陣的每一行是一個字的向量表示。

圖1 文本的向量表示
BiLSTM網絡和IDCNN網絡分別對不同粒度的文本進行特征提取,如果將兩種模型獲取的特征進行整合,相對于單一模型而言可以利用更充分的信息用于實體的識別。對每一個字的標簽進行預測的過程可以看作是一個分類任務,即每一個字或詞應該被分為哪個標簽的類。在分類時需要考慮到文本的上下文特征以及長距離依賴,一般使用由Lafferty等[21]提出的條件隨機場(Conditional Random Fields,CRF)實現序列標注任務。本文提出BiLSTM-IDCNN-CRF模型,首先使用BiLSTM-IDCNN神經網絡對文本信息中的特征進行抽取,將BiLSTM-IDCNN神經網絡學習得到的結果作為特征,再使用CRF對每一個字或詞進行分類。

(10)
式中:⊕表示向量的拼接。
BiLSTM網絡整體可寫作:
H=fθ(X)
(11)
式中:矩陣fθ(X)為BiLSTM網絡的輸出;θ為BiLSTM網絡中的參數。
由于BiLSTM網絡和IDCNN網絡的神經元數量可能不一致,為盡量減少feature map數量變化導致的分辨率損失,因此將BiLSTM網絡學習到的上下文特征H使用一層卷積神經網絡進行卷積(輸入通道數量為BiLSTM的神經元數量,輸出通道數量為IDCNN的神經元個數),將卷積結果H′=[h′1,h′2,…,h′T]作為IDCNN網絡的輸入。
(12)

gθ′(H′)=gθ′1(H′)⊕gθ′2(H′)⊕…⊕gθ′N(H′)
(13)
得到特征gθ′(H′)后再通過一個全連接層便可得到每個標簽的打分。

(14)

(15)


(16)
模型在訓練時使用動態規劃算法[27]對[A]i,j以及最佳標記序列進行計算和推理。
圖2以“甘肅省準備…”為例,展示BiLSTM-IDCNN-CRF模型的結構以及標簽預測流程。

圖2 BiLSTM-IDCNN-CRF模型總體結構
生態治理技術數據集中共包含6 304個句子,總共標注了實體11 667個。其中:時間實體有1 687個;地名實體3 892個。生態治理技術實體5 894個。將數據集按照18∶1∶1的比例分為訓練集、驗證集和測試集,句子數和實體數詳見表4。

表4 數據集詳細信息
本文首先將基于字嵌入的模型和基于詞嵌入模型的訓練時的損失變化進行對比,分析字嵌入方法對模型訓練速度的影響。然后分別將有無分詞信息的BiLSTM-IDCNN-CRF模型的訓練損失和測試結果進行對比,分析分詞信息對模型的準確性和訓練速度的影響。最后將基于字嵌入的BiLSTM-CRF模型[4]和IDCNN-CRF模型[8]與基于詞嵌入模型[6]的測試結果進行對比,以驗證基于字嵌入的文本表示方法和IOBES標注法帶來的性能提升。同時,本文將BiLSTM-IDCNN-CRF模型應用于生態治理技術領域的命名實體識別任務,并將其與目前主流模型的識別結果進行對比,以驗證該模型的有效性。本文實驗的總體框架如圖3所示。

圖3 實驗總體框架
訓練語料中包含訓練集和驗證集。首先將訓練語料的文本進行字嵌入,再將文本矩陣分別輸入BiLSTM-CRF模型、IDCNN-CRF模型或BiLSTM-IDCNN-CRF模型中進行訓練,經過不斷迭代得到訓練好的命名實體識別模型;將測試集語料映射為文本矩陣,使用訓練好的命名實體識別模型進行測試,得到最終的實驗結果用于對比。
本次實驗使用目前較為常用的準確率(Precision,P)、召回率(Recall,R)和綜合評價指標(F1-Measure,F1)作為實驗結果的評價指標。
實驗環境為Tensorflow[28]1.11.0版本,使用Adam優化器進行訓練。BiLSTM-IDCNN-CRF模型的超參數設置如表5所示。膨脹卷積塊層數、膨脹距離、膨脹卷積塊個數等參數通過驗證集調參得到。

表5 BiLSTM-IDCNN-CRF模型超參數設置
將基于詞嵌入的BiLSTM-CRF模型、基于字嵌入的BiLSTM-CRF模型和BiLSTM-IDCNN-CRF模型訓練時的損失變化進行對比。
詞是一個或多個字的組合,因此基于字嵌入模型的每一個句子的長度遠遠大于基于詞嵌入模型的句子長度,導致基于字嵌入的模型在訓練時損失的值相對較大,下降速度也相對較慢。但總體而言,基于字嵌入模型的訓練速度仍然是比較快的。當迭代到第50輪時,兩種基于字嵌入的模型的損失均下降到1以下。訓練損失的具體變化如圖4所示。

圖4 損失變化圖
為避免過擬合,同時提高訓練效率,節約訓練時間,本文將實驗的迭代輪次設置為600,同時設置提前停止機制:當模型在驗證集中連續50輪性能沒有提升時,停止訓練并在測試集中進行測試。
本節將無分詞信息的BiLSTM-IDCNN-CRF模型與有分詞信息的BiLSTM-IDCNN-CRF模型的訓練損失和訓練結果進行對比,分析分詞信息的加入對模型訓練時間和識別效果的影響。
首先對兩種訓練策略的損失變化進行分析。在前20輪迭代中,有分詞信息的模型在訓練時的損失明顯低于無分詞信息的模型;在20輪之后兩種模型的損失均下降到較低的水平,但有分詞信息的模型的訓練損失仍略低于無分詞信息的模型。兩種模型的損失變化如圖5所示。

圖5 分詞信息對損失的影響
將兩種模型在測試集中的表現進行對比。與無分詞信息的模型相比,有分詞信息模型的準確率提高了0.025 2,召回率提高了0.002,F1值提高了0.013 6。對比結果如表6所示。

表6 分詞信息對結果的影響
分詞信息的加入豐富了模型可以利用的文本特征,使模型可以在更少的訓練輪次中取得更低的訓練損失。同時,分詞信息有效地輔助了模型對實體的推斷,使實體識別的準確率和召回率得到了提高。
將基于詞嵌入的BiLSTM-CRF模型、基于字嵌入的BiLSTM-CRF模型、IDCNN-CRF模型和BiLSTM-IDCNN-CRF模型的測試結果進行對比(基于字嵌入的模型均包含分詞信息),并對結果進行分析和討論。對比結果如表7所示。

表7 模型結果對比
基于詞嵌入的BiLSTM-CRF模型在準確率上取得了較高的成績,其中時間和地點兩類實體的識別準確率(0.786 3和0.820 2)均高于其他3個模型。通過對模型進行分析發現,基于詞嵌入的模型在對文本進行分詞時加入了外部詞典,包括時間、地名和實施技術等詞匯,使得各個實體的邊界更加清晰。但是該模型對生態治理技術實體識別的準確率較低(僅為0.660 2,遠低于時間實體的0.786 3和地點實體的0.820 2),原因在于文獻中對于生態治理技術的寫法標準不統一,加入的實施技術詞典無法有效地對于技術實體進行準確分詞,引入了大量噪聲信息?;谧智度氲腂iLSTM-CRF模型避免了引入噪聲的問題,使得模型可以有效地對文本進行特征學習,結合上下文信息和分詞信息實現命名實體識別,在召回率上相對于基于詞嵌入的模型得到了明顯的提升,因此在綜合評價指標F1值上超過了基于詞嵌入的模型。
在基于字嵌入的模型中,BiLSTM-CRF模型對整個句子的特征進行學習,從而能從整體上把握實體的上下文信息,從句子中識別出更多的實體,取得了更高的召回率;而IDCNN-CRF模型更關注于實體周圍的信息和特征,能夠更好地區分實體的邊界,因此在準確率上獲得了相對更高的結果。
BiLSTM神經網絡和IDCNN神經網絡獲取到的不同粒度的特征可以相互補充,從BiLSTM-IDCNN-CRF模型的實驗結果中也可以得到驗證。BiLSTM-IDCNN-CRF模型雖然在召回率上相對前兩個模型得到了一個折中的結果,但是由于獲得的特征更加豐富,因此準確率高于前兩種模型,最后的F1值也超越了前兩種模型。IDCNN網絡的輸入為BiLSTM網絡得到的具有上下文語義的特征,因此在對某一個字的周圍字符信息進行學習時會同時得到上下文信息和該字周圍的語義信息。也就是說,模型在預測某個字是否是實體的一部分時,不僅會利用整個句子的語義特征,還將重點關注該字周圍字符的語義特征,因此在整體性能上取得了更好的成績。
命名實體識別可以快速、準確、自動地從大規模文本中抽取出有意義的實體。本文提出了基于字嵌入的BiLSTM-IDCNN-CRF模型,可以充分學習到上下文信息和局部信息中的特征,將兩種特征進行互補提高實體的抽取效果。目前已經抽取出的實體可用于進行統計分析,如:生態治理實踐分布分析、生態治理地域分析和生態治理技術名稱分析等。如何得到生態治理的實施時間、實施地點和生態治理技術之間的關系將是下一步重點探索和研究的方向。