谷歌釋出含 7 種語言的全新資料集:有效提升 BERT 等多語言模型任務精度高達 3 倍!
按:近日,谷歌釋出了包含 7 種語言釋義對的全新資料集,即:PAWS 與 PAWS-X。BERT 透過該資料集的訓練,在釋義對問題上的精度實現了約為 3 倍的提升;其它先進的模型也能夠利用該資料集將精度提高到 85-90%。谷歌希望這些資料集將有助於推動多語言模型的進一步發展,併發布了相關文章介紹了該資料集,雷鋒網 AI 開發者將其整理編譯如下。
背景環境
詞序和句法結構對句子意義有很大影響,即使詞序中的一點小改動也能完全改變句子的意思,例如下面的一組句子:
-
Flights from New York to Florida.(從紐約飛往佛羅里達州的航班)
-
Flights to Florida from New York.(從紐約出發到佛羅里達州的航班)
-
Flights from Florida to New York.(從佛羅里達州飛往紐約的航班)
儘管這三個詞都有相同的片語;但是 1 和 2 具有相同的含義,我們將這樣的一組句子對稱為釋義對(paraphrase pairs),而 1 和 3 有完全相反的含義,所以我們將其稱為非釋義對(non-paraphrase pairs)。識別一對句子是否為釋義對的任務則被稱為釋義識別,這一任務對於許多實際應用中的自然語言理解(NLU)處理而言是非常重要的,例如:常見的問答任務等。
但令人驚訝的是,目前即使是最先進的模型,如:BERT,如果僅在現有的 NLU 資料集下進行訓練,並不能正確地識別大部分非釋義對(就像上面所列舉的 1 與 3)之間的差異。其中很大的原因是由於在現有 NLU 資料集中,缺少諸如此類的訓練資料。因此,即使現有的機器學習模型能夠很好地理解複雜的上下文短語,它們依舊很難擁有對該類任務的判斷能力。
PAWS 資料集與 PaWS-X 資料集
為了解決這一問題,我們釋出了兩個新的資料集,致力於幫助社群進行相關的研究。資料集包括:
-
支援英語的釋義識別對抗性資料集 PAWS(Paraphrase Adversaries from Word Scrambling, )
-
支援多語言的釋義識別對抗性資料集 PaWS- X( )
其中,PaWS-X 資料集則是在 PAWS 資料集基礎上,擴充套件得到包含另外六種不同型別語言的釋義識別對抗性資料集,支援的語言包括:法語、西班牙語、德語、漢語、日語和韓語。
這兩個資料集都包含了格式良好、具有高度重疊詞彙的句子對。其中大約有一半的句子對是釋義對,另一些則不是,資料集也包含了最先進模型的訓練資料。透過新資料的訓練,該模型對釋義識別任務的精度從 50% 提高到了 85-90%。
相比之前即使在有新的訓練資料時,無法獲得非本地上下文資訊的模型仍然無法完成釋義識別任務的情況;這一新資料集則為測量模型對語序和結構的敏感性提供了一個有效的工具。
資料集詳情
PAWS 資料集共計包含了 108463 組由人工標記的句子對,這些資料來源於 Quora Question Pairs(QQP, )以及維基百科頁面( )。
PAWS-X 資料集則包含了 23659 組由人工判斷而得的 PAWS 擴充套件句子對,以及 296406 組由機器翻譯的訓練對。下表給出了資料集的詳細統計。
PAWS-X 的訓練集是從 PAWS wiki 資料集的一個子集透過機器翻譯而來的
支援英語的 PAWS 資料集
在「 PAWS: Paraphrase Adversaries from Word Scrambling( )」一文中,我們介紹了在生成具有高度詞重疊的且具有釋義性的句子對的工作流程。
為了生成資料對,源語句首先被傳遞到一個專門的語言模型( ),該模型將建立具有語義的單詞交換變體句,但無法保證生成句子與原句是否互為釋義對的關係;接著再由人工評判員判斷句子的語法是否正確,然後由其它人工評判員來判斷它們是否互為釋義句。
PAWS 語料庫建立工作流
這種簡單的單詞交換策略存在的一個問題,即它往往會產生不符合常識的「釋義句」,例如:「why do bad things happen to good people」和「why do good things happen to bad people」,儘管單詞都相同,但「為什麼壞事會發生在好人身上」的意義和「為什麼好事會發生在壞人身上」完全不同。
因此,為了確保釋義和非釋義之間的平衡,我們增加了其他基於反譯的資料資訊。因為反譯往往表現出與此類方法相反的傾向,它會選擇優先保留句子意義,然後在這基礎上改變詞序和詞語選擇。這兩種策略共同保證 PAWS 語料庫總體的平衡,尤其是維基百科部分的資料。
多語言 PAWS-X 資料集的建立
在建立了 PAWS 資料集之後,我們將它擴充套件出了其它六種語言,包括:漢語、法語、德語、韓語、日語和西班牙語。在這過程中,我們採用了人工翻譯來完成句子對的翻譯擴充套件和測試集生成工作,並使用神經網路機器翻譯(neural machine translation,NMT)服務來完成訓練集的翻譯。
我們從六個語言中(共計 48000 組翻譯)的每一個 PAWS 擴充套件集上,隨機抽取了 4000 個句子對進行人工翻譯(翻譯者所翻譯語言均為母語)。每一組句子都是獨立的,從而保證翻譯不會受到語境的影響,然後再由第二個工作者驗證隨機抽樣子集,最終使得資料集的字級錯誤率小於 5%。
注意,如果所得句子不完整或模稜兩可,我們允許專業人士不翻譯。平均只有不到 2% 的句子對沒有被翻譯,我們暫且將它們排除在外。最終的翻譯對被分為新的擴充套件集和測試集,每個集合大約包含 2000 組句子對。
德語(DE)和漢語(ZH)的人工翻譯句子對的例子
使用 PAWS 和 PAWS-X 來理解語言
我們在所建立的資料集上訓練多個模型,並對評估集上的分類精度進行度量。當用 PAWS 訓練強大的模型後,如 BERT 和 DIN,這些模型對現有 QQP 資料集進行訓練時的表現會產生顯著的改善。
如果在現有 QQP 上訓練,BERT 僅獲得 33.5 的精度,但是當給定 PAWS 訓練例項時,即使用來自 QQP的 PAWS 資料(PAWS-QQP),它的精度將達到 83.1 。
不過與 BERT 不同,Bag-of-Words(BoW, )模型無法從 PAWS 訓練例項中進行學習,這也展示了它在捕捉非區域性上下文資訊方面的弱點。但總體來看,這些結果都表明了 PAWS 可以有效地度量模型對詞序和結構的敏感性。
PAWS-QQP 精度評估設定(英文)
下圖顯示了主流的多語言 BERT 模型( )在 PAWS X 上使用幾種常用方法所表現的效能,其中:
-
Zero Shot:該模型使用支援英語的 PAWS 資料集進行訓練,然後直接評估所有其他翻譯,這種方法不涉及機器翻譯。(引申:Zero-Shot 翻譯則是指在完成語言 A 到語言 B 的翻譯訓練之後,語言 A 到語言 C 的翻譯不需要再經過任何學習,它能自動把之前的學習成果轉化到翻譯任意一門語言,即便工程師們從來沒有進行過相關訓練)
-
Translate Test(翻譯測試):使用英語訓練資料訓練一個模型,並將所有測試用例翻譯成英文進行評估。
-
Translate Train(翻譯訓練):英語訓練資料被機器翻譯成每種目標語言,以提供資料來訓練每一個模型。
-
Merged(歸併):在所有語言上訓練多語言模型,包括原始英語對和所有其他語言的機器翻譯資料。
結果表明,新資料集除了為跨語言的技術提供了幫助,同時也留下了很大的餘地進而驅動多語種釋義識別問題的研究。
基於 BERT 模型的 PAWS-X 測試集的精度
資料集下載相關
PAWS-Wiki
該語料庫包含從維基百科頁面生成的句子對(可直接下載),包括:
-
PAWS-Wik 標記集(終版) 包含從單詞交換和反譯方法生成的句子對。所有的組別都有釋義性和流暢性的人工判斷,它們被分為訓練/擴充套件/測試部分。
-
PAWS-Wik 標記集(僅交換) 包含沒有反譯對應項的句子對,因此該子集不包含在第一組中。但資料集質量很高,包含人工對釋義性和流暢性的判斷,可以作為輔助訓練集。
-
PAWS-Wik 未標記集(終版) 包含從單詞交換和反譯方法生成的句子對。但該子集中有噪聲標記但沒有人工判斷,也可用作輔助訓練集。
PAWS-QQP
該語料庫包含了從 QQP 語料庫生成的對,但由於 QQP 的許可證,我們不能直接獲得 PAWS-QQP 資料,因此必須透過下載最原始資料,然後執行指令碼生成資料並附加標記來重建示例。
重建 PAWS-QQP 語料庫,首先需要下載原始的 QQP 資料集,並將 tsv 檔案儲存到某個位置/path/to/original_qqp/data.tsv;然後從特定連結下載 PAWS-QQP 索引檔案。
PAWS-X
該語料庫包含六種不同語言的 PAWS 示例翻譯,包含:法語、西班牙語、德語、漢語、日語和韓語。詳情可透過這裡檢視( )。
需要注意的是,對於多語言實驗,請使用 paws-x repo 中提供的 dev_2k.tsv 作為所有語言(包括英語)的擴充套件集。
資料集下載地址:
原文連結:
https://ai.googleblog.com/2019/10/releasing-paws-and-paws-x-two-new.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946223/viewspace-2659307/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 覆蓋40種語言:谷歌釋出多語言、多工NLP新基準XTREME谷歌REM
- Apache SeaTunnel 2.3.7釋出:全新支援大型語言模型資料轉換Apache模型
- 全新程式語言V釋出
- FAIR & NYU開發XNLI語料庫:15種語言(含低資源語言)AI
- XLM — 基於BERT的跨語言模型模型
- 集眾之長,一種包含多種語言模型的混合框架模型框架
- 線上語言編輯器(js,css,html等多種語言支援)JSCSSHTML
- 谷歌Linux桌面搜尋釋出 支援10種語言谷歌Linux
- 周明:預訓練模型在多語言、多模態任務的進展模型
- 視覺語言兩開花!谷歌提出全新視覺語言橋樑視覺谷歌
- 谷歌130億引數多語言模型mT5來襲,101種語言輕鬆遷移谷歌模型
- CAT 3.0 開源釋出,支援多語言客戶端及多項效能提升客戶端
- 講堂丨周明:預訓練模型在多語言、多模態任務的進展模型
- 達觀資料研發“曹植”大語言模型,致力於國產GPT模型模型GPT
- 華為開源預訓練語言模型「哪吒」:編碼、掩碼升級,提升多項中文 NLP 任務效能!模型
- Nacos 多語言體系再添新員:首個 Rust 語言版本正式釋出!Rust
- C#使用OllamaSharp呼叫Llama 3、Phi 3等大語言模型C#模型
- 多種語言後端流行的框架後端框架
- SQL語言基礎(資料控制語言)SQL
- nlp中的傳統語言模型與神經語言模型模型
- java語言屬於哪種語言Java
- Go 語言 1.1 版釋出Go
- Google釋出go程式語言Go
- 多項式加法-week7-C語言習題集C語言
- 語言大模型大模型
- 大語言模型模型
- 幫你提升 Python 的 27 種程式語言Python
- NET core 釋出時幹掉多餘的語言包-
- Apache Dubbo 多語言體系再添新員:首個 Rust 語言版本正式釋出ApacheRust
- C語言EOF含義C語言
- R語言實戰(1) 資料集的建立R語言
- C語言讀取通達信資料C語言
- TIOBE 釋出 12 月程式語言排行榜,4個程式語言角逐年度語言
- 大語言模型訓練資料常見的4種處理方法模型
- 牛津大學xDeepMind自然語言處理 第13講 語言模型(3)自然語言處理模型
- 微軟小語言模型Phi-3-Mini-4K-Instructk開源釋出微軟模型Struct
- C語言:一種高效、易學的程式語言C語言
- Google的Go語言速度提升Go