Page 172 - 《软件学报》2026年第3期
P. 172
刘孟怡 等: 基于大语言模型的空间数据库自然语言查询转换方法 1135
计了用于大语言模型的提示词, 以优化其在空间数据自然语言查询转换任务中的表现. Gao 等人 [25] 的评估强调,
在 0-shot 场景下, 对 GPT-4 和 GPT-3.5-TURBO 进行 OpenAI Demonstration 提示是很好的选择. 此外, GPT-4 可以
有效地从 NLQ-SQL 对中学习映射 [26] . 综合考虑提示的有效性和制定难度, 使用 1-Shot Learning (1SL) 策略对
GPT-4o 进行提示, 它提供了表模式 (使用 “#” 号注释) 和一个 NL2SQL 的黄金示例. 以 chinawater 数据集为例, 提
示内容如下.
### SQLite SQL tables, with their properties:
#
# water(ID, Type, Name, GeoData)
# waterway (ID, Type, Name, GeoData)
#
Translate text to SQL: What are the waterways that intersect the Agongdian River? →
SELECT * FROM waterway WHERE ST_Intersects(GeoData, (SELECT GeoData FROM water WHERE Name =
‘Agongdian River’));
What are the waterways that pass through each body of water? →
5.2.2 对比实验结果分析
在第 1 组实验中, 对比了 NALSpatial、SpatialNLI、IRNet 和 ATHENA++在平均响应时间 RT、可翻译性 T
和翻译精度 TP 上的表现, 实验结果如图 4 所示. SpatialNLI 的平均响应时间是最长的, 翻译精度是最高的. 由于空
间理解模型的使用, SpatialNLI 在解析复杂空间查询时表现出卓越的翻译精度. 然而, 这种高精度的代价是较长的
平均响应时间. IRNet 的平均响应时间与 NALSpatial 接近, 它在查询解析和转换效率方面具有一定优势. 然而, 由
于其通用性设计在空间领域的适配能力有限, 可翻译性和翻译精度均低于 NALSpatial. ATHENA++利用空间领域
本体对查询中的关键实体信息进行快速识别, 因而具有最低的平均响应时间. 这一特点使其在对响应速度要求极
高的场景下具有潜在优势. 然而, 可翻译性和翻译精度较低表明其对复杂空间查询的支持能力有限. NALSpatial 未
能准确翻译的原因主要有 3 个: (1) spaCy 错误识别单词的词性; (2) 无法识别单词间的语义相似性; (3) 查询的类型
未被准确识别. 实验结果表明, 在测试用例覆盖的场景下, NALSpatial 在平均响应时间、可翻译性和翻译精度这 3
项指标上实现了较为理想的平衡, 综合性能优于其他 3 种方法.
T TP
100 8
6
T和TP (%) RT (s) 4
90
80
2
70 0
NALSpatial SpatialNLI IRNet ATHENA++ NALSpatial SpatialNLI IRNet ATHENA++
自然语言查询转换方法 自然语言查询转换方法
(a) 可翻译性和翻译精度 (b) 平均响应时间
图 4 NALSpatial 与基于传统规则或机器学习的转换方法对比的实验结果
此外, 对 NALSpatial、SpatialNLI、IRNet 和 ATHENA++在不同类型查询上的可翻译性和翻译精度进行了全
面对比, 实验结果如图 5 所示. 范围查询的语句结构简单, 但严重依赖地点的提取. 实验结果表明, 在所有系统中范
围查询的可翻译性和翻译精度都未超过 90%. 最近邻居查询涉及的实体信息最多, 语句结构复杂, 但由于其格式相
对固定, 测试数据集上的最近邻居查询都能很好地被转换为可执行语句. 空间 Join 查询中距离阈值的提取受 NLP
工具影响较大. 实验结果表明, 4 种系统在此类查询的可翻译性和翻译精度上存在较大差异. 聚合查询主要涉及统
计计算, 语义解析较为直接, 因此其翻译精度在 4 种系统中均处于 93%–97% 的稳定范围内.

