论文笔记:TABERT: Pretraining for Joint Understanding of Textual and Tabular Data
論文筆記:TABERT: Pretraining for Joint Understanding of Textual and Tabular Data
目錄
- 論文筆記:TABERT: Pretraining for Joint Understanding of Textual and Tabular Data
- 導(dǎo)語
- 摘要
- 1 簡介
- 2 背景
- 2.1 Semantic Parsing over Tables
- 2.2 Masked Language Models
- 3 TABERT: 從表格數(shù)據(jù)中學(xué)習(xí)聯(lián)合分布
- 3.1 計(jì)算自然語言語句和數(shù)據(jù)庫schema的表示
- 內(nèi)容快照
- 行的線性化
- 垂直自注意力機(jī)制
- 最終的自然語言語句和列的表示
- 3.2 預(yù)訓(xùn)練
- 3.2.1 訓(xùn)練數(shù)據(jù)
- 3.2.2 無監(jiān)督學(xué)習(xí)目標(biāo)
- 4 案例應(yīng)用:表格上的語義解析
- 4.1 有監(jiān)督的語義解析
- 4.2 弱監(jiān)督的語義解析
- 5 實(shí)驗(yàn)
導(dǎo)語
- 會(huì)議:ACL 2020
- 地址:https://aclanthology.org/2020.acl-main.745/
摘要
最近,大規(guī)模預(yù)訓(xùn)練語言模型在NLP的各種任務(wù)上應(yīng)用廣泛。但像BERT之類的傳統(tǒng)模型僅在free-form的自然語言文本中進(jìn)行訓(xùn)練,并不能很好的適用于在結(jié)構(gòu)化數(shù)據(jù)上進(jìn)行的semantic parsing任務(wù)。本文提出了TABERT模型,它使用自然語言文本和(半)結(jié)構(gòu)化文本共同預(yù)訓(xùn)練得到,訓(xùn)練的語料庫由一個(gè)超過2600萬的表格和上下文信息組成。在一個(gè)弱監(jiān)督的semantic parsing數(shù)據(jù)集WikiTABLEQUESTIONS上取得了最好的結(jié)果,在Text-to-SQL數(shù)據(jù)集Spider上取得了與目前SOTA模型相當(dāng)?shù)谋憩F(xiàn)。
1 簡介
傳統(tǒng)的預(yù)訓(xùn)練模型使用free-form的自然語言文本進(jìn)行預(yù)訓(xùn)練,能夠?qū)W習(xí)到的語言中的句法和語法知識(shí)。在下游任務(wù)中,通過對(duì)這些表示進(jìn)行Fine-tune將能夠很自然的應(yīng)用到各個(gè)任務(wù)中。這在大多數(shù)NLP任務(wù)中是行得通的方法,但是在面對(duì)一些需要同時(shí)對(duì)自然文本語句和結(jié)構(gòu)化數(shù)據(jù)進(jìn)行建模的任務(wù)時(shí),比如Text-to-SQL任務(wù),表現(xiàn)并沒有那么好。一個(gè)主要的挑戰(zhàn)在于理解數(shù)據(jù)庫中的schema(即對(duì)數(shù)據(jù)庫中table和column及其關(guān)系的統(tǒng)稱)信息,并能夠?qū)chema和輸入自然語言語句中相應(yīng)的token進(jìn)行對(duì)齊(比如自然語言語句中的“GDP” 指的是table中的 Gross DomesticProduct 這個(gè)column)。
在使用預(yù)訓(xùn)練模型到semantic parsing任務(wù)時(shí),主要有以下問題和挑戰(zhàn):
為此,作者提出了一種將free-form的自然語言文本和結(jié)構(gòu)化數(shù)據(jù)聯(lián)合訓(xùn)練的模型TABERT,可以很好的學(xué)習(xí)這種(半)結(jié)構(gòu)化信息。TABERT被應(yīng)用于WikiTableQuestions數(shù)據(jù)集和Spider數(shù)據(jù)集并取得了很好地效果。
2 背景
2.1 Semantic Parsing over Tables
對(duì)于表格的Semantic Parsing一個(gè)重要的應(yīng)用是Text-to-SQL。在給定關(guān)系型數(shù)據(jù)庫(即schema)的前提下,將用戶的提問Question生成相應(yīng)的SQL查詢語句。下圖為Spider數(shù)據(jù)集的一個(gè)示例:
2.2 Masked Language Models
在訓(xùn)練語言模型時(shí),人們將整個(gè)自然語言語句中的某些token進(jìn)行遮擋,訓(xùn)練模型根據(jù)上下文來預(yù)測得到這些被遮擋的token。采用這種技術(shù)訓(xùn)練得到的語言模型即Masked Language Model,如BERT等。
3 TABERT: 從表格數(shù)據(jù)中學(xué)習(xí)聯(lián)合分布
3.1 計(jì)算自然語言語句和數(shù)據(jù)庫schema的表示
如圖所示,整個(gè)TABERT模型結(jié)構(gòu)圖分為A、B、C三部分。其大致流程如下:在給定自然語言語句u和數(shù)據(jù)庫表格T的情況下,首先從表格T中選出與u最相關(guān)的K行數(shù)據(jù)作為數(shù)據(jù)庫的內(nèi)容快照(Content Snapshot)。接著,將這幾行內(nèi)容分別進(jìn)行序列化和自然語言語句一同輸入到Transformer中或者相應(yīng)的編碼表示。隨后,編碼后的每一所有行被送入垂直自注意力編碼層(Vertical Self-Attention),一個(gè)列值(一個(gè)單詞)通過計(jì)算同一列的值(同一單詞)的垂直排列向量的自注意力得到。最終經(jīng)過池化層得到單詞和列的表示。
內(nèi)容快照
TABERT的一個(gè)主要特點(diǎn)是使用了表格中的內(nèi)容值,因?yàn)樗鼈兛梢愿玫姆磻?yīng)所屬column的屬性。但是,一個(gè)表格T的行數(shù)可能會(huì)非常多,為了減少模型的計(jì)算量。這里,作者設(shè)計(jì)只選擇與自然語言問句u最相關(guān)的前K行輸入到模型。模型使用n-gram的重合程度作為相似度的度量標(biāo)準(zhǔn)。這里也區(qū)分了K>1和K=1的情形。
- K>1:K>1的情況下直接使用n-gram計(jì)算得到最相似的Top K行輸入給模型。
- K=1:K=1的情況下會(huì)將各個(gè)column中最相似的單元格拼接為1行輸入給模型。
行的線性化
得到內(nèi)容快照后,將其線性化后和自然語言語句u組合輸入給Transformer。其輸入格式為:
[CLS] utterance [SEP] c1 [SEP] c2……其中,每一個(gè)c值表示成三部分:列名、類型和單元值,中間使用“|”分割。
例如,上圖中R2R_2R2?這一行的輸入即
垂直自注意力機(jī)制
當(dāng)K>1時(shí),會(huì)得到多行的編碼結(jié)果,不過由于每一行是單獨(dú)計(jì)算的,因此是相互獨(dú)立的。為了使信息在不同行的表示中流動(dòng),TABERT引入了垂直自注意力,可以在不同行的相互對(duì)齊的向量中進(jìn)行計(jì)算。
如圖2(C)所示,TABERT有V個(gè)垂直堆疊的自注意力層。為了生成垂直注意力的對(duì)齊輸入,首先對(duì)每個(gè)單元值計(jì)算固定長度的初始向量(對(duì)Transformer的輸出向量進(jìn)行平均池化)。接下來將自然語言描述的向量序列與初始化后的單元值向量進(jìn)行連接。
垂直注意力與Transformer擁有相同的參數(shù),但是只對(duì)垂直對(duì)齊的元素(自然語言語句中的同一個(gè)單詞,同一列中的單元值)進(jìn)行操作。這種垂直注意力機(jī)制能夠聚合不同行中的信息,允許模型捕獲單元值的跨行依賴關(guān)系。
最終的自然語言語句和列的表示
最終每一列的表示是將最后一個(gè)垂直自注意力層中對(duì)齊的單元值向量進(jìn)行平均池化,得到該列的表示。自然語言語句中每一個(gè)單詞的表示也采用類似的方式進(jìn)行計(jì)算。
3.2 預(yù)訓(xùn)練
3.2.1 訓(xùn)練數(shù)據(jù)
使用了從英文維基百科和WDC WebTable語料庫中收集的表格和與其相鄰的文本作為訓(xùn)練數(shù)據(jù)。預(yù)處理后的語料包含26.6M個(gè)表和自然語言句子。
3.2.2 無監(jiān)督學(xué)習(xí)目標(biāo)
TABERT使用不同的目標(biāo)來學(xué)習(xí)上下文和結(jié)構(gòu)化表格的表示。對(duì)于自然語言上下文,還是使用MLM目標(biāo),在句子中隨機(jī)mask15%的token。對(duì)于列的表示,TABERT設(shè)計(jì)了兩個(gè)學(xué)習(xí)目標(biāo):
- 遮罩列預(yù)測(Masked Column Prediction,MCP)目標(biāo)使模型能夠恢復(fù)被遮蔽的列名和數(shù)據(jù)類型。具體來說就是從輸入表中隨機(jī)選取20%的列,在每一行的線性化過程中遮蔽掉它們的名稱和數(shù)據(jù)類型。給定一列的表示,訓(xùn)練模型使用多標(biāo)簽分類目標(biāo)來預(yù)測其名稱和類型。直觀來說,MCP使模型能夠從上下文中恢復(fù)列的信息。
- 單元值恢復(fù)(Cell Value Recovery,CVR)目標(biāo)能夠確保單元值信息能夠在增加垂直注意力層之后能夠得以保留。具體而言,使用經(jīng)過V層vertical attention后的向量來預(yù)測表格中的原始值,這里并不是用經(jīng)過pooling后的,所以只需要預(yù)測一個(gè)value值,但是每個(gè)value值可能由多個(gè)token組成,所以后面會(huì)采用一個(gè)span的預(yù)測方式。
4 案例應(yīng)用:表格上的語義解析
4.1 有監(jiān)督的語義解析
Spider數(shù)據(jù)集即是一個(gè)有監(jiān)督的語義解析任務(wù),他是由人工標(biāo)注得到的大型Text-to-SQL數(shù)據(jù)集。
4.2 弱監(jiān)督的語義解析
WikiTableQuestions數(shù)據(jù)集采用了一種類似于強(qiáng)化學(xué)習(xí)的方式,即模型看不到SQL語言的標(biāo)注,只知道其執(zhí)行結(jié)果是否正確。
5 實(shí)驗(yàn)
在Spider和WikiTableQuestions數(shù)據(jù)集上結(jié)果如下:
作者也對(duì)比了一些組件的效果。
總結(jié)
以上是生活随笔為你收集整理的论文笔记:TABERT: Pretraining for Joint Understanding of Textual and Tabular Data的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Builder 混合式开发
- 下一篇: 三星+android+7.0+自动纠正单