Table-Operations Aware Fact Verification via Sentence-Table Cloz
为了更好理解模型工作流程举了以下例子:
国家 人口(百万)面积(平方公里)
中国 1400 960万
印度 1300 330万
美国 330 980万
巴西 210 850万
然后,你有一个自然语言陈述,如下:
“美国的人口密度比中国低。
你想知道这个陈述是否能够被表格所证实或反驳。那么,你可以用这篇论文的模型来进行表格事实验证,具体步骤如下:
第一步,模型使用一个预训练的语言模型,DeBERTAV3,来编码一个自然语言陈述和一个表格。DeBERTAV3可以有效地捕捉输入的位置信息,这对于理解表格结构很有帮助。为了让DeBERTAV3能够处理表格数据,模型需要先将表格线性化为一个句子,用特殊符号来标记表格的行、列和单元格。例如,上面的表格可以线性化为:
[Header] 国家 | 人口(百万) | 面积(平方公里) [Row] 中国 | 1400 | 960万 [Row] 印度 | 1300 | 330万 [Row] 美国 | 330 | 980万 [Row] 巴西 | 210 | 850万
第二步,模型在一个大规模的语料库上进行了进一步的预训练,该语料库由从WikiTables中抽取的表格和根据不同类型的表格操作(如过滤、聚合、比较等)自动生成的句子组成。这个预训练任务是一个填空任务,即模型需要根据表格内容来预测句子中被遮盖的与表格操作相关的词语(如“更多”、“平均”等)。这样,模型就可以学习到如何对表格进行推理和计算。例如,对于上面的表格和陈述,模型可能会遇到以下几种填空任务:
“中国的人口是[Mask]亿。
“[Mask]国家的面积最大。
“印度和巴西的人口之和是[Mask]亿。
“美国的人口密度是[Mask]人每平方公里。
第三步,模型在下游的表格事实验证任务上进行了微调,即给定一个自然语言陈述和一个表格,判断陈述是否能够被表格所证实或反驳。为了处理大表格和输入长度限制的问题,模型还采用了一个选择-排序的策略,即只选择与陈述相关的列,并按照行与陈述的相关性对表格进行重排。这样,模型就可以更有效地捕捉陈述和表格之间的关系。例如,对于上面的表格和陈述,模型可能会选择“人口”和“面积”两列,并将“美国”和“中国”两行放在前面:
[Header] 国家 | 人口(百万) | 面积(平方公里) [Row] 美国 | 330 | 980万 [Row] 中国 | 1400 | 960万 [Row] 印度 | 1300 | 330万 [Row] 巴西 | 210 | 850万
第四步,模型使用DeBERTAV3编码陈述和重排后的表格,并输出一个二分类结果:证实或反驳。模型会根据陈述和表格之间的逻辑关系和数值计算来做出判断。例如,对于上面的表格和陈述,模型会计算美国和中国的人口密度,发现美国的人口密度是0.034人每平方公里,而中国的人口密度是0.146人每平方公里,因此美国的人口密度确实比中国低,所以模型会输出“证实”。