另外实施例中,数据源155可进一步分类并且组织成若干群组。所述分组的一个潜在实施例是参考源(如参考源160)、结构化知识数据库(如结构化知识库170)以及个别位置(如个别网站来源180)的分组。参考源可为例如商业数据库、联机旅游指南、联机关注点指南、商业众包数据库或标准知识的其它这类公共来源。结构化知识库可包括联机目录,如OpenStreetMap?或Google Places?。这类结构化知识库可为众包、专业编辑和维持的,或两者的混合。这类结构化知识库可经密码保护或包含支付要求以存取通过以可能减慢信息存取的方式提供的信息。个别网站可为描述个别关注点的一或多个公开可用的独立网站。这类网站可由关注点的商店或拥有者,或由出于在其自己的网站描述关注点的目的创建网站的第三方公共个体创建和操作,并且不作为数据库、知识库或指南的一部分。这类网站可单独地解析或采集以识别与个别关注点相关的元数据。
[0062]以所述方式将数据源分组可使得能够在查询与数据源的通信中额外排序。举例来说,在一个实施例中在某一类别中分组数据提供者可被指定默认数据源优先级。某一类别的所有数据提供者可处于优先级带中以使得所有这类数据源比来自不同类别的所有数据源优先级高。数据源然后根据其在类别内的优先级串联查询。每个个别来源可在群组内具有不同优先级,并且这一优先级可随时间随着个别数据源性能变化而变化。
[0063]在另一个潜在实施例中,可首先查询每个类别的最高优先级数据源。举例来说,可首先查询最高优先级参考源作为查询162。在接收响应作为元数据164之后,可查询最高优先级结构化知识库作为查询172。在接收响应元数据174之后,可查询最高优先级个别网站作为查询182。在接收响应元数据184之后,对数据源的额外查询可无关于群组以质量的总体顺序进行。
[0064]在这类实施例中,系统将首先在模块140处从参考源160接收元数据164。然后元数据164可连同与元数据164相关的质量数据(如响应时间)发送到模块130。系统可使用元数据164作为响应190的一部分立即响应于POI搜索请求112。在替代实施例中,系统可等待创建合并元数据。如果响应在用其它元数据的任何合并之前使用元数据164发送,那么语言分析模块150可分析元数据164以将元数据164中的信息与预定义系统类别关联。举例来说,元数据164可包含标记为“地址”的位置信息,而系统可用如下文所描述的“位置”标识符识别这类信息。
[0065]在这个实例中,当元数据174随后在模块130处接收并且发送到语言分析模块150时,可通过将元数据164与元数据174整合来创建合并元数据。由不同数据提供者检索的元数据可能在语义上不同。这意味着POI的地址可被参考源160称为“地址=X”并且被结构化知识库170称为“位置=Y”,尽管X和Y是相同值。POI类型在一个数据源中对于电影院来说可为“类型=电影院”,但可被不同数据源分类为“类型=影剧院”。为了调解这些语义差异,语言分析模块150可使用编码词表或辞典的语言本体。
[0066]所述本体可用于通过在本体网络(或图)上操作的类似性算法发现类似性并且匹配元数据条目(例如“电影院”将被视为类似于“影剧院”)。如果识别两个类似条目,系统可比较条目值的值:在值相同(例如如果以上X = Y)的情况下,那么X可按照原状返回。或者如果X不等于Y,那么可使用字符串/值类似性算法检测两个值多么类似。如果其类似,那么任一者可返回,否则值不一致并且其可作为冲突元数据丢弃。
[0067]在合并元数据之后,将合并元数据发送到装置110作为响应190。如果先前仅使用元数据164发送响应,那么合并元数据可作为合并元数据更新发送。这可能发送完整合并元数据来替换先前发送的元数据。或者合并元数据更新可仅包含发送到装置110的先前元数据的变化。
[0068]在这个实例中,当接收、处理并且合并额外元数据,如元数据184时,额外元数据更新可发送到装置110。属于不同群组的元数据将在不同时间返回,因为数据源在不同时间响应并且某些查询可通过接收先前响应门控。初始响应190可用于快速为装置110提供用户101的POI概述,同时通过网络检索额外元数据。如果更多元数据变得可用,那么装置110上的接口适合于呈现所接收的额外信息作为更新的合并元数据。在某些实施例中,在任何时候用户可中断更新的合并元数据流以停止接收额外更新,或用户可选择使所有合并元数据在接收之后立即展示而不必须等待所有元数据显示。
[0069]另外,在接收元数据期间或之后的任何时间,模块130可起允许或引导与个别POI的查询相关的质量测量的作用。举例来说,当每个响应元数据和源质量数据消息188传输到模块130时,模块可识别源质量数据并且立即更新源质量。对所述数据源的随后查询可使用更新的源质量。举例来说,如果源质量数据是其中数据源优先级是基于一组响应时间度量值的系统中的响应时间,那么系统可立即更新响应时间度量值和相关源优先级等级。或者,源质量数据可在稍后的时间存储和分析以更新数据源优先级。
[0070]另外,在某些实施例中,元数据自身可视为源质量数据。在这类实施例中,可设定机制以评估元数据的值。举例来说,当来自特定来源的元数据不正确时用户反馈或质量控制可识别。当来自特定数据源的元数据与来自其它来源的元数据冲突时,或当来自装置110的用户反馈指示元数据错误时,这类系统可另外自动化以创建评审或指示。系统反馈可基于来自特定数据源的元数据识别为错误的频率识别源质量等级或权重,并且数据源优先级可基于所述等级。[0071 ] 在额外实施例中,上文所描述的机构可实施为在规则引擎内的一组规则或在任何计算装置内的规则模块。数据提供者的分组和优先排序可通过适当使用规则显著性实现。元数据的规则的合并和调解也可在规则引擎知识库内实施,所述知识库可包含如上文所描述的语言分析。因此规则引擎可包括一组模块或功能元件,其应用如上文所描述的规则以按照从测量的数据源质量确定的优先级将数据源排序。
[0072]另外,应了解单一 POI搜索请求可识别适当响应于单一搜索请求的多个关注点。上文所描述的系统和方法可因此同时请求来自单一数据源的用于多个POI的元数据。在一个潜在实施例中,对POI的初始搜索通过模块130执行或通过模块130结合POI识别系统管理。在识别足够数目的POI后,通过元数据通信模块140管理识别的每个个别POI的查询和元数据响应。对个别POI的这类查询可分组并且一起发送,但仍然可包括对关于个别POI的信息的查询。个别POI的元数据的响应可类似地单独或以群组形式接收,并且然后个别POI的元数据可与语言分析模块150合并。
[0073]在一个替代实施例中,POI可不首先通过模块130识别。实际上,对数据源的初始查询可基于POI搜索请求112中的信息。个别POI可然后通过模块130使用响应元数据,如元数据164、174以及184识别。元数据可然后使用语言分析模块150合并,但在这类实施例中,可使用来自响应元数据的识别POI创建额外查询。举例来说,如果元数据164中的来自参考源160的响应识别Ρ0Ι,那么可进行额外查询以从与识别的POI相关的个别网站180采集和/或解析细节。当识别个别网站180时,其可基于针对个别网站识别的数据源质量与任何其它突出查询按顺序放置。个别网站的默认源质量可自动将所述数据源放置在列表底部,或个别网站具有从初始响应元数据遗漏的重要信息的指示可给予个别网站高数据源质量以使得其将跳转到查询顺序的顶部。
[0074]虽然以上的各种描述关于图1的特定实施例描述,应了解替代实施例(包含描述的那些)以及额外实施例可用图1的元件以不同顺序,或用分隔、合并或组织在替代结构中同时仍然执行如上文所描述的功能的元件起作用。
[0075]图2现在描述一种可充当一个实施例的方法。虽然图2的方法可关于图1的系统的元件描述,应了解其可另外用其他实施例起作用,包含图3的装置,或可执行由任何元件或模块描述的功能的其它计算装置或联网系统。
[0076]在S202中,包含处理元数据的规则引擎的计算装置处理POI搜索请求。计算装置可为如图1的POI搜索计算机120的服务器,或可为如图3的移动装置300的装置。在这类实施例中,用于语言分析、POI搜索处理以及数据源质量测量的模块可视为用于处理元数据的规则引擎的一部分。
[0077]在S204中,计算装置使用搜索处理模块(如模块130)识别多个数据源。每个数据源具有存储在系统中或可通过所述搜索处理模块存取的数据源优先级值。如上文所描述,这类优先级可基于响应时间、用户选择、数据质量、随时间由系统测量的历史数据或任何其它这类数据。所述多个数据源可包括至少两种不同群组或类型的数据源,包含选自一组包含第一参考源(如参考源160)、第一结构化知识库(如结构化知识库170)以及第一个别网站(如个别网站180)的群组的两个。
[0078]在S206中,针对与搜索请求相关的元数据查询来自S204的多个数据源。这一查询过程可由如元数据通信模块140的模块管理以基于来自S204的数据源质量使这些查询依序。
[0079]在S208中,计算装置例如通过元数据通信模块140接收对查询的响应。对于多线程系统,响应可以与由于数据源之间的性能差异发送查询的顺序不同的顺序接收。
[0080]在S210中,计算装置使用例如图1的POI搜索和质量模块130或图3的数据源质量模块326测量所述多个数据源中的每一个的至少一种源质量,如响应时间。
[0081]在S212中,计算装置可使用语言分析识别匹配POI搜索请求的多个数据源的元数据条目以合并来自多个来源的元数据。虽然单一语言分析模块150展示于图1中,在各种具体实例中个别关注点的元数据条目的分析可通过多个分析系统的组合以多个不同方式分析以识别响应于S202的POI搜索请求的每个POI的元数据。
[0082]在S214中,计算装置使用合并元数据响应于POI搜索请求以例如将合并元数据从模块130传送到图1的装置110,或以在图3的显示模块303上显示来自POI搜索处理324的合并元数据。
[0083]在S216中,存储在计算装置上或可通过计算装置存取的数据源优先级使用每个数据源的测量源质量更新。这一更新可在接收数据时出现,或可在用于质量分析的计算资源可用时的时间表下存储于待处理的批次中。
[0084]图3是说明可结合本文描述的实施例使用以实施用于POI搜索的数据提供者的分级编排的移动装置的一个潜在实施例的框图。系统可为移动装置300,其可为任何移动装置,如智能电话、蜂窝式电话、个人数字助理、平板计算机、个人媒体播放器,以及提供类似或组合功能的任何其它类型的便携式电子装置。应了解,装置300还可包含触觉按钮、功率装置(例如,电池)以及通常与便携式电子装置相关的其它组件。因此,图3不应理解为限制,因为省略了一些组件。
[0085]相比于图1,其中装置110仅展示为将POI搜索请求转发到POI服务器120,在图3中,移动装置300可执行处理和语言分析以合并来自多个数据源的元数据。这类处理可通过与数据源(如图1的数据源155)联网通信的移动装置300上的硬件电路、固件或软件模块的任何组合执行。在图3中,用于编排数据源和处理元数据的模块展示为语言分析模块322、POI搜索处理324、元数据通信模块325以及数据源质量模块326。
[0086]在某些实施例中,POI搜索处理324可执行与POI搜索处理和质量测量模块130的那些功能类似的功能。类似地,在某些实施例中,多线程元数据通信325可执行与图1的元数据通信模块140的那些功能类似的功能。虽然在图1中,POI搜索请求112和响应190经由装置110与POI搜索计算机120之间的网络通信,在图3中这类请求和响应可经由用户输入模块304接收并且经由显示模块303输出到用户。
[0087]虽然这些以存储在存储器320中以便由处理器310执行的单独模块形式显示于图3中,在各种实施例中,这些可结构化为单一应用程序,或在具有一或多个处理器的计算装置上操作的硬件、软件以及固件的任何组合。在一些实施例中,模块321到326中的一或多个由处理器310实施。这些模块可经由总线340上的无线通信模块311,或经由任何其它可接受的装置与数据源通信。另外,用于编排数据源和处理元数据的这类模块可使用移动装置300的操作系统323连同其它应用程序模块321起作用。
[0088]移动装置300可因此包含用于接收POI搜索请