随着科技的进步,网络技术的不断发展,地理信息系统也逐渐应用到各个方面并渗入到人们的日常生活当中。针对各阶层用户提供一种基于自然语言的地理信息系统查询接口具有广阔的开发前景。接口的核心工作就是将自然语言转化成计算机可以识别的机器语言,其首要任务就是将自然语言查询语句进行切分和词性筛选,这也是本文的工作重点。
首先,将数据逻辑划分为通用词典、空间对象词典和空间关系词典,对字典中的各种词性进行总结并用字符表示。在基于Trie索引树的分词词典的数据结构中加入“判断标示”,用以给后续分词算法进行判定使用。高频前缀降低了Trie索引树的空间浪费并降低了树的深度。其次,基于逆向最大匹配算法的“长词优先”原则,提出了根据“最长词可能性”原则选择匹配首字的分词方法,算法过程中同样处理长词覆盖短词的情况。该算法的时间复杂度为O(S)是线性的。最后,通过浅层词性筛选算法,解决数据多词性和多词性描述问题。通过该算法,获得查询语句中各词的唯一词性描述信息。链式栈结构降低了空间复杂度,该算法的正确性约为90%。
根据上述算法实现了用于地理信息系统的自然语言查询语句切分、词性筛选系统。实验结果表明,该系统在速度上和正确性上做到了均衡,正确性有效地提高。