paddle&蜜度 文本智能較對大賽經驗分享(17/685)

引言我之前參加了一個中文文本智能校對大賽 , 拿了17名,雖然沒什么獎金但好歹也是自己solo拿的第一個比較好的名次吧,期間也學到了一些BERT應用的新視角和新的預訓練方法,感覺還挺有趣的,所以在這里記錄一下這期間學到的知識 , 分享一下自己的比賽過程 。這個賽題任務大概就是,選擇網絡文本作為輸入,從中檢測并糾正錯誤,實現中文文本校對系統 。即給定一段文本 , 校對系統從中檢測出錯誤字詞、錯誤類型,并進行糾正 。
任務定義系統/模型的輸入為原始序列\(X=(x1,x2,..,xn)\),輸出為糾錯后的序列 \(Y=(y1,y2,..,ym)\)X可能已經是完全正確的序列,所以X可能與Y相同 。系統/模型需要支持多種粒度的序列,包括:字詞、短語、句子、短文 。
中文錯誤類型一般包含三種,從字詞到語義錯誤,難度依次遞增

paddle&蜜度 文本智能較對大賽經驗分享(17/685)

文章插圖
Soft-Masked BERT (ACL2020,字節跳動)論文:Spelling Error Correction with Soft-Masked BERT
注意該模型只能處理輸入序列和輸出序列等長度的糾錯場景!
paddle&蜜度 文本智能較對大賽經驗分享(17/685)

文章插圖
模型簡介:整個模型包括檢錯網絡和改錯網路:
  • 檢錯網絡是一個簡單的Bi-GRU+MLP的網絡,輸出每個token是錯字的概率
  • 改錯網絡是BERT模型 , 創新點在于 , BERT的輸入是原始Token的embbeding和 [MASK]的embbeding的加權平均值,權重就是檢錯網絡的概率 , 這也就是所謂的Soft-MASK , 即 \(ei=pi?e_{mask}+(1?p_i)?e_i\)。極端情況下,如果檢錯網絡輸出的錯誤概率是1,那么BERT的輸入就是MASK的embedding,如果輸出的錯誤概率是0 , 那么BERT的輸入就是原始Token的embedding 。
在訓練方式上采用Multi-Task Learning的方式進行,\(L=λ·L_c+(1?λ)·L_d\),這里λ取值為0.8最佳 , 即更側重于改錯網絡(Lc means correction)的學習 。
模型結果:
paddle&蜜度 文本智能較對大賽經驗分享(17/685)

文章插圖
該結果是句子級別的評價結果,Soft-MASK BERT在兩個數據集上均達到了新的SOTA,相比僅使用BERT在F1上有2-3%的提升 。
該模型處理錯誤的情況,主要有以下缺點,模型沒有推理能力不能處理邏輯錯誤(語義錯誤),模型缺乏世界知識不能處理知識錯誤(地名等)
用MLM-phonetics糾錯2021ACL中文文本糾錯論文:Correcting Chinese Spelling Errors with Phonetic Pre-training 論文筆記 - 知乎 (zhihu.com)
論文地址: paper
作者在論文中對比了MLM-base和MLM-phonetics的差異:
  1. MLM-base 遮蓋了15%的詞進行預測, MLM-phonetics 遮蓋了20%的詞進行預測 。
  2. MLM-base 的遮蓋策略基于以下3種:[MASK]標記替換(

      推薦閱讀