IntaLink--区别于大模型的实现NL2SQL全新技术

70 阅读9分钟

IntaLink--区别于大模型的实现NL2SQL全新技术

宝藏男孩 元拓数智


IntaLink的广泛应用场景

背景回顾:前述文章中提及“IntaLink的目标是实现数据集成领域的数据自动关联”。从文中可以看到,IntaLink解决的是“关系型数据、多表”自动关联的问题。

我们现在讨论一下,这个问题是否具有广泛的应用场景?还是一个没有实际需求的伪命题?


01 关系型数据仍是最重要的数据资产之一

虽然现在大模型、大数据平台等技术能够使用更多类型的信息,包括文档、图片、音视频等,如多模态生成式人工智能,可以文生视频、语音交互。由于生成的结果多数是属于开放式、主观性的认识,有时还存在“幻觉”。所以用于借鉴或者辅助工作是没有问题的。而在一些必须严谨的工作场景,我们不能基于这些信息以及大模型来完成工作任务。如银行、金融证券、交通信息、交易、财务、生产、能源等领域,核心的业务数据,必须用结构化的关系型数据进行管理。

02 数据建设必然是分散的
  • (1)关系型数据库的设计范式 就要求数据要进行合理的拆分,避免数据存在大量的冗余。在数据建设阶段产生的数据,如果数据有大量的冗余,不只是数据采集工作量重复,数据的一致性也难以保障。我们从另一个角度来讲,假设相关数据都放在一个数据表中了,而由于这些数据项并不是来源于同一个业务,采集人、数据产生时间也不同,这样的数据记录无法维护。所以在数据建设阶段,一定会将数据按照面向对象、以业务活动为单位来组织数据。即将数据分散到不同数据表中存储。

  • (2)数据一定是来源于多系统。由于信息化建设工作不是一蹴而就的,一定会有建设的先后顺序。即使同一套系统内,也可能会有实施的先后顺序。另外,我们还要看到不同的应用场景需要不同的技术选型,如业务数据、实时数据、日志信息等,会采用不同的技术手段来实现,所以数据一定具有多来源性。

03 集成是发挥数据价值的最有效手段

数据一定会需要集成应用。数据集成应用的需求有各种可能性。如生产数据和计划数据集成,获取计划完成情况;生产数据和销售数据集成,可以判断是否有产品积压,或者是不满足定单交付;生产数据与财务数据集成,可以判断生产成本与盈利情况。因此,数据集成是实现数据价值最大化,为业务赋能的最有效途径。

综上,关系型数据的集成应用,在未来很长一段时间内,仍然是最重要的数据应用场景。而只要这个场景存在,IntaLink就有着广泛的适应性。


IntaLink与人大模型的数据集成方法对比

T2SQL(Text to Sql)NL2SQL(Natural Language to SQL) 就是通过文本输入或者是自然语言输入,自动生成符合要求的数据查询。T2SQL这两种叫法实际上都是通过人工智能技术根据对语义的理解,转换成数据操作方法,是同一概念,只是称呼不同。这是人工智能在数据应用的一个研究方向。近年来,随着大模型技术的出现,这一研究领域又得到了较大发展。笔者研究了阿里、腾讯的一些技术报告,也试用了开源项目DB-GPT。这些技术大同小异,至少底层的技术逻辑是一致的。而IntaLink与这些技术实现的思路完全不同。

让我们暂不关注底层技术逻辑,从实现方法对二者进行对比分析:

1、 利用大模型技术实现数据自动查询,需要用数据训练

我们可以假设有一组数据表,数据表名分别为T1、T2、……Tn,每个数据表中有若干个数据项,分别为C1、C2、…Cn,各数据表中所具有的数据项个数不等。我们给定一个数据表T1的模拟数据,如下所示:

C1C2C3C4C5C6
桔子53321

单从上面给定的内容,我们其实得不到任何可用的信息。不清楚上面的数据代表的是什么意义。我们下面模拟给定两种数据意义:

水果种类仓库号货架号库存量保质期库管员编号
桔子53321
酒店名称仓库号热度排名星级营业年数剩余房间数是否有折扣
桔子53321

我们不纠结上面数据的合理性,以及是否真正有这样的数据表。但从示例中可以看出,如果不理解数据表和数据项的意义,数据是无法应用的。不能将数据应用需求关联到数据上,更谈不到更复杂的数据操作方法了。


我们以测试NL2SQL的一个数据集为例,说明大模型技术在此领域的应用模式。

Spider数据集是多数据库、多表、单轮查询的T2S数据集,也是业界公认难度最大的大规模跨领域评测榜单,由2018年耶鲁大学提出,由11名耶鲁大学学生标注。其中包含了10181个自然语言问题,5693个SQL语句。涉及138个不同领域的200多个数据库。7000个问题用于训练,1034用于开发,2147用于测试。也就是说通过给定问题以及问题的答案(SQL),让大模型理解数据的使用方法,然后再根据训练后的模型去使用数据。为了方便理解,我们可以简化成这样的逻辑:

  • 问题1:库存红色的口红还有多少支?
  • 答案1select amount from warehouse where good_name=’slipstick’ and color=’red’

当用这样的数据集训练完模型后,我们提出这样的问题:

  • 测试问题:库存里还有多少只蓝色的口红?
  • 输出答案select amount from warehouse where good_name=’slipstick’ and color=’blue’

从上面我们可以看出,NL2SQL更强调的是根据训练数据集,训练大模型后,在应用中,通过对语义和上下文的理解,基于已有的认识,推导出可能的SQL。


IntaLink的数据集成方法

IntaLink的数据集成,不需要用户给定任何训练数据。数据之间的关系,是通过表间关系分析模型生成的。这种关系的生成不需要理解数据表和数据项的实际意义,而是通过一组方法,基于数据的特征值进行分析,推导出数据表间的关联关系。下面我们也用两个示例数据表说明表间关系的建立方法。

Tab_1

NameStudent_IDCLASSAgeSex
张三2021_00012021_0119
李四2021_00022021_0118
王五2021_00032021_0119

Tab_2

XH(学号)KC(课程)CJ(成绩)PM(排名)
2021_0001数学13518
2021_0001语文11023
2021_0002数学12025
2021_0002语文12510

我们可以看到Tab_1中的Student_ID和Tab_2的XH,具有相同的数据特征值,所以如果要关联使用这两张数据表,就有Tab_1.Student_ID=Tab_2.XH关联条件的成立。当然这种表间关联条件的分析,需要考虑的问题比较多,我们在IntaLink中以复刻的数据特征值内存数据库为分析手段,采用一组优化的分析方法,形成了表间关系分析结果。由于涉及到的内容比较多,此处不展开讨论。后续会单开一篇文章,论述其实现的逻辑。


IntaLink与大模型技术实现NL2SQL的不同
  • 1) 不需要准备训练大模型的问题集,是通过数据分析获取数据之间的逻辑,所以IntaLink可以适用于广泛的数据范围。当可集成的数据越多时,其优势越大。
  • 2) 侧重于数据的集成,即数据集成时关联条件的生成,而对于数据,而对于数据的使用方法并不关注。 注:数据集成关注的是如何建立多表之间的数据关联关系,而数据的使用方法可能有多种,如求和、计数、平均值、最小值、最大值,......。NL2SQL会根据语义选取合适的数据操作方法,如SUM、COUNT、AVG、MIN、MAX、......。
  • 3) 准确度高,如果抛开数据质量的问题,IntaLink生成的数据关联关系,准确度在理论上可以达到100%。
IntaLink与大模型技术结合的可能性

大模型技术在语义理解和生成式内容上具有优势,而IntaLink在数据关联分析上具有前置工作量少、准确度高的优势。理想状态下,可以结合大模型技术理解用户输入需求,将信息转换为需要的数据表和数据项,由IntaLink生成数据集,再通过大模型生成所需成果(如报表、曲线、报告等),展示给用户。


加入 IntaLink 社区!

我们诚邀您成为 IntaLink 旅程的一部分!与我们一起连接并为我们的项目做出贡献:

🔗 GitHub 仓库: IntaLink

联系我们

在这里插入图片描述

成为开源革命的一员,帮助我们共同塑造智能数据集成的未来!