超越 Text2SQL:自然语言数据库查询的新领域
介绍 TAG,一个用于复杂问题回答的统一模型
缩小人工智能与数据库之间的差距
承诺与瓶颈
人工智能(AI)正在迅速改变我们与数据互动的方式。强大的语言模型(LMs)的出现为以更自然和直观的方式查询和分析信息开辟了新的可能性。想象一个世界,你可以用简单的英语提问,系统就能从庞大的数据库中检索到你所需的确切信息。这就是AI驱动的数据交互所带来的承诺。
然而,存在一个瓶颈。传统数据库系统是为结构化查询而设计的,而LMs在理解和生成自然语言方面表现出色。弥合这一差距对于释放AI在数据管理中的全部潜力至关重要。
为什么 Text2SQL 和 RAG 不足
最近为弥补这一缺口而进行的努力主要集中在两个方法上:Text2SQL 和检索增强生成(RAG)。Text2SQL 旨在将自然语言问题转换为可以在数据库上执行的 SQL 查询。尽管前景可期,Text2SQL 在处理需要推理或超出数据源知识的查询时面临挑战。
另一方面,RAG 从知识库中检索相关信息,并利用这些信息回答问题。然而,RAG 通常依赖于简单的点查找,未能充分利用数据库系统的计算能力。
考虑以下查询,如图 1 所示:
- “总结被认为是经典的最高票房浪漫电影的评论。”
Text2SQL 可能在这个查询中遇到困难,因为它需要识别“经典”电影,这需要对电影类型和评论的理解,而这些在数据库中并没有明确存在。RAG 也可能失败,因为它需要结合关于收入、类型和评论的信息,可能来自多个表,然后进行总结。
输入 TAG:统一方法
为克服这些限制,我们引入了表增强生成(Table-Augmented Generation,TAG),这是一个统一模型,结合了语言模型(LM)和数据库系统的优势。TAG 利用语言模型的推理和知识能力,同时利用数据库的高效查询执行能力。这种方法使 TAG 能够处理更广泛的查询,包括那些需要推理、知识和复杂计算的查询。
在接下来的部分,我们将深入探讨 TAG 模型,探索其设计空间,并通过系统评估展示其有效性。
TAG 如何处理示例查询
如图 1 所示,TAG 通过三个步骤处理示例查询:
- 查询合成: TAG 将自然语言查询转换为数据库查询(例如,SQL),并结合基于 LM 的操作符来识别经典爱情电影。
- 查询执行: 数据库高效地执行查询,如有需要,利用 LM 来检索最高票房的经典爱情电影(在本例中为《泰坦尼克号》)。
- 答案生成: TAG 使用 LM 来总结所检索电影的评论,为用户提供自然语言答案。
这种结构化的方法使 TAG 能够有效结合 LM 和数据库的优势,使其能够回答超出 Text2SQL 和 RAG 能力的复杂查询。
解密 TAG 模型
深入探讨 TAG 框架
表增强生成(Table-Augmented Generation, TAG)模型提供了一种结构化的方法来回答数据库中的自然语言问题。它包括三个关键步骤:
查询合成 (syn
):此步骤将自然语言请求 (R
) 转换为可执行的数据库查询 (Q
)。它识别相关数据并进行语义解析,以生成数据库系统(例如 SQL)可以理解的查询。
示例:对于查询“总结被认为是经典的最高票房浪漫电影的评论”,
syn
将生成一个 SQL 查询,针对电影标题、评论、收入和类型等属性。这可能涉及在 SQL 查询中使用基于 LLM 的操作符来识别被认为是“经典”的电影。
查询执行 (exec
):此步骤在数据库上执行生成的查询 (Q
),以获取相关数据 (T
)。它利用数据库引擎的高效性来处理潜在的大量数据。数据库 API 可以从传统的 SQL 引擎到增强了 LLM 基于操作符或本地 ML 函数的系统。
示例:在上一步生成的 SQL 查询将被执行。数据库会筛选浪漫电影,使用基于 LLM 的操作符来识别其中的“经典”,然后按收入对其进行排名,以找到最高票房的电影。在这种情况下,结果数据
T
将包含“泰坦尼克号”的相关信息。
答案生成 (gen
):此步骤使用 LLM 根据用户请求 (R
) 和检索的数据 (T
) 生成自然语言答案 (A
)。它与 RAG 中的生成步骤相似,但受益于通过前面步骤获得的结构化和相关数据。
示例:LLM 将接收原始请求和关于“泰坦尼克号”的数据,包括其评论。然后,它将利用其语义推理能力生成这些评论的自然语言摘要。
TAG 的结构化方法促进了数据库系统与 LLM 之间的清晰关注点分离,前者负责高效的数据检索,后者负责自然语言理解和生成。这使得 TAG 能够有效结合两者的优势,能够回答超出 Text2SQL 和 RAG 能力的复杂查询。
探索 TAG 的广阔领域
查询类型:从点查找到复杂推理
TAG 旨在处理广泛的查询类型,超越以往方法的限制。这包括:
- 点查询:这些查询从数据库中的有限行中检索特定信息。它们通常类似于基于查找的问题。
示例:“约翰·多的电话号码是什么?”
- 聚合查询:这些查询需要分析和总结数据库中多行的信息。它们通常涉及总结、排名或复杂推理等任务。
示例:“总结最新 iPhone 的客户评价。”
数据模型:拥抱数据的多样性
TAG 足够灵活,可以处理各种数据模型:
- 结构化数据:指以预定义格式组织的数据,通常存储在关系数据库中。TAG 可以利用结构化数据中的模式和关系进行高效查询。
示例:具有名称、年龄、地址和购买历史等属性的客户数据。
- 非结构化数据:指没有预定义格式的数据,例如文本、图像、音频或视频。TAG 可以利用 LLM 提取非结构化数据中的相关信息和洞察。
示例:客户评论、社交媒体帖子、新闻文章。
- 半结构化数据:指具有某些组织属性但不遵循严格模式的数据,通常以 JSON 或 XML 等格式表示。TAG 可以处理半结构化数据中结构化和非结构化元素的混合。
示例:具有结构化属性(名称、价格)和非结构化描述的产品目录。
数据库 API:高效数据检索的门户
TAG 可以与各种数据库 API 和执行引擎协同工作:
- 基于 SQL 的系统:TAG 可以生成 SQL 查询与关系型数据库进行交互,利用其高效的查询处理能力。
- 向量嵌入系统:对于非结构化数据,TAG 可以利用向量嵌入技术以语义方式表示数据并执行基于相似性的检索。
- 语义操作系统:TAG 可以利用具有 LLM 基础操作符的系统,使自然语言理解和推理能够直接融入数据库查询执行中。
示例:使用
sem_filter
操作符根据情感或主题过滤行。
- 增强机器学习的系统:TAG 可以利用具有内置机器学习功能的数据库进行复杂分析和预测。
LM生成:释放迭代和递归模式的潜力
TAG的答案生成步骤可以采用多种LLM生成模式:
- 单次调用生成:LLM在一个步骤中生成答案,同时处理检索到的数据和用户查询的上下文。
- 迭代生成:LLM迭代地细化答案,可能多次与数据库交互以收集额外信息或澄清模糊之处。
- 递归生成:LLM将复杂查询分解为子查询,递归地为每个子查询生成答案,并将它们组合成最终答案。
这些灵活的生成模式使TAG能够适应不同的查询复杂性,并提供全面和信息丰富的答案。
对 TAG 进行测试
基准方法论:追求现实的评估
现有的表格问答基准主要关注那些仅能使用数据源中显式可用信息回答的查询。为了全面评估TAG在处理需要外部知识或复杂推理的查询方面的能力,我们需要一个包含此类挑战场景的基准。
数据集和查询修改:为 TAG 定制 BIRD
我们选择 BIRD 基准作为基础,因为它具有大规模表格、多样化的领域和多种查询类型,包括基于匹配、比较、排名和聚合的查询。我们从 BIRD 中选择了五个领域:california_schools
、debit_card_specializing
、formula_1
、codebase_community
和 european_football_2
。
为了评估 TAG 处理现实场景的能力,我们修改了原始 BIRD 查询,引入了两个关键挑战:
- 世界知识要求:我们添加了需要知识的子句或约束,这些知识在数据库中并未明确存在,迫使系统依赖外部世界知识。
示例:在
california_schools
领域,我们将查询 “What is the grade span offered in the school with the highest longitude?” 修改为 “What is the grade span offered in the school with the highest longitude in cities that are part of the ‘Silicon Valley’ region?” 这需要知道哪些城市构成硅谷地区,而这些信息在表中并不存在。
- 语义推理要求:我们修改了查询,使其需要对文本或关系数据进行复杂推理,推动系统超越简单查找,进行更深入的分析。
示例:在
codebase_community
领域,我们将查询 “What are the titles of the top 5 posts with the highest popularity?” 修改为 “Of the 5 posts with the highest popularity, list their titles in order of most technical to least technical.” 这需要理解帖子标题的技术性,这是一个涉及文本语义推理的任务。
我们的最终基准由 80 个修改后的查询组成,均匀分布在世界知识和语义推理要求之间,并在四种 BIRD 查询类型中均衡代表。
基线:一系列方法的光谱
我们评估了 TAG 相对于几个基线的表现,每个基线代表了一种不同的方法来回答数据库上的自然语言问题:
- Text2SQL:该基线直接将自然语言查询转换为 SQL 代码,然后在数据库上执行以获得答案。
- 检索增强生成 (RAG):该基线根据嵌入相似度从数据库中检索相关行,然后使用 LLM 根据检索到的数据和原始查询生成答案。
- 检索 + LM 排序:该基线通过使用 LLM 在将检索到的行输入 LLM 进行答案生成之前重新排序,从而扩展了 RAG。
- Text2SQL + LM:该基线使用 Text2SQL 检索潜在相关行,然后将其输入 LLM 进行答案生成,类似于 RAG,但采用了不同的检索机制。
- 手工编写的 TAG:该基线代表了一个理想场景,其中 TAG 流水线是根据对数据库模式和查询意图的专家知识手动构建的。
结果与分析:TAG的胜利
我们的评估显示,TAG,特别是手写版本,在答案准确性方面显著优于所有其他基线。手写TAG的整体准确匹配率达到了55%,而其他基线则难以超过20%。这突显了TAG在结合LLMs和数据库系统优势方面的结构化方法的有效性。
我们还分析了不同基线在各种查询类型上的表现,发现TAG始终提供卓越的结果,特别是对于需要世界知识或复杂推理的查询。这展示了TAG的多功能性及其处理更广泛现实场景的能力。
以下是研究论文中的详细结果:
更广泛研究领域的概述
TAG 基于并扩展了自然语言处理和数据库系统领域的先前研究。以下是它与其他著名方法的关系:
Text2SQL: 一个有局限性的基础
Text2SQL 方法旨在将自然语言问题转换为可执行的 SQL 查询。这在 WikiSQL、Spider 和 BIRD 等各种数据集的背景下得到了广泛的研究。然而,Text2SQL 主要关注具有直接关系等价的查询,通常在需要外部知识或复杂推理的查询上表现不佳,而 TAG 旨在解决这些问题。
RAG: 扩展知识,但仍不足够
Retrieval Augmented Generation (RAG) 通过从知识库中检索相关信息来回答问题,从而扩展了 LLM 的能力。虽然 RAG 可以引入外部知识,但它通常依赖于简单的点查找,可能无法充分利用数据库系统在复杂查询中的计算能力。TAG 通过将 LLM 集成到数据库查询过程中来解决这个问题,从而允许自然语言理解与结构化数据检索之间进行更复杂的交互。
NL Queries over Semi-structured Data: Handling the Real World
对半结构化数据的自然语言查询研究探讨了结构化数据库元素与文本字段等非结构化组件之间的交互。像 STaRK 和 SUQL 这样的方案已经解决了这一领域的挑战,专注于检索和语义解析技术。TAG 通过提供一个更通用的框架来处理结构化和非结构化数据,补充了这项研究,采用统一的查询方法。
代理数据助手:数据交互的未来?
最近的研究探讨了大型语言模型(LLM)代理作为数据助手的概念,能够与数据库及其他工具进行交互以执行复杂任务。虽然TAG目前被定义为单轮交互,但未来的研究可以将其扩展到多轮的代理场景,在这些场景中,LLM与用户和数据库进行对话,以迭代方式细化查询和答案。
TAG: 数据理解的新篇章
主要发现:TAG的优势和潜力
我们对TAG模型及其评估的探索得出了几个关键发现:
- 卓越的准确性:TAG在回答复杂自然语言问题时,始终优于传统的Text2SQL和RAG方法,尤其是在需要外部知识或语义推理的情况下。这突显了TAG统一方法的价值,结合了LLMs和数据库系统的优势。
- 处理多样化查询类型:TAG能够处理广泛的查询类型,从简单的点查询到涉及数据汇总、排名或复杂推理的复杂聚合查询。
- 适应不同数据模型的能力:TAG足够灵活,可以处理结构化、非结构化和半结构化数据,使其适用于各种现实场景。
- 高效的查询执行:通过利用数据库系统的能力,TAG确保即使对于需要分析大量数据的复杂问题,也能高效执行查询。
- 未来发展的潜力:TAG为开发更复杂的查询合成、基于LLM的操作符集成和答案生成技术开辟了令人兴奋的研究机会。
未来研究方向:扩展TAG的视野
虽然TAG展现出显著的潜力,但仍有多个未来研究的方向:
- 多轮交互:扩展TAG以处理多轮对话,使LLM能够与用户和数据库进行迭代交互,以细化查询和答案。
- 解释生成:增强TAG以提供其答案的解释,增加透明度和用户信任。
- 处理模糊性和不确定性:在TAG内部开发强大的机制,以处理模糊查询或数据中的不确定信息。
- 优化基于LLM的操作符:探索数据库查询执行中基于LLM的操作符的高效实现和优化。
- 基准测试与评估:创建更全面的基准,以评估TAG在更广泛的任务和数据模式上的表现。
通过追求这些研究方向,我们可以进一步增强TAG的能力,充分释放其在使用自然语言与数据交互方面的潜力。
参考文献
[1] Text2SQL 不够:通过 TAG 统一 AI 和数据库。 arXiv:2408.14717。
[2] BigQuery 中的 AI 和 ML 介绍 | Google Cloud。
[3] https://ai.meta.com/blog/meta-llama-3-1/
[5] Spider2-V:多模态代理距离自动化数据科学和工程工作流程有多远? arXiv:2407.10956
本故事发布于 Generative AI。请在 LinkedIn 上与我们联系,并关注 Zeniteq,以获取最新的 AI 故事。