TSQA: Tabular Scenario Based Question Answering 翻译
介绍
Scenario-based question answering(SQA)回答的是基于场景的问题,它的输入既有文本信息也有结构化数据,应用场景之一就是在高校的地理考试中,从图表中回答问题,这种情况普通的阅读理解任务做不了,也需要从自然语言中进行推理。因此,一个研究方向就是:能否让SQA自动进行?
任务和挑战。确切的来说,我们关注于从一系列的文本和表格中推断答案的问答任务,称其为TSQA(Tabular Scenario based Question Answering)。我们构建了一个名为GeoTSQA的数据集。它包含1k条从中国高校地理考试中收集来的真实的地理问题。与已有的基于表格的问答数据集相比,它需要不同的阅读和推理技巧,也表现出了很多挑战。
如图是我们数据中的一个实例,要想正确解答,必须要意识到2000-2003之间的变化,要从文本中注意到到ELP和工作者的平均教育水平的联系,还要有2000年农村人口流入城市的背景知识。总的来说,TSQA要求适当的操作表格,以及理解融合文本的信息。
我们的方法。为了解决这个问题,引入阅读理解领域的一些比较成功的模型和方法,用一个表格到文本的生成器来扩展它,称其为TTGen。核心思想是TTGen是一个可以用许多预定义的模板来编码句子,然而,生成的句子可能很多,会给阅读理解模型带来噪声,也无法处理,为了解决这个问题,TTGen整合了一个句子排名模型,该模型融合了场景、问题和领域知识中的信息,从而有效地选择对回答问题最有用的句子。在GeoTSQA上的大量实验中,它优于各种强基线方法。
关键贡献:
- 构建并公开了数据集GeoTSQA,这是第一个用于TSQA的数据集
- 我们扩展了MRC方法来解决TSQA,TTGen表现效果很好。
任务与数据集
任务与数据集
TSQA数据集由\(<P, T>\)构成,\(P\)是文章passage,\(T\)是表格Table,\(Q\)代表问题,\(O\)代表备选答案。目标是从选项\(O\)中选择一个作为\(Q\)的答案。
数据集构建
GeoTQSA,据我们所知,这是一个针对TQSA的数据集。
- 收集问题。
- 识别表。
- 提取表格。
- 过滤问题。(删掉不通过表格就能回答的问题)
数据集统计
方法
我们提出了一个两阶段的方法来解决TQSA问题。
- TTGen生成器为\(<P, T>\)和\(Q\)生成备选的top-k句子。
- 基于K-BERT的阅读理解方法,融合文章\(P\)中的信息、句子\(S\)、问题\(Q\)、域知识\(K\),最后为选项中的句子排名。
域知识的阅读理解
K-BERT在阅读理解领域表现很好,能够充分利用领域知识来增强能力。
MRC with KBERT
其中,\(P, s_i, Q, o_i, NUMS_i\)表示文章、第\(i\)个候选句子、问题、第\(i\)个备选句子和前面所有部分的数值型的字符。原来的所有数字位置都用[NUM]
来替代。
我们使用K-BERT来获取\(I_i^{MRC}\)中的每个词的向量表达,捕捉他们的语义特征:
其中\(K\)是知识基础。
训练目标是让\(\Omega\)和二分类标签接近,测试阶段选择二分类分数最高的一项。
K-BERT通过外部知识库k扩展了BERT。它有助于融合P、S、Q、O和k中的信息。简单地说,K中的每个条目都是一对<实体、事实句>或三元组<实体、属性、值>,可以通过将属性和值连接到事实句中来转换成一对。K- bert使用K将输入序列展开为一棵单词树: 从K中检索关于实体的事实句子,并在输入序列中每次提到实体后作为分支插入。在我们的实现中,对于每个实体,我们找到与输入序列中最相似的\(\epsilon\)个事实句子,相似度用预训练bert进行衡量。
域知识
域知识选择的是Clinga,一个很大的中国地理知识库。
(Table-to-Text)TTGen
下面我们将描述从表格中生成的句子,并将其输入到我们的MRC方法中。
句子生成
我们定义了融合表格中的元素的六种计算模板:
- 最值
- 特殊值
- 与平均值相比较
- 单调性
- 整体趋势
- 范围比较
句子排序
句子排序分成两部分,一部分是计算句子级别,一部分是计算模板级别,如图所示。
句子级别:
模板级别:
这两部分都是用K-BERT来得到表示,一个得到句子级别的表示,一个得到模板级别的表示,规定每个模板中只要有大于等于一个句子被判定为有用,则这个模板就是有用的,目标是模板级别的输出逼近句子级别的有用程度计算的输出,句子级别有用程度的输出逼近最终的有用分数。每个句子的分数表示:
其中,\(\hat{\phi_j}\)表示句子级别的K-BERT输出的每个句子的重要程度,\(\hat{\psi}_{\tau_j}\)表示生成句子\(s_j\)的模板被模板级别的K-BERT表示的是否有用。