0. 背景简介
在人工智能领域,大型语言模型(LLMs)如 GPT 系列已经在文本生成和理解任务中展现了强大的能力。然而,当涉及到空间推理任务时,LLMs 的表现却显得力不从心。空间推理不仅要求模型理解复杂的空间关系,还需要结合地理数据和语义信息,生成准确的回答。为了突破这一瓶颈,研究人员推出了 Spatial Retrieval-Augmented Generation (Spatial-RAG)—— 一个革命性的框架,旨在增强 LLMs 在空间推理任务中的能力。
1. 论文信息
2. 挑战与解决方案
空间问答长期以来一直是一个基础领域,它包括各种空间问题,从识别最近的邻居到检测线与多边形的交集。然而,传统的空间问答系统依赖于专门的空间查询语言(比如 GeoSPARQL, Spatial SQL),这些语言与人类语言大相径庭,使得普通用户难以使用。更重要的是,这些系统缺乏从人类文本的丰富上下文中推断复杂空间和语义关系的能力,限制了它们在现实世界问答场景中的适用性。
近年来,大型语言模型(LLMs)的进展已经在机器学习(ML)的许多领域带来了变革,特别是在理解和生成类人文本方面。这一进展激发了人们通过直接从 LLMs 中提取空间知识来弥合空间问答与自然语言之间的差距。这些努力涵盖了广泛的应用,包括地理百科全书问答、地理定位和自动高精度地图生成等。尽管取得了这些进展,最近的研究表明,LLMs 在空间推理方面表现出显著的局限性,甚至在处理基本的空间任务时也遇到困难,例如地理解析和理解相对空间关系。这种差距在处理现实世界的空间推理任务时尤为明显,例如图 1 中所示的场景:
图 1. 现实世界中空间推理问题示例。满足空间约束的区域以蓝色突出显示
挑战:空间与语义的双重需求
为了解决这些挑战,增强 LLMs 的空间推理能力,该研究将检索增强生成(RAG)扩展到空间信息检索和推理,弥合结构化空间数据库与非结构化文本推理之间的差距。
RAG 在知识密集型任务(如问答)中已经展示了其有效性,通过检索特定领域的文档来增强 LLM 的响应。然而,现有的 RAG 系统主要专注于检索和生成文本内容,缺乏空间推理任务所需的空间智能,尤其是涉及理解和计算几何体(如点、多段线和多边形)之间复杂空间关系的任务。
如图 1 中的例子,回答问题需要 LLM 从用户的文本请求中提取并形式化问题为 “找到靠近多段线的点”,并基于空间地图(数据库)解决该问题。然后,它还需要推断用户偏好,以选择空间和语义上更优的候选对象。因此,系统必须无缝集成结构化空间检索与非结构化文本推理,确保空间准确性和上下文理解。为了实现这一目标,研究人员引入了空间检索增强生成(Spatial-RAG),这是一个新颖的框架,将文本引导的空间检索与空间感知的文本生成相结合。具体来说,为了识别空间相关的候选答案,研究人员提出了一种新颖的空间混合检索模块,结合了稀疏和密集检索器。为了对候选答案进行排序并生成最终答案,研究人员提出基于空间和语义联合排序策略的 Pareto 前沿检索结果来驱动生成器。该研究贡献总结如下:
通过这些创新,Spatial-RAG 显著增强了 LLMs 的空间推理能力,弥合了结构化空间数据库与自然语言问答之间的差距。
3. 方法简介
图 2. Spatial-RAG 框架
3.1 概述
对于一个空间推理问题 q, Spatial-RAG 将生成答案 y, 形式上,该研究定义:
方法遵循三个关键步骤:
空间查询的复杂性取决于所涉及对象的类型。对于较简单的查询,例如 “从给定位置找到最近的公交站”,只需要点几何体,空间候选集为:
通过以这种方式构建空间查询,研究人员确保了精确的几何表示,促进了强大的空间推理和查询执行。
3.2.2 查询函数识别和参数估计
3.3 混合空间对象排序
这确保了区域内的对象具有最大的相关性,而区域外的对象随着距离的增加,其分数逐渐衰减。
3.3.2 密集空间相关性评分
与稀疏评分不同,密集空间相关性是从与空间对象相关的文本描述中推断出来的。研究人员利用 LLM 从用户查询中提取关键空间属性,并将其与候选对象的描述进行比较。
并生成自然语言响应。
系统适应不同的查询上下文,而不是使用固定的加权方案。通过将决策过程结构化为离散步骤(候选过滤 → Pareto 选择 → 权衡平衡 →响应生成),LLM 避免了生成不可行或不合理的结果。这种结构化方法最大限度地提高了准确性和可用性,确保系统的最终响应与用户的原始意图紧密一致。
4. 实验部分
研究人员在 纽约市 和 迈阿密 的旅游数据集上对 Spatial-RAG 进行了评估,展示了其在处理真实世界空间推理问题上的显著优势。
数据集与评估指标
数据集:使用了来自 TripAdvisor 的用户问题和评论数据,涵盖纽约市的 9,470 个兴趣点(POIs)和迈阿密的 2,640 个 POIs。
评估指标:
1. 交付率:评估方法是否能够成功生成结果。
2. 空间稀疏通过率:评估解析的空间查询是否正确。
3. 空间密集通过率:评估答案是否满足问题中的空间相关语义约束。
4. 语义通过率:评估答案是否符合问题中的语义约束。
对比方法
为了评估 LLM(GPT-3.5-Turbo 和 GPT-4-Turbo)在此框架下的表现,研究团队对比了以下基线方法:
实验结果
纽约(NYC)
迈阿密(Miami)
消融实验
研究人员通过移除稀疏空间模块、密集空间模块和密集语义模块进行了消融实验。
结果表明:
案例研究
图 3 和图 4 (b) 展示了一个典型的多段线搜索案例。Spatial-RAG 成功识别了用户意图,推荐了沿路线的餐厅,展示了其在复杂空间推理任务中的强大能力。
图 3. Spatial-RAG 运行方式的示例:给定一个问题,1) 稀疏空间检索:LLM 将自然语言问题解析为空间数据库的空间 SQL 查询,检索满足空间约束和稀疏空间相关性分数的空间对象。2) 问题分解和密集检索:同时,Spatial-RAG 将问题分解为空间和语义组件,并将它们与空间对象的描述进行比较以执行密集检索,过滤掉不相关的内容。3) LLM 重新排序:语言代理平衡空间和语义方面以重新排序候选并生成最终答案。
图 4. (a) 查询 ϵ km 半径内的点 (b) 查询路径周围的点 (c) 查询多边形内的点
5. 结论
Spatial-RAG 通过结合空间数据库和 LLM 的语义理解能力,显著提升了空间推理任务的性能。实验表明,Spatial-RAG 在真实世界数据集上表现优异,能够有效处理复杂的空间推理问题,为旅游推荐、路径规划等应用提供了强大的支持。
文章来自微信公众号 “ 机器之心 ”
【开源免费】graphrag是微软推出的RAG项目,与传统的通过 RAG 方法使用向量相似性作为搜索技术不同,GraphRAG是使用知识图谱在推理复杂信息时大幅提高问答性能。
项目地址:https://github.com/microsoft/graphrag
【开源免费】Dify是最早一批实现RAG,Agent,模型管理等一站式AI开发的工具平台,并且项目方一直持续维护。其中在任务编排方面相对领先对手,可以帮助研发实现像字节扣子那样的功能。
项目地址:https://github.com/langgenius/dify
【开源免费】RAGFlow是和Dify类似的开源项目,该项目在大文件解析方面做的更出色,拓展编排方面相对弱一些。
项目地址:https://github.com/infiniflow/ragflow/tree/main
【开源免费】phidata是一个可以实现将数据转化成向量存储,并通过AI实现RAG功能的项目
项目地址:https://github.com/phidatahq/phidata
【开源免费】TaskingAI 是一个提供RAG,Agent,大模型管理等AI项目开发的工具平台,比LangChain更强大的中间件AI平台工具。
项目地址:https://github.com/TaskingAI/TaskingAI