本文將以中文句子的錯誤診斷為實例,說明如何利用深度學習演算法序列對序列(Seq2Seq)模型,使用其中的編碼器與解碼器架構,實作出能夠從學習者的句子當中生成出修改過後的句子,並且識別錯誤的類型。一個句子是由許多詞所組成,我們透過修正前與修正後的兩個句子配成一對讓演算法進行學習,盡可能的使模型識別原始與正確之間的關係,並將有錯誤或是不通順的句子加以修正與改正。此研究利用Pytorch所提供的範例更改為我們所想要的功能,以此理論作為基礎的中文文法錯誤診斷系統;此研究分為兩部分:首先利用NLP-TEA2至NLP-TEA5的Shared Task所提供的資料訓練模型。其次因應資料集數量不夠讓機器充分學習,所以我們利用Ge等人所提出的方式來擴大訓練的資料集。過去Chen在NLP-TEA3的Shared Task使用條件隨機域(Conditional Random Field,CRF)得到當時最佳的準確度與精確度。所以我們主要針對NLP-TEA3當時所完成的任務結果來做比較,另外為了確保我們所使用的序列對序列的可行性與公平性,在此我們重新訓練CRF不做任何的調整與現在的序列對序列一樣做比較。 |