Page 171 - 《软件学报》2026年第3期
P. 171
1134 软件学报 2026 年第 37 卷第 3 期
数据集存储了柏林市的城市地理信息, 包括公共交通、POI 和河流. nanjingtest 和 londontest 数据集分别存储了南
京市和伦敦市的行政区、部分道路和 POI 信息. chinawater 数据集构建自全球水文数据集 HydroSHEDS [22] , 包含
中国部分水系的地理信息, 如河流、湖泊、池塘等水体.
表 4 空间数据统计
数据集 空间关系表数 point个数 line条数 region个数
berlintest 50 3 040 4 708 330
nanjingtest 6 9 000 887 13
londontest 6 9 032 9 728 12 669
chinawater 2 0 8 399 2 907
● 评估指标. 定义 3 个指标来评估空间数据自然语言查询转换框架的性能, 包括可翻译性 T、翻译精度 TP 和
响应时间 RT.
定义 11 (可翻译性). 给定系统成功生成的可执行语言集合 Q success , 输入的自然语言查询集合 Q total , 可翻译性
T = |Q success |/|Q total |.
定义 12 (翻译精度). 给定系统生成的执行结果符合预期的可执行语言集合 Q correct , 输入的自然语言查询集合
Q total , 翻译精度 TP = |Q correct |/|Q total |.
定义 13 (响应时间). 给定系统接收到自然语言查询的时间 t start , 完成可执行查询生成的时间 t end , 响应时间
RT = t end −t start .
● 测试用例. 基于 berlintest、nanjingtest、londontest 和 chinawater 数据集构建 100 条测试用例, 包含 20 条范
围查询、20 条最近邻居查询、30 条空间 Join 查询和 30 条聚合查询. 结合数据集的实际应用场景, 测试用例涵盖
了不同类型的空间查询需求, 可通过 https://pan.baidu.com/s/1fze_iUjRJbMzhrbeY9Z8XQ?pwd=ujwb 获取.
5.2 对比实验
为了全面评估 NALSpatial 的性能与优势, 设计两组对比实验: (1) 与基于传统规则或机器学习的转换方法对
比; (2) 与基于大语言模型的转换方法对比. 这两组实验旨在从不同技术路径出发, 验证 NALSpatial 在有效性和用
户友好性等方面的表现.
5.2.1 对比实验设置
在第 1 组实验中, 选择了具有代表性的 3 种转换方法: SpatialNLI [23] 、IRNet 和 ATHENA++ [24] . 首先在实验环
境中复现了这 3 种方法的关键模块, 然后结合 NALSpatial 的查询类型识别模型、映射规则和结构化语言模型, 最
终生成 SECONDO 系统的可执行语言.
(1) SpatialNLI 关键模块的实现. 首先检测潜在的关键字和数据元素, 通过字符串的精确匹配、根据编辑距离
计算单词间的相似性、采用余弦相似度衡量两个单词在语义上的相近性. 然后构造空间理解模型, 根据上下文来
确定有歧义的空间短语的含义. 对输入的自然语言查询进行预处理, 将有歧义的空间短语用特殊的符号包围起来,
以表明它比问题中的其他符号具有更大的影响力. 输入预处理后的自然语言查询和有歧义的短语的一个语义 t, 如
果模型返回 true, 则有歧义的空间短语的语义为 t.
(2) IRNet 关键模块的实现. 首先识别自然语言查询中的实体, 包括列、表和值. 使用基于统计语言模型的算
法 n-gram 和字符串匹配的方法来识别查询中的实体. 然后根据问题中提到的方式为列分配不同的类型. 如果被识
别为列的 n-gram 与数据库模式中的列名完全匹配, 则为这些列分配一个类型为 EXACT MATCH, 否则为一个类
型 PARTIAL MATCH.
(3) ATHENA++关键模块的实现. 首先根据对象知识库、关系知识库和地点知识库构建空间领域本体. 然后
基于构建的空间领域本体和 Relational Store, 利用自然语言处理工具 Stanza 提取自然语言查询中的关键实体信息.
如果自然语言查询中的一个单词映射到多个本体元素, 则为每种情况生成相应的可执行语言.
在第 2 组实验中, 选择了当前主流的大语言模型 GPT-4o 作为对比基准. 为实现与大语言模型的公平对比, 设

