本地搜索的制作方法

文档序号:6569457阅读:227来源:国知局
专利名称:本地搜索的制作方法
技术领域
在此所述的实现通常涉及信息检索,并且更具体地说,涉及识别 本地搜索结果。
背景技术
万维网("Web")包含大量信息。然而,对信息的所需部分进行 定位可能是有复杂的的。因为Web上的信息量和对Web搜索不熟练的 新用户量正在快速增长,所以使该问题复杂化。
搜索系统试图返回用户感兴趣的网页的超级链接。通常,搜索系 统以用户输入的搜索词语(称为搜索査询)作为确定用户兴趣的基础。 搜索系统的目标可以是基于搜索査询,为用户提供高质量的相关结果
(例如网页)的链接。典型地,搜索系统通过将搜索查询中的词语与 预存储网页的语料库匹配来实现。包含用户搜索词语的网页可以称为
"命中"或"搜索结果",并可以作为链接返回给用户。
本地搜索系统尝试返回特定地理区域内的相关网页和/或企业列 表。在一些国家,不能获得一些企业的详细地址信息。因此,执行本 地搜索可能很困难。

发明内容
根据一个方面, 一种方法可包括响应于本地搜索查询,而接收黄 页数据、第三方地图提供者数据和文档数据,并地理编码黄页数据、 第三方地图提供者数据和文档数据中的至少一个,以便分配地理标识 符并匹配本地搜索查询内的至少一个地址。该方法还可以包括索引经 地理编码的数据来识别对应于本地搜索査询的企业信息和位置信息,并且基于所识别的企业信息和位置信息,提供本地搜索结果和第三方 地图。
根据另一方面, 一种基于本地搜索查询的地理编码的方法包括接 收第三方地图提供者数据和黄页数据;基于本地搜索査询而生成地址; 解析地址;定位地址中的最长匹配前缀,以便识别地址的至少一部分; 并且定位地址中的组合来验证地址。
根据另一方面, 一种基于本地搜索查询而进行索引的方法包括将 黄页数据预处理成预定格式;从文档数据中提取企业信息;将企业信 息存储在库中;对来自第三方地图提供者数据的地址信息进行索引。 该方法还可包括聚类黄页数据和第三方地图提供者数据;高亮显示文 档数据中的片断。对于点位置,该方法可包括将用于本地搜索查询的 搜索距离设置为预定距离。对于对边界位置,该方法可进一步包括将 搜索距离设置成近似为从范围位置的中心到范围位置的边角的最大距 离。
根据另一方面, 一种方法可以包括生成与本地搜索查询有关的同 义词列表;重写本地搜索查询以扩展查询;基于所扩展的查询,生成 本地搜索结果;基于本地搜索结果,从第三方地图提供者获得地图; 以及基于与本地搜索结果有关的地理信息,生成广告。
根据另一方面, 一种系统可以包括索引器,以接收第三方地图提 供者数据、黄页数据和文档数据,预处理黄页数据来确定企业信息, 从文档数据中提取企业信息,识别本地搜索查询中的位置信息,以及 索引第三方地图提供者数据的地址数据。该系统还可包括地理编码器, 以从索引器接收信息,以及分配地理标识符;以及前端服务器,以从 地理编码器接收信息,重写本地搜索查询,从第三方地图提供者数据 获得地图,并且基于本地搜索查询,生成本地搜索结果。根据另一方面, 一种系统可以包括用于响应本地搜索查询,接收 黄页数据、第三方地图提供者数据和文档数据的装置;用于地理编码 黄页数据、第三方地图提供者数据和文档数据中的至少一个,以便分 配地理标识符和在本地搜索査询中匹配至少一个地址的装置。该系统 还可包括用于索引地理编码的数据以识别对应于本地搜索查询的企业 信息和位置信息的装置;以及用于基于所识别的企业信息和位置信息, 来提供本地搜索结果和第三方地图的装置。
根据另一方面, 一种系统可以包括存储器,以存储一组指令;以 及处理器,以执行存储器中的指令。处理器可以识别与本地搜索查询 有关的位置,识别与本地搜索查询有关并与所识别的位置有关的本地 搜索结果,识别用于本地搜索结果组中的每一个的标识符;以及从第 三方地图提供者接收与所识别的位置有关的地图,其中,地图识别出 本地搜索结果组中的至少一个本地搜索结果的位置。
根据又一方面, 一种方法可以包括接收本地搜索査询;识别与本 地搜索查询有关的位置;识别与本地搜索查询有关并与所识别的位置 有关的搜索结果集;以及识别用于搜索结果组的每一个的标识符。该 方法还可包括;将用于搜索结果组的每一个的标识符提供给第三方地 图提供者;以及从第三方地图提供者接收与所识别的位置有关的地图, 其中,地图识别出搜索结果组中的至少一个搜索结果的位置。
根据又一方面, 一种方法可以包括生成标记列表;识别网络文档 中的潜在地址;从开始来解析潜在地址以确定潜在地址是否包括与城 市有关的标记。该方法还可以包括进一步解析潜在地址以确定潜在地 址是否包括与地区有关的标记;识别潜在地址中在与城市有关的标记 或与地区有关的标记之后的最长匹配标记;以及基于与城市有关的标 记、与地区有关的标记以及与所识别的最长匹配标记,确定潜在地址 是否是实际地址。


包含入并构成本说明书一部分的附图示例说明了本发明的一个或 多个实施例,并且与描述相结合,解释了本发明的各方面。在图中 图1是在此所述的示例性实现的概述图2是可以实现在此所述的系统和方法的示例性网络的图; 图3是图2的示例性网络内的客户机或服务器的示例性图; 图4是用于识别本地搜索结果和提供与所识别的位置有关的地图
的示例性系统的功能框图5是图4的示例性系统的索弓l/文档库的示例性图6是图4的示例性系统的地理编码器的示例性图7是图4的示例性系统的索引器的示例性图8是图4的示例性系统的前端服务器的示例性图9是由图4的示例性系统生成的示例性本地搜索结果和地图的
图;以及
图10A-10D是用于识别本地搜索结果和提供与所识别的位置有关 的地图的示例性处理的流程图。
具体实施例方式
本发明的下述详细描述参考附图。不同图中的相同的参考数字可 以表示相同或类似的元件。同时,下述详细描述并不限制本发明。
在一些国家,如中国,例如,地图数据和黄页数据不能从单一提 供者获得,而必须从几个不同的提供者获得。由于输出限制,不可能 获得详细的地图数据来再现一区域的地图或获得该区域内的地址的实 际纬度和经度。因此,地址近似可以用于地址的地理编码。当将来自 本地搜索的结果发送给用户时,本地结果页可以包括相关结果的列表 和指向地图提供者服务器(第三方)的指针。地图提供者可以负责生 成显示给用户的地图。
概述在此所述的实现可以识别本地搜索结果并生成与所识别的位置有 关的地图。例如,在一个实现中,如图1所示,系统可以接收由用户 输入的本地搜索査询,并可以识别与本地搜索査询有关的位置。该系 统可以识别与本地搜索查询相关以及与所识别的位置相关的本地搜索 结果集(例如结果"A"至"H")。本地搜索结果可以包括指向与本地 搜索查询有关的文档的链接。系统可以识别用于本地搜索结果组的标 识符,并可以将标识符提供给地图提供者。系统可以从地图提供者接 收与所识别的位置有关的地图。该地图可以识别该本地搜索结果组中 的至少一个搜索结果(例如搜索结果"A",如图l所示)的位置。
在此所使用的术语"文档"被宽泛地解释成包括任何机器可读和 机器可存储制品。文档可以包括例如电子邮件、文件、文件组合、具 有指向其他文件的嵌入链接的一个或多个文件、新闻组公告、博客、
Web广告等等。在互联网的上下文中,通用文档是网页。网页通常包 括文本信息,并可以包括嵌入信息(诸如元信息、图像、超级链接等 等)和/或嵌入指令(诸如Javascript等等)。
在此所使用的术语"链接"被宽泛地解释为包括从其它文档或同 一文档的其它部分对该文档的任何访问,或者从该文档对其它文档或 该文档的其它部分的任何访问。
示例性网络结构
图2是网络200的示例性图,其中可以实现在此所述的系统和方 法。网络200可以包括经网络250,连接到多个服务器220-240的多个 客户机210。为了简化,两个客户机210和三个服务器220-240已经示 为连接到网络250。实际上,可能存在更多或更少的客户机和服务器。 同时,在一些实例中,客户机可以执行服务器的一个或多个功能,并 且/或者服务器可以执行客户机的一个或多个功能。
客户机210可以包括客户机实体。实体可以定义为设备,诸如个人计算机、无线电话、个人数字助理(PDA)、笔记本电脑或另一类型 的计算或通信设备;在这些设备的一个上运行的线程;和/或由这些设 备的一个所执行的对象。服务器220-240可以包括收集、处理、搜索和 /或维护文档的服务器实体。
在一种实现中,服务器220可以包括可由客户机210使用的本地 搜索系统225。服务器220可以爬行文档语料库、索引文档以及将与文 档有关的信息存储在文档库中。服务器220-240的任意组合可以实现本 地搜索系统225来识别本地搜索结果和提供与所识别的位置有关的地 图。
尽管服务器220-240示为单独的实体,但一个或多个服务器 220-240执行另外一个或多个服务器220-240的一个或多个功能也是可 能的。例如,可以将两个或多个服务器220-240实现为单一服务器。也 可以将单独一个服务器220-240实现为两个或多个(以及可以是分布 式)设备。
网络250可以包括局域网(LAN)、广域网(^VAN)、电话网,诸 如公用交换电话网(PSTN)或蜂窝网络、内联网、互联网或网络组合。 客户机210和服务器220-240可以通过有线、无线,和/或光连接,连 接到网络250。
示例性客户机/服务器体系结构
图3是对应于一个或多个客户机210和服务器220-240的客户机 或服务器实体(在下文中称为"客户机/服务器实体")的示例性图。客 户机/服务器实体可以包括总线310、处理器320、主存储器330、只读 存储器(ROM) 340、存储设备350、输入设备360、输出设备370和 通信接口 380。总线310可以包括允许在客户机/服务器实体的元件间 进行通信的通路。处理器320可以包括处理器、微处理器,或可以解释和执行指令 的处理逻辑。主存储器330可以包括随机存取存储器(RAM)或可存 储由处理器320执行的信息和指令的另一类型的动态存储设备。 ROM340可以包括ROM设备或可存储由处理器320使用的静态信息和 指令的另一类型的静态存储设备。存储设备350可以包括磁和/或光记 录介质及其相应的驱动器。
输入设备360可以包括允许操作员将信息输入到客户机/服务器实 体的机构,诸如键盘、鼠标、笔、语音识别和/或生物统计机构等等。 输出设备370可以包括将信息输出给操作员的机构,包括显示器、打 印机、扬声器等等。通信接口 380可以包括任何类似收发信机的机构, 该机构允许客户机/服务器实体与其他设备和/或系统进行通信。例如, 通信接口 380可以包括用于经由网络,诸如网络250,而与另一设备或 系统进行通信的机构。
客户机/服务器实体可以执行某些操作,如在下面更详细所述。客 户机/服务器实体可以响应处理器320执行包含在计算机可读介质,诸 如存储器330中的软件指令而执行这些操作。计算机可读介质可以定 义为物理或逻辑存储器设备和/或载波。
可以将软件指令从另一计算机可读介质,诸如数据存储设备350, 读入存储器330,或经通信接口 380从另一设备读入存储器330。包含 在存储器330中的软件指令可以使处理器320执行稍后所述的过程。 另外,硬连线电路可以用来替代软件指令,或与软件指令相结合以实 现这里所述的过程。因此,在此所述的实现并不限于硬件电路和软件 的任何特定组合。
示例性本地搜索系统
图4是用于识别本地搜索结果并提供与所识别的位置有关的地图 的示例性系统(例如本地搜索系统225)的功能框图。根据一种实现,可以通过服务器(例如服务器220)、服务器220的一部分,或服务器 组合(例如服务器220-240)来执行下文所述的系统225的一个或多个 功能。根据另一实现,可以通过与服务器220分开的实体,诸如客户 机(例如客户机210)、与服务器220相关联的计算机,或服务器230 或240的一个,来执行这些功能的一个或多个。
如图4所示,系统225可以包括地图提供数据400、黄页数据405、 Web文档数据410、索引/文档库415、地址和兴趣点(POI)标识(ID) 信息420、地址指纹(FP)和POIID映射信息425、地理编码器430、 索引器435、前端服务器440、地图统一资源定位器(URL)信息445 和本地搜索结果450。地图提供数据400、黄页数据405和Web文档数 据410可以被提供给索引器435,地图提供者数据400可以被进一步用 来导出地址/POI ID信息420和地址FP和POI ID映射信息425。索引 器435可以连接到索引/文档库415和地理编码器430,地址/POI ID信 息420可以被提供给地理编码器430。前端服务器440可以连接到地理 编码器430和索引/文档库415,并且可以接收地址FP和POI ID映射 信息425。前端服务器440可以生成地图URL信息445和本地搜索结 果450。系统225可以另外包括在图4中未示出的其他连接和/或部件 相互关系。
通常,地理编码器430可以接收地址/POI ID信息420和/或来自索 引器435的信息,可以将地理标识符(例如位置、坐标等等)分配给 对象,并且可以将输出提供给前端服务器440。索引器435可以接收地 图提供者数据440、黄页数据405和/或^Veb文档数据410,可以预处 理黄页数据405以确定企业信息,从Web文档数据410提取企业信息, 识别搜索查询中的位置信息,索引地图提供者数据400的地址数据, 并且将输出提供给索引/文档库415和/或地理编码器430。前端服务器 440可以接收地址FP和POI ID信息425,来自地理编码器430的信息, 和/或来自索引/文档库415的信息,可以重写搜索查询,并且可以生成 地图URL信息450、本地搜索结果450,和/或由广告(ads)服务器(未示出)使用的地理信息。 地图提供者数据
对中文地址信息,可以存在两种数据地图数据和黄页数据。地 图提供者数据400可以包括多种信息。例如,在一种实现中,第三方 地图提供者可以提供POI集(例如企业和感兴趣的其他位置,诸如博 物馆、公园、医院、学校等等),以及它们在中国城市中的地址。对每 一POI可以存在相关联的POIID信息。由于法律限制,地图提供者对 每一POI可以不提供纬度和经度信息。然而,他们可以将地图分成网
格(例如三百米乘以三百米的网格),并且可以对每一POI提供网格索
引和程序以计算网格间的距离。定期地(例如每日、每周、每月等等)
更新地图提供者数据400,以及在每一更新期间,可以改变POIID。
在另一实现中,地图提供者数据400可以包括下述信息(1)可 包含企业名称、地址、电话号码和网格索引的标准POI, (2)可包含街 道名和街道的中心的网格索引的道路POI,和/或(3)可包含邮政编码 和邮政编码的近似中心的网格索引的邮政编码POI。
在另一实现中,可能存在有关地图提供者数据400的问题。例如, 地图提供者数据400可以包含地址的一部分但可能丢失地址的另一部 分。例如,由于中国的限制(例如POI仅有20-30。/。可能具有街道号), 地图提供者数据400可能丢失街道号。因此,地图提供者数据400可 能仅包括POI的街道名或一些高级摘要。此外,或或者,对地图提供 者数据400的一些PO1,可能会丢失电话号码。此外,或或者,由地图 提供者数据400提供的地址可能格式不正确。
黄页数据
黄页数据405可以包括多种信息,并且可以从多个源(例如第三 方提供者)进行接收。例如,在一个实现中,黄页数据405可以包括 用于POI的地址(例如国家、市、省)和/或电话号码信息、企业名称、电子邮件地址、传真号、网站地址、CEO名字、企业说明、SIC式目 录、企业类型等等。在另一实现中,黄页数据405可以不包含任何纬 度和经度信息。因此,可以从地图提供者数据400和黄页数据405中 推导出有关POI的完整(或基本完整)的信息(例如地址、电话号码 和地图位置信息)。
Web文档数据
Web文档数据410可以包括多种信息。例如,在一个实现中,Web 文档数据410可以包括电子邮件、文件、文件组合、具有指向其他文 件的嵌入链接的一个或多个文件、新闻组公告、博客、Web广告、网 页(可以包括文本信息,并且可以包括嵌入信息(诸如元信息、图像、 超级链接等等)和/或嵌入指令(诸如Javascript等等))、企业信息(例 如地址、电话号码等等)等等。Web文档数据410也可以包括基于本 地搜索査询而定位的文档。
地址/POI ID信息
地址/POIID信息420可以包括多种信息。例如,在一个实现中, 地址/POI ID信息420可以包括从地图提供者数据400所提取的地址、 从地图提供者数据400所提取的POI ID等等。在另一实现中,地址POI ID信息420可以包括有关中文地址的下述信息由地图提供者数据400 提供的地址数据(例如POI的地址、街道中心);POI (例如学校、公 园、建筑物、医院等等)、邮政编码中心(即由邮政编码覆盖的区域的 中心);可能不包括在由地图提供者数据400所提供的列表中的另外的 城市等等。
地址FP和POI ID映射信息
地址FP和POI ID信息425可以包括多种信息。例如,在一种实 现中,地址FP/POIID信息425可以包括地址指纹(FP)和相应的POI ID之间的映射等等。地址FP和相应的POI ID之间的映射可以由前端 服务器440使用以为每一本地搜索结果查找POI ID,如在下文详细所述。在另一实现中,可以直接导出POIID,而不需要地址FP和对应的
POI ID之间的映射。在这种替代方案中,信息425可以包括直接导出 的POI ID。
尽管上面描述了包括在地图提供者数据400、黄页数据405、 Web 文档数据410、地址/POI ID信息420和地址FP/POI ID映射信息425 中的示例性信息,但在其他实现中,有关可以用来识别本地搜索结果 的地址的另外或不同的信息可以包括在示例性信息中。
图5-8是图4的系统225的一些部件的示例性图。
索引/文档库
可以在单独的存储设备(例如主存储器330、 ROM340和/或存储 设备350)中提供索引/文档库415。索引/文档库415,如图5所示,可 以存储与文档、黄页数据405和/或地图提供者数据400有关的多种信 息。例如,在一种实现中,索引/文档库415可以存储有关中文地址的 下述信息由地图提供者数据400提供的地址数据(例如POI的地址、 街道中心);POI (例如学校、公园、建筑物、医院等等)、邮政编码中 心(即由邮政编码覆盖的区域的中心);可能不包括在由地图提供者数 据400所提供的列表中的另外的城市等等。
在另一实现中,如图5所示,索引/文档库415可以包括[省]字 段500、[市]字段510、[区]字段520和[街道]字段530 (可以另 外包括或替换包括地址字段和/或POI名字段)。下述例子可以对应于在 索引/文档库415中存储的中文地址信息。[西城区][北礼土路] [北京市][海淀区][颐和园路5号] [北京市][海淀区][北京大学]以及 [江苏省][南京市][鼓楼区][汉中路]在另一实现中,索引/文档库415可以包括地址指纹(FP)字段540 和FP精确字段550。地理编码器430可将每一地址处理为带有地址FP 和FP精度(例如大厦可以具有比街道中心更高的FP精度)的点。地 址FP可以是基于地址而生成的指纹(例如可以基于地址而生成的散列 值),其中该地址可以用来查找POI ID以显示正确的地图。例如,FP 生成器570可以接收地址(例如[省]字段500、[市]字段510、[区] 字段520和[街道]字段530等等),并且可以基于地址,生成地址FP (例如[FP]字段540)和FP精度(例如[FP]精度字段550)。地址 FP和FP精度可以被POI ID查找表580使用来查找POI ID,以显示正 确的地图(例如带有本地搜索结果)。可以在地理编码器430、索引器 435或前端服务器440中提供FP生成器570和/或POI ID查找表580。在另一实现中,索引/文档库415可以包括与地址有关的[zcode] 字段560。相关的zcode可以包括类似邮政编码的编码,在中国的情况 下,可以由用于中国地区的6位行政编码来计算。位置,诸如江苏省、 北京市、北京市西城区,可以被地理编码器430计算为包含其内部所 有点位置的范围。也可以确定地址的变化并将其存储在索引/文档库415中以便增加 查全率。例如,可以识别用于省和市的单字符同义词(例如,上海市 ~>沪;河北省—冀)。此外,或或者,可以省略地址的一部分(例如上 海市—上海;海淀区—海淀;怀化中路—怀化路)。此外,或或者,对 著名地方,可以包括同义词(例如上海市庙—城隍庙;六榕寺—六榕 塔)。尽管图5表示了包括在索引/文档库415中的示例性信息,在其他 实现中,索引/文档库415可以包括可用来识别本地搜索结果的任何信地理编码器地理编码器430,如图6所示,可以执行多种任务以帮助识别本地搜索结果。在一个实现中,例如,地理编码器430可以将地理标识 符(例如位置、坐标等等)分配给对象。例如,地理编码器430可以 将地址与索引/文档库415中的地址进行匹配。地理编码器430的输出 可以用于多个目的。例如,可以解析黄页数据405来确定用于POI的 企业信息(例如地址、电话号码、电子邮件地址、传真号、工作时间 等等),可以从Web文档数据410提取企业信息,和/或可以识别搜索 查询中提供的位置信息。为索引黄页数据405,索引器435可能需要通过查看中国地址来 确定地图位置。这可能涉及多种问题。例如,不易于获得中国的大部 分地址的精确位置和详细地址信息。中文地址不具有良好定义的格式 和层次。中文地址的可能成分可以包括市、区、镇、村、路、街、街 道号和建筑物。黄页数据405可以是自由格式(即,不符合任何特定 形式或格式),特别是在乡村地区,以及对一些POI,没有相应的地址 成分可用。示例性的中文地址可以包括深圳市鹤岗镇安良村安良路172号精诚大厦深圳市龙华镇明智名和综合办公楼深圳市富鸿路世贸广场A座17楼,以及北京市海淀区四季青肖府地理编码器430可以将黄页数据405中的地址与在地图提供者数 据400中提供的地址进行最佳地匹配,并且尽可能获得最精确的地图 位置。地理编码器430可以包括地址列表生成器600、解析器610、最 长匹配前缀定位器620、组合定位器630、查询地理编码单元640等等。 地理编码器430的组件可以对每一地址(例如,深圳市鹤岗镇安良村 安良路172号精诚大厦)执行多个任务。地址列表生成器600可以接收地图提供者数据400和黄页数据 405,并且可以基于来自地图提供者数据400和/或黄页数据405的省、 市、区、街道名、地址、POI名或其组合,以生成地址列表(也称为标记)。对每一地址,解析器610可以尝试从地址的开始解析市。例如,可以由解析器610从地址解析出"深圳市"。解析器610也可以尝试由 地址解析区。例如,由于上述的示例性地址中缺少区,所以解析器610不能由该地址解析出区。地理编码器430的最长匹配前缀定位器620可以用来定位地址的 另外部分。例如,最长匹配前缀定位器620可以尝试从地址列表中定 位最长匹配前缀(例如标记)。如果在地址列表中不存在特定标记(例 如"鹤岗镇"不在地址列表中),这就可能失败。如果它存在于地址列 表中,则最长匹配前缀定位器620可以前进到词"镇"的末尾。如果 整个标记(例如"鹤岗镇安良村安良路")存在于地址列表中,则最长 匹配前缀定位器620可以将标记识别为良好匹配(例如可以将"鹤岗 镇"识别为良好匹配)。如果失败,最长匹配前缀定位器620可以再次 尝试从地址列表中定位最长匹配前缀(例如标记)。如果它存在的话(例 如"安良村"),那么最长匹配前缀定位器620可以前进到词"村"的 末尾。最长匹配前缀定位器620可以再次重复该过程来从地址列表中 定位最长匹配前缀(例如标记)。这时,最长匹配前缀定位器620可以 尝试匹配街道名(例如"路"或"街")。如果它们存在的话(例如"安 良路"),最长匹配前缀定位器620可以前进到词"路"或"街"的末 尾。如果它存在的话(例如"172号"),最长匹配前缀定位器620也可 以前进到词"号"的末尾。最后,最长匹配前缀定位器620可以尝试 从POI名中定位最长匹配前缀(例如标记)。这可以提供建筑物、学校、 公园等等(例如精诚大厦)的名称的匹配。组合定位器630可以定位特定组合,以便可以首先定位POI名, 然后,可以定位地址的各个级别,最后,可以定位区或市。这种定位 排列可以保证通过组合定位器630,可以获得最具体的地址。例如,组 合定位器630可以定位下述示例性组合市+区+POI名;市+区+由最长匹配前缀定位器620定位的地址(例如"路"或"街");
市+区+由最长匹配前缀定位器620定位的地址(例如"村"); 市+区+由最长匹配前缀定位器620定位的地址(例如"镇"); 市+区;和/或 市
当用户输入本地搜索査询时,可以将搜索査询的位置部分发送到 由地图提供者所有的地图服务器。如果位置查询包含中文、日文或韩 文(CJK)字符,地图服务器可以将其发送到查询地理编码单元640, 以进行地理编码。如果由用户输入的位置是含糊的(例如当来自地理 编码器的第一结果的分值小于第二结果的分值两倍时),查询地理编码 单元640可以向用户提供建议。例如,如果位置査询是"历史博物馆", 则查询地理编码单元640可以向用户提供下述建议"您想查找天津市 河东区历史博物馆,还是上海市浦东区上海历史博物馆?"。
查询地理编码单元640可以基于搜索结果位置中的多个点,来计 算搜索结果的分值。例如,如果长春市朝阳区得分低于北京市朝阳区, 那么当用户的查询位置是"朝阳区"时,可以显示北京市朝阳区。
尽管图6示出了由地理编码器430所执行的示例性任务,但在其 他实现中,地理编码器430也可以执行可用来识别本地搜索结果的另 外或不同的任务。此外,尽管图6示出了互连的地理编码器430的部 件,但在其他实现中,地理编码器430的部件也可以是单独的、不互 连的部件。
索引器
索引器435,如图7中所示,可以执行多种任务来帮助识别本地 搜索结果。在一个实现中,例如,索引器435可以预处理黄页数据405 以确定POI的企业信息(例如地址、电话号码、电子邮件地址、传真 号、工作时间等等),可以从Web文档数据410提取企业信息,和/或可以识别搜索査询中的位置信息。索引器435可以包括地图数据索引器700、黄页数据预处理器710、企业信息提取器720、距离矫平器 (distance flattener) 730、聚类器740、企业信息库750、片断高亮显示 器760等等。地图数据索引器700可以从包括地图位置信息的地图提供者数据 400中索引地址数据。地理编码器430可以再次尝试基于索引的地址数 据,对该地址进行地理编码,如果聚类位置不同于指定位置,则聚类 器740 (下文所述)可以设置聚类位置,但不可以将聚类位置设置为高 于预定的距离阈值(例如在三公里内)。这种安排可以用于改进聚类, 如在下方详细所述。黄页数据预处理器710可以从不同的提供者来接收黄页数据405, 并且可以将黄页数据405预处理为通用格式。在索引期间,这种格式 化的数据可以被提供给地理编码器430,地理编码器430可以尝试对该 地址进行地理编码。如果将该地址可被地址编码为大厦或街道级别, 那么该地址可以作为标准条目来索引。如果将该地址可被地理编码为 市或区级别,那么该地址可被作为带有近似位置的条目来索引。在评 分期间,可以将条目处理成就象离中心至少二十公里(即本质上降低 其分值)。如果不能对地址进行地理编码,那么可以将地址处理为不具 有位置的条目。在索引期间,如果不具有位置的条目可以与另一条目 (例如使用其电话号码)聚类,那么可以保留该条目。否则,可以删 除该条目。企业信息提取器720可以使用多种技术,从Web文档数据410提 取企业信息(例如地址和申请号码)。基于中文和日文的地址和电话号 码的不同格式,可以修改这些技术。例如,在第一技术中,企业信息提取器720可以包括分类器,其 可以分析具有地址的文档,以基于统计模型来确定与地址有关的企业信息。由分类器分析的文档可以包括具有地址的文档,其中该文档没 有对应的黄页数据405;以及/或者具有地址的文档,其中该文档的黄
页数据405可能不正确。由分类器执行的功能可以基于企业信息是对
应于企业名(名称)信息还是对应于电话号码信息而不同。当企业信 息包括除企业名或电话号码信息外的信息时,可以执行其他的功能。 可以通过分析地址附近的词语,以及确定每一词语是名称的一部分的 概率,来识别企业名(名称)。可以将置信度分配给所识别的每一候选 名称。
通过识别文档中的候选电话号码集,可以将电话号码与地址关联 起来。基于统计模型,给定关于先前候选电话号码的预测,并给定候 选电话号码周围的词语窗口 (例如査看左边和/或右边的预定的多个词 语),可以确定每一个候选电话号码与地址相关联的概率。基于所确定 的概率,可以将置信度分配给候选电话号码。可选地,可以确定对地 址最佳的电话号码。然后,可以将电话号码与地址相关联以形成或补 充企业列表。
在第二示例性技术中,企业信息提取器720可以包括位置提取器, 其可以作为搜索引擎的一部分。位置提取器可以接收搜索查询,并且 确定搜索查询是否包括地理参考。当搜索查询包括地理参考时,位置 提取器可以将地理参考与查询中的搜索词语分开,并将它们发送到本 地搜索引擎。当搜索査询不包括地理参考时,位置提取器可以将搜索 词语转发给Web搜索引擎,该Web搜索引擎可以包括能返回与搜索查 询有关的文档集的传统Web搜索引擎。本地搜索引擎可以包括专用的 搜索引擎,诸如企业列表搜索引擎。在操作中,本地搜索引擎可以从 位置提取器接收搜索查询的搜索词语和地理参考。本地搜索引擎可以 通过将搜索词语与文档语料库中的文档进行比较,来识别与搜索査询 相匹配的文档集(即包含搜索査询的该搜索词语集的文档),其中该文 档语料库与地理区域相关,该地理区域与该地理参考相关联。本地搜
索引擎可以对所识别的文档进行评分,基于它们的分值对它们进行排序,并且将它们输出为搜索结果的列表。位置提取器可以通过将变量i设置成1,并且对城市列表中的每个 城市(i)执行对城市名的搜索,来确定搜索查询中的含糊的地址(例 如城市)。可以将这一搜索的搜索结果的数量计数为市计数(countcity)。也可以对带有相应省的名称的城市名执行搜索。对这一搜索的搜索结果的数量计数为市/省计数(countcity/province)。然后,可以确定市/省计数(countcity/province)是否至少是市计 数(coimtcity)的X% (其中,X是大于零的数)。当市/省计数 (countcity/province)至少是市计数(countcity)的X。/o时,那么,i亥城市视为"明确"的城市。"明确的城市"可以指在搜索查询中,其名 字能够单独使用的城市,并且其将被理解为用户所意指的城市,而不 是其他的。当市/省计数(countcity/province)不是至少为市计数(countcity)的X。/。时,那么可以确定在列表上是否存在更多的城市。 如果在列表上存在更多城市,那么可以使变量i增加l,并且可以估计 城市列表中的下一城市。可以分析搜索结果的文档来识别它们所包含的任何邮政编码。使 用模式匹配技术,可以识别邮政编码,并且通过将它们与邮政编码的 列表进行比较来验证。然后,可以确定邮政编码是否对应于与城市(i) 相关的邮政编码。包含与城市(i)相关的邮政编码的文档的数量可以 计数为邮政计数(countpostal)。可以确定邮政计数(countpostal)是否 是市计数(co皿tcity)的至少X°/。(例如5%)。当邮政计数(countpostal) 是市计数(countcity)的至少X。/。吋,那么将该城市视为明确的城市。在第三示例性实施例中,企业信息提取器720可以识别地理相关 文档。如在此所使用的,地理相关文档一般指以一些方式,已经确定 与地理位置具有特殊关联的任何文档。企业列表(例如黄页列表)可 以被视为与由企业地址所限定的地理区域关联的地理相关文档。其他文档,诸如Web文档也可以具有特定的地理关联。例如,企业可以有 主页,可以是对企业进行注释或评论的文档的主题,或可以被以其他 一些方式而与企业相关联的网页所提及。可以以多种方式,诸如从邮 政地址或由其他地理信号,来确定相关联文档的特定地理位置。
与地理相关文档相关联的地理区域可以被映射到相应的位置标识 符。对该文档,可以确定另外的位置标识符。特别地,也可以确定与 预定范围内的周围地区相对应的位置标识符。可以索引每一地理相关 文档,就好象该文档包括与该文档的区域有关,并且与所识别的周围 区域有关的位置标识符。
尽管图7将企业信息提取器720表示为索引器435的一部分,在 其他实现中,企业信息提取器720可以与索引器435分开。为确保在 索引时,复合文档集是可用的,可以在企业信息库750中提供由企业 信息提取器720提取的信息。企业信息库750可以包括多种信息,例 如由企业信息提取器720从其中提取企业信息的文档。可以在索引器 435中提供企业信息库750以及所提取的企业信息。尽管图7将企业信 息库750表示为索引器435的一部分,但在其他实现中,企业信息库 750可以与索引器435分开。
距离矫平器730可以对本地搜索查询设置搜索半径或距离。例如, 在一种实现中,每一本地搜索查询可以由地理编码器430地理编码到 特定位置。每一位置可以是点位置(例如建筑物、著名旅游胜地、学 校、街道中心等等),或范围位置(例如区、市、省会等等)。对点位 置,距离矫平器730可以将搜索半径设置成预定距离(例如该点周围 约5公里)。对范围位置,距离矫平器730可以将搜索半径设置成近似 于从该位置的中心到边角的最大距离。可以升级与位置有关的邮政编 码集(即组成该位置的邮政编码集,zcodeset)的搜索结果的分值。用 这种方式,当用户搜索接近区名时,最佳结果可以在那一地区中。聚类器740可以将地图提供者数据400和黄页数据405聚类在一 起。大部分地图提供者数据400可以包括精确的位置信息,以便可以 精确地在地图上显示,但可能不包括详细的地址或电话号码信息(例 如,可能包括没有街道号的地址和/或可能缺少电话号码)。另一方面, 黄页数据405可以包括详细的地址和电话号码信息,但可以不包括精 确的位置信息。例如,地图提供者数据400可以包括来源(例如地图 提供者)、名称(例如"北京大学")、地址(例如"北京市海淀区颐和 园路"禾卩/或P01 ID (用于地图显示)(例如"A1234567")。然而,黄 页数据405可以包括来源(例如黄页数据提供者)、名称(例如"北京 大学")、地址(例如"北京市海淀区颐和园路5号")和/或电话号码(例 如"010-62752114)。如果这些条目由聚类器740聚类在一起,那么前 端服务器440就能为用户提供详细的地址和电话号码信息,以及地图 上的精确的位置。
从对来自黄页数据405的地址进行地理编码(例如通过地理编码 器430)而获得的位置可能是近似的,并且可能远离由地图提供者数据 400提供的精确位置。在这种情况下,来自两个提供者的同一企业可能 会位于大不相同的邻域中,由此不可能被聚类器740聚类在一起。对 此的解决方案可以包括将来自地图提供者数据400的地址地理编码(例 如通过地理编码器430)成聚类位置。聚类位置可以用于邻域生成,也 可用于由聚类器740聚类。然后,由地图提供者数据400提供的精确 位置可以用于地图显示。
片断高亮显示器760可以高亮显示文档(例如Web文档)中的片 断。通常可以通过文档中的词语偏移实现Web文档片断高亮显示。由 于CJK文档可以具有计数不同于其他语言的词语(例如代替将空格用 作定界符,可能需要将文本的长段落进行分割来获得词语),所以为了 高亮显示特定词语,可以分割整个文档以便获得相应的词语,而这将 是低效的。然而,片断高亮显示器760可以存储字节偏移量,而不是 词语偏移,以便在索引期间,识别Web文档中的地址或电话号码(或一些其他企业信息)。片断高亮显示器760可以使用字节偏移量来执行
高亮显示,并且不需要分割。尽管图7将片断高亮显示器760显示为 索引器435的一部分,在其他实现中,片断高亮显示器760可以与索 引器分开,并且/或者包括在另一部件(例如在前端服务器440)中。
尽管图7表示由索引器435执行的示例性任务,在其他实现中, 索引器435可以执行可用来识别本地搜索结果的另外或不同的任务。 此外,尽管图7将索引器435的部件显示为互连的,但在其他实现中, 索引器435的部件可以是分离的、非互连的部件。
前端服务器
前端服务器440,如图8所示,可以执行多种任务来帮助识别本 地搜索结果。在一种实现中,例如,前端服务器440可以包括査询重 写器800、本地搜索生成器810、地图生成器820、地理信息生成器830 等等。尽管图8表示了由前端服务器440执行的示例性任务,但在其 他实现中,前端服务器440可以执行可用来帮助识别本地搜索结果的 另外或不同的任务。
在一种实现中,查询重写器800可以执行多种任务。例如,由于 与英语数据相比,对于中文数据的Web文档聚类的数量要小的多,所 以可以使用名称或类别的匹配来返回有效结果。同时,在中文中,存 在称为相同词语的多个同义词。例如,词语"饭店"在中文中可以具 有几个通用同义词。另外,黄页数据400的不同提供者可以使用不同 的名称来表示相同的类别。为了对用户输入的搜索查询提供最大的查 全率,查询重写器800可以对每个种类生成一个同义词的列表。査询 重写器800也可以重写每一个本地搜索查询以将查询扩展到可由"QR" 运算符连接的一对搜索词语。
本地搜索生成器810可以生成本地搜索结果450。例如,基于由 本地搜索系统225获得和处理的地址信息,本地搜索生成器810可以生成对应于相关网页和/或特定地理区域内的企业列表的结果。本地搜 索结果450可以显示(例如对输入本地搜索查询的用户)在显示器(例
如输出设备370)上。
地图生成器820可以生成与本地搜索结果450有关的地图。例如, 为了对结果显示地图,地图生成器820可以在搜索结果页上构建ifraiae (即插入网页内的浮动框),并且可以向由地图提供者提供的URL执 行发送动作。发送中的参数可以对每一搜索结果的包含下述字段名 称;地址;电话号码;POI ID (用于显示地图上的点);以及精度。地 图生成器820可以将地理编码为建筑物级别的位置在地图上标记为精 确的。地图生成器820可以将地理编码为街道级别(或更高抽象级) 的位置在地图上标记为估计的。图9示例说明在基于本地搜索结果910 而生成的地图上,这两个精度级如何区分。例如,精确位置920可以 通过一个标记颜色(例如绿色)来识别,而估计位置930可以通过另 一标记颜色(例如红)来识别。尽管在图9中示出了两个精度级(精 确的和估计的),在与本发明的原理一致的其他实现中,也可以使用另 外的精度级。
在由索引器435索引期间,地址的指纹(例如地址FP540)可以 与其相关的精度(例如FP精度550)存储在一起。地址指纹和POIID (例如地址FP/POI ID映射信息425 )之间的映射可以由地图生成器820 使用以对每一搜索结果査找POI ID。地图生成器820可以使用POI ID 来为地图提供者识别地图(例如地图900)上的位置,以便地图提供者 可以在结果页内提供的地图上显示位置。
为显示用于中国的本地广告,地理信息生成器830可以以多种方 式向广告服务器840提供地理信息。例如,在一种实现中,每一省或 直辖市可以具有两位代码,该代码可以是由ISO-3166-2确定的地区代 码的第二部分。地理编码器430可以对每一地址索引该代码(例如 "CN-dd"),并且对每一成功进行地理编码的地址,将其传递到前端服务器440。地理信息生成器830可以将代码发送到广告服务器840,作 为地理区域代码。
在另一实现中,广告商可以寻求关键词对<关键词,位置>,来代 替使用地理定位,因为,对于Web搜索,地理定位在亚洲国家不如其 在美国一样行得通。对这些关键词对来说广告的总量可能更多。因此, 地理信息生成器830可以将关键词与由搜索查询输入的位置连接起来, 并且可以使用这些连接作为发送到广告服务器840的关键词。例如, 当用户搜索"北京"附近的"饭店"时,通过地理信息生成器830发 送到广告服务器840的关键词可以是"饭店北京"。对日本和中国都 可以提供这种安排。
在另一实现中,地理信息生成器830可以确定搜索查询是否包括 地理参考。如果搜索查询不包括地理参考,那么可以通过广告服务器 840呈现常规的广告。然而,可以确定用户位置的指示器,诸如用户的 IP地址,是否可用。当用户位置的指示器可用时,那么可以基于用户 的位置来呈现本地广告。
另一方面,如果搜索查询包括地理参考,那么地理信息生成器830 可以确定地理参考是否对应于单独的城市名(即,没有任何其他的地 理信息,诸如没有省信息)。如果搜索查询包括除单独城市名之外的地 理参考,那么可以提供本地广告。
如果搜索查询包括对应于单独城市名的地理参考,那么地理信息 生成器830可以确定城市是否对应于明确的城市。如果该城市不对应 于明确的城市,那么可以提供常规的广告。如果城市对应于明确城市, 那么地理信息生成器830可以确定带有查询的一个或多个其他搜索词 语的城市名是否出现在黑名单中。当明确的城市名与一个或多个词相 结合时,表示的是除它们各自城市之外的信息,则可以为这些明确城 市名维持一黑名单。如果带有査询的一个或多个其他搜索词语的城市名出现在黑名单中,那么可以提供常规广告。如果带有査询的一个或 多个其他搜索词语的城市名未出现在黑名单中,那么可以基于该查询 的地理参考,来呈现本地广告。
如果要呈现本地("有目标的")广告,可以由地理信息生成器830 使用有关用户位置的信息(例如用户IP地址)来确定那一位置是否处 于对应于地理参考的位置的预定距离内。如果用户的位置在预定距离 内,那么可以呈现本地广告。然而,如果用户位置在预定距离外,那 么可以提供常规广告。
前端服务器440 (或前端服务器440的部件)可以执行专用于中 国的一些任务。例如,前端服务器440可以隐藏行驶方向,提供显示 单位(公里、英里),该单位可以基于各国家的情况,当用户在中国时, 执行对敏感关键词的过滤,提供中文地址和电话号码的特定格式化, 以便显示,在地图的顶端显示经地理编码的位置,和/或将距离四舍五 入到0.5公里,而不是0.1公里,以及移除方向。
示例性过程
图10A-10D是用于识别本地搜索结果和提供与所识别的位置有关 的地图的示例性过程的流程图。
示例性本地搜索结果和地图生成过程
如图IOA所示,用于识别本地搜索结果和提供与所识别的位置有 关的地图的过程1000可以从接收黄页、地图提供者和文档数据开始(块 1005)。例如,在结合图4所述的一种实现中,地图提供者数据400、 黄页数据405和Web文档数据410可以提供给索引器435,并且地图 提供者数据400可以进一步被用来导出地址/POI ID信息420和地址 FP/POI ID映射信息425。
过程1000可以在数据上执行地理编码(块IOIO)。例如,在上文结合图6的一种实现中,地理编码器430的地址列表生成器600可以 接收地图提供者数据400和黄页数据405,并且可以基于来自地图提供 者数据400和/或黄页数据405的省、市、区、街道名、地址、POI名, 或其组合,来生成地址列表。地理编码器430的解析器610可以尝试 从每一地址的开始解析市和/或区。可以使用地理编码器430的最长匹 配前缀定位器620来定位每一地址的另外的部分。地理编码器的组合 定位器630可以定位特定组合以便可以首先定位POI名,然后可以定 位地址的各个级别,并且最终,可以定位区或市。地理编码器430的 査询地理编码单元640可以基于搜索结果位置中的多个点,计算搜索 结果的分值。
如图10A中进一步所示,过程1000可以在数据上执行索引(块 1015)。例如,在上文结合图7的一种实现中,索引器435的地图数据 索引器700可以从可包括地图位置信息的地图提供者数据400中索引 地址数据。索引器435的黄页数据预处理器710可以从不同的提供者 接收黄页数据405,并且将黄页数据405预处理成通用格式。索引器 435的企业信息提取器720可以使用多种技术,从Web文档数据410 中提取企业信息(例如地址和电话号码)。可以基于中国和日本的地址 和电话号码的不同格式,来修改这些技术。可以在企业信息库750中 提供所提取的企业信息。索引器435的距离矫平器730可以设置用于 本地搜索查询的搜索半径。索引器435的聚类器740可以将地图提供 者数据400和黄页数据405聚类在一起。索引器435的片断高亮显示 器760可以高亮显示文档(例如Web文档)中的片断。
过程1000可以生成本地搜索结果,并可以提供地图URL (块 1020)。例如,在上文结合图8所述的一种实现中,前端服务器440的 本地搜索生成器810可以生成本地搜索结果450 (例如,基于由本地搜 索系统225获得和处理的地址信息,相关网页和/或特定地理区内的企 业列表)。前端服务器440的地图生成器820可以生成与本地搜索结果 450有关的地图。例如,为了对结果显示地图,地图生成器820可以在搜索结果页上构建iframe (即,插入网页内的浮动框),并且可以对由 地图提供者提供的URL执行粘贴动作。
示例性地理编码过程
过程1000的过程块1010 (图10A)可以包括图IOB中所示的块。 因此,过程块1010可以生成地址列表(块1025)。例如,在结合图6 所述的一种实现中,地理编码器430的地址列表生成器600可以接收 地图提供者数据400和黄页数据405,并且可以基于来自地图提供者数 据400和/或黄页数据405的省、市、区、街道名、地址、POI名或其 组合,来生成地址列表(标记)。过程块1010可以解析地址列表中的 每一地址(块1030)。例如,在上文结合图6所述的一种实现中,对每 一地址,地理编码器430的解析器610可以尝试从该地址中解析市和 区。
如在图10B中进一步所示,过程块1010可以从地址列表中的每一 地址,定位最长匹配前缀(块1035)。例如,在上文结合图6所述的一 种实现中,地理编码器430的最长匹配前缀定位器620可以用来定位 地址的另外的部分(例如镇、村、路或街、号码、POI名等等)。如果 最长匹配前缀不位于地址中(块1040-否),那么过程块1010可以继续 定位地址的另外的部分(块1035)。
如果最长匹配前缀位于该地址中(块1040-是),那么过程块1010 可以定位每一地址中的组合(块1045)。例如,在上文结合图6所述的 一种实现中,地理编码器430的组合定位器630可以定位特定组合, 以便首先定位POI名,然后定位地址的各个级别,并且最后,可以定 位区或市。这种定位安排可以保证或验证通过组合定位器630可以获 得最具体的可能地址。
示例性索引过程
过程1000的过程块1015 (图10A)可以包括图10C中所示的块。因此,过程块1015可以预处理黄页数据(块1050)。例如,在上述结 合图7所述的一种实现中,索引器435的黄页数据预处理器710可以 从不同的提供者接收黄页数据405,并且可以将黄页数据405预处理成 通用(或预定)格式。在索引期间,可以将该格式化数据提供给地理 编码器430,并且地理编码器430可以尝试对该地址进行地理编码。如 果将该地址地理编码为建筑物或街道级别,那么可以将该地址作为标 准条目而索引。如果将该地址地理编码为市或区级别,那么可以将该 地址作为带有近似位置的条目而索引。过程块1015可以从文档提取企业信息(块1055)并且可以存储 企业信息(块1060)。例如,在上文结合图7所述的一种实现中,索引 器435的企业信息提取器720可以使用多种技术,从Web文档数据410 提取企业信息(例如地址和电话号码)。这些技术可以基于中国和曰本 的地址和电话号码的不同格式而改变。在上文结合图7所述的另一种 实现中,可以在企业信息库750中提供所提取的企业信息。企业信息 库750可以包括多种信息,例如通过企业信息提取器720从其中提取 企业信息的文档。过程块1015可以索引从地图提供者接收的地址数据(块1065)。 例如,在上文结合图7所述的一种实现中,索引器435的地图数据索 引器700可以索引来自地图提供者数据400的地址数据,该地图提供 者数据400可以包括地图位置信息。地理编码器430可以尝试再次基 于所索引的地址数据来地理编码该地址,并且如果聚类位置不同于指 定位置,聚类器740可以设置聚类位置,但不可以将聚类位置设置成 大于预定距离阈值(例如,在三公里内)。如在图10C中进一步所示,过程块1015可以聚类黄页数据和地图 提供者数据(块1070)。例如,在上文结合图7所述的一种实现中,索 引器435的聚类器740可以将地图提供者数据400和黄页数据405聚 类在一起,如果由聚类器740将这些条目聚类在一起,那么前端服务器440就能为用户提供详细的地址和电话号码信息,以及地图上的精 确的位置。
过程块1015可以高亮显示在文档中提供的片断(块1075)。例如, 在上文结合图7所述的一种实现中,索引器435的片断高亮显示器760 可以高亮显示文档(例如Web文档)中的片断。片断高亮显示器760 可以存储字节偏移量,而不是词语偏移,以便在索引期间,识别Web 文档中的地址或电话号码(或一些其他的企业信息)。片断高亮显示器 760可以使用字节偏移量来执行高亮显示以及不需要分割。
如在图10C中进一步所示,过程块1015可以设置搜索距离(块 1080)。例如,在上文结合图7所述的一种实现中,索引器435的距离 矫平器730可以对由地理编码器430进行地理编码的本地搜索查询而 将搜索半径设置到特定位置。每一位置可以是点位置(例如建筑物、 著名旅游胜地、学校、街道中心等等)或范围位置(例如区、市、省 等等)。对于点位置,距离矫平器730可以将搜索半径设置到预定距离 (例如该点周围约5公里)。对于范围位置,距离矫平器730可以将搜 索半径设置到近似为从该位置的中心到边角的最大距离。
示例性前端服务器过程
过程1000的过程块1020 (图10A)可以包括图IOD所示的块。 因此,过程块1020可以重写搜索查询(块1085)。例如,在上文结合 图8所述的一种实现中,在中文中可以存在意指相同词语的多个同义 词。另外,黄页数据400 (405 )的不同提供者可以使用不同的名称 来表示相同的种类。为对由用户输入的搜索査询提供最大的查全率, 前端服务器440的查询重写器800可以对每一种类生成同义词的列表。 查询重写器800也可以重写每一本地搜索查询,该本地搜索可以将查 询扩展到可由"或(OR)"操作符连接的一对搜索词语。
###
过程块1020可以基于搜索查询,生成本地搜索结果,并且可以生成显示搜索结果的位置的地图(块1090)。例如,在上文结合图8所述
的一种实现中,前端服务器440的本地搜索生成器810可以生成本地 搜索结果(例如,基于由本地搜索系统225获得和处理的地址信息, 相关的网页和/或特定地理区内的企业列表)。在上文结合图8所述的另 一种实现中,前端服务器440的地图生成器820可以生成与本地搜索 结果450有关的地图。例如,为了对结果显示地图,地图生成器820 可以在搜索结果页上构建iframe (即插入网页内的浮动框),并且可以 对由地图提供者提供的URL执行粘贴动作。可以由地图生成器820使 用POI ID来为地图提供者识别地图(例如地图900)上的位置,以便 地图提供者可以在结果页内提供的地图上显示位置。
如在图IOD中进一步所示,过程块1020可以为广告服务器生成地 理信息(块1095)。例如,在上文结合图8所述的一种实现中,为显示 用于中国的本地广告,前端服务器440的地理信息生成器830可以向 广告服务器840提供地理信息。例如,地理信息生成器830可以将地 区代码作为地理区域代码发送到广告服务器840。在另一例子中,地理 信息生成器830可以将关键词与由用户输入搜索査询所输入的位置连 接起来,并且可以将这些连接用作发送到广告服务器840的关键词。
结论
在此所述的实现方案可以提供用于识别本地搜索结果并生成与所 识别的位置有关的地图的系统和方法。该系统可以接收由用户输入的 本地搜索查询,并且可以识别与本地搜索查询有关的位置。该系统可 以识别本地搜索结果集,该本地搜索结果集可以与本地搜索查询有关, 并且可以与所识别的位置有关。本地搜索结果可以包括指向与本地搜 索查询有关的文档的链接。系统可以识别用于本地搜索结果组的标识 符,并且可以将标识符提供给地图提供者。该系统可以从地图提供者 接收与所识别的位置有关的地图。该地图可以识别该本地搜索结果组 中的至少一个搜索结果的位置。所述的实现提供了一个或多个下述优点。例如,可以利用来自几 个不同的提供者的地图数据和黄页数据,以便识别本地搜索结果并生 成与所识别的位置有关的地图。可以方便地显示带有该本地搜索结果 的该地图。这种安排避免了生成本地搜索结果以及指向第三方地图提 供者服务器的指针。在另一例子中,地图可以基于黄页数据提供详细的地图数据。这 使得在一些国家中,生成包括详细地图数据的地图成为可能,在这些 国家中,出口限制可能会限制用于地图的详细地图数据的可用性,或 可能限制该区域内的地址的实际纬度和经度的可用性。上述对本发明实施例的描述提供了示例和描述,但并非意欲穷举 或将本发明限制到所公开的具体形式。根据上述教导,或从本发明的 实践中可以获得改进和变形。例如,尽管参考图10A-10D描述了一系 列动作,但在与本发明的原理一致的其他实现中,可以改变动作的顺序。另外,可以并行地执行非相关的动作。在一种实现中,服务器220 可以执行关于图10A-I0D的处理所述的大部分动作,如果不是全部的 话。在另一实现中,可以由另一实体,诸如另一服务器230和/或240, 或客户机210来执行一个或多个动作,或全部动作。在另一实现中,可以利用另外的方案来对不是由地图提供者提供 的地址进行地理编码。在另一替代方案中,地理编码器430可以尝试 对将要进行地理编码的地址来定位最接近点。例如,假定地图提供者 识别出点"1 ABC街"和"10 ABC街"。当试图对地址"3 ABC街" 地理编码时,地理编码器430可以返回"1ABC街"的位置,其是"3 ABC街"的最接近点。在另一替代方案中,地理编码器430可以尝试 内插点。例如,如果"1ABC街"处于网格索引(0, 0),并且"10ABC 街"处于网格索引(10, 20),那么基于内插,地理编码器430可以确 定"3ABC街"的地址处于网格索引(3, 6)。在另一例子中,可以利用替代方案以获得POIID来绘制地图。在 一个替代方案中,POI ID可以与来自地图提供者的位置数据存储在一
起。在服务时间期间,可以由前端服务器440返回POIID。 POIID可 以在地图提供者数据的不同版本中发生改变。将POI ID存储在索引中 使得索引依赖于来自地图提供者的数据。在另一替代方案中,在服务 时间期间,可以对搜索结果的地址进行地理编码,并且可以请求地理 编码器430提供最接近的匹配点。地理编码器430可以返回这些点的 POI ID。可以将对最接近匹配点的请求作为成批的地理编码请求来发送 (例如IO个一批),因此性能影响可以是小的。
在另一例子中,尽管是按照中国本地搜索来描述了系统和方法, 但在其他实现中,在此所述的一些技术同样可以应用于在其他国家中 的本地搜索。
对本领域的普通技术人员而言很显然的是,本发明的各方面,如 上所述,可以用附图所示的实施方式中很多不同形式的软件、固件、 和硬件来实施。用于实施与本发明原理一致的各方面的实际软件代码 或专用控制硬件并非是对本发明的限定。因此,并没有参照特定的软 件代码来描述这些方面的操作和过程——应当理解,本领域的普通技 术人员根据这里的描述,应能够设计出软件和控制硬件来实施这些方 面。
在本申请文件中使用的要素、动作或指令不应当解释为是本发明 所必要或必须的,除非明确说明是这样。并且,如此处所使用的,不 加数量限制的项旨在包括一个或者多个项。在仅仅指一个项的地方, 使用了词语"一个"或者类似表述。另外,短语"基于"意指"至少 部分的基于",除非明确声明是其它意思。
权利要求
1. 一种方法,包括响应于本地搜索査询,接收黄页数据、第三方地图提供者数据和 文档数据;对所述黄页数据、所述第三方地图提供者数据和所述文档数据中 的至少一个进行地理编码,以便将地理标识符分配至所述本地搜索査询内的至少一个地址,并匹配所述本地搜索查询内的至少一个地址; 索引所述经地理编码的数据以识别对应于所述本地搜索查询的企业信息和位置信息;以及基于所识别的企业信息和位置信息,提供本地搜索结果和第三方地图。
2. 如权利要求l所述的方法,其中,所述黄页数据包括用于兴趣 点(POI)的地址信息、用于POI的电话号码信息、企业名称、电子邮 件地址、传真号、网站地址、CEO姓名、企业描述、SIC式种类或企 业类型中的至少一个。
3. 如权利要求l所述的方法,其中,所述第三方地图提供者数据 包括兴趣点(POI)和所述POI的地址。
4. 如权利要求3所述的方法,其中,所述第三方地图提供者数据 进一步包括用于所述POI的网格。
5. 如权利要求l所述的方法,其中,所述第三方地图提供者数据 包括下述中的至少一个包括企业名称、地址、电话号码和网格索引的标准兴趣点(POI), 包括街道名和所述街道的中心的网格索引的道路POI,或包括邮政编码和所述邮政编码的近似中心的网格索引的邮政编码POI。
6. 如权利要求l所述的方法,其中,所述地理编码包括 基于所述本地搜索查询,生成地址列表; 解析所述地址列表中的每一个地址;定位每一个地址中的最长匹配前缀,以便识别每一地址的部分;以及定位每一地址中的组合以验证每一地址。
7. 如权利要求l所述的方法,其中,所述索引包括 将所述黄页数据预处理成预定格式; 从所述文档数据提取所述企业信息;对来自所述第三方地图提供者数据的地址信息进行索引;以及 将所述黄页数据和所述第三方地图提供者数据进行聚类。
8. 如权利要求7所述的方法,其中,所述索引进一步包括 将所述企业信息存储在库中; 高亮显示所述文档数据中的片断;以及 设置用于所述本地搜索查询的搜索距离。
9. 如权利要求l所述的方法,其中,所述提供包括-生成与所述本地搜索査询相关的同义词列表; 重写所述本地搜索查询以扩展所述査询;基于所扩展的查询,生成所述本地搜索结果; 基于所述本地搜索结果,获得所述第三方地图;以及 基于与所述本地搜索结果相关的地理信息,生成广告。
10. 如权利要求1所述的方法,其中,从所述第三方地图提供者 数据和所述黄页数据确定所述位置信息。
11. 一种基于本地搜索査询的地理编码的方法,包括接收第三方地图提供者数据和黄页数据; 基于所述本地搜索查询,生成地址; 解析所述地址;定位所述地址中的最长匹配前缀,以便识别所述地址的至少一部 分;以及定位所述地址中的组合以验证所述地址。
12. 如权利要求ll所述的方法,进一步包括基于包括在所述第三方地图提供者数据或所述黄页数据中的信 息,生成所述地址。
13. 如权利要求11所述的方法,进一步包括 从所述地址解析市和区。
14. 如权利要求11所述的方法,其中,所述地址的部分包括镇、 村、路、街、号、或兴趣点名称中的至少一个。
15. 如权利要求11所述的方法,进一步包括定位所述地址中的所述组合,以便首先定位兴趣点的名称,其次 定位所述地址的其他部分,再次定位区或市。
16. 如权利要求11所述的方法,进一步包括如果所述地址包括建筑物或街道部分,将所述地址索引为精确位置。
17. 如权利要求ll所述的方法,进一步包括如果所述地址包括市部分或区部分,将所述地址索引到近似位置。
18. —种基于本地搜索查询索引的方法,包括 将黄页数据预处理成预定格式;从文档数据提取企业信息; 将所述企业信息存储在库中;对来自第三方地图提供者数据的地址信息进行索引;对所述黄页数据和所述第三方地图提供者数据进行聚类-,高亮显示所述文档数据中的片断;对于点位置,将用于所述本地搜索查询的搜索距离设置为预定距 离;以及对于范围位置,将所述搜索距离设置成近似于从所述范围位置的 中心到所述范围位置的边角的最大距离。
19. 如权利要求18所述的方法,进一步包括 将所述黄页数据预处理成预定格式。
20. 如权利要求18所述的方法,其中,所述企业信息包括企业地 址或企业电话号码中的至少一个。
21. 如权利要求20所述的方法,进一步包括 基于所述企业地址或所述企业电话号码的格式差别,修改对所述企业信息的提取。
22. 如权利要求18所述的方法,进一步包括 将与所述企业信息有关的文档存储在所述库中。
23. 如权利要求18所述的方法,进一步包括基于所索引的地址信息,对地址进行地理编码;以及 如果新集群位置不同于以前的集群位置,则基于经地理编码的地址,确定新的集群位置。
24. 如权利要求18所述的方法,进一步包括 基于所存储的字节偏移量,高亮显示所述文档数据中的片断,以识别所述文档数据中的企业信息。
25. —种方法,包括-生成与本地搜索查询相关的同义词列表; 重写所述本地搜索查询以扩展所述查询; 基于所扩展的查询,生成本地搜索结果;基于所述本地搜索结果,从第三方地图提供者获得地图;以及 基于与所述本地搜索结果相关的地理信息,生成广告。
26. 如权利要求25所述的方法,进一步包括通过用"OR"操作符将搜索词语结合,来重写所述本地搜索查询。
27. 如权利要求25所述的方法,其中所述获得所述地图包括构建带有所述本地搜索结果的地图框架; 向由所述第三方地图提供者提供的URL执行发送动作;以及识别所述地图上的位置以便使所述第三方地图提供者能够在所述 地图上显示所述位置。
28. 如权利要求25所述的方法,进一步包括 基于与所述本地搜索结果相关的地区代码,生成所述广告。
29. 如权利要求25所述的方法,进一步包括 将关键词和与所述本地搜索结果相关的位置连接起来;以及 基于所连接的关键词,生成所述广告。
30. —种系统,包括索引器,接收第三方地图提供者数据、黄页数据和文档数据,预 处理所述黄页数据以确定企业信息,从所述文档数据提取企业信息, 识别本地搜索查询中的位置信息,以及对所述第三方地图提供者数据 的地址数据进行索引;地理编码器,从所述索引器接收信息,并且分配地理标识符;以及前端服务器,从所述地理编码器接收信息,重写所述本地搜索査 询,从所述第三方地图提供者数据获得地图,并且基于所述本地搜索 查询,生成本地搜索结果。
31. 如权利要求30所述的系统,进一步包括索弓l/文档库,存储由所述第三方地图提供者数据提供的地址数 据、兴趣点信息、邮政编码中心,或没有包括在所述第三方地图提供 者数据中的城市中的至少一个。
32. 如权利要求30所述的系统,其中,所述索引器将所述黄页数 据预处理成预定格式。
33. 如权利要求30所述的系统,其中,所述索引器设置用于所述 本地搜索査询的搜索距离。
34. 如权利要求30所述的系统,其中,所述索引器将所述第三方 地图提供者数据和所述黄页数据进行聚类。
35. 如权利要求30所述的系统,其中,所述索引器高亮显示所述 文档数据中的片断。
36. 如权利要求30所述的系统,其中,所述地理编码器接收所述 第三方地图提供者数据和所述黄页数据,并且从所述第三方地图提供 者数据和所述黄页数据生成地址列表。
37. 如权利要求30所述的系统,其中,所述地理编码器定位地址 的部分。
38. 如权利要求37所述的系统,其中,所述地理编码器定位所述地址内的组合。
39. 如权利要求30所述的系统,其中,所述地理编码器基于搜索 结果位置中的多个点,来计算每一本地搜索结果的分值。
40. 如权利要求30所述的系统,其中,所述前端服务器生成与所 述本地搜索查询相关的同义词的列表。
41. 如权利要求30所述的系统,其中,所述前端服务器对至少一 个本地搜索结果,生成所述地图上的估计位置和精确位置。
42. 如权利要求30所述的系统,其中,所述前端服务器基于与所 述本地搜索结果相关的地理信息,生成广告。
43. —种系统,包括用于响应于本地搜索查询而接收黄页数据、第三方地图提供者数 据和文档数据的装置;用于对所述黄页数据、第三方地图提供者数据和文档数据中的至 少一个进行地理编码,以便将地理标识符分配至所述本地搜索査询内 的至少一个地址,并匹配所述本地搜索查询内的至少一个地址的装置;用于索引所述经地理编码的数据以识别对应于所述本地搜索査询 的企业信息和位置信息的装置;以及用于基于所识别的企业信息和位置信息,提供本地搜索结果和第 三方地图的装置。
44. 一种系统,包括 存储器,存储多个指令;以及 处理器,执行所述存储器中的指令以识别与本地搜索查询相关联的位置,识别与所述本地搜索查询有关并与所识别的位置相关联的本 地搜索结果,识别用于所述本地搜索结果的组中的每一个本地搜索结果的 标识符;以及从第三方地图提供者接收与所识别的位置相关联的地图,其 中,所述地图识别出所述本地搜索结果组中的至少一个本地搜索 结果的位置。
45. —种方法,包括 接收本地搜索查询;识别与所述本地搜索查询相关联的位置;识别与所述本地搜索查询有关并与所识别的位置相关联的搜索结果集;识别用于所述搜索结果的组中的每一个搜索结果的标识符; 将用于所述搜索结果组中的每一个本地搜索结果的标识符提供给第三方地图提供者;以及从所述第三方地图提供者接收与所识别的位置相关联的地图,其中,所述地图识别出所述搜索结果组中的至少一个搜索结果的位置。
46. —种方法,包括 生成标记列表; 识别网络文档中的潜在地址;从开始解析所述潜在地址以确定所述潜在地址是否包括与市相关 联的标记;进一步解析所述潜在地址以确定所述潜在地址是否包括与区相关 联的标记;在所述潜在地址中识别在与所述市相关联的标记或与所述区相关 联的标记之后的最长匹配标记;以及基于与所述市相关联的标记、与所述区相关联的标记以及与所识 别的最长匹配标记,来确定所述潜在地址是否是实际地址。
全文摘要
系统响应于本地搜索查询,而接收黄页数据、地图提供者数据和文档数据,并对该数据进行地理编码以分配地理标识符并匹配与本地搜索查询有关的至少一个地址。该系统还索引该地理编码数据以确定与本地搜索查询有关的企业信息和位置信息。该系统进一步基于索引数据,提供本地搜索结果和地图。
文档编号G06Q30/00GK101313300SQ200680040129
公开日2008年11月26日 申请日期2006年8月30日 优先权日2005年8月30日
发明者昆.星.鲁克, 朱弘俊, 朱辉灿 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1