隐藏的宝石
背景回顾:在之前的文章中,提到过“IntaLink的目标是在数据集成领域实现自动化的数据链接”。从讨论中可以看出,IntaLink 解决的是“关系数据和多个表”的自动链接问题。
现在我们来讨论一下这个问题是否有广泛的应用场景,还是只是一个没有实际需求的伪命题。
虽然大型模型、大数据平台和其他技术可以利用各种类型的信息,包括文档、图像、音频和视频,例如能够生成视频和促进语音交互的多模态生成人工智能,但结果往往是开放的-结束和主观,偶尔会导致“幻觉”。因此,虽然使用它们作为参考或帮助是可以接受的,但在某些严格的工作环境中,我们不能依赖这些信息或大型模型来完成任务。在银行、金融、交通、贸易、会计、生产、能源等领域,核心业务数据必须使用结构化关系数据进行管理。
(1)关系数据库的设计范式要求数据合理划分,避免大量冗余。如果构建阶段产生的数据包含大量冗余,不仅数据采集工作量重复,而且数据一致性也难以保证。从另一个角度来看,如果所有相关数据都存储在一张表中,但数据项来自不同的业务来源,数据收集者和生成时间各不相同,那么维护这样的数据记录就变得不可能。因此,数据构建本质上会基于面向对象和业务活动来组织数据,从而导致数据分布在不同的表中。
(2) 数据必须来自多个系统。信息化建设不是一蹴而就的,必然存在一系列的发展过程。即使在同一系统内,实施时间表也可能存在差异。而且,不同的应用场景需要不同的技术选择;比如业务数据、实时数据、日志信息都可以通过各种技术来实现,使得数据本质上是多源的。
应用需要整合数据。数据集成应用的需求有多种可能性。例如,整合生产数据和计划数据可以评估计划完成情况;整合生产数据和销售数据可以识别产品积压或订单交付的履行情况;将生产数据与财务数据相结合可以评估生产成本和盈利能力。因此,数据集成是最大化数据价值、赋能业务流程的最有效途径。
综上所述,关系数据的集成应用将在很长一段时间内仍然是最重要的数据应用场景之一。只要这个场景存在,IntaLink就会有广泛的适应性。
T2SQL(文本转SQL)和NL2SQL(自然语言转SQL)通过文本或自然语言输入自动生成所需的数据查询。 T2SQL和NL2SQL本质上描述了同一个概念:利用人工智能技术将语义理解转化为数据操作方法,这是相同的想法,但术语不同。这是数据应用的一个研究方向。近年来,随着大模型技术的出现,这一领域取得了长足的进步。我研究了阿里巴巴和腾讯的技术报告,并尝试了DB-GPT等开源项目。这些技术在很大程度上相似,至少在底层技术逻辑上是相似的,而 IntaLink 的方法则完全不同。
我们先抛开底层的技术逻辑,根据实现方式进行对比分析:
假设我们有一组名为 T1、T2、...、Tn 的表,每个表包含多个标记为 C1、C2、...、Cn 的数据项,每个表的项数不同。考虑表 T1 的模拟数据集,如下所示:
C1 | C2 | C3 | C4 | C5 | C6 |
---|---|---|---|---|---|
Orange | 5 | 3 | 3 | 2 | 1 |
仅从这些内容中,我们无法得出任何有用的信息。我们不清楚上述数据的含义。让我们模拟一下数据的两种含义:
Fruit Type | Warehouse No. | Shelf No. | Stock | Shelf Life | Warehouse Manager ID |
---|---|---|---|---|---|
Orange | 5 | 3 | 3 | 2 | 1 |
Hotel Name | Warehouse Hotness Ranking | Star Rating | Years in Business | Remaining Rooms | Discount Available |
---|---|---|---|---|---|
Orange | 5 | 3 | 3 | 2 | 1 |
我们不会详细讨论这些数据集的有效性或此类表的存在性。然而,很明显,如果不理解表格和数据项的含义,则数据无法应用。人们无法将数据应用需求与数据本身联系起来,更不用说讨论更复杂的数据操作。
用一个测试NL2SQL的数据集,来说明一下大模型技术在该领域的应用模式。
Spider数据集是多库、多表、单轮查询的T2S数据集,被公认为最具挑战性的大规模跨域评估排行榜。它由耶鲁大学于 2018 年提出,并由 11 名耶鲁大学学生注释。该数据集包含一万一百八十一个自然语言问题和五千六百九十三条SQL语句,覆盖138个不同领域的200多个数据库。七千个问题用于培训,一千三十四个问题用于开发,两千一百四十七个问题用于测试。换句话说,通过提供问题及其相应的答案 (SQL),大型模型可以学习如何利用数据。为了简单起见,我们可以将逻辑压缩如下:
使用这样的数据集训练模型后,我们可以提出以下测试问题:
从中我们可以看出,NL2SQL 强调基于语义和上下文理解,依赖于经过训练的数据集来导出可能的 SQL 查询。
IntaLink的数据集成不需要用户提供任何训练数据。数据之间的关系是通过表间关系分析模型生成的。这种关系的生成不需要理解表和数据项的实际意义,而是通过一组分析数据特征值的方法来推导表之间的关联。下面我们用两个示例表来说明表间关系的建立。
Tab_1
Name | Student_ID | CLASS | Age | Sex |
---|---|---|---|---|
Zhang San | 2021_0001 | 2021_01 | 19 | Male |
Li Si | 2021_0002 | 2021_01 | 18 | Female |
Wang Wu | 2021_0003 | 2021_01 | 19 | Male |
Tab_2
Student_ID | Course | Grade | Rank |
---|---|---|---|
2021_0001 | Math | 135 | 18 |
2021_0001 | Chinese | 110 | 23 |
2021_0002 | Math | 120 | 25 |
2021_0002 | Chinese | 125 | 10 |
在Tab_1中,Student_ID与Tab_2中的Student_ID匹配,具有相同的特征值。因此,要链接这两个表,条件 Tab_1.Student_ID = Tab_2.Student_ID 成立。表间链接的分析需要考虑许多因素。在IntaLink中,我们复制数据特征值内存数据库作为分析工具,利用一套优化的分析方法来产生表间关系分析结果。由于涉及内容比较复杂,这里不再赘述。单独的文章会讨论实现逻辑。
大模型技术在语义理解和生成内容方面表现出色,而IntaLink在数据关联分析方面具有优势,前期工作量较低,准确率较高。理想情况下,可以集成大型模型技术来了解用户输入要求,将该信息转换为必要的数据表和项目,然后 IntaLink 将为数据集生成这些数据表和项目,然后大型模型生成所需的结果(例如报告、图表、等)用于用户演示。
我们希望您能成为 IntaLink 旅程的一部分!与我们联系并为我们的项目做出贡献:
? GitHub 存储库:IntaLink
?加入我们的 Discord 社区
成为开源革命的一部分,帮助我们塑造智能数据集成的未来!
以上是IntaLink:区别于大型模型的新型 NLL 技术的详细内容。更多信息请关注PHP中文网其他相关文章!