ACL'21 | 弱标签的垃圾数据,也能变废为宝!
文 | LawsonAbs
編 | 小戲
是不是感覺 NER 領域效果提升太過困難?最近一篇來自 Amazon 的文章提出使用強弱標簽結合的方式來解決 NER 的問題。強弱標簽結合其實非常立足實際的數據情況——干凈又準確的強標簽數據非常稀少,更多的是標注質量存在問題的弱標簽垃圾數據。如果直接混在一起訓練,模型很可能就直接擬合到那些弱標簽數據上了(畢竟弱標簽數據的量更大....)。如何有效將垃圾數據變廢為寶就成為了一個很關鍵的問題。
盡管本文不是第一個提出使用強弱標簽數據結合的方式來解決 NER 問題,但論文實驗顯示在 E-commerce NER 和 Biomedical NER 上,該方法具有一定的效果。話不多說,讓我們進入這篇論文吧!
論文題目:
Named Entity Recognition with Small Strongly Labeled and Large Weakly Labeled Data
論文鏈接:
https://arxiv.org/pdf/2106.08977.pdf
文章在講什么?
現實世界的場景是:少量的強標簽數據(正確地人工標注數據)和大量的弱標簽數據。但是之前的模型訓練往往要么是基于大量的人工標簽數據(不現實&難以為繼),要么是使用大量的弱標簽數據(模型效果不好)。于是文章采取一種折中的辦法,使用少量的強標簽數據結合大量的弱標簽訓練模型。
因此,從實質上講,這篇文章所做的工作,就是采用少量的強標簽和大量的弱標簽數據聯合分階段訓練模型。在深入模型之前,由于論文中的變量涉及的較多,這里先給出下面會用到的變量解釋。
:人工標注的標簽
:弱標簽數據的標簽
:由模型預測得到的標簽
:根據 和 按照一定規則組合得到的補全(completed)數據的標簽
文章是怎么做的?
在進入文章的細節架構之前,我們首先看一下模型訓練的整個過程。
根據上圖,我們看到模型訓練主要分為三個階段:
在 Stage 1 中會使用無標簽數據進行預訓練;
在 Stage 2 中先用強標簽進行NER任務訓練;然后對弱標簽數據進行一個補全操作,再用補全后的弱標簽數據進一步訓練;
在 Stage 3 中使用強標簽數據進行微調
有了對模型整體的把握,讓我們分階段看各個階段分別做了什么。
Stage 1
首先,在 Stage 1 中,其核心操作是利用無標簽數據進行預訓練,預訓練的方式 MLM 。而模型從樸素 BERT 變成了 In-Domain BERT。
Stage 2
強標簽數據監督訓練
完成了 Stage 1 的無監督預訓練,從 Stage 2 開始就要進行真正的 NER 訓練了。做 NER 的模型結構是 Stage 1 中完成訓練的 In-Domain BERT 接上了一個隨機初始化的CRF。這個模型先用少量強標簽的NER數據監督訓練一下,得到 Initial BERT-CRF。接下來,我們就希望能夠用大量弱標注的垃圾數據來進一步提升效果。
弱標簽數據補全
弱標簽的 NER 數據往往標注質量較低,存在實體標注不完全的問題。例如,本文所采用的弱標簽數據是利用領域內知識將無標簽數據轉換而來的。為了提高這些弱標簽數據的質量,會先用上面得到的 Initial BERT-CRF 做一個 Weak Label Completion 操作。實際上就是用 Initial BERT-CRF 標注出來的實體補全弱標簽數據中大量未標注的部分,公式如下:
Noise-Aware 訓練
接下來,就要用這些補全后的弱標簽數據進一步訓練了。此處存在的問題是弱標簽數據存在噪聲,模型很容易就過擬合到這些噪聲上了。
為此,本文先對每個補全后的弱標簽數據 算一個置信度估計,也就是它們的弱標簽等于正確標簽 的概率:。這里的置信度生成是根據 Histogram Binning 來實現的,具體做法我們會在下一節細講。
然后在訓練時采用的損失函數,會基于這個置信度估計來計算。直觀來說,當我們對一個數據的置信度較高時,我們就希望這個損失函數更“激進”一些,模型擬合得更多一些;置信度較低時,則希望模型擬合得更“保守”一些。文中稱這個損失函數為 Noise-Aware Loss Function,其表達式如下:
看到這個復雜的表達式先別害怕,讓我們一點一點分析,這個函數的目的是計算 Corrected Weak Labels 和 The Model Prediction Score 之間的損失,這里面的 即第 m 個 Token 的 Golden Label,而 是一個指示函數,其含義是如果后面的這個表達式為真,則值為1,否則為0。
整個公式相當于是一個求期望的過程:
當 和 相等時,取 negative log-likelihood 作為損失:
當 和 不等時,取 negative log-unlikelihood 作為損失:
Stage 3
Stage 3 階段就比較清晰了,核心思想就是使用強標簽數據在 Pre-trained BERT-CRF 上監督訓練,得到最后的 BERT-CRF。
弱標簽置信度估計
這篇文章的一個亮點就是使用 置信度估計 設計一個損失函數,從而有效利用了弱標簽的數據。這個“置信度”衡量了弱標簽等于正確標簽 的概率:。其具體計算方式在論文的附錄A中給出。
由上一節可知,補全后的弱標簽 由兩部分組成,分別是原始的弱標簽 和 Initial BERT-CRF 補全的標簽 。所以 可以拆解成這兩部分的一個線性組合,也就是如下這樣:
其中 是全部實體標簽的數量,而 是原始弱標簽數據中標注出的實體數量。
在這個式子中,前面部分的 可以直接賦值為 1。因為原始的弱標簽都是通過領域規則轉換而來,可信度很高。
主要難點在于后面的 如何計算。這里作者采用模型校準(Model Calibration)時一種常用的置信度估計方式,叫了 Historgram Binning [1]。這個估計的步驟如下:
Step 1:分割出一個 Validation Set,用模型給這些樣本標注實體。注意到,這里模型標注結果是基于 Viterbi decoding 得到的,也就是:
根據模型給樣本的這個打分 ,我們把樣本分為不同的組別中,使得每個組別中的樣本屬于同一個得分區間。組別的置信度計算方式如下:
其中, 是該組別中樣本的個數, 是模型給出的預測概率。
下面這張直方圖就展示了置信度-解碼得分之間的關系:
Step 2:在測試時,根據模型的解碼打分找到對應的組別。該樣本的將被估計為對應組別的置信度。這里的 0.95 是一個人為設置的平滑操作,使得對補全的弱標簽置信度估計趨于保守。
實驗
在兩種不同領域內進行了模型效果的檢測,分別是:E-commerce query domain 和 Biomedical domain。(這兩個領域感覺就是這段時間NER模型的主戰場了┭┮﹏┭┮,主要是因為這些領域的實體與其它領域的有所不同,所以就需要與之前不同的模型來解決這個問題。)由于E-commerce Multilingual Query NER 和 Biomedical NER 的實驗方法大抵相同,下面我們就主要介紹模型在 E-commerce query NER 上的效果。
數據集
作者對實驗中使用到的數據進行了一個統計,如下所示:
可以看到,僅僅使用weak label時,模型效果不佳,尤其是在recall上的表現,只有不到50。
基線系統與主要結果
同NEEDLE模型比較的幾個基線系統如下所示:
Supervised Learning Baseline:直接在強標簽數據上微調預訓練模型
Semi-supervised self-training:使用監督學習得到模型,然后根據這個模型預測得到偽標簽進行半監督學習(Wangt et al., 2020; Du et al., 2021)
Mean-Teacher and VAT:半監督模型的基線系統
Weakly supervised learning(WSL):簡單的將強標簽數據和弱標簽數據結合的方法(Mannn and McCallum,2010)
Weighted WSL:同樣是WSL方法,但是在弱標簽損失中添加了一個固定值作為權重,從而計算損失。
Robust WSL:使用均方誤差作為損失的WSL方法,這樣會對label noise 魯棒(Ghosh et al.,2017)。
Partial WSL:在WSL的基礎上,訓練模型時丟棄非實體的弱標簽
BOND:一種用于弱監督訓練的自訓練框架(Liang et al., 2020)。上述這些系統在這里不再詳細介紹了,更加細致的信息可以參考文中的鏈接查看提出的論文。
本文提出的方法 NEEDLE,和上述基準模型在 E-commerce 上的實驗結果如下所示??梢钥吹?#xff0c;NEEDLE 取得了SOTA的效果。
消融實驗
消融實驗無非就是對模型各個組件有效性的檢測。使用如下縮寫表示模型中的各個組件:
WLC: weak label completion
NAL: noise-aware function
FT: final Fine-Tuning 實驗效果如下:
可以看出,所有的模塊都是有作用的,并且有一定的互補作用。
分析
基于強弱標簽數據,本文提出了一種較好的模型來有效地結合二者,但是還未對兩種類型數據的“量”上進行分析,所以論文最后在“量”上分析兩種數據對模型的影響,結果如下:
弱標簽數據的大小對 NEEDLE 模型的影響?實驗結果見下圖:可以很明顯的觀察到,與SST和BaseLine 相比,NEEDLE模型性能隨著 Weakly Labled Data 的大小增而提高。
兩輪Stage II訓練 NEEDLE模型中僅包含一個Stage II,現在的假設是使用兩輪的Stage II會對實驗有影響嗎?實驗結果是上圖中的最后一個小點點,其對應的橫坐標是Stage II x2。實驗結果表明:三個模型在應用兩輪的Stage II 訓練時,模型效果都有輕微的上升。
分析強標簽數據的大小對模型效果的影響?實驗結果如下:這個很明顯的兩個特征就是:(1)在強標簽數據比較少時NEEDLE模型效果比BaseLine 要好2+個點;(2)但是在達到相同的效果的時候,NEEDLE需要的強標簽數據大概只是BaseLine系統的1/3。
個人感受
基于強弱標簽數據結合的方式,利用多階段訓練出一個更優的模型。每個不同的階段利用不同類型的標簽數據(斗膽猜測一下:這個模型可能是作者實習時做的一個工程項目,然后抽象化之后投出來的一篇文章,因為怎么看都覺得這篇文章的工程屬性更強)
最后再總結一下本文值得借鑒的幾個地方:
學習利用 Historgram Binning 進行置信度評測的方法。這種方法在模型校正上很有用處。
立足實際問題,提出一個工程上有效的模型,再把該模型抽象化,就是一篇完美的 Paper 啦,這樣還怕中不了 ACL 嗎?
后臺回復關鍵詞【入群】
加入賣萌屋NLP/IR/Rec與求職討論群
后臺回復關鍵詞【頂會】
獲取ACL、CIKM等各大頂會論文集!
?
[1] Zadrozny В., Elkan C. Obtaining ?calibrated ?probability ?estimates ?from ?decision ?trees ?and naive bayesian classifiers. In ICML, pp. 609–616, 2001.
總結
以上是生活随笔為你收集整理的ACL'21 | 弱标签的垃圾数据,也能变废为宝!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 谈谈NLP下一个主战场:万亿参数的预训练
- 下一篇: CS 期刊哪家强?CCF 发布最新期刊分