一种顾及语义的时空数据定位搜索引擎

2018-11-23 07:35段红伟郑丽娜
地理空间信息 2018年11期
关键词:本体时空对象

段红伟,郑丽娜,张 娜

(1.湖北省基础地理信息中心(湖北省北斗卫星导航应用技术研究院),湖北 武汉 430073)

随着GPS技术、移动通信技术、互联网技术的飞速发展,地理信息位置服务及其产业化正在飞速发展。国家测绘地理信息局在《国家地理信息产业发展规划(2014~2020)》中明确指出,要大力发展地理信息服务,加快推进地理信息与北斗卫星导航定位的融合。

定位搜索是地理信息位置服务重要的研究和应用方向,主要面向地理实体数据、地名地址数据等地理对象,根据地理对象的名称、地址、空间位置、时间等相关信息对其进行定位。传统的搜索引擎通常是基于地名词典和地名数据库开展地名地址的定位搜索服务,即采用地理编码和反地理编码技术实现空间位置定位。该方法通过文本搜索与地理约束相结合的方式提供检索服务,强调空间位置信息,却忽略了事件主题信息和时间信息,时空信息与事件主题的语义关联不足,因此只能实现静态的空间信息查询。同时,传统定位搜索的索引结构一般采用正排索引、倒排索引或签名文件索引,均以磁盘为介质存储索引文件,当面对规模较大的查询请求时,将产生大量I/O请求操作,导致整个系统的性能较低。

大数据时代的到来使得地理对象的时空特性愈加明显和重要。时空数据的时间性和事件关联性在定位查询中扮演的角色也越来越重要。国家测绘地理信息局《智慧城市时空大数据与云平台建设技术大纲(2017版)》中明确要求,传统的地理数据需通过添加时空标识来实现传统地理数据向时空数据的升级转换,注入时间、空间和属性“三域”标志。因此,根据时空数据的特点和存储方式,在定位搜索中对时空数据的空间性、时间性、事件关联性进行一致性表达,实现时空信息的快速查询,对于时空大数据的应用和服务具有重要意义。

语义和自然语言处理技术的发展为时空数据的定位搜索提供了一种可行的解决方案。分词策略[1-2]、全文检索策略[3-4]、基于规则策略[5-6]是定位搜索中进行地址要素匹配的主要手段。考虑到地理数据的语义特点,有些学者通过研究本体构建[7-8]、本体事件推理[9-10]、语义相似度[10-12]来实现基于地理本体的语义地址匹配和定位搜索。本文首先分析了时空数据特征,并结合时空数据定位搜索特点确定了主要的时空搜索表达模式,从而明确时空定位搜索适用的主要应用场景;然后根据时空数据的时间、事件特性,并结合地理本体模型建立了时空数据模型;最后基于时空数据模型实现了对应数据库、数据索引的建设和原型系统。

1 时空数据特征和定位搜索表达

1.1 时空数据特征

在时空定位搜索中,时空数据的特征为:

1)具有名称标识。时空定位搜索引擎在进行对象定位时必须依赖一个具名的定位网络,该网络的建设基于各类名称标识,因此时空对象必须是具名的,即具有名称标识。

2)包含点、线、面状几何类型。作为时空定位搜索引擎的处理对象,时空对象不仅包含点状对象实体,同时包含线状、面状对象实体,这将加大定位搜索范围,优化查询内容。

3)时间特征是重要特征。时间特征是时空对象的重要信息内容,在时空定位搜索时应充分考虑时间特性的查询因素。

4)时空对象的关联性变得更加重要。时空定位搜索引擎不仅要支持地名地址、POI等显性时空对象的查询,还需支持与地名地址关联的事件、案件等隐性时空对象的查询。

5)数据源的结构具有广泛性。时空对象的数据源可以是shape的空间数据,也可以是数据库,还可以是Excel格式的数据内容。时空定位搜索引擎对上述数据进行数据重组,得到支持时空定位搜索的数据结构。

1.2 时空数据定位搜索表达

由于数据类型多样、结构多样、已查询内容多样,时空数据查询时要考虑时空对象的空间信息、时间信息、关联信息和位置属性信息。①考虑空间信息:支持点、线、面空间信息的存储和查询;②考虑时间信息:支持对时间点、时间段信息的存储和查询;③考虑关联信息:支持对关联内容的存储和查询;④考虑位置属性信息:不可或缺的信息是时空对象定位搜索的关键元素。

时空数据的特性以及对数据关联融合的要求使得时空定位搜索在查询内容和表达方式上有其特定要求,具体要求见表1。

表1 时空定位搜索的查询内容及其表达模板

2 时空数据定位搜索对象模型

2.1 事件本体模型

本体是共享概念模型明确的形式化规范说明[13],其目的是以通用、标准化的方式定义领域知识,并提供领域知识的共同理解。目前,本体己在智能信息集成、基于知识的系统、自然语言处理和信息检索等方面获得应用。

事件本体[14]定义了一个事件知识模型,认为事件应包括一个事件、一个位置、推动行为、影响因素和产生的结果。如图1所示,把围绕事件的实体分为6类:事件(Event)/子事件(sub_event)、代理(foaf:Agent)、因子(factor)、产品(producce)、空间事物(geo:SpatialThing)和时间实体(time:TemporalEntity),其中agent指起作用者(通常是人,但也可能是物,如计算机),factor指除agent外的其他参与因素(如使用的工具、抽象的起因等)。

图1 事件本体模型

2.2 基于事件本体的时空数据对象模型

为了充分利用现实中各类关系数据库存储的时空数据,本文基于事件本体建立了时空数据对象模型(图2),指导数据融合和数据库建库。建设的时空数据库可利用D2RQ和Dump工具实现数据库与本体的数据交互,进而可利用Jena进行语义推理。

时空数据对象模型包括时空对象、时空实时状态、事件和时空对象聚合。该模型能描述时空对象的一个瞬态,可对时空对象的连续变化进行分析,进而预测未来的发展趋势。

图2 时空数据对象模型

1)时空对象是对一段时间内某个时空对象序列化状态的抽象表达,包括时空对象的静态属性、动态属性和事件机制。

2)时空实时状态表示实时状态信息,与某个地理时空对象StObject相关联,其变化表示时空对象的某个属性发生了变化。

3)事件包含了事件类型,各事件类型与事件源、处理事件目标类型相关联,包括子事件以及事件产生的原因和结果。

4)时空对象聚合由一系列相互作用的同类型时空对象负责接收和转发时空对象(同层或不同层的)产生的事件。

3 时空数据定位搜索引擎设计

3.1 数据库设计

根据时空数据对象模型,本文设计的时空数据库如图3所示。“事件”记录了与事件有关的事件/子事件、代理、因子、结果、空间事物和时间实体;“时空状态”记录了时空数据的时空动态信息;“时空现势状态”记录了时空数据的状态性信息,其标志性信息记录在“时空标志信息”中;“时空标志信息”为点状信息,如地名地址、POI数据;“时空对象信息”描述了时空对象的信息结构,由时空现势状态信息、时空标志信息和属性信息组成;“时空元”是时空对象的元信息,包括对象类型、对象的时间范围、空间范围等。

图3 时空数据库设计

3.2 时空索引结构

为了快速定位,时空数据必须建立索引文件,并依托索引文件进行定位搜索。由于在时空定位搜索中,需构建的索引包括时间信息、空间信息和属性信息,因此本文采用文件索引(四叉树[13]、B树[14])和内存索引的混合结构来构建索引结构(图4)。

3.3 基于Sorl引擎的时空扩展

本文基于Sorl 4.6引擎,通过扩展其索引器和检索器来实现对时间、空间信息的定位搜索。

3.3.1 索引器扩展

1)定义一个IndexWriter,将索引写进Sorl引擎的数据库。

2)定义一个Document。Document 相当于二维表中的一行数据,包含Field 字段,其对应了时间、空间和属性信息。

3)根据索引结构,分别对不同Field字段建立索引,同时需考虑索引优化、合并以及更新问题。

图4 时空定位搜索的索引结构

3.3.2 检索器扩展

1)定义一个新方法IndexSearch,从Index目录读取索引。

2)根据IndexReader 创建对应的检索器Searcher,解析检索的关键字,包含查询内容、查询字段、分析器等。先解析时空对象类型,其决定了查询的索引文件和范围。

3.4 基于Jena引擎的推理

推理使用Jena推理机,通过将既定的规则以逻辑的形式进行描述,建立推理所需的对准[15](Alignment),从而进行逻辑推理。本文基于“is-a”和“has-a”的基础逻辑,利用Jena建立的推理算法框架为:

‘关联模型

1 Model mapingShcema=Model Factory.create Ontology Model();

2 Model orignalModel==ModelFactory.create Ontology Model();

‘关联模型填充

3 maping Shcema.add(EventOWL);‘添加GML应用模式转换的地理OWL

4 maping Shcema.add(AligemtOWL);‘添加自动对准和手工对准信息

‘原始数据模型填充

5 Instance=D2RQ(Db)‘得到数据库实例,并转为RDF

6 orignalModel.add(Instance);‘加载GML应用实例准换后的地理本体实例

‘推理

7 Resoner resoner=ResonerRegistry.getOWLResoner();

8 resoner=resoner.bindSchema(mapingShcema);

4 原型系统的实现

4.1 系统界面

本文基于Sorl架构建立了一个时空对象定位搜索引擎的原型系统(图5),能对邮编、道路、地名地址等点、线、面进行基本查询、时间扩展查询以及事件扩展查询。

图5 原型系统

4.2 查询性能

本文在一台 Core™ i7-3770 CPU、4G内存的台式计算机上,根据表1的查询方式进行系统性能测试,使用数据包括湖北省地名地址数据、行政区划数据、道路数据和邮编数据,数据集大小约为100万条。在查询耗时方面,一元要素查询时间约为15 ms;二元要素查询时间约为58 ms;三元要素查询时间在130~246 ms(平均188 ms);查准率达到85%以上,查全率达到90%以上。

图6 不同查询的查询耗时统计

5 结 语

本文通过定义时空数据对象模型,建立了该模型所对应的数据库、时空索引和引擎,从而实现了时空数据定位搜索的一体化结构设计。该方法可统一集成点、线、面各类时空数据,并建立统一的索引文件,是对传统定位搜索的一种有效扩展。原型系统测试表明,该方法查询效率较好,具有实际应用价值。本文还对时空语义推理进行了尝试和实践,构建了“is-a”和“has-a”的基础逻辑以及逻辑算法框架,下一步将细化时空计算逻辑,优化时空语义推理。

猜你喜欢
本体时空对象
跨越时空的相遇
涉税刑事诉讼中的举证责任——以纳税人举证责任为考察对象
镜中的时空穿梭
玩一次时空大“穿越”
攻略对象的心思好难猜
基于本体的机械产品工艺知识表示
基于熵的快速扫描法的FNEA初始对象的生成方法
时空之门
《我应该感到自豪才对》的本体性教学内容及启示
区间对象族的可镇定性分析