新智元報道
編輯:LRST
【新智元導讀】Spatial-RAG結合了空間數據庫和大型語言模型(LLM)的能力,能夠處理復雜的空間推理問題。通過稀疏和密集檢索相結合的方式,Spatial-RAG可以高效地從空間數據庫中檢索出滿足用戶查詢的空間對象,并利用LLM的語義理解能力對這些對象進行排序和生成最終答案。
近年來,大型語言模型(LLMs)的進展已經在機器學習(ML)的許多領域帶來了變革,特別是在理解和生成類人文本方面,激發了人們通過直接從LLMs中提取空間知識來彌合空間問答與自然語言之間的差距,研究成果涵蓋了廣泛的應用,包括地理百科全書問答、地理定位和自動高精度地圖生成等。
然而,當涉及到空間推理任務時,LLMs的表現卻顯得力不從心,甚至在處理基本的空間任務時也遇到困難,例如地理解析和理解相對空間關系。這種差距在處理現實世界的空間推理任務時尤為明顯,例如圖1中所示的場景:
圖1 現實世界中空間推理問題示例。滿足空間約束的區域以藍色突出顯示
空間推理不僅要求模型理解復雜的空間關系,還需要結合地理數據和語義信息,生成準確的回答。
傳統的空間問答系統依賴于專門的空間查詢語言(比如GeoSPARQL, Spatial SQL),這些語言與人類語言大相徑庭,使得普通用戶難以使用。更重要的是,這些系統缺乏從人類文本的豐富上下文中推斷復雜空間和語義關系的能力,限制了它們在現實世界問答場景中的適用性。
空間問答的主要難點是「空間」與「語義」的雙重需求
空間約束:圖1用戶的問題涉及復雜的空間關系:「沿某條路線推薦餐廳」。傳統的空間數據庫可以高效處理這些空間查詢,但它們無法理解用戶的語義需求:「要求肉食」。
語義理解:LLMs擅長理解自然語言中的語義信息,例如用戶對餐廳類型、價格或評分的偏好。然而,LLMs缺乏直接處理空間數據的能力,無法執行復雜的空間計算(例如,計算兩個點之間的距離或判斷一個點是否位于某個區域內)。
為了解決這些挑戰,增強LLMs的空間推理能力,埃默里大學和德州大學奧斯汀分校的研究人員推出了一個革命性的框架Spatial Retrieval-Augmented Generation (Spatial-RAG),將檢索增強生成(RAG)擴展到空間信息檢索和推理,彌合結構化空間數據庫與非結構化文本推理之間的差距,增強了LLMs在空間推理任務中的能力。
論文鏈接:https://www.researchgate.net/publication/388656403_Spatial-RAG_Spatial_Retrieval_Augmented_Generation_for_Real-World_Spatial_Reasoning_Questions
空間RAG
RAG在知識密集型任務(如問答)中已經展示了其有效性,通過檢索特定領域的文檔來增強LLM的響應。
然而,現有的RAG系統主要專注于檢索和生成文本內容,缺乏空間推理任務所需的空間智能,尤其是涉及理解和計算幾何體(如點、多段線和多邊形)之間復雜空間關系的任務。
如圖1中的例子,回答問題需要LLM從用戶的文本請求中提取并形式化問題為「找到靠近多段線的點」,并基于空間地圖(數據庫)解決該問題。然后,它還需要推斷用戶偏好,以選擇空間和語義上更優的候選對象。
因此,系統必須無縫集成結構化空間檢索與非結構化文本推理,確保空間準確性和上下文理解。
為了實現這一目標,研究人員引入了空間檢索增強生成(Spatial-RAG),這是一個新穎的框架,將文本引導的空間檢索與空間感知的文本生成相結合。
具體來說,為了識別空間相關的候選答案,研究人員提出了一種新穎的空間混合檢索模塊,結合了稀疏和密集檢索器。
為了對候選答案進行排序并生成最終答案,研究人員提出基于空間和語義聯合排序策略的Pareto前沿檢索結果來驅動生成器。該研究貢獻總結如下:
通用的Spatial-RAG框架:Spatial-RAG是第一個將RAG擴展到空間問答的框架,能夠處理廣泛的空間推理任務,如地理推薦、空間約束搜索和上下文路徑規劃。無縫集成了空間數據庫、LLMs和基于檢索的增強,使得能夠在LLMs的熟悉操作范式內有效處理復雜的空間推理問題。
稀疏-密集空間混合檢索器:提出了一種混合檢索機制,結合了稀疏檢索(基于SQL的結構化查詢)和密集檢索(基于LLM的語義匹配)。這種雙重方法確保檢索結果在空間和語義上與用戶查詢一致,顯著提高了空間上下文中的檢索準確性。
多目標引導的空間文本生成器:為了處理空間問答任務中的空間約束和文本推理,引入了一個多目標優化框架,動態平衡空間和語義相關性之間的權衡。這確保了生成的響應既幾何準確又語言連貫。
真實世界評估:在從旅游網站收集的真實世界數據集上評估了方法,該數據集包含用戶對不同空間實體的問題和評論。在該數據集上的實驗揭示了處理現實世界空間推理問題的能力。
通過這些創新,Spatial-RAG顯著增強了LLMs的空間推理能力,彌合了結構化空間數據庫與自然語言問答之間的差距。
方法簡介
圖2 Spatial-RAG框架
對于一個空間推理問題q, Spatial-RAG將生成答案y, 形式上,該研究定義:
其中包含三個待解決的關鍵階段:
構建空間候選集Cs:系統必須精確定義空間約束,然后檢索滿足這些約束的空間對象。如圖2 sparse spatial retrieval(稀疏空間檢索)所示,通過將輸入的自然語言問題解析為空間SQL查詢來實現這一點,該查詢將在空間數據庫上執行,以高效地從數據庫中檢索相關的空間對象。
計算空間相關性fs(q,y):為了在集成文本信息的同時有效計算空間相關性,研究人員提出了一種混合空間檢索方案。如圖2所示,該方法結合了來自數據庫的稀疏空間相關性分數和來自文本嵌入的密集語義相似性分數,使得系統能夠根據輸入問題的空間相關性對檢索到的空間對象進行排序。
多目標優化生成:在給定空間和語義約束的情況下,研究人員提出了一個多目標優化問題來平衡這些因素。系統計算候選答案的Pareto前沿,LLM動態在這些解決方案之間進行權衡,以生成最優響應。
稀疏空間檢索
空間推理問題的答案必須滿足特定的空間約束。空間候選集Cs(q)由滿足一組空間約束Cs(q)的所有可能答案y組成。形式上,該研究定義:
其中cs(y,q)表示編碼空間條件的約束函數(例如,拓撲、方向或距離約束),Cs(q)是與問題q相關的所有空間約束的集合。
例如,如果空間約束要求y與參考位置lq的距離不超過?,則可能的約束函數為:
這種公式確保只有空間上有效的答案才會被包含在Cs(q)中。
處理空間約束需要在空間數據庫中執行定義良好的空間SQL查詢。此過程涉及識別適當的查詢函數、參考空間對象、目標空間對象以及任何必要的數值參數。形式上,空間SQL查詢可以表示為:
其中Fs是確定對象之間關系的空間查詢函數,Gr表示從問題中提取的參考對象集合,Gt表示作為潛在答案的目標對象集合,?是控制空間約束的數值參數。
鑒于這些約束的多樣性和潛在的復雜性,大型語言模型(LLMs)通常難以直接從用戶輸入中構建完整且可執行的空間查詢。為了彌合這一差距,研究人員逐步構建空間查詢,允許LLM系統地填充所需的組件。
方法遵循三個關鍵步驟:
幾何識別:從用戶輸入中識別并提取參考空間對象Gr和候選目標空間對象Gt,并提取它們的空間幾何體。
查詢函數選擇:根據預期的空間關系(例如,包含、接近)確定適當的空間函數Fs。
參數估計:分配數值約束?以確保精確的空間過濾(例如,緩沖區半徑)。
通過形式化這一結構化過程,研究人員增強了LLM生成準確且可執行的空間SQL查詢的能力,從而提高了系統處理復雜空間推理問題的能力。
幾何識別
在空間推理任務中,準確識別空間對象并提取其空間幾何體對于將問題解析為空間查詢至關重要。空間對象g∈G通常可以分為三種基本類型:點、多段線和多邊形。形式上,研究人員定義這些類別如下:
點:此類別包括單個點和多點,表示面積可忽略的位置。例如,停車標志、地址點和用戶的當前位置。在空間數據庫中,這些實體通常表示為「點」幾何類型。
多段線(包括多段線組):表示寬度可忽略的線性一維對象。常見的例子包括街道、河流、公交路線和電力線。在空間數據庫中,這些幾何體抽象為「線串」類型。
多邊形(包括多邊組):表示定義封閉區域的二維對象。這些幾何體對于描繪區域(如人口普查區、地塊、縣、社區和分區區域)至關重要。
空間查詢的復雜性取決于所涉及對象的類型。對于較簡單的查詢,例如「從給定位置找到最近的公交站」,只需要點幾何體,空間候選集為:
其中gpoint?Gpoint表示點對象(例如,給定位置),?是距離閾值。對于更復雜的查詢,例如「我將從家沿著第7街和瓊斯街步行到大學校園;請推薦一家我可以在步行途中購買早餐的咖啡館。」,必須考慮多種幾何類型,空間候選集為:
其中表示多段線對象(例如,路線),表示多邊形區域(例如,大學校園),B是多段線周圍的緩沖區,?是緩沖區大小。
通過以這種方式構建空間查詢,研究人員確保了精確的幾何表示,促進了強大的空間推理和查詢執行。
查詢函數識別和參數估計
在識別了空間查詢中涉及的幾何體之后,下一步是確定處理各種幾何交互所需的適當空間查詢函數Fs
盡管幾何體之間的交互不同,但它們可以通過距離函數d(gr,gt)統一處理,該函數計算兩個幾何實體gr,gt∈G之間的最短距離。
形式上,給定參考幾何體集合Gr?G和目標幾何體集合Gt?G,空間候選集Cs可以定義為:
參數如搜索半徑或緩沖區距離?由LLM自主確定,通常基于上下文理解(例如,估計的步行距離或感興趣區域)。參數?可以表示為:?=?(q),其中?是將查詢q的上下文映射到適當數值的函數。
一旦幾何體Gr,Gt函數Fs和參數?被確定,系統將構建精確的空間查詢Qs,確保了從空間數據庫中進行精確檢索,保持結果的準確性和相關性。
通過利用這些數學公式,系統有效地將空間推理任務轉化為可執行的查詢,促進了LLM框架內的強大空間智能。
混合空間對象排序
空間相關性分數fs由兩個部分組成:一個來自空間數據庫的稀疏空間檢索分數,另一個來自基于問題和候選對象空間描述之間的文本相似性的密集空間檢索分數。
形式上,研究人員定義:
其中λs和λd是控制每個分數貢獻的權重系數。
稀疏空間相關性評分
稀疏空間相關性直接從空間數據庫中使用顯式空間關系計算。分數由空間查詢函數 FsFs 確定,該函數計算參考對象和目標對象之間的距離。形式上,研究人員定義:
其中gr和gt分別是參考和目標空間對象。
是測量空間數據庫中接近度的距離函數。如果gt與gr重疊,分配一個完美的相關性分數1,確保了區域內的對象具有最大的相關性,而區域外的對象隨著距離的增加,其分數逐漸衰減。
密集空間相關性評分
與稀疏評分不同,密集空間相關性是從與空間對象相關的文本描述中推斷出來的。研究人員利用LLM從用戶查詢中提取關鍵空間屬性,并將其與候選對象的描述進行比較。
提取空間需求:給定用戶查詢q和一組空間對象Gt的文本描述dt,研究人員通過基于注意力的掩碼函數提取相關的空間內容:
其中vq,s和vt,s是空間特征的密集向量表示,M是將輸入文本映射到空間相關文本的提取函數,E是文本編碼器。
通過余弦相似性排序:相關性分數通過余弦相似性計算:
混合排序作為廣義模型
混合排序泛化了稀疏和密集排序方法:
僅稀疏情況:如果 λd=0λd=0,則 fs=λsfssparsefs=λsfssparse,簡化為純基于距離的排序。
僅密集情況:如果 λs=0λs=0,則 fs=λdfsdensefs=λdfsdense,簡化為純基于語義的排序。
混合情況:如果兩個權重都非零,混合排序受益于顯式空間約束和隱式語義相關性,從而形成更全面的排序機制。
這種公式確保混合排序通過捕捉空間接近度和語義對齊,優于任何單一排序方法。
多目標生成
語義候選集Ck和語義相關性分數fk基于密集向量相似性計算。在獲得所有分數和候選集后,問題變為多目標優化問題,因為每個視角(空間和語義)都獨立貢獻。
Pareto前沿計算
給定空間和語義相關性分數,目標是識別在空間和語義相關性之間實現最佳權衡的Pareto最優候選。
一個候選y是Pareto最優的,如果沒有其他候選在空間和語義相關性上都優于它。
形式上,Pareto前沿P(q)定義為:
確保了P(q)中的每個候選都是非支配的,意味著沒有其他候選在空間和語義相關性上都嚴格優于它。
基于LLM的權衡決策
一旦確定了Pareto前沿P(q),研究人員使用LLM根據用戶查詢的上下文動態平衡空間約束和語義偏好之間的權衡。
具體來說,LLM接收用戶查詢、稀疏空間相關性分數和空間對象描述作為輸入:
基于上下文信息的動態加權函數從輸入中提取,調整空間與語義相關性的重要性,其中h是捕捉查詢特定權衡的學習函數。
LLM選擇排名最高的候選y?:
并生成自然語言響應。
系統適應不同的查詢上下文,而不是使用固定的加權方案。
通過將決策過程結構化為離散步驟(候選過濾 →→ Pareto選擇 →→ 權衡平衡 →→ 響應生成),LLM避免了生成不可行或不合理的結果。這種結構化方法最大限度地提高了準確性和可用性,確保系統的最終響應與用戶的原始意圖緊密一致。
實驗部分
研究人員在紐約市和邁阿密的旅游數據集上對Spatial-RAG進行了評估,展示了其在處理真實世界空間推理問題上的顯著優勢。
數據集與評估指標
數據集:使用了來自TripAdvisor的用戶問題和評論數據,涵蓋紐約市的9,470個興趣點(POIs)和邁阿密的2,640個POIs。
評估指標:
交付率:評估方法是否能夠成功生成結果。
空間稀疏通過率:評估解析的空間查詢是否正確。
空間密集通過率:評估答案是否滿足問題中的空間相關語義約束。
語義通過率:評估答案是否符合問題中的語義約束。
對比方法
為了評估LLM(GPT-3.5-Turbo和GPT-4-Turbo)在此框架下的表現,研究團隊對比了以下基線方法:
Sort-by-distance(SD):按照空間問題中的參考對象距離排序候選空間對象。
Text embedding(TE):基于文本描述的嵌入向量,計算目標對象與參考對象的向量距離,并選擇最近的對象。
Spatial-text(ST):基于用戶問題的嵌入向量計算與目標對象文本描述的相似度,并結合目標對象的距離得分進行加權求和后決策。
Naive RAG:使用向量數據庫存儲所有空間對象描述,并基于向量相似性檢索最相關的對象。
GeoLLM:對空間對象進行編碼,并通過添加附近對象的空間信息豐富上下文。
實驗結果
紐約(NYC)
Spatial-RAG(GPT-3.5-Turbo 和 GPT-4-Turbo)在交付率上與其他基線方法存在一定差距,大約 86.1% 的問題被成功處理。
失敗的 12.9% 的情況是由于 無法從空間數據庫檢索到任何空間對象(可能由于多邊形識別錯誤或SQL查詢指定區域內無相關對象)。
另 0.9% 的情況是 LLM在重新排序(reranking)過程中未能正確排列檢索結果。
Spatial-RAG(GPT-4-Turbo)比 GPT-3.5-Turbo 在 Spatial Dense Pass Rate 上高 7%,在 Semantic Pass Rate 上也稍有優勢。
SD 方法由于僅基于距離返回最近的對象,其 Spatial Dense Pass Rate 較高,但其他指標表現較差。
GeoLLM 方法僅基于對象名稱和距離,因此在 Spatial Dense Pass Rate 方面表現尚可。
TE 和 ST 方法考慮了語義信息,在 Semantic Pass Rate 方面表現較優。
Naive RAG 和 ST 共同優化了空間密集檢索和用戶語義檢索,因此兩者在這兩個方面表現接近。
邁阿密(Miami)
Spatial-RAG 在邁阿密數據集上的表現也較好。
基線方法的表現模式與紐約數據集基本一致,但由于邁阿密的數據量較小(QA 對數量僅為 133),模型表現的穩定性可能受到影響。
消融實驗
研究人員通過移除稀疏空間模塊、密集空間模塊和密集語義模塊進行了消融實驗。結果表明:
移除稀疏空間模塊后,交付率顯著提高,但空間得分下降。
移除密集語義模塊后,空間密集通過率最高,但語義通過率顯著降低。
案例研究
圖3和圖4(b)展示了一個典型的多段線搜索案例。
Spatial-RAG成功識別了用戶意圖,推薦了沿路線的餐廳,展示了其在復雜空間推理任務中的強大能力。
圖3 Spatial-RAG 運行方式的示例:給定一個問題,1) 稀疏空間檢索:LLM 將自然語言問題解析為空間數據庫的空間 SQL 查詢,檢索滿足空間約束和稀疏空間相關性分數的空間對象。2) 問題分解和密集檢索:同時,Spatial-RAG 將問題分解為空間和語義組件,并將它們與空間對象的描述進行比較以執行密集檢索,過濾掉不相關的內容。3) LLM 重新排序:語言代理平衡空間和語義方面以重新排序候選并生成最終答案。
圖4 (a) 查詢? km半徑內的點 (b) 查詢路徑周圍的點 (c) 查詢多邊形內的點
結論
Spatial-RAG通過結合空間數據庫和LLM的語義理解能力,顯著提升了空間推理任務的性能。實驗表明,Spatial-RAG在真實世界數據集上表現優異,能夠有效處理復雜的空間推理問題,為旅游推薦、路徑規劃等應用提供了強大的支持。
參考資料:
https://www.researchgate.net/publication/388656403_Spatial-RAG_Spatial_Retrieval_Augmented_Generation_for_Real-World_Spatial_Reasoning_Questions
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.