一种基于web数据挖掘的地理信息获取方法与流程

文档序号:16248221发布日期:2018-12-11 23:46阅读:314来源:国知局
本发明属于计算机应用
技术领域
:,特别涉及一种基于web数据挖掘的地理信息获取方法。
背景技术
:当前,地理信息领域的poi(兴趣点)信息在各种应用中发挥着非常关键的作用,比如,基于poi的定位、导航、搜索服务,都需要依赖大量而准确的poi信息。对于这些需求,需要自动化的poi信息提取方法。互联网上,一些开放的地图服务(例如,googlemaps,openstreetmap等)会提供poi(兴趣点)信息,但是这些服务的数据要么花费巨额的费用来实地采集或购买,要么由使用服务的志愿者提供。但采用实时采集的方法采集的数据缺乏时效性,而由志愿者提供的数据通常因为缺失严重而无法直接使用。在互联网中,由用户生成的非结构化数据与日俱增,而地理空间信息(诸如地名,地址和电话号码等)在网页中通常以半结构化的方式存在,嵌入在web数据和文档中的地理信息的自动识别和结构化提取仍然是一件很困难的任务。因此,从互联网中自动提取地理空间信息的技术变得越来越重要。对于从网络的非结构化的内容中提取的地理信息,怎样界定地理信息的确切内容也是一大挑战,这通常被称为命名实体识别。目前的命名实体识别方法主要有两种:基于规则和词典的方法、基于统计的方法,前者需要语言专家构造的规则模板和巨大的词典,而后者需要一个巨大的语料库来训练模型。综上,目前,在基于网络中的非结构化数据源的地理信息提取方面,还缺少有效而实用的方法,而针对poi信息提取,网络中的非结构化源的数据则可有效解决时效性问题。技术实现要素:本发明的目的是提出一种基于web数据挖掘的地理信息获取方法,其特征在于,包括步骤如下:步骤1:设定所关注的poi类型,提取所关注区域的街道、城市、州或省和国家信息;步骤2:基于步骤1的数据,利用网络搜索引擎的api(应用程序编程接口),获取poi的街道地址信息;步骤3:基于步骤2的数据,利用网路搜索引擎的api,获取poi的名称信息;步骤4:利用地理编码工具,在地图上标出可视化poi的地址-名称信息。所述步骤1包括以下步骤:步骤a1:对于关注的区域,设定所搜索的poi的类型,包括学校、饭店、教堂;所述poi类型从google公司提供的电子地图中搜索得到;此款电子地图能够提供含有全球城市政区、交通以及商业信息的矢量地图,其使用的poi类型包含90种,本步骤所述的poi类型与其相同或自定义poi类型;步骤a2:从osm(opensreetmap)或baidumap中提取街道、城市、州或省和国家名称;osm是一个网上地图协作计划,目标是创造一个内容自由且能让所有人编辑的世界地图;利用osm的api下载所关注区域的信息,以xml格式存储,从中提取所需要的街道名、城市名、州或省名和国家名。所述步骤2包括以下步骤:步骤b1:选定所使用的搜索引擎。由于谷歌搜索引擎的适应性和丰富性,因此选用谷歌搜索引擎或bing搜索引擎的api为搜索工具;步骤b2:确定搜索关键词组合,设定的关键词组合为“poi类型街道名城市名”,包含poi类型、街道名、城市名三个部分,均来自步骤b1所获取的;步骤b3:建立街道字典和地址模式,利用步骤b1提取的osm中的信息,建立所关注区域的街道字典和统一的地址模式,街道字典中包含每条街道的方向、名称和类型,地址模式建立在街道地址之上,规定了区域内的地址所应遵循的模式,二者共同用于提取街道地址;步骤b4:提取搜索结果中的poi地址,利用选定的搜索引擎api中搜索关键词组合,得到对应的搜索结果,基于街道字典和地址模式在结果中提取poi地址。所述步骤3包括以下步骤:步骤c1:建立不相关网页过滤模型,针对后续步骤中的问题,此步骤发现若搜索关键词包含地址,则搜索结果包含大量的房地产信息网页,这些网页中的内容绝大多数是有关待售房屋的信息,在后续提取poi名称时,对提取速度和准确性会产生显著的消极影响;因此,在建立了一个基于url(统一资源定位符)的网页过滤模型,首先,使用搜索引擎搜索任意一家房地产公司网站所包含的最近售卖的住宅,提取搜索结果中的url,解析url中的特征作为训练数据。然后,采用基于训练数据,使用机器学习方法,建立一个识别房地产网页的分类模型,用于过滤房地产网址;步骤c2:确定欲提取名称的搜索关键词,由于一个地址可能对应多个poi,因此需要先提取每个poi地址对应的多个可能的名称,实验发现,将poi地址作为搜索关键词时,其搜索结果的网页的标题中极有可能包含poi名称,而且名称基本位于标题的开头,这一步,设定的关键词为“poi地址”,即搜索poi地址对应的搜索结果。所述步骤4中,选择了谷歌地理编码工具名为googlefusiontables,对结果进行可视化展示或选择其他的arcgis地理编码工具,先将数据上传到该工具,在进行地理编码即将地址转化为经纬度后,数据将以不同的形式展示在地图上。综上,所述基于web数据挖掘的地理信息获取方法一共有四个模块,poi源数据输入模块,提取所关注区域的相关地理信息,为后续模块准备数据;在poi地址提取模块中,从与poi类型和街道相关的网页中提取poi地址;poi名称提取模块是利用相关网页的标题来提取有用的名称信息。最后,可视化模块把已经提取的poi地址-名称信息进行可视化,目的是展示和评估提取效果。本发明的有益效果是本发明利用预先提取的街道信息,构建街道字典和地址模式用于提取街道地址;采用先提取可能名称然后验证的方法,解决了一个地址对应的多个poi名称的问题;采用机器学习的分类方法,过滤了不相关的房地产网页的干扰;最后,利用地址编码工具,完成了数据的可视化展示。实验中,我们分别在纽约和旧金山选取了两个区域进行实验,对应建立这两个区域的地址-名称数据集,并以谷歌地图的数据为基准,在精确率、召回率和f1-score三个方面与openstreetmap和wikimapia的数据进行比较。结果表明,我们的方法获得了数据完整性和准确性相对更好的结果,而且我们的方法可以提取出谷歌地图中缺失的数据,这说明我们的方法有很高的实用价值。附图说明图1为获取地理信息的四个模块的相关示意图。图2为poi地址挖掘示意图。图3为街道地址地理信息模块示意图。图4为街道地址房地产网页的分类模型。图5为poi的可能名称挖掘数据模型。图6为poi真实名称挖掘的数据模型。具体实施方式本发明提出了一种基于web数据挖掘的地理信息获取方法,下面结合附图,对实施例作详细说明。图1所示为获取地理信息的四个模块的相关示意图;本方法利用搜索引擎来搜索与poi类型和街道相关的网页,然后解析网页提取街道地址,再利用街道地址的搜索结果提取对应的poi名称,从而构建poi的地址-名称数据集,最后,利用地址编码工具进行数据的可视化展示。实施例步骤1:设定poi类型,获取街道、城市、州(省)和国家名称。所述步骤1包括以下子步骤:子步骤a1:设定poi类型,从google公司提供的电子地图中搜索其使用的,poi类型,在合并了相似度较高的poi类型之后,采用谷歌地图的90个poi类型中的41个rental,store,night_club,library,police,station,city_hall,food,painter,museum,funeral_home,place_of_worship,physiotherapist,care,premise,car_dealer,plumber,art_gallery,laundry,car_repair,hospital,agency,gym,airport,locksmith,bar,moving_company,spa,dentist,electrician,contractor,accounting,restaurant,bank,lawyer,school,lodging,atm,finance,health,park。步骤a2:从osm中提取街道、城市、州或省和国家名称。这里,从选择的位于纽约的区域的东北角和西南角经纬度坐标分别为(40.7297,-74.0051)和(40.7255,-74.0100),位于旧金山的区域的东北角和西南角经纬度坐标分别为(37.7789,-122.4211)和(37.7755,-122.4267),利用osm,提取出的信息如下表1所示;步骤2:获取poi的街道地址信息。所述步骤2包括以下步骤:步骤b1:选定所使用的搜索引擎。由于谷歌搜索引擎的适应性和丰富性,我们选用谷歌搜索引擎的api为搜索工具。步骤b2:确定搜索关键词组合。设定的关键词组合为“poi类型街道名城市名”(如“storevandamstnewyork”),包含poi类型、街道名、城市名三个部分,均来自步骤b1所获取的信息(如图2所示)。步骤b3:建立街道字典和地址模式。利用步骤b1提取的osm中的信息,建立所关注区域的街道字典和统一的地址模式,街道字典中包含每条街道的方向、名称和类型(如whoustonst在字典中表示为{“houston”:{“direction”:w,“type”:st}}),地址模式建立在街道地址之上(如图3所示),规定了区域内的地址所应遵循的模式,二者共同用于提取街道地址。步骤b4:提取搜索结果中的poi地址。利用步骤b1选定的搜索引擎api搜索步骤b2中的关键词组合,得到对应的搜索结果,基于街道字典和地址模式在结果中提取poi地址。具体来说,街道地址至少包含街道号码,街道方向(北(north)、南(south)、西(west)、东(east)),街道名称,街道类型四个部分,结构特征相对明显,配合街道字典和地址模式的使用,使我们能够比较容易地确定地址信息中的街道号码信息。步骤3:获取poi的名称信息,在搜索引擎返回的每条结果通常包含三个部分:网页标题、网页url和网页简述,在google和bing两家网页地图上搜索引擎中搜索相同给定街道地址的结果,当搜索关键字包含街道地址时,搜索结果可能包含该地址对应的地理信息,而网页地图上标题同一地址包含有多个地点名称。针对这一现象规律,提出利用街道地址搜索结果的网页标题、网页url和网页简述来挖掘和提取地点名称。所述步骤3包括以下步骤:步骤c1:建立不相关网页过滤模型,在后续步骤中,若发现搜索关键词包含地址,则搜索结果包含大量的房地产信息网页,这些网页中的内容绝大多数是有关待售房屋的信息,在后续提取poi名称时,对提取速度和准确性会产生显著的消极影响。因此,在建立一个基于url的网页过滤模型过程中,首先,使用搜索引擎搜索任意一家房地产公司网站所包含的最近售卖的住宅,提取搜索结果中的url,解析url中的特征作为训练数据。然后,采用基于训练数据,使用机器学习方法,建立一个识别房地产网页的分类模型(如附图4),用于过滤房地产网址。在提取url特征的过程中,首先以“://”,“/”和"."将url分割成长度不同的字符串并对应编号;然后将每个字符串中除字母和数字外的字符(替换为空格并将连续的多个空格合并为一个空格;最后,按照如下对特征的定义从处理后的url中提取7个特征://”,“/被称为“无意义字符”;1)num:字符串的数目。2)pos1:第一个出现数字的字符串序列位置。3)pos2:pos1中数字在字符串内部的序列位置。4)max1:pos1中的字符串是否是最长的字符串,如果是,值为1,否则为0。5)max2:最长字符串的长度。6)pos3:字符串“www”的序列位置。7)pos4:字符串“com”的序列位置。步骤c2:确定提取可能名称的搜索关键词。由于一个地址可能对应多个poi,因此需要先提取每个poi地址对应的多个可能的名称。实验发现,将poi地址作为搜索关键词时,其搜索结果的网页的标题中极有可能包含poi名称,而且名称基本位于标题的开头。因此,设定的关键词为“poi地址”(如“690washingtonstnewyorknyus”),即搜索poi地址对应的搜索结果。步骤c3:提取poi的可能名称。对于c2中关键词的搜索结果,其中包含很多房地产网页,我们利用c1中的模型过滤房地产网页,最后,我们将过滤后的每条搜索结果的标题的开头部分作为poi地址对应的可能地址(如附图5所示)。步骤c4:确定提取真实名称的搜索关键词组合。在提取了可能名称之后,我们需要验证名称的真实性,在实验中发现,将poi地址和poi名称一起作为搜索关键字提交至搜索引擎后,其搜索返回的前几条结果与该poi的相关性极高。因此,这一步,我们将“poi地址poi可能名称”作为搜索关键词组合。步骤c5:提取poi的真实名称。将“poi地址poi可能名称”作为搜索关键词组合,进一步提高了搜索结果与地址和可能名称的相关性,对于搜索结果,同样先过滤房地产网页,然后提取每个结果的标题的开头部分,最后,与c3不同,我们将这些开头部分作为提取材料,设定真实名称的长度阈值,提取它们的公共开头字串作为真实名称(如图6所示)。步骤c6:最后,获得了区域的poi的地址和其对应的一个或多个名称。步骤4:在获得地址-名称数据集后,使用谷歌地理编码工具(名为:googlefusiontables)对数据挖掘结果进行可视化展示和实验结果分析,并将实验结果与openstreetmap和wikimapia的对应数据进行比较。具体在googlefusiontables、openstreetmap数据和wikimapia数据中进行实验结果分析,所表示实验结果一致。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1