【資料應用案例】微軟小冰英語作文改錯——通過全新學習和推斷機制提升seq2seq模型的語法改錯效能

NO IMAGE

案例來源:@微軟研究院AI頭條

案例地址:https://www.jiqizhixin.com/articles/2018-07-22-10

 

1. 目標:實現對英文作文的自動改錯(見:https://mp.weixin.qq.com/s/6vPhyKnh4U4JYu-okDUX6Q,並從拼寫、語法準確性、行文流暢性、內容豐富性、詞彙句式使用程度等多個維度進行打分)

 

2. 難點:

    1)當前主流的seq2seq模型,基本訓練資料未一個原始句子和一個正確句子的改錯句對。但目前受限於改錯句對的資料量,模型效果與泛化能力有限

    2)當一個句子有多個錯誤點,單次的seq2seq推斷往往不能全部改正,需要多倫seq2seq

 

3. 解決方案:流暢度提升學習與推斷(fluency boost learning and inference)

    1)流暢度提升學習:訓練過程中,seq2seq模型產生的結果中流暢度不如正確句子的,組成改錯句對,作為下一輪訓練的訓練資料

    2)流暢度提升推斷:利用seq2seq對句子進行多輪改錯,直到流暢度不再提升

 

4. 流暢度提升學習:

    1)定義流暢度:P(xi|x<i)為給定上文x<i,P(xi)的語言模型概率。H(x)實質上為句子x的交叉熵,其取值範圍為[0, ∞),因此f(x)取值範圍為(0,1]

    2)核心是資料增強:

        a. back-boost:反轉原句和正確句子,訓練一個專門用來生成錯誤句子的模型

        b. self-boost:對於seq2seq生成的n-best句子,加入一些錯誤,生成錯誤句子

        c. dual-boost:結合上述兩者,讓back-boost和self-boost各自生成了流暢提升句對

 

5. 流暢度提升推斷

    1)依然採用多輪推斷的方式,反覆進行句子改錯

    2)提出了一種更加有效的方法——往返修改,利用一個反向(右到左)解碼器和一個正向(左到右)解碼器交替地對一個句子進行修改

    3)用反向模型能夠很容易地把冠詞錯誤改正,這是因為冠詞錯誤的修正更加依賴於冠詞位置右邊的上下文

    4)主謂一致錯誤的改正往往需要依賴位於謂語動詞左邊的主語的人稱和單複數。而這一型別的錯誤又可以被正向模型發現並改正