Paper Reading: TabularNet: A Neural Network Architecture for Understanding Semantic Structures of Tabular Data
Paper Reading 是从个人角度进行的一些总结分享,受到个人关注点的侧重和实力所限,可能有理解不到位的地方。具体的细节还需要以原文的内容为准,博客中的图表若未另外说明则均来自原文。
| 论文概况 | 详细 |
|---|---|
| 标题 | 《TabularNet: A Neural Network Architecture for Understanding Semantic Structures of Tabular Data》 |
| 作者 | Lun Du, Fei Gao, Xu Chen, Ran Jia, Junshan Wang, Jiang Zhang, Shi Han, Dongmei Zhang |
| 发表会议 | The 27th ACM SIGKDD Conference on Knowledge Discovery and Data Mining(KDD 21) |
| 发表年份 | 2021 |
| 会议等级 | CCF-A |
| 论文代码 | 文中未公开 |
作者单位:
- Microsoft Research Asia, Beijing, China
- Beijing Normal University, Beijing, China
- Peking University, Beijing, China
研究动机
表格数据在电子表格和网页中无处不在,因其高效的数据管理和展示能力而被广泛使用。近年来,围绕表格数据已衍生出众多实际应用,例如表格搜索、图表智能推荐和查询回答等。实现这些应用的一个基础和关键技术是自动理解表格的语义结构,其目标是将人类友好、布局复杂的原始表格,转换为结构规整、机器可读的正式数据库表。

传统方法主要依赖手工设计的样式、格式和字体特征,但忽略了表格的空间结构信息。近期的神经网络方法通常将表格视为类似图像的单元格矩阵,并采用 CNN 来捕捉空间结构相关性。然而,这种方法未能充分挖掘单元格之间多样化的关系信息,特别是表头区域中常见的层次关系和并列关系。综上论文旨在解决的核心问题是:如何让机器更深入地、自动地理解表格数据中蕴含的丰富语义结构。
文章贡献
针对表格数据自动语义结构理解中的挑战,本文提出了一种名为 TabularNet 的神经网络架构,其核心在于同时建模了表格的空间信息和关系信息。TabularNet 采用了双重数据表示,将表格视为矩阵以利用空间敏感操作,并使用基于 WordNet 词汇树的语义图构建方法来表示单元格间的复杂关系。模型的主体由一个可堆叠的结构信息挖掘层构成,它集成了两个并行编码器:空间信息编码器结合了能敏感捕捉区域交界的行/列双向门控循环单元,以及用于提取统计特征的行/列平均池化;关系信息编码器在 WordNet 语义图上应用图卷积网络,以捕获层次与并列关系。TabularNet 被设计为一个统一的骨干网络,其输出的嵌入表示可通过简单的集成(如拼接、池化)适配于单元格级分类、行/列级检测等多种任务,并支持多任务学习。通过在 2 个大规模的真实电子表格数据集上进行单元格角色分类和表头区域检测实验,本文全面评估了 TabularNet 的有效性、通用性和组件必要性。实验结果表明,TabularNet 在两项任务上均显著超越了包括传统模型、基于 CNN/RNN 的方法及基于 Transformer 的模型在内的先进基线。
本文方法
本文模型的整体架构如下图所示,TabularNet 由三个核心模块组成:
| TabularNet 组件 | 说明 |
|---|---|
| 单元格级特征提取 | 提取手工设计的特征和基于 BERT 的语义嵌入 |
| 表格数据表示 | 将表格同时表示为矩阵和图两种形式 |
| 表格结构信息挖掘 | 通过设计的编码器从两种表示中分别提取空间和关系信息 |

表格数据表示
为了同时捕捉空间和关系信息,TabularNet 采用双重视角来表示表格。第一个视角是矩阵表示,目的是为后续的空间敏感操作(如卷积、循环网络)提供类似图像的网格结构。由于实际表格中存在大量合并单元格,TabularNet 会执行“标准化”操作,将合并单元格拆分成独立的、具有相同特征的单元格,确保矩阵中的每个元素都对应一个有效的单元格。
由于矩阵表示难以捕捉单元格间复杂的层次和并列关系,因此引入第二个视角基于 WordNet 的图表示。受文本语义启发,论文利用按语义关系组织的英文词汇数据库 WordNet 来构建图。建图方法为:
- 构建词集:对每个单元格,提取其文本中的每个词,并从 WordNet 中获取每个词的前 \(\eta\) 个同义词集,共同构成该单元格的词集。
- 建立语义边:对于来自不同单元格的两个词,如果它们在 WordNet 树中处于同一层,并且它们的最低公共祖先与它们之间的层数差小于阈值 \(\epsilon\),则认为这两个词(进而它们所属的单元格)在语义上高度相关,在图中建立一条边。

数据区域的单元格可能很少有文本,因此在图中可能是孤立节点。GCN 的设计能确保即使对于孤立节点,也能通过 MLP 学习到有效的嵌入。
结构信息挖掘层
这是 TabularNet 的核心层,它包含两个并行的编码器,分别处理空间和关系信息。
空间信息编码器
空间信息编码器从矩阵表示中提取两种空间信息,主要包含两个组件。第一个组件是双向门控循环单元,它用于捕获区域交界处的区分性。由于表头通常位于表格顶部或左侧,从不同方向(左→右 vs 右→左, 上→下 vs 下→上)读取行/列序列时,交界处单元格的上下文信息会发生显著变化,Bi-GRU 能有效捕捉这种变化。分别应用行级 Bi-GRU 和列级 Bi-GRU(参数不共享)。对于一个位于 \((i, j)\) 的单元格 \(C_{ij}\),可以得到四个方向相关的隐藏状态向量:\(h_{ij}^{l}\)(左)、\(h_{ij}^{r}\)(右)、\(h_{ij}^{t}\)(上)、\(h_{ij}^{b}\)(下)。将这些表示拼接并通过线性层和 ReLU 激活函数,得到最终的 Bi-GRU 表示 \(h_{ij}^{g}\):
第二个组件是行/列级池化,它用于提取行/列的统计信息。同一行或列的单元格通常在语义上具有一致性(例如都是数字、都是名称),池化操作能捕获这种整体属性,对识别表头区域特别有帮助。对每一行 \(i\) 和每一列 \(j\) 的所有单元格特征 \(x_{ij}\) 分别进行平均池化:
其中 \(N_r\), \(N_c\) 是表格的行数和列数,MLP 是一个小型多层感知机。最后将 Bi-GRU 表示和行、列表示拼接,得到单元格 \(C_{ij}\) 的最终空间嵌入:
关系信息编码器
关系信息编码器用于在基于 WordNet 构建的图上,捕获单元格之间的层次和并列关系。采用 GCN 的变体图同构网络(GIN)实现,它对中心节点的邻居信息进行聚合:
其中 \(\mathcal{N}(C_{ij})\) 是单元格 \(C_{ij}\) 在图中的邻居节点集合,\(\epsilon\) 是可学习参数。\(MLP^e\) 和 \(MLP^o\) 是不同的多层感知机。
为不同任务集成嵌入
TabularNet 可以为不同粒度的任务生成最终表示。对于单元格级任务(如单元格分类),它可以直接拼接最后一层的空间嵌入和关系嵌入作为最终表示 \(h_{ij}\):
对于行/列级任务(如区域检测),它对目标行 \(Row_i\) 或列 \(Col_j\) 中的所有单元格表示 \(h_{ij}\) 进行平均池化,得到行/列表示:
上述得到的单元格嵌入或行/列嵌入可以被输入到不同的任务特定解码器中,实现多任务学习。不同任务的损失(负对数似然)被直接相加作为最终损失进行联合优化。
实验结果
数据集
论文在两个真实世界的电子表格数据集上进行实验,为了方便小批量训练,过滤掉了单元格数量超过 5k 的大型表格。单元格分类数据集包含 3,410 个表格,共 814k 个单元格,5 种单元格角色:
| 单元格角色 | 说明 |
|---|---|
| 索引名 | 描述一个索引集合的名称(如“国家”) |
| 索引 | 索引集合中的元素(如“中国、美国、澳大利亚”或“1992, 1993 ...”) |
| 值名 | 描述数据区域值的指标,可以是度量(如“数量”、“百分比”)或单位 |
| 值 | 位于数据区域的具体数值 |
| 聚合名称 | 表示某些值由其他值计算而来(如“总计”) |
区域检测数据集的任务是表头区域检测,包括 6,988 个表格,共 2.9M 个单元格。目标是确定一行是否属于顶部表头区域,一列是否属于左侧表头区域,是一个行级和列级的二元分类问题。
两个数据集均按 7:1:2 的比例随机划分为训练集、验证集和测试集,结果表格中显示的是在固定划分种子下运行 10 次的平均值。。两个数据集都存在严重的类别不平衡问题,在单元格分类数据集中,“其他”类单元格数量是指数名或聚合类的近 300 倍。在区域检测数据集中,87.2% 的单元格是“其他”,只有 3.7% 的行和 13.3% 的列被标记为“表头”。
实验设置
为了验证 TabularNet 的有效性,选择了五种方法作为基线:
| 对比模型 | 说明 |
|---|---|
| SVM、CART | 深度学习时代前广泛使用的分类器。 |
| RNN-PE、FCNN-MT | 用于表格理解任务的最先进的基于神经网络的方法。 |
| RNN-PE | 基于 RNN 的单元格分类方法。 |
| FCNN-MT | 基于 CNN 的方法,可用于单元格分类和区域检测。 |
| TAPAS | 一种用于表格问答的预训练基于 Transformer 的方法 |
单元格分类和区域检测模型共享 TabularNet 骨干,该骨干由一个结构信息挖掘层组成,使用三个全连接层作为解码器,交叉熵损失。超参数设置方面:
| 超参数 | 设置值 |
|---|---|
| GCN 和 Bi-GRU 的嵌入维度 | 128 |
| 批量大小 | 10 个表格 |
| 优化器 | AdamW |
| 学习率 | 5e-4 |
| Dropout | 0.3 |
| 权重衰减 | 5e-5 |
| 早停法 | 耐心值 8 |
对比实验
如下表所示,TabularNet 在单元格分类任务上全面超越了所有基线模型。SVM 和 CART 在“索引”类上表现尚可,因为提取的手工特征足以区分“索引”和“其他”,但难以区分更精细的类别(如“索引名”、“值名”)。神经基线模型 RNN-PE、FCNN-MT 和 TAPAS 在“索引名”和“值名”上表现显著更好,说明它们能捕捉到一些结构信息。

消融实验方面:
| 消融版本 | 实验情况 | 意义 |
|---|---|---|
| TabularNet(w/o Bi-GRU) | 移除 Bi-GRU 操作后,性能仍优于基线 | 验证了捕捉关系信息(GCN)的合理性 |
| TabularNet(w/o GCN) | 移除 GCN 操作后,性能下降,但依然强大 | 显示了空间信息编码器(Bi-GRU + 池化)的有效性 |
| 完整模型 | 结合了 GCN 和 Bi-GRU 的完整 TabularNet 取得了最佳性能 | 证明了同时建模空间和关系信息的必要性 |
TabularNet 在区域检测任务上同样显著优于基线,证明了其作为统一骨干网络对不同粒度任务(单元格级、行/列级)的有效性。由于区域检测任务更依赖于行/列级别的结构,移除 Bi-GRU 的模型(w/o Bi-GRU)在该任务上优势不明显,甚至可能弱于某些基线,这恰好反证了 Bi-GRU 在捕获行/列级空间信息方面的作用。在两项任务中,使用 TabularNet 进行多任务学习(TabularNet(Multi-task))的结果均优于单任务训练的完整模型。这表明联合学习能增强模型的泛化能力,从不同任务中学习到互补的知识。

图构建方法的有效性
结果可见,基于 WordNet 语义关系的图在各项指标上均优于仅基于网格邻接(Grid)或基于阅读顺序(TlBr)的图。这验证了语义关系比单纯的空间位置关系,能更好地捕捉表格单元格之间的内在联系。

空间和关系信息的必要性
消融实验已定量证明了两种信息的必要性,论文进一步通过两个具体案例进行定性说明。在一个具有两层表头的案例中,GCN 模块能更好地区分不同层次的单元格(如“索引名”与“索引”)。通过 WordNet 图,同一层的单元格在嵌入空间中被拉近,不同层的被推远。在另一个案例中,移除 Bi-GRU 会导致同一行内单元格的分类结果不一致。Bi-GRU 通过捕捉同行/同列的空间依赖关系,使它们的分类结果更加一致。

单元格嵌入的区分性
通过 t-SNE 可视化技术分析,同一表格中,不同类型的单元格在嵌入空间中形成了清晰的簇,表头区域单元格与数据区域(“其他”类)单元格被明确分离。

从测试集中随机选择 50 个表格的所有单元格进行可视化,不同表格中相同类型的单元格在嵌入空间里仍然聚集在一起。这表明 TabularNet 学习到的是具有泛化性的、类别感知的单元格表示,而不仅仅是记住了特定表格的模式。

优点和创新点
个人认为,本文有如下一些优点和创新点可供参考学习:
- 提出 TabularNet 架构,在表格理解中同时使用矩阵(Bi-GRU + 池化捕获空间信息)和图(基于 WordNet 的 GCN 捕获层次/并列关系)进行联合建模,突破了传统方法仅侧重空间结构的局限。
- 利用 WordNet 词汇树,根据单元格文本的语义相似性(如同层、共同祖先)来构建关系图,这比仅依据空间邻接(Grid)或阅读顺序(TlBr)的朴素图更能反映表格内在的逻辑关联。
- 将 TabularNet 设计为一个统一的神经骨干,其输出的单元格嵌入可通过简单集成适配于不同粒度的任务(如单元格分类、行/列区域检测),并有效支持多任务学习,提升了模型的泛化能力和实用性。

浙公网安备 33010602011771号