APP下载

GIS环境下中文命令的规则匹配与语义解析

2012-12-28朗,明娜,龙毅*,张

地理与地理信息科学 2012年6期
关键词:文法特征词约束条件

余 明 朗,明 小 娜,龙 毅*,张 雪 英

GIS环境下中文命令的规则匹配与语义解析

余 明 朗1,2,明 小 娜3,龙 毅1,2*,张 雪 英1,2

(1.南京师范大学地理科学学院,江苏 南京 210023;2.虚拟地理环境教育部重点实验室,江苏 南京 210023;3.云南省地震局地震应急保障中心,云南 昆明 650224)

提出了特征词双重属性的构建策略,为带有约束条件的中文命令直接转化为GIS操作提供了解决方法。针对复杂的空间、属性约束条件,定义了条件文法并设计了规则模板的生成算法;通过特征词的双重属性建立了中文命令与GIS功能函数之间的联系,采用规则匹配、函数映射方法实现中文语义解析。在此基础上,通过实例研究验证了方法的可行性。

GIS;中文命令;特征词;规则匹配;语义解析

0 引言

自然语言符合人们的认知习惯、语言习惯,与图形语言相比具有运用灵活、方便、快速的特点[1],因此,在GIS中合理地运用自然语言实现人机间的信息交互,将有助于GIS的应用普及。基于自然语言的GIS要求计算机接收中文的GIS命令,并且将它转换为访问空间数据库接口的操作[2]。面向GIS的中文命令属于自然语言理解范畴。依照自然语言处理方法,其解析流程涉及分词、句法分析及语义分析等内容,其中,语义分析是联系自然语言与GIS功能的纽带,对于带有约束条件的复杂GIS命令理解,语义分析是一个难点。马林兵等[3-8]研究了基于语义查询树和规则树的自然语言向扩展SQL语言的转换方法;余建伟等[9]给出了位置感知中定位信息表达的自然语言描述句式;杨皓东等[10-14]从自然语言处理热点、地理特征间的空间关系等方面做了研究,取得了丰富的成果,为自然语言与GIS结合创造了条件。

本文分析了GIS中文命令的句法模式及其词语特点,提出了特征词双重属性的表示方法。针对复杂的空间、属性约束条件,依据上下文无关文法形成了条件文法规则,并设计了条件模板的生成算法;通过特征词的双重属性建立了自然语言与GIS功能函数之间的联系,采用规则匹配、函数映射方法实现了语义解析。研究自然语言与GIS之间的内在联系,将有助于扩大自然语言在GIS中的应用范围。

1 GIS中文命令及其特征

1.1 GIS中文命令

GIS中文命令是指在GIS应用平台下,由用户通过中文方式发出的要求执行某一个GIS操作的信息形式,包括命令词、目标词、空间约束词和属性约束词。命令词是GIS命令中实现数据读写、地图漫游、信息查询及空间分析的动词,如打开、放大、右移、查询等;目标词是GIS操作的对象(包括地理要素、地理要素集合、聚集函数),由名词或名词短语构成,如总统府、宾馆、玄武湖面积等;空间约束词由名词、具有空间关系的介词、方位词及数量词组合而成,常见的空间约束条件如图1所示;属性约束词可分为属性值约束(如南京市的211工程院校)、属性字段+关系词+属性值的约束(如查询南京市面积大于玄武湖的区县)、聚集函数的属性约束(如查询旅游景点最多的城市)。

1.2 GIS中文命令句型特征

由于自然语言的表达形式具有口语化强、概括性高、句型复杂多样等特点,面向所有自然语言表达方式的GIS命令难以被完全准确地转换为GIS操作。因此,本文以GIS的常用功能为出发点,讨论自然语言中祈使句、疑问句形式的中文命令语义解析方法。

对于祈使句,命令句型(“[]”表示可选,“*”表示可多选)模式可描述为:

对于疑问句,其命令句型模式可描述为:

命令词、目标、疑问词间可能含有空间、属性约束条件。

图1 常见空间关系Fig.1 The common spatial relationship

2 特征词的双重属性

GIS中文命令由一系列有序的词语构成。从语言学角度出发,依据词语的词义进行抽象获得特征词的本体属性(图2)。如图2中的EE、ZI、SE、QI分别表示东面、放大、西南、查找等GIS特征词本体属性;从具体应用领域出发,依据特征词在GIS命令中的作用对其进行归类获得其概括属性,如图2中的TOP、DD、NM、VF分别表示拓扑关系、方位关系、数量关系、查询等概括属性。

图2 特征词双重属性Fig.2 Dual properties of characteristics phrases

2.1 特征词

在GIS中文命令中,去除干扰词后剩余的与GIS操作有关的动词、名词、方位词、数量词、介词称为特征词,它以EntityStruct结构形式存储于专业词库中,describe、semantic字段分别存储本体属性、概括属性。例如“查询中山陵附近的宾馆”的特征词语链数据结构表示如图3。

2.2 本体标识

本体标识为特征词本体属性的符号化表示,表示本体标识的符号分别由汉字、数字和字母3种字符组成(第一个字符不能为数字)。特征词中名词用汉字表示,数量词用数字表示,动词、方位词、介词的本体标识用字母组合表示(表1)。本体标识与特征词间具有的一对多关系,既增强了自然语言输入的灵活性,又简化了自然语言处理的复杂程度。

表1 特征词双重属性示例Table 1 Examples for dual properties of characteristics phrases

2.3 概括标识

概括标识为特征词概括属性的符号化表示。表1针对GIS领域,将特征词中指向地理要素、图层名、属性名称、属性值的名词分类概括且分别用EI、ES、AT、VA表示;具有拓扑空间关系的介词用TOP表示;具有方位关系的方位词用DD表示;具有逻辑关系的介词用CR表示;数量词用NM、QN表示。概括属性与特征词之间形成一对多关系。

3 规则模板生成

3.1 模板形式

中文信息处理中,常采用上下文无关的文法形式化描述自然语言,上下文无关文法可表示为四元组(T,NT,S,P),只要给出这4个部分,即可定义一个具体的形式语言[13]。其中,T为终结符号集合,是形式语法所描述语言中的词汇的语法类别,在语法中不能重写为其他项的组合;NT为非终结符号集合,可重写为其他项的组合;V=T∪NT,V*表示由V中的符号所构成的全部符号串,而V+表示V中除特定串之外的一切符号串的集合;S为文法规则的起始符号;P为每一条规则,可描述为a→b,其中a∈V+、b∈V*且a≠b。

GIS命令句型中,条件是表达最灵活、语义理解最复杂的片段,手动列举方式既耗时又易出错,而上下文无关文法具有很强的递归语言生成能力,可实现条件的一一列举。因此,本文在分析了条件构成的规律基础上,依据上下文无关文法的表示方式,设定T由概括属性构成,NT用带有“%”的字符串表示,用符号“∷=”代替“→”,用符号“|”表示“或”的意思,形成了条件文法模板(图4)。

图4 条件文法模板Fig.4 Conditional grammar templet

3.2 规则生成算法

条件文法中,位于文法左部且不带“%”的文法为根规则,带有“%”的文法为变量规则,变量规则可被右部的终结符重写。规则重写的算法如下:1)加载条件文法模板文件,将根规则存储于p HRules中,变量规则存储于p HTVar Rules中;2)分别检查p HRules、p HTVar Rules是否出现左递归,若为真,提示错误,退出,否则,初始化i= 0;3)取出p HRules中的第i条规则;4)寻找第i条规则右部出现的非终结符,将非终结符及其位置存储于p HTVars中;5)取出变量规则p HTVar Rules的左部(非终结符),判断其是否出现在根规则的右部,若为真,在p HTVars中找出它对应的位置并用变量规则的右部重写该非终结符;6)判断根规则右部是否都为终结符,若为真,保存至Cond Rule,否则,转至步骤 4;7)i⧺,若根规则已完全遍历,退出,否则,转至步骤 2;8)将Cond Rule写入文件Cond Rule.txt,形成规则模板,其中,每一组规则由条件规则类型与一组有序的概括属性构成(表2)。

表2 常用条件规则模板Table 2 The common conditional rule templet

4 GIS中文命令转换与实现

用户以中文形式输入GIS命令,首先进入分词模块将句子划分为一系列词语;其次,通过语句规范化处理模块去除干扰词,形成特征词链表。

GIS命令转换的起点为特征词链,其过程包含从特征词链中切分命令动词、生成目标链及条件链三部分。首先遍历特征词链表,判断概括属性的类型是否为VX、VV、VP、VF、VL等命令动词。

4.1 GIS中文命令转换

(1)目标链生成。一般情况下,地图浏览针对当前活动的图层,目标为空,而执行数据读写、信息查询、路径分析功能时,用户会指定特定的操作对象(目标)。当操作对象多于1个时以链表结构存储形成的目标链。分析操作对象(目标)的基本思想是将目标短语根据长度Length由大到小排序,从特征词链中取出长度为Length的子特征词链进行匹配;若匹配成功,则按下面的算法对目标进行分析,同时将最后长度为Length的子特征词链截去。在进行下一轮匹配之前,首先判断截去子特征词后的新词语链最后一个词是否逻辑词,是逻辑词表示含有多个目标,反之则说明目标划分已经完成;否则,更改特征词链,将其最后一个词语截去,再根据上述算法进行划分。如此反复,直至划分完成为止。

目标短语=EI|ES时,直接将其添加到目标链;目标短语=EI AT|ES AT|EI AG|ES AG时,首先将概括属性为AT、AG对应的本体属性赋予EI对应的其它信息;其次将EI对应的特征词添加到目标链表。

(2)条件链生成。GIS中文命令中含有多组约束条件时以链表形式存储各组条件形成条件链表,条件提取采用规则匹配的思想。存储条件的数据结构为subconditon+subword+logical,其中subconditon存储条件规则,subwords存储构成该条件规则的特征词链,logical存储复合规则的逻辑词。

获取每一组条件的算法:依次取出条件规则模板(表1)中的每一组规则,从特征词链中取出等长度的子链进行匹配;若匹配成功,则添加子链到条件链,同时截去已匹配的子特征词链。在进行下一轮匹配之前,首先判断修改后的特征词链长度是否为0,若为0,表示只有一组条件;否则,判断修改后的特征词链的最后一个词是否逻辑词,非逻辑词表明分词处理存在歧义,是逻辑词则将逻辑词添加到条件链结构,同时截去该词,再根据上述算法进行划分。如此反复,直至特征词链长度为0。

4.2 GIS中文命令实现

语义理解是自然语言处理的必须过程,GIS中文命令解析旨在将特征词的双重属性映射到GIS空间数据库的功能函数(包括函数对应的参数)。经过转换获取命令动词、生成目标链与条件链,为GIS中文命令实现创造了条件。

(1)GIS功能函数。在文献[1]中,分析了命令动词、空间关系词与函数间的关系,建立了一组GIS基本函数,其语义解析采用句型与函数一一映射的方式。经深入研究发现:对于功能相似的命令,这种方式在函数内部会产生大量的代码冗余;对于多个约束条件的复杂命令,一个函数的返回值可能作为另一个函数的参数,多个函数间调用关系不明确。

本文建立了特征词双重属性与函数名、函数参数间的关联,运用函数重载方法,依据命令词的概括属性查找语义-函数映射表(表3),匹配相关功能函数,通过解析本体属性获取函数参数,执行具体操作,完成GIS中文命令解析。

若概括属性为VF,表明用户输入的GIS命令为查询类命令,需判断条件链长度是否为0,若为0,表明没有约束条件限制,直接调用简单查询函数;若存在约束条件,需依据条件进一步分类处理。

表3 语义-函数映射Table 3 The corresponding semantic explaining and function

(2)函数参数确定。

数量参数(number):它是数词和量词的组合,可限定地图缩放的倍数、地图移动的距离、搜索范围、生成缓冲区半径等;确定数量参数的公式如下:

例如,“请向左移四十米”经分词、语句规范化处理,提取数量参数如下:

参照物(refobj):为地理实体,是带有约束条件的查询语句的构成部分;确定参照物即从一组条件参数中查找概括属性为EI的特征词。

空间参数(spara):是具有拓扑关系、方位关系的词;确定空间参数即从条件中查找概括属性为TOP、DD的特征词。

属性参数(attpara):是具有属性约束条件的查询语句的构成部分,其表示为“属性名=‘属性值’”的形式。对于属性字段+关系词+属性值:查找条件链中概括属性为AT、VA、CR、EI的词语,代入下式:

例如,“查询级别为五星级的酒店”,条件段为AT CR VA,属性参数为:级别=‘五星级’;对于只有属性值的约束条件,查找概括属性为VA的词语,根据它的附加信息补充属性名,关系词赋值为“=”,代入下式:

例如,“查询一级道路”,条件段为VA,属性参数为:类别=‘一级’;对于聚集函数类的属性条件,需依据查询目标及计算函数(面积、平均值等)获取属性参数。

5 实例分析

为验证上述思想的可行性,建立了基于中文输入的地理信息原型系统,其自然语言处理模块实现GIS命令输入、语义解析、函数映射;地图显示模块负责从专题数据库中搜索信息并返回自然语言处理结果。系统以南京市地图为实验数据,使用C#开发语言,通过ArcGIS Engine 10二次开发组件包完成地图显示功能。

本文列举了3个实例(表4、图5)。例句1是属性约束条件与空间约束条件的组合查询。针对“面积大于栖霞区”的解析,需调用AE中计算面积的函数求取各行政区面积与栖霞区面积进行比较,找出符合条件的行政区集合A。拓扑关系的约束条件通过设置ISpatialFilter的Geometry、Spatial Rel属性,找出符合条件的行政区集合B。由于逻辑词为“或”关系,因此计算A∪B获得查询结果。针对例句2中方位关系的解析,本文采用基于锥形的八方向法定义方向函数,将方位距离运算转化为缓冲区与拓扑包含关系求解。例句3为多目标路径分析操作,解析较为简单。

表4 实例分析Table 4 Case study analysis

图5 应用实例Fig.5 Examples of application

6 结语

本文以自然语言形式发布GIS命令,为GIS的人机交互提供了一种新的手段,有助于GIS的应用普及。针对带有复杂约束条件的GIS中文命令直接转化为GIS操作的难点,本文分析了构成GIS命令句型的特征,探讨了建立特征词双重属性与GIS功能函数映射关系,实现GIS中文命令向GIS操作的转换。分析表明,通过规则匹配、函数映射方式实现GIS命令语义解析是一种有效、可行的实现方法。但由于自然语言的复杂性,切分词语时可能产生分词歧义,进而影响特征词的获取并导致转换错误,相关问题还有待深入研究。

[1]明小娜,龙毅,钱程扬,等.基于受限自然语言的GIS命令解析方法[J].地球信息科学学报,2009,11(2):183-133.

[2]许龙飞,杨晓昀,唐世渭.基于受限汉语的数据库自然语言接口技术研究[J].软件学报,2002,13(4):537-544.

[3]马林兵,龚健雅.空间信息自然语言查询接口的研究与应用[J].武汉大学学报(信息科学版),2003,28(3):301-305.

[4]徐爱萍,边馥苓.基于语义查询树的GIS中文查询语句向SQL的转换[J].武汉大学学报(信息科学版),2006,31(10):924-927.

[5]孟小峰,王珊.数据库自然语言查询系统Nchiql中语义依存树向SQL的转换[J].中文信息学报,2001,15(5):40-45.

[6]徐爱萍,曹杰.GIS中文查询系统中间语言的形成研究[J].计算机工程与科学,2006,28(11):100-115.

[7]徐爱萍,边馥苓,黄源.基于范例的GIS中文查询的SQL推理[J].武汉大学学报(信息科学版),2007,32(4):370-372.

[8]程昌秀,于滨.一种基于规则的模糊中文地址分词匹配方法[J].地理与地理信息科学,2011,27(3):26-29.

[9]余建伟,李清泉.位置感知计算中定位信息的自然语言描述[J].地理与地理信息科学,2009,25(1):10-13.

[10]杨皓东,江凌,李国俊.国内自然语言处理研究热点分析——基于共词分析[J].图书情报工作,2011(10):112-117.

[11]许珺.关于线状地理特征空间关系的自然语言描述的形式化表达[J].遥感学报,2007,11(2):152-158.

[12]ZHANG L,LONG Y,CHEN Y,et al.The construction of CNL rules in mobile GIS[A].Geoinformatics 2008 and Joint Conference on GIS and Built Environment:Geo-simulation and Virtual GIS Environments[C].Proc,of SPIE,2008,7143:71430H-1-8.

[13]RASHID A,SHARIFF B M,EGENHOFER M J,et al.Natural-language spatial relations between linear and areal objects:The topology and metric of English-language terms[J].International Journal of Geographical Information Science,1998,12(3):215-246.

[14]ALLEN J.Natural Language Understanding(Second Edition)[M].Redwood City,CA:Benjamin Cummings,Publishing Company,1994.

图3 特征词链数据结构
Fig.3 Data structure of characteristics phrase

Rule Matching and Semantic Analysis of Chinese Commands in GIS

YU Ming-lang1,2,MING Xiao-na3,LONG Yi1,2,ZHANG Xue-ying1,2
(1.CollegeofGeographicScience,NanjingNormalUniversity,Nanjing210023;2.KeyLaboratoryofVirtualGeographicEnvironment,MinistryofEducation,NanjingNormalUniversity,Nanjing210023;3.EarthquakeAdministrationofYunnanProvince,Kunming650224,China)

A dual-property-method which is made of ontological and general properties for representing characteristics phrases was proposed in this paper.This method provided a new way for directly converting complicated Chinese commands constrained by spatial and attributive conditions into GIS operations.Several conditional grammar rules were developed and an algorithm was designed to generate templates according to these rules.The connection between natural language and GIS functions was established by using dual-property-method to represent characteristics phrases.Chinese command semantic analysis was realized by using rule matching and function mapping methods.Finally,a case study was made to verify the feasibility of this method.

GIS;Chinese commands;characteristics phrases;rules matching;semantic analysis

P208

A

1672-0504(2012)06-0007-06

2012-07- 24;

2012-09-09

江苏省科技支撑计划(工业)项目(BE2010100);国家自然科学基金项目(40971231);江苏省普通高校研究生科研创新计划项目(CXZZ12_0396);江苏高校优势学科建设工程资助项目

余明朗(1984-),男,博士研究生,从事语音移动GIS、智能导航等方面的研究。*通讯作者E-mail:longyi@njnu.edu.cn

猜你喜欢

文法特征词约束条件
基于一种改进AZSVPWM的满调制度死区约束条件分析
基于改进TFIDF算法的邮件分类技术
A literature review of research exploring the experiences of overseas nurses in the United Kingdom (2002–2017)
西夏文铜镜的真言文法与四臂观音像研究
产品评论文本中特征词提取及其关联模型构建与应用
Similarity measurement method of high-dimensional data based on normalized net lattice subspace①
A nearest neighbor search algorithm of high-dimensional data based on sequential NPsim matrix①
面向文本分类的特征词选取方法研究与改进
上下文无关文法在孤立词识别中的应用
关于“方言特征词”理论的回顾及思考