[Megagon Labs] Annotating Columns with Pre-trained Language Models

Annotating Columns with Pre-trained Language Models

任务定义

输入:一张数据表,但没有表头,只有表中的数据。

输出:每一列数据的数据类型,以及两列数据之间的关系。

数据类型和数据关系都是由训练数据决定的固定集合,可以视作多分类任务。

模型架构

整个模型的back bone依然是transformer,利用attention机制获取整表的语境信息。具体来说,DODUO将整个表格序列化,化二维为一维,每个column首尾相接连接成一个序列,而每个column用一个特殊token[CLS]隔开,整个序列以[SEP]结尾。

与BERT的做法类似,[CLS]这个特殊token被用来表示整个column的信息,同时这个column由于attention机制,除了自己所在的column信息也会聚合到其他column的context,这就是DODUO的核心思想。

同时,DODUO是一个多任务模型,两个分类任务:数据类别和数据关系。所以在共享transformer层作为编码器后,使用两个不同的Dense Layer来对应两个任务。数据类别任务直接取[CLS]作为输入,输出分类结果;而数据关系任务将两个[CLS]连接在一起作为输入,输出分类结果。这两个任务会在每个epoch中依次进行训练。

由于DODUO需要将序列化后的表中的token编码为embedding作为第一层transformer层的输入,所以对embedding模型同样做了微调,在反向传播过程中更新了12层BERT-base的参数。

*论文中好像没有提到中间的transformer layer到底有几层

整个结构的灵活性较强,核心的transformer back bone令知识在多任务之间共享,增加了泛化能力。而embedding模型和对应不同任务的dense layer都是可以灵活替换的。包括文章中也提到,使用更大更强的LM作为embedding模型可能会进一步提升效果。针对特殊数据(如数字、日期),采用对应的LM作为embedding模型也会提升性能。

实验结果

在不包含表头信息(即图中的metadata)的情况下,DODUO的性能超过了其他baseline,为SOTA。而TURL本身设计是需要表头的,此时TURL和DODUO的表现相近,甚至在数据关系任务上TURL优于DODUO。因此DODUO的优势还是在于表头信息缺失的情况,利用整表context,能得到信息更充分的编码。

消融实验的结果也说明了这个问题,DOSOLO是DODUO在单个任务上的版本,而DOSOLOscol则是只考虑单个任务单个column的版本,明显看到DOSOLO的性能知识略有下降,但DOSOLOscol的性能则是暴降。

另一方面,由于使用了pre-trained model和多任务训练,DODUO可以仅用少量数据训练达到较好的性能,图4和表8分别展示了在缩减训练集数量以及每个column token数量的情况下的性能变化。

相关推荐
weixin_1562415757610 分钟前
基于YOLO深度学习的动物检测与识别系统
人工智能·深度学习·yolo
水如烟11 分钟前
孤能子视角:“人+AI“孤能子,跨物种自指闭环?以及医学人机接口BMI
人工智能
IT_陈寒12 分钟前
Python的asyncio把我整不会了,原来问题出在这儿
前端·人工智能·后端
Database_Cool_20 分钟前
Tair 短期记忆架构实践:淘宝闪购 AI Agent 的秒级响应记忆系统
人工智能·架构
叶舟21 分钟前
LYT-NET:一个超级轻量的低光照图像增强Transformer网络
人工智能·深度学习·transformer·llie·低光照图像增强
乾元24 分钟前
《硅基之盾》番外篇二:算力底座的暗战——智算中心 VXLAN/EVPN 架构下的多租户隔离与防御
网络·人工智能·网络安全·架构
ALL_IN_AI26 分钟前
本地部署 Ollama 大模型:零成本开启 AI 开发之旅
人工智能
木心术126 分钟前
设备管理网管系统:详细下一步行动指南
前端·人工智能·opencv
小白狮ww32 分钟前
Qwen3.5-27B-Claude-4.6-Opus-Reasoning-Distilled 蒸馏模型,27B 参数也能做强推理
人工智能·自然语言处理·claude·通义千问·opus·推理·qwen3.5