天天看點

AAAI 2020 | MaskGEC:通過動态掩蔽改善文法糾錯

今天給大家介紹北京大學計算語言學教育部重點實驗室的Zewei Zhao和Houfeng Wang在AAAI 2020發表的文章“MaskGEC: Improving Neural Grammatical Error Correction via Dynamic Masking”。作者在文章中提出了一種通過動态掩蔽改進基于神經機器翻譯的文法糾錯模型的方法,該方法解決了模型對“錯誤-正确”句子對的語料庫的需求。

AAAI 2020 | MaskGEC:通過動态掩蔽改善文法糾錯

1

研究背景

文法糾錯(GEC)是一種自然語言處理(NLP)應用,其目的是将文法錯誤的句子轉換為正确的句子。神經機器翻譯(NMT)方法已被廣泛應用于這種類似翻譯的任務,然而,這種方法需要一個相當大的“錯誤—正确“句子對語料庫,這個條件難以滿足,尤其是在中文文法糾錯領域。針對這一問題,作者提出了一種簡單而有效的使用的動态掩蔽改進基于NMT的GEC模型的方法。該方法通過在訓練過程中動态地向原始源句子添加随機掩碼,生成更多不同的句子對執行個體,以增強模型的泛化能力并提高文法糾錯模型的有效性。作者通過實驗證明,MaskGEC模型提高了神經GEC模型的性能,此外,在沒有任何額外的知識的情況下,文章中的中文GEC單一模型的性能優于目前最先進的內建系統。

2

模型

2.1神經GEC模型

MaskGEC模型采用了Transformer作為NMT架構,Transformer是一種新型的編碼器-解碼器架構,該架構完全基于注意力機制,具備強大的單詞序列模組化能力,并在機器翻譯任務中取得了最佳性能。給定源序列

AAAI 2020 | MaskGEC:通過動态掩蔽改善文法糾錯

和與之對應的正确序列

AAAI 2020 | MaskGEC:通過動态掩蔽改善文法糾錯

文法糾錯模型需要計算以下條件機率:

AAAI 2020 | MaskGEC:通過動态掩蔽改善文法糾錯

(1)

其中

AAAI 2020 | MaskGEC:通過動态掩蔽改善文法糾錯

表示模型參數,該模型采用極大似然估計(MLE)進行訓練。

2.2動态掩蔽

對于神經網絡模型,訓練語料庫的大小通常是模型性能的關鍵因素之一。為了友善、有效地獲得更多的訓練樣本,在訓練過程中按一定的機率将噪聲動态地添加到源序列X中,得到噪聲文本

AAAI 2020 | MaskGEC:通過動态掩蔽改善文法糾錯
AAAI 2020 | MaskGEC:通過動态掩蔽改善文法糾錯

的計算方法如公式(2)所示:

AAAI 2020 | MaskGEC:通過動态掩蔽改善文法糾錯

(2)

其中表示單詞替換函數,表示區間[0.0,1.0]上均勻分布的随機數,表示替換機率的門檻值。文法糾錯中的動态掩蔽方法的訓練過程如圖1所示。

AAAI 2020 | MaskGEC:通過動态掩蔽改善文法糾錯

圖1  動态掩蔽方法在中文文法糾錯中的訓練過程

動态掩蔽算法如表1所示:

表1 動态掩蔽算法

AAAI 2020 | MaskGEC:通過動态掩蔽改善文法糾錯

2.3 噪聲方案

(1)填充符替換:源句子中的每個單詞都有一定的機率被選擇并替換為填充符号“”。

(2)随機替換:按一定機率從源句子中随機抽取一些單詞,然後使用詞彙表中的随機單詞來替換它們。

(3)字頻替換:計數訓練語料庫中目标句子中每個單詞的出現情況得到單詞頻率,然後計算單詞表的機率分布, 在訓練過程中,GEC模型根據單詞頻率對單詞進行替換采樣。

(4) 同音詞替換:根據目标句子中的單詞的拼音進行分類,并根據拼音類别計算單詞頻率,得到各拼音類型單詞的機率分布。在訓練過程中,選擇替換的單詞之後,查找這些單詞的拼音并根據相應的單詞頻率分布選擇同音詞進行替換。

(5)混合替換:對于每個訓練執行個體,中文GEC模型随機選擇單個噪聲方案或空方案,并将其應用于訓練過程,這樣可以內建了所有單一的噪聲方案,并獲得更多樣化的噪聲句子對。

3

實驗

3.1 實驗資料及基線模型

為了驗證該方法在中文文法糾錯任務中的有效性,作者在NLPCC 2018 Task 2的資料集上進行了一組實驗。資料集的統計資料如表2所示:

表2 資料集統計

AAAI 2020 | MaskGEC:通過動态掩蔽改善文法糾錯

文章中使用MaxMatch()評分器來評估GEC模型,并與目前存在的中文文法糾錯系統進行比較,其中包含(1)YouDao;(2)AliGM;(3)BLCU and BLCU (ensemble)。為了驗證動态掩蔽方法在中文神經文法糾錯模型中的有效性,作者實作了一個基于字元Transformer的中文文法糾錯模型并将其作為基線模型。

3.2 實驗結果

表3展示了MaskGEC模型和其它系統在中文GEC基準資料集上使用MaxMatch評分器的評估結果。NLPCC 2018 Task 2中的前三個模型都是內建模型,作者提出的單一模型的表現優于這些內建模型。文章中提出的方法與這些內建完全正交,這意味着作者提出的GEC模型相較于這些方法能夠獲得更好的結果。

表3 文法糾錯系統在NLPCC-2018資料集上的性能

AAAI 2020 | MaskGEC:通過動态掩蔽改善文法糾錯

4

總結

在文章中,作者提出動态掩蔽方法可以促進中文文法糾錯的神經機器翻譯方法。為了解決GEC的神經方法的訓練語料庫小的問題,作者提出了五種噪聲替換方案,這些方案能夠生成多種多樣的“錯誤—正确”句子對,進而建構足夠大的語料庫以提升正常seq2seq GEC模型性能。作者基于NMT的模型的動态掩蓋方法使文章中的中文GEC系統能夠超越NLPCC-2018基準資料集上的所有已釋出結果,并建立了最新的技術水準。

繼續閱讀