Page 277 - 《软件学报》2025年第5期
P. 277

琚江舟 等: 多粒度单元格对比的文本和表格数值问答模型                                                     2177


                 FinQA  数据集中  76%  的问题需要表格数据作为其支撑事实. 对于             MultiHiertt 数据集, 高达  89.76%  的问题需要表
                 格信息来生成计算程序. 更值得注意的是, MultiHiertt 数据集有            31.13%  问题的支撑事实包括多个表格, 其涉及更
                 为复杂的跨表格推理. 上述分析表明, 这两个数据集能够有效地证明本文提出方法的有效性.

                                      表 2 FinQA  和  MultiHiertt 数据集支撑事实类型分布     (%)

                             数据集       Text   Table (=1)  Table (>1)  Text and Table (=1)  Text and Table (>1)
                             FinQA     23.42    62.43      0.00        14.15           0.00
                           MultiHiertt  10.24   33.09      7.93        25.54          23.20

                 4.2   基准模型
                    在基准模型中, 除非特别指明, 检索器一般使用              BERT-base (110M  参数) [28] 为基础的分类器, 判断来自于非结
                 构化文本和表格文本的句子是否为支撑事实. FinQA               数据集默认使用      FinQANet 的  BERT-base 的分类器, 以行单
                 元格句子和文本句子为检索单位. 然后使用分类器返回的                   top 3  的检索句子作为生成器的输入, top 3      检索句子的
                 召回率是   89.66% . MultiHiertt 数据集默认采用  MT2Net 的  BERT-base 分类器作为检索器, 其以单元格句子和文
                              [5]
                 本句子为检索单位, 使用分类器返回的              top 10  的检索句子作为生成器的输入, top 10       的检索句子的召回率是
                 80.8% . 下面本文分别介绍采用的基准模型, 按基准模型的生成器类型大致可以分为                        3  种类型.
                     [8]
                    (1) 不使用检索器, 文档直接作为生成器输入
                    Longformer [29] 模型通过修改  Transformer [30] 的  attention  机制, 可以处理输入长度高达  32k  字符, 因此不需要检
                 索器检索相关事实, 所有非结构化文本和表格文本直接输入模型生成计算程序.
                    (2) 使用检索器, 生成器直接生成答案
                                         [5]
                    Retriever+Direct Generation 采用主流的问答模型架构, 唯一差别在于生成器仅生成答案, 而不解码计算程序.
                                  [8]
                    Retriever+TAPAS 由检索器和生成器构成, 其中在生成器部分使用表格预训练模型直接生成答案.
                    (3) 使用检索器, 生成器生成计算程序或者计算表达式
                    TF-IDF+Single Op 是一个简单的启发式方法, 先用        TF-IDF  检索  top 2  的句子. 然后获得每个句子中第     1  个数
                                  [5]
                 值, 并将这两个数值相除作为问题答案.
                    Retriever+Seq2Seq 采用检索器和生成器的架构. 相比较于           FinQANet, 其差别在于生成器的      encoder 是双向
                                   [5]
                 LSTM, decoder 为没有额外  attention  机制的  LSTM.
                                [31]
                    Retriever+NeRd  先使用检索器检索相关事实, 其基于指针网络的神经符号生成器生成一个嵌套格式计算表
                 达式.
                    Retriever+TAGOP  [32] 其通过序列标注识别计算表达式操作数, 通过分类识别操作符, 只能处理操作符简单的
                 问题.
                    Retriever+NumNet [33] 提出一个额外的模块建模数值之间的关系, 同时通过分类判别每个数值的符号, 这种方
                 式只能处理操作符简单的问题.
                            [5]
                    FinQANet 由一个检索器和生成器构成. 其生成器的              decoder 包含一个特殊设计的      attention  机制, 与第  2.2.3
                 节介绍生成器一致.
                    FinQANet(FinBERT) [34] 与  FinQANet 的差别是生成器的  encoder 换为  FinBERT [35] , 这是一个基于金融领域语
                 料的预训练语言模型.
                           [7]
                    DyRRen 采用检索器和生成器的架构, 其首先提出了一个增强的检索器, 在生成器中提出一种重排机制, 使
                 生成器每一步动态地对检索排序, 结合事实排序的结果生成计算程序.
                           [8]
                    MT2Net 这个模型主要是针对         MultiHiertt 数据集设计的, 其包含检索器和生成器两个部分. 因为             MultiHiertt
                 有  2  种答案类型, 因此在生成器部分有        2  个子模块, 即计算程序生成子模块, 答案抽取子模块. 对于计算程序子模
                 块, 其结构与第    2.2.3  节介绍生成器一致. 对于答案抽取模块, 其采用          T5  分别生成答案的开始和结束位置来获得连
                 续答案片段. 此外, 生成器还嵌入了一个答案类型预测层, 该层的功能是判定哪一子模块应负责输出答案.
   272   273   274   275   276   277   278   279   280   281   282