STL-CQA: Structure-based Transformers with Localization and Encoding for Chart Question Answering阅读

原文链接:https://doi.org/10.18653/v1/2020.emnlpmain.264

这篇文章带来的启发:

        我们知道利用图表的结构化信息来辅助CQA任务很重要,但是要如何把结构化信息应用在CQA阶段?这篇论文给出的思路是使用结构化信息来对question进行重新编译,把复杂词汇替换成标准化标记,在替换之后才对question进行embedding。

Abstract

        图表问题解答 (CQA) 是回答有关图表图像中可视化项的自然语言问题的任务。受 VQA 方法的启发,近期研究更多依赖于image-based的注意力机制来解决QA,而忽略了图表固有的结构(只利用了视觉信息,忽略语义信息)。我们提出了 STL-CQA,它通过按顺序的元素定位、问题编码(question encoding)、基于transformer的学习方法来改进CQA。

        我们进行了大量的实验,同时提出了预训练任务、方法以及改进的数据集,其中包含更复杂和更平衡的不同类型的问题。与各种图表 Q/A 数据集上最先进的方法相比,所提出的方法显示出显着的准确性提高,同时在 DVQA 数据集上的表现甚至超过了人类基线。我们还展现了可解释性,并且测试了推理管道中的不同组件。

Introduction

        CQA是从VQA延伸出来的针对折线图、饼图这类数据可视化图像进行自然语言问答的任务。该问题为我们提供了使用自然语言查询理解图表的能力,以及为正在进行的推理操作奠定基础,以检索出所需查询的最终答案。

        CQA 是一项具有挑战性的任务,原因如下:

(a) 由于图表特定的单词带来的大量问题/答案词汇量;

(b)要求理解自然语言问题以及视觉信息并进行多模态细粒度推理;

        这与 VQA 不同,VQA 的答案字典通常是有限的,并且与数据可视化所需的推理相比,推理是粗粒度的,而数据可视化所需的更精细的细节(如条形长度和颜色)会严重影响推理和答案。

        早期工作主要有:

  • FigureQA:用关系网络进行问答;
  • DVQA:将文本检测和基于 VQA 的注意力模块相结合来回答图表问题;
  • LEAF-QA:根据图表元素对问题/答案进行编码,以处理无限词汇问题,同时采用基于 VQA 的模型作为支柱。

        尽管这些方法提高了各种图表数据集的性能,但对各种图表类型进行稳健推理的挑战远未得到解决。我们认为,这主要是由于没有利用图表的重要特征,这些特征将它们与普通自然图像区分开来 - 图表元素的结构和集合。在本文中,我们提出了一个基于 transformer 的模型来利用图表的结构特性,结果表明我们的模型可以为生成的答案提供更深入、更好的解释。我们的主要贡献可以总结如下:

  • 我们提出了一个基于 transformers 的框架,以充分利用图表的结构特性,并在图表问答任务上实现SOTA性能。
  • 我们定义了一组预训练任务,用于将图表或数据可视化的结构知识引入到所提出的模型中,并证明其有效性。
  • 我们进行了一系列可解释性实验来剖析我们模型的推理过程。
  • 我们扩展了最近提出的 LEAF-QA 数据集(Chaudhry等人,2020 年),以生成一个更难、更平衡的数据集。

Related Works

Visual Question Answering

Charts Questions Answering

        早期工作分为两类,第一类方法直接依赖于图表的图像与问题本身(Kahou et al., 2017; Kafle et al., 2018, 2020; Chaudhry et al., 2020),第二类方法会先专注于解析图表数据,然后再执行QA(Methani et al., 2020a; Qian et al., 2020)。我们的方法属于第一类。

        除了图表问答之外,还有一些专注于图表数据解析的工作(Cliche et al., 2017;Kallimani et al., 2013;Savva等人,2011 年)或视觉结构提取(Tsutsui 和 Crandall,2017 年;Poco 和 Heer,2017 年)。虽然它们不专注于基于自然语言的图表理解,但它们的组成部分构成了我们对图表的结构理解的基础。

STL-CQA

        在本节中,我们描述了我们的整体框架,这是第一类方法,它充分利用图表的结构知识对问题进行编码和推理,以完成图表问答 (CQA) 的任务。我们的框架称为 STL-CQA - Structure-based Transformers with Localization and encoding for CQA。尽管以前的工作试图利用图表结构对问题进行编码,但他们的推理框架仍然没有利用这些结构信息,导致性能欠佳,并且对模型的推理过程的分析不足。

        我们将整个框架分为三个阶段 - Localization、Encoding 和基于 Transformers 的结构注意力。虽然前两个阶段是目前最先进的框架中采用的,但新提出的推理阶段使我们的算法更加强大和可解释。

1.Localization

        我们多阶段框架的第一步是检测和定位图表中不同类型的元素。采用的framework是基于Resnet-101的Mask-R CNN,我们在大约198K图片的数据集上对framework进行训练。由于 DVQA (Kafle et al., 2018)/LEAFQA (Chaudhry et al., 2020)等公共数据集中提供的元数据仅包含边界框,我们需要为将边界框的内容转换成蒙版,不同图表具有不同的几何形状,所以蒙版也不同。我们通过Detectron2 (Wu et al., 2019) 框架来完成添加蒙版任务,学习率初始化为 0.00025,迭代 150000 次。

2.Encoding

        与VQA不同,CQA中的文本词汇量较大甚至是无限的,每个图表的问题都包含与该图表相关的特定的单词。因此,我们采用动态编码方案(Chaudhry等人,2020 年;Kafle et al., 2020)对问题进行编码。研究中使用文本oracle来评估性能,oracle是一个完美的OCR,提供对图表上不同文本区域的边界框和内容的访问,而文本区域对象(例如x-title,y-title)则是取自本地化系统,我们使用边界框信息为每个文本字符串分配相对位置。定位方案基于(Chaudhry et al., 2020)研究,即x轴标签从左到右以递增顺序分配位置,y轴标签和图例标签则自底向上(从左向右,从上到下)分配位置。对于饼图和环形图,位置以逆时针方式分配。

        从图表中提取出文本信息和其对应位置之后(这些称为标准化标记),我们需要将question中的特定单词替换成标准化标记,例如图1中‘Net Bilateral Aid’是图表的标题,于是在question中就将其替换成‘title’。

3.Structure-based Transformers

该模块主要作用:(a)理解图表结构,(b)理解问题,(c)对图表进行推理以找到答案。

Input:模型的输入是两个特征序列。

(1)问题 Q 被分解为一个单词序列 {w0, w1, ...., wn},并被编码为维度为d_e的单词嵌入序列 {e0, e1, ....., en},在embedding时考虑了位置嵌入:

e_{i}=\operatorname{word}-\mathrm{emb}\left(w_{i}\right)+\operatorname{pos}-\mathrm{emb}(i)

 在将单词嵌入序列作为输入到我们的模型之前,会应用一个归一化层。

(2)对于图表图像 C,Mask-RCNN 的输出作为模型输入。我们使用检测网络的 Resnet-101 主干提取特征,并使用 m个不同图表元素 {c0, c1, ...., cm} 的边界框对图表进行编码。图表中的推理在很大程度上取决于对每个框的几何形状和类型的正确检测,因此,与(Tan 和 Bansal,2019 年)不同,即使有几个重叠,也会为每张图像提取固定数量的对象(假定每个图表所包含的形状数目是固定的,如果图表本身形状数目过少,就通过复制形状来实现数目对齐,造成的结果是预测的边界框中有些可能是完成重叠的),我们应用非极大抑制(Neubeck 和 Van Gool,2006 年)来选择最佳的边界框,最后使用 Resnet-101 网络提取最终边界框的特征。此外,还采用一个 plot 类,该类提供绘图区域的边界框以提供全局图片。这对于回答有关图像的全局信息问题(例如图表中是否有网格?)是必要的。由于不同的图像可以具有不同数量的图表元素,因此我们将序列填充为所有图表具有固定长度的 M。图表图像输入序列的计算方式如下:

$f_i=\operatorname{LayerNorm}\left(W_F r_i+b_f\right)$

$p_i=\operatorname{LayerNorm}\left(W_P x_i+b_p\right)$

$c_i=\frac{f_i+p_i}{2}$

 其中fi代表的是图像特征,来自于Resnet-101的输出;pi代表的是边界框的位置特征,来自于对 {c0, c1, ...., cm}的编码结果。

Chart Relation Transformer:图表特征ci会送入一个有N_{CE}层的transformer中,每一层都有一个自注意力块和一个前馈块,两者都有残差连接。

Question Transformer:N_L层的transformer,每层都有一个自注意力块和一个带有残差连接的前馈层,用来提取question的语义。

Reasoning Module:带有 N_R层的交叉注意力 transformer 块,它以chart transformer和question transformer生成的上下文特征作为输入。每一层由三部分组成 - 交叉注意力、自注意和前馈层。在chart stream的交叉注意力层中,图表图像特征作为query,来自question的特征作为key和value。在question stream的交叉注意力层中则是反过来。

4.Pre-training

        我们的预训练任务是基于语言建模(Devlin et al., 2019)和VQA(Tan and Bansal, 2019)的论文的,任务主要分为三类:

Chart Structure tasks:关注三个主要方面 (a) 图表元素的类型 (b) 图表元素的位置 (c) 图表中非文本元素的颜色和模式。

对于图表元素的类型,我们考虑 23 个图表类别,并对它们上的每个元素使用交叉熵分类损失。

对于图表元素的位置,我们同样采取定位方案(Chaudhry et al., 2020),例如,在 x 轴上的第三个位置(从左到右)和图例框中的第二个位置(从上到下)有一个条形图,将分配一个位置 2_1(零索引),然后这些位置将被视为分类任务的目标。

对于颜色和图案,我们使用图表元数据。我们将特定的颜色和图案组合视为一个类别,并训练模型将颜色和图案识别转换为分类问题。

Language/Question:对于语言任务,我们在标准 MLM (掩码语言模型)上训练模型,但是,我们不会随便屏蔽单词。我们特别关注图表特有词汇单词或修饰句子含义的单词,例如 higher、lower 等。在图片说明生成过程中,我们跟踪这些单词并将其索引传递给随机掩码函数,以便在训练阶段仅屏蔽这些索引。

Cross Modal:对于推理模块,我们只使用一个预训练任务,类似于 BERT 的下一个句子预测任务。我们用概率为 0.5 的错误匹配句子替换原始句子,然后训练一个分类器来检测这些错误匹配句子。

Experiments

Dataset

DVQA和LEAF-QA(没有开源)

Model Settings

Results

Interpretability

Discussion and Limitations

1、高精度的OCR对推理过程是有很大帮助的;

2、数据集是合成图表,而不是真实图表;

3、数据集中的question是基于模板的,模板是数量始终还是存在限制;

Conclusion and Future Works

        在这项工作中,我们提议使用为图表提供的公共元数据对 LEAF-QA 数据进行扩展。我们还提出了一个基于 transformers 的框架,同时强调需要利用图表的结构特性,并通过在最近的 Chart Q/A 数据集上实现SOTA效果来展示其有效性。我们还定义并试验了一组预训练任务,并展示了 CQA 问题预训练带来的改进。我们使用 attention 来剖析我们的模型,以展示它的每个模块如何发挥作用来检索最终答案。我们讨论了当前的 CQA 工作路线,并通过概述当前数据集和模型的局限性提出了未来的方向。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值