Page 162 - 《软件学报》2026年第3期
P. 162
刘孟怡 等: 基于大语言模型的空间数据库自然语言查询转换方法 1125
后基于大语言模型 GPT-4o 构建高质量的空间数据查询语料库 (第 5 行), 使用 BiLSTM 网络训练语料库, 对查询
的类型进行预测 (第 6、7 行). 在可执行语言生成过程中, 先利用数据库中的运算符和查询语法为所有类型的查询
生成结构化语言模型 (第 8 行), 根据已识别的类型确定合适的结构化语言模型 (第 9 行), 然后基于映射规则将实
体映射到结构化语言模型中, 构造可执行的数据库查询并返回 (第 10、11 行).
算法 1. 空间数据自然语言查询转换.
输入: 自然语言查询 NLQ, 数据库信息 DB;
输出: 可执行的数据库查询 EDQ.
1. KBs ← generateKB(DB)
2. doc ← nlp(NLQ)
3. for word i ∈ doc do // 实体提取
4. E ← entityExtraction(KBs)
5. Corpus ← generateCorpus()
6. model ← BiLSTM(Corpus) // 查询类型识别
7. QType ← predictQueryType(model, doc)
8. SLM ← generateSLM(DB)
9. slm ← selectSLM(SLM, QType)
10. EDQ ← constructEDQ(E, slm) // 查询映射
11. return EDQ
3 空间数据自然语言查询理解
自然语言理解阶段的任务是对输入的空间数据 NLQ 进行解析, 创新性工作包括实体信息提取算法和空间数
据查询语料库.
(1) 实体信息提取算法的创新点在于采用双层候选实体生成策略, 先提取数字列表和信息列表, 确保涵盖不同
类型的查询要素, 然后结合空间关系知识库和地点知识库进行筛选与剪枝, 从而提升实体识别的准确性和可解释
性. 相比于传统方法, 该算法不仅能提取查询地点, 还能识别最近邻居数、距离阈值和空间关系, 适用于多种复杂
的空间查询类型, 增强了系统的泛化能力和对空间语义的理解能力.
(2) 空间数据查询语料库的创新点体现在基于领域论文抽取真实查询, 确保语料的专业性, 并结合 GPT-4o 进
行数据增强, 通过关键数据实体替换、句法结构变化和语言风格调整等方式生成变体, 提升查询的多样性和覆盖
范围. 通过这种方法, 语料库得以扩展至 3 500 条高质量查询, 相比于传统的手工构造或规则生成方法, 能够提高系
统在不同查询场景下的适应性和鲁棒性.
3.1 相关定义
定义 1 (空间数据查询实体). 在空间数据自然语言查询中, 关键实体是一个元组 E = (k, d, relation, location), 其
中, k 存储最近邻居数, d 存储距离阈值, relation 是一个存储空间关系的字典数组, location 是一个存储查询地点的
字符串数组.
定义 2 (最近邻居数). 令 k 是最近邻居数, word_NN 是集合{“nearest”, “closest”, “neighbor”}中的一个英文单
词. 如果自然语言查询不包含 word_NN 中任一单词, 则 k = 0. 反之, 令 K 是自然语言查询中的基数集合, 则 k 按照
如下 3 种情况取值.
|K| = 0, 则 k = 1.
(1) 如果
(2) 如果 |K| = 1, 则 k = k 1 ∈ K.
(3) 如果 |K| > 1, 令 D(word 1 , word 2 ) 是 word 1 和 word 2 相隔的单词数, 则 k = n ∈ K, 对于 ∀k i ∈ K, n 满足:

