BERT 层输入:每个输入 token 都被表示成其词、绝对位置、句段(无论是属于问题还是表)、列和行以及数值排序的嵌入之和。 该模型有两个输出:1)一个分数,用于表示每个表格单元格的内容属于答案一部分的概率;2)一个聚合操作,用于表示是否应用操作以及应用哪些操作来将各个单元格的内容聚合成最终答案。下图展示了对于问题「两位顶级摔跤运动员的冠军赛平均时间是多少?」,该模型有较高的概率选择 Combined days 列的前两个单元格以及使用 AVERAGE 操作。
模型示意图:BERT 层同时编码问题和表格。该模型会输出每个聚合操作的概率以及每个表格单元格的选择概率。对于问题「两位顶级摔跤运动员的冠军赛平均时间是多少?」,该模型以较高的概率选择了 AVERAGE 操作以及数值为 3749 和 3103 的两个单元格。 预训练 谷歌采用的预训练过程类似于 BERT 在文本上的训练方法,其训练数据是从英语维基百科提取的 620 万组表格 - 文本数据对。在预训练过程中,模型的学习目标是恢复表格和文本中被掩码替换的词。通过实验发现,该模型在这项任务上的准确度相对较高——对于训练过程中未曾见过的表格,该模型能够正确恢复 71.4% 的被掩盖 token。 仅从答案学习 在微调过程中,模型的目标是学习如何基于表格回答问题。这可以通过强监督方法实现,也可使用弱监督方法。如果使用强监督方法,则对于给定表格和问题,必须先提供所要选择的单元格和聚合操作(比如求和或计数),但这个过程非常耗时耗力。因此更常见的情况是使用弱监督方法进行训练,此时仅需提供正确答案即可(比如对于以上示例,正确答案是 3426)。 在弱监督情况下,模型需要自己尝试寻找能得到接近正确答案的聚合操作和单元格。这个过程需要在所有可能的聚合决策上计算期望,并将其与真实结果进行比较。弱监督方法更加有利,因为它让非专家也能提供训练模型所需的数据,而且消耗的时间也比强监督方法少。 结果 谷歌在 SQA、WikiTableQuestions (WTQ) 和 WikiSQL 这三个数据集上进行了实验验证,并对比了在解析表格数据任务中表现最佳的三种其它方法。其中,在 WikiSQL 上对比的模型为 Min et al (2019),在 WTQ 上对比的模型为 Wang et al. (2019),在 SQA 上对比的模型为 Mueller et al., (2019)(这是谷歌这个团队自己之前的一项研究)。 对于所有数据集,报告的结果都是弱监督训练设置下在测试集上的答案准确度。对于 SQA 和 WikiSQL,谷歌使用了基于维基百科数据得到的预训练模型作为基础模型;而对于 WTQ,他们发现在 SQA 数据上再进行预训练会更有利。谷歌新方法的表现优于之前最佳水平——在 SQA 上超过之前最佳方法 12 个百分点,在 WTQ 上超过之前最佳方法 4 个百分点,在 WikiSQL 上与之前最佳方法表现相近。