NER模型的訓練依賴於有標記的數據,有標記數據的質量會決定NER模型最終的表現。但很多領域的標記數據較少,成爲了NER任務的瓶頸。現存的很多方法,都會充分利用源領域和目標領域的標記數據進行監督學習。然而這種方法的缺點就在於,目標領域必須要有標記數據纔可以訓練。而這篇文章使用跨領域的語言模型(cross-domain LM)作爲跨域訓練NER的橋連,並設計了一種新穎的參數生成網絡。結果表明,該方法有效地抽取出了跨領域的語言模型的差異,允許該網絡在沒有標記數據的情況下無監督地完成NER任務。該方法還可以在有監督的情況下達到現有NER任務的state-of-the-art結果。
- 論文地址:https://www.aclweb.org/anthology/P19-1236.pdf
- 論文代碼:https://github.com/jiachenwestlake/Cross-Domain_NER
引言
無論是進行多任務學習,還是進行預訓練,Language Model任務都已被證實是有助於NER任務的。究其原因,是因爲在LM訓練過程中可以捕獲名詞的實體以及上下文的句式,而這些信息都對NER任務有所助益。所以,我們自然會問——同領域的LM任務對NER是有幫助的,但跨領域的LM訓練是否會對跨領域的NER仍然有用呢?圖1爲一個圖例,其中新聞領域的有標記數據量較大,但目標領域中沒有標記數據或只有少量標記數據。我們感興趣的是,使用新聞領域和目標領域大量未標記數據進行LM的無監督訓練,將新聞領域的NER知識遷移到目標領域中去。
圖1 模型圖
如圖1,這幅圖簡單介紹了本文的思想——我們可以沿紅線的方向來達到我們跨領域遷移學習的目的——首先,是在同一領域(源領域)的跨任務遷移;其次,是同一任務(LM任務)下的跨領域知識遷移,最後,再進行一次同領域的跨任務遷移。爲了達成這個目標,我們引進一個參數生成網絡 ,其中包含了三部分內容——一個可變參數組W,一組task-embedding向量 ,還有一組domain-embedding向量 。而領域和任務之間的相關度就可以通過這兩個向量進行計算。
本文作者提到了本工作的兩個“first”:本文首次使用跨領域的LM訓練來無監督地進行NER跨領域學習;本文也是首次實現了,在兩個實體類別完全不相同的NER領域之間進行遷移學習(對本文而言,是從新聞領域到醫療領域)。
相關工作
常見的NER架構
常見的NER架構分別有word-CNN+CRF、LSTM+softmax、char-CNN+CRF以及Bi-LSTM+CRF。本文采用的是Bi-LSTM+CRF。
跨領域的NER任務
處理跨領域的NER任務,監督學習(意味着必須在源領域和目標領域都有足量的標記數據)主要有兩種方案——特徵轉移方案和參數轉移方案:
- 特徵轉移的幾種方案:
- 建立源領域和目標領域的實體標籤空間之間的聯繫;
- 將標籤進行embedding作爲特徵,而不是將實體本身作爲特徵,輸入NER模型;
- 通過Bi-LSTM,基於文本的表示學習,將含有標籤知識的表示作爲特徵加入跨領域的NER模型中
- 參數轉移的幾種方案:(其本質都是將源領域的參數輸入目標領域的模型作爲初始化,然後利用目標領域的標記數據進行fine-tune)
- 將目標領域和源領域的NER模型放在一起訓練,共享參數;
- 在已有的網絡(源領域NER模型)上加一層“自適應層(adaptation layer)”,融入目標領域學到的知識;
本文解決跨領域NER任務的思路:本文與之前的模型一樣,都使用了相關領域的NER數據,但本文還使用了大量無標記數據,這使得本文所提的模型可以進行無監督的0樣本學習。
學習task-embedding向量
在多任務學習中,已有一些工作使用task向量來擴充詞向量的輸入。但本文是通過task-embedding和domain-embedding向量來學習並生成特定的參數,而不是將它們直接作爲特徵輸入模型。本文這樣做的主要動機,是想要探究出跨領域或跨任務的、可遷移的模塊化知識。該靈感源自於多語言機器翻譯Platanios et al. (2018)
方法
圖2 模型架構
如圖2,本文模型主要由以下幾部分組成——最底層爲輸入層,是本任務所使用的數據,它又被不同的領域和不同的任務分割爲4部分;其次是共享的embedding層,四部分數據形成模式相同的詞表示;再次則是Bi-LSTM層,抽取來自詞表示層的信息,其參數由參數生成器提供;最頂部是輸出層,不同的任務分別對應CRF層或負採樣softmax層。
輸入層
輸入層由4部分數據組成,分別是兩個領域的NER標記數據 、 ,以及兩個領域的用於LM訓練的無標記數據 、 (m,n,p,q分別爲各數據集的樣本量)。對於每個詞,將其word-embedding和經過CNN處理過的char-embedding拼接起來,就得到了每個詞的詞表示法,具體公式如下:
參數生成網絡
某一特定領域的特定任務的Bi-LSTM參數表示爲 ,它可以被表示爲:
其中,三個組分的維度分別是 , 。這個式子的含義,即,相對於某一領域特定任務的Bi-LSTM的參數 ,是可以分解爲以下三部分、並由以下三部分決定的,它們分別是——特定的task-embedding、特定的domain-embedding,以及針對特定任務和領域知識的一套特定的可變參數W。
而在給定了Bi-LSTM參數 ,以及詞表示向量v(v=[v1,v2,...,vn])的情況下,每個Bi-LSTM的正反兩方向的隱狀態就可表示爲:
輸出層
NER任務的輸出層是CRF。在給定隱狀態h的情況下,假設標籤序列有 ,則對應的每個標籤的輸出概率可以用以下公式計算:
考慮到不同領域的實體標籤很可能有區別,所以這裏模型採取了兩套參數不同的CRF層,分別是CRF(S)和CRF(T)。
LM任務的輸出層本應是softmax層,但爲了降低計算複雜度,本文在這裏採用了負採樣softmax,具體公式不再贅述,詳情可見(Mikolov et al., 2013)。
訓練的目標函數
對於NER任務而言,在給定標籤集合 的情況下,句子層面的負對數似然損失函數爲:
對於LM任務而言,在給定無標記數據集 的情況下,負採樣softmax的損失函數爲:
其中,負樣本即按照詞頻採集自無標記數據集
最終,我們將NER任務和LM任務的損失函數放在一起,得到最終的目標函數
多任務學習的具體流程
如算法流程所示,圖中帶*的,說明該數據可以爲空;若當該數據爲空時,進行的就是非監督遷移學習。
這個多任務學習流程具體分爲4部分,它們分別是4個不同領域的不同任務,分別是4-5行,
7-8行,11-12行與15-16行,其中進行非監督學習時15-16行跳過。在每個訓練步驟的最後,參數生成器所需的W, ,以及各自任務輸出層的參數一同更新。
實驗結果
數據描述
源領域的NER數據來自 CoNLL-2003,源領域的LM任務數據使用來自路透社的377592條句子。目標領域的數據來自三部分:生物醫藥領域的 BioNLP13PC(13PC) 和 BioNLP13CG(13CG) 還有一份自己收集標註的科技領域的數據集。
超參數設定
本文的超參數實驗是在NCRF++基礎上進行的,有些參數有改動: batch size變爲 30;單任務使用學習率爲 0.001 的 RMSprop 優化器,多任務模型使用學習率爲 0.015 的 SGD 優化器。領域向量和任務向量維度均爲8。詞向量使用預訓練的 100 維 GloVe 向量,然後在訓練過程中會進行fine-tune,字符向量是隨機初始化的。
實驗結果
圖3 學習曲線
如圖所示,爲本模型和其他模型在數據集BioNLP13CG(13CG)上的表現,橫座標爲迭代次數,縱座標爲F1-score。圖中幾條曲線的含義如下:
- STM-Target:使用使用目標領域(13CG)的有標記數據集直接訓練的NER模型;
- FineTune:使用源領域(CoNLL)有標記的數據集訓練NER模型,再用目標領域(13CG)的數據進行fine-tuning;
- MultiTask:使用源領域的NER標註數據與目標領域的NER數據一起訓練NER模型,訓練方式取決於源領域和目標領域數據集的標籤集合是否能相互映射(若可以相互映射,則共享全部模型,最終在最頂層加上不同的標籤映射層,將相同的CRF輸出映射成不同的標籤;若無法相互映射,則共享除了CRF層以外的所有底層模型和參數,最後兩個CRF層分別單獨進行標籤預測);
- STM+ELMo:與STM-Target的唯一差別在於,將word-embedding從Glove換成ELMo,作者認爲這是一種不同於Fine-tuning和MultiTask的遷移學習方式。
從圖中結果可見,所有的遷移學習方案都比STM-Target的表現好,這說明源領域的數據的確是對NER結果有好處的;而本文的模型同時使用了源領域的標記數據與目標領域的無標記數據,始終在圖中給出了最佳的F1-score表現。
圖4 在數據集13PC和13CG上的F1-score表現
如圖4,爲在數據集13PC和13CG上的F1-score表現。本次實驗,是要檢測從數據集CoNLL遷移至13PC和13CG數據集上之後的NER任務的表現。
首先,與其他監督學習的遷移學習方案相比(STM-Target、FineTune、MultiTask(NER)、STM+ELMo),本文模型是要優於已有的方案的。需要注意的是FineTune方法,其結果並不是總比不引入其他領域數據的STM-Tartget結果更好。這表明,在沒有引入domain-embedding向量時,領域之間數據集的差異可能反而會使模型效果變差,即類似於“邯鄲學步”;
對於多任務學習的方案(MultiTask(NER+LM)),具體的訓練方案源自於Collobert and Weston, 2008——將多領域的LM和NER共4個單獨的任務一同訓練且共享參數,得到的結果遠低於其他baseline模型。這也說明了跨領域和跨任務的挑戰,尤其是在面對風格迥異以及包含相互衝突的信息的時候;
圖5 消融實驗示意圖
如上圖5所示,我們還在本模型的現有基礎上進行了消融實驗(Ablation experiments)。其中Co-LM,代表不引入源領域數據,即使用本文模型進行一個純粹的跨任務學習(LM -> NER);Co-NER,則是刪除了LM任務,只用本文模型進行跨領域的NER知識遷移任務(新聞領域 -> 醫療領域);對於Mix-Data,代表在原領域和目標領域使用了相同的數據。從圖4可見,我們的模型超越了以上二者,說明我們的模型學習到了領域和任務之間的差別,幫助了NER任務進行提升。
最後,與現有的state-of-the-art結果(Crichton et al., 2017)相比,sota結果使用了協同學習的序列標註手段。本文得到的結果在該數據集中,是現有文獻報道中最佳的。
如圖所示,當目標領域的NER標記數據數量是0時,本文的遷移學習就變成了一個無監督任務,從圖中可見,隨着NER標記數量的增加,結果也會不斷上升。但在同樣無監督的情況下,本文的方法F1-score上領先達到20.5%(但也可見成績其實也只有0.6)當標記數據量達到3000句時,本文方法仍然從LM的遷移學習中得到了額外的3.3%的F1-score收益
如圖所示,在與單任務模型(STM-TARGET),微調模型(FINE-TUNE)以及多任務學習模型(MultiTask,具體訓練方式取決於目標領域和源領域的標籤之間是否可以互相映射,具體參照於Yang et al. 2017)的對比下,我們可以清晰看出,本文的方法可以使得NER在每個實體類別上的F1-score上都是最佳的。
總結
文章通過未標註文本抽取領域知識來完成 NER 領域自適應任務。通過參數生成網絡跨領域語言建模,分別得到任務向量和領域向量。實驗表明,有監督時,這種領域適應方法十分有效,在無監督時,也能取得一定效果。