李佳芮,劉 健,陳鈺楓,徐金安,張玉潔
(北京交通大學計算機與信息技術學院,北京 100044)
命名實體識別(named entity recognition,NER)旨在識別文本中特定類型的實體(如人名、地名、組織機構名、專有名詞等),是自然語言處理中一項重要的基礎任務,可廣泛應用于信息抽取、問答系統、機器翻譯等上游任務中[1-3].隨著深度學習技術的不斷發展,基于神經網絡的NER模型研究已經取得了不錯的進展[4],然而這些方法通常需要依靠大規模的標注語料來提升性能,很多低資源領域難以獲取到如此大規模的標注語料,限制了現有方法的性能.為解決這一問題,領域自適應這一研究課題隨之誕生,它的研究目標是利用擁有豐富語料資源的源領域來提升低資源領域的模型性能[5].
當前,Peng等[6]應用多任務學習實現了領域自適應;Jia等[7]利用神經網絡模型捕捉實體信息,促進了領域自適應的效果;Liu等[8]對特征向量進行了領域自適應.盡管現有的NER領域自適應方法已經取得了一定的研究進展,但仍存在以下問題:1) 大多數自適應方法從單一源領域遷移到目標領域(源領域通常為新聞領域),當目標領域和源領域差異較大時,模型效果并不理想.2) 當前基于預訓練的自適應方法通常需要大規模的目標域(相關)無標注語料對語言模型進行繼續預訓練,然而并非所有目標域都能滿足大規模這一條件.
針對以上問題,本文提出了一種融合多源領域貢獻度加權的自適應NER模型(multi-domain adaptation NER molde based on importance weighting,MDAIW),該模型基于多個源領域的知識遷移提升目標領域的模型效果.針對多源領域數據混合可能存在分布不一致的問題,設計了一種融合領域層級和樣本層級貢獻度的自適應方法,同時采用對抗訓練策略聯合訓練NER任務和領域分類任務,通過貢獻度加權,模型能夠更好地遷移到目標領域.針對大規模目標領域數據的依賴問題,提出了一種兩階段領域自適應預訓練的方法,它能夠通過小規模的數據實現領域自適應預訓練.為了驗證本文方法的有效性,在多個目標領域上進行實驗.
本文的組織結構如下:第1節介紹本文提出的MDAIW模型架構和原理;第2節通過實驗驗證模型的有效性,并與現有研究方法進行比較;第3節介紹領域自適應的相關研究工作;最后對全文進行總結,并展望未來研究方向.

MDAIW模型的整體架構如圖1所示,它可以分為兩部分.考慮到目標領域語料匱乏的情況,第一部分利用BERT-base(bidirectional encoder representation from transformers-base)[9]設計了一種兩階段自適應預訓練的方式,目的是使經過預訓練語言模型獲取的文本向量融合源領域和目標領域信息.第二部分是融合多源領域貢獻度加權的遷移模型,通過計算領域層級和樣本層級的貢獻度參數,并將其引入到NER任務的損失函數中來提升模型性能.

圖1 MDAIW模型整體架構Fig.1 Overall framework of the MDAIW model
由于直接使用預訓練語言模型獲取的文本向量特征可能無法有效地捕捉到源領域和目標領域之間的差異,利用BERT-base[9]模型分兩個階段先后進行目標領域和源領域的預訓練(圖1).自適應預訓練的過程利用了BERT[9]中的掩碼語言模型,它通過上下文來預測被掩碼的字段,從而獲得深層的雙向表示.目標領域和源領域的自適應細節如下.
1.1.1 目標領域自適應預訓練
針對目標領域語料資源匱乏的情況,在目標領域預訓練階段,不額外搜集大量的目標領域文本,而是采用所有可用的目標領域NER語料進行訓練.訓練任務和參數都遵循BERT-base模型中的設置.此外,添加了一個超參數來表示目標領域樣本的數據重復次數,從而彌補數據不足的問題.具體來說,首先根據重復次數這一超參數對目標領域語料進行復制擴充,隨后使用經過擴充的目標領域數據對BERT進行繼續預訓練,得到經過目標領域自適應的語言模型.
1.1.2 源領域自適應預訓練
為了在目標領域自適應預訓練的基礎上使輸入NER模型的特征向量表示進一步融合多個源領域的信息,設計了源領域自適應預訓練.在這一階段,使用多個源領域混合的未標注語料作為訓練數據,對前一步中得到的目標領域自適應語言模型進行二階段的繼續預訓練.同時,為了保持語言模型對源領域和目標領域的適應性,通過設置數據重復次數使源領域自適應預訓練的訓練數據規模小于目標領域自適應預訓練中的數據規模.
考慮到不同的源領域以及領域內樣本對目標領域的重要程度可能存在差別,設計了一種融合貢獻度加權的遷移方法,以此來緩解源領域和目標領域間的領域偏移問題,同時利用對抗訓練策略進一步增強模型性能.融合多源領域貢獻度加權的遷移模型如圖1所示,輸入語料首先通過領域自適應語言模型獲取特征向量,語言模型應用1.1節中經過領域自適應后的BERT模型,訓練過程包含NER和領域分類兩個訓練任務,在NER任務中應用領域層級和樣本層級的貢獻度加權,幫助模型更好地進行多源領域遷移,領域分類任務通過GRL與NER任務連接進行共同訓練.
在1.2.1節中,詳細介紹了領域層級和樣本層級貢獻度的建模計算方法,以及如何將加權應用于NER損失函數中.在1.2.2節中介紹了對抗訓練策略.
1.2.1 貢獻度加權
貢獻度加權的目標是量化不同領域和領域內樣本對目標領域的重要程度,并將計算后得到的貢獻度參數引入到NER模型中,以緩解在采用多源領域數據進行訓練時,不同的領域分布導致的負遷移問題.本文中分別設計了領域層級和樣本層級的貢獻度參數建模方法.

(1)
(2)
2) 樣本層級貢獻度建模 樣本層級貢獻度的建模目標是計算領域內的不同樣本對目標領域的貢獻程度.本文中設計了一個領域分類任務來實現這一目標.具體來說,通過一個領域二分類器預測樣本是否屬于目標領域.二分類器的輸出為某一樣本被預測為目標領域樣本的概率值,如果某一源領域樣本被預測為目標領域樣本的概率值較低,則代表其對目標領域的重要程度比較低,相反,如果概率值較高,則意味著樣本對目標領域的重要程度較高.因此,通過領域分類器即可得到源領域樣本對于目標領域的貢獻度權重.該過程可表示為:
[PT,1-PT]=softmax(classifier(xj)),
(3)
其中,PT表示被預測為目標領域樣本的概率,即為樣本層級貢獻度參數.

(4)
貢獻度加權的目標是體現源領域樣本對于目標領域的重要程度,根據貢獻度的高低來分配權重.因此,需要對權重進行歸一化,歸一化權重為
(5)
其中,wi為每個樣本的貢獻度權重.
對多個源領域內的樣本加權后,MDAIW模型的整體損失函數可表示為:
(6)
其中m為k個源領域的總樣本數.
1.2.2 對抗訓練
通過貢獻度加權可以提高模型對不同領域和樣本的鑒別能力,在此基礎上,結合對抗訓練可以進一步提高模型對多個不同的領域間通用知識的獲取能力.受到GRL的啟發[11],本研究在模型中加入GRL層來實現對抗訓練.其實現方法是在反向傳播的過程中反轉梯度方向,使GRL前向和后向的網絡訓練目標相反,以此來實現對抗的效果.具體來說,特征向量輸入模型后分別進行領域分類任務和NER任務,對兩個任務的損失函數求和后進行梯度回傳實現聯合訓練,通過訓練對BERT分類器token([CLS])中的隱層狀態hCLS進行參數優化.
加入對抗訓練后,應用隱層向量hCLS獲取領域分類器的輸出值的過程可表示為:
[P′T,1-P′T]=softmax(WdhCLS+b).
(7)
領域分類器的損失函數可以表示為:
(8)
聯合訓練的損失函數可以表示為:
Ltotal=LNER-LTC.
(9)
本文中采用CONLL[12]和CrossNER[8]兩種數據集進行實驗,數據集的統計數據可見表1.其中,新聞領域的CONLL數據集被廣泛應用于NER任務中,它對路透社文章收集到的數據進行標注,包含4種實體標簽,分別為人名、地名、組織機構名和其他.CroossNER是由Liu等[8]通過Wiki數據收集和人工標注構建的NER數據集,包含政治、科學、音樂、文學和人工智能5種領域,在該數據集中,每個領域數據集的標簽都由該領域的特定實體構成,比如政治領域中包含“政治家”“政黨”等實體類別.本文中將這些領域特有的實體標簽統一替換為“領域詞”標簽,最終實驗數據包含人名、地名、組織機構名、領域詞和其他5種標簽類型.將CrossNER中的5個領域數據集分別看作目標領域進行實驗,當一種領域作為目標領域時,其余領域被作為源領域.

表1 各領域數據統計
本文中通過F1值對模型的有效性進行評估,F1值同時考慮了準確率(P)和召回率(R),計算公式如下:
(10)
(11)
(12)
在兩階段領域自適應預訓練中,訓練過程遵循BERT-base模型中的參數設置,訓練輪次為3次.其中,在目標領域預訓練階段,使用全部可用的目標域數據進行訓練,重復次數設置為10;在源領域預訓練階段,訓練數據為其余的5個源領域,重復次數為2.由于新聞領域的數據量較大,可能會影響目標領域預訓練的效果,因此從新聞領域中隨機篩選出與目標領域數據等量的數據與其余源領域數據混合進行源領域預訓練.在MDAIW模型中,分類任務和NER任務分別遵循BERT-base在下游任務微調中給出的參考參數,訓練輪次為5次.
將本文模型MDAIW與以下幾種模型進行了對比,以此來驗證本文提出模型的有效性.
1) 基于BERT的微調(Fine-tuned BERT):本研究在BERT-base的基礎上使用任務訓練數據在下游任務上進行微調,分別使用目標語料(target only)和所有語料混合(all data)進行了實驗.
2) 基于BERT的參數初始化[13](BERT-base parameter initialization,BERT-base INIT):本研究在BERT-base的基礎上實現參數初始化,首先用源領域數據訓練模型參數,隨后使用目標領域數據對參數進行微調.
3) 基于多任務的多源跨領域方法[14](MultDomain-specific):該方法將多領域問題轉換為多任務問題,為每個領域添加了雙向長短時記憶+條件隨機場(CRF)的網絡層結構進行聯合訓練,選擇文獻[14]中實驗效果最好的方法進行了實驗對比.
4) 基于片段的預訓練語言模型自適應[8]:該方法在自適應預訓練語言模型的階段進行領域增強,同時在下游任務的微調中進行了3種模式的實驗,其中兩種取得的效果較好,所以將本文方法與這兩種方法進行對比.具體地,第一種方法與微調的思路一致(Pre-train then Fine-tune),第二種方法對源領域和目標領域模型進行聯合訓練(Jointly Train).
對多個目標領域進行實驗來驗證本文模型的適用性,當一種領域作為目標領域時,其余領域為源領域.將本文模型MDAIW與基于BERT的微調方法、基于BERT的參數初始化方法以及當前效果最好的基于片段的預訓練語言模型自適應方法進行了對比,結果如表2所示.
從表2中可以看出:

表2 本文提出模型和基線模型的實驗結果(F1)
1) 與當前表現最好的結果(劃線)相比,MDAIW模型在5個領域上的F1值分別提高了2.44,0.75,1.67,1.82和5.23個百分點.證明了該模型有效且適用于多個不同領域.
2) 對比Fine-tuned BERT(target only)與Fine-tuned BERT(all data),從結果可以看出:若不經過任何處理,直接使用其他領域的數據集對目標領域數據進行數據擴充,有時可以取得很大的提升,比如在音樂領域(F1值從65.44%提升到81.29%),但有時會產生負遷移效果,比如科學領域(F1值從65.28%降低到64.89%).因此,由于分布不同,多個領域混合的訓練效果可能反而會下降,而本文方法可以有效地緩解這一問題.
為了驗證每種結構的有效性,本文中進行了消融實驗.將去掉源領域預訓練和目標領域預訓練分別表示為“w/o源領域預訓練”和“w/o目標領域預訓練”.同樣,將去掉領域層級貢獻度加權和樣本層級貢獻度加權分別表示為“w/o領域貢獻度”和“w/o樣本貢獻度”,去掉對抗訓練表示為“w/o對抗訓練”.此外,將兩階段領域自適應的順序調換進行了實驗,表示為“源領域+目標領域預訓練”.實驗結果如表3所示。

表3 消融實驗結果(F1)
從消融實驗的結果可以看出:
1) 分別去掉領域自適應預訓練、兩種層級的貢獻度加權以及對抗訓練策略后,模型性能出現了不同程度的下降,因此通過消融實驗的結果驗證了兩階段領域自適應預訓練、兩種層級貢獻度加權以及對抗訓練策略都是十分必要的.
2) 從兩階段領域自適應的消融實驗中可以看出:去掉目標領域預訓練后性能下降得更多(F1,平均值變化量),說明目標領域預訓練對于模型效果的提升更多;同時源領域預訓練對模型的效果也有一定的提升.
3) 從兩種層級貢獻度的消融實驗中可以看出,領域貢獻度和樣本貢獻度都大大提升了NER的性能,去掉樣本層級貢獻度后模型性能下降得更多(以F1值的平均變化量為準),說明樣本層級貢獻度對模型更重要一些.
4) 從兩階段領域自適應的調換實驗中可以看出,先進行源領域預訓練后進行目標領域預訓練的效果出現了下降,說明了兩步預訓練順序的必要性.
由于越來越多語料資源匱乏的新興領域存在文本分析及構建領域知識圖譜的需求,針對領域自適應的NER研究逐漸成為重點內容.這項研究的基本思路是利用源領域來提升目標領域的模型效果.對此,Mou等[13]提出了參數初始化方法,首先使用源領域語料訓練模型,用訓練好的參數啟動目標模型,并使用目標領域語料繼續訓練.Lee等[15]提出聯合訓練源領域模型和目標域模型,共享參數.Yang等[16]提出只對部分層的參數進行共享,同時將CRF層分別分配給源領域和目標域.但當前的大多數研究中都保持了單一源領域的設置,并未考慮全部能應用的標注數據集.Wang等[14]探索了多源領域自適應,參照多任務訓練的思路,將不同的領域考慮為不同的任務,為每個領域構建不同的線性層和CRF層,進行共同訓練.這種方法的問題是當領域過多時,會導致模型的復雜度大幅增加,增加訓練成本.
在分類任務中,針對多源跨領域方法的研究,已經取得了一定的進展,Li等[17]針對情感分類問題提出了特征級和分類器級兩種融合方法.Wu等[18]在分類任務中將分類器分解為公有部分和領域特有部分進行訓練.Chen等[19]基于先前的工作提出MAN(multinomial adversarial network)模型結構,利用領域鑒別器來提升領域的識別能力.與NER任務不同,分類任務的數據標簽在不同領域中也是相同的,而不同領域中的NER標簽可能存在很大的差異.針對這一問題,Wang等[14]將標簽類別統一為通用的人名、地名、組織機構名,但這樣做可能喪失對特定領域NER最重要的領域名詞的識別能力.
綜上所述,當前跨領域NER任務存在的主要問題:1) 采用單一源領域,未考慮可用的其他領域數據對目標領域模型存在的促進作用.2) 在多源跨領域NER中,沒有考慮到領域特定詞的識別.針對以上問題,本文中將NER標簽統一為人名、地名、組織機構名、領域名詞和其他實體5種類別,提出了MDAIW模型,通過領域層級和樣本層級的貢獻度參數評估樣本對目標領域的貢獻度.此外還引入了對抗訓練,提升模型效果.
本文提出一種MDAIW模型,并提出了一種兩階段領域自適應預訓練方法,兩階段領域自適應預訓練解決了目標領域的大規模數據依賴問題,以較小的資源成本實現了同樣的領域自適應效果.在MDAIW中,通過多個源領域來提升目標領域的模型效果,同時通過計算領域層級和樣本層級的貢獻度參數,并將其引入到NER模型中,來更進一步地提升領域自適應效果.本文模型在多個目標領域的實驗中都超越了對比方法,并可應用于低資源領域下的上游任務中來提升性能.在未來的工作中,將討論如何通過領域選擇最適應目標領域的多個源領域,希望能夠通過領域選擇,進一步提升領域適應效果.