[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数量的情况下的性能变化。

相关推荐
B站计算机毕业设计超人34 分钟前
计算机毕业设计PySpark+Hadoop中国城市交通分析与预测 Python交通预测 Python交通可视化 客流量预测 交通大数据 机器学习 深度学习
大数据·人工智能·爬虫·python·机器学习·课程设计·数据可视化
学术头条38 分钟前
清华、智谱团队:探索 RLHF 的 scaling laws
人工智能·深度学习·算法·机器学习·语言模型·计算语言学
18号房客42 分钟前
一个简单的机器学习实战例程,使用Scikit-Learn库来完成一个常见的分类任务——**鸢尾花数据集(Iris Dataset)**的分类
人工智能·深度学习·神经网络·机器学习·语言模型·自然语言处理·sklearn
feifeikon1 小时前
机器学习DAY3 : 线性回归与最小二乘法与sklearn实现 (线性回归完)
人工智能·机器学习·线性回归
游客5201 小时前
opencv中的常用的100个API
图像处理·人工智能·python·opencv·计算机视觉
古希腊掌管学习的神1 小时前
[机器学习]sklearn入门指南(2)
人工智能·机器学习·sklearn
凡人的AI工具箱1 小时前
每天40分玩转Django:Django国际化
数据库·人工智能·后端·python·django·sqlite
咸鱼桨2 小时前
《庐山派从入门到...》PWM板载蜂鸣器
人工智能·windows·python·k230·庐山派
强哥之神2 小时前
Nexa AI发布OmniAudio-2.6B:一款快速的音频语言模型,专为边缘部署设计
人工智能·深度学习·机器学习·语言模型·自然语言处理·音视频·openai
yusaisai大鱼2 小时前
tensorflow_probability与tensorflow版本依赖关系
人工智能·python·tensorflow