基於序列標註模型的主動學習實踐

語言: CN / TW / HK

我們來自位元組跳動飛書商業應用研發部(Lark Business Applications),目前我們在北京、深圳、上海、武漢、杭州、成都、廣州、三亞都設立了辦公區域。我們關注的產品領域主要在企業經驗管理軟體上,包括飛書 OKR、飛書績效、飛書招聘、飛書人事等 HCM 領域系統,也包括飛書審批、OA、法務、財務、採購、差旅與報銷等系統。歡迎各位加入我們。

本文作者:飛書商業應用研發部 陽雲

歡迎大家關注飛書技術,每週定期更新飛書技術團隊技術乾貨內容,想看什麼內容,歡迎大家評論區留言~

背景

模型訓練的一大難點是資料標註,一般是靠標註大規模資料來提升模型效果,但相應的會消耗大量人力和時間成本,因此一些縮減標註資料規模但不減模型效果的方法應運而生,通過主動學習挑選訓練樣本就是其中比較熱門的方法。

主動學習(Active Learning)通過設計合理的樣本挑選策略,不斷從未標註的資料中挑選出優質資料加入標註後放入訓練集。簡單來說,主動學習的思想是通過模型自己選擇對模型貢獻最大的樣本作為訓練語料,以達到有效地降低標註成本的同時迅速提高模型的識別能力。

樣本選擇的原則是優先選擇對模型“資訊量大”的樣本,在通常情況下,資訊量大被詮釋為不確定性較高和多樣性高。

基於不確定性:從模型預測結果來看,挑選模型預測不準的,即當前模型較難解決的部分樣本。

基於多樣性:從樣本間相似性來看,從未標註樣本中挑選與已標註樣本差異大的,覆蓋問題資訊比較多的樣本。

策略介紹

如果挑選樣本,有很多策略,這裡主要介紹目前幾種主流的策略。

下面都是基於序列標註模型介紹,樣本的每個文字都會預測輸出多個標籤,每個標籤有一個概率值(可以理解成預測為該標籤的置信度)

1 NLC-每字最高分的平均值

基於置信度-平均分(NLC)

公式:

y*表示字串x的最大概率的標籤

策略:取每個字預測最高分的平均值作為篩選分

優劣勢:該方法是基礎策略,簡單實用,但效果不是很好

2 去掉高分後平均值

基於置信度-平均分(去掉高分)

策略:考慮到一般大部分字的預測分數很高,只有重點個別字分數較低,按第一種策略平均後容易導致整體分數較高,看不出個別字差的問題,因此捨棄高分字後再按第一種策略篩選

優劣勢:效果並沒有明顯改善

3 MNLP-最高分取log後的平均值

基於置信度-平均分(MNLP)

Maximum Normalized Log-Probability (MNLP)

公式:

策略:相比第一種策略,對預測分取了log,變化不大

優劣勢:效果並沒有明顯改善

4 每字資訊熵的平均值

基於置信度-平均分(entropy)

ŷ是x所有可能的標籤

策略:每個字按上面公式計算資訊熵,一個樣本再取每個字資訊熵的平均值作為篩選分

優劣勢:利用到的資訊更多,計算更全面,但效果還是沒有明顯改善

5 LTP-每字最高分中的最低分

基於置信度-最低分(LTP)

Lowest Token Probability(LTP)

2020年最新選取策略 https://arxiv.org/pdf/2001.02524.pdf

公式:

y*表示字串x的最大概率的標籤

策略:假設句子中每個字都該有極高的預測分,置信度取決於句子預測分最低的字,取最大概率序列中概率最小值

優劣勢:比平均分割槽分度更高,實際效果好不少

6 LTP + 未登陸實體概率

基於置信度+多樣性:LTP+unknown entity

公式:

LTP是指前面的策略5,e1 和 e2 是權重,實驗中分別取 0.95、0.05 ,P(x)=未出現實體數/N (未出現實體數上限值取N,N在實驗中取值10)

策略:考慮到NER實際應用中多數預測錯誤是訓練語料中未出現實體,因此這裡將置信度和多樣性結合用

優劣勢:考慮了更多特徵,效果更好,但不夠明顯,劣勢是策略更加複雜

7 其他策略

其他策略相比最優策略沒有提升,這裡就沒有做更深入的實驗:由LTP衍生來的取最小的兩個(三個)概率值平均,LTP+基於分詞的詞相似性,最大概率值,第二小的概率值

實驗

通過實驗評估上述策略的優劣

實驗準備

用線下資料做模擬實驗,將已標註的資料劃分為labeled set和unlabeled set

對比從unlabeled set隨機選取資料去打標和active learning選取資料去打標的效果,起始 labeled set佔總樣本的 5%,unlabeled set 佔總樣本的95%

  • 隨機選取:從unlabeled set隨機選取資料,labeled set逐漸增加到5%,10%,15%,20%,30%,......100%
  • active learning:用 labeled set訓練模型,最初labeled set採用跟隨機選取的5%一致的資料,訓練出的模型通過active learning策略從unlabeled set選取5%資料加入labeled set,得到10%的訓練資料,重新訓練,再從unlabeled set選取資料加入labeled set,重複該過程到labeled set為100%資料
  • 實驗模型:基於3層bert的ner模型
  • 測試指標:F1
  • 資料:公開資料集msra (train資料49000+dev資料1658,測試資料4631)

實驗資料

| rate | count | 隨機 | 策略1 | 策略2 | 策略3 | 策略4 | 策略5 | 策略6 | | ---- | ----- | ------ | ------ | ------ | ------ | ------ | ------ | ------ | | 5% | 2500 | 70.14% | - | - | - | - | - | - | | 10% | 5000 | 76.68% | 84.88% | 82.00% | 84.92% | 84.59% | 86.65% | 86.73% | | 15% | 7500 | 79.79% | 88.08% | 87.12% | 87.84% | 87.81% | 88.60% | 89.02% | | 20% | 10000 | 83.79% | 88.93% | 88.36% | 89.50% | 89.72% | 89.90% | 89.89% | | 25% | 12500 | 85.26% | 90.08% | 89.73% | 89.71% | 89.90% | 90.08% | 90.36% | | 30% | 15000 | 86.78% | 90.51% | 90.48% | 89.96% | 90.20% | 90.77% | 90.45% | | 40% | 20000 | 88.23% | 90.87% | 90.57% | 90.52% | 90.57% | 90.70% | 90.16% | | 50% | 25000 | 88.55% | 90.64% | 90.04% | 90.56% | 90.74% | 90.55% | 90.21% | | 60% | 30000 | 88.89% | 90.68% | 90.30% | 90.65% | 90.59% | 90.56% | 90.46% | | 70% | 35000 | 88.39% | 90.21% | 90.21% | 90.24% | 90.21% | 90.41% | 90.24% | | 80% | 40000 | 89.12% | 89.66% | 90.11% | 89.58% | 89.97% | 90.11% | 89.62% | | 90% | 45000 | 89.08% | 89.63% | 90.15% | 89.69% | 89.99% | 90.34% | 89.66% | | 100% | 49000 | 89.33% | - | - | - | - | - | - |

實驗分析

  • 到30%資料時,策略5、6達到指標高峰
  • 整體來看,策略5和6是第一梯隊,策略6相比5稍好,說明基於未登入詞的多樣性對提升效果是有效的
  • 策略5,效果比前四種句子平均分明顯好不少,原因是平均分掩蓋句子區域性問題,大部分句子只是個別區域性存在資訊增益
  • 策略1和3、4是第二梯隊,效果差別極小,原因是這三種策略整體都是取平均分,差別僅在於每個字的得分計算公式不一樣
  • 策略2相比策略1,剔除高分,並沒有帶來收益,反而效果差點,原因是高分也是有差別的,剔除高分等於少了一項判斷句子有效性的因子
  • 策略高峰指標比全量資料指標還高,原因主要是受訓練步數影響,這裡為了加快評測速度統一用了1萬步,實際3萬步更合適,資料多了,就會受步數少訓練不充分的影響,30%時資料較少,受步數影響較小,而策略用了最優質資料,因此反而比全量資料時指標還高

實驗結論

採用策略6,效果最佳,但相比策略5提升不明顯,考慮到實際應用複雜度,一般選擇用策略5即可,策略5、6都能做到只用30%資料達到全量資料效果

實驗總結

  • 採用合適的主動學習能大幅降低標註成本的同時迅速提高模型效果(上面實驗只用了30%資料)
  • 主動學習效率提升程度取決於選擇的策略,因此需要結合具體的模型選擇合適的策略,目前序列標註比較適合策略5/6,但不代表其他型別的模型也是這樣
  • 基於目前最優策略結合多樣性可探索更優策略,但需權衡複雜性和提升幅度,最好的不一定是最實用的,需結合自己使用場景考慮

參考


加入我們

掃碼發現職位 & 投遞簡歷:

image.png

官網投遞:job.toutiao.com/s/FyL7DRg