首页> 中国专利> 用于在数据库中搜索对象的方法

用于在数据库中搜索对象的方法

摘要

本发明提供了一种用于借助于索引数据结构(200)在数据库中搜索对象的方法,所述索引数据结构(200)将对象属性值与被定义来分割空间的空间元素(51)的集合(205,206)相关联,所述空间元素(51)例如是四叉树的瓦片或八叉树的立方体,在此,预定义数量的空间元素(51)能够组合为下一级空间元素(52),所述方法包括:对于第一输入搜索模式搜索所述索引数据结构(200),并且如果所述第一输入搜索模式通过所述索引数据结构(200)与空间元素(51)的第一集合(205,206)相关联,则将来自所述第一集合(205,206)的所有空间元素(51)包括到空间元素(51)的第一候选集(102a,102b)中,其中,如果在所述第一候选集(102a,102b)中的空间元素(51)的数量超过预定的最大值,则所述空间元素(51)的一些或全部被组合为数量减少的下一级空间元素(52);对于第二输入搜索模式搜索所述索引数据结构(200),并且如果所述第二输入搜索模式通过所述索引数据结构(200)与空间元素(51)的第二集合(205,206)相关联,则将来自所述第二集合(205,206)的所有空间元素(51)包括到空间元素(51)的第二候选集(102a,102b)中,其中,如果在所述第二候选集(102a,102b)中的空间元素(51)的数量超过预定的最大值,则所述空间元素(51)的一些或全部被组合为数量减少的下一级空间元素(52);从所述第一候选集和所述第二候选集(102a,102b)形成空间元素(51,52)的组合候选集(104a);并且,在空间元素(51,52)的所述组合候选集(104a)中搜索与所述第一输入搜索模式和所述输入第二搜索模式匹配的对象以获得结果对象集。因此,提供了允许在移动导航装置的地图数据内的对于对象的自由文本搜索的方法。

著录项

  • 公开/公告号CN102395965A

    专利类型发明专利

  • 公开/公告日2012-03-28

    原文格式PDF

  • 申请/专利权人 弗兰霍菲尔运输应用研究公司;

    申请/专利号CN201080016701.4

  • 申请日2010-04-19

  • 分类号G06F17/30(20060101);G01C21/00(20060101);H04M19/00(20060101);

  • 代理机构11227 北京集佳知识产权代理有限公司;

  • 代理人康建峰;李春晖

  • 地址 德国慕尼黑

  • 入库时间 2023-12-18 04:42:57

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-06-09

    未缴年费专利权终止 IPC(主分类):G06F17/30 授权公告日:20150715 终止日期:20160419 申请日:20100419

    专利权的终止

  • 2015-07-15

    授权

    授权

  • 2012-05-09

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20100419

    实质审查的生效

  • 2012-03-28

    公开

    公开

说明书

技术领域

本发明涉及用于在数据库中搜索对象的方法。

本发明具体涉及在移动(导航)装置上的地图搜索。基于GPS的移动 导航系统现今被良好地建立,具体地说作为所谓的个人导航装置(PND) 或越来越多地作为在移动电话(特别是智能电话)上的软件导航应用,基 于GPS的移动导航系统在下文中整体被称为导航装置。

背景技术

虽然在智能电话市场内的联网导航解决方案越来越多地发挥作用(所 谓的连接的导航;例如,用于基于因特网的地图服务的移动客户机),但 是大多数导航解决方案被设计来以它们不要求(永久或频繁的)网络连接 的自给自足的方式来工作(所谓的离线导航)。这是有益的,一方面因为 网络连接的高成本,另一方面因为网络连接不总是可获得,特别是当旅行 时,由于在国家的(农村)部分中的有限的网络覆盖或在不同国家中的不 同的网络设置导致网络连接不总是可获得。

自给自足的移动导航装置必须在诸如快闪存储卡(例如,SD卡)等 的数据存储介质上包含通常具有高度压缩形式的全部地图材料。在导航装 置内,关键的用户交互操作之一是在地图中输入和搜索任意对象(诸如街 道地址或特定的兴趣点(POI)),例如以使得用户能够限定导航路由的目 的地。在此,输入操作的复杂度决定了系统的可用性和用户的满意度,该 输入操作的复杂度具体地说是所需要的键击或选择的数量、可能的等待时 间和交互反馈的质量。

传统的导航装置通常提供用于在地图中找到和定位对象的两种可能。

一方面,用户可以通过下述方式来确定目的地:交互地移动(平移) 和变焦在移动导航装置上显示的地图分段,因此,到达包含目的地的地图 区域,使得可以通过使用指示器(例如,触敏屏)选择(拾取)目的地来 确定目的地。然而,这个处理是乏味的,并且由于(移动)导航装置的硬 件限制导致可能出现等待时间。另外,这样的处理经常是不实用的,因为 用户必须预先具有关于在地图中在地理上何处找到目的地的相当精确的 知识——经常不是这样的情况。

因此,另一方面,导航装置传统上提供基于文本的搜索功能,通过该 功能,用户可以根据对象的名称(例如,街道名称或兴趣点的名称)来定 位对象。

在诸如台式计算机或服务器的静态计算机上,穷尽地搜索所有可获得 的地图材料的全部存储的数据记录通常不形成问题。因此,这样的搜索功 能被许多地理信息系统(GIS)和地理数据库软件产品支持。

基于因特网的地图服务(诸如,现今的Google地图)在用户友好性 上优化搜索功能,并且其中,使用从因特网搜索引擎已知的功能。它们允 许自由文本搜索,该自由文本搜索将由用户输入的多个搜索项与在地图中 的所有对象的所有属性作比较。然后,搜索结果根据其相关度被分类和显 示。然而,这样的解决方案和它们的基本算法不能被应用在传统的移动导 航装置内,因为这样的导航装置的主存储器或处理器都不足以用于这样的 软件应用的执行。此外,这样的导航装置的存储器未提供足够的存储空间 来容纳所需要的标准化(未被压缩或仅被略微地压缩的)地图格式并且存 储软件的执行所需的和在数据库搜索期间产生的另外的数据文件(例如, 数据库索引文件)。

由于这样的限制,传统的移动导航装置仅提供用于基于文本的搜索的 简单选项。在此,搜索处理通常要求分层的地理约束,在此期间,用户首 先必须选择区域(例如,国家和/或城市),并且最后选择街道地址或不同 的搜索项(诸如兴趣点的名称)。仅在进入区域后,执行对于可能的街道 地址或其他搜索项的搜索,因为传统的搜索算法由于常见移动导航装置的 当前硬件限制而不允许以基于因特网的地图服务的方式来在地图的所有 区域上进行自由文本搜索。

发明内容

本发明的目的是提供一种方法和导航装置,其允许在移动导航装置的 地图数据内的对于对象的自由文本搜索。

使用包括权利要求1的特征的方法来实现这个目的。

根据这一点,提供了一种用于借助于索引数据结构来在数据库中搜索 对象的方法。在此,每一个对象具有二维或三维的空间位置,并且可以相 对于搜索模式匹配。该索引数据结构将诸如对象名称的对象属性值与被定 义来分割空间的空间元素——诸如四叉树的瓦片(tile)或八叉树的立方体 ——的集合(集)相关联,该空间特别是二维平面或三维空间。预定义的 数量的空间元素能够组合为下一级的空间元素。

在所述方法期间,对于第一输入搜索模式搜索索引数据结构,并且如 果第一输入搜索模式通过索引数据结构与空间元素的第一集合相关联,则 来自第一集合的所有空间元素被加到空间元素的第一候选集。在此,如果 在第一候选集中的空间元素的数量超过预定最大值,则该空间元素的一些 或全部被组合为数量减少的下一级空间元素。

在对于第一输入搜索模式搜索索引数据结构后,同时或随后地对于第 二输入搜索模式搜索索引数据结构,并且如果第二输入搜索模式通过索引 数据结构与空间元素的第二集合相关联,则来自第二集合的所有空间元素 被加到空间元素的第二候选集。再一次,如果在第二候选集中的空间元素 的数量超过预定最大值,则空间元素的一些或全部被组合为数量减少的下 一级空间元素。

当已经获得第一候选集和第二候选集时,形成第一候选集和第二候选 集的交集以获得空间元素的组合候选集。然后,以穷尽的方式对于与第一 输入搜索模式和第二输入搜索模式匹配的对象搜索这个组合的候选集,以 最终获得匹配所有的输入搜索模式的结果对象集。

本发明允许非常高效地计算候选集。特别是对于无表达力的搜索模式 (例如,在很多对象中出现的短搜索词),当使用传统方法时获得的候选 集可能较大,并且,它们的作为内核数据结构的表示和它们的组合处理(例 如,在搜索处理期间计算它们的交集)在具有限制的资源的硬件平台(诸 如移动导航装置)上是不实用的。本发明允许仅使用小的存储量来表示空 间元素的大的候选集并且使用小的计算工作量来处理该候选集。即使在两 个候选集每一个很大的情况下,它们的交集可以具有较小的基数,使得结 果产生的组合候选集可以不仅被高效地确定,而且小得足以对于与所有的 输入搜索项匹配的结果对象被穷尽性地搜索。实际上,利用所提供的方法, 变得有可能在受限的硬件平台上高效地确定搜索结果,即使对于非常无表 达力的搜索模式,诸如在交互用户输入的较早阶段出现的那些。

在这个上下文中,输入搜索模式是可以被用户交互地输入的模式,并 且可以是包含字母字符和/或数字的文本串。

为了搜索对象的目的,所述方法不限于一个或两个输入搜索模式。用 户不妨可以输入三个或更多个搜索模式,并且通过以由集合论法则所允许 的任何顺序地相交与搜索模式相关联的所有候选集来确定组合的候选集。

空间元素的集合是包含与诸如对象名称的对象属性值相关联的一个 或多个空间元素的集。

索引数据结构将对象属性值与例如用于分割二维平面的、四叉树的空 间元素的集合相关联。在四叉树中,每一个空间元素对应于瓦片,即,二 维平面的矩形分段,其中,四个邻接的瓦片可以被组合为一个下一级瓦片, 该下一级瓦片形成下一级空间元素,该下一级空间元素的区域覆盖四个原 始瓦片。

通常,四叉树被定义为树,其中,每一个非叶节点具有四个子节点。 在此,可以使用均匀深度的四叉树。

索引数据结构可以具有所谓的特里结构的结构,该特里结构构成树, 使用非空串标注该树的边,并且通过从根到节点的路径的边标签的级联来 标注该树的节点。根本身例如被使用空串标注。

对于在空间元素的第一候选集或第二候选集内的空间元素的组合,四 个或更少的邻接的瓦片被组合为一个下一级瓦片,这个组合表示安全的紧 化,其中,下一级的空间元素的区域表示组合的空间元素的(不正确的和 正确的)超集。

通过对于第一输入搜索模式或第二输入搜索模式搜索索引数据结构, 查看第一输入搜索模式或第二输入搜索模式是否与空间元素的对象属性 匹配。为此,每一个搜索模式可以表示文本串,即,通过字母字符和/或数 字形成的串。在搜索期间将该文本串与对象的属性(即,名称)作比较。 如果文本串匹配属性或属性的前缀(即,属性名称的开头与文本串匹配), 则将所关联的空间元素的集合加到相应的候选集。换句话说,通过下述方 式对于输入搜索模式搜索索引数据结构:通过对于具有与搜索模式匹配的 前缀的所有的索引键(即,以在搜索模式中包含的字符或数字开始的索引 键)搜索索引数据结构。对于所有的这些索引键,如果索引键通过索引数 据结构与空间元素的集合相关联,则来自这个集合的所有空间元素被加到 空间元素的候选集,其中,如果在候选集中的空间元素的数量超过预定最 大值,则空间元素的一些或全部被组合为数量减少的下一级空间元素。

通过这种技术,与在索引数据结构中匹配搜索模式的所有键相关联的 所有候选集的紧化的并集可以被递增地和高效地构造,并且具有可管理 的、有限大小的存储量表示。

在本发明的一个实施例中,对于在索引数据结构中的输入搜索模式的 搜索,可以使用辅助索引数据结构,该辅助索引数据结构将对象属性值或 对象属性值的前缀与已经通过索引数据结构预先组配的辅助候选集相关 联。在此,如果在辅助索引数据结构中的搜索产生非空集,则这个集产生 期望的候选集。否则,通过对于输入搜索模式搜索(主)索引数据结构来 获得期望的候选集。

以这种方式,可以进一步改善该方法的效率。对于要确定其相关联的 候选集的每一个搜索模式,使用另一个辅助索引数据结构,而不是搜索完 整的主索引数据结构,该另一个辅助索引数据结构将可能的对象属性值前 缀的子集与预先紧化的、预先组配的候选集相关联。如上所述,通过将空 间元素组合为数量减少的下一级空间元素来进行在此的预先紧化,但是该 预先紧化发生在生成辅助索引数据结构时,即,在处理搜索查询之前。如 果在辅助索引数据结构中的搜索产生非空集,则期望的候选集完成。否则 通过在(主)索引数据结构中搜索来计算期望的候选集。该方法允许确定 候选集,即使对于非常无表达力的搜索模式,例如,仅包含单个字符的搜 索串。对于这样的情况,在主索引数据结构中的对于前缀的搜索不是很高 效,因为在索引数据结构中找到相对于搜索模式的许多前缀匹配,导致需 要考虑要在候选集中包括的空间元素的许多相关联的集合。利用所提出的 修改,大量的集合被替换为由辅助索引数据结构提供的小得多数量的有限 大小集合。

在导航装置内使用的数据库可以包含地理地图的数字地图数据。在该 情况下,对象对应于地图数据的地理对象,例如,街道和兴趣点,二维平 面对应于要由导航装置显示的地理地图。索引数据结构因此将地理对象的 名称与其中名称表示地理对象的属性的瓦片的近似集相关联。瓦片源自整 个地图——诸如洲地图——的分层四叉树分割,并且使用特定的二进制编 号方案来将瓦片编号。以下述方式发生搜索:使用一个或多个输入搜索模 式来查询索引数据结构。从这一点,产生包含其中搜索模式作为属性出现 的对象的瓦片集。对于合取搜索,即,多个输入搜索模式的组合查询(逻 辑与合取),形成单个输入搜索模式的候选集的交集。因此,在第二步骤 中,对于包含有作为属性的所有输入搜索模式的对象穷尽性地搜索所产生 的组合候选集。

该思想允许容易地减少用于包含公共前缀(词的开头)在内的所有名 称的候选集。由此,高效的合取多前缀搜索变得可能。为了获得与前缀相 关联的候选集,形成前缀的所有可能后续部分的候选集的组合集。索引数 据结构的使用和相关联的候选集的永久表示实质上将这个处理缩小为顺 序读入被递增地加到在主存储器中的工作集的元素。

为了能够也对于在移动装置上的大候选集执行该方法,需要以存储节 省的方式来表示(大)瓦片集,以便以在计算上高效的方式来向该集应用 操作。在此的具体表示基于瓦片的编号方案和下述情况:来自小瓦片的预 定四叉树模式可以等同地被更大的下一级四叉树表示。通过组合瓦片,要 存储的瓦片的数量减少,并且该表示“被紧化”。

可以使用等同的紧化(其中,在所有情况下,四个瓦片被组合为相关 联的下一级瓦片)和安全的近似紧化(其中,四个或更少的瓦片被组合为 相关联的下一级瓦片,并且由下一级瓦片表示的区域是由原始瓦片覆盖的 区域的超集)。安全的近似紧化为了搜索的目的在下述方面是安全的:它 至多导致在候选集中包含的瓦片的数量的增大,这意味着最终可能必须穷 尽性地查看其中没有真实的候选对象的另外的瓦片,但是同时,排除了表 示的不准确导致遗漏真实的候选者。

在该方法的优选实施例中,当交互地输入第一输入搜索模式和/或第二 输入搜索模式时,递增地减小组合候选集。其基础是:如果对于多前缀搜 索查询(包括一个或多个输入搜索模式)计算组合候选集,并且如果用户 通过在一个或多个搜索模式的结尾加上一个或更多个字符或通过增加一 个或多个新的搜索模式来改变搜索查询,则可以通过利用集合论的定律和 下述事实以从旧的组合候选集递增的方式高效地确定新的组合候选集:与 (以刚刚描述的方式)扩展的前缀相关联的候选集总是与原始前缀相关联 的候选集的子集。仅要求用于每一个改变的或增加的搜索模式的单个相交 操作。在这个相交操作中,从新的或改变的搜索模式获得的新的候选集与 旧的组合候选集相交。在所有情况下的组合候选集的基数减小或至少不增 大。

在另一个实施例中,当交互地输入第一输入搜索模式和/或第二输入搜 索模式时,提供了关于组合候选集的表达力的反馈,其中,如果组合候选 集的基数减小,则表达力增大。例如,如果组合候选集的基数变得小于预 定阈值,则可以提供反馈。

不仅可以经由显示器以可视的方式提供反馈,而且可以经由扬声器可 听地或经由触觉输出装置(例如,产生振动)可触觉地提供反馈。

索引数据结构的具体结构在搜索查询的每一个输入或存储的搜索查 询的改变后允许搜索查询(由一个或多个输入搜索模式构成)的表达力 (即,搜索查询的限制搜索区域的能力)的快速估计和评估。如果结果产 生的组合候选集包括小(但是正)的基数,则在本上下文中,搜索查询具 有高表达力。

索引数据结构的具体永久结构使得有可能以良好的精度来估计组合 候选集的基数,而不执行在该集中包含的空间元素的完整计数。通过这样, 具有有限资源的移动导航装置也变得可能当输入或改变搜索查询时向用 户提供关于搜索查询的实际表达力的即时反馈。

例如,导航装置的显示可以被建立来在搜索查询变得充分地有表达力 以获得可以使用合理的计算工作量穷尽性地搜索的组合候选集的情况下 将显示的输入窗口的红色背景着色改变为黄色。如果用户在该情况下不继 续输入,则(可能在用于较大数量的空间元素内的穷尽性搜索的等待时间 后)输出包含在组合候选集的空间元素中找到的结果对象的结果列表。通 常,由于搜索查询的有限表达力,在结果列表内包含所要的目的地对象的 可能性相当有限。然而,如果用户继续输入,则一旦与改变的搜索查询相 关联的组合候选集的估计基数变得小于实质上更小的、预定义的阈值,那 么着色改变为绿色。在该情况下,在已经获得具有小基数的组合候选集时, 可以以快速和高效的方式来执行与组合候选集相关联的空间元素的穷尽 性搜索,并且由于搜索查询的高表达力,存在在所获得的所找到的对象的 结果列表中存在所要的目的地对象的大的机会。

表达力估计也允许不与任何瓦片相关联的输入的即时识别。在该情况 下,组合候选集的基数取零值。为零的基数通常源自在输入搜索模式中的 打字错误,使得在索引数据结构中找不到匹配的对象属性,并且产生空的 候选集。这样的打字错误相应地可以被适当的反馈立即指示,该反馈例如 是可视、可听或触觉警告(诸如输入窗口的红色闪烁)。

为了保证有效的搜索,仅在候选集的基数已经变得小于预定阈值后执 行在空间元素的组合候选集中的结果对象的穷尽性搜索。在穷尽性搜索期 间或之后,经由诸如导航装置的显示器的输出装置来输出结果对象。

为了限制在空间元素的组合候选集中的对象的穷尽性搜索的计算工 作量(和由用户感知的相关联的过去的等待时间),可以采取下面的措施 的一个或多个:

-对已经被搜索的空间元素的数量进行计数,并且当超过预定义的极 限时,停止该处理,或者

-对已经找到的对象的数量进行计数,并且,当超过预定义的极限时, 停止该处理,或者

-对用于搜索的过去的时间进行测量,并且当超过预定义的时间极限 时,停止该处理。

在此,在增加或改变搜索模式的每一个用户输入后和在计算从新的或 修改的搜索查询导致的新的组合候选集后,开始或重新开始对于在组合候 选集中的对象的穷尽性搜索。

在本上下文中,可以在与索引数据结构的层级对应的两个或更多个阶 段中,从较高(更粗)层级开始并且进行到一个或更多个更细的层级,完 成对于对象的穷尽性搜索。在第一阶段中,穷尽性地搜索(在四叉树中的) 较高层级的瓦片。这样的瓦片可能不包含在较低层级中的瓦片的所有信 息,而是仅包含最重要的信息(诸如大城市的名称或很重要的兴趣点)。 因此,在第一阶段中的搜索是粗略的,因为不是所有的信息都被考虑。在 下一个阶段中,可以然后搜索较低层级的瓦片,直到在最后阶段,穷尽性 地搜索在最低、最细层级的瓦片并且考虑其中包含的所有信息。以这种方 式,穷尽性搜索变得越来越精确,其中,在早期阶段,结果对象的列表可 以已经被输出到用户。此外,如果在完成之前停止穷尽性搜索,例如,因 为达到时限,所以保证此时至少已经显示了最重要的搜索结果。

在另一个实施例中,除了主索引数据结构之外,进一步可以使用另一 种独立的索引数据结构,该另一种独立的索引数据结构将对象属性值与空 间元素的集合相关联,但是仅对于描述对象所位于的区域的那些对象属性 (例如,诸如“周围城市的名称”、“对象的邮政编码”、“周围国家的名称” 的属性)如此进行,并且忽视所有其他属性。因此,这种独立的索引数据 结构在大小上受限,并且可以用于在使用主索引数据结构在期望区域中搜 索特定部分之前迅速地识别期望的区域(例如,城市)。通过首先使用独 立的索引数据结构来搜索区域,当对于主索引数据结构搜索对象时必须考 虑的空间元素的数量可以被预先限制到与特定区域相关联的那些空间元 素,因此减少了进一步用于所述方法的计算工作量。

也可以将搜索限制为仅考虑与特定的目标区域相关联的空间元素。如 果仅来自特定区域的搜索结果是感兴趣的(例如,在用户的当前GPS位置 周围的区域),则可以如所述应用搜索方法,但是另外,在执行穷尽性搜 索来获得实际匹配之前,候选集与空间元素的另一个集——称为“目标区 域集”——相交。为了这个目的,将目标区域集构造为用于描述目标区域 的一组空间元素,或通过超集来近似它。由于这个集通常已经具有小尺寸, 它可以被用作初始候选集,当根据输入搜索模式来递增地计算进一步的候 选集时,对于该初始候选集应用所有进一步的相交。如果目标区域集使用 很粗略的近似,则可以在穷尽性搜索期间滤除和忽视在实际目标区域之外 的结果对象。

在另一个实施例中,在组合候选集的穷尽性搜索后和在获得与所有的 输入搜索模式匹配的结果对象集后,以相关度降低的顺序来显示结果对 象。例如,可以使用一组启发规则来确定对象的相关度,该一组启发规则 用于指示下述概率:结果对象集的对象表示用户实际上意欲要找到的对象 (例如,诸如街道地址或兴趣点的目的地)。

当显示搜索结果的列表时,因为例如在移动导航装置上的有限的显示 大小,非常重要的是以估计的结果对于用户而言的相关度的顺序来呈现结 果,使得真实的目的地对象具有在列表的顶部或至少接近列表的顶部处示 出的高概率。为此,已经开发了一组规则,该规则允许以高精度来评估可 能的相关度。这些规则一方面使用源自由用户输入并且由一个或多个搜索 模式构成的搜索查询的细节信息。另一方面,它们使用下述信息:该信息 被存储为在地图中的对象属性,并且指示特定对象(诸如特定重要度的兴 趣点)的提高的一般相关度。

启发规则可以例如

-考虑用户已经选择的输入搜索模式的顺序(例如,第一搜索模式可 以指示城市,第二搜索模式可以指示街道),

-认为地区/城市比街道更重要,

-认为大城市比小城市更重要,

-认为与城市或飞机场对应的兴趣点比其他兴趣点更重要,

-认为兴趣点比街道更重要,并且/或者

-认为大街道比小街道更重要。

在导航装置内,数据库包含地图数据,其中,对象对应于地理对象。 在该方法的另一个实施例中,当交互地输入第一输入搜索模式和/或第二输 入搜索模式时,输出与空间元素的组合候选集对应的地理区域。在该情况 下,对于每个搜索查询,计算地图瓦片的组合候选集,并且对于这样的集 的每一个,确定对应于或包含相应的组合候选集的地理区域。这个区域可 以例如是矩形的,通过在组合候选集中包含的所有瓦片的最北、最南、最 西和最东的边来确定该矩形的边。在搜索查询的输入后用于表示这个矩形 的地图分段的迅速显示提供了其中可能会找到所要的目的地的区域的快 速概览。

优选的是,在此,在通常在计算上是耗时的、在组合候选集内执行对 象的穷尽性搜索之前,更新地理区域的显示。

当交互地输入第一输入搜索模式和/或第二输入搜索模式时,可以递增 地限制与空间元素的组合候选集对应的地理区域。以这种方式,与在搜索 查询的输入期间的候选集的高效递增限制相组合,(如果可获得高效的地 图可视化)可以获得具体的视觉印象,其中,搜索查询的逐步递增输入伴 随有连续变焦的地理区域的显示,该连续变焦的地理区域用于表示所要的 目的地可能位于的区域。地理区域在此可以对应于范围从示出整个洲的地 图至仅包含目的地对象(或很少的其他对象)及其直接环境的小地图分段 的地图分段。利用足够的显示速度和显示比例的连续调整(可能使用内插 技术),与摄像机的变焦效果类似地获得视觉印象。为了改善地图显示的 速度,有可能通过省去诸如森林区域的小重要度的地图细节,或通过减少 在地图中所示的文本,实质上简化所显示的地图分段。

在另一个实施例中,经由减小的键盘来输入第一输入搜索模式和/或第 二输入搜索模式,在减小的键盘中,多个字母或数字被分配到键盘的一个 按键,其中,对于输入搜索模式的每个字符,仅须将每一个按键按下一次。 以这种方式,利用下述情况:利用自然语言的词或地理名称的不同的、均 匀地相邻的字符在一定程度上不相关的统计属性,通常通过每一个另外的 输入字符来减少结果产生的不确定性。

在第一种变化形式中,可以避免可区别字母(元音变音)的输入,传 统上必须使用复杂的步骤序列经由在移动装置上的虚拟或物理键盘来输 入该可区别字母。对于这个实施例,现在变得可能作为搜索模式的一部分 输入与元音变音相关联的基本字母(例如,对于而言的“A”),其中, 在搜索处理内,将元音变音以及基本字母视为匹配。

在第二种变化形式中,可以使用(包含导航应用并且作为导航装置的) 移动电话的数字键盘,其中,向每一个数字按键(按键“0”至“9”、“*”、 “#”,像传统上已知的那样向它们分配字母(“2”=“ABC”,“3”= “DEF”、...))分配多个字母。对于搜索模式的输入,不要求多个键击(例 如,对于“C”,仅须按压一次按键“2”)。用户可以以这种方式来以快速 方式输入搜索查询,就好像使用全键盘那样。因此,与微型化的全键盘相 比,键入错误变得更不可能,因为它们例如显示在触摸屏上。使用这种思 想的方法的实际实现方式不是更复杂,并且该方法的执行与经由全键盘的 输入作比较仅在计算能力上略微成本更大。

在装置内,可以使用物理键盘以及在显示器上显示的虚拟键盘。在后 一种情况下,可以使用指示装置、定向键盘、特定触发按键或触敏屏来激 励虚拟按键。

该方法的一个实施例可以使用多阶段启发搜索策略,该策略基于以特 定方式来解释搜索查询的输入搜索模式的思想。在本上下文中,对于具体 解释,向由用户输入的搜索查询的每一个输入搜索模式分配所谓的角色。

基本思想源自下面的观察:当用户输入特定的搜索查询以意欲在数据 库中(例如,在地理地图中)找到特定的目标对象时,这意味着以他的或 她的观点,有可能仅基于这个搜索查询来唯一地识别目标对象——并且, 这通常(虽然不总是)是实际情况。

现在,即使用户通常不明确地详细考虑这一点,他或她当被咨询时通 常能够解释如何可以以清楚地识别目标对象的方式来明白这个搜索查询。 因此,该方法“仅”需要能够“猜测”这种解释。

通过下述方式来如此进行:通过向搜索查询的输入搜索模式的每一个 分配角色来以特定方式解释输入搜索查询。

具体角色的可能示例是:“在对象的区域属性中出现搜索模式”或“搜 索模式必须是对象的名称的第一个词”。因此,在本上下文中的术语“角 色”要被理解为指示用户可能想着的输入搜索模式的可能属性。例如,如 果用户输入搜索查询“BER HUS”,则可以将第一输入搜索模式(“BER”) 解释为指示对象的区域属性(例如,城市柏林),并且,将第二输入搜索 模式(“HUS”)解释为指示对象的名称(例如,对象“Husemannstraβe”, 在柏林的街道)。当然,其他解释是可能的。

通过向其搜索模式分配角色的搜索查询的解释可以用于限制搜索空 间。即,对于搜索查询的具体解释,可能不需要搜索例如由分割的地图数 据限定的数据库的整个搜索空间,而仅需要搜索有限的搜索空间。对于上 面的示例,如果“BER”被解释为区域属性,使用仅考虑区域属性的(有 限的辅助)索引数据结构来仅搜索与该区域相关的对象的属性(即,区域 属性)。

因此,在该方法的一个实施例中,第一输入搜索模式和/或第二输入搜 索模式可以被启发地解释以具有预定义的角色,在此的角色用于指示相应 的输入搜索模式的可能的潜在含义。

因此,通过启发地解释第一输入搜索模式和/或第二输入搜索模式,可 以对于每一个输入搜索模式计算角色相关的启发候选集,并且,通过相交 角色相关的启发候选集,获得用于搜索查询的具体解释的组合的启发候选 集。

在该方法内,在用于搜索查询的一个或若干个不同解释的第一阶段 中,在每一个情况下,计算和穷尽性地搜索组合的启发候选集,并且,在 第二阶段中,计算和穷尽性地搜索未将搜索查询限制到具体解释的组合候 选集。

因此,将搜索划分为不同的阶段。首先,考虑搜索查询的几种可能解 释,每种解释产生搜索空间的很小部分,该搜索空间的很小部分可以被迅 速地穷尽性地搜索,并且具有包含期望结果的良好机会。其次,该方法退 回到一般解释,该一般解释产生较大的搜索空间,但是其保证包含期望的 结果——如果该期望结果确实存在于数据库中。如果在穷尽性搜索期间达 到资源极限,则搜索引擎放弃搜索处理,并且通知应用,因此,它可以激 励用户提供更有表达力的输入。

如上所述,解释向输入的搜索模式的每一个分配具体角色。因为存在 产生输入搜索查询的不同解释的不同角色的许多可能组合,所以首先符号 化地枚举不同的解释,而不计算相关联的角色相关的启发候选集和组合的 启发候选集。然后,不进一步考虑如下的解释:对于那些解释,通过在索 引数据结构中的查找,角色相关的启发候选集的一个或更多个被检测为 空。换句话说,在该方法的一个实施例中,在计算任何实际候选集之前, 枚举和排序所有的非空解释,因此,可以预期产生较小的候选集(并且可 能产生期望的结果)的解释在先。在本上下文中,如果给定的搜索查询在 其分配的角色中的任何搜索模式产生空的角色相关的启发候选集,则对于 该搜索查询,解释被称为空。这将自动地使得解释的组合启发候选集是空 的,因此不必进一步考虑这样的解释。

在这一点上,可以根据通过在索引数据结构中的查找而获得的一个或 更多个角色相关的启发候选集的估计的基数来确定要对于输入的搜索模 式考虑的不同解释的选择或不同解释的符号化的枚举。

向搜索查询的输入搜索模式分配特定角色并且通过根据包含具有特 定角色的搜索模式的搜索查询搜索数据库来改善搜索的效率的思想也分 别是适用的。因此,用于通过索引数据结构来在数据库中搜索对象的方法, 其中,该索引数据结构将数据库对象属性值与元素的集合相关联,例如与 四叉树的瓦片、与八叉树的立方体、与二进制树的节点、与文档、与文件、 或与用于识别特定文件或文档的数字或其他代码、或与数据结构(其中, 该数据结构包含之前描述的信息以及在空间元素、文件或文档内的属性值 的一个或更多个出现位置中的任何一个)相关联,所述方法包括:

在输入搜索查询内,启发地解释第一输入搜索模式和/或第二输入搜索 模式,以具有预定义的角色,在此的角色指示关于对象属性值的相应输入 搜索模式的可能潜在含义;

通过启发地解释第一输入搜索模式和/或第二输入搜索模式,借助于索 引数据结构来计算每一个输入搜索模式的元素的角色相关的启发候选集, 该角色相关的启发候选集包含那些包括如下对象的元素的集合:该对象的 至少一个属性值与在其预定角色中的输入搜索模式匹配;

相交第一输入搜索模式和第二输入搜索模式的角色相关的启发候选 集,以获得用于搜索查询的具体解释的组合的启发候选集;并且

在元素的组合的启发候选集中,识别与第一输入搜索模式和输入的第 二搜索模式匹配的对象,从而获得结果对象集。

在本方法的一个实施例中,在第一步骤中,对于搜索查询的几种不同 的解释,在每一个情况下,计算和穷尽性地搜索组合的启发候选集,并且 在第二步骤中,计算和穷尽性地搜索未将搜索查询限制到具体解释的组合 的候选集。

关于该方法的背景和优点,参考上面的内容。

通常,对于该方法的不同实施例,可以通过下述方式来减少用于计算 具有低表达力的输入搜索模式的候选集的计算工作量:使用辅助索引数据 结构来提供用于特定的输入搜索模式的预先紧化的候选集,总是在使用主 索引数据结构之前探查该辅助索引数据结构。即,对于特定的非常无表达 力的搜索模式(诸如,单个字符或仅具有两个字符的搜索模式),首先, 查找辅助索引数据结构,其中,那些无表达力的搜索模式与预定义的可能 包含与输入的搜索模式对应的期望对象在内的空间元素的集合相关联。其 背景是,如果用户故意地输入短的、无表达力的搜索模式,则很可能:用 户认为这个搜索模式实际上指向期望的对象,因为例如,在对象的名称或 区域属性中精确地包含搜索模式(例如,如果存在被称为“P街道”的街 道,则用户如果输入“P”则可能在查找该街道)。如果它被预先存储在例 如其空间元素包含具有与(无表达力的)输入搜索模式的属性精确地匹配 的对象在内的辅助索引数据结构中,并且在(主)索引数据结构之前查找 该辅助索引数据结构,则通过穷尽性地搜索所产生的空间元素的候选集, 可以迅速地找到期望的结果,而不必穷尽性地搜索大量的空间元素。

在该方法的另一个实施例中,在已经首先对于给定的输入搜索模式计 算候选集和组合候选集(也包括例如如上所述的角色相关的启发候选集和 组合的启发候选集)后,可以将它们存储在高速缓存数据库中。以这种方 式,可以减少用于计算用于输入搜索模式的候选集的计算工作量,因为如 果在搜索的不同步骤期间多次需要候选集,则不必重新计算候选集,而是 从高速缓存获得候选集。

在该方法的另一种改进中,索引数据结构具有不仅用于对象属性的精 确值而且另外用于这些值的预定义的变化形式的输入项,这可以将特定的 字符替换为其他字符,或者可以向原始值加上特定字符,或者可以从原始 值省略特定字符,或者可以相对于一些字符在原始值中的位置交换它们的 位置。这允许所谓的模糊搜索,以允许例如在输入搜索模式的一个或多个 未(精确地)匹配诸如对象名称或区域属性的对象属性值的情况下,也找 到期望的结果。以这种方式,如果例如在输入搜索模式中有拼写错误,也 可以找到期望的结果。

在另一个实施例中,可以通过下述方式来扩展用于第一和第二输入搜 索模式的第一和/或第二候选集:将在组合第一和第二候选集之前邻接在第 一和第二候选集中已经存在的空间元素的空间元素包含到第一和第二候 选集内。以这种方式,与所确定的候选集的空间元素相邻的空间元素也被 包括到搜索内。

在该方法的另一种相关改进中,通过下述方式来支持所谓的模糊搜 索:生成用户指定的搜索模式的一个或更多个修改,例如,通过将特定的 字符替换为其他字符,或通过向原始搜索模式加上特定字符,或通过从原 始值省略特定字符,或通过相对于一些字符在原始搜索模式中的位置交换 它们的位置。在这种改进中,根据本方法的索引数据结构用于识别将进一 步考虑的这样的搜索模式修改的子集,并获得用于所选择的修改的一个或 更多个候选集或角色相关的候选集。这些集然后在根据本方法的其他步骤 ——诸如组合候选集的确定——中,单独地或在建立它们的并集后被使 用。

在该方法的另一种改进中,可以通过诸如语音输入装置的媒体或另一 种子系统来输入第一和第二搜索模式,以产生大量搜索查询变化形式,其 中每一个搜索查询变化形式由几个输入搜索模式构成,而不是由单个搜索 查询构成,并且,其中,对于来自搜索查询变化形式的搜索模式计算的候 选集的基数、或者对于搜索查询变化形式计算的组合候选集,被用于引导 用于进一步的处理的搜索查询变化形式的子集的选择,或者被用于引导向 单独的搜索查询变化形式分配优先级以影响它们的进一步处理的顺序。因 此,通过考虑可以与(不确定的)输入(例如,使用语音输入)对应的不 同搜索查询变化形式,可以例如通过首先处理搜索查询变化形式以产生最 小基数的候选集,容易地并且以高效的方式找到期望的结果,特别是当考 虑到那些变化形式导致的候选集的基数时。

在该方法的另一种改进中,可以通过诸如手写识别装置的媒体或子系 统来输入搜索模式,其中,特定的输入字符难以在输入期间可靠地区分, 例如,字母“O”和和数字“0”,因此,存在如下风险:在向本方 法提供的输入搜索模式中出现符号的错误的变化形式。在这种改进中,在 产生索引数据结构之前,识别对于其而言可能出现这种模糊的符号,并且 对该模糊作如下处理:从不能可靠地区别的每一个符号集,选择被称为典 型表示的唯一表示(例如,字母“O”)。在索引产生期间和在穷尽性搜索 期间,将符号的其他变化形式(例如,字符和数字“0”)的所有出 现替换为典型表示。换句话说,它们被当作好象它们会出现在减小的键盘 上,其中,数字“0”键也负载字符“O”和

在该方法的另一种修改中,通过在索引数据结构中的(计算成本低的) 查找而获得的一个或更多个候选集的估计的基数被用作一个输入搜索模 式或多个输入搜索模式的表达力的度量。利用该基数,可以控制要在另外 的处理步骤中包括的数据库分段或(内部或外部)数据库的选择或向这样 的数据库或数据库分段的优先级的分配——影响它们的进一步处理的顺 序。

可以在永久存储介质中登记用于进一步的处理的、用户对于搜索结果 的最后选择(例如,用于在导航应用中的路由计算的目的地的选择)以用 于未来的搜索处理。因此,提供了自学习系统,其中,可以向预先选择的 搜索结果分配较大的优先级,并且可以在位于或接近以后的搜索的实际结 果列表的顶部处显示预先选择的搜索结果。

在另一个实施例中,作为空间元素的组合候选集的穷尽性搜索的结 果,不仅登记其属性与输入搜索查询的所有输入搜索模式匹配的对象,而 且登记对于其而言一个或更多个输入搜索查询不匹配对象属性的对象。因 此,实现所谓的词层级模糊匹配,作为结果不仅产生其属性精确地匹配搜 索查询的对象,而且产生可能与输入搜索模式中的一个或一些没有匹配的 对象。

在另一种修改中,可以不从实际上使用索引数据结构对其搜索的数据 库,而是从包含实际上被搜索的数据库的对象的全部或大多数的较大、高 级数据库,产生索引数据结构和相关联的空间元素的集合。

在上面,已经以将对象属性值与四叉树的二维空间元素(瓦片)的集 合相关联的索引数据结构为重点描述了根据本发明的方法,因为当处理在 导航装置中的二维地图时有益地使用那些索引数据结构。然而,该方法不 妨可以被应用来在例如用于在三维空间中的导航装置(例如,航空或航天 应用)的三维空间中搜索对象。在该情况下,索引数据结构将对象属性值 与八叉树的空间元素的集合相关联,在八叉树中,每一个空间元素对应于 立方体,并且8个邻接的立方体能够组合为用于表示下一级空间元素的一 个下一级立方体。如上所述的实施例和变化形式以类似的方式也应用到这 样的索引数据结构。

可能地,该方法也可以被应用到更高维度的空间或也被应用到一维空 间。通常,该方法可以使用将对象属性值与kd树的空间元素的集合相关 联的索引数据结构,其中,k可以是任何自然数(k=1,2,3,4,5,...)。

在一维的情况下,索引数据结构将对象属性值与被解释为其中k=1 的kd树的二进制树的元素相关联,即,每一个树节点表示来自一维线性 空间的区间。两个邻接的区间能够组合为由下一级树节点表示的一个下一 级区间。在该情况下,每一个区间应当被理解为分割一维空间的空间元素。

通过如上所述被布置来运行方法的导航装置或通过被布置来执行所 述方法的任何其他移动计算装置来进一步实现所述目的。

附图说明

随后,将参考在附图中所示的实施例来进一步说明在本发明之下的思 想。在此,

图1示出借助于索引数据结构在数据库中搜索对象的方法的流程图;

图2示出索引数据结构,该索引数据结构形成特里结构,并且将对象 属性值与被定义来分割地图的瓦片的集合相关联;

图3A-3C示出输出导航装置的、用于输入搜索模式的输入窗口和用于 结果对象的列表的输出窗口的示意图;

图4A-4C示出用于输入搜索模式的输入窗口、用于输出结果对象的列 表的输出窗口和用于输入搜索模式的导航装置的键盘的示意图;

图5A-5G示出用于输入搜索模式的第一和第二输入窗口、用于输出结 果对象的列表的输出窗口和被显示并被根据输入搜索模式连续调整的地 理地图分段的示意图;

图6示出以多个地图瓦片分割的地图的示意表示;

图7示出使用启发搜索手段的改进方法的流程图;

图8示出在多个数据库上的搜索方法的流程图;以及

图9示出在其中用户通过语音输入子系统来输入查询的环境中应用在 此描述的方法的示意图示。

具体实施方式

图1以流程图给出了用于在数据库中找到和定位对象的方法的实施例 的概述。在该实施例中,该方法被应用到导航装置,对象表示二维地图的 地理对象,并且在数据库中存储的数据是数字地存储的地理地图数据。

该导航装置可以例如是专用移动导航装置或其上实施导航软件应用 的移动电话、移动计算机、个人数字助理(PDA)、移动因特网装置(MID)、 便携媒体播放机(PMP)或其他移动计算装置。

在该方法中,使用索引数据结构来找到和定位对象,该索引数据结构 被实现为所谓的特里结构(trie)。在图2中示出表示特里结构200的这样 的索引数据结构的示意图。特里结构200将地理对象的名称与其中名称作 为对象的属性出现的地图瓦片的集合相关联。在此,地图瓦片表示空间元 素,并且源自通过使用四叉树的、导航装置的地图的分层分割(四叉树分 割)。四叉树分割使得四个邻接的瓦片能够组合为下一级瓦片,即,四个 邻接的瓦片可以等同地被一个下一级瓦片替换,而不丢失任何信息。在此, 下一级瓦片的区域覆盖与原始的四个邻接的瓦片等同的区域。

在图6中示出这一点。以多个地图瓦片51来分层地分割地图5,每一 个地图瓦片表示地图5的空间元素。四个邻接的地图瓦片51能够组合为下 一级瓦片52,该下一级瓦片52等同地替换四个对应的地图瓦片51,而不 丢失任何信息。

为了在地图数据中搜索对象,向导航装置的输入窗口1(图1)内输 入搜索查询,该搜索查询由以文本串形式的一个或多个搜索模式构成。在 图1中描述的情况下,“KAP”和“WAR”被作为搜索模式输入。在数据 库中的搜索现在通过下述方式而出现:分别使用每一个搜索模式“KAP” 和“WAR”来查询索引数据结构(特里结构200)(步骤101)。从这些查 询的每一个,产生瓦片102a、102b的一个候选集,其中,每一个候选集 102a、102b包含其中至少一个对象的属性与相应的搜索串“KAP”或 “WAR”匹配的所有那些瓦片。如果对象的属性(即,其名称或其区域属 性)完全或以其前缀(即,其开始字符)与相应的搜索模式匹配,则在此 出现匹配。

为了能够在诸如移动导航装置的具有有限硬件资源的装置上实现和 运行所述搜索方法,必须以存储器节省的方式和以允许应用在计算上节省 的集合操作的方式来表示大的瓦片集。为此,使用四叉树的具体结构,其 中,四个邻接的瓦片可以组合为一个下一级瓦片,因此减少了瓦片的数量, 而不丢失任何信息。

因此,如果在所获得的候选集102a、102b中的瓦片的数量超过预定 义的数量,则在步骤102,通过下述方式来“紧化”候选集102a、102b: 将在候选集102a、102b中包含的瓦片(在图6中的地图瓦片51)的一些 或全部组合为相关联的下一级瓦片(在图6中的下一级瓦片52),因此减 少了在候选集102a、102b中的瓦片的数量(步骤102也被称为“紧化”)。 通过在每个情况下将四个或更少的瓦片组合为一个下一级瓦片来实现在 此的组合。如果正好四个邻接的瓦片组合为一个下一级瓦片,则由下一级 瓦片覆盖的区域等同于原始的瓦片。如果少于四个瓦片被组合,则由下一 级瓦片覆盖的区域形成完全包含原始瓦片的区域的超集。以这种方式,组 合(紧化)在下述方面是安全的:由所获得的下一级瓦片表示的区域至多 大于原始瓦片的组合区域,使得与候选集102a、102b相关联的瓦片的数 量至多变得更大,即,在后面的搜索步骤(步骤105)处,必须对于其中 包含的对象穷尽性地搜索更多的瓦片。然而,紧化不丢失任何信息,即, 未遗漏任何真实候选者。

在步骤102中的紧化导致在候选集102a、102b中的瓦片的数量的减 少,因此减少了用于存储候选集102a、102b的存储要求。在候选集102a、 102b中的瓦片的数量可以以这种方式总是限于比预定义的阈值(例如: 500)小的数量。

从如此获得的候选集102a、102b,在步骤103中,形成交集,产生组 合候选集104a,该组合候选集104a仅包含在第一候选集102a和第二候选 集102b两者中都包含的那些瓦片,并且因此包含其属性与第一搜索模式 “KAP”和第二搜索模式“WAR”两者都匹配的对象。再一次,如果在组 合候选集104a中的瓦片的数量超过预定义的阈值(其可以与用于步骤102 的阈值不同),则在组合候选集104a中的瓦片可以被紧化(步骤104)。

为了识别其属性值与搜索查询匹配的所有对象,穷尽性地搜索在瓦片 的组合候选集104a中包含的瓦片(步骤105),即,逐个地查看瓦片,并 且提取其属性值与搜索查询匹配的所有对象。然后经由输出窗口2来输出 这样的结果对象。例如,在输出窗口2中显示的第一对象是街道地址,即 在“WARstein”中的“KAPellenweg”。

可以以这种方式找到的其他对象是兴趣点,诸如飞机场或旅游景点 等。在本上下文中引用的对象全部是在导航装置中包含的数字地图数据中 具有可识别的位置并且因此可以在地图中被定位的所有对象。

该方法允许容易地减少要在导航装置内存储和处理的候选集。具体地 说,该方法允许快速和高效的多前缀搜索,即,使用多个搜索模式并且将 搜索模式与对象属性的前缀作比较的搜索,该多个搜索模式特别是文本 串。为了找到与搜索模式相关联的候选集,必须形成搜索模式的所有可能 后续部分的单位集合。相关联的候选集的特里结构和具体永久表示实质上 将这个处理缩小为依序读入被递增地加入到在主存储器中的工作集的元 素。

在图2中图示这一点。其中描述的特里结构200包含根201、边202 和节点203。每个边202与非空串相关联,并且指向节点203,节点203 被标注从根201向节点203的路径的边标签的级联。例如,在根201之下 和左面的第一节点被标注“F”,在那个节点之下和左面的节点被标注 “FELDKIRCH”等。

如图2中所示,在特里结构200内,瓦片与它们的瓦片编号一起被存 储在文件204中,特里结构200的节点203与这样的存储瓦片的集合205、 206相关联。例如,集合205与被标注“KAMEN”、“KAMENER”、 “KAMENZ”的节点相关联。集合206与节点“KARLSRUHE”相关联。

在特里结构200的形状中的索引数据结构的构造一方面允许当用户通 过增加搜索模式或通过经由向现有的搜索模式增加字符而修改搜索模式 来改变搜索查询时,高效地计算新的候选集102a、102b、104a和对应的 结果对象的列表。在该情况下所需的全部是单个相交操作(在图1中的步 骤103),用于形成先前获得的组合候选集104a与新获得的候选集的交集。 在所有情况下所获得的组合候选集104a的基数减小,或至少不增大。

另一方面,特里结构200的结构允许以快速和高效的方式来在其表达 力上估计输入(或改变)的搜索查询的质量。在本上下文中,表达力确定 搜索查询的限制搜索区域的能力。如果与搜索查询相关联的候选集具有小 (但是正)的基数,则该搜索查询具有大的表达力。在此,特里结构200 的具体永久结构使得有可能以良好的精度来估计基数,而不形成集的和, 因此允许也在具有有限硬件资源的移动装置上使用该处理。以这种方式, 可以在输入搜索查询的同时向用户提供关于该搜索查询的表达力的即时 反馈。

图3A至3C示出了在向导航装置的输入窗口1内输入搜索模式期间的 处理。

在第一阶段,在向输入窗口1内输入“eif”后,所输入的搜索查询的 表达力较低,意味着存在与搜索查询相关联的许多瓦片和可能的结果对 象,并且不能使用合理的计算工作量来执行穷尽性搜索。因此,输出窗口 2是空的,并且,输入窗口的背景颜色是白色(或灰色)。

当用户输入另一个字母并且将他的搜索查询改变为“eiff”时,搜索查 询变得更具有表达力,即,与其相关联的瓦片的数量减少。如果估计的基 数变得小于用于指示已经获得可以使用合理(但是大)的计算工作量穷尽 性地搜索的候选集的第一预定义阈值,则输入窗口的颜色改变为黄色。如 果估计的基数变为小于用于指示可以快速和高效地执行穷尽性搜索的第 二、甚至更小的预定义阈值,则颜色进一步改变为绿色(如在图3B中点 阴影10所示),并且对于其中包含的所有结果对象穷尽性地搜索所获得的 候选集。然后,在输出窗口2中输出所找到的结果对象,如图3B中所示。 如果搜索查询的输入未产生包含其属性与搜索查询匹配的对象的任何瓦 片,则候选集的基数变为0。在大多数情况下,这源自键入错误,并且可 以通过可视、可听或触觉警告向用户指示这一点。例如,当如图3C中所 示输入“eifff”时,获得具有零基数的空候选集,并且通过输入窗口的红 色着色来即时地指示该空候选集(如在图3C中的线阴影11所示),这可 能伴随以装置的振动形式的触觉警告。因为候选集是空的,所以不在输出 窗口2中显示结果对象。

当在输出窗口2中显示结果对象时,根据对象与用户的可能相关度来 选择对象的顺序。为此,可以使用启发规则,该启发规则使用从由用户输 入的搜索查询或从与地理对象相关联地存储的一般相关度信息获得的使 用信息(例如,可以认为大城市比小城市更相关,等等)。

如图4A至4C中所示,也可以通过例如移动电话的数字键盘3来进行 (由一个或多个搜索模式构成的)搜索查询的输入,在移动电话上,实现 了导航应用,并且该移动电话因此作为导航装置。如所公知,键盘具有12 个按键“0”至“9”、“*”、“#”。按键“*”用于在输入窗口1中插入空格, 按键“#”用于在输入窗口1的右端处删除数字或空格(即,最近输入的那 个)。另外,向该按键的一些分配字母字符。例如,也使用“ABC”标记 按键“2”(附图标记31),“ABC”用于指示另外向这个按键分配字母“A”、 “B”、“C”。

当输入搜索查询时,不必多次按下按键。例如,对于字母“C”,仅需 要按下一次按键“2”。因此,用户可以以快速和容易的方式来输入搜索查 询,就像使用全键盘那样,并且不必使用复杂的键击序列。在图4A至4C 的示例中,用户通过相继地按下键盘3的相应按键来输入数字“5483776”。 利用每一个另外的数字的输入,搜索查询变得更有表达力,并且在输出窗 口2中显示的结果对象的输出列表变得更短(在图4C中,它仅包含三个 对象)。

如图4A至4C中所示,显示器(可以是移动电话的矩形显示器)可以 包含另外的窗口1’,该另外的窗口1’将输入的搜索查询从数字转换为可能 的字母或字母数字文本串(例如,数字“548377”可能对应于“LIVER7”, 在此的“7”指示后续部分仍然是模糊的)。当用户键入更多数字时,并且 当候选集的大小和匹配结果对象(在输出窗口2中示出)的数量减少时, 在输入窗口1中输入的越来越多的数字开始对应于在所有的匹配的搜索结 果中的一个并且是同一个字母。在输入窗口1下的窗口1’中独立地示出这 种对应,但是这种对应也可以——为了获得更好的可读性——在输入窗口 1中直接地可视化。

在另一个实施例中,如图5A至5G中所示,可以显示地理区域,用 于可视化与输入的搜索查询对应的区域。在图5A至5G的示例中,存在和 显示两个输入窗口1a、1b,一个输入窗口1a允许用户输入用于区域的搜 索模式,并且另一个输入窗口1b用于输入用于对象的搜索模式。在区域 输入窗口中输入搜索模式时(图5B至5D),所获得的候选集采用越来越 小的基数,并且包含越来越少的瓦片。因此,从穷尽性搜索瓦片获得的结 果对象的数量变得更小,直到在图5D中仅在输出窗口2中显示用于区域 输入搜索模式的四个匹配。当现在在对象输入窗口1b中输入搜索模式时 (图5E至5G),在输出窗口2中显示与两个输入搜索模式都匹配的所找 到的结果对象,随着在相应的输入窗口1a、1b中输入更多的字母,搜索 查询变得越来越具有表达力。

当向输入窗口1a、1b内输入搜索模式时,在输入窗口1a、1b旁边显 示用于示出与所获得的候选集的瓦片对应的地理区域的地图分段4。可以 例如通过下述方式来获得地理区域:获取最北、最南、最东和最西瓦片, 并且跨越在它们之间的矩形地理区域。当搜索查询变得越来越具有表达力 时,对应的地理区域变得更受限,使得所显示的地图分段4的比例变得越 来越大,引起向感兴趣区域内迫近的变焦状印象。

图5A至5G的序列图示下述情况:其中,用户逐个地输入搜索查询 “HAMBURG REEPERBAHN”的字符。并行地,地图分段4的比例从示 出整个欧洲的地图分段4开始逐步地变焦,并且到达名称为“Reeperbahn” 的街道所位于的城市Hamburg的一部分的特写。

为了改善显示地图分段4的速度,可以省略地图的不太重要的细节(诸 如森林区域)。

有益地,在执行在瓦片的候选集内的穷尽性搜索之前,在所有情况下 更新地图分段4的显示,因为穷尽性搜索在计算上可能是昂贵的。

在图7中示出构成如上所述的一般方法的改进的、用于在数据库中搜 索对象的方法的另一个实施例的流程图。这种改进利用多阶段启发式搜索 手段,以便在计算速度和用户友好性上进一步改善该方法的效率,下面将 详细描述这种改进。

这种改进——以及如上所述的实施例——的目的是支持来自大瓦片 结构的地图数据库的小对象集或特定对象的定向检索。在此,用户输入具 有非结构化的多前缀搜索查询的形式,并且交互应当是渐进式的和响应 的。在具有有限资源并且没有任何网络连接的环境中必须专门提供这种功 能。

在此的术语“定向检索”指的是下述情况:当开始与搜索引擎的交互 时,用户心中有来自地图数据库的特定对象(诸如城市、街道或兴趣点) 或小的对象集。这个对象也可以被称为“用户的目标对象”。

如上所述,该方法使用数据库,其中,将空间分割为空间元素,例如, 将地图分割为四叉树的瓦片(参见图6)。因为如果数据库大(对于地图数 据库总是这情况)则可能在有限资源环境中穷尽性地搜索整个数据库是不 实用的,所以该改进的方法使用资源限制的启发搜索手段,该搜索手段的 搜索策略——粗略地——可以被描述如下。

在第一阶段(在图7中称为阶段1)中,使用特殊的启发手段来减小 其中要执行(穷尽性)搜索的搜索空间。在这种启发手段中,将特定的启 发候选集选择为搜索空间的子集,该子集具有包含用户的期望结果的高概 率。以大小增大的顺序(最小候选区域在先)来穷尽性地搜索这些(较小 的)启发候选集。

然后,在最后阶段(在第一和最后阶段之间存在更多的阶段,如下详 细所述),考虑整个空间,并且以它必须明确地包含期望结果的方式,即, 不使用任何角色相关的限制来确定一般的候选集。也穷尽性地搜索也被称 为全捕获候选集的这个候选集(省略由于瓦片在角色相关的启发候选集之 一中的成员身份导致已经穷尽性地搜索的瓦片)。

为了满足资源和响应时间限制,如果在穷尽性搜索阶段期间遇到资源 限制,则放弃搜索处理,并且向应用通知那种情况。然后,它可以例如鼓 励用户扩展查询以使得它更有表达力(例如,使用如上参考图3所述的着 色方案),因此,很有希望在下一个交互周期中找到期望的结果——如果 在这个回合中未已经找到期望的结果。整个资源极限(被表达为要在穷尽 性搜索中考虑的地图特征的最大数量)被分割为向搜索处理的各个阶段分 配的独立配额,以便向它们的每一个提供公平的机会(这种分割基于专用 启发)。

现在参考图7来详细描述该改进的方法。

如图7中所示,用户可以向运行该方法的装置的输入窗口(字段)内 输入搜索查询,该搜索查询包括N个搜索词(搜索模式)(步骤301)。然 后,在步骤302中,在输入的完成期间已经或在其之后,这个输入的搜索 查询的不同解释变化形式被生成和排序以用于进一步的搜索处理。这些解 释变化形式(也简称为“解释”)用于计算所谓的角色相关的启发候选集, 以提供减小的搜索空间。

用于角色相关的启发候选集的计算的起点是下面的观察:当用户输入 特定的搜索查询以意欲定向检索特定的目标对象时,这意味着,以他的或 她的意见,在原理上应当可能仅基于这个搜索查询来唯一地识别目标对 象,并且,这经常是(虽然不总是)实际的情况。

现在,即使用户通常不明确地详细考虑这一点,但是他或她当被咨询 时通常能够解释如何可以以清楚地识别目标对象的方式来理解这个搜索 查询。因此,该方法系统“仅”需要能够“猜测”这种解释。

因此已经调查了:如果仅使用正确的解释,则与地图搜索相关的多前 缀文本查询的哪些方面使得有可能识别目标对象(即使使用很短的查询); 以及如何可以表征这样的“正确的解释”。为此,搜索查询的单独的输入 搜索模式可以被看作采取特定的角色。这些角色在如何“表示”或“应当 解释”搜索查询的描述上是相关的。该角色此外可以通过产生用于搜索模 式的角色相关的启发候选集来允许搜索空间的显著减小。这种角色相关的 启发候选集可能比相同的搜索模式的候选集小得多,而没有角色限制。

这种减小在组合候选集的层级上甚至更有效,该组合候选集被计算为 单独搜索模式的角色相关启发候选集的交集:如果操作数的每一个(或至 少大多数)小得多地受益于角色限制,则减小效果在交集中加倍。这种集 大小的减小可能使得与没有角色限制的使用候选集的未限制情况相比,组 合启发候选集更可能是空的。

通过下述方式来获得各种搜索查询解释变化形式:在搜索查询中假设 每个搜索模式的角色,诸如“在区域名称中出现搜索模式”或“搜索模式 是对象名称的第一个词”。显然,在搜索查询中包括越多的搜索模式,则 存在这样的假设的更多可能组合。

例如,可以在第一解释中将输入的搜索查询“BER HUS”解释为包括 两个输入搜索模式“BER”和“HUS”,其第一个指示区域,并且第二个 指示对象的名称。另一种有意义的解释可以是正好以那个顺序在对象的名 称中出现输入的搜索模式。存在并且可以考虑多种其他的解释。

在主要搜索处理开始之前,在步骤302中,组合地,以使得最具体的 解释(对于其而言,角色相关的启发候选集的大多数将很小)首先出现的 方式来枚举和排序所有有意义的、非空的搜索查询解释。

这些解释随后用于引导所使用的启发搜索处理,因为通常不可能穷尽 性地搜索整个数据库。每一个解释产生被定义为可以有效地计算的角色相 关的启发候选集的交集的启发候选集,这样,如果这种解释变化形式正确 地反映用户的意愿,则提供向必然包含目标对象的搜索空间的小部分的访 问。这个小部分随后进行穷尽性搜索,以便实际上识别出匹配的数据库对 象。

下面的搜索模式角色可以例如用于在步骤302中生成搜索查询解释:

A.属性类别。数据库属性经常被表征为属于特定类别——例如,在 地图数据库中,对象具有一个名称属性和几个区域相关属性(存储对象所 位于的城市名称、区域名称和国家名称)。因此,可以通过将每一个搜索 模式看作指示特定的属性类别来实现搜索空间减小。然后,通过向用户提 供的搜索模式的每一个分配类别来(特别地)表征解释,例如,“第一词 被解释为指示名称属性,并且第二词被解释为指示区域属性”。在以那种 方式组合地可能的类别分配的大量组合中,该方法可以选择在实际查询中 很可能出现的用于进一步处理的组合的子集。最后,考虑解释其中不将搜 索模式限制为指示特定类别的变化形式。

B.具有/没有词排序限制的匹配。考虑下面两种解释变化形式:在第 一种、更具体的解释中,第一搜索模式必须匹配要匹配的对象的名称的第 一词,并且剩余的搜索模式必须匹配在对象名称内的其他词(其不在第一 位置)。换句话说,搜索查询的第一搜索模式被认为在“第一词角色”中, 其他查询词被认为在“非第一词角色”中。在第二种、更一般的解释中, 每一个搜索词可以匹配对象名称的任何词,而与它们的位置无关。

C.具有/没有词数限制的匹配。考虑下面两种解释变化方式:在第一 种、更具体的解释中,对象名称必须具有从搜索查询得出的词的数量。换 句话说,搜索模式的每一个被分配“k词角色”,其中,k是从搜索查询得 出的数量。在第二种、更一般的解释中,搜索模式的数量不被理解为暗示 在要找到的对象名称中的词的具体数量。

D.精确的/前缀匹配。每一个搜索模式可以被解释为前缀(搜索模式 匹配以特定的搜索模式开始的对象属性)或被解释为精确的模板(仅匹配 在对象属性中的精确相同的搜索模式)。因为可以独立地(并且独立于其 他角色)向所有的搜索模式分配这个角色,并且因为应当避免解释的组合 激增,该方法可以选择仅考虑这些变化形式的所选择的子集。

在实际产生并且随后穷尽性地扫描对应的角色相关的启发候选集之 前,可以首先以抽象的、符号描述符的形式枚举解释变化形式。

要从不同的查询解释产生的启发集的大小在下述程度上强烈相关:在 解释中使用更一般或更具体的角色。为了在较大的候选集之前计算和扫描 较小的候选集,考虑到所分配的角色来评估描述符。然后以对应的启发候 选集的(预期)大小的升序来重新排序描述符。

在图7中的步骤302的完成后,所输入的搜索查询的不同解释变化形 式被得到,并且在下面的步骤中被进一步处理,以计算用于特定解释的启 发候选集。

在步骤303,首先,获取根据上述的排序预期为最具体的解释。在步 骤304中,对于这个解释,通过在(主)索引数据结构或辅助索引数据结 构中的查找(例如,仅参考对象的区域属性),然后对于每一个搜索模式 (在所考虑的解释内向其分配特定的角色),确定角色相关的启发候选集, 并且,通过相交不同的搜索模式的角色相关的启发候选集,获得组合的启 发候选集(步骤305)。对于最具体的解释,这个启发候选集可能较小(如 果不是全部的最小者,因为预期该解释是最具体的),使得可以穷尽性地 搜索这个启发候选集的瓦片(步骤306),至少直到达到资源极限。然后, 在适当的显示窗口中分级和显示结果(步骤307、308)。对于要考虑的所 有解释重复这一点,并且在最后阶段中(在图7的右面),采用所谓的全 捕获解释,其中,不通过假定特定的搜索模式具有特定角色来限制搜索查 询(步骤309)。即,在最后阶段中,考虑整个搜索空间,通过在整个(主) 索引数据结构(特里结构,参见图2)中的查找来对于每一个输入搜索模 式获得(未限制的)候选集,并且通过相交候选集来得出组合候选集(步 骤310,311)。也穷尽性地搜索这种组合候选集,直到达到资源极限(步 骤312),结果被分级并与先前获得的结果合并(步骤307),并且被显示 (步骤308)。

随后将更详细地描述这样的步骤的一些。

启发候选集计算(步骤304,305)

在本方法中,以(有时紧化的)瓦片集的形式来表示所有的候选区域。 数据结构的设计在采用适度和恒定数量的存储量的情况下允许非常高效 的成员测试、包括、合并和相交操作。

引用永久的预先计算的角色相关的启发候选集的永久索引用于从搜 索查询的不同解释计算上述系列的候选集。

在这一点上,可以不同地处理输入搜索模式的不同“角色”,以确定 对应的启发候选集。

例如,为了当向搜索模式分配“区域类别角色”时计算角色相关的候 选集,可以使用辅助索引数据结构,该辅助索引数据结构例如将搜索词与 其中出现具有与搜索词匹配的区域属性的对象的瓦片集相关联。这种辅助 索引数据结构也被称为“区域索引”,并且在实际搜索方法的执行之前被 预先计算,就像其他索引数据结构那样。区域索引可以在形状和结构上类 似于在图2中所示者,但是仅将对象的区域属性与对应的瓦片的集合相关 联(通常,通过诸如其名称和其区域的几个属性来描述对象)。

因为区域索引仅将区域属性与瓦片的集合(集)相关联,所以区域索 引以及结果产生的候选集在大小上小于(主)索引数据结构以及从逐步通 过(主)索引数据结构产生的候选集。

如果输入搜索模式被解释为指示区域名称(区域是对象的属性),则 使用并且逐步通过区域索引,以便读出对应的角色相关的启发候选集。例 如,如果输入的搜索模式“BER”被解释为指示区域属性,则通过区域索 引,确定瓦片的哪个组合对应于这个特定的搜索模式,因此确定期望的角 色相关的启发候选集。因为区域属性仅是一个对象属性,所以与已经通过 使用(主)索引数据结构将输入的搜索模式与任何对象属性匹配而获得的 候选集作比较,所获得的角色相关的候选集较小。

取代使用辅助索引数据结构,或在使用这样的辅助索引数据结构之 外,也可能扩展(主)索引数据结构以确定角色相关的启发候选集。为了 这个扩展的目的,可以向树形的索引数据结构加上专用的另外分支。以这 种方式,例如,可以在(主)索引数据结构中另外预存瓦片的哪个集合对 应于具有作为第一词的所考虑的输入搜索模式的对象名称。例如,如果输 入搜索模式“BER”被解释为是在对象名称中的第一词(“第一词角色”), 则包括具有作为在它们的名称中的第一词的“BER”的对象的这样的瓦片 与这个输入搜索模式相关联。

对于低表达力搜索模式,候选集(特别是在角色未限制的情况下)较 大,并且因为下面两个原因而需要长时间来计算:必须从永久瓦片集读取 大量的瓦片编号,并且在它们的随后的存储器内的聚类为适当的瓦片集数 据结构期间,必须频繁地执行紧化。

然而,仅在索引中存在相当小数量的前缀(在西欧地图数据库示例中 的几千),它们如此无表达力以至于这个问题产生。

因此,可以使用独立的、专用永久“大”索引和集组合,其提供了用 于这些问题情况的预先紧化的、能够高效地加载的集。集查找首先试图在 大索引中找到输入项,只有其失败时,使用通常的索引和相关联的永久瓦 片集。

每一个角色相关的启发候选集的实际计算基于它对应的解释变化形 式的符号的表示。根据该变化形式,访问不同的(主和辅助)索引以从永 久集表示检索具体的部件集。然后将永久集表示加载到存储器内并且组合 (相交)以获得实际的启发候选集。

在实际的搜索会话中,多次需要组合候选集的计算所需的候选集的大 份额。因此,用于所计算的候选集的高速缓存机构保证大多数时间节省了 用于重新计算这些集的工作量。

穷尽性搜索和串匹配(步骤306)

一旦已经计算了候选集(并且该候选集是非空的),则穷尽性地搜索 它(即,在用于具体解释的步骤306中和用于未限制的情况的步骤312中)。 串匹配可能出现在:正常的“精确模式”中,其中,每一个搜索模式必须 逐个字符地匹配一些数据库对象属性;或,“近似模式”中,其中,即使 存在在搜索模式和单元属性之间的特定的“允许偏差”,也登记匹配。用 于这样的允许的偏差的一些示例是(没有一般性的限制):

-使用在搜索模式中的可区别字符的“基本字符”(例如,‘o’),即使

对象属性包含原始可区别字符(例如,),

-使用在搜索模式中的特殊字符的直译(例如,‘ss’),即使数据库属 性包含原始特殊字符(例如,“β”),

-使用原始搜索模式的误键入的、但是可识别的变化形式(例如, EIFEL TOWER),而不是实际数据库属性(EIFFEL TOWER)。

一旦达到面向资源的极限或已经找到足够的匹配,即,达到匹配数量 的应用相关极限,则整个穷尽性搜索处理停止。

为了在候选集(或角色相关的启发候选集)的计算期间已经支持这样 的不精确的匹配,该方法可以使用“丰富的”预先计算的索引数据结构, 该索引数据结构不仅包含在数据库对象的属性中出现的原始词,而且包含 如上所述的这些词的变化形式。该方法也可以使用技术来通过下述方式当 被提供误拼但可识别的搜索模式时从索引数据结构检索在数据库对象属 性中出现的原始词:首先识别在索引中不存在的一个或多个类似词,然后 检索正确的相关联的瓦片集合。该方法也可以使用这两种手段的组合。

结果分级(步骤307)

用户不仅要在结果列表中看到目标对象,而且期望在接近结果列表的 顶部处看到它。为了实现这一点,使用多种指示符(有时在文献中称为信 号)来评估每一个结果的相关度。每个指示符是数值,该数值用于表达是 否或在什么程度上评估结果数据库对象的一些属性可能使得这个对象与 用户相关。这些属性和它们的相关联的指示符可以被划分为类别如下:

语义数据库固有属性:特定的数据库对象比其他数据库对象具有与平 均用户相关的更高概率。这个类别的指示符仅使用关于数据库内容的语义 知识来评估数据库对象本身。例如,较大的城市或街道可能比较小的城市 或街道被分级为更重要。

查询匹配属性:这个类别的指示符在词汇和句法层级上工作,而不使 用语义知识。作为代替,它们对查询如何与数据库对象匹配的细节进行评 估。例如,可以比不精确的匹配更重要地分级精确的匹配。

最终的分级是所有指示符的加权组合。该方法可以在向用户提供结果 列表之前直接地使用由这个分级暗示的排序或应用另外的重新排序技术 (例如,根据特定的共同特性来对结果聚类)。

随后,描述可以在该方法的进一步的改进中使用一些另外的思想。

另外的思想

在多个数据库上搜索:

经常地,不是用户要搜索的所有数据都可以被容纳在同一个数据库 中。在该情况下,通过下述方式来扩展搜索处理:使用几个独立的搜索处 理但是使用同一分级方案将结果整合在单个结果存储区中。单独的搜索处 理可以或者是前述种类的或者可以是完全不同的外部搜索处理,其结果被 适配,因此它们可以被公共分级阶段处理。

在图8中可视化了这一点。在此,图形描述不意味着暗示由垂直框指 示的单独搜索处理的具体排序。

在图8的示例中,输入包括N个输入搜索模式的搜索查询(步骤401)。 在步骤402至405中,基于所输入的搜索查询,在不同的数据库中执行搜 索。步骤402可以例如对应于使用如上所述类型的搜索方法在数据库中的 搜索。步骤403可以对应于在不同数据库中但是使用类似的搜索方法的搜 索。步骤404和405可以对应于使用完全不同的搜索方法在再一次不同的 数据库的搜索。

在步骤406和407中,外部搜索处理的结果被适配得与步骤402和403 的结果可兼容(例如,在它们的格式上),使得可以在步骤408中分级、登 记和合并并且在步骤409中一起显示结果。

可以或并行地或依序地执行搜索处理(步骤402至405),其顺序可以 适应于应用。

源数据库的查询表达力引导的选择:

早期在用户输入期间,(部分的、不完整的)搜索查询由于其低表达 力不足以用于在大的数据库中的任何有意义的搜索空间减小。有可能枚举 在该情况下的实际的匹配,但是它们对于用户看起来相当混乱并且无用。 当查询的表达力是相对于它被应用到的数据库的大小时,可以在该情况下 通过仅考虑数据库的较小的选择部分(数据库的分段),或在多数据库搜 索的情况下通过仅考虑可获得的源数据库的子集来减轻这一点。

除了一些默认的数据库源(或分段)之外,如果查询的表达力(相对 于这个数据库或相对于被选择为近似代表的一些源数据库来考虑)超过特 定阈值,则每一个可获得的源数据库(或数据库分段)仅被包括在搜索处 理中。在导航应用中,如果查询的表达力小于特定阈值,则搜索处理可以 例如在下面的来源上运行:

-地图数据库分段,其中,仅考虑重要的城市和飞机场,

-用户的喜好目的地列表,

-特定地图对象的缩写的补充数据库(例如,利用官方在车辆车牌上 使用的代码缩写的城市)。

在此,不是使用搜索查询串的长度本身,而是使用搜索串的表达力来 确定在搜索处理中的数据库源或分段的包含物。表达力不严格地与查询长 度相关:在数据库中不常出现的诸如XYZ的短查询仍然是高度有表达力 的,而诸如BAHNHOFSTRASSE的很长查询具有较低的表达力,因为这 个名称的街道存在于成千上万的城市。在此所述的方法使得能够有效地获 得给定的搜索词的表达力的估计——它与其(一般)候选集的大小反相关。

频繁选择的喜好结果的自学习快速搜索:

可能存在与导航应用中例如到用户频繁访问的目的地的对应的、用户 较常搜索的数据库对象。为了缩短用于检索这样的对象的交互,使用下面 的方法:

每次用户从结果列表选择对象并且将其传送到在所述应用中的进一 步的处理(例如,在导航应用中的目的地的选择和路由计算的开始)时, 在永久存储的喜好结果列表中登记所选择的对象。该列表按每一个用户存 储——如果周围的系统或应用支持多个用户,则将存在多个永久列表。该 列表可以或者存储对于数据库对象的引用或者存储唯一地表征目标对象 的结果属性(如在搜索结果列表中一般使用的那样)。

然后将喜好列表作为外部数据库整合到一般的搜索处理中,并且从由 如上所述的表达力引导的数据库源选择处理的查询输入的较早阶段中包 括。

词级模糊匹配和关联搜索:

如上所述的搜索空间减小技术在瓦片集的层级上工作。这意味着对于 在查询中的每一个搜索模式保证候选集包含与这个模式匹配的某个对象 (并且,在对于产生这个候选集的解释所指定的角色中如此进行),但是 不保证存在同时匹配所有的输入搜索模式的单个对象。在穷尽性搜索和串 匹配阶段中识别实际匹配,并且很经常地,在这个阶段期间遇到的对象仅 匹配输入搜索模式的一些。

取代丢弃这些不完整的匹配,它们可以被处理如下:

-如果满足一些另外的要求(例如,必须存在在对象的名称属性上的 至少一个匹配),则将特定数量的非匹配词当作可接受的。

-在结果列表中为不完整的匹配标记其不完整的程度(即,不产生匹 配的搜索词的数量),

-以不完整匹配不“旁推”任何找到的完整匹配的方式来在结果分级 中考虑这个程度,并且/或者

-当提供结果列表时特殊地标记不完整的匹配,因此,用户立即识别 它们并且知道它们不完整。

这种技术提供了基本的关联搜索功能如下:如果用户输入其组合例如 不完全匹配任何单独的数据库对象、但是引用位于同一地图瓦片内的两个 对象的两个搜索模式,并且如果这种组合仅出现在一个地图瓦片或小的地 图瓦片集中,则在搜索空间减小阶段期间计算的候选集之一将包含这个瓦 片,并且,词级模糊匹配将识别被引用的对象两者,并且将它们登记为词 级模糊结果。

通过这样,例如查询“NEUE OSTKR”检索街道“NEUE  BAHNHOFSTRASSE”变得有可能。这个对象不匹配输入搜索模式 “OSTKR”,但是与德国柏林的火车站OSTKREUZ位于同一瓦片(并且 因此与其接近)。

在另一种改进中,该方法通过包括相邻的瓦片来在计算组合候选集之 前修改单独的候选集。这使得关联搜索能够找到不位于同一瓦片内、但在 两个相邻瓦片内的对象的组合。

替代的输入方法:

与搜索特征一起使用诸如语音输入或手写识别的输入方法可以在不 同的应用环境中是吸引人的。这样的输入方法和相关联的软件通常产生用 户说话的文本表示,其可以在此处描述的类型的文本搜索方法中使用。

使用此处描述的方法,集计算的使用打开了与这样的输入方法整合的 另外的道路。因为这些方法通常基于概率方法,所以它们经常不仅提供单 个输出文本,而且提供分级的变化形式列表。

如例如在图9中所示,用户可以通过语音输入来输入两个词,系统将 该两个词解释为作为最高分级的结果的(槽1)和“Bremerhaven” (槽2)。在此为每一个词分配所谓的槽。在该情况下,不可能毫无疑义地 识别用户的语音输入,因此,第二分级结果是(槽1)和 (槽2)。语音输入系统已经确定的概率被指示为用于在槽 1中的结果的0.7对0.3和用于在槽2中的结果的0.6对0.4。

当不保证在每一个槽中的最佳分级的结果表示实际用户说话时,来自 不同槽的结果的任何组合可以表示实际说出的搜索查询。

在此处描述的方法中使用的候选集计算可以容易地排除可能组合的 许多,如图9中所示:相交用于一对槽的(明确的)候选集可以产生空集 (由点箭头指示),因此在数据库中不存在与搜索模式的这个组合的任何 匹配。这意味着,通过仅计算和相交候选集,已经消除了可能槽组合的一 半。两个非空组合候选集包含不同质量的两个匹配:是精确的匹配(在图9中使用连续箭头示出)。仅产生在图9中使用划线箭头图示的前缀匹配 (BREMERHAVENER STRASSE)。如果可以预期用户总是发出完整的词 而不是前缀,则可以使用利用“精确的”角色的角色相关的候选集来进行 集计算,在该情况下,组合也产生空的组合 候选集——即,已经在集计算级上消除了所有错误的组合。

通常,可以以那种方式以很低计算成本从进一步的考虑消除相当大数 量的槽输入项的组合。

超级索引的使用

此处描述的搜索方法也可以用于媒体播放机和机顶盒应用,以容易基 于搜索地访问大的媒体数据的集合,可以使用该搜索方法来对于该媒体数 据的元数据加索引。当媒体数据没有自然的几何嵌入时,它们可以被分配 人工瓦片编号。

媒体播放机和机顶盒的遥控器经常具有很有限的键盘,因此,在使用 减小的键盘的先前部分中描述的技术可以是有益的。

可能地,在本上下文中的改进中,可以从中央数据库取出需要移动到 媒体播放机装置的元数据信息的一些或全部。可以例如对于音乐文件如此 进行,音乐文件的大多数以某种方式源自已经初版并且(在大多数情况下) 已经在全球数据库中注册的光盘。因此变得有可能从全球数据库建立超级 索引,并且使用这个超级索引来搜索在装置上实际安装的媒体文件的小子 集。作为前提,必须登记本地安装的文件,因此,可以容易地访问与给定 的瓦片编号相关联的文件。可以通过将它们分类到简单的特里结构形的索 引结构来如此进行。在计算人工瓦片编号后,使用超级索引来探测媒体文 件的可找到性:从媒体文件的元数据构造的搜索查询必须产生包含人工瓦 片编号的候选集。如果不是这种情况,则媒体文件对于全球数据库未知。 对于像这样的情况,小辅助数据库可以被保留在装置上,并且被整合到搜 索处理中。

本发明不限于如上所述的实施例。例如,本发明不限于在二维平面中 的导航的实现方式,而是也可以适用于对于航空或航天应用能够感知的三 维空间,该三维空间被八叉树而不是四叉树分割,或本发明可以适用于一 维搜索空间(例如,在电子书籍中的页面)。

如对于上面的媒体播放机情形已经描述的那样,该方法也可以通过下 述方式用在其中原始数据库对象根本没有空间引用的应用中:通过建立原 始数据的人工空间嵌入,即,通过在k维空间中向每一个数据对象分配人 造位置。

该方法也可以被应用在联网或连接的情形,在该情形中,不必然在同 一计算装置上进行查询输入、结果呈现和搜索处理的执行,而是可以将它 们分布在通过网络和/或通过其他双向或单向通信链路连接的几个计算装 置上。一个示例是基于因特网的应用,其中,用户在网络浏览器中显示的 网页上示出的输入字段中输入搜索查询,然后向其中执行本方法的服务器 发送该查询,并且,通过网络向回发送结果并且在所述网页的动态部分中 显示该结果。另一个示例是媒体中心装置,其具有使用红外线通信链路的 遥控器,其中,在媒体中心装置上执行本方法,以便使得能够搜索附接到 媒体文件或信道的名称或文本描述,在遥控器上的键盘被用户使用来输入 搜索查询,并且,附接到媒体中心装置的电视机用于向用户显示结果。

附图标记列表

1、1a、1b 输入窗口

1’ 窗口

10、11 阴影

2 输出窗口

3 键盘

31 按键

4 地图分段

5 地图

51 地图瓦片

52 下一级瓦片

101-105 步骤

102a、102b 候选集

104a 组合候选集

200 特里结构

201 根

202 边

203 节点

204 瓦片编号的文件

205 空间元素的集合

206 空间元素的集合

301-312 步骤

401-409 步骤

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号