表格增強生成TAG登場:解鎖AI自然語言與資料庫的完美結合

机器之心發表於2024-09-10

與 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/

相關文章