Page 275 - 《软件学报》2025年第5期
P. 275
琚江舟 等: 多粒度单元格对比的文本和表格数值问答模型 2175
负例表示: 对于简单表格, 本文随机采样固定数量 K2 的干扰单元格行名, 将它们作为负例行名. 对于层次化
表格, 其层次化负例行名由层次化正例行名确定. 具体而言, 对于层次化正例行名, 其层次化负例行名来自于相同
表格的干扰单元格且与层次化正例行名的层次相同, 本文随机采样固定数量 K2 的这种层次化行名作为负例行名.
对于组合负例行名, 本文从干扰单元格句子的组合行名和简单表格的干扰单元格行名中随机采样固定数量 K2 的
行名作为负例行名. 负例行名对应的子词平均表示作为负例行名表示.
同样基于图 5, 本文用方框标记检索返回的干扰单元格. 以支撑单元格 946 为例, 本文选择干扰单元格 164 作
为负例. 因此, 支撑单元格 964 的第 1、2 层正例行名对应的负例行名分别为“change in plan asserts” (第 1 层负例
行名, 来自单元格 164) 和“actual return on plan asserts” (第 2 层负例行名, 来自单元格 164). 支撑单元格 964 组合正
例行名对应的负例包括组合负例行名“actual return on plan asserts change in plan asserts” (来自单元格 164) 和来自
于简单表格的负例行名“U.S.”.
3.3.2 细粒度单元格列名对比
单元格列名可以被用于区分不同单元格句子语义, 其是单元格句子重要组成部分, 因此这里本文提出细粒度
单元格列对比. 本文用问题 Q 作为锚点, 拉近问题 Q 表示与支撑单元格句子列名表示之间的距离, 拉远问题 Q 表
示与干扰单元格列名表示之间的距离.
锚点表示: 本文以问题经过分词器后子词的平均表示作为问题的表示; 或者用 Q 后的特殊单词 [SEP] 表示作
为问题的表示.
正例表示: 对于简单表格, 本文随机采样固定数量 K1 的支撑单元格列名, 将它们作为正例列名. 对于层次化
表格, 本文从支撑单元格的层次化列名和由层次化列名拼接而成的组合列名中随机采样固定数量 K1 的列名作为
正例列名. 正例列名对应的子词平均表示被作为正例列名表示.
在图 5 中, 支撑单元格 946 对应的第 1、2、3 层正例列名分别是“defined benefit pension plans” (第 1 层正例
列名), “U.S.” (第 2 层正例列名) 和“2004(a)” (第 3 层正例列名). 其组合正例列名是“defined benefit pension plans
U.S. 2004(a)”.
负例表示: 对于简单表格, 本文随机采样固定数量 K2 的干扰单元格列名, 将它们作为负例行名. 对于层次化
表格, 其层次化负例列名由层次化正例列名确定. 具体而言, 对于层次化正例列名, 其层次化负例列名来自于相同
表格的干扰单元格且与层次化正例列名的层次相同, 本文随机采样固定数量 K2 的这种层次化列名作为负例列名.
对于组合负例列名, 本文从干扰单元格句子的组合列名和简单表格的干扰单元格列名中随机采样固定数量 K2 的
列名作为负例列名. 负例列名对应的子词平均表示作为负例列名表示.
在图 5 中, 本文以支撑单元格 946 为例, 并选择干扰单元格 164 作为负例. 对于支撑单元格 946 其第 1、2、3
层正例列名对应的负例列名分别是“defined benefit pension plans” (第 1 层负例列名, 来自单元格 164), “Non-U.S.”
(第 2 层负例列名, 来自单元格 164), “2004(a)” (第 3 层负例列名, 来自单元格 164). 此外, 支撑单元格 964 组合正例
列名对应的负例包括组合负例列名“defined benefit pension plans Non-U.S. 2004(a)” (来自单元格 164) 和来自简单
表格的负例列名“2004”.
3.3.3 细粒度单元格数值对比
单元格列名和行名决定了单元格是否为支撑单元格, 但单元格数值的改变基本不会影响其是否为支撑单元
格. 尽管如此, 生成器生成的计算程序包含支撑单元格数值. 因此, 本文期望单元格数值对比可以直接帮助区分干
扰单元格数值和支撑单元数值, 最终帮助 decoder 解码出正确的计算程序. 因此本文提出了细粒度单元格数值对比.
锚点表示: 本文以问题经过分词器后子词的平均表示作为问题的表示; 或者用 Q 后的特殊单词 [SEP] 表示作
为问题的表示.
正例表示: 本文随机采样固定数量 K1 的支撑单元格数值作为正例, 用支撑单元格数值表示作为正例表示.
负例表示: 随机采样固定数量 K2 的干扰单元格数值作为负例, 干扰单元格数值表示作为负例表示.
3.3.4 细粒度单元格语义构成元素对比损失
对于细粒度单元格语义构成元素对比损失 L fg , 其由细粒度行名对比损失 L row , 细粒度列名对比损失 L col , 细