天天看點

達摩院開源中文社群首個表格預訓練模型,取得多個基準SOTA

達摩院開源中文社群首個表格預訓練模型,取得多個基準SOTA

此外,在達摩院建構的表格問答中文資料集 TaBLUE 上,SDCUP 比同參數規模 BERT 模型效果提升約 3 個百分點。達摩院資深算法專家李永彬介紹,SDCUP 模型是達摩院表格對話技術系列研發的一部分,後續将持續對外開源。

目前,預訓練表格模型 SDCUP 和相關 NL2SQL 技術已經應用在了阿裡雲智能客服(雲小蜜)的 TableQA 産品中。并且,為滿足不同場景下的訓練和傳遞需求,表格管理、資料配置、模型訓練和效果幹預等功能已全部完成産品化,基本做到知識梳理低成本、問答建構高速度、模型訓練無标注,滿足各個場景的傳遞運維需求。

接下來看 SDCUP 模型的技術詳解。

表格問答技術

由于資料結構清晰、易于維護,表格 / SQL 資料庫是各行各業應用最普遍的結構化資料,也是智能對話系統和搜尋引擎等的重要答案來源。傳統表格查詢需要專業技術人員撰寫查詢語句(如 SQL 語句)來完成,因門檻高,阻礙了表格查詢的大規模應用。表格問答技術通過将自然語言直接轉換為 SQL 查詢,允許使用者使用自然語言與表格資料庫直接互動,具有很高的應用價值。 什麼是表格問答(TableQA)呢?我們通過一個例子來引入,如下圖班級學生資訊的 Table,使用者可能會問:“告訴我 3 班最高的男生有多高?” 要想解決這個問題,需要先把自然語言轉換成一個 SQL 語句,然後用 SQL 語句去查詢表格。是以整個 TableQA 的核心問題就是解析自然語言:把 TEXT 文本轉變為 SQL 語句(NL2SQL)。

達摩院開源中文社群首個表格預訓練模型,取得多個基準SOTA

由于表格内容複雜多樣,涉及各行各業的專業知識,樣本标注難度大,模型遷移能力差,這項任務一直是自然語言處理領域的難題。

表格預訓練模型國内外工作

近年來預訓練語言模型(BERT、GPT、T5)迅速發展,促進了 NLP 領域各種任務上的進步,例如閱讀了解、命名實體識别等任務。但目前的預訓練模型基本上在通用文本上進行訓練,在一些需要對結構化表格資料進行模組化的任務上(如 Text-to-SQL 和 Table-to-Text),需要同時對結構化資料進行表示,如直接采用現有 BERT 等模型,就面臨着編碼文本與預訓練文本形式不一緻的問題。 目前,英文場景已有一些針對結構化資料做預訓練的探索(GAP,Grappa),但在中文場景該方向還處于空白狀态。

基于此,研究者所在的達摩院 Conversational AI 團隊釋出了中文首個表格預訓練模型 SDCUP,同時也是業界最大表格預訓練模型(72 層 Transformer,10 億參數),在 WikiSQL、SQuALL 等多個學界 Benchmark 均取得 SOTA 效果。

達摩院開源中文社群首個表格預訓練模型,取得多個基準SOTA

項目位址:

https://github.com/alibaba/AliceMind

預訓練相關工作

和 BERT、GPT 等預訓練語言模型不同,預訓練表格模型旨在同時模組化自然語言和結構化表格資料,在語言了解的次元希望能夠将自然語言的語義 Grounding 至表格的結構内容當中,在語言生成的次元希望能夠基于結構化資料生成流暢的文本。

達摩院開源中文社群首個表格預訓練模型,取得多個基準SOTA

目前谷歌、微軟、亞馬遜等公司都在加快對相關技術的布局。如下圖所示,按照目标下遊任務的不同,預訓練表格模型可以分為三大類:單輪、多輪和生成。

  • 單輪模型旨在提升下遊的 Text-to-SQL 語義解析任務,代表工作有耶魯的 Grappa 和亞馬遜的 GAP;
  • 多輪模型旨在提升基于表格的對話式語義解析任務(CoSQL),代表工作有微軟的 SCORE 和 Element AI 的 PICARD;
  • 生成模型旨在提升 Table-to-Text 和 TableQA 的 Response Generation 生成的效果,代表工作有 Intel 的 TableNLG 和 HIT 的 TableGPT。

目前,Conversational AI 團隊在單輪、多輪、生成三個方向均有布局。本文主要介紹單輪表格預訓練的工作,同時也是中文社群第一個表格預訓練模型,多輪和生成的工作敬請關注我們後續的技術文章。

表格問答相關工作

一個表格問答系統主要由三個子產品組成,其中:

  • 自然語言了解子產品主要執行語義解析算法,将自然語言問句轉為對應可執行的 SQL 語句;
  • 對話管理子產品執行多輪的狀态跟蹤和政策優化;
  • 自然語言生成子產品則根據解析出的 SQL 語句和 SQL 的執行結果生成對應的回複。

表格問答技術在金融、政務、教育、醫療等場景均有廣泛應用前景,是以受到了學術界和工業界的高度關注。以 Text-to-SQL 解析任務為例,自從 2017 年 Salesforce 釋出 WikiSQL 資料集以來,就一直受到業界的持續關注和投入,SQL 解析的準确率已經從 2017 年的 35% 提升到 2021 年的 91%。另外,業界也在持續建構更加複雜、更加符合真實場景的資料集,從單表到多表、從單輪到多輪,為該方向的發展不斷注入活力。

達摩院開源中文社群首個表格預訓練模型,取得多個基準SOTA

團隊除了在 WikiSQL/Spider/CoSQL 三個學術界資料集取得 SOTA 效果之外,也建構了該領域中文的單輪、多輪、生成的資料集,并且将相關技術應用于阿裡雲智能客服的表格問答子產品,從産研結合的角度推動該領域的發展。

研究動機

預訓練表格模型最終的目标是為了提升下遊 Text-to-SQL 任務的效果,如下圖所示,在自然語言和表格的 schema 之間,存在這一個複雜的語義互動結構(Schema Linking),對于該結構的識别和模組化已經成為 Semantic Parsing 任務中的重要瓶頸。然而,業界已有的表格預訓練模型沒有顯式模組化自然語言問題和表格資料之間的語義互動結構。

達摩院開源中文社群首個表格預訓練模型,取得多個基準SOTA

是以,團隊提出了基于模式依存的表格預訓練模型,為了提升模型對于不同表格模式下的魯棒性,還進一步提出了基于模式知識擾動的表格預訓練模型;此外,為了減輕資料噪音對模型的影響,團隊還提出了基于課程學習的表格預訓練模型。

首個中文表格預訓練模型SDCUP

基于模式依存的表格預訓練

對于預訓練表格模型來說,最關鍵的問題在于找到自然語言問題和模式之間的關聯,又稱模式連結問題。是以在預訓練模型的訓練目标中應該顯式地引入這種模式連結結構,如圖所示,團隊引入了模式依存的方法,通過模型來預測問題中的哪些詞應該和模式中的哪些項進行連結,并且這種連結關系對應 SQL 中的什麼關鍵詞。通過這種顯示的關系模組化,能夠得到更好的問題和模式表征,進而提升下遊 TableQA 模型的性能。

達摩院開源中文社群首個表格預訓練模型,取得多個基準SOTA

他們參考語義依存分析的方法對 Schema Dependency 任務進行模組化,首先使用全連接配接網絡分别擷取每個節點作為父親節點和作為孩子節點的語義表示,然後使用雙仿射網絡預測每個邊存在的機率和該邊關系類型的機率:

達摩院開源中文社群首個表格預訓練模型,取得多個基準SOTA

基于模式知識的問題擾動任務

與預訓練語言模型相比,表格預訓練模型在模式存在的環境下找到合适的模式表征也至關重要,如下圖所示,通過擾動問題中涉及到模式連結的詞彙,然後通過預訓練模型來恢複。

達摩院開源中文社群首個表格預訓練模型,取得多個基準SOTA

基于課程學習的表格預訓練

預訓練模型依賴大規模的資料進行訓練,而資料存在難度不同、噪聲程度不同等特性。如何更好地利用資料成為訓練預訓練模型的關鍵。是以團隊提出使用課程學習來克服多樣資料帶來的影響。 課程學習是一種模仿人類的學習方式,即從簡單到複雜,從幹淨到備援的學習過程。類比到深度學習模型中,模型也需要一種合适的學習政策,先學習哪些資料、再學習哪些資料,對模型能力的提升極為重要。如果目前模型學習的資料過于複雜,則容易造成欠拟合,如果過于簡單,容易造成過拟合,是以需要一種自動的手段篩選目前資料是否符合模型目前期待的複雜程度。基于這個思想,他們的方案包含兩個評估子產品: 其一,資料難度評估子產品:評估目前資料的難易程度,設定 d = |I|,其中 d 代表困難程度,I 代表預訓練模型的輸入(包含自然語言 + 表格模式),即假設輸入的問題長度和模式長度越長,最終可能生成的 SQL 語句更加複雜,對應目前資料難度越高; 其二,模型接受能力評估子產品:除了對資料本身進行打分之外,我們還需要對模型目前的接受能力,或者學習能力進行評估,一般來說,模型訓練越久,其接受能力越強。是以将模型的接受能力定義為:

達摩院開源中文社群首個表格預訓練模型,取得多個基準SOTA

其中 d 為資料難度,t 為訓練的步數,T 為最大訓練步數。 最終,從大規模資料中采樣得出具體資料時,如果目前資料的難度小于模型的接受能力,則改資料用來進行訓練,反之則放回訓練集。随着不斷的疊代,所有的資料将漸進式地完成輸入。

達摩院開源中文社群首個表格預訓練模型,取得多個基準SOTA

實驗與分析

實驗資料集

最終的表格預訓練資料包含 2.8 億條 < Text, SQL, Table> 三元組,共 350 GB。為評測表格預訓練模型的品質,團隊在學術界已有的英文資料集進行驗證,其中 WikiSQL 資料集是 Salesforce 在 2017 年提出的大規模标注 Text-to-SQL 資料集,也是目前規模最大的 Text-to-SQL 資料集,它包含 24,241 張表格、80,645 條自然語言問句及相應的 SQL 語句。微軟 SQuALL 資料集則增大了該任務的預測難度,每個 cell 可能包含多個實體或含義,測試集使用的表格都是訓練階段沒有見過的。目前這兩個資料集已經成為學術界評測預訓練表格模型最通用的 Benchmark 資料。 同時,團隊進一步建構了表格問答中文 Benchmark 資料集 TaBLUE,在基于模闆建構的資料基礎之上,由人工改寫對應的文本,使其更加符合真實的表格問答場景,最終單輪的評測資料包含金融、政務、醫療和教育四個行業,共有 4W 高品質标注 < Text,SQL > 資料。

學術界 Benchmark 結果

在耶魯大學的 WikiSQL 資料集和微軟建構的 SQuALL 資料集上,SDCUP 模型也取得了 SOTA 的效果,并且相比學術界已有的表格預訓練模型有較顯著提升。

達摩院開源中文社群首個表格預訓練模型,取得多個基準SOTA

SDCUP 在耶魯大學 WikiSQL 資料集上取得業界最優效果

達摩院開源中文社群首個表格預訓練模型,取得多個基準SOTA

SDCUP 在微軟 SQuALL 資料集上取得業界最優效果。

中文資料集結果

在 TaBLUE 資料集上,SDCUP 的 base 和 large 模型相比同參數規模的 BERT 模型分别提升 3.3 和 2.9 個百分點,并且随着資料難度的增大提升幅度也逐漸增大,展現出 SDCUP 模型對于複雜 NL2SQL 資料具有更好的模組化能力。

達摩院開源中文社群首個表格預訓練模型,取得多個基準SOTA

總結

本文詳細介紹了中文首個表格預訓練模型——SDCUP 背後的資料建構和模型訓練等技術細節,以及相關表格問答技術的産品化和業務落地情況。如何模組化自然語言和結構資料之間的語義關聯是自然語言處理領域備受關注的課題,本文所提出的 Schema Dependency 系列方法可以視為該領域下新的探索方向。 除了在中英文 NL2SQL 任務中取得 SOTA 效果之外,團隊也在探索如下方向:

  • 超大規模預訓練表格了解模型;
  • 超大規模預訓練表格生成模型;
  • 端到端開箱即用的問答系統。

參考文獻:[1] Yu T, Zhang R, Polozov A, et al. SCoRe: Pre-Training for Context Representation in Conversational Semantic Parsing[C]//International Conference on Learning Representations. 2020.[2] Hui B, Geng R, Ren Q, et al. Dynamic Hybrid Relation Exploration Network for Cross-Domain Context-Dependent Semantic Parsing[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2021, 35(14): 13116-13124. [3] Shi P, Ng P, Wang Z, et al. Learning Contextual Representations for Semantic Parsing with Generation-Augmented Pre-Training[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2021, 35(15): 13806-13814.