CN103714092A - 一种地理位置的搜索方法和装置 - Google Patents
一种地理位置的搜索方法和装置 Download PDFInfo
- Publication number
- CN103714092A CN103714092A CN201210380362.9A CN201210380362A CN103714092A CN 103714092 A CN103714092 A CN 103714092A CN 201210380362 A CN201210380362 A CN 201210380362A CN 103714092 A CN103714092 A CN 103714092A
- Authority
- CN
- China
- Prior art keywords
- spatial
- lexical item
- query word
- entity object
- space
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种地理位置的搜索方法和装置,所述建立方法包括:获取用户输入的查询词,分词得到各个词项;从预先构建的空间数据库中检索出所述各个词项对应的一个或多个空间数据,并确定所述查询词的实体对象;依次将相邻的两个词项对应的空间数据进行空间归并,确定所述实体对象所在的地理范围;从所述实体对象所在的地理范围中定位所述实体对象的地理位置,返回所述查询词的搜索结果。相较于现有技术,本发明针对在文本形式上不存在上下级关系的空间数据,也能返回正确的搜索结果,能提高地理信息搜索的准确度和召回率,满足人们的搜索需求,提升用户体验。
Description
【技术领域】
本发明涉及电子地图信息技术领域,特别涉及一种地理位置的搜索方法和装置。
【背景技术】
随着互联网的普及和信息技术的迅速发展,人们对各种信息的依赖性越来越大,基于位置的定位服务(location based services,LBS)等的地图搜索服务已成为越来越多人日常生活中不可或缺的服务之一,通过地图搜索引擎可以从海量的地理信息数据中快速找到用户需要的信息。
现有的搜索引擎采用的方法大多数都是基于文本检索技术实现的,对于用户输入的搜索词进行分词后得到各词项,利用已有的地址信息树通过文本匹配对各词项逐级地进行地名行政级别关系的确认,将符合父子级别关系的确认为有效地址,从而找出对应的地理位置。然而,这种方法要求搜索词中前后两个词项必须满足上下级别关系,才能继续进行下去,对于包含错误的父子级别关系的搜索词,无法得到正确的搜索结果,影响地理信息搜索的准确度和召回率,无法满足人们的搜索需求,用户体验差。
【发明内容】
有鉴于此,本发明提供了一种地理位置的搜索方法和装置,能够提高地理信息搜索的准确度和召回率,满足人们的搜索需求,提升用户体验。
具体技术方案如下:
一种地理位置的搜索方法,该方法包括以下步骤:
S1、获取用户输入的查询词,分词得到各个词项;
S2、从预先构建的空间数据库中检索出所述各个词项对应的一个或多个空间数据,并确定所述查询词的实体对象;
S3、依次将相邻的两个词项对应的空间数据进行空间归并,确定所述实体对象所在的地理范围;
S4、从所述实体对象所在的地理范围中定位所述实体对象的地理位置,返回所述查询词的搜索结果。
根据本发明一优选实施例,所述确定所述查询词的实体对象,具体为:
将无法得到对应的空间数据的词项和/或位于所述查询词词尾的词项识别为所述查询词的实体对象。
根据本发明一优选实施例,所述步骤S2具体包括:
利用预先构建的所述空间数据库,将能够与所述空间数据库匹配的词项识别为所述查询词的空间词项;
利用所述空间词项,从预先构建的空间数据库中检索出对应的一个或多个空间数据;
将与所述空间数据库匹配后剩余的词项和/或位于所述查询词词尾的词项识别为所述查询词的实体对象。
根据本发明一优选实施例,所述空间数据库的预先构建方法,具体包括:
利用空间名称词典或地址标识词典,对已有的兴趣点数据的名称进行分词,得到各级别的地址名称;
利用所述已有的兴趣点数据对应的地理信息,计算所述地址名称的最小外接矩形作为所述地址名称对应的空间数据;
利用所述地址名称建立倒排索引拉链,形成所述空间数据库。
根据本发明一优选实施例,所述空间数据库中还包括:所述地址名称所在的城市信息。
根据本发明一优选实施例,在所述步骤S3之前,还包括:
依次判断当前空间词项所检索出的一个或多个空间数据的城市信息是否与前一个空间信息的词项所检索到的一个或多个空间数据的城市信息相同,将所述城市信息不相同的空间数据删除;
所述步骤S3针对处理后的空间数据进行空间归并。
根据本发明一优选实施例,所述步骤S3具体包括:
依次确定当前词项对应的一个或多个空间数据与所述当前词项的前一个词项对应的一个或多个空间数据之间的空间关系,所述空间关系包括:包含关系、相交关系或无关关系中的一种;
如果所述空间关系为包含或相交,所述空间数据的交集为归并结果;
将所述归并结果确定为所述实体对象所在的地理范围。
一种地理位置的搜索装置,该装置包括:
获取模块,用于获取用户输入的查询词,分词得到各个词项;
检索模块,用于从预先构建的空间数据库中检索出所述各个词项对应的一个或多个空间数据,并确定所述查询词的实体对象;
归并模块,用于依次将相邻的两个词项对应的空间数据进行空间归并,确定所述实体对象所在的地理范围;
定位模块,用于从所述实体对象所在的地理范围中定位所述实体对象的地理位置,返回作为所述查询词的搜索结果。
根据本发明一优选实施例,所述检索模块具体用于:
将无法得到对应的空间数据的词项和/或位于所述查询词词尾的词项识别为所述查询词的实体对象。
根据本发明一优选实施例,所述检索模块具体包括:
第一识别单元,用于利用预先构建的所述空间数据库,将能够与所述空间数据库匹配的词项识别为所述查询词的空间词项;
检索单元,用于利用所述空间词项,从预先构建的空间数据库中检索出对应的一个或多个空间数据;
第二识别单元,用于将与所述空间数据库匹配后剩余的词项和/或位于所述查询词词尾的词项识别为所述查询词的实体对象。
根据本发明一优选实施例,所述空间数据库的预先构建模块,具体包括:
名称获取单元,用于利用空间名称词典或地址标识词典,对已有的兴趣点数据的名称进行分词,得到各级别的地址名称;
空间计算单元,用于利用所述已有的兴趣点数据对应的地理信息,计算所述地址名称的最小外接矩形作为所述地址名称对应的空间数据;
索引建立单元,用于利用所述地址名称建立倒排索引拉链,形成所述空间数据库。
根据本发明一优选实施例,所述空间数据库中还包括:所述地址名称所在的城市信息。
根据本发明一优选实施例,所述装置还包括:
归并预处理模块,用于依次判断当前空间词项所检索出的一个或多个空间数据的城市信息是否与前一个空间信息的词项所检索到的一个或多个空间数据的城市信息相同,将所述城市信息不相同的空间数据删除,并将处理后的空间数据提供给所述归并模块。
根据本发明一优选实施例,所述归并模块具体包括:
空间关系确定单元,用于依次确定当前词项对应的一个或多个空间数据与所述当前词项的前一个词项对应的一个或多个空间数据之间的空间关系,所述空间关系包括:包含关系、相交关系或无关关系中的一种;
归并单元,用于如果所述空间关系为包含或相交,所述空间数据的交集为归并结果,将所述归并结果确定为所述实体对象所在的地理范围。
由以上技术方案可以看出,本发明提供的地理位置的搜索方法和装置,通过空间位置关系对搜索词中各词项对应的空间数据进行归并,针对在文本形式上不存在上下级关系的空间数据,也能返回正确的搜索结果,有效地提高地理信息搜索的准确度和召回率,满足人们的搜索需求,提升用户体验。
【附图说明】
图1为本发明实施例一提供的地理位置的搜索方法流程图;
图2为本发明实施例一提供的空间数据库的构建方法流程图;
图3为本发明实施例一提供的一种空间数据检索的处理流程图;
图4为本发明实施例二提供的地理位置的搜索装置示意图;
图5为本发明实施例二提供的空间数据库的构建模块示意图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
实施例一
图1是本实施例提供的地理位置的搜索方法流程图,如图1所示,该方法包括:
步骤S101、获取用户输入的查询词,分词得到各个词项。
用户在地图检索时输入的查询词(query),往往是“where+what”的检索形式。where是描述空间信息的词项,称为空间词项,通常是地名。what是描述实体对象的词项,称为实体对象,通常都是兴趣点名称。比如,查询词为“海淀区中关村普天大厦”,其中,where是“海淀区中关村”,可以包括多个词项,what是“普天大厦”,也可以包括一个或多个词项。
对获取查询词采用现有的分词方法进行处理,得到各个词项。例如,“海淀区中关村普天大厦”可分词得到“海淀区/中关村/普天大厦”。
步骤S102、从预先构建的空间数据库中检索出所述各个词项对应的一个或多个空间数据(子where),并确定所述查询词的实体对象。
图2是本实施例提供的空间数据库的构建方法流程图,如图2所示,所述构建方法具体包括:
步骤S201、利用空间名称词典或地址标识词典,对已有的兴趣点数据的名称进行分词,得到各级别的地址名称。
例如,对于已有的兴趣点数据“北京市朝阳区霄云路”,进行分词结果为“北京市/朝阳区/霄云路”,利用已有的空间名称词典或地址标识词典,将“北京市”、“朝阳区”、“霄云路”分别识别为市级、区级和道路级的地址名称。
步骤S202、利用所述已有的兴趣点数据对应的地理信息,计算所述地址名称的最小外接矩形(MBR)作为所述地址名称对应的空间数据。
其中,空间数据库包括:地址名称、地址名称对应的空间数据及地址名称所在的城市信息等信息。
所述地址名称包括行政区划、地标或商圈等兴趣点名称。所述地址名称对应的空间数据可以但不限于采用最小外接矩形(MBR)来表示。最小外接矩形是利用两个对角线的点(坐标值)所构成的矩形大小,来表示空间的范围大小。
空间数据库可以但不限于采用数据表格或其他形式进行存储。如下表1和表2所示,表1是地址名称为“朝阳区”在空间数据库中的数据,表2是地址名称为“霄云路”在空间数据库中的数据。
表1
表2
地址名称 | 城市 | 空间数据(mbr) |
朝阳区 | 北京市 | 13926446,13958825,5351072,5420777 |
朝阳区 | 长春市 | 12953022,12985742,481 1520,4854796 |
地址名称 | 城市 | 空间数据(mbr) |
霄云路 | 北京市 | …… |
霄云路 | 上海市 | …… |
霄云路 | 重庆市 | …… |
步骤S203、利用所述地址名称建立倒排索引拉链,形成所述空间数据库。
比如,针对“朝阳区”建立的倒排索引拉链为:朝阳区→POI1→POI2。以地址名称“朝阳区”为索引拉链,包括两个倒排索引POI1和POI2,其中,POI1是北京市的朝阳区,POI2是长春市的朝阳区。
利用预先构建好的空间数据库,从中检索出查询词的词项对应的一个或多个空间数据,用以进行空间归并。
如果用户输入的查询词为“朝阳区霄云路”,则从所述空间数据库中检索出词项“朝阳区”和“霄云路”的空间数据。如表1和表2所示,“朝阳区”可以检索出两个空间数据(子where),北京一个,长春一个;而“霄云路”可以检索出三个子where,北京、上海、重庆各一个。
在本步骤中可以先识别出所述查询词中包含的空间词项和实体对象,再利用空间词项进行空间数据的检索。图3是本实施例提供的一种空间数据检索的处理流程图,如图3所示,步骤S102具体包括:
步骤S102_1、利用预先构建的所述空间数据库,将能够与所述空间数据库匹配的词项识别为所述查询词的空间词项。
将查询词的词项与空间数据库的索引拉链的地址名称相匹配,将能够匹配的词项识别为空间词项。
步骤S102_2、利用所述空间词项,从预先构建的空间数据库中检索出对应的一个或多个空间数据。
一个词项对应可以检索出一条索引拉链,对应于一个或多个空间数据。例如,“朝阳区”这条索引拉链有两个POI,则对应两个空间数据,具体如表1所示。
步骤S102_3、将与所述空间数据库匹配后剩余的词项和/或位于所述查询词词尾的词项识别为所述查询词的实体对象(what)。
查询词中至少有一个词项为实体对象词项,而且该词项通常位于所述查询词的词尾,因而,可以将无法得到对应的空间数据的词项和/或位于所述查询词词尾的词项识别为所述查询词的实体对象。
对于所有词项均能匹配的情况,则强制将位于所述查询词词尾的词项识别为实体对象。对于有多个词项均不能匹配的情况,则将该些不能匹配的词项识别为实体对象。
当然,当某个兴趣点(poi)位于where的范围内,其where部分的词项可省略,查询词只有what部分。例如,“北京颐和园”中的“北京”是where,颐和园位于该where中,其where部分的词项可省略,以“颐和园”作为查询词。如果用户仅输入单个词项作为查询词,则可以按照现有的搜索方法进行处理,并不是本发明重点,于此不再赘述。
继续参见图1,步骤S103、依次将相邻的两个词项对应的空间数据(子where)进行空间归并,确定所述实体对象(what)所在的地理范围。
具体地,依次确定当前词项对应的一个或多个空间数据与所述当前词项的前一个词项对应的一个或多个空间数据之间的空间关系,所述空间关系包括:包含关系、相交关系或无关关系中的一种。对于前后两个词项A和B,通过所述数据空间的最小外接矩形MBR确定空间关系。
如果所述空间关系为包含或相交,所述空间数据的交集为归并结果,将所述归并结果确定为所述实体对象所在的地理范围。
以“朝阳区霄云路鹏润大厦”为例,“朝阳区”与“霄云路”在北京市的空间数据的MBR的空间关系是包含,则将这两个空间数据的交集作为归并结果,确定为实体对象“鹏润大厦”所在的地理范围。
这样的话,对于是兄弟关系的前后地址词项,一般是相交的关系,虽然根据现有的地址标识词典(上下级别关系)并不能找到这种兄弟关系的词项之间的关系,但是通过空间关系,这些词项对应的空间数据的MBR会有一部分相交,从而可以找到前后词项存在兄弟关系的查询词的搜索结果。而现有技术对于这种兄弟关系的查询词,会认为是错误的数据,甚至无法返回正确的搜索结果。
为了提高归并的处理速度,在对所述空间数据进行归并之前,还包括:针对所述查询词中的空间词项,依次判断当前空间词项所检索出的一个或多个空间数据(子where)的城市信息是否与前一个空间信息的词项所检索到的一个或多个空间数据的城市信息相同,将所述城市信息不相同的空间数据(子where)删除。
比如:“朝阳区”和“霄云路”做归并,首先是北京的朝阳区和三个“霄云路”判断,其中只有北京的“霄云路”保留下来,删除掉重庆市和上海市的这两个空间数据(子where)。然后是长春市的“朝阳区”和三个“霄云路”判断,都没有交集,就删除掉长春市的朝阳区。最后,只保留北京市的朝阳区,“霄云路”也是选择北京市的霄云路。
步骤S104、从所述实体对象所在的地理范围中定位所述查询词的地理位置,返回所述查询词的搜索结果。
在一个确定的地理范围内搜索实体对象的地理位置,可以快速准确地返回查询词的搜索结果。
下面举个例子,用户输入的查询词为“深圳市南山区蛇口水湾头南水村”。
在获取到查询词后,对查询词进行分词处理,得到词项“深圳市”、“南山区”、“蛇口”、“水湾头”和“南水村”等词项。
对这些词项,利用空间数据库中查询相关的索引拉链,将能够匹配的索引拉链读取出来,可以得到一下数据:
深圳市
地址名称 | 城市 | 空间数据(mbr) |
深圳市 | 深圳市 | 12655329,12763884,2524065,2598086 |
南山区:
地址名称 | 城市 | 空间数据(mbr) |
南山区 | 深圳市 | 12661088,12694032,2524065,2574185 |
南山区 | 鹤岗市 | 14499271,14508280,5951156,5964271 |
蛇口
地址名称 | 城市 | 空间数据(mbr) |
蛇口 | 深圳市 | 12681514,12683888,2553457,2556004 |
水湾头
地址名称 | 城市 | 空间数据(mbr) |
水湾头 | 深圳市 | 12680078,12684078,2552636,2556636 |
水湾头 | 珠海市 | 12641557,12645557,2522049,2526049 |
以上数据包括“深圳市”、“南山区”、“蛇口”和“水湾头”这些子where。将“南水村”作为实体对象。
对这些子where,按照MBR空间关系进行归并,MBR空间关系包括包含、相交和无关三种关系。两个词项的索引拉链进行空间归并就是如果两个POI点在空间上有包含或者相交的关系,就保留下来,否则丢弃掉。
比如:“深圳市”和“南山区”做归并,首先是深圳市和两个“南山区”判断,其中只有深圳的“南山区”保留下来,删除掉其他的子where。然后用深圳的南山区和“蛇口”判断,空间关系是相交的,则保留蛇口。最后,用蛇口和两个“水湾头”判断,只有深圳的水湾头和蛇口有交集,深圳的水湾头保留下来,删除掉珠海市的水湾头。
这样就确定了实体对象“南水村”所在的范围是深圳的水湾头,对应MBR为实体对象的范围。最后再从这个范围中确定“南水村”的地理位置,并返回搜索结果。
由此可见,如果用户想在“深圳市南山区蛇口水湾头”周围检索“南水村”,其中的“深圳市南山区蛇口水湾头南水村”就是相邻的两个子where,在空间关系上是相邻的,但是行政关系不存在上下级,所以传统的方式就不能进行归并。
以上是对本发明所提供的方法进行的详细描述,下面对本发明提供的地理位置的搜索装置进行详细描述。
实施例二
图4是本实施例提供的地理位置的搜索装置示意图。如图4所示,该装置包括:获取模块10、检索模块20、归并模块30和定位模块40。
获取模块10用于获取用户输入的查询词,分词得到各个词项。
用户在地图检索时输入的查询词(query),往往是“where+what”的检索形式。where是描述空间信息的词项,称为空间词项,通常是地名。what是描述实体对象的词项,称为实体对象,通常都是兴趣点名称。比如,查询词为“海淀区中关村普天大厦”,其中,where是“海淀区中关村”,可以包括多个词项,what是“普天大厦”,也可以包括一个或多个词项。
获取模块10对获取查询词采用现有的分词方法进行处理,得到各个词项。例如,“海淀区中关村普天大厦”可分词得到“海淀区/中关村/普天大厦”。
检索模块20用于从预先构建的空间数据库中检索出所述各个词项对应的一个或多个空间数据(子where),并确定所述查询词的实体对象。
图5是本实施例提供的空间数据库的构建模块示意图,如图5所示,所述构建模块具体包括:名称获取单元501、空间计算单元502和索引建立单元503。
名称获取单元501用于利用空间名称词典或地址标识词典,对已有的兴趣点数据的名称进行分词,得到各级别的地址名称。
例如,对于已有的兴趣点数据“北京市朝阳区霄云路”,进行分词结果为“北京市/朝阳区/霄云路”,利用已有的空间名称词典或地址标识词典,将“北京市”、“朝阳区”、“霄云路”分别识别为市级、区级和道路级的地址名称。
空间计算单元502用于利用所述已有的兴趣点数据对应的地理信息,计算所述地址名称的最小外接矩形(MBR)作为所述地址名称对应的空间数据。
其中,空间数据库包括:地址名称、地址名称对应的空间数据及地址名称所在的城市信息等信息。
所述地址名称包括行政区划、地标或商圈等兴趣点名称。所述地址名称对应的空间数据可以但不限于采用最小外接矩形(MBR)来表示。最小外接矩形是利用两个对角线的点(坐标值)所构成的矩形大小,来表示空间的范围大小。
空间数据库可以但不限于采用数据表格或其他形式进行存储,如表1和表2所示,表1是地址名称为“朝阳区”在空间数据库中的数据,表2是地址名称为“霄云路”在空间数据库中的数据。
索引建立单元503用于利用所述地址名称建立倒排索引拉链,形成所述空间数据库。
比如,针对“朝阳区”建立的倒排索引拉链为:朝阳区→POI1→POI2。以地址名称“朝阳区”为索引拉链,包括两个倒排索引POI1和POI2,其中,POI1是北京市的朝阳区,POI2是长春市的朝阳区。
检索模块20利用预先构建好的空间数据库,从中检索出查询词的词项对应的一个或多个空间数据,用以进行空间归并。
如果用户输入的查询词为“朝阳区霄云路”,检索模块20则从所述空间数据库中检索出词项“朝阳区”和“霄云路”的空间数据。如表1和表2所示,“朝阳区”可以检索出两个空间数据(子where),北京一个,长春一个;而“霄云路”可以检索出三个子where,北京、上海、重庆各一个。
在一实施方式中,检索模块20可以包括:第一识别单元、检索单元和第二识别单元。
第一识别单元用于利用预先构建的所述空间数据库,将能够与所述空间数据库匹配的词项识别为所述查询词的空间词项。
第一识别单元将查询词的词项与空间数据库的索引拉链的地址名称相匹配,将能够匹配的词项识别为空间词项。
检索单元用于利用所述空间词项,从预先构建的空间数据库中检索出对应的一个或多个空间数据。
一个词项对应可以检索出一条索引拉链,对应于一个或多个空间数据。例如,“朝阳区”这条索引拉链有两个POI,则对应两个空间数据,具体如表1所示。
第二识别单元用于将与所述空间数据库匹配后剩余的词项和/或位于所述查询词词尾的词项识别为所述查询词的实体对象(what)。
查询词中至少有一个词项为实体对象词项,而且该词项通常位于所述查询词的词尾,因而,可以将无法得到对应的空间数据的词项和/或位于所述查询词词尾的词项识别为所述查询词的实体对象。
对于所有词项均能匹配的情况,则第二识别单元203强制将位于所述查询词词尾的词项识别为实体对象。对于有多个词项均不能匹配的情况,则将该些不能匹配的词项识别为实体对象。
当然,当某个兴趣点(poi)位于where的范围内,其where部分的词项可省略,查询词只有what部分。例如,“北京颐和园”中的“北京”是where,颐和园位于该where中,其where部分的词项可省略,以“颐和园”作为查询词。
继续参见图4,归并模块30用于依次将相邻的两个词项对应的空间数据(子where)进行空间归并,确定所述实体对象(what)所在的地理范围。
具体地,归并模块30依次确定当前词项对应的一个或多个空间数据与所述当前词项的前一个词项对应的一个或多个空间数据之间的空间关系,所述空间关系包括:包含关系、相交关系或无关关系中的一种。
对于前后两个词项A和B,归并模块30通过所述数据空间的最小外接矩形MBR确定空间关系。
如果所述空间关系为包含或相交,所述空间数据的交集为归并结果,归并模块30将所述归并结果确定为所述实体对象所在的地理范围。
以“朝阳区霄云路鹏润大厦”为例,“朝阳区”与“霄云路”在北京市的空间数据的MBR的空间关系是包含,则将这两个空间数据的交集作为归并结果,确定为实体对象“鹏润大厦”所在的地理范围。
这样的话,对于是兄弟关系的前后地址词项,一般是相交的关系,虽然根据现有的地址标识词典(上下级别关系)并不能找到这种兄弟关系的词项之间的关系,但是通过空间关系,这些词项对应的空间数据的MBR会有一部分相交,从而可以找到前后词项存在兄弟关系的查询词的搜索结果。而现有技术对于这种兄弟关系的查询词,会认为是错误的数据,甚至无法返回正确的搜索结果。
为了提高归并的处理速度,在对所述空间数据进行归并之前,还包括:归并预处理模块31。
归并预处理模块31用于依次判断当前空间词项所检索出的一个或多个空间数据(子where)的城市信息是否与前一个空间信息的词项所检索到的一个或多个空间数据的城市信息相同,将所述城市信息不相同的空间数据(子where)删除,并将处理后的空间数据提供给归并模块30。
比如:“朝阳区”和“霄云路”做归并,归并预处理模块31首先是北京的朝阳区和三个“霄云路”判断,其中只有北京的“霄云路”保留下来,删除掉重庆市和上海市的这两个空间数据(子where)。然后是长春市的“朝阳区”和三个“霄云路”判断,都没有交集,就删除掉长春市的朝阳区。最后,只保留北京市的朝阳区,“霄云路”也是选择北京市的霄云路。
定位模块40用于从所述实体对象所在的地理范围中定位所述查询词的地理位置,返回所述查询词的搜索结果。
在一个确定的地理范围内搜索实体对象的地理位置,定位模块40可以快速准确地返回查询词的搜索结果。
下面举个例子,用户输入的查询词为“深圳市南山区蛇口水湾头南水村”。
获取模块10在获取到查询词后,对查询词进行分词处理,得到词项“深圳市”、“南山区”、“蛇口”、“水湾头”和“南水村”等词项。
对这些词项,检索模块20利用空间数据库中查询相关的索引拉链,将能够匹配的索引拉链读取出来,可以得到一下数据:
深圳市
地址名称 | 城市 | 空间数据(mbr) |
深圳市 | 深圳市 | 12655329,12763884,2524065,2598086 |
南山区:
地址名称 | 城市 | 空间数据(mbr) |
南山区 | 深圳市 | 12661088,12694032,2524065,2574185 |
南山区 | 鹤岗市 | 14499271,14508280,5951156,5964271 |
蛇口
地址名称 | 城市 | 空间数据(mbr) |
蛇口 | 深圳市 | 12681514,12683888,2553457,2556004 |
水湾头
地址名称 | 城市 | 空间数据(mbr) |
水湾头 | 深圳市 | 12680078,12684078,2552636,2556636 |
水湾头 | 珠海市 | 12641557,12645557,2522049,2526049 |
以上数据包括“深圳市”、“南山区”、“蛇口”和“水湾头”这些子where。将“南水村”作为实体对象。
对这些子where,归并模块30按照MBR空间关系进行归并,MBR空间关系包括包含、相交和无关三种关系。两个词项的索引拉链进行空间归并就是如果两个POI点在空间上有包含或者相交的关系,就保留下来,否则丢弃掉。
比如:“深圳市”和“南山区”做归并,首先是深圳市和两个“南山区”判断,其中只有深圳的“南山区”保留下来,删除掉其他的子where。然后用深圳的南山区和“蛇口”判断,空间关系是相交的,则保留蛇口。最后,用蛇口和两个“水湾头”判断,只有深圳的水湾头和蛇口有交集,深圳的水湾头保留下来,删除掉珠海市的水湾头。
这样归并模块30就确定了实体对象“南水村”所在的范围是深圳的水湾头,对应MBR为实体对象的范围。最后定位模块40再从这个范围中确定“南水村”的地理位置,并返回搜索结果。
由此可见,如果用户想在“深圳市南山区蛇口水湾头”周围检索“南水村”,其中的“深圳市南山区蛇口水湾头南水村”就是相邻的两个子where,在空间关系上是相邻的,但是行政关系不存在上下级,所以传统的方式就不能进行归并。
本发明提供的地理位置的搜索方法和装置,通过空间位置关系对搜索词中各词项对应的空间数据进行归并,即使针对在文本形式上不存在上下级关系的空间数据,也能返回正确的搜索结果,有效地提高地理信息搜索的准确度和召回率,满足人们的搜索需求,提升用户体验。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (14)
1.一种地理位置的搜索方法,其特征在于,所述方法包括:
S1、获取用户输入的查询词,分词得到各个词项;
S2、从预先构建的空间数据库中检索出所述各个词项对应的一个或多个空间数据,并确定所述查询词的实体对象;
S3、依次将相邻的两个词项对应的空间数据进行空间归并,确定所述实体对象所在的地理范围;
S4、从所述实体对象所在的地理范围中定位所述实体对象的地理位置,返回所述查询词的搜索结果。
2.根据权利要求1所述的方法,其特征在于,所述确定所述查询词的实体对象,具体为:
将无法得到对应的空间数据的词项和/或位于所述查询词词尾的词项识别为所述查询词的实体对象。
3.根据权利要求1所述的方法,其特征在于,所述步骤S2具体包括:
利用预先构建的所述空间数据库,将能够与所述空间数据库匹配的词项识别为所述查询词的空间词项;
利用所述空间词项,从预先构建的空间数据库中检索出对应的一个或多个空间数据;
将与所述空间数据库匹配后剩余的词项和/或位于所述查询词词尾的词项识别为所述查询词的实体对象。
4.根据权利要求1所述的方法,其特征在于,所述空间数据库的预先构建方法,具体包括:
利用空间名称词典或地址标识词典,对已有的兴趣点数据的名称进行分词,得到各级别的地址名称;
利用所述已有的兴趣点数据对应的地理信息,计算所述地址名称的最小外接矩形作为所述地址名称对应的空间数据;
利用所述地址名称建立倒排索引拉链,形成所述空间数据库。
5.根据权利要求4所述的方法,其特征在于,所述空间数据库中还包括:所述地址名称所在的城市信息。
6.根据权利要求5所述的方法,其特征在于,在所述步骤S3之前,还包括:
依次判断当前空间词项所检索出的一个或多个空间数据的城市信息是否与前一个空间信息的词项所检索到的一个或多个空间数据的城市信息相同,将所述城市信息不相同的空间数据删除;
所述步骤S3针对处理后的空间数据进行空间归并。
7.根据权利要求1所述的方法,其特征在于,所述步骤S3具体包括:
依次确定当前词项对应的一个或多个空间数据与所述当前词项的前一个词项对应的一个或多个空间数据之间的空间关系,所述空间关系包括:包含关系、相交关系或无关关系中的一种;
如果所述空间关系为包含或相交,所述空间数据的交集为归并结果;
将所述归并结果确定为所述实体对象所在的地理范围。
8.一种地理位置的搜索装置,其特征在于,所述装置包括:
获取模块,用于获取用户输入的查询词,分词得到各个词项;
检索模块,用于从预先构建的空间数据库中检索出所述各个词项对应的一个或多个空间数据,并确定所述查询词的实体对象;
归并模块,用于依次将相邻的两个词项对应的空间数据进行空间归并,确定所述实体对象所在的地理范围;
定位模块,用于从所述实体对象所在的地理范围中定位所述实体对象的地理位置,返回作为所述查询词的搜索结果。
9.根据权利要求8所述的装置,其特征在于,所述检索模块具体用于:
将无法得到对应的空间数据的词项和/或位于所述查询词词尾的词项识别为所述查询词的实体对象。
10.根据权利要求8所述的装置,其特征在于,所述检索模块具体包括:
第一识别单元,用于利用预先构建的所述空间数据库,将能够与所述空间数据库匹配的词项识别为所述查询词的空间词项;
检索单元,用于利用所述空间词项,从预先构建的空间数据库中检索出对应的一个或多个空间数据;
第二识别单元,用于将与所述空间数据库匹配后剩余的词项和/或位于所述查询词词尾的词项识别为所述查询词的实体对象。
11.根据权利要求8所述的装置,其特征在于,所述空间数据库的预先构建模块,具体包括:
名称获取单元,用于利用空间名称词典或地址标识词典,对已有的兴趣点数据的名称进行分词,得到各级别的地址名称;
空间计算单元,用于利用所述已有的兴趣点数据对应的地理信息,计算所述地址名称的最小外接矩形作为所述地址名称对应的空间数据;
索引建立单元,用于利用所述地址名称建立倒排索引拉链,形成所述空间数据库。
12.根据权利要求11所述的装置,其特征在于,所述空间数据库中还包括:所述地址名称所在的城市信息。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
归并预处理模块,用于依次判断当前空间词项所检索出的一个或多个空间数据的城市信息是否与前一个空间信息的词项所检索到的一个或多个空间数据的城市信息相同,将所述城市信息不相同的空间数据删除,并将处理后的空间数据提供给所述归并模块。
14.根据权利要求1所述的装置,其特征在于,所述归并模块具体包括:
空间关系确定单元,用于依次确定当前词项对应的一个或多个空间数据与所述当前词项的前一个词项对应的一个或多个空间数据之间的空间关系,所述空间关系包括:包含关系、相交关系或无关关系中的一种;
归并单元,用于如果所述空间关系为包含或相交,所述空间数据的交集为归并结果,将所述归并结果确定为所述实体对象所在的地理范围。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210380362.9A CN103714092A (zh) | 2012-09-29 | 2012-09-29 | 一种地理位置的搜索方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210380362.9A CN103714092A (zh) | 2012-09-29 | 2012-09-29 | 一种地理位置的搜索方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103714092A true CN103714092A (zh) | 2014-04-09 |
Family
ID=50407077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210380362.9A Pending CN103714092A (zh) | 2012-09-29 | 2012-09-29 | 一种地理位置的搜索方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103714092A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103955522A (zh) * | 2014-05-08 | 2014-07-30 | 百度在线网络技术(北京)有限公司 | 一种标识电子地图检索结果的方法和装置 |
CN105787110A (zh) * | 2016-03-23 | 2016-07-20 | 苏州数字地图信息科技股份有限公司 | 一种基于空间搜索的定位方法及装置 |
CN105975099A (zh) * | 2016-04-28 | 2016-09-28 | 百度在线网络技术(北京)有限公司 | 输入法的实现方法和装置 |
CN106294384A (zh) * | 2015-05-19 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 发现新路名的方法及装置 |
CN107291748A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 一种特征提取方法和装置 |
CN107491452A (zh) * | 2016-06-13 | 2017-12-19 | 英属安圭拉商乐走走股份有限公司 | 能快速且精准搜寻旅游景点的方法 |
CN108628943A (zh) * | 2018-03-28 | 2018-10-09 | 北京三快在线科技有限公司 | 一种数据处理方法、装置和电子设备 |
CN109508361A (zh) * | 2018-11-12 | 2019-03-22 | 百度在线网络技术(北京)有限公司 | 用于输出信息的方法和装置 |
CN109799916A (zh) * | 2017-11-16 | 2019-05-24 | 北京搜狗科技发展有限公司 | 一种候选项联想方法和装置 |
CN110019617A (zh) * | 2017-12-05 | 2019-07-16 | 腾讯科技(深圳)有限公司 | 地址标识的确定方法和装置、存储介质、电子装置 |
CN110019645A (zh) * | 2017-09-28 | 2019-07-16 | 北京搜狗科技发展有限公司 | 索引库构建方法、搜索方法及装置 |
CN110347938A (zh) * | 2019-07-12 | 2019-10-18 | 深圳众赢维融科技有限公司 | 地理信息处理方法、装置、电子设备及介质 |
WO2021212827A1 (zh) * | 2020-04-24 | 2021-10-28 | 百度在线网络技术(北京)有限公司 | 检索地理位置的方法、装置、设备和计算机存储介质 |
US11836174B2 (en) | 2020-04-24 | 2023-12-05 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method and apparatus of establishing similarity model for retrieving geographic location |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101350013A (zh) * | 2007-07-18 | 2009-01-21 | 北京灵图软件技术有限公司 | 一种地理信息的搜索方法和*** |
CN101350012A (zh) * | 2007-07-18 | 2009-01-21 | 北京灵图软件技术有限公司 | 一种地址匹配的方法和*** |
CN101794307A (zh) * | 2010-03-02 | 2010-08-04 | 光庭导航数据(武汉)有限公司 | 基于互联网分词思想的车载导航poi搜索引擎 |
CN102147795A (zh) * | 2010-02-05 | 2011-08-10 | 北京四维图新科技股份有限公司 | 兴趣点检索方法、兴趣点检索装置和导航*** |
-
2012
- 2012-09-29 CN CN201210380362.9A patent/CN103714092A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101350013A (zh) * | 2007-07-18 | 2009-01-21 | 北京灵图软件技术有限公司 | 一种地理信息的搜索方法和*** |
CN101350012A (zh) * | 2007-07-18 | 2009-01-21 | 北京灵图软件技术有限公司 | 一种地址匹配的方法和*** |
CN102147795A (zh) * | 2010-02-05 | 2011-08-10 | 北京四维图新科技股份有限公司 | 兴趣点检索方法、兴趣点检索装置和导航*** |
CN101794307A (zh) * | 2010-03-02 | 2010-08-04 | 光庭导航数据(武汉)有限公司 | 基于互联网分词思想的车载导航poi搜索引擎 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103955522A (zh) * | 2014-05-08 | 2014-07-30 | 百度在线网络技术(北京)有限公司 | 一种标识电子地图检索结果的方法和装置 |
CN106294384B (zh) * | 2015-05-19 | 2019-09-03 | 阿里巴巴集团控股有限公司 | 发现新路名的方法及装置 |
CN106294384A (zh) * | 2015-05-19 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 发现新路名的方法及装置 |
CN105787110A (zh) * | 2016-03-23 | 2016-07-20 | 苏州数字地图信息科技股份有限公司 | 一种基于空间搜索的定位方法及装置 |
CN107291748A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 一种特征提取方法和装置 |
CN107291748B (zh) * | 2016-03-31 | 2021-01-15 | 菜鸟智能物流控股有限公司 | 一种特征提取方法和装置 |
CN105975099A (zh) * | 2016-04-28 | 2016-09-28 | 百度在线网络技术(北京)有限公司 | 输入法的实现方法和装置 |
CN107491452A (zh) * | 2016-06-13 | 2017-12-19 | 英属安圭拉商乐走走股份有限公司 | 能快速且精准搜寻旅游景点的方法 |
CN110019645A (zh) * | 2017-09-28 | 2019-07-16 | 北京搜狗科技发展有限公司 | 索引库构建方法、搜索方法及装置 |
CN109799916A (zh) * | 2017-11-16 | 2019-05-24 | 北京搜狗科技发展有限公司 | 一种候选项联想方法和装置 |
CN109799916B (zh) * | 2017-11-16 | 2021-08-13 | 北京搜狗科技发展有限公司 | 一种候选项联想方法和装置 |
CN110019617A (zh) * | 2017-12-05 | 2019-07-16 | 腾讯科技(深圳)有限公司 | 地址标识的确定方法和装置、存储介质、电子装置 |
CN110019617B (zh) * | 2017-12-05 | 2022-05-20 | 腾讯科技(深圳)有限公司 | 地址标识的确定方法和装置、存储介质、电子装置 |
WO2019184463A1 (zh) * | 2018-03-28 | 2019-10-03 | 北京三快在线科技有限公司 | 数据处理 |
CN108628943A (zh) * | 2018-03-28 | 2018-10-09 | 北京三快在线科技有限公司 | 一种数据处理方法、装置和电子设备 |
CN109508361A (zh) * | 2018-11-12 | 2019-03-22 | 百度在线网络技术(北京)有限公司 | 用于输出信息的方法和装置 |
CN109508361B (zh) * | 2018-11-12 | 2020-01-24 | 百度在线网络技术(北京)有限公司 | 用于输出信息的方法和装置 |
CN110347938A (zh) * | 2019-07-12 | 2019-10-18 | 深圳众赢维融科技有限公司 | 地理信息处理方法、装置、电子设备及介质 |
WO2021212827A1 (zh) * | 2020-04-24 | 2021-10-28 | 百度在线网络技术(北京)有限公司 | 检索地理位置的方法、装置、设备和计算机存储介质 |
US11836174B2 (en) | 2020-04-24 | 2023-12-05 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method and apparatus of establishing similarity model for retrieving geographic location |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103714092A (zh) | 一种地理位置的搜索方法和装置 | |
CN101313300B (zh) | 本地搜索 | |
CN104572645B (zh) | 兴趣点数据关联方法及装置 | |
CN108628811B (zh) | 地址文本的匹配方法和装置 | |
US7444343B2 (en) | Hybrid location and keyword index | |
JP4878178B2 (ja) | データ処理方法および装置並びにその処理プログラム | |
US20150356088A1 (en) | Tile-based geocoder | |
US8538973B1 (en) | Directions-based ranking of places returned by local search queries | |
CN103605752A (zh) | 一种基于语义识别的地址匹配方法 | |
CN103914498A (zh) | 一种地图搜索的搜索建议方法和装置 | |
CN102314452B (zh) | 一种通过输入法平台进行导航的方法及*** | |
CN101350013A (zh) | 一种地理信息的搜索方法和*** | |
CN102693266A (zh) | 搜索数据库的方法、生成索引结构的导航设备和方法 | |
CN104216895A (zh) | 一种生成poi数据的方法及装置 | |
CN106874384B (zh) | 一种异构地址标准转换及匹配方法 | |
AU2014228754C1 (en) | Non-deterministic disambiguation and matching of business locale data | |
CN102541936A (zh) | 兴趣点流行度获取方法和装置 | |
CN102193996B (zh) | 基于移动设备的可视Web对象搜索引擎方法 | |
CN103853769A (zh) | 一种地图查询请求处理方法及装置 | |
CN101236566A (zh) | 一种名称查询的方法及*** | |
CN101957860B (zh) | 一种发布、搜索信息的方法及装置 | |
CN111931077A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN103699623A (zh) | 地理编码实现方法和装置 | |
CN103020083B (zh) | 需求识别模板的自动挖掘方法、需求识别方法及对应装置 | |
CN113360789A (zh) | 兴趣点数据处理方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140409 |