Page 161 - 《软件学报》2026年第3期
P. 161
1124 软件学报 2026 年第 37 卷第 3 期
ValueNet 使用基于编码器-解码器架构的神经模型来合成结构化语言. 编码器是 IRNet 编码器的扩展, 不仅接收有
关数据库模式的信息, 还接收从数据库内容中提取的候选值. 解码器由 LSTM 架构和多个指针网络组成, 用于选
择表、列和值. 近年来, 大语言模型为基于机器学习的方法带来了全新的发展机遇. Kordjamshidi [19] 利用大语言模
型在自然语言理解阶段进行空间和时间推理, 构建了能够捕获关键实体及其活动的空间和时间信息的架构.
基于规则的方法使用广泛, 但只能解析特定领域的自然语言问题. 基于机器学习的方法支持跨知识库或跨语
言的系统, 但高度依赖训练数据. 基于规则和机器学习混合的方法将规则和机器学习技术结合起来, 以充分利用它
们的优势, 从而提高系统对自然语言查询的理解和处理能力. 代表系统是 NALMO [20] 和 GAR [21] . NALMO 是一个
用于移动对象的自然语言接口. 理解自然语言查询时, NALMO 先对它进行预处理, 然后使用语义解析算法得到包
括最近邻居数、时间、查询对象在内的实体信息. 最后, 基于数据库生成一个位置知识库来确定位置信息. 同时,
为了提高查询效率, 系统构建了一个基于位置的前缀索引来匹配位置知识库. NALMO 支持 5 种移动对象查询, 包
括时间间隔查询、范围查询、最近邻居查询、轨迹相似性查询和 Join 查询. GAR 从给定数据库上的一组示例
SQL 开始, 进行数据准备. 对于给定的 NLQ, GAR 查找在数据准备过程中生成的 NLQ, 并使用学习排序模型找到
最接近的表达式, 从而获得转换结果.
大多数 Text2SQL 技术是为关系数据库开发的, 依赖关系型数据的结构化查询模式. 然而, 空间数据不仅具有
高度的多样性, 还涉及复杂的空间拓扑关系, 以及适用于空间数据库的训练数据集的有限性, 使得现有的 Text2SQL
技术难以直接适用于空间数据库. 此外, 空间数据库的查询往往涉及复杂的空间算子, 表达方式与传统 SQL 查询
存在很大差异. 因此, 如何有效地支持空间数据库的自然语言查询, 准确表达空间关系, 提高查询的可解释性与可
用性, 仍然是当前数据库自然语言查询转换研究中的关键挑战.
2 基于大语言模型的空间数据库自然语言查询转换方法
本节详细介绍所提出的基于大语言模型的空间数据库自然语言查询转换方法 NALSpatial. 图 2 是对 NALSpatial
的整体框架展示. 在自然语言理解阶段, 先对输入的查询进行自然语言处理, 然后结合预先构建的知识库提取关键
实体, 利用基于大语言模型构建的语料库识别查询类型. 在可执行语言生成阶段, 根据查询类型选择结构化语言模
型, 基于实体映射规则构造可执行语句.
输入 空间数据自然语言查询
自然语言理解
查询实体提取 查询类型识别 空间数据查询
地点知识库 空间关系知识库
语料库
可执行语言生成
实体: 距离阈值, 地点, ... 映射规则 运算符: area, intersects, ... 结构化语言模型
输出 数据库可执行语言
图 2 NALSpatial 框架
形式化 NALSpatial, 如算法 1 所示. 在自然语言理解过程中, 先根据空间数据库构建空间关系知识库和地点知
识库 (第 1 行), 利用 NLP 工具 spaCy 对输入的查询进行处理 (第 2 行), 结合知识库提取关键实体 (第 3、4 行). 然

