翻译:Spatial-RAG: Spatial Retrieval Augmented Generation for Real-World Spatial Reasoning Questions
我们提出的框架,空间检索增强生成(Spatial-RAG),如图2所示。Spatial-RAG由三个关键阶段组成:首先,为了构建空间候选集CsC_sCs,系统必须精确定义空间约束,然后检索满足这些约束的空间对象。如图2(稀疏空间检索)所示,我们通过将输入自然语言问题解析为空间SQL查询来实现这一点,该查询将在空间数据库上执行,以高效检索数据库中的相关空间对象。此过程详见第4.2节。其次,为了在整
Spatial-RAG:面向真实世界空间推理问题的空间检索增强生成
Spatial-RAG: Spatial Retrieval Augmented Generation for Real-World Spatial Reasoning Questions
![![[Pasted image 20250328130401.png]]](https://i-blog.csdnimg.cn/direct/b5e73749a0f342a1878e7419e99e9cb9.png)
摘要
空间推理对大型语言模型(LLMs)来说仍然是一个挑战,尤其是在空间数据检索和推理方面。我们提出了空间检索增强生成(Spatial-RAG),这是一个通过整合稀疏空间检索(空间数据库)和密集语义检索(基于LLM的相似性)将RAG扩展到空间任务的框架。多目标排序策略平衡了空间约束和语义相关性,而LLM引导的生成器确保了连贯的响应。在真实世界旅游数据集上的实验表明,Spatial-RAG显著提高了空间问答能力,弥合了LLMs与空间智能之间的差距。
1 引言
空间提问长期以来一直是基础领域 [1],能够处理从识别最近邻居到检测线-多边形交点等各种空间问题。然而,传统的空间提问系统依赖于专门的空间查询语言,这些语言与人类语言大相径庭,使得普通用户难以使用。更重要的是,这些系统缺乏从细微、丰富的上下文中推断复杂空间和语义关系的能力,限制了它们在现实世界问答场景中的适用性。大型语言模型(LLMs)的最新进展已经改变了机器学习(ML)的许多领域,特别是在理解和生成类似人类文本方面。这一进步激发了早期努力,通过直接从LLMs中提取空间知识来弥合空间提问与自然语言之间的差距。这些努力涵盖了多种应用,包括地理百科问答 [2-5]、地理定位 [6, 7] 和自动化高清地图生成 [8, 9]。尽管有这些进步,最近的研究表明,LLMs在空间推理方面表现出显著的局限性 [10, 11],甚至在基本的空间任务上也存在困难,例如地理解析 [10] 和理解相对空间关系 [12]。当处理现实世界的空间推理任务时,这种差距尤为明显,例如图1所示的系统必须在预定义区域内沿特定路线推荐餐厅的情况。![![[Pasted image 20250328130439.png]]](https://i-blog.csdnimg.cn/direct/562bf6d477ee4a0a9549283c142db0b2.png)
本文解决了一个新的挑战:增强LLMs的空间推理能力。具体而言,我们将检索增强生成(RAG)扩展到空间信息检索和推理,弥合结构化空间数据库与非结构化文本推理之间的差距。RAG已经在知识密集型任务中展示了其有效性,如问答(QA)[13],通过检索领域特定文档以增强LLM响应。然而,现有的RAG系统主要关注检索和生成文本内容,缺乏空间推理任务所需的空间智能,特别是涉及理解并计算几何体之间复杂空间关系的任务,包括点、折线和多边形。
空间提问本质上具有挑战性,需要文本推理和空间计算的协同组合。例如,如图1所示,回答问题需要LLM将用户的文本请求转化为“寻找靠近折线的点”的问题,并基于空间地图(数据库)进行求解。然后,还需要推断用户偏好以选择空间和语义上更优的候选对象。因此,系统必须无缝集成结构化空间检索与非结构化文本推理,确保空间准确性和上下文理解。为此,我们引入了空间检索增强生成(Spatial-RAG),这是一种将文本引导的空间检索与空间感知文本生成统一起来的新框架。具体而言,为了识别空间相关的候选答案,我们提出了一种结合稀疏和密集检索器的新颖空间混合检索模块。为了对候选答案进行排名并生成最终答案,我们建议根据帕累托前沿上的检索结果为生成器提供动力,基于空间和语义联合排名策略。我们的贡献总结如下:
- 通用的空间RAG框架:我们介绍了Spatial-RAG,这是第一个将RAG扩展到空间问答的框架,可应对广泛的空寂推理任务,如地理推荐、空间约束搜索和上下文路线规划。我们的方法无缝集成了空间数据库、LLMs和基于检索的增强功能,使复杂的空寂推理问题能够在熟悉的LLMs操作范式内有效处理。
- 稀疏-密集空间混合检索器:我们提出了一种混合检索机制,将稀疏检索(基于SQL的结构化查询)与密集检索(基于LLM的语义匹配)相结合。这种双重方法确保检索结果在空间和语义上与用户的查询保持一致,显著提高了空间环境中的检索准确性。
- 多目标引导的空间文本生成器:为了在空间问答任务中处理空间约束和文本推理,我们引入了一种多目标优化框架,动态平衡空间和语义相关性之间的权衡。这确保生成的响应在几何上准确且语言上连贯。
- 真实世界评估:我们在从旅游网站收集的真实世界数据集上评估了我们的方法,该数据集包含用户关于不同空间实体的问题和评论。在此数据集上的实验揭示了处理现实世界空间推理问题的能力。通过这些创新,Spatial-RAG显著增强了LLMs的空间推理能力,弥合了结构化空间数据库与自然语言问答之间的差距。
2 相关工作
2.1 检索增强生成
检索增强生成(RAG)是一种混合方法,通过集成检索系统和生成模型来增强自然语言生成中的事实准确性和上下文相关性 [14]。与仅依赖参数内存的传统语言模型不同,RAG在生成响应之前动态检索相关的外部知识。RAG的基础工作之一是Lewis等人(2020年),其中检索模块从大规模知识库(如维基百科)中获取相关段落,然后与问题上下文融合以生成更明智的响应。此技术在开放域问答(QA)、事实验证和上下文感知文本生成中特别有效。RAG系统已超越文本和文档检索,涵盖各种数据类型 [15]——表格、图表、图形和图表。尽管RAG已被广泛研究,但其在空间推理问答中的应用仍是一个未被探索的研究领域。现有研究主要集中在知识导向的对话 [16],但通常难以有效地将空间计算整合到问答过程中。
2.2 空间问题
特定应用领域的空间问题通常可以分为两类:
- 基于文本知识的空间问题
这些问题可以通过传统问答方法解答,无需空间计算和推理 [17]。例如,“洛杉矶市的人口是多少?”属于此类问题。尽管它们具有空间背景,但这些问题本质上是基于文本的,因此可以使用传统的检索增强生成(RAG)方法有效解决 [18]。 - 空间推理问题
这一类别包含了要求模型具备理解和推理空间数据及空间关系能力的空间问题。常见的例子是模型接收到描述多个对象之间空间关系的文本信息 [19]。例如问题可能是:“物体A相对于物体B的位置是什么?”,其中物体A和B是指定在地图上的位置或实体。解析此类查询需要深刻理解空间概念和强大的推理技能,这些很大程度上取决于模型训练以处理空间数据的能力。一些研究 [10, 11] 探讨了LLMs理解空间概念的能力,但即使在微调后,这些模型往往难以进行准确推理。其他研究 [20] 尝试通过将地理坐标转换为地址来丰富语义上下文,从而增强这种能力。然而,这些改进往往是边际的,大多限于简单的推理任务,如描述位置。此外,许多现有方法依赖于针对特定任务量身定制的预定义动作集。
3 问题公式化
在本研究中,我们的主要关注点是空间推理问题。我们将问题表述如下:给定一个问题qqq,系统旨在生成一个答案yyy,
y∗=argmaxyλsTfs(q,y)+λkTfk(q,y) y^* = \arg \max_y \lambda_s^T f_s(q, y) + \lambda_k^T f_k(q, y) y∗=argymaxλsTfs(q,y)+λkTfk(q,y)
s.t. y∈Cs(q),y∈Ck(q), \text{s.t. } y \in C_s(q), y \in C_k(q), s.t. y∈Cs(q),y∈Ck(q),
λs≥0,λk≥0, \lambda_s \geq 0, \lambda_k \geq 0, λs≥0,λk≥0,
1Tλs+1Tλk=1, 1^T \lambda_s + 1^T \lambda_k = 1, 1Tλs+1Tλk=1,
其中fs∈Rdsf_s \in R^{d_s}fs∈Rds 是空间相关性评分向量,fk∈Rdkf_k \in R^{d_k}fk∈Rdk 是语义相关性评分向量,CsC_sCs 是满足问题空间约束的空间候选集,CkC_kCk 是满足问题语义约束的语义候选集,λs,λk\lambda_s, \lambda_kλs,λk 分别是空间权重和语义权重,y∗y^*y∗ 是最优答案,1Tλs+1Tλk=11^T \lambda_s + 1^T \lambda_k = 11Tλs+1Tλk=1 确保归一化的权衡。
要解决这个问题,需要回答三个问题:1) 如何获取空间候选集CsC_sCs?2) 如何通过评估fs(q,y)f_s(q, y)fs(q,y) 来协同空间和文本?3) 如何权衡空间和语义方面?
4 方法论
4.1 概述
![![[Pasted image 20250328130522.png]]](https://i-blog.csdnimg.cn/direct/c991f1d50abc498d9741904d7010379d.png)
我们提出的框架,空间检索增强生成(Spatial-RAG),如图2所示。Spatial-RAG由三个关键阶段组成:首先,为了构建空间候选集CsC_sCs,系统必须精确定义空间约束,然后检索满足这些约束的空间对象。如图2(稀疏空间检索)所示,我们通过将输入自然语言问题解析为空间SQL查询来实现这一点,该查询将在空间数据库上执行,以高效检索数据库中的相关空间对象。此过程详见第4.2节。其次,为了在整合文本信息的同时有效计算空间相关性fs(q,y)f_s(q, y)fs(q,y),我们提出了一种混合空间检索方案。如图2(密集检索模块)所示,该方法将数据库中的稀疏空间相关性评分与文本嵌入中的密集语义相似性评分结合起来。这使系统能够根据输入问题的空间相关性对检索到的空间对象进行排名,详见第4.3节。第三,在给定空间和语义约束的情况下,我们制定了一个多目标优化问题以平衡这些因素。系统计算候选答案的帕累托前沿,并且LLM在这些解决方案之间动态权衡以生成最佳响应。此步骤见第4.4节。
4.2 稀疏空间检索
空间推理问题的答案必须满足特定的空间约束。空间候选集Cs(q)C_s(q)Cs(q) 包含所有可能的答案yyy,这些答案满足一组空间约束Cs(q)C_s(q)Cs(q)。形式上,我们定义:
Cs(q)={y∣cs(y,q)≤0,∀cs∈Cs(q)},(2) C_s(q) = \{y | c_s(y, q) \leq 0, \forall c_s \in C_s(q)\}, (2) Cs(q)={y∣cs(y,q)≤0,∀cs∈Cs(q)},(2)
其中cs(y,q)c_s(y, q)cs(y,q) 表示编码空间条件的约束函数(例如,拓扑、方向或基于距离的约束),Cs(q)C_s(q)Cs(q) 是与问题qqq 相关的所有空间约束的集合。例如,如果空间约束要求yyy 在参考位置lql_qlq 的距离ε\varepsilonε 内,则可能的约束函数是:
cs(y,q)=d(y,lq)−ε≤0.(3) c_s(y, q) = d(y, l_q) - \varepsilon \leq 0. (3) cs(y,q)=d(y,lq)−ε≤0.(3)
此公式确保只有空间有效的答案包含在Cs(q)C_s(q)Cs(q) 中。
处理空间约束需要在空间数据库中执行明确定义的空间SQL查询。此过程涉及识别适当的查询函数、参考空间对象、目标空间对象以及任何必要的数值参数。形式上,空间SQL查询可以表示为:
Qs=Fs(Gr,Gt,ε)(4) Q_s = F_s(G_r, G_t, \varepsilon) (4) Qs=Fs(Gr,Gt,ε)(4)
其中FsF_sFs 是确定对象之间关系的空间查询函数。GrG_rGr 表示从问题中提取的参考对象集合。GtG_tGt 表示潜在答案的目标对象集合。ε\varepsilonε 是控制空间约束的数值参数和空间关系的集合(例如,距离阈值、拓扑关系)。
鉴于这些约束的多样性和潜在复杂性,大型语言模型(LLMs)往往难以直接从用户输入中构建完整且可执行的空间查询。为了弥合这一差距,我们逐步构建空间查询,允许LLM系统地填充所需的组件。我们的方法遵循三个关键步骤:
- 几何识别:从用户的输入中识别并提取参考空间对象GrG_rGr 和候选目标空间对象GtG_tGt,并提取其空间足迹——几何形状。
- 查询函数选择:根据预期的空间关系(例如,包含、邻近)确定适当的空间函数FsF_sFs。
- 参数估计:分配数值约束ε\varepsilonε 以确保精确的空间过滤(例如,缓冲半径)。
通过正式化这一结构化过程,我们增强了LLM生成准确且可执行的空间SQL查询的能力。这反过来又提高了系统有效处理复杂空间推理问题的能力。
4.2.1 几何识别
在空间推理任务中,准确认识空间对象并提取其空间足迹(即几何形状)对于将问题解析为空间查询至关重要。空间对象的空间足迹,记为g∈Gg \in Gg∈G,通常可以分为三种基本类型:点、折线和多边形。形式上,我们定义这些类别如下:
- 点:Gpoint={g∣g∈R2,dim(g)=0}G_{\text{point}} = \{g | g \in R^2, \dim(g) = 0\}Gpoint={g∣g∈R2,dim(g)=0} 此类别包括单点和多点,代表面积可以忽略不计的位置。示例包括停车标志、地址点和用户的当前位置。在空间数据库中,这些实体通常表示为“Point”几何类型。
- 折线:Gline={g∣g⊆R2,dim(g)=1}G_{\text{line}} = \{g | g \subseteq R^2, \dim(g) = 1\}Gline={g∣g⊆R2,dim(g)=1} 折线,包括多折线,代表宽度可以忽略不计的一维线性对象。常见示例包括街道、溪流、公交路线和电线。在空间数据库中,这些几何形状抽象为“LineString”类型。
- 多边形:Gpolygon={g∣g⊆R2,dim(g)=2}G_{\text{polygon}} = \{g | g \subseteq R^2, \dim(g) = 2\}Gpolygon={g∣g⊆R2,dim(g)=2} 多边形,包括多多边形,代表定义封闭区域的二维对象。这些几何形状对于描绘诸如人口普查区、地块、县、社区和分区等区域至关重要。
空间查询的复杂性取决于所涉及对象的空间足迹类型。对于较简单的查询,例如“从给定位置找到最近的公交车站”,只需要点几何形状,空间候选集是
Cs={g∣g∈Gpoint,d(g,gpoint)<ε}(5) C_s = \{g|g \in G_{\text{point}}, d(g, g_{\text{point}}) < \varepsilon\} (5) Cs={g∣g∈Gpoint,d(g,gpoint)<ε}(5)
其中gpoint⊆Gpointg_{\text{point}} \subseteq G_{\text{point}}gpoint⊆Gpoint 表示点对象(例如,给定位置),ε\varepsilonε 是距离阈值。对于更复杂的查询,例如“我将沿着第七街和琼斯街从家步行到大学校园,请推荐一家我可以买早餐的咖啡馆。”,必须考虑多种几何类型,空间候选集是
Cs={g∣g∈Gpoint,g∈B(gpolyline,ε)∪gpolygon}(6) C_s = \{g|g \in G_{\text{point}}, g \in B(g_{\text{polyline}}, \varepsilon) \cup g_{\text{polygon}}\} (6) Cs={g∣g∈Gpoint,g∈B(gpolyline,ε)∪gpolygon}(6)
其中gpolyline⊆Gpolygong_{\text{polyline}} \subseteq G_{\text{polygon}}gpolyline⊆Gpolygon 表示折线对象(例如,路线),gpolygon⊆Gpolygong_{\text{polygon}} \subseteq G_{\text{polygon}}gpolygon⊆Gpolygon 表示多边形区域(例如,大学校园),BBB 是折线周围的缓冲区,ε\varepsilonε 是缓冲区大小。
通过这种方式构建空间查询,我们确保了精确的几何表示,促进了稳健的空间推理和查询执行。
4.2.2 查询函数识别和参数估计
在识别空间查询中涉及的几何形状之后,下一步是确定处理各种几何交互所需的适当空间查询函数FsF_sFs。尽管几何形状之间的交互各不相同,但可以使用距离函数d(gr,gt)d(g_r, g_t)d(gr,gt) 统一处理,该函数计算两个几何实体gr,gt∈Gg_r, g_t \in Ggr,gt∈G 之间的最短距离。
形式上,给定参考几何形状集合Gr⊆GG_r \subseteq GGr⊆G 和目标几何形状集合Gt⊆GG_t \subseteq GGt⊆G,空间候选集CsC_sCs 可定义为:
{{gt∈Gt∣∃gr∈Gr,d(gr,gt)≤ε},if d(gr,gt)>0,{gt∈Gt∣∃gr∈Gr,gr∩gt≠∅},if d(gr,gt)=0.(7) \begin{cases} \{g_t \in G_t | \exists g_r \in G_r, d(g_r, g_t) \leq \varepsilon\}, & \text{if } d(g_r, g_t) > 0, \\ \{g_t \in G_t | \exists g_r \in G_r, g_r \cap g_t \neq \emptyset\}, & \text{if } d(g_r, g_t) = 0. \end{cases} (7) {{gt∈Gt∣∃gr∈Gr,d(gr,gt)≤ε},{gt∈Gt∣∃gr∈Gr,gr∩gt=∅},if d(gr,gt)>0,if d(gr,gt)=0.(7)
诸如搜索半径或缓冲距离ε\varepsilonε 等参数由LLM自主确定,通常基于上下文理解(例如,估计步行距离或兴趣区域)。参数ε\varepsilonε 可表示为:ε=ϕ(q)\varepsilon = \phi(q)ε=ϕ(q),其中ϕ\phiϕ 是将查询qqq 的上下文映射到适当数值的函数。
一旦几何形状Gr,GtG_r, G_tGr,Gt、函数FsF_sFs 和参数ε\varepsilonε 被界定,系统便构建精确的空间查询QsQ_sQs。此查询可形式化表达为公式4,确保从空间数据库中进行精确检索,保持结果的准确性和相关性。通过利用这些数学公式,系统有效地将空间推理任务转化为可执行查询,促进LLM框架内的稳健空间智能。
4.3 混合空间对象排名
空间相关性评分fsf_sfs 由两部分组成:来自空间数据库的稀疏空间检索得分和基于问题与候选对象空间描述之间文本相似性的密集空间检索得分。形式上,我们定义:
fs=λsfssparse+λdfsdense,(8) f_s = \lambda_s f_s^{\text{sparse}} + \lambda_d f_s^{\text{dense}}, (8) fs=λsfssparse+λdfsdense,(8)
其中λs\lambda_sλs 和λd\lambda_dλd 是控制每个得分贡献的加权系数。
4.3.1 稀疏空间相关性评分
稀疏空间相关性直接从空间数据库中使用显式空间关系计算得出。评分由空间查询函数FsF_sFs 决定,该函数计算参考对象和目标对象之间的距离。形式上,我们定义:
fssparse={11+d(gr,gt),if gr∩gt=∅1,if gr∩gt≠∅(9) f_s^{\text{sparse}} = \begin{cases} \frac{1}{1 + d(g_r, g_t)}, & \text{if } g_r \cap g_t = \emptyset \\ 1, & \text{if } g_r \cap g_t \neq \emptyset \end{cases} (9) fssparse={1+d(gr,gt)1,1,if gr∩gt=∅if gr∩gt=∅(9)
其中grg_rgr 和gtg_tgt 分别是参考和目标空间对象。d(gr,gt)d(g_r, g_t)d(gr,gt) 是测量空间数据库中接近度的距离函数。如果gtg_tgt 与grg_rgr 重叠,我们分配完美的相关性评分为1。
这确保了区域内的对象具有最大相关性,而区域外的对象则随着距离增加得分衰减。
4.3.2 密集空间相关性评分
与稀疏评分不同,密集空间相关性是从与空间对象相关的文本描述中推断出来的。我们利用LLM从用户查询中提取关键空间属性,并将其与候选对象的描述进行比较。
提取空间需求 给定用户查询qqq 和空间对象GtG_tGt 的一组文本描述dtd_tdt,我们通过基于注意力的掩码函数提取相关空间内容:
vq,s=E(Ms(q)),vt,s=E(Ms(dt)),(10) v_{q,s} = E(M_s(q)), v_{t,s} = E(M_s(d_t)), (10) vq,s=E(Ms(q)),vt,s=E(Ms(dt)),(10)
其中vq,sv_{q,s}vq,s 和vt,sv_{t,s}vt,s 是空间特征的密集向量表示,MMM 是将输入文本映射到空间相关文本的提取函数,EEE 是文本编码器。
通过余弦相似性排名 相关性评分通过余弦相似性计算:
fsdense=vq,s⋅vt,s∥vq,s∥∥vt,s∥.(11) f_s^{\text{dense}} = \frac{v_{q,s} \cdot v_{t,s}}{\|v_{q,s}\| \|v_{t,s}\|}. (11) fsdense=∥vq,s∥∥vt,s∥vq,s⋅vt,s.(11)
4.3.3 混合作为广义模型排名
我们可以证明混排排名概括了稀疏和密集排名方法:
- 仅稀疏情况:如果λd=0\lambda_d = 0λd=0,则fs=λsfssparsef_s = \lambda_s f_s^{\text{sparse}}fs=λsfssparse,退化为纯基于距离的排名。
- 仅密集情况:如果λs=0\lambda_s = 0λs=0,则fs=λdfsdensef_s = \lambda_d f_s^{\text{dense}}fs=λdfsdense,退化为纯基于语义的排名。
- 混合情况(一般):如果两个权重均非零,混合排名受益于显式的空间约束和隐式的语义相关性,从而形成更全面的排名机制。
此公式确保混合排名通过捕捉空间接近性和语义对齐优于任何单一排名方法。
4.4 多目标生成
语义候选集CkC_kCk 和语义相关性评分fkf_kfk 基于密集向量相似性计算,详细信息见附录A。在获得所有评分和候选集后,问题成为一个多目标优化问题,因为每个视角(空间和语义)独立贡献。
4.4.1 帕累托前沿计算
给定空间和语义相关性评分,我们的目标是识别在这些目标之间实现最佳权衡的帕累托最优候选者。候选者yyy 是帕累托最优的,如果没有其他候选者在空间和语义相关性方面都支配它。形式上,帕累托前沿P(q)P(q)P(q) 定义为:
P(q)={y∈Cs∩Ck∣∄y′∈Cs∩Ck, P(q) = \{y \in C_s \cap C_k | \nexists y' \in C_s \cap C_k, P(q)={y∈Cs∩Ck∣∄y′∈Cs∩Ck,
fs(q,y′)≥fs(q,y) and fk(q,y′)≥fk(q,y), f_s(q, y') \geq f_s(q, y) \text{ and } f_k(q, y') \geq f_k(q, y), fs(q,y′)≥fs(q,y) and fk(q,y′)≥fk(q,y),
至少有一个严格不等式成立}\}}. (12) 这确保了P(q)P(q)P(q) 中的每个候选者都是非支配的,意味着没有其他候选者在空间和语义相关性方面都严格更好。
4.4.2 LLM基于的权衡决策
一旦确定了帕累托前沿P(q)P(q)P(q),我们使用LLM根据用户查询的上下文动态平衡空间约束和语义偏好的权衡。具体而言,LLM接收用户查询、稀疏空间相关性评分和空间对象描述作为输入:
I={q,(fssparse(q,y),dy),∀y∈P(q)}.(13) I = \{q, (f_s^{\text{sparse}}(q, y), d_y), \forall y \in P(q)\}. (13) I={q,(fssparse(q,y),dy),∀y∈P(q)}.(13)
基于上下文信息提取动态加权函数λs,λk=h(I)\lambda_s, \lambda_k = h(I)λs,λk=h(I),调整空间与语义相关性的重要性,其中hhh 是捕获查询特定权衡的学习函数。
顶级候选者y∗y^*y∗ 由LLM选择:
y∗=argmaxy∈P(q)λsTfs(q,y)+λkTfk(q,y),(14) y^* = \arg \max_{y \in P(q)} \lambda_s^T f_s(q, y) + \lambda_k^T f_k(q, y), (14) y∗=argy∈P(q)maxλsTfs(q,y)+λkTfk(q,y),(14)
并且LLM生成自然语言响应。
系统适应不同的查询上下文,而不是使用固定的加权方案。通过将决策制定分解为离散步骤(候选过滤 → 帕累托选择 → 权衡平衡 → 响应生成),LLM避免生成不可行或不合逻辑的结果。这种结构化方法最大化了准确性和可用性,确保系统的最终响应与用户的原始意图紧密对齐。
5 实验
5.1 实验设置
5.1.1 数据集
TourismQA [21] 数据集包含从TripAdvisor帖子中爬取的用户问题,涵盖全球50个城市。每个城市的餐厅、景点和酒店评论从旅行论坛和酒店预订网站爬取。我们选择了两个热门旅游城市,纽约市和迈阿密,来评估不同方法的性能。对于纽约市,原始数据集包含9,470个兴趣点(POIs),共有17,448个问答对。对于迈阿密,数据集包括2,640个POI和133个问答对。我们对数据集进行了预处理,包括删除评论信息为空的POI和消除重复的问答对。
5.1.2 评估指标
我们从多个维度评估实验结果:1) 交付率:根据 [22],该指标评估方法是否能够成功交付结果。2) 空间稀疏通过率:该指标评估解析的空间查询是否正确。3) 空间密集通过率:该指标评估答案是否满足问题中的空间相关语义约束。4) 语义通过率:该指标评估答案是否满足问题中的语义约束。我们使用GPT-4o评估后三个指标。
5.1.3 对比模型
我们使用GPT-3.5-Turbo和GPT-4-Turbo作为我们框架中的LLM,以评估LLM能力对性能的影响,并与以下四种方法进行比较:按距离排序(SD)[23]:该方法根据空间问题中参考对象与目标空间对象之间的距离对候选空间对象进行排名。文本嵌入(TE)[24]:该贪婪方法最小化参考对象文本描述与目标对象文本描述之间的向量嵌入距离。空间-文本(ST):该方法计算用户问题的嵌入,并比较问题嵌入与目标对象文本描述嵌入的相似性。此外,对象的位置被编码为距离得分。答案根据这些得分的加权平均值确定。朴素RAG [25]:该方法将所有空间对象的描述保存在向量数据库中,并根据向量相似性检索最相关的对象。GeoLLM [26]:该方法将空间对象编码为地址,并通过添加附近空间对象的空间信息来丰富其上下文。
5.2 主要结果
![![[Pasted image 20250328130707.png]]](https://i-blog.csdnimg.cn/direct/4e4fc4336e904e9581ce2953ba4bf9dc.png)
主要结果总结在表1中。对于NYC数据集,当使用不同LLM部署时,Spatial-RAG在交付率方面的差异极小。大约86.1%的问题成功处理。框架无法生成有效推荐的失败案例可分为两类:约12.9%的问题未能从空间数据库中检索到任何空间对象,原因可能是多边形识别错误或SQL查询中指定的区域缺乏相关空间对象。剩余0.9%的案例源于LLM在重新排名过程中无法正确重新排名检索结果。
此外,基于两种LLM生成空间SQL查询的性能差距不显著。然而,GPT-4-Turbo在空间密集通过率上比GPT-3.5-Turbo高出约7%,并在语义通过率上也表现出轻微优势,两种模型的表现略低于最佳值(分别低5%和8%)。这是因为在同时考虑空间接近性和用户个人偏好时做出了权衡。
由于SD方法返回最近的空间对象,它在空间密集检索评分上高于TE、ST和朴素RAG方法。然而,其对距离的独占依赖导致在其他指标上的表现较差。对于GeoLLM,由于它仅考虑空间对象的名称和距离,它在空间密集通过率上也表现出竞争力。相比之下,TE和ST方法考虑语义上下文,在这方面表现出优于其他模型的性能。朴素RAG和ST方法共同优化空间密集检索和用户语义密集检索,导致两种模型的表现相当。
对于迈阿密,其面积和地理特征与NYC显著不同,Spatial-RAG同样表现出强劲性能。基线模型的表现几乎与之前的分析中观察到的模式一致。
5.3 消融研究
我们进行了三项消融研究,以评估框架中不同模块的重要性。我们分别移除了稀疏空间模块、密集空间模块和密集语义模块,并将消融版本记为无稀疏空间、无密集空间和无密集语义。![![[Pasted image 20250328130727.png]]](https://i-blog.csdnimg.cn/direct/77f573a5734143a385fa8ec978e7710b.png)
结果总结在表2中。发现移除稀疏空间模块后,交付率显著提高,因为这消除了确定几何类型的需要。在这种情况下,模型仅依赖语义信息,导致空间得分较低,但增加了对语义相关性的重视。同样,当移除密集语义模块时,空间密集通过率达到最高值,因为模型完全依赖空间模块进行检索。然而,这也导致语义通过率较低,因为语义信息不再纳入排名过程。总体而言,我们的Spatial-RAG框架集成了空间和语义信息,利用多目标优化提供更有效和平衡的空间对象推荐。
5.4 案例研究
![![[Pasted image 20250328130744.png]]](https://i-blog.csdnimg.cn/direct/8c1b932c8d2245deacefb9e4279e51e3.png)
图3给出了一个折线搜索的例子。Spatial-RAG有效地识别了用户在嘈杂查询中的意图,检测到用户需要在两个地点(洋基体育场和希尔顿纽约)之间旅行,并特别寻找晚餐推荐(“那天晚上有什么晚餐推荐吗?简单些的”)。基于此,Spatial-RAG将空间操作分类为“点在折线内”查询,并应用500米的缓冲距离。在此区域内,它过滤餐厅空间对象(如图4所示)。相比之下,传统方法,如基于距离的方法,通常在单个点周围生成缓冲区,这可能不一定包括用户旅行路线上的POI。我们的框架提供了对用户空间意图的更多上下文感知理解,使基于位置和用户偏好的更精确和相关推荐成为可能。![![[Pasted image 20250328130812.png]]](https://i-blog.csdnimg.cn/direct/f5b0583d180c419f8152f858e497b263.png)
6 结论
Spatial-RAG通过将结构化空间检索与自然语言理解相结合,增强了LLMs的空间推理能力,弥合了空间数据库与AI驱动问答之间的差距。我们的框架提高了空间智能,使城市规划、旅游、导航和地理问答等应用成为可能。广泛的评估表明,Spatial-RAG优于现有方法,突显了其在推进空间分析、自动驾驶导航和增强现实方面的潜力。除了改善空间推理,Spatial-RAG还为未来的多模态模型奠定了基础。
A 密集语义检索和排名
在前一节中,我们推导了空间候选集CsC_sCs 和空间相关性评分fsf_sfs。现在,我们专注于获取语义候选集CkC_kCk 和语义相关性评分fkf_kfk。
给定查询qqq,我们定义语义候选集Ck(q)C_k(q)Ck(q) 为:
Ck(q)={y∣ck(y,q)≤0,∀ck∈Ck(q)},(15) C_k(q) = \{y | c_k(y, q) \leq 0, \forall c_k \in C_k(q)\}, (15) Ck(q)={y∣ck(y,q)≤0,∀ck∈Ck(q)},(15)
其中:
- ck(y,q)c_k(y, q)ck(y,q) 是过滤掉不满足查询语义意图的空间对象的约束函数。
- Ck(q)C_k(q)Ck(q) 是所有语义约束的集合(例如,主题匹配、类别相关性)。
每个空间对象都与文本描述相关联,包括名称、评论和其他元数据。然而,这些描述通常包含无关或冗长的细节,可能掩盖有意义的信息。为了解决这个问题,我们使用基于LLM的掩码函数MkM_kMk 去除空间冗余信息,仅保留语义相关的内容。然后,生成的文本通过文本编码器EEE 编码到密集嵌入空间。具体而言,给定空间对象文本描述dtd_tdt、用户查询qqq,过滤后的文本表示为:
vt,k=E(Mk(dt))vq,k=E(Mk(q)).(16) v_{t,k} = E(M_k(d_t)) v_{q,k} = E(M_k(q)). (16) vt,k=E(Mk(dt))vq,k=E(Mk(q)).(16)
语义相关性评分然后通过余弦相似性计算:
fk=vq,k⋅vt,k∥vq,k∥∥vt,k∥.(17) f_k = \frac{v_{q,k} \cdot v_{t,k}}{\|v_{q,k}\| \|v_{t,k}\|}. (17) fk=∥vq,k∥∥vt,k∥vq,k⋅vt,k.(17)
该评分量化了空间对象与查询语义意图的匹配程度,与空间因素无关。
B 实施细节
B.1 空间数据库查询的语义解析
对于用户查询中引用的几何对象,Spatial-RAG最初与空间数据库交互以定位和匹配描述的对象,例如特定点(如餐厅)、道路或定义的区域,并随后检索相关几何数据。在指定的几何对象未预先映射到数据库中的情况下,Spatial-RAG设计为构造临时几何对象。该临时对象作为替代品,以便基于用户的描述性输入进行空间查询。这种方法允许Spatial-RAG高效处理动态空间查询,即使在现有数据库条目中未立即找到直接匹配项。通过创建临时几何表示,Spatial-RAG确保所有空间查询都能准确处理,保持系统在提供精确空间信息和响应方面的完整性和有效性。功能上,相同的结果可以通过不同方式实现,例如搜索靠近街道的餐厅可能涉及在缓冲折线内搜索或创建围绕折线的多边形并在其中搜索。系统中的这种灵活性意味着有多种方法可以实现相同的目标。然而,这种灵活性带来了挑战,如果LLM负责直接生成完整查询,可能会导致产生幻觉、错误或不可执行代码,因为解释空间数据时可能会出现混淆或过度复杂。通过结构化过程,使LLM首先识别几何形状,然后逐步确定功能,我们降低了生成错误查询的风险。
B.2 语义检索
虽然空间数据库根据查询和空间数据库处理空间约束,但实际场景可能很复杂,例如,一家酒店可能在地图上距离机场较远,但提供班车服务,这使其在空间上比更近但不提供班车的酒店更方便。
每个空间对象都伴随着文本描述,例如名称和评论。然而,这些文本通常包含冗长和无关的细节,妨碍了有效的决策。此外,对于满足空间要求的高密度POI区域,将所有文本信息输入LLM(大型语言模型)变得不切实际。为了管理数据量并提高与特定查询的相关性,这些描述从两个角度进行总结:空间因素和用户偏好。我们利用LLM离线预处理和总结空间对象的评论,并将结果存储在数据库中以供未来比较。同样,查询中的用户偏好在在线处理阶段动态提取。用户偏好和评论的文本方面通过余弦相似性分数进行比较。
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)