使用混合学习模型来对搜索结果重新排序的制作方法

文档序号:17728055发布日期:2019-05-22 02:39阅读:150来源:国知局
使用混合学习模型来对搜索结果重新排序的制作方法

申请人要求于2016年10月28日提交的现有共同未决的临时申请序列号62/414,638的优先权权益,该申请全文以引用方式并入本文。

本发明整体涉及搜索技术,并且更具体地,涉及在客户端上使用混合学习模型将搜索结果重新排序。



背景技术:

用户会经常执行查询搜索以查找网页上的信息或来自一些其他数据源的信息。查询搜索在客户端接收到查询字符串时开始,该查询字符串被发送至搜索服务器。该搜索服务器接收查询字符串并且在搜索索引中搜索与该查询字符串匹配的结果。搜索服务器随后将结果返回到客户端。此外,客户端也可以使用此查询字符串搜索本地数据。每个结果将包括用于对搜索结果进行排序和呈现的排序分数。具有较高排名的搜索结果呈现在具有较低排名的结果的上方。

这些结果带来的挑战是如何呈现结果。例如,搜索结果可以具有原始排序,但是该排序可能不反映用户的偏好。在该示例中,在客户端接收并呈现结果之后,用户可以采用结果中的一些(例如,点击其中一个结果的链接并花时间与该链接引用的网站进行交互)并且还可以放弃结果中的一些。这些采用结果可以指示用户喜欢或不喜欢的搜索结果的类型。此外,还有其他类型的数据可用于确定用户喜欢哪些结果,但这种类型的数据通常是设备私有的。



技术实现要素:

本发明描述了一种生成重新排序模型的方法和设备装置,该重新排序模型用于在客户端设备上将多个搜索结果重新排序。在一个示例性实施方案中,该设备从服务器接收众包域内模型,其中该域内模型是至少基于与多个其他设备交互的多个用户的设备交互而生成的搜索结果重新排序模型。该设备还从众包域内模型和本地模型生成重新排序模型,其中本地模型包括表示设备用户与该设备的交互的私有数据,并且重新排序模型用于将多个搜索结果重新排序。

在一个实施方案中,公开了一种机器可读介质,其具有可执行指令,该可执行指令用于使一个或多个处理单元执行方法以生成用于在客户端设备上将多个搜索结果重新排序的重新排序模型。在该实施方案中,该方法从服务器接收众包域内模型,其中该域内模型是至少基于与多个其他设备交互的多个用户的设备交互而生成的搜索结果重新排序模型。此外,该方法还从众包域内模型和本地模型生成重新排序模型,其中本地模型包括表示设备用户与该设备的交互的私有数据,并且重新排序模型用于将多个搜索结果重新排序。

在一个实施方案中,该机器可读介质方法从服务器接收众包域间模型,其中该众包域间模型指示多个搜索域中的哪个搜索域将被排在该多个搜索域中的其他搜索域上方。此外,该机器可读介质方法从众包域间模型和本地模型生成重新排序模型,并且该众包域间模型用于混合来自多个搜索域的多个搜索结果。此外,该机器可读介质方法向服务器发送一组原始特征,其中该组原始特征包括客户端设备的用户与该客户端设备的交互的特性。此外,该组原始特征不显露有关客户端设备用户的私有数据。

在一个实施方案中,存在多个域内模型,其对应于用于生成多个搜索结果的多个搜索域。此外,众包域内模型的选择至少基于与客户端设备相关联的本地。此外,该重新排序模型是神经网络模型,并且该神经网络模型是至少基于该组原始特征来训练的。

在另一个实施方案中,一种方法通过由客户端设备从用户接收搜索查询来将多个搜索结果重新排序。该方法还在客户端设备上在多个搜索域上生成多个搜索结果,其中根据第一排序来将该多个搜索结果排序。此外,该方法生成重新排序模型,其中该重新排序模型包括多个域内模型,该多个域内模型是至少基于与多个其他设备交互的多个用户的设备交互而生成的,并且多个搜索域中的每个搜索域对应于多个域内模型中的一个域内模型。此外,该方法使用重新排序模型通过客户端设备将多个搜索结果重新排序,并使用第二排序来呈现该多个搜索结果。

在一个实施方案中,存在多个域内模型,其对应于用于生成多个搜索结果的多个搜索域。该多个搜索域包括多个设备上搜索域和多个设备外搜索域。该多个设备上搜索域中的每个设备上搜索域选自文本消息、电子邮件、联系人、日历、联系人、音乐、电影、照片、应用程序状态和已安装的应用程序。在一些实施方案中,该多个设备外搜索域中的每个设备外搜索域选自地图搜索域、媒体商店搜索域、在线百科全书搜索域和站点搜索域。此外,还从设备用户的存储在客户端设备上的私人信息来生成域内模型。此外,该方法使用对应的域内模型来对多个搜索域中的一个搜索域中的多个结果的域子组进行重新排序。

在一个实施方案中,公开了一种机器可读介质,其具有可执行指令,该可执行指令用于使一个或多个处理单元执行将多个搜索结果重新排序的方法。在该实施方案中,该方法通过客户端设备从用户接收搜索查询。该方法还在客户端设备上在多个搜索域上生成多个搜索结果,其中根据第一排序来将该多个搜索结果排序。此外,该方法生成重新排序模型,其中该重新排序模型包括多个域内模型,该多个域内模型是至少基于与多个其他设备交互的多个用户的设备交互而生成的,并且多个搜索域中的每个搜索域对应于多个域内模型中的一个域内模型。该方法还通过客户端设备使用重新排序模型将多个搜索结果重新排序。此外,该方法使用第二排序来呈现多个搜索结果。

在另一个实施方案中,多个搜索域包括多个设备上搜索域。此外,该多个设备上搜索域中的每个设备上搜索域选自文本消息、电子邮件、联系人、日历、联系人、音乐、电影、照片和已安装的应用程序。此外,还从设备用户的存储在客户端设备上的私人信息来生成域内模型。该机器可读方法另外使用对应的域内模型来对多个搜索域中的一个搜索域中的多个结果的域子组进行重新排序。多个搜索域还可以包括多个设备外搜索域,并且可以从设备用户的存储在客户端设备上的私人信息来生成。该方法还可以使用域间模型对多个搜索域进行重新排序。此外,该重新排序模型是神经网络模型,并且还可以包括策略模型。

在另一个实施方案中,公开了一种机器可读介质,其具有可执行指令,该可执行指令用于使一个或多个处理单元执行方法以生成用于在客户端设备上将多个搜索结果重新排序的众包模型。该方法从多个设备接收原始特征,其中结果特征是指示多个设备的用户如何使用这些设备的数据并且原始特征不显露关于用户的私有数据。此外,该方法从原始特征生成众包模型,其中该众包模型包括用于将对多个搜索域之一的搜索查询的搜索结果重新排序的众包内域模型,以及用于将提供搜索查询的搜索结果的多个搜索域重新排序的众包域间模型。该方法还公开了响应于请求众包模型的客户端设备,将众包模型发送到客户端设备。

在一个实施方案中,客户端设备请求是客户端设备对接收众包模型的确认。此客户端确认请求可以是对允许收集诊断数据的确认请求。

在另一个实施方案中,一种方法生成用于在客户端设备上将多个搜索结果重新排序的众包模型。该方法从多个设备接收原始特征,其中结果特征是指示多个设备的用户如何使用这些设备的数据并且原始特征不显露关于用户的私有数据。此外,该方法从原始特征生成众包模型,其中该众包模型包括用于将对多个搜索域之一的搜索查询的搜索结果重新排序的众包内域模型,以及用于将提供搜索查询的搜索结果的多个搜索域重新排序的众包域间模型。该方法还公开了响应于请求众包模型的客户端设备,将众包模型发送到客户端设备。在一个实施方案中,客户端设备请求是客户端设备对接收众包模型的确认。此客户端确认请求可以是对允许收集诊断数据的确认请求。

在一个实施方案中,公开了一种设备,该设备将多个搜索结果重新排序。该设备包括处理器和通过总线耦接到该处理器的存储器。该设备还包括由处理器从存储器执行的过程,该过程使处理器从用户接收搜索查询,并在多个搜索域上生成多个搜索结果。该过程还使处理器生成重新排序模型,由客户端设备使用该重新排序模型将多个搜索结果重新排序,并使用第二排序来呈现该多个搜索结果。此外,根据第一排序将该多个搜索结果排序,其中该重新排序模型包括多个域内模型,该多个域内模型是至少基于与多个其他设备交互的多个用户的设备交互而生成的,并且多个搜索域中的每个搜索域对应于多个域内模型中的一个域内模型。

还描述了其他方法和装置。

附图说明

本发明以举例的方式进行说明,并且不仅限于各个附图的图形,在附图中类似的标号指示类似的元件。

图1是返回搜索结果的系统的一个实施方案的框图,其中客户端将搜索结果重新排序。

图2是接收客户端的原始特征并使用原始特征来生成众包模型的系统的一个实施方案的框图。

图3是来自多个搜索域的搜索查询的一组搜索结果的一个实施方案的图示。

图4是用于将这组搜索结果排序的一组层的一个实施方案的图示。

图5是从众包域模型和设备上敏感数据生成的本地域模型的一个实施方案的框图。

图6是使用域内模型和域间模型将搜索结果重新排序的搜索系统的一个实施方案的框图。

图7是生成域内模型和域间模型的过程的一个实施方案的流程图。

图8是使用域内模型和域间模型将搜索结果重新排序的过程的一个实施方案的流程图。

图9是生成众包域内模型和域间模型的过程的一个实施方案的流程图。

图10是生成域内模型和域间模型的重新排序模型模块的一个实施方案的框图。

图11是使用域内模型和域间模型生成重新排序搜索结果的重新排序器模块的一个实施方案的框图。

图12是生成众包模型模块的一个实施方案的框图,该模块生成众包域内模型和域间模型。

图13示出了可与本文所述的实施方案一起使用的典型计算机系统的一个示例。

图14示出了可与本发明的一个实施方案一起使用的数据处理系统的示例。

具体实施方式

描述了一种将从设备上的搜索服务器接收的多个搜索结果重新排序的方法和设备装置。在以下说明中,阐述了许多具体细节,以提供对本发明的实施方案的彻底解释。然而,对于本领域的技术人员显而易见的是,本发明的实施方案可在不具有这些具体细节的情况下被实施。在其他情况下,尚未详细示出熟知的组件、结构和技术,以免模糊对本说明的理解。

在本说明书中提及“一个实施方案”或“实施方案”是指结合该实施方案描述的特定特征、结构或特性可被包括在本发明的至少一个实施方案中。在本说明书中的各个位置出现短语“在一个实施方案中”不一定都是指同一个实施方案。

在以下描述和权利要求中,可以使用术语“耦接”和“连接”及其派生词。应当理解,这些术语并非意在彼此同义。“耦接”被用于表示可能或可能不彼此直接物理或电接触的两个或更多个元件彼此合作或交互。“连接”被用于表示彼此耦接的两个或更多元件之间通信的建立。

以下附图中所示的过程由处理逻辑执行,该处理逻辑包括硬件(例如,电路、专用逻辑等)、软件(诸如在通用计算机系统或专用机器上运行的软件)或两者的组合。虽然下文按照某些顺序操作来描述这些过程,但应当理解,所述的某些操作可以不同的顺序来执行。此外,某些操作也可并行执行而非按顺序执行。

术语“服务器”、“客户端”和“设备”旨在一般性地指代数据处理系统,而不是具体地指代服务器、客户端和/或设备的特定形状要素。

描述了一种将从设备上的搜索服务器接收的多个搜索结果重新排序的方法和设备装置。在一个实施方案中,该设备使用从模型服务器接收的众包模型将在设备上接收的搜索结果重新排序。在该实施方案中,模型服务器从周期性地从多个设备接收的原始特征生成众包模型。原始特征是指示设备的使用的数据(例如,用户采用的结果的类型、用户放弃的结果的类型、应用程序使用历史、用户如何与设备上已安装的应用程序(例如,联系人、日历、电子邮件、音乐和/或其他已安装的应用程序)交互)。在一个实施方案中,从不同设备收集的每个原始特征是匿名的,使得发现设备的原始特征将不会导致发现存储在该设备上的个人数据或哪个设备贡献了该原始特征。

利用这些原始特征,模型服务器可以生成两种类型的众包域模型:域内模型和域间模型。在一个实施方案中,该设备可以使用域内模型来将搜索域内的搜索结果排序。对于设备支持的不同设备上搜索域,可以存在多于一种域内模型。例如,在一个实施方案中,对于每个设备上搜索域,可以存在单独的域内模型,或者对于一些或所有设备上搜索域,可以存在一个或多个共同的域内模型。该设备可以使用域间模型来将搜索域排序。在该实施方案中,域内模型和域间模型中的每一者是机器学习模型(例如,神经网络模型)。在一个实施方案中,模型服务器生成众包域内模型和域间模型,并将这些模型发送到设备。

在一个实施方案中,该设备接收这些模型。不同于按原样使用这些模型来将结果和/或域排序,该设备将域内模型和域间模型中的每一者与设备上敏感数据相结合,以生成本地(和个性化)域内模型和域间模型。在一个实施方案中,设备上敏感数据是收集的关于用户如何使用设备的私有数据,但是该数据保持驻留在设备上并且不被发送到服务器以进行收集(例如,不作为原始特征集合的一部分发送到模型服务器,不作为搜索请求的一部分发送到搜索服务器,和/或其他类型的数据收集场景)。例如,在一个实施方案中,设备上敏感数据可以包括用户的浏览器历史、包括私有数据的应用程序状态,和/或其他类型的私有数据。

在该实施方案中,该设备使用本地域内模型将来自设备上搜索域(例如,联系人、电子邮件、消息、日历、应用程序历史、音乐、其他媒体和/或其他类型的设备上搜索域)的搜索结果重新排序。此外,该设备使用本地域间模型对设备上搜索域进行排序。在一个实施方案中,该设备可以使用输入的搜索查询来搜索设备上搜索域和/或设备外搜索域(例如,发送到搜索服务器的搜索查询)。在该实施方案中,该设备接收设备上和/或设备外结果,并使用本地域内模型和域间模型将设备上结果重新排序。搜索服务器使用基于服务器的域内模型和域间模型来将设备外搜索结果重新排序,这些模型不包括用户敏感数据的个性化。该设备集成了重新排序的设备上和设备外搜索结果,并应用一个或多个策略,这些策略可以约束重新排序、添加其他重新排名,和/或以其他方式影响搜索结果排序。

图1是返回搜索结果的系统100的一个实施方案的框图,其中客户端将搜索结果重新排序。在图1中,系统100包括由网络(未示出)耦接的客户端102、模型服务器122和搜索服务器114。在一个实施方案中,搜索服务器114是一个或多个服务器的集合,该集合接收来自客户端102和/或其他设备的搜索请求,并将搜索结果返回给那些设备。在一个实施方案中,客户端102、模型服务器122和/或搜索服务器114可以是个人计算机、膝上型计算机、服务器、移动设备(例如,智能电话、膝上型计算机、个人数字助理、音乐播放设备、游戏设备等)和/或能够请求搜索和/或显示搜索结果的任何设备。在一个实施方案中,客户端102、模型服务器122和/或搜索服务器114可以是物理设备或虚拟设备。在一个实施方案中,智能电话可以是能够执行设备102的许多功能的蜂窝电话。

在一个实施方案中,客户端102包括用于由用户输入查询前缀的浏览器104。例如,在一个实施方案中,浏览器104可以是web浏览器和/或文件浏览器。这些浏览器中的每一个都包括用户用来输入搜索查询的搜索输入字段。在一个实施方案中,web浏览器是允许用户搜索web和/或其他搜索域并检索各种类型的对象的程序。在另选的实施方案中,该浏览器可以是允许用户输入搜索查询的另一类型的应用程序,该搜索查询用于搜索设备上搜索域和/或设备外搜索域。在一个实施方案中,该浏览器包括搜索输入字段,其中用户使用搜索输入字段来输入搜索请求字符串。在该实施方案中,客户端102将该搜索请求字符串发送到搜索服务器114。在一个实施方案中,搜索服务器114在一个或多个搜索域116上执行搜索。在一个实施方案中,搜索服务器114跨多个设备外搜索域(例如,地图、媒体、维基、站点,其他或另一搜索域)执行搜索来获得相关结果。该设备从多个设备外搜索域接收一组结果,并基于从每个搜索域和跨域信息所生成的分数来将这些结果排序。此外,搜索服务器114确定来自这些搜索域的搜索结果,并将这些搜索结果发送回客户端。

如上所述,客户端102可以将搜索结果重新排序。在一个实施方案中,浏览器104接收搜索请求并将其发送到客户端搜索模块106。客户端搜索模块106将搜索请求发送到搜索服务器118,其中搜索服务器118在一个或多个搜索域116上执行搜索。搜索服务器118确定每个搜索结果并对其进行评分,其中各搜索结果分数用于将搜索结果排序。在一个实施方案中,搜索服务器118将搜索结果发送回去,其中包括搜索结果分数。客户端搜索模块106接收搜索结果并将这些搜索结果转发到客户端重新排序器模块108。

此外,并且在一个实施方案中,客户端102可以使用搜索查询来搜索托管在客户端102上的设备上搜索域120。在该实施方案中,客户端102搜索与该搜索查询匹配的设备上搜索域124。在一个实施方案中,设备上搜索域是可以搜索并存储在设备上的数据(例如,消息、电子邮件、联系人、日历、音乐、电影、其他媒体、已安装的应用程序(例如,这些已安装的应用程序的应用程序状态))的不同域和/或其他类型的设备上搜索域。从这些设备上搜索域120,客户端可以从搜索服务器118接收一组设备上搜索结果和/或一组设备外搜索结果。利用这些组的搜索结果,客户端102可以使用重新排序模型116将这些搜索结果集重新排序。在一个实施方案中,重新排序模型116包括用于搜索域内的域内重新排序结果的设备上模型,以及用于搜索域和/或策略模型的域间重新排序的设备上模型,其中策略模型是用以强制执行业务和/或用户界面决策的一组规则。在一个实施方案中,域内模型和域间模型是从众包模型112和设备上敏感数据114生成的。

在一个实施方案中,模型服务器122从各种设备接收原始特征,并从这些原始特征生成众包域内模型和/或众包域间模型。在该实施方案中,原始特征是指示设备的使用的数据(例如,用户采用的结果的类型、用户放弃的结果的类型、应用程序使用历史、用户如何与设备上已安装的应用程序(例如,联系人、日历、电子邮件、音乐和/或其他已安装的应用程序)交互)。此外,原始特征可以包括结果中的字段长度、查询特征(例如,查询项的数量和/或其他类型的查询特征)、查询-结果特征(例如,余弦相似性和/或其他类型的查询特征)、用户-结果特征(例如,用户是否采用结果、放弃结果,用户与结果的距离(例如,结果是世界上某一物体的表示))、用户特征(例如,结果的设备类型、查询运行的当日时间和/或其他类型的用户结果),和/或查询、结果、用户和/或所使用的设备的其他类型的特征。在一个实施方案中,从不同设备收集的每个原始特征是匿名的,使得发现设备的原始特征将不会导致发现存储在该设备上的个人数据或哪个设备贡献了该原始特征。可以定期收集原始特征,诸如每天、每周或其他时间段收集。另选地,可以采用动态方式收集原始特征,例如,在生成原始特征时收集。在一个实施方案中,如果用户确认要收集该数据,则收集原始特征,诸如确认收集诊断数据。此外,收集原始特征的选择性子集,而不是在每个实例中收集所有可能的原始特征。例如,在一个实施方案中,可以一次收集原始特征作为来自采用的结果集的选定结果集,并且在不同时间收集的原始特征可以是一组放弃的结果。为原始特征收集的其他类型的信息可以是用户如何与安装在设备上的应用程序交互。在该示例中,可以基于用户与联系人或邮件应用程序交互的次数来收集数据。在该示例中,收集的数据是匿名的,使得不会意外地发现该设备的用户的私人数据。

相比之下,在一个实施方案中,设备上敏感数据是收集的关于用户如何使用设备的私有数据,但是该数据保持驻留在设备上并且不被发送到服务器以进行收集(例如,不作为原始特征集合的一部分发送到模型服务器,不作为搜索请求的一部分发送到搜索服务器,和/或其他类型的数据收集场景)。例如,在一个实施方案中,设备上敏感数据可以包括用户浏览器历史、包括私有数据的应用程序状态,和/或其他类型的私有数据。重新排序模型模块110分别利用众包域内模型和众包域间模型从设备上敏感数据生成本地域内模型和域间模型。例如,在一个实施方案中,重新排序模型模块110从众包域内模型和设备上敏感数据生成域内模型。此外,重新排序模型模块110从众包域间模型和设备上敏感数据生成域间模型。重新排序器模块108使用域内模型和域间模型将来自设备上搜索域120和/或设备外搜索域124的搜索结果重新排序。重新排序模型116还可以包括策略模型,该策略模型包括用以将这些结果重新排序的一组策略规则。在一个实施方案中,如果客户端102确认要接收众包域内模型和域间模型,则客户端102接收这些模型。在该实施方案中,客户端102可以通过同意允许收集诊断数据或一些其他确认方式来确认。

图2是系统200的一个实施方案的框图,该系统接收客户端的原始特征并使用原始特征来生成众包模型。在图2中,客户端202耦接到模型服务器206。在一个实施方案中,客户端202和模型服务器206是如上文在图1中所述的客户端和模型服务器。在一个实施方案中,客户端202包括原始特征204。如上文在图1中所述,原始特征是可以指示用户如何与客户端进行交互的匿名数据。在该实施方案中,可以按周期时间表或动态时间表收集原始特征204。模型服务器206包括生成众包模型模块208,其从客户端102收集原始特征并使用来自该客户端和/或其他设备的这些原始特征来生成众包域模型。例如,在一个实施方案中,生成众包模型模块208可以根据收集的原始特征生成域内模型。

在一个实施方案中,模型服务器206将原始特征204从客户端和/或其他设备收集到收集的特征集f中。模型服务器204将收集的特征集f预处理成新的收集的特征集f'。在该实施方案中,模型服务器预处理收集的特征集变换特征、删除特征、创建新特征、标准化特征和/或其他特征预处理。模型服务器204使用f'作为输入来训练用于生成众包域内模型的机器学习算法。在一个实施方案中,机器学习算法是神经网络。例如,在一个实施方案中,模型服务器204使用f'特征集作为神经网络中的下层,在该神经网络中存在压缩表示的一组中间层和最终层神经网络神经元。在该示例中,最终层可以包括表示可能是参与结果和可能不是参与结果的两个神经元。在另一个实施方案中,对于众包域内模型,最终层神经元可以有更多或更少数量和类型的结果。

作为另一个示例和实施方案,模型服务器204使用f'作为众包域间模型的输入。在该示例中,模型服务器204使用f'特征集作为神经网络的输入,在该神经网络中存在一组中间层和最终层神经网络神经元。在该示例中,最终层可以包括表示域结果的不同值的四个神经元(例如,糟糕结果、公平结果、良好结果和优异结果)。在另一个实施方案中,对于众包域间模型,最终层神经元可以有更多或更少数量和类型的结果。

在一个实施方案中,客户端可以使用若干不同的众包域内模型。例如,在一个实施方案中,对于设备上支持的搜索域中的每一个,都可以存在众包域内模型。另选地,对于一些搜索域,可以存在共同的众包域内模型,而对于其他搜索域,可以存在不同的众包域内模型。此外,对于所有受支持的搜索域,可能存在共同的众包域内模型。在一个实施方案中,对于所支持的搜索域,可以存在共同的众包域间模型。另选地,对于受支持的搜索域,可以存在不止一个众包域间模型。

在一个实施方案中,基于地理和场所,可以存在不同的域间和域内模型。在一个实施方案中,在生成域间和/或域内模型的情况下,模型服务器206可以将这些模型发送至客户端202。

在一个实施方案中,除了神经网络模型之外,还可以存在l2和l3的生成梯度提升决策树(gbdt)模型。具体地,模型服务器可以在训练期间使用成对训练目标以最小化准确度误差。在另一个实施方案中,模型服务器206可以仅使用用户经由隐私友好(匿名且不与我们共享实际查询)的诊断数据信道发送的数据来生成l2和l3,而不使用来自包含用户查询的一般反馈的任何数据。在该模式中,模型服务器206在匿名反馈中发送具有本地结果元数据的服务器结果元数据。

在另一个实施方案中,除了仅使用匿名反馈中从用户收集的有机数据训练和生成的模型之外,模型服务器206还可以创建伪(假)数据以训练和生成另一模型。生成的模型能够比其他结果更高地提升某些类型的结果。例如,在一个实施方案中,最近使用或发送的应用程序或邮件结果可能会获得更高的排序,即使它与其他结果相比也没有基于文本特征的匹配。作为另一个示例和实施方案,由指定为vip的某些人发送的邮件可以比具有相同新近度或文本匹配特征的其他电子邮件排序更高。提升也可以组合起作用。例如,由vip发送的也是最近的邮件,其排名可以比vip发送的但不是最近的邮件排序更高,假设两者具有相同的匹配质量(文本匹配等)。

在另一个实施方案中,使用提升模型的一种方法是在以某种方式组合分数的函数中组合来自第一模型(使用有机数据训练的模型)和第二模型(使用假数据训练的模型)的分数,以产生最终分数用于将结果排序。

图3是来自多个搜索域的搜索查询的一组搜索结果300的一个实施方案的图示。在图3中,该组搜索结果300由搜索域302a-n分组。在一个实施方案中,搜索域302a-n对应于设备上和/或设备外搜索域中的一个、一些或全部,如上文在图1中所述。每个搜索域可以包括零个或更多个结果。例如,在一个实施方案中,搜索域302a包括结果304a-m,搜索域302b包括结果304a-p,并且搜索域302n包括结果308a-q,其中n、m、p、q可以是相同或不同的值。

在一个实施方案中,客户端可以使用域内模型将一个或多个搜索域302a-n中的结果重新排序。例如,在一个实施方案中,客户端可以使用域内模型将结果304b重新排序在结果304a之前。此外,在一个实施方案中,客户端可以使用域间模型将搜索域302a-n重新排序。通过使用域间模型,客户端可将来自联系人搜索域的搜索结果排序在来自新闻搜索域的搜索结果之前。因此,使用域间模型,客户端可将域302b(和对应的结果306a-p)排序在域302a(和对应的结果304a-m)之前。因此,客户端可以使用这些调整后的排序来呈现搜索结果(例如,在可以执行搜索的浏览器或其他应用程序中)。

图4是用于将搜索结果集排序的一组层400的一个实施方案的图示。在图4中,可使用该组层400来将来自设备上和/或设备外搜索域的搜索结果初始排序和重新排序。在一个实施方案中,第一层是从结果集、搜索查询以及用于提交搜索查询的设备或上下文导出的原始特征。在该实施方案中,原始特征可以是从结果集导出的特征(例如,结果分数、余弦相似性和/或其他类型的查询特征、用户结果特征(例如,用户是否参与结果、放弃结果)、用户与结果的距离(例如,结果是世界上某一物体的表示)和/或其他类型的结果集特征)。另选地,原始特征可以是查询特征(例如,查询项的数量和/或其他类型的查询特征)。另外,特征可以从用于提交搜索查询的设备或上下文导出(例如,用户如何与设备上的安装应用程序(例如,联系人、日历、电子邮件、音乐和/或其他安装应用程序)进行交互)。在一个实施方案中,上述层l2404是使用客户端和/或服务器的域内模型对结果的排名。在一个实施方案中,l2排序是客户端使用域内模型将特定域的结果重新排序的结果,如上文在图1中所述。

在一个实施方案中,l3排序使用域间模型将域重新排序。

可基于策略应用进一步的排序。在一个实施方案中,这是l4排序,其使用策略进一步调整域和/或各个结果的排序。在一个实施方案中,l4排序是基于l3分数对结果进行过滤/求阈值的策略层,并且/或者可用于基于用户界面要求将结果重新分组。对于客户端排序中的服务器端排序,l4排序策略可以是不同的。在一个实施方案中,l4排序策略可以是将服务器结果重新排序的约束、将结果插入服务器结果之间的约束和/或放置的建议。

图5是从众包域模型和设备上敏感数据生成的本地域模型500的一个实施方案的框图。在图5中,系统500包括来自客户端和/或其他设备的用于创建众包域内模型504的原始特征502。例如,在一个实施方案中,客户端最近可能已启动但尚未共享原始特征,但该客户端仍然可以从模型服务器接收众包域模型。在另一个实施方案中,客户端的用户可能尚未选择加入,但仍然可以接收众包域内模型504以便将搜索结果重新排序。在一个实施方案中,从众包域内模型504和设备上敏感数据512生成本地域内模型506。在一个实施方案中,本地域内模型506是众包域内模型504和设备上敏感数据512的线性组合。例如,在一个实施方案中,

lidm=w1*csidm+w2*sd(1)

其中lidm是本地域内模型506,csidm是众包域内模型504,sd是设备上敏感数据512,w1、w2分别是众包域内模型504和设备上敏感数据512的混合权重。

在一个实施方案中,众包域内模型504和本地域内模型506是神经网络模型或一些其他类型的机器学习模型。

在一个实施方案中,客户端还接收从收集的原始特征生成的众包域间模型508。客户端从众包域间模型508和设备上敏感数据512生成本地域间模型510。

在一个实施方案中,本地域间模型510是众包域间模型508和设备上敏感数据512的线性组合。例如,在一个实施方案中,

lindm=w3*csindm+w4*sd(2)

其中lindm是本地域间模型510,csidm是众包域间模型504,sd是设备上敏感数据512,w3、w4分别是众包域间模型508和设备上敏感数据512的混合权重。

图6是使用域内模型和域间模型将搜索结果重新排序的搜索系统600的一个实施方案的框图。在图6中,系统600使用设备上搜索636和设备外搜索638处理搜索查询602。在一个实施方案中,设备上搜索636由从用户接收搜索查询602的相同设备执行。此外,在该实施方案中,设备外搜索638由搜索服务器诸如上文在图1中所述的搜索服务器118执行。

在一个实施方案中,设备上搜索636将搜索查询应用于多个设备上搜索域604a-c。在一个实施方案中,有三个设备上搜索域604a-c被示为用于设备上搜索636,在另选实施方案中,可以有更多或更少的设备上搜索域用于设备上搜索636。在一个实施方案中,每个设备上搜索域604a-c输出一组原始特征608a-c。在该实施方案中,原始特征608a-c是从来自搜索域604a-c的每个结果中提取的原始特征。此外,原始特征604a-c可以包括搜索服务器依赖性特征(例如,结果的流行度、众流行度、结果中指向/来自的指针、页面排序、锚文本匹配查询、域对结果的权限)。另外,每个设备上搜索域604a-c为搜索查询602和相应的搜索域604a-c产生一组搜索结果。

另外,在一个实施方案中,设备上搜索636将l2模型612a-c应用于来自对应设备上搜索域604a-c的每个搜索结果。在一个实施方案中,l2模型612a-c是从众包域内模型和对应于设备上搜索域604a-c的设备上敏感数据生成的域内模型。例如,在一个实施方案中,设备上搜索636使用针对结果集中的每个结果所提取的原始特征并应用对应的l2模型612a-c。通过应用l2模型612a-c,设备上搜索636为那些设备上搜索域604a-c的每个搜索结果生成l2分数616a-c。在一个实施方案中,这些搜索结果的l2分数616a-c被馈送到收集器l2分数620。

在一个实施方案中,如果执行设备外搜索638,则设备外搜索638接收搜索查询602并将该搜索查询应用于设备外搜索域606a-b。虽然在一个实施方案中,有两个设备外搜索域606a-b被示为用于设备外搜索638,但在另选实施方案中,可以有更多或更少的设备外搜索域用于设备上搜索638。在一个实施方案中,每个设备外搜索域606a-b输出一组原始特征610a-b。在该实施方案中,原始特征610a-b是从来自搜索域606a-c的每个结果中提取的原始特征。此外,原始特征610a-c可以包括结果独立性特征(例如,如上文在图1中所述的用户特征)。另外,每个设备外搜索域606a-b为搜索查询602和相应的搜索域606a-b产生一组搜索结果。

另外,在一个实施方案中,设备外搜索636将l2模型614a-b应用于来自对应设备上搜索域604a-c的每个搜索结果。在一个实施方案中,l2模型614a-b是从对应于设备上搜索域604a-c的众包域内模型生成的基于服务器的域内模型。例如,在一个实施方案中,设备外搜索638使用针对结果集中的每个结果所提取的原始特征并应用对应的l2模型614a-b。通过应用l2模型614a-c,设备外搜索636为那些设备上搜索域606a-b的每个搜索结果生成l2分数618a-b。在一个实施方案中,这些搜索结果的l2分数61ba-b被馈送到收集器l2分数620。

在一个实施方案中,l2分数618a-b被馈送到设备外l3模型624。在该实施方案中,设备外l3模型624是从如上文在图1中所述的众包域间瓶生成的基于服务器的域间模型。因为设备外l3模型624是基于服务器的,所以设备外l3模型624不从设备上敏感数据生成。在一个实施方案中,设备外l3模型624生成一组设备外l3分数628,其表示设备外搜索域606a-b的域内排序。设备外l3分数628被馈送到设备上l3分数626。另外,在一个实施方案中,设备外l3分数628也被馈送到设备外l4策略632。通过将设备外l3分数628应用于设备外l4策略632,设备外搜索638为设备外搜索域606a-b生成搜索查询602的结果的最终一组分数。

如上所述,设备上搜索636从设备外搜索638接收结果的l2、l3和l4分数。在一个实施方案中,设备上搜索636收集l2分数620。在该实施方案中,l2分数620表示设备上搜索域604a-c和设备外搜索域606a-b内的搜索结果的相对排序。这些l2分数620(以及来自两组域604a-c和606a-b的搜索结果)被馈送到设备上l3模型622。设备上搜索636将设备上l3模型622应用于搜索结果并生成设备上l3分数626。在一个实施方案中,设备上l3分数626是设备上搜索域604a-c的相对排序。在一个实施方案中,对于每个结果,将l2分数、域、查询特征和个性化输入应用于l3模型。在该实施方案中,个性化从设备上敏感数据导出,并且是该数据的压缩和/或匿名版本。

在该实施方案中,设备上搜索636接收设备外l3分数626。利用这些l3分数626和628,设备上搜索636将设备上l4策略632应用于l3分数626(以及可能的l2分数616a-c和618a-b以及搜索结果),以确定搜索查询602的最终结果集634。在一个实施方案中,设备上搜索636在634处向用户呈现最终结果。

图7是生成域内模型和域间模型的过程700的一个实施方案的流程图。在图7中,过程700首先在框702处周期性地向模型服务器发送原始特征。在一个实施方案中,原始特征是指示用户与收集原始特征的客户端设备之间的交互的一组数据,如上文在图2中所述。在框704处,过程700接收众包域内模型。在一个实施方案中,众包域内模型是由模型服务器使用从客户端和/或其他设备收集的原始特征生成的机器学习模型。过程700在框706处从众包域内模型和设备上敏感数据创建本地域内模型。在一个实施方案中,过程700创建本地域内模型,如上文在图5中所述。在框708处,过程500接收众包域间模型。在一个实施方案中,众包域间模型是由模型服务器使用从客户端和/或其他设备收集的原始特征生成的机器学习模型。过程700在框710处从众包域间模型和设备上敏感数据创建本地域间模型。在一个实施方案中,过程700创建本地域间模型,如上文在图5中所述。

图8是使用域内模型和域间模型将搜索结果重新排序的过程800的一个实施方案的流程图。在图8中,过程800首先在框802处接收搜索查询。在一个实施方案中,过程800可以根据搜索查询执行设备上搜索,根据搜索查询执行设备外搜索,和/或使用相同的搜索查询来执行这两种搜索。如果过程800执行设备外搜索,则过程800将搜索查询发送到将在框804处执行设备外搜索的服务器。在框806处,过程800使用搜索查询接收设备外搜索的结果的服务器l2分数。在一个实施方案中,设备外搜索结果的l2分数是使用基于服务器的域内模型生成的分数,该基于服务器的域内模型生成自从多个设备收集的一组原始特征。过程800将服务器l2分数转发到框818。执行使设备外搜索前进到框808。在框808处,过程800接收服务器l3分数。在一个实施方案中,设备外搜索结果的l3分数是使用基于服务器的域间模型生成的。过程800将服务器l3分数转发到框824。执行使设备外搜索前进到框810。在框810处,过程800接收服务器l4策略并将这些策略转发到框830。

如果过程800在框812处执行设备上搜索,则过程800将搜索查询应用于设备上搜索域。在一个实施方案中,过程800将该搜索等级应用于设备上搜索域,如上文在图6中所述。过程800在框814处接收设备上搜索域结果。在框816处,过程800提取用于设备上搜索域结果的原始特征。在框818处,过程800生成设备上搜索域结果的l2分数。在一个实施方案中,过程800如上文在图6中所述那样生成l2分数。在框820处,过程800将来自设备上搜索和设备外搜索的l2分数组合。过程800在框822处使用本地l2模型将设备上搜索域结果重新排序。在框824处,过程800使用设备上l3模型确定l3分数。在一个实施方案中,过程800如上文在图6中所述那样确定l3分数。过程800在框826处将来自设备上搜索和设备外搜索的l3分数组合。在框828处,过程800使用本地l3模型将设备上搜索域重新排序。在框830处,过程800确定设备上l4策略。在一个实施方案中,过程800确定用于策略的设备上层,如上文在图6中所述。过程800在框832处将来自设备上和设备外l4策略的l4策略组合。在框834处,过程800应用这些策略并生成最终一组搜索结果。在一个实施方案中,过程800另外向用户呈现最终一组搜索结果。

图9是生成众包域内模型和域间模型的过程900的一个实施方案的流程图。在图9中,过程900首先在框902处从多个设备接收原始特征。在一个实施方案中,过程900接收的原始特征是指示的数据,诸如上文在图2中所述的原始特征。在框904处,过程900生成众包域内模型。在一个实施方案中,众包域内模型是可以部分地用于在搜索域内重新排序结果的模型,诸如上文在图1中所述的众包域内模型。在框906处,过程900生成众包域间模型。在一个实施方案中,众包域间模型是可以部分地用于将搜索域重新排序的模型,诸如在上文图1中所述的众包域间模型。在框908处,过程900将众包域内模型和域间模型发送到设备。

图10是生成域内模型和域间模型的重新排序模型模块110的一个实施方案的框图。在一个实施方案中,重新排序模型模块110包括发送原始特征模块1002、接收域内模型模块1004、创建本地域内模型模块1006、接收域间模型模块1008,以及创建本地域间模型模块1010。在一个实施方案中,发送原始特征模块1002发送来自设备的原始特征,如上文关于图7中的框702所述。接收域内模型模块1004接收众包域内模型,如上文关于图7中的框704所述。创建本地域内模型模块1006创建本地域内模型,如上文关于图7中的框706所述。接收域间模型模块1008接收域间模型,如上文关于图7中的框708所述。创建本地域间模型模块1010创建本地域间模型,如上文关于图7中的框710所述。

图11是使用域内模型和域间模型生成重新排序搜索结果的重新排序器模块108的一个实施方案的框图。在一个实施方案中,重新排序模块108包括接收服务器数据模块1102、l2分数处理模块1104、l3分数处理模块1106、l4分数处理模块1108,以及生成最终组模块1110。在一个实施方案中,接收服务器数据模块1102接收服务器搜索数据,如上文关于图8中的框804、806、808和810所述。l2分数处理模块1104提取原始特征并确定l2分数,如上文关于图8中的框816、818、820和822所述。l3分数处理模块1106使用l3模型处理搜索结果,如上文关于图8中的框824、826和828所述。l4分数处理模块1108使用l4策略处理搜索结果,如上文关于图8中的框830和832所述。生成最终组模块1110使用l4策略生成最终一组搜索结果,上文关于图8中的框834所述。

图12是生成众包模型模块208的一个实施方案的框图,该模块生成众包域内模型和域间模型。在一个实施方案中,生成众包模型模块208包括接收原始特征模块1202、cs域内模块1204、cs域间模块1206和发送模型模块1208。在一个实施方案中,接收原始特征模块1202接收原始特征,如上文关于图9中的框902所述。cs域内模块1204生成众包域内模型,如上文关于图9中的框904所述。cs域间模块1206生成众包域间模型,如上文关于图9中的框906所述。发送模型模块1208将众包域内模型和域间模型发送到设备,如上文关于图9中的框908所述。

本公开认识到在本发明技术中使用此类个人信息数据可用于使用户受益。例如,所述个人信息数据可用于将用户较感兴趣的搜索结果重新排序。因此,使用此类个人信息数据使得能够对搜索结果进行有计划的控制。此外,本公开还预期个人信息数据有益于用户的其他用途。

本公开还设想负责此类个人信息数据的收集、分析、公开、传输、存储或其他用途的实体将遵守已确立的隐私策略和/或隐私做法。具体地,此类实体应当实行并坚持使用被公认为满足或超出对维护个人信息数据的隐私性和安全性的行业或政府要求的隐私策略和实践。例如,来自用户的个人信息应当被收集用于实体的合法且合理的用途,并且不在这些合法用途之外共享或出售。另外,此类收集应当仅在用户知情同意之后进行。另外,此类实体应采取任何所需的步骤,以保障和保护对此类个人信息数据的访问,并且确保能够访问个人信息数据的其他人遵守他们的隐私策略和程序。另外,这种实体可使其本身经受第三方评估以证明其遵守广泛接受的隐私策略和做法。

不管前述情况如何,本公开还预期用户选择性地阻止使用或访问个人信息数据的实施方案。即本公开预期可提供硬件元件和/或软件元件,以防止或阻止对此类个人信息数据的访问。例如,就广告递送服务而言,本发明的技术可被配置为在注册服务期间允许用户选择“加入”或“退出”参与对个人信息数据的收集。又如,用户可选择不为目标内容递送服务提供位置信息。再如,用户可选择不提供精确的位置信息,但准许传输位置区域信息。

图13示出了可与本发明的一个实施方案一起使用的数据处理系统1300的示例。例如,可实现包括如图1所示的客户端102的系统1300。需注意,虽然图13示出了计算机系统的各种部件,但是其并不旨在表示使这些部件互连的任何特定架构或方式,因此此类细节与本发明并无密切关系。还应理解,具有较少部件或可能具有较多部件的网络计算机和其他数据处理系统或其他消费电子设备也可用于本发明。

如图13所示,数据处理系统形式的计算机系统1300包括耦接到一个或多个微处理器1305、rom(只读存储器)1307、易失性ram1309和非易失性存储器1311的总线1303。微处理器1305包括一个或多个cpu、专用处理器和/或它们的组合。微处理器1305可从存储器1307、1309、1311检索指令并执行所述指令以执行上述操作。总线1303与这些各种部件互连在一起,并且将这些部件1305、1307、1309和1311互连至显示控制器和显示设备1317,以及互连至外围设备诸如输入/输出(i/o)设备,该输入/输出(i/o)设备可以是鼠标、键盘、调制解调器、网络接口、打印机和本领域熟知的其他设备。通常,输入/输出设备1315通过输入/输出控制器1313耦接到系统。易失性ram(随机存取存储器)1309通常被实现为需要连续供电以刷新或保持存储器中的数据的动态ram(dram)。

海量存储装置1311通常为即使在系统断电后也能保持数据(例如,大量数据)的磁性硬盘驱动器或磁性光驱或光驱或dvdram或闪存存储器或其他类型的存储器系统。通常,海量存储装置1311也可以是随机存取存储器,虽然这并非是必需的。虽然图13显示海量存储装置1311为直接耦接至数据处理系统中的其余部件的本地设备,但应当理解,本发明可利用远离系统的非易失性存储器,诸如通过网络接口诸如调制解调器、以太网接口或无线网络耦接至数据处理系统的网络存储设备。该总线1303可包括通过本领域熟知的各种桥接器、控制器和/或适配器相互连接的一个或多个总线。

图14示出了可与本发明的一个实施方案一起使用的另一个数据处理系统1400的示例。例如,系统1400可被实现为如图1所示的客户端102。图14所示的数据处理系统1400包括处理系统1411,该处理系统可以是一个或多个微处理器,或者可以是片上系统集成电路,并且该数据处理系统还包括用于存储供处理系统执行的数据和程序的存储器1401。系统1400还包括音频输入/输出子系统1405,其可包括用于例如通过扬声器和麦克风播放音乐或提供电话功能的麦克风和/或扬声器。

显示控制器和显示设备1409为用户提供可视用户界面;这种数字界面可包括图形用户界面,当运行osx操作系统时,该图形用户界面与在麦金塔计算机上显示的用户界面类似,当运行ios操作系统时,该图形用户界面与在苹果iphone上显示的用户界面类似。系统1400还包括用于与另一个数据处理系统(诸如图14的系统1400)通信的一个或多个无线收发器1403。无线收发器可为wlan收发器、红外收发器、蓝牙收发器和/或无线蜂窝电话收发器。应当理解,在某些实施方案中,附加部件(未示出)也可以是系统1400的一部分,并且在某些实施方案中,数据处理系统还可使用比图14中示出的部件更少的部件。系统1400还包括用于与另一个数据处理系统(诸如图15的系统1500)通信的一个或多个通信端口1417。通信端口可为usb端口、火线端口、蓝牙接口等。

数据处理系统1400还包括一个或多个输入设备1413,提供所述输入设备允许用户向系统提供输入。这些输入设备可为小键盘或键盘或触摸面板或多点触摸面板。数据处理系统1400还包括任选的输入/输出设备1415,其可以是用于接口的连接器。应当理解,如本领域所熟知的,可使用一个或多个总线(未示出)互连各种部件。图14所示的数据处理系统可以是手持式计算机或个人数字助理(pda),或具有pda类似功能的蜂窝电话,或包括蜂窝电话的手持式计算机,或媒体播放器(诸如ipod),或结合了这些设备的方面或功能的设备,诸如在一台设备中结合了pda和蜂窝电话的媒体播放器或嵌入式设备或其他消费电子设备。在其他实施方案中,数据处理系统1400可以是网络计算机或另一个设备中的嵌入式处理设备,或具有比图14中示出的部件更少的部件或可能更多的部件的其他类型的数据处理系统。

本发明的至少某些实施方案可以是数字媒体播放器的一部分,例如便携式音乐和/或视频媒体播放器,数字媒体播放器可包括呈现媒体的媒体处理系统、存储媒体的存储设备,并且可以进一步包括与天线系统和媒体处理系统耦合的射频(rf)收发器(例如,用于蜂窝电话的rf收发器)。在某些实施方案中,存储在远程存储设备上的媒体可通过rf收发器发送到媒体播放器。例如,媒体可以是音乐或其他音频、静态图片或运动图片中的一个或多个。

便携式媒体播放器可包括媒体选择设备,例如得自appleinc.(cupertino,ca)的或ipod媒体播放器上的点击轮(clickwheel)输入设备、触摸屏输入设备、按钮设备、可移动指示输入设备或其他输入设备。可以使用媒体选择设备来选择存储在存储设备和/或远程存储设备上的媒体。在至少某些实施方案中,便携式媒体播放器可包括显示设备,该显示设备耦合到媒体处理系统以显示通过输入设备选择的并且通过扬声器或耳机或者在显示设备上、或者在显示设备上且在扬声器或耳机上呈现的媒体的标题或其他指示符。在美国公布专利号7,345,671和美国公布专利号2004/0224638中描述了便携式媒体播放器的示例,所述两个专利以引用方式并入本文。

上文所述内容的部分可以利用诸如专用逻辑电路之类的逻辑电路或者利用微控制器或者其他形式的执行程序代码指令的处理核来实现。从而,可利用程序代码诸如机器可执行指令来执行上述讨论所教导的过程,该机器可执行指令使得机器执行这些指令以执行某些函数。在该上下文中,“机器”可为将中间形式(或“抽象”)指令转换为特定于处理器的指令(例如,抽象执行环境诸如“虚拟机”(例如,java虚拟机)、解译器、公共语言运行时、高级语言虚拟机等)的机器,和/或被设置在半导体芯片(例如,利用晶体管实现的“逻辑电路”)上的电子电路,该电子电路被设计用于执行指令,该处理器诸如通用处理器和/或专用处理器。上述讨论所教导的过程也可通过(作为机器的替代或与机器结合)电子电路来执行,该电子电路被设计用于执行过程(或其一部分)而不执行程序代码。

本发明还涉及一种用于执行本文所述的操作的装置。该装置可专门构造用于所需的目的,或者可包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此类计算机程序可被存储在计算机可读存储介质中,例如但不限于任何类型的盘,包括软盘、光盘、cd-rom和磁光盘,只读存储器(rom)、ram、eprom、eeprom、磁卡或光卡、或适用于存储电子指令的任何类型的介质,并且每一者均耦接到计算机系统总线。

机器可读介质包括以机器(例如,计算机)可读形式存储或传输信息的任何机构。例如,机器可读介质包括只读存储器(“rom”);随机存取存储器(“ram”);磁盘存储介质;光学存储介质;闪存设备;等。

制品可用于存储程序代码。存储程序代码的制品可被实施为但不限于一个或多个存储器(例如,一个或多个闪存存储器、随机存取存储器(静态、动态或其他))、光盘、cd-rom、dvdrom、eprom、eeprom、磁卡或光卡、或适用于存储电子指令的其他类型的机器可读介质。也可借助被包含在传播介质(例如,经由通信链路(例如网络连接))中的数据信号来将程序代码从远程计算机(例如,服务器)下载到请求计算机(例如,客户端)。

已按照对计算机存储器内的数据位进行操作的算法和符号表示来呈现前面的详细描述。这些算法描述和表示是数据处理领域的技术人员所使用的工具,而这些工具也能最有效地将其工作实质传达给该领域的其他技术人员。算法在这里并通常是指导致所希望的结果的操作的自相一致的序列。操作是需要对物理量进行物理操纵的那些操作。通常,尽管不是必须的,但这些量采用能够被存储、传送、组合、比较以及换句话讲操纵的电信号或磁信号的形式。已被证明其在主要出于通用原因而将这些信号指代为位、数值、元素、符号、字符、术语、数字等时是方便的。

然而,应当牢记的是,所有这些以及类似的术语都与适当的物理量相关联,并且其只是应用于这些量的方便标签。除非另外特别说明,否则从上述讨论中显而易见的是,可以理解,在整个说明书中,使用术语诸如“生成”、“重新排序”、“接收”、“确定”、“计算”、“发送”、“检索”、“呈现”等的讨论是指对计算机系统或类似的电子计算设备的行动和处理,这些设备可对计算机系统的寄存器和存储器中表示为物理(电子)量的数据进行操纵,并将其转换成在计算机系统存储器或寄存器或其他此类信息存储、传输或显示设备中相似地表示为物理量的其他数据。

本文中所呈现的过程和显示并不固有地与任何特定计算机或其他装置相关。根据本文的教导内容,各种通用系统可与程序一起使用,或者可证明其便于构造用于执行所述操作的更专用的装置。根据下文的描述,用于各种这些系统的所需结构将是显而易见的。此外,本发明未参照任何特定的编程语言进行描述。应当理解,多种编程语言可用于实现如本文所述的本发明的教导内容。

前面的讨论仅描述了本发明的一些示例性实施方案。本领域的技术人员将易于从这些讨论、附图和权利要求书中认识到,可在不脱离本发明的实质和范围的情况下进行各种修改。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1