MOE:抗拼寫錯誤的詞向量

  • 2020 年 8 月 14 日
  • AI

字幕組雙語原文:抗拼寫錯誤的詞向量

英語原文:New Model for Word Embeddings which are Resilient to Misspellings (MOE)

翻譯:雷鋒字幕組(wiige


傳統的詞嵌入擅長處理大部分自然語言處理(NLP)領域的下游問題,比如文檔分類和命名實體識別(NER)。然而它的一個缺點是無法處理未登錄詞(OOV)。

Facebook通過引入錯字遺忘(詞)嵌入(MOE)克服了這一缺陷。MOE通過擴展fastText架構來處理未登錄詞。因此介紹MOE之前,先介紹一下fastText的訓練方法和架構。

負取樣Skip-gram(SGNS)

fastText擴展了word2vec的架構,使用負取樣skip-gram來訓練詞嵌入。Skip-gram使用當前詞來預測周圍的詞,得到文本表示(即嵌入 )。負取樣是一種挑出假例(false case)來訓練模型的方法。你可以查看這些文章(skip-gram和負取樣)了解更詳細的內容。 

下圖顯示了兩種訓練word2vec詞向量的方法。連續詞袋(BOW)利用上下文來預測當前詞,而Skip-gram則利用當前詞來預測上下文。

矢量空間中詞表徵的效用估計(Tomas et al.,2013)

fastText

fastText幾乎全盤沿用了SGNS的思想。fastText特徵之一是子字(subword), 一般用N-gram方法將單詞分割成子字。例如,n-gram字元數是3到5之間。這樣就可以將banana拆分為ban、ana、nan、bana、anan、nana、banan、anana。這樣,香蕉(banana)的詞嵌入就是這些子詞的嵌入之和。

fastText的訓練目標是對標籤進行分類。模型輸入是n-gram特徵(即x1,x2, ……, xN)。這些特徵將在隱藏層中被平均化最後送入輸出層。

fastText的架構 (Joulin et al., 2016)

錯字遺忘(詞)嵌入 (MOE)

MOE通過引入拼寫校正損失進一步擴展了fastText。引入拼寫校正損失的目的是將錯誤拼寫的詞嵌入映射到其接近的正確拼寫的詞嵌入上。拼寫校正損失函數是一個典型的logistic函數, 它是正確詞子字輸入向量和與錯誤詞的子字輸入向量和的點積。

下面展示了bird(正確單詞)和bwrd(拼寫錯誤的單詞)的詞嵌入是非常接近的。

MOE(facebook)的表示方法

Take Away

子詞是處理拼寫錯誤和未登錄詞的有力方法。MOE使用字元n-gram來建立子字詞典,而其他的先進NLP模型(如BERT,GPT-2)則使用統計方式(如WordPiece,Byte Pair Encoding)來建立子詞典。

在許多NLP系統中,能夠處理未登錄詞是一個關鍵的優勢。比如聊天機器人每當拼寫錯誤或新詞時,都必須為之處理大量的新OOV詞。


雷鋒字幕組是由AI愛好者組成的志願者翻譯團隊;團隊成員有大數據專家、演算法工程師、影像處理工程師、產品經理、產品運營、IT諮詢人、在校師生;志願者們來自IBM、AVL、Adobe、阿里、百度等知名企業,北大、清華、港大、中科院、南卡羅萊納大學、早稻田大學等海內外高校研究所。

了解字幕組請聯繫微信:tlacttlact

轉載請聯繫字幕組微信並註明出處:雷鋒字幕組

雷鋒網雷鋒網