Facebook開源最大規模並行語料,45億語料,覆蓋576種語言對

雷鋒網 發佈 2020-02-07T19:31:27+00:00

為了解決這一問題,在去年七月份,Facebook曾發布了第一個系統處理Wikipedia上所有語言的數據集WikiMatrix,大約包含了億級的並行語料,覆蓋1620種語言對。

雷鋒網AI科技評論按:當前自然語言處理中的大多數方法都是數據驅動的,大多數多語言模型(特別是神經機器翻譯系統)都需要並行語料庫進行訓練。大多數的並行文本都只是適用於幾個主要語言(例如英語、漢語),且限制於特定的領域。

為了解決這一問題,在去年七月份,Facebook曾發布了第一個系統處理Wikipedia上所有語言(包括資源貧乏的語言和方言)的數據集WikiMatrix,大約包含了億級的並行語料,覆蓋1620種語言對。

據雷鋒網AI科技評論了解,最近Facebook基於新的方法和數據源,開發並開源了一個目前為止最大的並行語料數據集 CCMatrix。這個數據集包含 45 億並行語料(是WikiMatrix的近50倍),覆蓋576種語言對。

論文:https://arxiv.org/abs/1911.04944

數據集開源地址:https://github.com/facebookresearch/LASER/tree/master/tasks/CCMatrix

1、語料庫構建

首先,從語料來源上講。目前有幾個公共的多語言並行語料庫,主要來自一些國際會議(如European Parliament 、the United Nations)的語料,這些都是專業的人工翻譯語料,使用語言較為正式,且僅限於政治主題。此外也有幾個依靠志願者翻譯而形成的語料庫,例如news commentary 、Opensub- Titles 、the TED corpus等。2019年Facebook的Schwenk等人曾利用Wikipedia中的語料進行挖掘,從而開發了WikiMatrix數據集。

以上這些,從數據來源上講都有局限。為了使並行語料庫量大、覆蓋主題廣泛,Facebook在CCMatrix這項工作中,選擇使用了隨機抓取web中的數據作為並行語料的來源,他們每個月隨機發送url,從而獲得包含各種語言的網頁快照(TB級)。

十次快照語料中,不同語言的單句數量(其中一次快照只包含英語)

然後通過預處理去除高達70%的重複數據(例如模板文件、導航菜單、cookie等),並使用fastText(語言識別器,可以識別176種語言)來識別文檔中的語言,最後使用一個在Wikipedia上訓練的模型來過濾掉低質量的內容,只保留較低困惑度的文檔。如此處理獲得一個包含有327億個句子的CCNet數據集。

在這項工作中,使用的挖掘方法的底層思想是,首先學習一種多語言的語義嵌入,即在一個嵌入空間中語義上相似的句子會有較近的距離,而與它們所使用的語言無關。這意味著空間中的距離可以作為兩個句子是否是相互翻譯的指標。

用於大規模訓練多語言句嵌入的框架

不過由於餘弦距離的絕對閾值在全局上並不一致,所以Schwenk在這裡所採用的是Margin criterion:

2、語料庫分析

在超過320億個句子中挖掘平行語料,計算上是非常昂貴的。在當前版本的CCMatrix語料庫中,作者限制為38種語言。

CCMatrix:這裡給出了單語文本的數量和提取的平行句子的數量(單位:百萬),margin閾值為1.06,以及在TED測試中的BLEU分數。(編者註:這是11月份數據,當時數據集規模為35億並行語料,下同)

CCMatrix:每種語言對的並行語料數量(單位:百萬),Margin閾值為1.06。舉例來說,希臘語/漢語對的語料數量為470萬。

3、定性評估

為了評估這個數據集的質量,Schwenk等人還利用這個數據集進行了神經機器翻譯系統的測試,並與幾個公共測試集進行了對比。

1、在TED數據集上進行測試

Schwenk等人首先用CCMatrix對神經翻譯系統(NMT)進行訓練,然後在TED數據集上進行測試,結果如下:

這裡只選擇了其中的27種語言。以上所有BLEU值的平均值為14.3,英語對的平均BLEU值為26.7,最高的BLEU值為42.9。

當然,在TED上的SOTA遠比這些高;但需要注意,這裡測試所用的NMT系統沒有使用Transformer框架等最新技術。

2、在WMT'19 上評估

上圖是在Newstest'18(NT'18)和Newtest'19(NT『19)測試集上的BLEU分數。可以看到,使用CCMatrix,可以提供非常有競爭力的BLEU分數。

3、在 WAT'19 上評估

利用CCMatrix在亞洲翻譯研討會的俄語/日語翻譯任務上進行的測試如上圖所示。這裡所使用的模型與前面一樣,沒有Transformer,沒有layer dropout。儘管相比SOTA略差,但仍然在同一層次。

4、總結

CCMatrix使NMT研究社區能夠利用比以前僅幾十種語言對更大的雙語料數據集。這可以加速創建更有效的NMT模型,這些模型可以使用更多的語言,尤其是語料庫相對有限的資源較少的模型。

由於規模龐大且使用了大量公共文本,或許CCMatrix將成為NMT領域中用於構建和評估系統的最常用資源之一。

當然,Facebook在構建CCMatrix過程中所提出的數據集構建方法更值得推廣,或許能夠幫助更多人來創建大規模數據集。

參考資料:

facebook開源官宣:https://ai.facebook.com/blog/ccmatrix-a-billion-scale-bitext-data-set-for-training-translation-models/CCMatrix

論文:https://arxiv.org/abs/1911.04944CCMatrix

開源連結:https://github.com/facebookresearch/LASER/tree/master/tasks/CCMatrix

雷鋒網報導。

關鍵字: