Type something to search...
超越 Text2SQL:自然语言数据库查询的新领域

超越 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 通过三个步骤处理示例查询:

  1. 查询合成: TAG 将自然语言查询转换为数据库查询(例如,SQL),并结合基于 LM 的操作符来识别经典爱情电影。
  2. 查询执行: 数据库高效地执行查询,如有需要,利用 LM 来检索最高票房的经典爱情电影(在本例中为《泰坦尼克号》)。
  3. 答案生成: 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_schoolsdebit_card_specializingformula_1codebase_communityeuropean_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/

[4] 开放领域问答通过问题重写实现对话式

[5] Spider2-V:多模态代理距离自动化数据科学和工程工作流程有多远? arXiv:2407.10956

本故事发布于 Generative AI。请在 LinkedIn 上与我们联系,并关注 Zeniteq,以获取最新的 AI 故事。

订阅我们的 新闻通讯YouTube 频道,随时了解生成 AI 的最新新闻和动态。让我们一起塑造 AI 的未来!

Related Posts

使用 ChatGPT 搜索网络功能的 10 种创意方法

使用 ChatGPT 搜索网络功能的 10 种创意方法

例如,提示和输出 你知道可以使用 ChatGPT 的“搜索网络”功能来完成许多任务,而不仅仅是基本的网络搜索吗? 对于那些不知道的人,ChatGPT 新的“搜索网络”功能提供实时信息。 截至撰写此帖时,该功能仅对使用 ChatGPT 4o 和 4o-mini 的付费会员开放。 ![](https://images.weserv.nl/?url=https://cdn-im

阅读更多
在人工智能和技术领域保持领先地位的 10 项必学技能 📚

在人工智能和技术领域保持领先地位的 10 项必学技能 📚

在人工智能和科技这样一个动态的行业中,保持领先意味着不断提升你的技能。无论你是希望深入了解人工智能模型性能、掌握数据分析,还是希望通过人工智能转变传统领域如法律,这些课程都是你成功的捷径。以下是一个精心策划的高价值课程列表,可以助力你的职业发展,并让你始终处于创新的前沿。 1. 生成性人工智能简介课程: [生成性人工智能简介](https://genai.works

阅读更多
10 个强大的 Perplexity AI 提示,让您的营销任务自动化

10 个强大的 Perplexity AI 提示,让您的营销任务自动化

在当今快速变化的数字世界中,营销人员总是在寻找更智能的方法来简化他们的工作。想象一下,有一个个人助理可以为您创建受众档案,建议营销策略,甚至为您撰写广告文案。这听起来像是一个梦想? 多亏了像 Perplexity 这样的 AI 工具,这个梦想现在成为现实。通过正确的提示,您可以将 AI 转变为您的 个人营销助理。在本文中,我将分享 10 个强大的提示,帮助您自动

阅读更多
10+ 面向 UI/UX 设计师的顶级 ChatGPT 提示

10+ 面向 UI/UX 设计师的顶级 ChatGPT 提示

人工智能技术,如机器学习、自然语言处理和数据分析,正在重新定义传统设计方法。从自动化重复任务到实现个性化用户体验,人工智能使设计师能够更加专注于战略思维和创造力。随着这一趋势的不断增长,UI/UX 设计师越来越多地采用 AI 驱动的工具来促进他们的工作。利用人工智能不仅能提供基于数据的洞察,还为满足多样化用户需求的创新设计解决方案开辟了机会。 1. 用户角色开发 目的

阅读更多
在几分钟内完成数月工作的 100 种人工智能工具

在几分钟内完成数月工作的 100 种人工智能工具

人工智能(AI)的快速发展改变了企业的运作方式,使人们能够在短短几分钟内完成曾经需要几周或几个月的任务。从内容创作到网站设计,AI工具帮助专业人士节省时间,提高生产力,专注于创造力。以下是按功能分类的100个AI工具的全面列表,以及它们在现实世界中的使用实例。 1. 研究工具 研究可能耗时,但人工智能工具使查找、分析和组织数据变得更加容易。**ChatGPT, Cop

阅读更多
你从未知道的 17 个令人惊叹的 GitHub 仓库

你从未知道的 17 个令人惊叹的 GitHub 仓库

Github 隐藏的宝石!! 立即收藏的代码库 学习编程相对简单,但掌握编写更好代码的艺术要困难得多。GitHub 是开发者的宝藏,那里“金子”是其他人分享的精心编写的代码。通过探索 GitHub,您可以发现如何编写更清晰的代码,理解高质量代码的样子,并学习成为更熟练开发者的基本步骤。 1. notwaldorf/emoji-translate *谁需

阅读更多