TAG 超越 Text2SQL:数据库与人工智能的完美结合

原文标题:表格增强生成TAG登场:解锁AI自然语言与数据库的完美结合

原文作者:机器之心

冷月清谈:

**TAG 概览**

TAG(表格增强生成)是一种新的方法,旨在弥补现有自然语言到数据库查询方法的不足,如 Text2SQL 和 RAG,它们只能处理有限的问题类型。TAG 采用统一且通用的范式,将大型语言模型 (LM) 的强大功能与数据库系统的效率相结合。

TAG 工作原理

TAG 采用三个步骤来处理自然语言问题:

  1. **查询合成:**LM 生成与问题相关的数据的可执行数据库查询。
  2. **查询执行:**数据库系统执行查询并返回表中的相关数据。
  3. **答案生成:**LM 使用查询结果和语义推理生成自然语言答案。

TAG 的优点

TAG 提供了以下优势:

  • **更高的准确率:**在 BIRD 数据集上,手写 TAG 基线在所有查询类型上实现了 55% 的精确匹配准确率,明显高于 Text2SQL 和 RAG 等其他方法。
  • **更广泛的查询覆盖范围:**TAG 可以处理各种查询,包括需要复杂数据处理、领域知识和推理的查询。
  • **更高的效率:**TAG 的手写基线提供了高效的实现,与其他方法相比,执行时间减少了 1/3。

应用场景

TAG 可用于各种应用场景,例如:

  • 客户服务:允许用户使用自然语言提出关于产品和订单的问题。
  • 市场研究:通过分析客户反馈和评论来提供对市场趋势的见解。
  • 医疗保健:帮助医疗专业人员快速获取与患者护理相关的关键信息。

总体而言,TAG 是一个强大的新工具,它将人工智能的语义推理能力与数据库系统的效率相结合,为用户提供了与数据交互的更自然、更有效的方式。




怜星夜思:


1、TAG 在复杂查询处理方面的优势体现在哪里?能举例说明吗?
2、目前 TAG 在实际应用中面临着哪些挑战或限制?
3、TAG 的未来发展方向和潜在应用还有哪些?




原文内容



机器之心报道

编辑:陈陈

与 Text2SQL 或 RAG 不同,TAG 充分利用了数据库系统和 LLM 的功能。


人工智能已经改变了人们的工作方式和与数据交互的方式。回想几年前,研究人员必须编写 SQL 查询和代码才能从大量数据中提取有用信息。如今,他们只需输入问题,由语言模型驱动的底层系统会完成其余工作,让用户只需与数据对话即可立即获得答案。

这些新系统向数据库提供自然语言交互,这种转变取得了丰硕成果,但仍存在一些问题。从本质上讲,这些系统仍然无法处理各种查询。

本文,来自 UC 伯克利和斯坦福大学的研究人员现在正努力用一种名为表格增强生成 (TAG,Table-Augmented Generation) 的新方法来解决这一问题。


  • 论文地址:https://arxiv.org/pdf/2408.14717
  • 项目地址:https://github.com/TAG-Research/TAG-Bench
  • 论文标题:Text2SQL is Not Enough: Unifying AI and Databases with TAG

TAG 是一种统一且通用的范式,用于回答数据库中的自然语言问题。TAG 模型代表了 LM 和数据库之间未曾探索过的广泛交互。

TAG 是如何工作的

目前,当用户对自定义数据源提出自然语言问题时,主要采用两种方法:文本到 SQL 或检索增强生成 (RAG)

虽然这两种方法都能很好地完成工作,但当问题变得复杂并超出系统能力时,用户就会遇到问题。

举例来说,文本到 SQL 的方法(这是一种将文本提示转换为数据库可以执行的 SQL 查询)仅关注可以用关系代数表达的自然语言问题,但只能查询用户可能想要询问的一小部分问题。

相似的,RAG 只能通过对数据库中的一个或几个数据记录的点查找来回答相关的查询。这种方法专注于直接从数据库中检索特定信息点,而不涉及更复杂的数据处理或分析。 

然而,对于商业用户来说,他们的问题通常需要复杂的领域知识、世界知识、精确计算和语义推理的组合。

为了解决这一问题,该研究提出了 TAG 系统,其实现主要包含三个步骤:查询合成、查询执行和答案生成


TAG 模型很简单,但功能强大,由以下三个方程定义:


值得注意的是,TAG 模型统一了之前的方法,包括 Text2SQL 和 RAG,它们仅代表了 TAG 的特殊情况并且仅能解决有限的用户问题子集。

查询合成

首先,LM 推断哪些数据与回答问题相关,并将输入转换为该数据库的可执行查询(不仅仅是 SQL) 。

其中,syn 函数接受自然语言请求 𝑅 并生成要由数据库系统执行的查询 𝑄。对于给定的用户请求,此步骤负责 (a) 推断哪些数据与回答请求相关,以及 (b) 执行语义解析以将用户请求转换为可由数据库系统执行的查询。此查询可以使用任何查询语言。论文示例中使用了 SQL。

如图 1 所示,该查询的问题是「总结票房最高的被认为是经典的爱情电影的评论」。在这里,数据源包含有关每部电影的名字、收入、类型和相关评论的信息。在此步骤中,系统利用 LM 的语义推理能力来生成 SQL 查询,该查询使用来自数据源的电影标题、评论、收入和类型的属性。

查询执行

在查询执行阶段,exec 函数在数据库系统中执行查询𝑄,获取表𝑇。此步骤利用数据库查询引擎对大量存储的数据进行有效地查询。

如图 1 所示,数据库查询是用 SQL 编写的 selection 和 ranking 查询,它返回包含相关行的表。查询使用 LM 执行选择,根据电影名字评估哪些电影是经典电影,并使用标准类型过滤器查找爱情电影。查询还根据收入对结果进行排名,以查找票房最高的电影。如图所示,结果表包含电影泰坦尼克号的评论。

答案生成

在这一步中,gen 函数使用 LM 生成用户自然语言请求 R 的答案 A。

还是以图 1 为例,在 TAG pipeline 最后阶段,输出有关泰坦尼克号的评论摘要作为对原始用户请求的回答。在示例中,相关数据 𝑇 被编码为字符串,供模型处理。编码表与原始用户请求 𝑅 一起传递给 LM。为了获得答案,此步骤利用模型对评论列的语义推理能力来总结评论。

实验及结果

表 1 显示了每种方法的精确匹配准确率和执行时间。如表所示,在选定的 BIRD (一个数据集,用于测试 LMs 的文本到 sql 的能力)查询类型中,研究者发现手写 TAG(hand-written TAG)基线始终能达到 40% 或更高的精确匹配准确率,而其他基线的准确率均未超过 20%。


具体而言,Text2SQL 在所有基线上的表现都不佳,执行准确率不超过 20%,但在 Ranking 查询上的表现尤其糟糕,准确率只有 10%,因为许多 Ranking 查询需要对文本进行推理。Text2SQL + LM 在各个基线上的表现都同样糟糕,但在基于匹配和比较的查询上表现更差,准确率只有 10%。

对于 RAG,可以看到它在所有查询类型中都不能正确回答单个查询,这表明 RAG 不适合这个领域的查询。

手写 TAG 总体上正确回答了 55% 的查询,在比较查询中表现最佳,精确匹配准确率为 65%。由于精确排序商品的难度较高,该基线在所有查询类型(排名查询除外)中的表现始终良好,准确率超过 50%。总体而言,与标准基线相比,此方法的准确率提高了 20% 至 65%。

表 2 表明,由于省略了答案生成步骤,vanilla Text2SQL 在需要 LM 推理的查询上表现较差,精确匹配准确率为 10%。与此同时,RAG 基线和 Retrieval + LM Rank 基线在所有查询类型上都表现不好,只能正确回答一个查询。相比之下,手写 TAG 基线在需要知识的查询和需要推理的查询上都实现了超过 50% 的准确率。


值得注意的是,除了提供卓越的准确率外,手写 TAG 方法还提供了高效的实现,与其他基线相比,执行时间少用了 1/3。手写基线对所有查询的平均耗时为 2.94 秒。

最后,该研究定性分析了每个基线在聚合查询上的结果。图 2 为一个示例展示,查询的内容为「提供有关雪邦国际赛车场的比赛资料」。

结果显示,RAG 基线只能提供有关部分比赛的信息,因为大多数相关比赛都无法被检索到。另一方面,Text2SQL + LM 基线无法利用 DBMS 中的任何信息,仅依赖于参数知识并且不提供进一步的分析。

相比较来说,手写基线提供了 1999 年至 2017 年在雪邦国际赛道举行的所有比赛的详尽摘要。


参考链接:
https://venturebeat.com/data-infrastructure/table-augmented-generation-shows-promise-for-complex-dataset-querying-outperforms-text-to-sql/




© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:[email protected]

TAG 能够处理复杂查询的优势主要表现在以下几个方面:

  1. **语义推理:**TAG 利用大型语言模型 (LM) 的语义推理能力,可以理解问题中隐含的意图,并根据这些意图生成精确的数据库查询。
  2. **数据关联:**TAG 可以将不同的数据表关联起来,提取来自多个来源的相关数据,从而回答更复杂的查询。
  3. **领域知识集成:**TAG 可以将领域知识和世界知识整合到查询生成过程中,从而理解特定领域的特殊术语和概念。

示例:

考虑一个查询:“列出在过去五年内获得奥斯卡最佳影片奖的具有女性导演的电影。”

Text2SQL 只能将该查询转换为一个简单的 SQL 查询,查找过去五年内获得奥斯卡奖的电影,而忽略了"女性导演"的条件。而 TAG 则能够利用其语义推理能力,将"女性导演"的条件转换为一个过滤条件,生成一个更精确的 SQL 查询。

在潜在应用方面,TAG 可以为以下领域带来变革:

  • **问答系统:**TAG 可以作为问答系统背后的引擎,允许用户使用自然语言提出问题,并从数据库中获取准确、全面的答案。
  • **数据分析:**TAG 可以简化数据分析过程,使没有编程背景的用户能够轻松地探索和分析数据。
  • **商业智能:**TAG 可以为企业提供实时洞察力,帮助他们做出明智的决策,并提高运营效率。

举个实际的例子来说明 TAG 在复杂查询处理方面的优势。

假设有一个电影数据库,其中包含电影表和评级表,电影表有影片ID影片名称导演等字段,而评级表有评级ID影片ID评级等字段。

如果我们想查询 “找出由张艺谋导演、评分在 8 分以上的电影的片名”,可以通过 TAG 来实现。

SELECT 电影.影片名称
FROM 电影
JOIN 评级 ON 电影.影片ID = 评级.影片ID
WHERE 电影.导演 = "张艺谋" AND 评级.评级 > 8

相比之下,传统的 SQL 查询或 Text2SQL 可能无法处理这种关联多个表和应用过滤条件的复杂查询。

此外,TAG 也可以与其他技术相结合,创造创新的应用:

  • **语音助理:**整合 TAG 和语音识别技术,打造自然语言驱动的虚拟助手,可以回答问题并执行基于数据库的任务。
  • **代码生成:**TAG 可以用于自动生成代码,例如 SQL 查询或 Python 脚本,这可以极大地提高开发人员的效率。
  • **教育:**TAG 可以用于创建互动式学习平台,让学生使用自然语言探索和学习复杂的概念。

除了上面提到的技术挑战,TAG 的实际应用还受到以下因素限制:

  • **用户接受度:**需要时间让用户习惯并接受使用自然语言与数据库交互的新方式。
  • **基础设施限制:**部署和维护 TAG 系统需要强大的计算基础设施,这可能对某些组织来说成本高昂或不可行。
  • **安全和隐私 concerns:**TAG 需要访问敏感数据,这引起了安全和隐私方面的问题,需要仔细考虑和解决。

此外,TAG 还可能受到特定领域或行业特有挑战的影响,例如:

  • **医疗保健:**医疗数据的高度敏感性和复杂性可能给 TAG 的实施带来独特的挑战,例如需要遵守隐私法规和确保查询结果的准确性。
  • **金融:**金融数据通常受到严格的监管,这可能会限制 TAG 在该领域的广泛应用。
  • **制造业:**制造业中使用的技术术语和复杂流程可能会给 TAG 的语义理解带来挑战。

TAG 未来发展方向和潜在应用包括:

  1. **可解释性增强:**开发新的方法来提高 TAG 生成的查询的可解释性,以便用户更容易理解和调试。
  2. **自动化查询优化:**探索机器学习和优化算法,以自动优化 TAG 生成的查询,提高性能和效率。
  3. **新领域探索:**将 TAG 应用到新的领域,例如自然语言编程、知识图谱和对话式人工智能。

TAG 还允许用户通过简单易懂的自然语言界面来提出复杂查询。这降低了对 SQL 或其他数据库查询语言的依赖,从而可以让更多的人从数据中获取有价值的信息。总体而言,TAG 在复杂查询处理方面提供了更高的灵活性、准确性和可访问性。

尽管 TAG 具有显著的优势,但它在实际应用中仍面临着以下几个挑战或限制:

  1. **数据质量:**TAG 依赖于数据质量,如果数据不完整或不准确,会影响查询结果的可信度。
  2. **可解释性:**TAG 生成的查询有时可能复杂且难以理解,这给调试和维护带来了挑战。
  3. **计算成本:**TAG 中涉及的大型语言模型 (LM) 和查询优化算法可能会产生高昂的计算成本,尤其是对于大规模数据集。
  4. **偏差和公平性:**与其他人工智能模型一样,TAG 也可能受到训练数据偏差和不公平性的影响,这可能会导致查询结果有偏或不公平。