微軟開發了一個稱為Speller100的系統,官方提到,這是有史以來覆蓋最多種語言,並且準確性最高的拼寫校正系統,Speller100能夠校正100多種語言的拼寫,進而改善Bing用戶的搜尋結果。

微軟搜尋引擎Bing服務全球用戶,接受100多種語言的查詢,而在用戶提交的查詢中,約有15%的存在拼寫錯誤,而使用帶有拼寫錯誤的資料查詢,便會得到錯誤的答案,降低查詢結果的品質,因此拼寫校正是Bing搜尋堆疊中排序很前面的元件,因為能夠有效改善所有下游搜尋元件的結果。

在很長一段時間,微軟都只提供大約20種語言的拼寫校正,而其他語言的使用者,則必須手動修正錯誤查詢,或是接受較差的搜尋結果,而微軟為了要提升Bing的搜尋品質,將當前的拼寫校正服務擴展至100多種語言,並且要為這些語言,提供與原本20種語言相同的校正品質。但微軟很快就發現這是一個極困難的目標,因為模型需要有大量的資料來訓練每一種語言的模型,更別說要收集100種語言的資料,勢必付出難以計數的時間和金錢。

微軟克服了這個困難,推出了高精確度和高召回率的大規模多語言拼寫校正模型,這些模型被統稱為Speller100,微軟主要使用了零樣本學習(Zero-Shot Learning)以及大規模預訓練技術,來達成這樣的目標。

傳統拼寫校正解決方案,都是使用網路上的資料,來強化語言模型,但這種方法僅對存在大量資料的語言有效,對於網路只有少數資料,用戶回饋也少的語言,要收集足夠的訓練資料,是一個大挑戰,因此微軟認為,這些語言模型不能只仰賴訓練資料,來學習某種語言的拼寫。Speller100的基礎是使用語言家族的概念,以多種語言共享的相似性,來組成更大一組的語言。

而零樣本則是另一個概念,可以讓語言模型更準確地學習和校正拼寫,不需要特定語言的標註訓練資料,微軟解釋,這就像是人們自動學習了德語、荷蘭語、南非荷蘭語、蘇格蘭語和盧森堡語的拼寫,這是Speller100中的關鍵元件,可以將拼寫校正擴展到非常少,甚至是沒有資料的語言。

雖然目前BERT、UniLM和DeBERTa等大型Transformer網路在自然語言處理上,已經有很大的進步,能夠用於下一句預測和翻譯等工作,但微軟提到,拼寫是完全不同的語言任務。廣義上來說,拼寫存在2種錯誤,一種是單詞不存在於特定語言詞彙表中,稱為非字詞錯誤(Non-Word Error),另一種是單詞本身有效,但是不適用於整體文意,稱為真字詞錯誤(Real-Word Error),這兩個錯誤都是字符層級的變異,與目標字詞存在合理的編輯距離,因此拼寫校正的核心,便是建立錯誤模型和語言模型。

整體來說,拼寫校正是一個序列到序列的問題,要將拼寫錯誤的文字,轉換成為正確的形式,把錯誤看作是雜訊的話,就可以把拼寫校正工作,當作是將損毀的文字,轉換為原始文字的降噪過程,微軟採用類似臉書的BART技術,這是一個適用於自然語言生成、翻譯和理解的單詞等級降噪自動編碼預訓練方法。

微軟設計了雜訊函數,來模仿旋轉、刪除和替換等常見拼寫錯誤,進而減少機器學習人工標籤的需求,特別是對沒有訓練資料的語言來說特別有用,進而獲得預訓練模型,並且對模型進行微調,就可得到適用於特定語言的零樣本或是少量樣本學習。

使用了Speller100系統,可有效降低30%在Bing中沒有結果的頁面數,用戶需要手動重組查詢的次數也減少5%,而且也大幅增加了用戶點擊拼寫建議的次數,從原本個位數百分比上升到67%,用戶點擊結果頁面中任意連結的機率,也從原本的個位數百分比,上升到了70%。微軟提到,這些數字說明了Speller100的效果。


熱門新聞

Advertisement