机器之心报道
编辑:陈陈
与 Text2SQL 或 RAG 不同,TAG 充分利用了数据库系统和 LLM 的功能。人工智能已经改变了人们的工作方式和与数据交互的方式。回想几年前,研究人员必须编写 SQL 查询和代码才能从大量数据中提取有用信息。如今,他们只需输入问题,由语言模型驱动的底层系统会完成其余工作,让用户只需与数据对话即可立即获得答案。
这些新系统向数据库提供自然语言交互,这种转变取得了丰硕成果,但仍存在一些问题。从本质上讲,这些系统仍然无法处理各种查询。
本文,来自 UC 伯克利和斯坦福大学的研究人员现在正努力用一种名为表格增强生成 (TAG,Table-Augmented Generation) 的新方法来解决这一问题。
TAG 是一种统一且通用的范式,用于回答数据库中的自然语言问题。TAG 模型代表了 LM 和数据库之间未曾探索过的广泛交互。
TAG 是如何工作的
目前,当用户对自定义数据源提出自然语言问题时,主要采用两种方法:文本到 SQL 或检索增强生成 (RAG)。
虽然这两种方法都能很好地完成工作,但当问题变得复杂并超出系统能力时,用户就会遇到问题。
举例来说,文本到 SQL 的方法(这是一种将文本提示转换为数据库可以执行的 SQL 查询)仅关注可以用关系代数表达的自然语言问题,但只能查询用户可能想要询问的一小部分问题。
相似的,RAG 只能通过对数据库中的一个或几个数据记录的点查找来回答相关的查询。这种方法专注于直接从数据库中检索特定信息点,而不涉及更复杂的数据处理或分析。
然而,对于商业用户来说,他们的问题通常需要复杂的领域知识、世界知识、精确计算和语义推理的组合。
为了解决这一问题,该研究提出了 TAG 系统,其实现主要包含三个步骤:查询合成、查询执行和答案生成。
TAG 模型很简单,但功能强大,由以下三个方程定义:
值得注意的是,TAG 模型统一了之前的方法,包括 Text2SQL 和 RAG,它们仅代表了 TAG 的特殊情况并且仅能解决有限的用户问题子集。
查询合成
首先,LM 推断哪些数据与回答问题相关,并将输入转换为该数据库的可执行查询(不仅仅是 SQL) 。
其中,syn 函数接受自然语言请求