TAPAS: Weakly Supervised Table Parsing via Pre-training
原论文理解解读
这里只进行原论文解读,若有不正确的地方希望指正,不明白的地方我也会写上,如果后续有时间继续进行TAPAS的改进方法和论文阅读。
总体流程
对于bert模型先进行大规模tableqa数据的pre-training,然后进行三个数据集(WIKITQ、SQA、WIKISQL)的微调。
下面就分两部分进行解释。
先说下embedding吧

这个表就很清晰了,query就是question了(pre-training过程是与表相关的文本),query和表格信息用[SEP]分隔,表格是平摊(flatten)后输进去的,##1和##2估计是列名。
- token embedding:standard BERT tokenizer,数字和日期类似Neural Programmer(没看了,有兴趣自己去看看:Learning a natural language interface with neural programmer.)
- Position Embedding:位置index了,和BERT一样
- Segment Embedding:query用0,table用1,和BERT 一样
- Column Embedding:query用0,table用1,2,3等等,表示表格中的第几列
- Row Embedding:query用0,table用1,2,3等等,表示表格中的第几行
- Rank Embedding:如果表格中某些列是可排序的,如数字、日期,则用自然数1-n,1表示最小,依次排序。其余不可排序的如string之类的都用0
实际还有一个Previous Answer,对于某个表格的连续问答,其中当前的问题可能指向前一个问题或它的答案,我们添加一个特殊嵌入,标记一个单元格是否是前一个问题的答案(1表示是前一个问题的答案,0表示其他)。这个1的表示只会在连续问答数据集中出现,这篇文章的连续问答数据集是SQA
大规模数据pre-training
数据集
- Infobox 3.3M 表格
- WikiTable 2.9M 表格
在这里表明只使用横向表格(应该是为了表格编码的简单,纵向表也还好吧,做个简单的转置就能转成横向表了)。对于Infobox数据,只用了表头和一行表数据信息,而

最低0.47元/天 解锁文章
7014





