| 全文共2838字,建議閱讀時3分鐘 |
本文經機器之心(微信公眾號:almosthuman2014)授權轉載,禁止二次轉載
選自code.facebook
作者:Ves Stoyanov、Necip Fazil Ayan
傳統的自然語言處理系統只能對應於特定語言,如果想要讓其應用支持多種語言,則需要從頭開始構建相應數量的新系統。Facebook 最近提出的多語言嵌入方法可以在一些「已知」語言上訓練 Classifier,應用於「未知」語言上,成功解決了社交平臺中 AI 應用的多語言支持問題。本文將向你簡要介紹這一技術背後的原理。
在 Facebook 上,超過一半的用戶使用非英語語言。整個平臺上,人們使用的語言超過 100 種。這種多元化的環境對於我們的服務是很大的挑戰——如何為每個用戶提供首選語言的無縫體驗,尤其是在這些體驗是由 Facebook 機器學習和自然語言處理(NLP)系統提供支持的情況下。為了向整個社區提供更好的服務——無論是推薦(Recommendations)和 M 建議(M Suggestions),還是檢測和刪除違反政策的內容——我們都需要建立一個能夠適應多語言 NLP 任務的機器學習系統。
顯然,現有的適用於特定語言的 NLP 技術無法應對這種挑戰,因為支持每一種語言意味著從頭開始構建全新應用。Facebook 找到了應對之策。近日,他們展示了最新提出的多語言嵌入技術,它可以幫助處理多語言的問題,幫助人工智慧應用更快速地處理新語言的問題,為用戶提供更好的產品體驗。
跨語言 NLP 的挑戰
NLP 的一個常見任務是文本分類,即將預定義類別分配給文本文件的過程。文本分類模型幾乎用於 Facebook 的所有部分,如識別用戶是否在貼文中請求系統推薦,或者自動移除負面內容,如垃圾信息。分類模型通常通過向神經網絡提供大量標註數據作為樣本來進行訓練。模型通過該過程學習如何對新樣本進行分類,然後執行預測以為用戶提供產品體驗。
訓練過程通常針對某種特定語言,這意味著對於你想要分類的每種語言,你都需要收集大量訓練數據。收集數據成本高昂且耗時,當我們想要支持 100 多種語言時,收集就變得更加困難了。
我們使用的另一種方法是收集大量英語數據來訓練英語分類器,然後如果需要分類另一種語言的文本(如土耳其語),則將土耳其語文本翻譯成英語,然後將譯文發送給英語分類器。
但是,該方法也有一些缺陷。首先,翻譯中的誤差會傳輸給分類器,導致性能下降。其次,它要求對我們想進行分類的非英語內容另外啟用翻譯服務。這導致分類產生極大延遲,因為翻譯的耗時通常比分類要長。
我們認為這兩種方法都不夠好。我們想要更通用的解決方案,可以對我們支持的所有語言輸出一致、準確的結果。
使用多語言詞嵌入執行文本分類
目前文本分類模型使用詞嵌入或將詞表徵為多維向量,將其作為理解語言的基本表徵。詞嵌入具有非常好的屬性,它們非常易於操作,並且相似意義的詞彙在向量空間中彼此距離很近。一般而言,詞嵌入是針對特定語言的,每種語言的詞嵌入需要單獨訓練,且存在於完全不同的向量空間。
實現多語言文本分類的一種方法是開發多語言詞嵌入向量。利用這種技術,每種語言的詞嵌入都存在於同一個向量空間中,且不同語言間語義相似的詞在向量空間中距離相近。例如,土耳其語中的「futbol」和英語中的「scoccer」在嵌入空間中距離非常近,因為它們在不同語言中代表著相同的意思。
為了實現跨語言文本分類任務,我們可以使用這些多語言詞嵌入作為文本分類模型的基本表徵。由於新語言中的單詞在嵌入空間中與已訓練語言的單詞相近,所以分類器也能在新語言上執行良好。因此,我們可以使用一種或多種語言進行訓練,學習在一種從未訓練過的語言中執行分類任務。
訓練多語言嵌入
為了訓練多語言詞嵌入,我們首先使用 fastText 和數據(由來自 Facebook、Wikipedia 的數據組合而成)為每種語言分別訓練詞嵌入。然後我們利用詞典將所有嵌入空間投影到共同空間(英語)。詞典從平行數據(即由兩種不同語言的意義相同的句子對構成的數據集)中自動導出,平行數據也用於訓練翻譯系統。
我們利用矩陣將嵌入投影到共同空間。該矩陣被用於最小化詞嵌入 x_i 和它的投影 y_i 之間的距離。即,如果詞典由(x_i,y_i)對構成,我們需要選擇投影器 M,使得:
其中,M 表示令 L2 範數求和最小化的 W。此外,我們將投影矩陣 W 限制為正交矩陣,從而保持詞嵌入向量之間的初始距離。
我們將這些嵌入整合到 DeepText,即我們的文本分類框架中。DeepText 包含多種將詞嵌入作為基本表徵的分類算法。我們在 DeepText 中將多語言詞嵌入作為基本表徵來訓練多語言模型,並將詞嵌入「固定」,或在訓練過程中保持其不變。此外,工作流可以使用不同語言的訓練集和測試集,並計算語言內和跨語言的性能。該方法使開發跨語言模型的進程變得更加容易。
對於一些分類問題,用多語言詞嵌入訓練的模型展現的跨語言性能非常接近於特定語言分類器的性能。我們觀察到,當用在訓練中未見過的語言進行測試時,準確率達到了 95%,和用特定語言數據集訓練的分類器性能相當。之前的翻譯輸入方法的跨語言準確率通常只能達到特定語言模型的 82%。新的多語言方法的整體延遲時間相比翻譯和分類方法,縮短了 20 倍到 30 倍。
在 Facebook 的大規模應用
我們完成了一些基本工作,如對於每個應用,從語言特定的模型轉向多語言嵌入,作為通用的基礎層:
我們在 Facebook 的生態系統中以不同方式應用多語言嵌入,從檢測違反政策內容的 Integrity 系統到支持 Event Recommendation 等功能的分類器。
正在進行的工作
通過多語言嵌入進行擴展的方法前途無限,但是我們仍然有很多工作要做。
研究人員發現,目前的多語言嵌入對英語、德語、法語、西班牙語,及與其相近的語言性能略微好一些。該技術仍在繼續擴展的過程中,未來會專注於對我們不具備大量數據的語言嘗試新技術。Facebook 還將繼續研究捕捉跨語言文化背景細微差別(如詞組「it's raining cats and dogs.」)的方法。
該研究的團隊將與 FAIR 合作,從詞嵌入到利用高級結構(如語句或段落)的嵌入改善多語言 NLP、捕捉語義含義。Facebook 希望這種技術的性能優於語言特定的模型,在文化和語言特定的信息和解析方式方面提高準確度。
原文連結:https://code.facebook.com/posts/550719898617409/under-the-hood-multilingual-embeddings/
喜歡我們就多一次點讚多一次分享吧~
有緣的人終會相聚,慕客君想了想,要是不分享出來,怕我們會擦肩而過~
《預約、體驗——新維空間站》
《【會員招募】「新維空間站」1年100場活動等你來加入》
《有緣的人總會相聚——MOOC公號招募長期合作者》
產權及免責聲明本文系「MOOC」公號轉載、編輯的文章,編輯後增加的插圖均來自於網際網路,對文中觀點保持中立,對所包含內容的準確性、可靠性或者完整性不提供任何明示或暗示的保證,不對文章觀點負責,僅作分享之用,文章版權及插圖屬於原作者。如果分享內容侵犯您的版權或者非授權發布,請及時與我們聯繫,我們會及時內審核處理。了解在線教育,
把握MOOC國際發展前沿,請關注:
微信公號:openonline
公號暱稱:MOOC