愛奇藝發佈 FASPell: 產學界最強的簡繁中文拼寫檢查工具

作者 | 愛奇藝

本文介紹了愛奇藝被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

項目鏈接:https://github.com/iqiyi/FASPell

1990年代初期開展了一些開拓性工作以來,關於檢測和糾正中文文本中的拼寫錯誤的研究已過很長時間。然而,儘管在大多數研究中拼寫錯誤已被簡化為替換錯誤以及最近多個公開任務的努力,中文拼寫檢查仍然是一項困難的任務。 而且,英語等類似語言的方法幾乎不能直接用於中文,因為中文單詞之間沒有定界符,且單詞缺乏形態上的變化,使得任何漢字的句法和語義解釋都高度依賴其上下文。

幾乎所有以前的中文拼寫檢查模型都部署了一個通用範式,其中將每個漢字的固定的相似字符集(稱為困惑集或混淆集)用作候選項,然後用一個過濾器選擇最佳候選項作為待糾錯句子中的替換字符。這種樸素的設計面臨兩個主要瓶頸,而其負面影響未能在過去的提出的方案中得到緩解:

一是在稀缺的中文拼寫檢查數據上的過擬合問題。

由於中文拼寫檢查數據需要乏味繁冗的專業人力工作,因為一直資源不足。為了防止模型的過擬合,Wang等人(2018)提出了一種自動方法來生成偽拼寫檢查數據。 但是,當生成的數據達到40k句子時,其拼寫檢查模型的精度不再提高。 Zhao等人(2017)使用了大量的語言學規則來過濾候選項,但結果卻比我們的表現差,儘管我們的模型沒有利用任何語言學知識。

二是困惑集的使用所帶來的漢字字符相似度利用上的不靈活性和不充分性問題。困惑集因為是固定的,因此並非在任何語境、場景下都能包含正確候選項(一個比較極端的例子是,如果困惑集按照繁體中文制定,那麼繁體中文的 “體”和“休”肯定不在困惑集的同一組相似字符中,但是在簡體中文中對應的“體”和“休”缺是相似字符,如果錯誤文本中是把“休”寫成了“體”,那麼繁體中文困惑集下就無法檢出,必須專門再製定一個簡體困惑集才可以),這會極大降低檢測的召回率(不靈活性問題);另外,困惑集中的字符的相似性的信息有損失,沒有得到充分利用,因為一個字符在困惑集中相似字符是無差別對待的,然而事實上每兩個字符間的相似度明顯是有差別的,因此會影響檢測的精確率(不充分性)。Zhang等人 (2015)提出了考慮了很多並沒有字符相似度重要的特徵(例如分詞)來彌補字符相似度利用上的不充分性,但這會為其模型添加更多不必要的噪音。

論文概述:

論文提出一個基於新範式的中文拼寫檢查器– FASPell。新的範式包括去噪自動編碼(DAE)和解碼器。與以前的SOTA模型相比,新範式使得我們的拼寫檢查器可以更快地進行計算,易於通用於簡體或繁體、人類或機器產生的各類場景下的中文文本,結構更簡單,錯誤檢測和糾正性能更強大。這四點成就,是因為新的範式規避了兩個瓶頸。第一,DAE通過利用無監督預訓練方法(如BERT,XLNet,MASS等),減少了監督學習所需的中文拼寫檢查數據量(<10,000個句子)。第二,解碼器有助於消除困惑集的使用,因為它在靈活和充分地利用漢字相似性這一關鍵特徵上的不足。

論文貢獻和方法:

本論文提出通過更改中文拼寫檢查的範式來規避上述的兩個瓶頸。作為主要貢獻,並以我們在提出的中文拼寫檢查模型FASPell為例,這種新範式的最一般形式包括一個降噪自動編碼器(DAE)和一個解碼器。DAE生成可以將錯誤文本修改為正確文本的可能的候選項矩陣,解碼器在這個矩陣中尋找最佳候選項路徑作為輸出。DAE因為可以在大規模正常語料數據上無監督訓練而僅在中文拼寫檢查數據上fine-tune,避免了過擬合問題。另外,只要DAE足夠強大,所有的語意上可能的候選字符都可以出現,且候選字符是根據周圍語境即時生成的,這避免了困惑集所帶來的不靈活性;解碼器根據量化的字符相似度和DAE給出的字符的語境把握度來過濾出正確的替換字符,這樣字符相似性上的細微差別信息都可以得到充分利用。

本文提出的模型FASPell中,DAE是由BERT中的掩碼語言模型(MLM)來充當,解碼器是本文提出的把握度-字符相似度解碼器(CSD)來充當,如下如所示:

爱奇艺发布 FASPell: 产学界最强的简繁中文拼写检查工具

CSD中使用的量化的字符相似度也是本文提出的,較過去提出的字符相似度量化方法,我們的方法更加精準。我們在字形上採用Unicode標準的IDS表徵,它可以準確描述漢字中的各個筆畫和它們的佈局形式,這使得即使是相同筆畫和筆畫順序的(例如“田”與“由”,“午”與“牛”)的漢字之間也擁有不為1的相似度,與此相比,過去基於純筆畫或者五筆、倉頡編碼的計算方法則粗糙很多。在字音上我們使用了所有的CJK語言中的漢字發音,儘管我們只是對中文文本檢錯糾錯,但是實驗證明考慮諸如粵語、日語音讀、韓語、越南語的漢字發音對提高拼寫檢查的性能是有幫助的,而過去的方法均只考慮了普通話拼音。

CSD的訓練階段,利用訓練集文本通過MLM輸出的矩陣,逐行繪製語境把握度-字符相似度散點圖,確定能將FP和 TP分開的最佳分界曲線。推理階段,逐行根據分界線過濾掉FP得到TP結果,然後將每行的結果取並集得到最終替換結果。以前述圖片為例,句子首先通過fine-tune訓練好的MLM模型,得到的候選字符矩陣通過CSD進行解碼過濾,第一行候選項中只有“主”字沒有被CSD過濾掉,第二行只有“著”字未被過濾掉,其它行候選項均被分界線過濾清除,得到最終輸出結果,即“苦”字被替換為為“著”,“豐”被替換為“主”。

論文實驗和結果:

論文在4個數據集上分別進行了消融實驗,證明了MLM的fine-tune和CSD分別對FASPell性能的貢獻,實驗也證明FASPell達到了SOTA的準確性。

爱奇艺发布 FASPell: 产学界最强的简繁中文拼写检查工具
爱奇艺发布 FASPell: 产学界最强的简繁中文拼写检查工具


分享到:


相關文章: