愛奇藝發(fā)布FASPell:最強(qiáng)簡繁中文拼寫檢查工具
本文介紹了愛奇藝被EMNLP workshop "The 5th Workshop on Noisy User-generated Text (W-NUT)"接收的一篇論文。
論文:FASPell: A Fast, Adaptable, Simple, Powerful Chinese Spell Checker Based On DAE-Decoder Paradigm
項(xiàng)目鏈接:https://github.com/iqiyi/FASPell
自1990年代初期開展了一些開拓性工作以來,關(guān)于檢測和糾正中文文本中的拼寫錯(cuò)誤的研究已過很長時(shí)間。然而,盡管在大多數(shù)研究中拼寫錯(cuò)誤已被簡化為替換錯(cuò)誤以及最近多個(gè)公開任務(wù)的努力,中文拼寫檢查仍然是一項(xiàng)困難的任務(wù)。
而且,英語等類似語言的方法幾乎不能直接用于中文,因?yàn)橹形膯卧~之間沒有定界符,且單詞缺乏形態(tài)上的變化,使得任何漢字的句法和語義解釋都高度依賴其上下文。
幾乎所有以前的中文拼寫檢查模型都部署了一個(gè)通用范式,其中將每個(gè)漢字的固定的相似字符集(稱為困惑集或混淆集)用作候選項(xiàng),然后用一個(gè)過濾器選擇最佳候選項(xiàng)作為待糾錯(cuò)句子中的替換字符。
這種樸素的設(shè)計(jì)面臨兩個(gè)主要瓶頸,而其負(fù)面影響未能在過去的提出的方案中得到緩解:
一是在稀缺的中文拼寫檢查數(shù)據(jù)上的過擬合問題。
由于中文拼寫檢查數(shù)據(jù)需要乏味繁冗的專業(yè)人力工作,因?yàn)橐恢辟Y源不足。為了防止模型的過擬合,Wang等人(2018)提出了一種自動(dòng)方法來生成偽拼寫檢查數(shù)據(jù)。 但是,當(dāng)生成的數(shù)據(jù)達(dá)到40k句子時(shí),其拼寫檢查模型的精度不再提高。
Zhao等人(2017)使用了大量的語言學(xué)規(guī)則來過濾候選項(xiàng),但結(jié)果卻比我們的表現(xiàn)差,盡管我們的模型沒有利用任何語言學(xué)知識。
二是困惑集的使用所帶來的漢字字符相似度利用上的不靈活性和不充分性問題。
困惑集因?yàn)槭枪潭ǖ?,因此并非在任何語境、場景下都能包含正確候選項(xiàng)(一個(gè)比較極端的例子是,如果困惑集按照繁體中文制定,那么繁體中文的 “體”和“休”肯定不在困惑集的同一組相似字符中,但是在簡體中文中對應(yīng)的“體”和“休”缺是相似字符,如果錯(cuò)誤文本中是把“休”寫成了“體”,那么繁體中文困惑集下就無法檢出,必須專門再制定一個(gè)簡體困惑集才可以),這會(huì)極大降低檢測的召回率(不靈活性問題)。
另外,困惑集中的字符的相似性的信息有損失,沒有得到充分利用,因?yàn)橐粋€(gè)字符在困惑集中相似字符是無差別對待的,然而事實(shí)上每兩個(gè)字符間的相似度明顯是有差別的,因此會(huì)影響檢測的精確率(不充分性)。
Zhang等人 (2015)提出了考慮了很多并沒有字符相似度重要的特征(例如分詞)來彌補(bǔ)字符相似度利用上的不充分性,但這會(huì)為其模型添加更多不必要的噪音。
論文概述:
論文提出一個(gè)基于新范式的中文拼寫檢查器– FASPell。新的范式包括去噪自動(dòng)編碼(DAE)和解碼器。
與以前的SOTA模型相比,新范式使得我們的拼寫檢查器可以更快地進(jìn)行計(jì)算,易于通用于簡體或繁體、人類或機(jī)器產(chǎn)生的各類場景下的中文文本,結(jié)構(gòu)更簡單,錯(cuò)誤檢測和糾正性能更強(qiáng)大。
這四點(diǎn)成就,是因?yàn)樾碌姆妒揭?guī)避了兩個(gè)瓶頸。
第一,DAE通過利用無監(jiān)督預(yù)訓(xùn)練方法(如BERT,XLNet,MASS等),減少了監(jiān)督學(xué)習(xí)所需的中文拼寫檢查數(shù)據(jù)量(<10,000個(gè)句子)。
第二,解碼器有助于消除困惑集的使用,因?yàn)樗陟`活和充分地利用漢字相似性這一關(guān)鍵特征上的不足。
論文貢獻(xiàn)和方法:
本論文提出通過更改中文拼寫檢查的范式來規(guī)避上述的兩個(gè)瓶頸。作為主要貢獻(xiàn),并以我們在提出的中文拼寫檢查模型FASPell為例,這種新范式的最一般形式包括一個(gè)降噪自動(dòng)編碼器(DAE)和一個(gè)解碼器。
DAE生成可以將錯(cuò)誤文本修改為正確文本的可能的候選項(xiàng)矩陣,解碼器在這個(gè)矩陣中尋找最佳候選項(xiàng)路徑作為輸出。DAE因?yàn)榭梢栽诖笠?guī)模正常語料數(shù)據(jù)上無監(jiān)督訓(xùn)練而僅在中文拼寫檢查數(shù)據(jù)上fine-tune,避免了過擬合問題。
另外,只要DAE足夠強(qiáng)大,所有的語意上可能的候選字符都可以出現(xiàn),且候選字符是根據(jù)周圍語境即時(shí)生成的,這避免了困惑集所帶來的不靈活性;解碼器根據(jù)量化的字符相似度和DAE給出的字符的語境把握度來過濾出正確的替換字符,這樣字符相似性上的細(xì)微差別信息都可以得到充分利用。
本文提出的模型FASPell中,DAE是由BERT中的掩碼語言模型(MLM)來充當(dāng),解碼器是本文提出的把握度-字符相似度解碼器(CSD)來充當(dāng),如下如所示:
CSD中使用的量化的字符相似度也是本文提出的,較過去提出的字符相似度量化方法,我們的方法更加精準(zhǔn)。
我們在字形上采用Unicode標(biāo)準(zhǔn)的IDS表征,它可以準(zhǔn)確描述漢字中的各個(gè)筆畫和它們的布局形式,這使得即使是相同筆畫和筆畫順序的(例如“田”與“由”,“午”與“?!保┑臐h字之間也擁有不為1的相似度,與此相比,過去基于純筆畫或者五筆、倉頡編碼的計(jì)算方法則粗糙很多。
在字音上我們使用了所有的CJK語言中的漢字發(fā)音,盡管我們只是對中文文本檢錯(cuò)糾錯(cuò),但是實(shí)驗(yàn)證明考慮諸如粵語、日語音讀、韓語、越南語的漢字發(fā)音對提高拼寫檢查的性能是有幫助的,而過去的方法均只考慮了普通話拼音。
CSD的訓(xùn)練階段,利用訓(xùn)練集文本通過MLM輸出的矩陣,逐行繪制語境把握度-字符相似度散點(diǎn)圖,確定能將FP和 TP分開的最佳分界曲線。
推理階段,逐行根據(jù)分界線過濾掉FP得到TP結(jié)果,然后將每行的結(jié)果取并集得到最終替換結(jié)果。
以前述圖片為例,句子首先通過fine-tune訓(xùn)練好的MLM模型,得到的候選字符矩陣通過CSD進(jìn)行解碼過濾,第一行候選項(xiàng)中只有“主”字沒有被CSD過濾掉,第二行只有“著”字未被過濾掉,其它行候選項(xiàng)均被分界線過濾清除,得到最終輸出結(jié)果,即“苦”字被替換為為“著”,“豐”被替換為“主”。
論文實(shí)驗(yàn)和結(jié)果:
論文在4個(gè)數(shù)據(jù)集上分別進(jìn)行了消融實(shí)驗(yàn),證明了MLM的fine-tune和CSD分別對FASPell性能的貢獻(xiàn),實(shí)驗(yàn)也證明FASPell達(dá)到了SOTA的準(zhǔn)確性。