作者:耿瑞莹,惠彬原,黎槟华,石翔,李永彬
单位:达摩院Conversational AI 团队
一、表格问答技术

由于数据结构清晰、易于维护,表格/SQL数据库是各行各业应用最普遍的结构化数据,也是智能对话系统和搜索引擎等的重要答案来源。传统表格查询需要专业技术人员撰写查询语句(如SQL语句)来完成,因门槛高,阻碍了表格查询的大规模应用。表格问答技术通过将自然语言直接转换为SQL查询,允许用户使用自然语言与表格数据库直接交互,具有很高的应用价值。
什么是表格问答(TableQA)呢?我们通过一个例子来引入。如下图班级学生信息的Table,用户可能会问:“告诉我3班最高的男生有多高?”要想解决这个问题,需要先把自然语言转换成一个SQL语句,然后用SQL语句去查询表格。所以整个TableQA的核心问题就是解析自然语言:把TEXT文本转变为SQL语句(NL2SQL)。
由于表格内容复杂多样,涉及各行各业的专业知识,样本标注难度大,模型迁移能力差,这项任务一直是自然语言处理领域的难题。
二、表格预训练模型国内外工作
近年来预训练语言模型(BERT、GPT、T5)迅速发展,促进了NLP领域各种任务上的进步,例如阅读理解、命名实体识别等任务。但目前的预训练模型基本上在通用文本上进行训练,在一些需要对结构化表格数据进行建模的任务上(如Text-to-SQL、Table-to-Text),需要同时对结构化数据进行表示,如直接采用现有BERT等模型,就面临着编码文本与预训练文本形式不一致的问题。
目前在英文场景已有一些针对结构化数据做预训练的探索(GAP,Grappa),但是在中文场景该方向还处于空白状态,笔者所在的达摩院Conversational AI团队因此发布了中文首个表格预训练模型SDCUP,同时也是业界最大的表格预训练模型(72层Transformer,10亿参数),在WikiSQL、SQuALL等多个学界Benchmark均取得SOTA效果,相关模型和训练代码已经开源于阿里巴巴深度语言模型体系AliceMind(https://github.com/alibaba/AliceMind)。
2.1 预训练相关工作
和BERT、GPT等预训练语言模型不同,预训练表格模型旨在同时建模自然语言和结构化表格数据,在语言理解的维度希望能够将自然语言的语义Grounding至表格的结构内容当中,在语言生成的维度希望能够基于结构化数据生成流畅的文本。
目前谷歌、微软、亚马逊等公司都在加快对相关技术的布局。如下图所示,按照目标下游任务的不同,预训练表格模型可以分为三大类:单轮、多轮和生成。其中单轮模型旨在提升下游的Text-to-SQL语义解析任务,代表工作有耶鲁的Grappa和亚马逊的GAP;多轮模型旨在提升基于表格的对话式语义解析任务(CoSQL),代表工作有微软的SCORE和Element AI 的PICARD;生成模型旨在提升Table-to-Text和TableQA的Response Generation生成的效果,代表工作有Intel的TableNLG 和 HIT的TableGPT。
笔者所在的Conversational AI团队目前在单轮、多轮、生成三个方向均有布局,本文主要介绍单轮表格预训练的工作,同时也是中文社区第一个表格预训练模型,多轮和生成的工作敬请关注我们后续的技术文章。
2.2 表格问答相关工作
一个表格问答系统主要由三个模块组成,其中自然语言理解模块主要执行语义解析算法,将自然语言问句转为对应可执行的SQL语句,对话管理模块执行多轮的状态跟踪和策略优化,自然语言生成模块则根据解析出的SQL语句和SQL的执行结果生成对应的回复。
表格问答技术在金融、政务、教育、医疗等场景均有广泛应用前景,因此受到了学术界和工业界的高度关注。以Text-to-SQL解析任务为例,自从2017年Salesforce发布WikiSQL数据集以来,就一直受到业界的持续关注和投入,SQL解析的准确率已经从2017年的35%提升到2021年的91%。另外业界也在持续构建更加复杂、更加符合真实场景的数据集,从单表到多表、从单轮到多轮,为该方向的发展不断注入活力。
本团队除了在WikiSQL/Spider/CoSQL三个学术界数据集取得SOTA效果之外,也构建了该领域中文的单轮、多轮、生成的数据集,并且将相关技术应用于阿里云智能客服的表格问答模块,从产研结合的角度推动该领域的发展。
2.3 我们的研究动机
预训练表格模型最终的目标是为了提升下游Text-to-SQL任务的效果,如下图所示,在自然语言和表格的schema之间,存在这一个复杂的语义交互结构(Schema Linking),对于该结构的识别和建模已经成为Semantic Parsing任务中的重要瓶颈,然而业界已有的表格预训练模型没有显式建模自然语言问题和表格数据之间的语义交互结构。
因此我们提出了基于模式依存的表格预训练模型,为了提升模型对于不同表格模式下的鲁棒性,我们进一步提出了基于模式知识扰动的表格预训练模型;为了减轻数据噪音对模型的影响,我们还提出了基于课程学习的表格预训练模型。
三、 首个中文表格预训练模型SDCUP介绍
3.1 基于模式依存的表格预训练
对于预训练表格模型来说,最关键的问题在于找到自然语言问题和模式之间的关联,又称模式链接问题。所以在预训练模型的训练目标中应该显式的引入这种模式链接结构,如图所示,我们引入了模式依存的方法,通过模型来预测问题中的哪些词应该和模式中的哪些项进行链接,并且这种链接关系对应 SQL中的什么关键词。通过这种显示的关系建模,能够得到更好的问题和模式表征,从而提升下游 TableQA 模型的性能。
我们参考语义依存分析的方法对Schema Dependency任务进行建模,首先使用全连接网络分别获取每个节点作为父亲节点和作为孩子节点的语义表示,然后使用双仿射网络预测每个边存在的概率和该边关系类型的概率:
3.2 基于模式知识的问题扰动任务
对于表格预训练模型而言,和预训练语言模型相比,在模式存在的环境下找到合适的模式表征也至关重要,如下图所示,通过扰动问题中涉及到模式链接的词汇,然后通过预训练模型来恢复。
3.3 基于课程学习的表格预训练
预训练模型依赖大规模的数据进行训练,而数据存在难度不同、噪声程度不同等特性。如何更好地利用数据成为训练预训练模型的关键。因此我们提出使用课程学习来克服多样数据带来的影响。
课程学习是一种模仿人类的学习方式,即从简单到复杂,从干净到冗余的学习过程。类比到深度学习模型中,模型也需要一种合适的学习策略,先学习哪些数据、再学习哪些数据,对模型能力的提升极为重要。如果当前模型学习的数据过于复杂,则容易造成欠拟合,如果过于简单,容易造成过拟合,所以需要一种自动的手段筛选当前数据是否符合模型当前期待的复杂程度。基于这个思想,本方案包含两个评估模块:
1.数据难度评估模块:评估当前数据的难易程度,我们设置 d = |I|,其中 d 代表困难程度,I 代表预训练模型的输入(包含自然语言 + 表格模式),即我们假设输入的问题长度和模式长度越长,最终可能生成的 SQL 语句更加复杂,对应当前数据难度越高;
2.模型接受能力评估模块:除了对数据本身进行打分之外,我们还需要对模型当前的接受能力,或者学习能力进行评估,一般来说,模型训练越久,其接受能力越强。所以本方案将模型的接受能力定义为:
其中 d 为数据难度,t 为训练的步数,T 为最大训练步数。
最终,从大规模数据中采样得出具体数据时,如果当前数据的难度小于模型的接受能力,则改数据用来进行训练,反之则放回训练集。随着不断的迭代,所有的数据将渐进式地完成输入。
三、实验与分析
3.1 实验数据集介绍
我们最终的表格预训练数据包含2.8亿条<Text, SQL, Table> 三元组,共350GB。为评测表格预训练模型的质量,我们在学术界已有的英文数据集进行验证,其中WikiSQL数据集是Salesforce在2017年提出的大规模标注Text-to-SQL数据集,也是目前规模最大的Text-to-SQL数据集,它包含 24,241张表格、80,645条自然语言问句及相应的SQL语句。微软的SQuALL数据集则增大了该任务的预测难度,每个cell可能包含多个实体或含义,并且测试集使用的表格都是训练阶段没有见过的。目前这两个数据集已经成为学术界评测预训练表格模型最通用的Benchmark数据。
同时,我们进一步构建了表格问答中文Benchmark数据集TaBLUE,在我们基于模板构建的数据基础之上,由人工改写对应的文本,使其更加符合真实的表格问答场景,最终单轮的评测数据包含金融、政务、医疗、教育四个行业,共有4W高质量标注<Text,SQL>数据。
3.2 学术界Benchmark结果
在耶鲁大学的WikiSQL数据集和微软构建的SQuALL数据集上,SDCUP模型也取得了SOTA的效果,并且相比学术界已有的表格预训练模型有较显著提升。
(SDCUP在耶鲁大学WikiSQL数据集上取得业界最优效果)
(SDCUP在微软SQuALL数据集上取得业界最优效果)
3.3 中文数据集结果
在TaBLUE数据集上,SDCUP的 base和large模型相比同参数规模的BERT模型分别提升3.3 和 2.9个百分点,并且随着数据难度的增大提升幅度也逐渐增大,体现出SDCUP模型对于复杂NL2SQL数据具有更好的建模能力。
四、TableQA产品介绍
笔者所在的达摩院Conversational AI团队,已经将本文介绍的预训练表格模型SDCUP和相关NL2SQL技术应用于阿里云智能客服(云小蜜)的TableQA产品中。为满足不同场景下的训练和交付需求,表格管理、数据配置、模型训练、效果干预等功能已全部完成产品化,基本做到知识梳理低成本、问答构建高速度、模型训练无标注,满足各个场景的交付运维需求。
五、总结
本文详细介绍了中文首个表格预训练模型——SDCUP背后的数据构建和模型训练等技术细节,以及相关表格问答技术的产品化和业务落地情况。如何建模自然语言和结构数据之间的语义关联是自然语言处理领域备受关注的课题,本文所提出的Schema Dependency系列方法可以视为该领域下新的探索方向。
除了在中英文NL2SQL任务中取得SOTA效果之外,我们也在探索如下方向:
(1)超大规模预训练表格理解模型;
(2)超大规模预训练表格生成模型;
(3)端到端开箱即用的问答系统;
欢迎感兴趣的同学一起学习交流。
关于我们达摩院对话智能团队,专注于 Conversational AI的前沿研究和大规模应用,打造了任务型对话开发平台 Dialog Studio,以及 KBQA、TableQA、FAQs、Doc2bot 等智能问答技术,在ACL/EMNLP/AAAI/IJCAI/WWW/CIKM 等会议发表多篇论文。基于上述技术打造的阿里云智能客服(云小蜜),是国内智能客服领域的领导者,在中国移动、中国人寿、政务 12345 热线等企业或组织大规模应用。在新冠疫情期间,团队曾打造全国最大的智能疫情外呼机器人平台,服务全国27省份,免费拨打了1800万通防疫摸排电话,用技术手段有效缓解了一线人力不足问题。
目前组内有Research Intern 的岗位招聘中,研究方向包括但不限于:
1. 对话的核心技术,包括语言理解、对话管理和语言生成;
2. 智能问答技术,包括TableQA、KBQA、DocQA等;
3. 多模态对话技术,包括语言+语音+视觉等;
4. 数据知识双驱动的大规模预训练对话模型;
5. Few-shot Learning/Lifelong Learning 等前沿技术研究;
欢迎有兴趣的同学联系: ruiying.gry@alibaba-inc.com
Reference[1] Yu T, Zhang R, Polozov A, et al. SCoRe: Pre-Training for Context Representation in Conversational Semantic Parsing[C]//International Conference on Learning Representations. 2020.
[2] Hui B, Geng R, Ren Q, et al. Dynamic Hybrid Relation Exploration Network for Cross-Domain Context-Dependent Semantic Parsing[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2021, 35(14): 13116-13124.
[3] Shi P, Ng P, Wang Z, et al. Learning Contextual Representations for Semantic Parsing with Generation-Augmented Pre-Training[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2021, 35(15): 13806-13814.