万能的BERT连文本纠错也不放过
一只小狐貍帶你解鎖煉丹術&NLP秘籍
作者:孫樹兵
學校:河北科技大學
方向:QA/NLU/信息抽取
編輯:小軼
背景
文本糾錯(Spelling Error Correction)技術常用于文本的預處理階段。在搜索引擎、輸入法和 OCR 中有著廣泛的應用。2020年的文本糾錯自然也離不開 BERT 的表演。但原生的 BERT 在一些NLP任務如error detection、NER中表現欠佳,說明預訓練階段的學習目標中對相關模式的捕獲非常有限,需要根據任務進行一定改造。在文本糾錯任務中亦是如此。
此前文本糾錯的SOTA方法采用了基于 Bert 的 seq2seq 結構,直接生成糾錯后的字符序列。但是經觀察發現,這樣的方法總是傾向于不進行任何糾錯,錯誤檢測能力很低。一種可能的解釋是 Bert 在預訓練時只掩碼了15%的字符,所以并不能夠充分學習所有字符的上下文。
為了提高錯誤檢測能力,本文在SOTA方法的基礎上又添加了一個錯誤檢測網絡。分錯誤檢測和糾正兩步走。先檢測每一個字的錯誤概率,然后根據檢測結果將可能的錯別字 soft-mask,其實就是錯誤概率:( 滑動查看完整公式 )
原字符的
再輸給基于Bert的修正網絡。這樣就強制修正網絡學習了錯別字的上下文。下面將詳細為大家介紹模型的實現細節。
論文鏈接:https://arxiv.org/pdf/2005.07421.pdf
Arxiv訪問慢的小伙伴也可以在訂閱號后臺回復關鍵詞【0610】下載論文PDF。
模型結構
本文提出的 Soft-Masked Bert 模型可分為三個部分:
檢測網絡采用 Bi-GRU 預測字符在每個位置出現錯誤的概率。
用錯誤概率對 input embedding 做 soft-mask。soft-mask 是傳統 hard-mask 的延伸。當錯誤概率等于1時,前者退化為后者。
修正網絡為原文中每個位置挑選替換字。實現過程與單純使用BERT的SOTA方法相似。
檢測網絡
檢測網絡是一個二分類的序列標注模型。模型的輸入是character embedding序列。其中? 表示字符? 的 character embedding(即word embedding, position embedding 和 segment embedding 的總和)。輸出是標簽序列?。 為第 i 個字符的標簽,等于 1 表示字符錯誤,0 表示正確。我們記? 為? 等于 1 的概率。
本文采用雙向 GRU(Bi-GRU) 實現檢測網絡。字符錯誤概率? 可以定義為
其中, 表示檢測網絡給出的條件概率, 是 sigmoid 函數, 為 Bi-GRU 的隱狀態,? 和? 是參數。隱狀態可以定義為:
Soft-Mask
soft-masked embedding 為 input embedding 和 mask embedding 的加權和。權重由該字符的錯誤概率得到。第i個字符的 soft-masked embedding 可形式化地定義為:
是 input embedding, 是 mask embedding。如果錯誤概率很高,則? 接近?。
修正網絡
修正網絡是一個基于 Bert 的多類別序列標注模型。輸入為 soft-masked embedding 序列? ,輸出為替換字符序列? 。
BERT 由12個相同的 block 組成。每個 block 包含一次 multi-head self-attention 操作和一個前饋神經網絡。我們將BERT最后一層的隱狀態序列記為?。則給定待糾錯的字符序列?,字符? 被替換為候選字符表中第? 個字符的條件概率為
其中, 和? 為參數; 是?和 Bert 最后一層隱狀態? 通過殘差連接后得到的,即?。校正網絡的最后一層采用 softmax 函數,從候選字符列表中選擇概率最大的字符作為字符作為輸出。
訓練過程
Soft-masked BERT 的訓練是 Seq2seq 進行的。訓練目標包括錯誤檢測和錯誤糾正兩部分,其目標函數分別為:
總目標函數為兩者的線性組合:。其中。
實驗結果
在 SIGHAN 和 News Title 兩個數據集上進行了實驗。本文的 Soft-Masked BERT方法在兩個數據集上基本都取得了最好結果。
總結
本文提出了一種新的神經網絡結構Soft-masked Bert,實現中文文本糾錯。該結構包含錯誤檢測和修正兩個部分。通過Soft-mask技術將檢測結果編碼到修正網絡。實驗結果表明該方法的性能優于單純使用Bert的基線模型。并且這一方法具有較強的普適性,也可用于其他語言的糾錯任務。
本文收錄于原創專輯:《賣萌屋@自然語言處理》
重磅驚喜:賣萌屋小可愛們苦心經營的?自然語言處理討論群?成立三群啦!掃描下方二維碼,后臺回復「入群」即可加入。眾多頂會審稿人、大廠研究員、知乎大V以及美麗小姐姐(劃掉?????♀?)等你來撩噢~(手慢無
可
能
喜
歡
告別自注意力,谷歌為Transformer打造新內核Synthesizer
NLP中的少樣本困境問題探究
ACL20 | 讓笨重的BERT問答匹配模型變快!
7款優秀Vim插件幫你打造完美IDE
賣萌屋原創專輯首發,算法鎮魂三部曲!
GPT-3誕生,Finetune也不再必要了!NLP領域又一核彈!
夕小瑤的賣萌屋
_
關注&星標小夕,帶你解鎖AI秘籍
訂閱號主頁下方「撩一下」有驚喜哦
總結
以上是生活随笔為你收集整理的万能的BERT连文本纠错也不放过的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 后BERT时代:15个预训练模型对比分析
- 下一篇: Bert在CV领域的应用