文章链接:https://arxiv.org/pdf/2201.05966.pdf
开源链接:GitHub - HKUNLP/UnifiedSKG: A Unified Framework and Analysis for Structured Knowledge Grounding
前言:港大,CMU,清华等多个大学的合作文章,22年年初挂在arxiv已经有接近20的引用量了,影响力还是很大的。
结构化知识基础(SKG)意在使用结构化知识以完成用户请求,例如在数据库(database)上解析语义和在知识库(Knowledge-base)基础上回答问题。由于SKG任务的输入和输出是异构 的,因此它们通过不同的沟通关系进行了单独研究,这限制了对SKG的系统和兼容研究。
在本文中,我们通过提出UNIFIEDSKG框架来克服这一局限性,该框架将21个SKG任务统一为文本到文本的格式,旨在促系统性的SKG研究,而不是对单个任务、域或数据集 进行依赖。我们使用UNIIFIEDSKG对不同参数量的T5进行基准测试 ,并显示T5只进行一些简单必要的修改,在几乎所有21项任务中实现最先进的性能。我们进一步证明,多任务前缀调整提高了大多数任务的性能,大大提高了整体性能。UNIFIEDSKG还对zeroshot和fewshot学习的调查进行了讨论,我们表明T0、GPT-3 和Codex在SKG的zeroshot和fewshot学习中挣扎。UnifiedSKG还支持对跨SKG任务的结构化知识编码变体进行一系列受控实验。我们发现T5对结构化知识编码变化的敏感性因任务而异。UnifiedSKG很容易扩展到更多任务。
在互联网时代,我们日常都会接触到大量的数据。这些数据可以分为非结构化数据 和结构化数据。非结构化数据如图像、文本和视频。结构化数据指的是数据库、知识图谱 存储的数据,这些数据都存在于一定的结构化格式。
基于结构化知识数据的任务可以统称为 Structured Knowledge Grounding (SKG)。这些任务的共同性都是基于这些结构化知识进行推理查询来回答或满足用户的自然语言问题和请求,比如语义解析 Semantic Parsing是其中经典的一个SKG问题:用户会问一个关于database或knowledge graph的问题,这个任务就是把将自然语言问题转化为逻辑形式的结构(机器可以懂的语言)。如左图中,便是把问题转化为SPARQL的语句。之后便可以在knowledge graph 上执行而得到问题的答案。
这些不同的任务都是在不同的NLP Community里学习的,而且把他们定义成不同的任务。如下图,彼此之间都是分开进行学习然后产生不同的task model。
随后根据方向发展也会产生新的任务,新的模型。但也因为这个特点,各structure knowledge多元化,input和output不一样,阻碍了彼此之间的knowledge sharing。
因此本文目标是进行统一,做打破彼此任务之间的边界的第一次简单尝试,使得这些可以在同一个UnifiedSKG framework下进行学习并在这些任务上取得不错的结果。
本文的目标不是从建模的角度对模型架构 进行创新。本文的贡献是证明单一的UNIFIEDSKG框架能够使用单一的通用方法在所有21个SKG任务上实现(近)最先进的性能。
任务统一
UNIFIEDSKG任务的指导原则是多样性。为此,我们在六个任务系列和多个域中统一了21个SKG任务(表1)。我们的任务系列包括:
• 语义解析:将问题转换为逻辑形式(Zelle和Mooney,1996年;Zettlemoyer和Collins,2005年)。
• 问答:根据结构化数据得出自然语言问题的答案(Berant等人,2013年)。
• 事实验证:根据结构化数据检查陈述是否正确(Chen等人,2020b)。
• 对话任务:不仅需要了解用户的最后一个请求,还需要了解用户和机器之间的完整交互历史记录(Budzianowski等人,2018年;Eric等人,2019年;Yu等人,2019年a)。
• 形式语言 到文本翻译:以自然语言描述形式语言(Chen等人,2020d)。
所有这些系列中的任务都以用户请求、结构化知识输入和操作(对话)上下文作为输入x来预测输出y。作者以下图形式说明了如何通过“线性化”将输入x转换为输入序列x ̃,将输出y转换为输出序列y ̃。线性化使结构化知识的不同诗形式得以统一。
把结构化数据统一为text-to-text模式
T5在各个任务fine-tune 的表现
2. 多任务训练
作者分别测试了finetuning 和prefix-tuning,区别在于后者固定PLM的参数,只优化长度为10的prefix 参数。
下图展示了是t5-base和t5-large在每个SKG task的training数据上单独的跑一个t5 所得到的分数。
本文主打MT-P,分为一下两步:
1)对t5-large加一个比较小的perfix,这个prefix对所有的task都是shared prefix 。然后我们将这21个task的training数据通过temperature mixing方法合成一个training数据,在这上面训练shared prefix
2)针对每个task都有个prefix,用shared prefix去initialize每个task的prefix,然后在每一个task的数据上继续finetune这些task-specific的prefix。
3. zero-shot /few-shot尝试
最近T0,GPT3, Codex这些大模型使得zero-shot和few-shot这些概念比较火。由于SKG task相对更复杂一些,所以在zero-shot和few-shot的learning上也会比较复杂,很少在SKG task做test
我们选取了一些比较有代表性的task来做zero-shot和Few-shot learning 初始的study,我们看下他们各自的performance
4. 关于结构话数据的其它探讨
我们可以在统一的unified framework 做一些可控的实验,使我们能发现对SKG task 有重要性的structured knowledge encoding的方法。如下初始实验,针对structured knowledge encoding,有两个主要的input——User request和structured knowledge
5. 错误分析
error Analysis,随着t5 size增加,error会越来越少,但是T5-3B仍然可能产生无效或无意义的输出。
武汉格发信息技术有限公司,格发许可优化管理系统可以帮你评估贵公司软件许可的真实需求,再低成本合规性管理软件许可,帮助贵司提高软件投资回报率,为软件采购、使用提供科学决策依据。支持的软件有: CAD,CAE,PDM,PLM,Catia,Ugnx, AutoCAD, Pro/E, Solidworks ,Hyperworks, Protel,CAXA,OpenWorks LandMark,MATLAB,Enovia,Winchill,TeamCenter,MathCAD,Ansys, Abaqus,ls-dyna, Fluent, MSC,Bentley,License,UG,ug,catia,Dassault Systèmes,AutoDesk,Altair,autocad,PTC,SolidWorks,Ansys,Siemens PLM Software,Paradigm,Mathworks,Borland,AVEVA,ESRI,hP,Solibri,Progman,Leica,Cadence,IBM,SIMULIA,Citrix,Sybase,Schlumberger,MSC Products...