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

2170                                                       软件学报  2025  年第  36  卷第  5  期


                    为了验证多粒度单元格语义对比学习               (MGCC) 的有效性, 本文在两个数据集上进行了测试: FinQA 和
                                                                                                     [5]
                         [8]
                 MultiHiertt . 结果表明, MGCC  能使生成器取得优于基准模型的表现. 具体来说, 在             FinQA  数据集上, MGCC   使生
                 成器的答案正确率最高提高了           3.38%; 而在更具挑战性的层次化表格数据集             MultiHiertt 中, MGCC  实现了  7.8%
                 的答案正确率提升. 同大语言模型           GPT-3  结合思维链  (CoT) 相比, 基于多粒度单元格语义对比的生成器的性能在
                 FinQA  和  MultiHiertt 上分别表现出 5.44%  和  1.69%  的答案正确率提升. 进一步的实验分析也验证了          MGCC  有助
                 于生成器区分支撑单元格句子和干扰单元格句子. 本文的主要贡献如下.
                    1) 在建模文本和表格的数值问答任务中, 存在一个特定的问题: 由于单元格句子的语义差异微小, 生成器难以
                 区分支撑单元格句子和干扰单元格句子, 进而导致其容易基于干扰单元格句子生成错误的计算程序. 为了解决这
                 一难题, 本文提出优化支撑单元格句子表示和干扰单元格句子表示, 增加它们之间的表示距离, 从而帮助生成器对
                 它们进行更有效地区分.
                    2) 为了增加支撑单元格句子和干扰单元格句子表示之间的距离, 本文设计了多粒度单元格语义对比学习
                 (MGCC) 方法. 这个多粒度单元格语义对比分为粗粒度单元格语义对比                    (针对单元格整体语义) 和细粒度单元格语
                 义构成元素对比. 其核心思想是通过缩小问题与支撑单元格句子语义表示之间的距离, 同时扩大问题与干扰单元
                 格句子语义表示之间的距离, 进而实现增加它们表示之间的距离.
                    3) 实验结果表明, 本文提出的多粒度单元格语义对比学习                  (MGCC) 方法在   FinQA  和  MultiHiertt 数据集上分
                 别提升了生成器的性能, 最高达到 3.38% 和 7.8%. 此外, 分析实验验证了              MGCC  方法可以有效帮助生成器区分支
                 撑单元格句子和干扰单元格句子表示.

                 1   相关工作

                 1.1   基于文本和表格的数值推理
                    在文本和知识图谱等领域, 问答模型已经取得了显著进步                   [1−4,25] . 基于文本和表格的数值推理任务, 是近几年
                 新出现的一项任务, 它涉及在异构的非结构化文本和半结构化表格中进行数值推理. Chen                          等人  [5] 和  Zhao  等人  [8] 先
                 后提出了基于文本和表格的数值推理数据集                FinQA  和  MultiHiertt, 这些数据集不仅需要模型输出答案, 同时也要
                 求模型生成计算程序, 使问答过程更具可解释性. 为了处理半结构化的表格数据和利用预训练语言模型强大数值
                 推理能力, Chen  等人  [5] 最初提出用模板将单元格转化为反映其语义的单元格句子, 然后以表格整行的单元格句子
                 作为基本的检索单位, 设计检索器检索表格的行单元格句子. 这些检索到的句子随后作为生成器的输入来预测计
                 算程序. Wang  等人  [6] 指出, 以整行的单元格句子作为基本检索单位会不可避免引入同行的干扰单元格, 因此他们
                 提出了专门的单元格检索器来克服这个挑战, 并设计了一个结合多个检索器和生成器的集成模型. 本文同样认为
                 干扰单元格会带来负面影响. 与其他研究不同的是, 本文在生成器中引入对比学习, 以帮助生成器模型区分支撑和
                 干扰单元格. Li 等人    [7] 设计了一个基于   RankNet 成对损失的检索器和一个基于动态重排的生成器, 在每个生成步
                 骤中对检索到的句子进行动态重排. Sun            等人  [9] 提出了一个基于数字感知负采样的检索器来优化检索. 这些工作
                 都专注于降低检索器带来的噪音, 进而来帮助生成器生成计算程序. 但因为难以获得完美的检索器, 生成器仍面临
                 难以区分支撑和干扰单元格句子的挑战. 因此, 为了更好地解决这一挑战, 本文提出在生成器中优化单元格句子表
                 示, 以帮助区分支撑和干扰单元格句子.
                    与本文相关的两个任务分别是基于文本的数值推理任务                     (如数学应用题)    [10−15] 和基于文本和表格的逻辑推理
                 任务  [26,27] . 不同于基于文本的数值推理, 本文研究聚焦于文本和表格的数值推理, 因此如何建模复杂的表格数据对
                 基于文本的数值推理模型提出了新的挑战. 基于文本和表格的逻辑推理任务主要是利用文本事实进行逻辑推理,
                 很少涉及数值推理部分. 因此, 本文研究的任务可以看成是对基于文本和表格逻辑推理研究的重要补充.

                 1.2   对比学习
                    对比学习    (contrastive learning) 的核心思想是通过让同类别样本在表示空间中尽可能地彼此靠近, 不同类别样
                 本尽可能地彼此远离       [17−19] , 这些优化后的表示可以使模型更有效地区分不同类别的特征, 已在多种自然语言处理
   265   266   267   268   269   270   271   272   273   274   275