如果有一個人工智慧英語老師,不僅能隨時給你的英語作文打分,而且還可以給出改進建議,是不是很妙?
近日在微信公眾號平臺上線的一款名為「愛寫作」的產品,就提供了這樣的功能,PingWest品玩和它背後的微軟開發團隊聊了聊,聽他們講了講這個人工智慧老師究竟是如何工作的。
AI 批改英文作文效果幾何?
首先我們來通過例子來看看它的具體表現如何。
「愛寫作」的功能分為 3 塊,分別是作文打分、語法糾正和詞語替換。
這項服務最早可追溯到 2018 年,微軟亞洲研究院開發的英語學習服務「微軟小英」,上線作文打分功能。2019 年 12 月,微軟將其升級之,並命名為「愛寫作」,首先在網頁端上線。
我們以一篇高三英文作文為例,看看「愛寫作」的實際效果。
通過右邊檢查結果,可以清晰看到,這篇英文作文在高考評分標準下,拿到了 24 分(滿分 25 分)。有 5 處語法錯誤,建議替換 12 處。
打分模塊不僅只呈現一個數字,還給出了所衡量的維度。
「愛寫作」能根據不同考試類型來打分,用戶在批改前可自行選擇。眾所周知,每個學段考試,對應總分是不一樣的。比如高考英語作文滿分是 25 分,六級是 106.5 分,而雅思是 9 分。
而在語法層面,錯誤基本能檢查出來,比如 AI 識別「we would sure die」應改為「we would surely die」。
AI 識別「eat in a health way」應改成「eat in a healthy way」。
除了語法糾正,「愛寫作」還能通過詞語替換來潤色作文。詞語替換是指,機器給出更高級的用詞建議,由用戶決定要不要替換。
比如下面這個例子,「愛寫作」給出的建議是「connections」替代「contacts」,組成「social connections」。
AI 是怎麼改英文作文的?
在作文打分上,「愛寫作」採用了微軟亞洲研究院研發的序數回歸模型。
據微軟亞洲研究院文章,作文打分是一種主觀行為,要轉化為機器打分,需要大量有標註的數據,而序數回歸模型大大減少了對標註數據量的依賴。
這項技術把「文章與具體分數的匹配」問題,變成了一個有序的比較大小的問題。
在訓練過程中,將已有的標註數據兩兩配對進行對比,進而形成新的文章與評分,再將此數據加入到標註數據集中,使得可用於訓練的標註數據量呈指數級增加,從而整體提高了評分的準確性。
(作文打分的方向和維度)語法糾正方面,「愛寫作」同樣用到了微軟原創的模型。
「語法糾正和機器翻譯在技術上有一定相似性。」微軟亞洲研究院資深開發經理夏炎介紹,「不管是用戶寫的文章,還是機器翻譯出來的,都要判斷這個句子的語法正確性和語言流暢度。」
早在 2018 年 8 月,微軟亞洲研究院就發表文章,介紹了一種用於語法糾正的全新學習和推斷機制——「流暢度提升學習與推斷」(Fluency Boost Learning and Inference)。
該機制基於自然語言處理領域非常流行的 seq2seq 模型。據微軟亞洲研究院文章,對於一個用於語法改錯任務的 seq2seq 模型,其基本的訓練數據為,一個原始句子和正確句子所組成的改錯句對,如下圖(a) 所示。
從理論上講,只要有大量的訓練數據,就能得到一個相對完美的語法改錯模型。
然而實際上,這種改錯句對的數量規模相當有限。「我們在做 AI 模型研究時,第一個困難就是訓練數據和樣本的生成及獲取。」夏炎說。
因此,在訓練數據並不充足的情況下,seq2seq 模型泛化能力會受到影響,導致哪怕輸入的句子稍稍變動一點,模型也可能無法將其完全改正,如上圖 (b) 所示。
此外,對於一個含有多個語法錯誤的句子,單次的 seq2seq 推斷往往不能完全將其改正。在這種情況下,需要用多輪 seq2seq 推斷來對一個句子反覆修改,如上圖 (c) 所示。
為了改進 seq2seq 模型的不足,微軟亞洲研究院提出了「流暢度提升學習與推斷」機制。這一機制可細分為兩部分,分別是「流暢度提升學習」和「流暢度提升推斷」。
「流暢度提升學習」是指在訓練模型的過程中,讓 seq2seq 模型生成多個結果,然後將流暢度不如正確句子的生成句子,和正確句子配對,組成全新的流暢提升句對,作為下一輪訓練的訓練數據。
「中間這些結果都是機器自動生成的,有的流暢度很高,有的流暢度很低。」夏炎說,「我們可以把流暢度低於最終結果句子都拿過來作為訓練樣本。這樣數據收集工作就大大減輕了,是一個很有意義的改進。」
「流暢度提升推斷」則是利用 seq2seq 模型對句子進行多輪修改,直到句子流暢度不再提升為止。
這種多輪修改策略能夠率先改掉句子一部分語法錯誤,從而使句子上下文更加清晰,有助於模型修改剩下的錯誤。
像下圖的例子裡,機器會先把第一句改成第二句,把「is catched」換成了「caught」,有一定進步,但還沒使得整個句子的語法完全一致,因為後面還有「last night」,需要把主語時態「sees」改成「saw」。
經過第二次修改後,結果已經沒有毛病,但機器還會進行第三次修改。改完後,句子流暢度已經沒有新改變。
「這個時候我們可以認為,語法糾正的流程結束了。」夏炎說,「這其實也是人在批改一篇文章時常見的場景,先把一些容易發現的錯誤改掉,然後再仔細地讀一遍,又發現一些錯誤,需要循環幾次。」
詞語替換功能則是基於預訓練語言模型。預訓練語言模型是自然語言處理的新範式:使用大規模文本語料庫進行預訓練,對特定任務的小數據集微調,降低單個自然語言處理任務的難度。
2019 年,微軟提出了一種新的預訓練語言模型 UniLM。在「愛寫作」上,這個模型可以通過半遮蓋原單詞的策略,建議更符合表達者預期的替換詞語。
「對於詞語替換場景,直接用業界流行的 BERT 模型其實是不太合適的。」夏炎告訴 PingWest 品玩,「這個模型只考慮語法正確性,得出的結果不一定符合原詞的觀點和想法。」
以「The wine he sent to me as my birthday gift is too strong to drink」這句話為例子,替換目標詞是「strong」。
沒有遮蓋住目標詞(keep target word)的 BERT 模型,會給出詞義高度相關,但實際不太適合的替換詞:「stronger」、「strongly」、「hard」和「much」。
完全遮蓋住目標詞(mask target word)的 BERT 模型,輸出了「hot」、「thick」、「sweet」和「much」。這些詞在語法上都是對的,但跟目標詞的意思相比,差別還是比較大。
「我們的做法是,通過半遮蓋策略,把詞中一部分信息隱含掉,然後讓模型去預測,機器輸出了『tough』、『powerful』、『potent』和『hard』這些詞。」夏炎解釋道,「『powerful』這個詞,詞義跟原來單詞接近,又沒有簡單把『strong』變成其他形式,如『stronger』或『strongly』。」
得到替換詞列表後,「愛寫作」還會進行排序,最終把最適合的單詞呈現在最上面。
最後,「愛寫作」還有微軟自研的新一代 OCR 引擎,能檢測出圖像中的各類文字,同時支持列印體和手寫體的複雜文字場景識別。
「總而言之,『愛寫作』主要應用了自然語言理解技術。相較於語音識別和圖像處理等感知層面技術,自然語言理解是 AI 在認知層面要解決的最核心問題之一,讓機器理解人類語言是非常難的。」夏炎說,「在『愛寫作』中,我們用了很多自然語言處理領域內的經典任務,並且針對寫作這個場景優化模型。」
目前,「愛寫作」更多是根據用戶語法和用詞去做打分。夏炎告訴 PingWest 品玩,未來會研究一些新算法和模型,讓「愛寫作」不止能分析用戶的語法錯誤,還可以更深層地理解作文的結構和組織形式。「如果機器能理解用戶寫作意圖,就可以幫助他在內容組織上進行優化,這是 AI 輔助寫作的另一個場景」。
此外,據微軟亞洲研究院文章,語法糾正技術還可以被用在英文寫作之外的更多場景,比如電子郵件、PPT 演示文稿、翻譯文件等。