适合于联合的通用在线排名系统和方法

文档序号:6456790阅读:214来源:国知局
专利名称:适合于联合的通用在线排名系统和方法
技术领域
该说明书一般地涉及数字资源的排名。
背景技术
内容的"浏览和搜索"目录在万维网上迅速增长。示例包括用于 在地理信息应用中进行观看的3D模型的目录、小组件应用的目录以及 诸如图像或视频之类的视觉内容的目录。这些目录允许用户通过搜索 或按类型浏览而找到他们感兴趣的内容。
可对浏览和搜索目录中的内容进行排名并基于排名顺序在目录中
呈现。通过以排名顺序呈现内容,观看目录的用户能够被首先呈现以
"良好"的内容。内容提供者具有提供更可能被排名为"良好"的内
容的动机,以便增加其内容的潜在观众。然而,许多浏览和搜索目录 并不具有足够的业务或用户活动以论证具有用于确定排名的专用计算
资源或具有对web搜索或广告实施的排名能力同等的排名能力的成本。

发明内容
总体而言,该说明书中所描述的主题的一个方面可以以在被第一 订户(subscriber)和第二订户所使用的排名服务处实施的方法、系统 和装置来实现。所述第一订户和第二订户为不同的数据处理服务。所述第一订户向用户呈现第一资源并捕捉与所述第一资源相关的用户动 作,而第二订户向用户呈现第二资源并捕捉与所述第二资源相关的用 户动作。从所述第一订户接收第一信号,并且从所述第二订户接收第 二信号。所述第一信号包括表征与第一资源中的各个相关的各个用户 动作的信息、用于一个或多个预定参数的值以及用于特定于第一订户 的一个或多个第一订户特定参数的值。所述第二信号包括表征与第二 资源中的各个相关的各个用户动作的信息、用于一个或多个预定参数 的值以及用于特定于第二订户的一个或多个第二订户特定参数的值。 根据第一信号而不根据不是用于所述第一订户的订户特定参数的任意 订户特定参数的值生成第一排名数据;并且根据所述第二信号而不根 据不是用于所述第二订户的订户特定参数的任意订户特定参数的值生 成第二排名数据。所述第一排名数据对第一资源进行排名,而所述第 二排名数据对第二资源进行排名。该方面的其它实施方式包括相对应 的系统、装置和计算机程序产品。
总体而言,该说明书中所描述的主题的另一方面可以以在被第一 订户和第二订户所使用的排名服务处实施的方法、系统和装置来实现, 所述第一订户和第二订户为不同的数据处理服务。所述第一订户向用 户呈现第一资源并捕捉与所述第一资源相关的用户动作,而第二订户 向用户呈现第二资源并捕捉与所述第二资源相关的用户动作。从所述 第一订户接收第一信号,并且从所述第二订户接收第二信号。所述第 一信号包括表征与第一资源相关的用户动作的信息、用于一个或多个 预定参数的第一值以及用于特定于第一订户的第一订户特定参数的 值。所述第二信号包括表征与第二资源相关的用户动作的信息、用于 一个或多个预定参数的第二值以及用于特定于第二订户的第二订户特 定参数的值。从第一请求方接收第一请求,所述第一请求包括表征第 一用户的信息。响应于所述第一请求将第一排名数据提供给第一请求 方,所述第一排名数据由排名过程基于所述第一信号和表征第一用户 的信息所生成。从第二请求方接收第二请求,所述第二请求包括表征 第二用户的信息。响应于所述第二请求将第二排名数据提供给第二请求方,所述第二排名数据由排名过程基于所述第二信号和表征第二用 户的信息所生成。除分别从所述第一和第二订户接收的信息之外,所 述排名服务不使用关于所述第一或第二订户特定参数的信息。该方面 的其它实施方式包括相对应的系统、装置和计算机程序产品。
总体而言,该说明书中所描述的主题的另一方面可以以在被订户 所使用的排名服务处实施的方法、系统和装置来实现,所述订户为数 据处理服务。所述订户向用户呈现资源并捕捉与所述资源相关的用户 动作。所述方法包括在所述订户和排名服务之间并且依据协议交换报 告用户动作的信号以及基于所述信号对资源进行排名的排名数据。所 述信号来自所述订户,而所述排名数据来自所述排名服务。所述协议 定义了能够被所述信号报告的用户动作的类型;指定用于限定(qualify)
用户动作的预定参数集合中的一个或多个的值的格式,其中所述预定 参数对于所述排名服务具有先验(a priori)意义;指定与所述资源或 用户动作相关的一个或多个订户特定参数的格式,其中所述订户特定 参数由订户所指定并且在所述预定参数外被额外使用;以及使用订户 所定义的名称空间标识用户动作与其相关的资源的格式。该方面的其 它实施方式包括相对应的系统、装置和计算机程序产品。
总体而言,该说明书中所描述的主题的另一方面可以以方法来实 现,对于由数据处理服务向多个用户呈现的多个资源中的每一个而言, 所述方法包括以下动作接收报告与相应资源相关的所述多个用户的 一个或多个动作的一个或多个信号,其中所报告的动作是呈现相应资 源、添加相应资源或删除相应资源,所报告的动作包括相应资源的一 个或多个短删除(short deletion),相应资源的短删除是在所述相应资 源的对应添加之后的预定时间段内发生的对相应资源的删除,并且基 于所报告的所述相应资源的呈现数目以及所报告的相应资源的添加数 目和相应资源的短删除数目之间的差异来确定所述相应资源的相应长 添加点进率(long-addition click through rate, LACTR);基于所述多个 资源的相应LACTR对所述多个资源进行排名;并且提供所述多个资源的排名。该方面的其它实施方式包括相对应的系统、装置和计算机程 序产品。
可以实施该说明书中所描述的主题的特定实施例来实现以下的一
个或多个优势。可对多个订户联合(syndicate)排名服务。所述排名服 务和订户使用预定协议交换数据。所述排名服务可以是不与用于web搜 索的排名能力进行竞争的通用服务。所述排名服务使用订户所报告的 用户动作数据对订户的资源进行评分和排名。可按照场境(context) 对订户的资源进行评分和排名。订户可以定义要为其生成订户资源排 名的场境。


图l是图示排名服务以及一个或多个订户的框图。
图2是排名服务器、订户服务器和客户端设备的框图。
图3是用于对资源进行排名的示例性过程的流程图。
图4是图示排名服务器和订户之间的示例性数据交换的示图。
图5A至5C图示了示例性个人主页的示例性用户界面。
图6是用于确定资源的排名的示例性过程的流程图。
图7是用于通过场境确定资源的排名的示例性过程的流程图。
各图中相同的附图标记指示相同的元素。
具体实施例方式
图1是图示排名服务102以及一个或多个订户104的框图。如将 要描述的,排名服务102为订户104提供排名服务。排名服务可以在 由一个或多个计算机所构成的计算机系统上实施,所述计算机可处于 单个位置或在地理上分布。使用客户端计算机或其它客户端设备的用 户106可以访问任意订户104。用户可以是人或者在计算机系统或设备 中运行的计算机程序。
18排名服务的每个订户104是数据处理服务或系统。数据处理服务 或系统的示例包括个人主页服务、购物网站、内容共享或分发网站或 服务或者软件下载网站或服务,但并不局限于此。订户104通过使得 资源对用户直接可用或呈现到所述资源的链接而向访问该订户的用户 呈现一个或多个资源。如在本说明书中所使用的,资源是具有标识的 数字数据并且通常可使用所述标识或通过一些数据处理操作从知识库 或服务获取。资源可包括其它资源。资源的示例包括用于在购物网站 上销售的真实物品的数据表示;软件或数据文件;图像、视频或音频 片断;或者个人主页服务中的小组件、小工具或模块,但并不局限于 此。订户104可在应用中向用户呈现其资源。例如,所述资源可以呈 现在web浏览器应用所给出的网页中。
用户106能够访问订户104并且与订户104和/或订户104所提供 的资源进行交互。例如,用户能够访问购物网站并且观看所述购物网 站所出售的物品的数据表示并且对所述物品下订单。作为另一个示例, 用户可以访问个人主页服务,观看能够添加到个人主页的可用小组件、 小工具或模块,并且将任意数量的可用小组件、小工具或模块添加到 所述个人主页。在一些实施方式中,订户的资源作为资源目录("可 浏览目录")呈现给用户,用户通过所述资源目录能够进行浏览和搜 索。所述可浏览目录的顶级包括订户使其可用的资源整体。所述资源 可以被组织为类型和子类型,其可被置为顶级可浏览目录的子级别。
用户106可以从各种客户端计算机或设备中的任意一种访问订户 104,所述客户端计算机或设备例如台式计算机、笔记本计算机、膝上 计算机、网络终端、个人数字助理(PDA)、移动电话、智能电话、 音乐或多媒体播放器设备等。
排名服务102向订户104提供排名服务。在提供排名服务中,排 名服务102从订户接收信号,根据所接收的信号标识与订户所呈现的 资源相关的用户动作,并且基于所标识的用户动作对所述资源进行评分。所述资源基于分值被排名并且所述排名被提供给所述订户,或者 可选地按照请求提供给另一请求方(其可以是另一个数据处理服务)。 可选地,所述排名服务还提供分值。排名服务102能够向多个订户提 供排名服务。
在一些实施方式中,排名服务102无限地保持信号中所报告的信 息,这允许排名服务102构建用户和资源的长期用户动作历史。
排名服务102能够针对作为整体的所有订户资源对订户资源提供
排名,或者可选地,针对订户所定义的订户资源的子集提供排名。子 集可以整体或部分基于地理边界、政策边界、人口统计信息、时间、
语言、产业或访问权限中的一个或多个。排名服务102还可以可选地
针对特定用户提供排名。例如,请求方可以请求进行考虑用户的用户 简档或用户动作历史的排名。
资源的分值是作为与所述资源相关的用户活动的函数的值。排名 是资源的有序表示,其指示由它们各自的分值所确定的顺序。
排名服务102和订户104通过接口 108和IIO进行通信。排名服 务102和订户104之间通过接口 108和110所进行的通信包括使用一 个或多个预定协议发送和接收数据。也就是说,排名服务102使用相 同的协议向多个订户发送数据和从所述多个订户接收数据,并且每个 订户使用相同的协议向排名服务102发送数据和从排名服务102接收 数据。在一些实施方式中,不同类型的订户被提供适于其特定要求的 不同协议。
排名服务102基于订户所提供的数据为每个订户生成其分值和资 源排名。为了排名的目的,排名服务102能够原样接受订户所提供的 数据(假设所述数据依据协议进行发送)并且并不试图获得所述订户 所提供之外的数据。出于该原因,排名服务102能够从订户接受可以已经对该订户具有意义但是对排名服务并不具备先验意义的数据。然 而,所述排名服务能够检测这样的数据中的相关性并且在确定排名中 使用所述相关性。
在一些实施方式中,依据表示性状态转换(REST)软件体系结构
形式来实现排名服务102和订户104的体系结构。
排名数据协议
排名服务和订户可以使用指定在所述排名服务和订户之间发送的 数据的形式和意义的特定协议(为了便利,通常称作"排名数据协议") 发送和接收数据。所述协议可由排名服务以适当形式对外公布,例如
在网站中以例如WSDL (Web服务描述语言)文档的形式进行公布。 任何订户都可以使用所述协议。
排名数据协议还指定如何报告用户动作。排名数据协议指定报告 用户动作的信号标识所述用户动作以及所述用户动作相关的资源。在 一些实施方式中,排名数据协议指定以用户动作被报告为以下三种类
型之一观看、添加和删除。
在订户已经向用户呈现或显示了资源时,订户将动作报告为资源 观看。在示例性的个人主页实施方式中,观看可以是向用户显示资源 的任意动作。无论资源是响应于用户所进行的搜索还是作为用户对资 源进行浏览的结果而向用户进行显示,所述显示动作都可被看作是观 看。在在线商店的实施方式中,向用户显示与产品相关联的信息可被 报告为资源观看(所述资源是产品的数据表示,包括与所述产品相关 联的信息)。类似地,对于软件下载网站实施方式而言,显示与软件 下载相关联的信息可被报告为资源观看,即观看所述软件和相关信息。
在订户已经接收到资源已被用户肯定接受的信息时,订户可将动 作报告为资源添加。在示例性的个人主页实施方式中,将在用户将资
21源添加到用户的个人主页时报告添加动作。在示例的购物网站实施方 式中,将在购买物品发生时报告资源添加,所述资源即所述购物网站 出售的物品。在示例的软件下载网站实施方式中,将在发生一个软件 被用户下载到客户端机器时报告资源添加,所述资源即可用于从网站 下载的一个软件。
当订户已经接收到资源已在用户进行了所述资源的添加之后被所 述用户肯定拒绝的信息时,订户可将动作报告为资源删除。在示例的 个人主页实施方式中,将在用户从个人主页删除其之前已经添加到主 页的资源时报告删除动作。
通常,每个单独订户决定什么是以及什么不是观察、添加或删除。 也就是说,每个订户对于什么动作被向排名服务报告为观看、添加或 删除具有其自己的定义。
在一些实施方式中,在排名数据协议中可报告的动作类型并不止 观看、添加和删除。还可以报告与资源相关的无动作或闲置。例如, 如果资源在某个时间段内没有被用户添加,则这种对于资源的使用动 作缺失可被报告给排名服务。所述排名服务可在对资源进行评分时考 虑这种使用动作缺失。
在用户动作被报告为观看、添加和删除的实施方式中,可基于与 特定资源相关的观看、添加和删除计算资源的分值。在一些实施方式 中,计算资源的分值的方式是预先定义的。在其它一些实施方式中, 可使得能够使用各种评分函数。订户或请求方可以指定使用哪个函数。 如果订户或请求方没有指定评分函数,则排名服务可使用缺省评分函 数。例如, 一个订户可能希望仅基于观看对其资源进行评分和排名, 而另一订户可能希望基于观看和添加对其资源进行评分和排名。
在一些实施方式中,基于所谓的"长添加"来计算资源的分值。"长添加"是用户添加资源,接着在添加之后大于预定时间段由同一 用户删除资源,或者接着同一用户没有删除资源。在一些实施方式中, 资源的长添加数目计算如下
资源的长添加数目=资源的添加数目 一资源的短删除数目 其中短删除是用户在其添加资源之后的预定时间段内删除资源。 在一些实施方式中,被认为是短删除的删除的预定时间段根据资源类 型而不同。例如,视频的预定时间段可以为io秒,而个人主页服务中 的小组件或小工具的预定时间段可以为1小时。在一些实施方式中, 删除是否为短删除取决于订户来确定并向排名服务进行报告。
在一些实施方式中,长添加可由订户根据资源类型以其它方式进 行定义。例如,对于视频而言,长添加可被定义为在其整个持续时间 完成(或接近完成)播放所述视频的实例。
资源的分值可以是所述资源的长添加数目、所述资源的长添加数 目的某个函数或者所述资源的长添加数目和其它值的某个函数,所述 其它值例如资源的观看数目。以下参考图6-7描述使用长添加数目的评 分函数的示例。在一些实施方式中,可对动作的计数应用衰减函数。 例如,资源的观看数目能够随时间线性或其它方式衰减。所述衰减可 以具有降低相对长时间以前发生的动作对于排名的影响的重要性的作 用。
在一些实施方式中,报告用户动作的信号还包括所报告的动作发 生的次数的指示。例如,订户可以随添加和删除一起报告它们各自的 次数。所述次数可被用来确定删除是否为短删除。在一些实施方式中, 所述信号特别报告删除是否为短删除;在这样的实施方式中,订户确 定删除是否为短删除并且由此报告短删除。
排名数据协议无需指定资源的命名规则或名称空间。订户能够对 其资源定义其自己的命名规则和/或名称空间。订户所定义的命名规则
23或名称空间可以对资源使用任意名称。订户所定义的资源名称对于排 名服务没有先验意义。订户所定义的命名规则或名称空间可包括使用 假名、代码名称等。排名服务将关于资源的用户动作和订户为该资源 提供什么名称相关联。当排名服务为请求方提供分值或排名并且在所 述分值或排名中包括资源名称时,所包括的名称是假名、代码名称或 订户所提供的任意名称。与所述假名或代码名称相对应的资源的标识 被留给订户或请求方。所述协议可选地包括可选的参数,订户可利用 所述参数标识其资源的名称空间。
对于一些订户而言,资源的名称可相对长。例如,可使用资源的
统一资源定位符(URL)作为资源名称。资源的URL可包括各种参数
并且作为结果变得相对长。在一些实施方式中,不同于发送资源的整
个URL作为所述资源的名称,订户通过例如对资源的URL进行编码 并接着生成所述编码的散列来生成所述资源的较短名称。可使用其它 编码或名称映射方案。接着可在报告用户动作的信号中使用较短的经 编码的名称。所述较短的经编码的名称可被用来提供资源的匿名性和/ 或通过减少所传送和处理的数据量对性能进行优化。
所述信号可包括一个或多个参数以及这些参数的值。这样的参数 可被用来限定信号中所报告的用户动作并且给出用户动作的场境。所 述场境可被用来生成更好的资源排名或者生成规范化排名。例如,如 果资源是用于个人主页的模块并且所述模块被使得可用于各种语言的 个人主页,则所述模块可具有所述各种语言中的每一种的分值和/或排 名,以及整体分值/排名。报告与任意模块相关的用户动作的信号将包 括指示用户动作发生的语言场境的参数。
来自订户的信号可包括发送所述信号的订户的标识符。订户可在 其信号中使用任意字符串来标识其自己。为了确保订户名称是唯一的, 所述排名服务可向订户名称添加附加字符。在一些实施方式中,订户 还可以标识用户动作与其相关联的订户细分(subdivision)。例如,在提供用于向个人主页和桌面搜索应用环境添加的模块的示例模块服务订 户中,所述模块服务订户可标识模块是否被添加到个人主页或桌面搜 索应用环境或者是否被从其删除。排名服务可关于订户的特定细分生 成排名。
在一些实施方式中,所述排名服务不要求订户在其向排名服务发 送数据之前向所述排名服务进行注册。在一些其它实施方式中,订户 被要求例如通过提供标识其的信息,并且接收订户标识符以及可选的 密码或cookie来进行注册。排名服务可以通过要求在注册期间选择唯 一的订户标识符而在预先注册的阶段强制订户标识符的唯一性。
对于所报告的用户动作而言,来自订户的信号可包括发起或执行 所述动作的用户的标识符。用户的命名规则被留给每个订户。通过在 信号中包括用户标识符,接收所述信号的排名服务能够标识用户已经 观看或添加的资源,并且将该用户与己经观看或添加类似资源的用户 分组在一起。
信号中所包括的参数和值可包括由排名服务所定义的参数和值以 及发送所述信号的订户所定义的参数和值。所述排名服务能够定义任 意订户可在其信号中使用的参数。排名服务所定义的参数将是所述服 务认为对于订户具有通用意义的那些参数。排名服务所定义的参数和 值可被定义为所述排名服务的排名数据协议的一部分。
在一些实施方式中,排名服务所定义的作为排名数据协议的一部 分的参数包括语言、地区和类型。语言参数和相应值指示与资源相关 的用户动作所发生的语言场境。语言场境可以是指资源自身的语言或 与资源相关的动作所发生的环境的语言。例如,如果用户向个人主页 添加了法语模块,则所述动作(添加)可被报告为发生在语言为法语 的场境中。如另一个示例,模块可被添加到英语个人主页和德语个人 主页中。报告对英语主页所进行的添加的信号可包括为语言参数指定
25"英语"的值,而报告对德语主页所进行的添加的信号可包括为语言
参数指定"德语"的值。在一些实施方式中,信号可包括格式为"lang 二value (语言=值)"的语言参数的值,其中所述值指示语言。可使用 已知的语言代码来指定语言参数的值,例如ISO(国际标准化组织)639
语言代码集。
还可以定义地区或场所参数以给出用户动作的场境。地区参数指 示用户位置或动作位置。例如,如果用户动作被确定为发生在加拿大 (例如,由于所述动作是在国家代码顶级域为".ca"的订户处执行的), 则报告所述动作的信号可包括为地区或场所参数指定"加拿大"的值。 在一些实施方式中,"地区"或"场所"为国家或国。可使用已知的 国家代码来指定地区或场所参数的值,例如ISO 3166国家代码。
排名服务还可以定义主题类型参数。主题类型的示例包括体育、 政治、技术、生活方式和娱乐。还可以在类型内定义子类型。
排名服务还可以定义用于用户标识符和订户标识符的参数。对于 这些参数而言,这些参数的值空间可以由各个订户来定义。
在一些实施方式中,在计算分值和排名时,排名服务可以考虑资 源是在页面顶部还是底部呈现和/或资源是在多个资源页面的第一页还 是后续页呈现。用于指定资源被呈现的位置的参数,或者更一般地, 用于指定利用其呈现资源的显著标记(prominence)的参数可由排名服 务进行定义以供订户使用。
订户还可以定义一个或多个参数和相应值。订户所定义的参数和 相应值将假定地对于定义订户是重要的,但是并非必须对于其它订户 或排名服务具有任何意义。如资源名称,排名服务没有将先验意义归 于订户所定义的参数,并且接受订户所定义的参数和订户所提供给他 们的值。事实上,两个订户可以使用相同的文本字符串来指定各自的
26参数,并且排名服务将把所述参数视为彼此无关,原因在于它们与不 同的订户相关联。
例如,订户所定义的参数的示例可包括作为购物网站的订户所定 义的服装大小,或者作为软件下载网站的订户的许可类型(免费软件、 共享软件等)。
在一些实施方式中,信号无需包括排名服务所定义的所有参数的 值或者所有订户所定义参数的值。排名服务将信号中所报告的动作与 指定什么场境参数值相关联。如果报告动作的信号没有指定任意场境 参数值,则所述信号中所报告的动作可以与场境参数值的缺省集合相 关联。
在一些实施方式中,信号可以是报告多个资源的动作的聚合信号。 例如,信号可以报告资源A、 B、 C和D被同一用户观看。可对在信号 中为其报告动作的资源的数目或在信号中报告的动作的数目设定上 限。例如,信号可对多达预定数目的资源报告动作。
排名数据协议还定义如何请求和报告排名(以及可选地,分值)。 在一些实施方式中,对于排名或分值的请求包括与为其请求排名或列 表的资源相关联的订户的标识符,诸如语言、类型或订户所定义参数 之类的可选的场境参数,以及在排名服务支持的情况下,指示排名中 要包括多少资源以及包括哪些资源的可选值。订户的标识符标识与为 其请求分值或排名的资源相关联的订户。例如,如果个人主页服务请 求对其资源进行排名,则所述主页服务将在请求中标识其自己以及可 选地标识所述主页服务的一个或多个相关细分。所述请求可包括一个 或多个场境参数;所述场境参数指示请求对哪种场境进行排名。例如, 指定语言场境为英语且地区场境为美国的请求可被理解为针对英语一 美国场境进行排名的请求。场境参数可包括排名服务所定义的参数, 例如语言、地区和类型,以及订户所定义的任意参数。在一些实施方式中,请求可指示要返回多少资源、开始偏移或这 二者。例如,请求可指示要返回从第11个最高排名的资源开始的30 个资源。这可被用于在多个页面上向用户显示经排名的资源。例如, 如果每页可以显示10个资源,则可请求在第一页中显示前10个经排 名的资源,可请求在第二页中显示其次IO个经排名的资源,等等。
排名服务可将排名作为以其排名顺序列出的资源列表进行报告。 所报告的排名使用如订户所提供的资源名称来标识资源。
可使用用于交换数据或消息的各种技术中的任意一种来实现排名
数据协议,包括但不限于简单对象访问协议(SOAP)、可扩展标记语 言(XML)、超文本传输协议(HTTP)和HTTP+XML。例如,可使 用XML或HTTP POST方法从订户传送信号。
在一些实施方式中,以在HTTP消息中发送的统一资源定位符 (URL)或统一资源标识符(URI)在排名服务和订户之间交换数据。 也就是说,所述信号、排名请求和所报告的排名都是嵌入在URL或URI 中的字符串。例如,报告动作的信号URL可看起来如以下形式
http:〃www.rankingserver.com/idofsubscriber/roa action=v&subs=na meofsubscriber&objs=aZ,t,f,g2D,31R,42,N3rD
其中"roa"代表"动作的报告",而"roa "指示这是报告用户 动作的信号。"action"参数指示被报告的动作(这里,"v"用于观 看)。"subs"参数是订户的名称。"objs"参数是被动作影响的资源 列表(所观看的、所添加的、所删除的,等等)。因此,以上的示例 信号URL报告了观看资源"aZ" 、 "t" 、 "f" 、 "g2D" 、 "31R"、 "42"禾口 "N3rD"。
报告添加的信号URL可看起来如以下形式
http:〃www.rankingserver.com/idofsubscriber/roa actioir=a&subs=nameofsubscriber&changed= g2D&objs=aZ,t,f,g2D,31R,42,N3rD
其中用于"action"参数的值"a"指示正在报告添加,而用于
"changed"参数的值"g2D"标识所添加的资源。因此,该样本URL 报告了添加资源"g2D"以及观看资源"aZ" 、 "t" 、 "f" 、 "g2D"、
"31R" 、 "42"和"N3rD"。所述URL中可适当包括其它参数。
请求排名的请求URL可看起来如以下形式 http:〃www.rankingserver.com/idofsubscriber/objs req=blogger&nu m=10&start=10
在该示例中,"objs "指示该URL是对排名的请求。"req"参 数是请求方的名称。参数num指示要返回多少项。在一些实施方式中, 如果num-0,则下载所排名资源的整个结果集合。参数start指示排名 资源集合中的开始偏移。例如,对于num=10且start-1的请求是请求 返回排名最高的10个资源(从排名最高的第一个开始的IO个资源)。 对于mm^l0且start41的请求是请求接下来排名最高的IO个资源(从 第ll个排名最高的开始的IO个资源)。
在一些实施方式中,排名服务所报告的经排名的资源作为以其排 名顺序列出的其名称的文本字符串进行报告,每个名称字符串之间具 有可选的分隔字符。
图2是排名服务器202、订户服务器210和客户端设备220的框图。 排名服务器202包括排名引擎204和推荐引擎206。排名服务器202还 包括资源排名数据208,其包括来自订户服务器210所发送信号的数据 以及排名服务器202所生成的排名数据。可无限地保持来自所述信号 的数据(即,即使在所述数据的寿命超出特定量时也不删除所述数据) 或非无限地保持所述数据。
排名引擎204为订户所提供的资源生成分值和排名。推荐引擎206 接收对排名的请求。推荐引擎206响应于所述请求提供排名。在一些实施方式中,推荐引擎206可提供考虑了与特定用户相关的信息的排 名。
订户服务器210包括资源服务器212、信号提供器214、排名数据 请求器216和资源218。资源服务器212向客户端设备220派发资源 218。信号提供器214收集用户动作数据并且将所述用户动作数据发送 到排名服务器202。排名数据请求器216发送对来自排名服务器202的 排名的请求。
排名服务器202和订户服务器210分别包括接口 228和230。排名 服务器202和订户服务器210通过各自的接口发送和接收数据。在一 些实施方式中,接口 228和230实施协议,所述协议定义了用于在排 名服务器202和订户服务器210之间进行通信的格式。
客户端计算机202包括客户端应用222和用户动作数据收集器 224。用户可以通过客户端应用222访问订户。在一些实施方式中,用 户通过基于web的界面访问订户,并且除其它之外,客户端应用为呈 现和显示所述基于web的界面的web浏览器。用户动作数据收集器224 监视与订户所呈现的资源相关的用户动作,并且将表征所述用户动作 的数据转发至相关订户。
在一些实施方式中,用户动作数据收集器224可以特定于特定订 户,在这样的情况下,用户动作数据收集器224仅为该订户收集用户 动作数据。在其它一些实施方式中,用户动作数据收集器224可为多 个订户收集用户动作数据。在一些实施方式中,用户动作数据收集器 224是嵌入在订户的基于web的界面中的JavaScript模块。当客户端设 备220访问所述基于web的界面时,所述JavaScript模块可被下载到客 户端设备220并且在客户端应用222呈现所述基于web的界面时被激 活。在其它一些实施方式中,用户动作数据收集器224可以是独立应 用、独立应用内的模块或者添加或插件应用内的模块。例如,用户动作数据收集器224可以是添加到web浏览器应用的工具条中的模块。
客户端设备可包括多个用户动作数据收集器。
在其它一些实施方式中,用户动作数据收集器224可向用户动作 数据库发送用户动作数据。信号提供器214可访问所述用户动作数据 库并获取用于发送到排名服务器202的数据。
在一些实施方式中,用户动作数据的收集在客户端设备220和订 户服务器210处进行。在客户端设备220处监视用户动作,并且与用 户动作相关的数据被从客户端设备220发送至订户服务器210以便进 行聚合。在其它一些实施方式中,用户动作数据的收集全部在订户服 务器210处进行。订户服务器210 (例如,信号提供器214)可在处理 来自客户端设备220的输入的正常过程中,监视并收集与关于资源的 用户动作相关联的用户动作数据。
一个或多个网络226-A或226-B可包括局域网、广域网、有线或 无线网络以及因特网。在一些实施方式中,网络226-A和206-B相同 (例如,因特网)。
图3是对资源进行排名的过程的流程图。虽然流程图300图示了 针对一个订户的过程,但是流程图300也可应用于多个其它订户中的 每一个。
从订户接收信号(302)。来自订户的信号包括表征与所述订户所 呈现的资源相关的用户动作的信息。所述信号还包括一个或多个预定 参数的值和一个或多个订户定义的参数的值。所述订户定义的参数特 定于所述订户。在一些实施方式中,所述信号还包括执行所述信号中 所报告的用户动作的用户的标识符。
排名服务可从多个订户接收信号。从第一订户接收的信号包括表征与第一订户所呈现的第一资源中的各个相关的用户动作的信息。从 第二订户接收的信号包括表征与第二订户所呈现的第二资源中的各个
相关的用户动作的信息。从第一订户接收的信号还可包括由排名服务 所定义的一个或多个参数的值以及由第一订户所定义的特定于第一订 户的一个或多个参数的值。从第二订户接收的信号还可包括由排名服 务所预定义的一个或多个参数的值以及由第二订户所定义的特定于第 二订户的一个或多个参数的值。
根据所述信号生成排名数据(304)。对资源进行排名的排名数据 是根据所接收的信号、所述信号中的用于特定于订户的参数的值以及 所述信号中的用于预定参数的值生成的。然而,订户的排名数据不是 基于特定于其它订户的参数的值生成的。例如,第一订户所呈现的资 源的排名数据可根据第一信号、所述信号中的用于由排名服务所定义 的参数的值以及所述信号中的用于由第一订户所定义的参数的值来生 成,而不是根据任意其它订户所定义的参数的值来生成。类似地,第 二订户所呈现的资源的排名数据可根据第二信号、所述信号中的用于 由排名服务所定义的参数的值以及所述信号中的用于由第二订户所定 义的参数的值来生成,而不是根据任意其它订户所定义的参数的值来 生成。
生成排名数据包括对资源进行评分并且基于分值对资源进行排 名。以下参考图6-7描述示例的排名函数。
可选地,排名服务支持插件排名算法,其使得联合器(syndicator) 能够提供其自己的基于信号并且以例如Perl、 Python等协定语言实施 的排名函数。在一些实施方式中,所述排名函数作为与对返回排名资 源的请求 一 起的可选参数提供,例如&rank—func=<到用于排名的代码 的url〉。第一个这样的请求可能在计算上成本很高,原因在于现有资源 可能都必须要被重新排名。然而,对于具有相同排名函数的后续请求, 所要求的计算会明显较少,原因在于排名服务器能够对排名结果进行缓存。如果排名服务器检测到给定的&rank—func值是普遍的,则所述 排名服务器能够预先取得该代码并且预先计算排名以对最初的排名请 求提供良好响应。此外,所述排名服务器能够使得缓存失效,例如, 以使得能够测试新的函数;并且如果其超出存储空间,则所述排名服 务器能够删除所缓存的排名。在一些实施方式中,订户能够指定保持 缓存数据的请求时间量。
在一些实施方式中,资源的排名是独立于査询的。也就是说,排 名函数不考虑用户可能已经提交给订户的对于资源的查询。在这样的 实施方式中,基于用户动作的活动对资源进行排名,并且资源与査询 的相关性是无关紧要的。在其它一些实施方式中,资源的排名是依赖 于查询的。也就是说,排名函数考虑用户提交的对于资源的査询。关 于要对那些资源进行排名的査询由订户提供给排名服务,例如,作为 附加参数。在这样的实施方式中,基于与所述査询的相关性或者与所 述查询的相关性和用户动作活动的组合的某种度量对资源进行排名。 例如,在其它的都相等的情况下,满足査询的资源被排名得高于不满 足所述査询的资源。在一些实施方式中,订户能够指定其希望独立于 查询还是依赖于查询的排名。如果订户指定了其自己的排名函数,则 其能够指定独立于查询或依赖于查询的排名函数。
图4是图示排名服务和订户之间的数据交换的示图。数据交换400 图示了订户和排名服务之间的数据通信。
订户接收与订户所呈现的资源相关的用户动作(402)。所述订户 将所述用户动作报告给排名服务(404)。所述用户动作可以在以上所 描述的信号中进行报告。在一些实施方式中,可由订户定期地向排名 服务发送信号。在其它一些实施方式中,信号可以在订户接收到用户 动作时发送或者以其它速率进行发送。
所述排名服务基于所述动作为该订户生成资源排名(406)。所述排名基于订户所报告的动作而生成(例如,在订户所发送的信号中)。 在一些实施方式中,定期地生成排名。在其它一些实施方式中,还响 应于对排名的请求生成排名。也就是说,在接收到排名请求时,重新 生成作为所述请求的响应的排名以使得响应于所述请求发送的排名是 最新的。
订户(或另一请求方)可以从排名服务请求排名数据(408)。所 述排名服务向进行请求的订户或请求方返回排名数据(410)。
所述排名包括以其排名顺序的资源的列表。当订户向用户呈现所 述排名中所包括的资源时,所述订户可以以排名顺序或其它一些顺序 来显示所述资源。此外,如果排名被订户连同对资源的搜索一起请求, 则所报告的排名中不匹配搜索标准的任何资源可以被订户从响应于搜 索所显示的资源中省去。
如上所述,基于报告用户对于资源的动作的信号生成对于资源的 排名。如果资源没有所报告的动作,则无法对所述资源生成排名。订 户能够提供报告虚构的用户动作的信号作为用于对其资源进行排名的 种子数据。排名服务能够原样接受所述种子数据并且使用所述种子数 据生成对于相关资源的最初排名。
在一些实施方式中,排名服务将订户所报告的一些用户数据标识 为不可信。例如,订户可能是被攻击方,这会导致所述订户报告在统 计上不太可能的活动突发。排名服务能够将这些所报告的动作标识为 可疑的并且在排名中忽略它们。
当用户执行与资源相关的动作时,在排名服务中累积用户动作的 历史。基于该历史,特定的特征或场境可以与所述用户相关联。例如, 用户可以与用户组(或"推荐组")相关联,所述用户组与其中语言 为法语且地区为加拿大的场境相关联。所述用户与法语-加拿大推荐组相关联,原因在于所述用户已经观看和/或添加了在法语-加拿大推荐组 中的其他用户中流行的资源。也就是说,所述用户已经观看和/或添加 了在法语-加拿大场境内流行的资源。当用户访问订户时,所述订户可 以识别所述用户并确定所述用户与法语-加拿大推荐组相关联,针对法 语-加拿大场境为该用户资源请求排名。
如上所述,可生成针对各种场境的资源排名。这样的排名是资源 的整个排名的子排名,所述整个排名考虑所有场境。可以是这样的情 况,对于一些场境可能没有足够的用户动作活动来对这样的场境生成 充分可靠的排名。例如,法语-中国场境中的用户动作活动的等级可能 远小于法语-加拿大或法语-法国场境中的用户动作活动的等级。在这样 的情况下,当用户在法语-中国场境下访问订户时,排名服务可以将场 境"混合"在一起。
在一些实施方式中,通过在生成排名时有效地将与多个场境相关 联的信号进行聚合来进行所述混合。例如,如果希望对法语-中国场境 进行排名,则排名服务在生成排名时可以考虑来自语言为法语的其它 场境的用户动作。在其它一些实施方式中,排名服务可为更高等级(即, 更宽的)场境生成和报告排名,例如,在请求对法语-中国场境进行排 名时报告对于法语场境的排名。在进一步的实施方式中,排名服务可 丢弃某些场境。例如,如果已经报告了在英语-爱沙尼亚场境中执行了 用户动作,则排名服务可以丢弃爱沙尼亚地区场境。
场境的混合可以在满足混合条件时发生。在一些实施方式中,所 述混合条件是在特定场境中的用户动作活动的等级低于最小阈值时。
在一些实施方式中,混合还可以跨订户发生。由于排名服务通常 认为来自不同订户的资源是不相关的,希望能够进行交叉混合的订户 需要使用其资源的共用名称空间,并且将它们自身标识为同意使其数
据被用来确定其它订户的排名。排名数据协议指定订户如何能够将它们自身标识为愿意共享数据。
图5A至5C图示了示例性个人主页的示例用户界面。个人主页服 务可向用户提供个人主页空间以及用于在个人主页空间中呈现的资 源。用户可以选择要在其个人主页中呈现的资源。换句话说,用户对 哪些资源进入其个人主页具有一些控制。
在一些实施方式中,可添加到个人主页的资源包括小组件、小工 具或模块。这样的资源执行特定任务或显示特定内容。例如,模块可
显示电视时间表或日历。如另一示例,模块可显示简易联合(RSS)馈
给的内容。在一些实施方式中,这样的资源可实现为可嵌入在个人主
页中的JavaScript模块。所述资源当在web浏览器应用中呈现所述个人 主页时被激活。
个人主页500可包括任意数目的资源(如图5A中所示的资源 504-508)。个人主页500还可包括链接502或到定制页面510的一些 其它方式的导航,其中用户可以浏览和/或搜索资源以添加到所述个人 主页。
定制页面510可包括回到个人主页500的链接512。定制页面510 呈现一个或多个可用资源516或关于它们的信息。如果所要呈现的资 源的数目超出了页面的显示区域的能力,则定制页面510可包括"前 一页"和"下一页"链接514以用于在资源页面之间进行导航。在定 制页面或用户已经导航到的页面中所显示的每个资源可以由个人主页 服务向排名服务报告为被用户所观看。
资源516可在定制页面510中以至少部分基于排名服务所报告的 各个资源516的排名的顺序进行显示。在一些实施方式中,其它考虑 可以影响资源被显示的顺序。例如,在一些实施方式中,可以随机顺 序呈现前30个资源,以便减少在总是首先显示更高排名的资源时可能发生的向更高排名的资源偏置的影响。
在一些实施方式中,定制页面510允许用户浏览可用资源或搜索 满足指定标准的资源。定制页面510可包括用于搜索资源的一个或多 个搜索域,或者可以在定制页面510中包括至搜索页面的链接以便导 航到所述搜索页面。所述搜索域可允许按关键词、作者、日期、类型 或任意其它适合的标准或标准组合进行搜索。
作为示例性方案,考虑希望将资源A 518添加到个人主页500的 用户。所述用户可在定制页面中选择"Add (添加)"按钮520。接着, 在个人主页500中,资源A 518连同资源504-508 —起被呈现。个人主 页服务将对资源A的添加作为与资源A相关的添加动作向排名服务进 行报告。
所述用户还能够从个人主页500删除资源。例如,如果用户希望 删除资源Z 508,则所述用户可以在所述资源的右上方的"X" 509上 进行点击。在用户删除资源Z 508之后,资源Z 508不再显示在个人主 页500中,直至用户将其添加回来。个人主页服务将对资源Z的删除 作为与资源Z相关的删除动作向排名服务进行报告。
图6是用于确定资源排名的示例性过程600的流程图。定期地(例 如,每天或每小时)对资源进行排名。通过确定资源的长添加点进率 (LACTR, long add click through rate)来对资源进行排名。资源的 LACTR是被用来对资源进行排名的分值。
当到了确定资源的排名时(602),依据所接收的报告对资源的动 作的信号来为每个资源计算LACTR (604)。对于用户可用的每个资 源计算LACTR (606, 608)。在该示例中,循环执行所述计算(604, 610)。对于资源计算长添加的数目(606)。如上所述,长添加的数目是 资源的添加数目减去资源的短删除的数目。
对于资源计算LACTR(608)。资源的LACTR是资源的长添加数 目除以所述资源被显示的次数。在一些实施方式中,资源的观看数目 被用作资源被显示的次数。
所述循环在对每个资源计算了 LACTR时结束(610)。通过资源 的LACTR对资源进行排名(612),即通过根据资源的LACTR对资 源进行排序来对资源排名。资源的LACTR越高,该资源被排名得越高。 在一些实施方式中,并非对其计算了 LACTR的所有资源都被包括在排 名中。例如,如果资源的LACTR不满足或超出了预定阈值,则将其从 排名中省去。
图7是用于通过场境确定资源排名的示例性过程700的流程图。 在一些实施方式中,对其中报告了与资源相关的用户动作的每个场境 (例如,语言、地区、类型等)计算所述资源的LACTR。在场境内根 据资源针对该场境的LACTR,对资源进行排名。
当到了确定资源的排名时(702),如果已经针对所述资源报告了 场境内的动作,则依据所接收的报告在该场境中对资源的动作的信号 对一个或多个场境的每个资源计算LACTR (706, 708)。对一个或多 个场境中的每一个(循环706, 718)为每个资源(循环708, 714)计 算LACTR并且在每个场境内对资源进行排名。
对资源计算场境内的长添加的数目(710)。场境内的长添加数目 是所述场境内的资源添加数目减去所述场境内该资源的短删除数目。
对所述场境内的所述资源计算LACTR (712)。所述场境内的资 源的LACTR是所述场境内该资源的长添加数目除以该资源在所述场
38境内显示的次数。在一些实施方式中,资源在所述场境内的观看数目 被用作资源被显示的次数。场境内LACTR作为场境内该资源的分值。
用于对资源计算场境内LACTR的循环在对所述资源计算了场境 内LACTR时结束(714)。通过根据资源的LACTR对资源进行排序, 所述资源在场境内通过其在所述场境内的LACTR进行排名(716)。 资源的LACTR越高,该资源被排名得越高。在一些实施方式中,并非 对其计算了 LACTR的所有资源都被包括在排名中。例如,如果资源在 场境内的LACTR不满足或超出了预定阈值,则将其从在所述场境内的 排名中省去。
场境的循环在已经确定了所有的一个或多个场境的排名时结束 (718)。
该说明书中所描述的主题和功能操作的实施例能够以数字电路来 实现,或者以计算机软件、固件或硬件来实现,包括该说明书中所公 开的结构及其结构等同物,或者以它们中一个或多个的组合来实现。
该说明书中所描述的主题的实施例可被实现为一个或多个计算机程序 产品,即在有形程序载体上编码的计算机程序指令的一个或多个模块, 其用于由数据处理装置执行或者控制数据处理装置的操作。所述有形 程序载体可以是传播信号或计算机可读介质。所述传播信号是人为生 成的信号,例如机器生成的电、光或电磁信号,其被生成以对信息进 行编码以便传输到适当的接收器装置供计算机执行。所述计算机可读 介质可以是机器可读的存储设备、机器可读的存储基片、存储器设备、 实现机器可读的传播信号的物体合成物或者它们中一个或多个的组合。
术语"数据处理装置"包含用于处理数据的所有装置、设备和机 器,例如包括可编程处理器、计算机,或者多个处理器或计算机。除 硬件之外,所述装置可包括为所讨论的计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统或者 它们中一个或多个的组合的代码。
计算机程序(也被称作程序、软件、软件应用、脚本或代码)可 以以任意形式的编程语言进行编写,例如包括编译或解释语言,或者 说明或程序语言,并且其能够以任意形式被部署,包括作为独立程序 或者作为模块、组件、子程序或适于在计算环境中使用的其它单元。 计算机程序无需对应于文件系统中的文件。程序可被存储在保持其它 程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个 或多个脚本),存储在专用于所讨论程序的单个文件中,或者存储在 多个关联文件(例如,存储一个或多个模块、子程序或代码部分的文 件)中。计算机程序可被部署为在一个计算机或位于一个地点或跨多 个地点分布并通过通信网络进行互联的多个计算机上执行。
该说明书中所描述的处理和逻辑流程可由一个或多个可编程处理 器来执行,所述可编程处理器执行一个或多个计算机程序以通过对输 入数据进行操作并生成输出来执行功能。所述处理和逻辑流程还可以 由专用逻辑电路执行,并且装置也可以实现为专用逻辑电路,例如 FPGA (现场可编程门阵列)或ASIC (专用集成电路)。
作为示例,适于执行计算机程序的处理器包括通用和专用微处理 器,以及任意类型的数字计算机的任意一个或多个处理器。通常,处 理器将从只读存储器或随机存取存储器或其二者接收指令和数据。计 算机的基本部件为用于执行指令的处理器和用于存储指令和数据的一 个或多个存储器设备。通常,计算机还可包括用于存储数据的一个或 多个大型存储设备,或者可操作地耦合到所述大型存储设备以从其接 收数据或向其传送数据,或者以上两种方式,所述大型存储设备例如 磁盘、磁-光盘或光盘。然而,计算机无需具有这样的设备。此外,计
算机可嵌入另一设备中,例如移动电话、个人数字助理(PDA)、移 动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器,仅举几个例子。
适于存储计算机程序指令和数据的计算机可读介质包括所有形式 的非易失性存储器、介质和存储器设备,例如包括半导体存储设备,
例如EPROM、 EEPROM和闪存设备;磁盘,例如内部硬盘或可移动盘; 磁-光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可用专用 逻辑电路补充或合并于其中。
为了提供与用户的交互,该说明书中所描述的主题的实施例可实 现在具有以下的计算机上例如CRT (阴极射线管)或LCD (液晶显
示)监视器之类显示设备,用于向用户显示信息;以及键盘和例如鼠
标和轨迹球之类的指示设备,用户能够通过其为计算机提供输入。也
可以使用其它类型的设备来提供与用户的交互;例如,提供给用户的 反馈可以是任意形式的感官反馈,例如视觉反馈、听觉反馈或触觉反 馈;并且来自用户的输入可以以任意形式被接收,包括声音、语音或 触觉输入。
该说明书中所描述的主题的实施例可在计算系统中实现,所述计 算系统包括例如数据服务器之类的后端组件,或者其包括例如应用服 务器之类的中间部件,或者其包括例如客户端计算机之类的前端组件, 所述客户端计算机具有图形用户界面或Web浏览器,用户能够通过所 述图形用户界面或Web浏览器与该说明书所描述的主题的实施方式或 者一个或多个这样的后端、中间件或前端组件的任意组合进行交互。 所述系统的组件可以通过任意形式或介质的数字数据通信进行互联, 例如通信网络。通信网络的示例包括局域网(LAN)和广域网(WAN), 例如因特网。
所述计算系统可包括客户端和服务器。客户端和服务器通常彼此 远离,并且典型地通过通信网络进行交互。客户端和服务器的关系借 助于在各自计算机上运行并且互相具有客户端-服务器关系的计算机程
41序而产生。
虽然该说明书包含了许多特定实施方式的细节,但是这些不应当 被认为是对任意发明和所要求的范围的限制,而是作为特定于特定发 明的特定实施例的特征描述。该说明书中以分立实施例为场境所描述 的某些特征也可以作为组合在单个实施例中实施。相反,以单个实施 例为场境所描述的各种特征也可以单独或以任意适当的子组合在多个 实施例中实施。此外,虽然以上所描述的特征可以以特定组合工作甚 至最初进行这样的要求,但是来自所要求组合的一个或多个特征在一 些情况下可以从所述组合中脱离出来,并且所要求的组合可以指向子 组合或子组合的变化形式。
类似的,虽然操作在附图中以特定顺序进行描绘,但是这不应当 被理解为为了获得所需结果要求这些操作以所示的特定顺序或连续顺 序来执行,或者所图示的所有操作都要被执行。在某些环境中,多任 务和并行处理可能是有利的。此外,以上所描述的实施例中各系统组 件的划分不应当被理解为要求在所有实施例中进行这样的划分,并且 应当理的是,所描述的程序组件和系统通常能够在单个软件产品中集 成在一起或者封装到多个软件产品中。
已经描述了在该说明书中所描述主题的特定实施例。其它实施例 处于所附权利要求的范围在内。例如,权利要求中所引用的动作可以 以不同顺序来执行并且仍然获得所需的结果。作为一个示例,附图中 所描绘的过程并不必须要求所示的特定顺序或连续顺序来获得所需结 果。在某些实施方式中,多任务和并行处理可能是有利的。
4权利要求
1.一种在排名服务处实现的方法,所述排名服务被第一订户和第二订户所使用,所述第一订户和所述第二订户是不同的数据处理服务,所述第一订户向用户呈现第一资源并捕捉与所述第一资源相关的用户动作,所述第二订户向用户呈现第二资源并捕捉与所述第二资源相关的用户动作,所述方法包括从所述第一订户接收第一信号,所述第一信号包括表征与所述第一资源中的各个资源相关的各个用户动作的信息,所述第一信号包括用于一个或多个预定参数的值以及用于特定于所述第一订户的一个或多个第一订户特定参数的值;从所述第二订户接收第二信号,所述第二信号包括表征与所述第二资源中的各个资源相关的各个用户动作的信息,所述第二信号包括用于一个或多个预定参数的值以及用于特定于所述第二订户的一个或多个第二订户特定参数的值;根据所述第一信号而不是根据不是用于所述第一订户的订户特定参数的任意订户特定参数的值生成第一排名数据,所述第一排名数据对第一资源进行排名;以及根据所述第二信号而不是根据不是用于所述第二订户的订户特定参数的任意订户特定参数的值生成第二排名数据,所述第二排名数据对第二资源进行排名。
2.如权利要求l所述的方法,进一步包括响应于来自所述第一订户的第一请求,向所述第一订户提供所述第一排名数据;以及响应于来自所述第二订户的第二请求,向所述第二订户提供所述 第二排名数据;
3.如权利要求l所述的方法,其中 所述第一请求包括表征第一用户的信息;所述第二请求包括表征第二用户的信息;所述第一信号包括表征执行与所述第一资源中的各个资源相关的 各个用户动作的相应用户的信息;所述第二信号包括表征执行与所述第二资源中的各个资源相关的 各个用户动作的相应用户的信息;生成第一排名数据进一步包括使用表征所述第一用户的所述信息 以及表征执行与所述第一资源中的各个资源相关的各个用户动作的相 应用户的信息来生成第一排名数据;以及生成第二排名数据进一步包括使用表征所述第二用户的所述信息 以及表征执行与所述第二资源中的各个资源相关的各个用户动作的相 应用户的信息来生成第二排名数据。
4.如权利要求l所述的方法,其中生成第一排名数据进一步包括根据所述第二信号中的用于预定参 数的值生成第一排名数据;以及生成第二排名数据进一步包括根据所述第一信号中的用于预定参 数的值生成第二排名数据。
5. —种在被第一订户和第二订户使用的排名服务处实现的方法, 所述第一订户和所述第二订户是不同的数据处理服务,所述第一订户 向用户呈现第一资源并捕捉与所述第一资源相关的用户动作,所述第 二订户向用户呈现第二资源并捕捉与所述第二资源相关的用户动作, 所述方法包括从所述第一订户接收第一信号,所述第一信号包括表征与所述第 一资源相关的用户动作的信息,所述第一信号包括用于一个或多个预 定参数的第一值以及用于特定于所述第一订户的第一订户特定参数的 值;从所述第二订户接收第二信号,所述第二信号包括表征与所述第 二资源相关的用户动作的信息,所述第二信号包括用于一个或多个预 定参数的第二值以及用于特定于所述第二订户的第二订户特定参数的值;从第一请求方接收第一请求,所述第一请求包括表征第一用户的 fe息;响应于所述第一请求,将第一排名数据提供给所述第一请求方, 所述第一排名数据由排名过程基于所述第一信号和表征所述第一用户的信息所生成;从第二请求方接收第二请求,所述第二请求包括表征第二用户的 信息;以及响应于所述第二请求,将第二排名数据提供给所述第二请求方, 所述第二排名数据由所述排名过程基于所述第二信号和表征所述第二 用户的信息所生成;其中,除分别从所述第一和第二订户接收的信息之外,所述排名 服务不使用关于所述第一或所述第二订户特定参数的信息。
6. 如权利要求5所述的方法,进一步包括向所述第一订户和所述第二订户提供信令格式,其中,所述第一 信号被所述第一订户依据所述格式传送到所述排名服务,并且所述第 二信号被所述第二订户依据所述格式传送到所述排名服务。
7. 如权利要求6所述的方法,其中所述信令格式包括用于将信号 嵌入在统一资源定位符(URL)中的格式;所述第一信号被在第一URL中传送;以及 所述第二信号被在第二URL中传送。
8. 如权利要求5所述的方法,其中与和所述第一资源相关的所述第一订户的用户动作包括在所述第 一订户所提供的虚拟环境中与所述第一资源进行的用户交互;以及与和所述第二资源相关的所述第二订户的用户动作包括在所述第 二订户所提供的虚拟环境中与所述第二资源进行的用户交互。
9. 如权利要求5所述的方法,其中所述第一信号包括由所述第一订户定义的一个或多个第一资源标 识符,所述第一资源标识符标识所述第一资源,所述第一资源标识符 对于所述排名服务不具有先验意义;以及所述第二信号包括由所述第二订户定义的一个或多个第二资源标 识符,所述第二资源标识符标识所述第二资源,所述第二资源标识符 对于所述排名服务不具有先验意义。
10. 如权利要求5所述的方法,其中用于所述预定参数的所述第一值和用于所述第一订户特定参数的 所述值限定与在所述第一信号中表征的所述第一资源相关的所述用户 动作;以及用于所述预定参数的所述第二值和用于所述第二订户特定参数的 所述值限定与在所述第二信号中表征的所述第二资源相关的所述用户 动作。
11. 如权利要求5所述的方法,其中 所述预定参数包括语言、地区和类型中的至少一个。
12. 如权利要求5所述的方法,其中所述第一订户特定参数对于所述排名服务不具有先验意义;并且所述第二订户特定参数对于所述排名服务不具有先验意义。
13. 如权利要求5所述的方法,其中所述第一信号包括具有用于所 述预定参数的第一部分的第三值的第三信号以及具有用于所述预定参 数的第二部分的第四值的第四信号,所述预定参数的所述第一部分和 所述第二部分具有共同的参数,所述第一部分具有所述第二部分中没 有的参数,并且所述第二部分具有所述第一部分中没有的参数;所述 方法进一步包括如果满足混合条件,则将所述第三信号和所述第四信号进行混合。
14. 如权利要求5所述的方法,其中所述第一请求方是所述第一订 户,而所述第二请求方是所述第二订户。
15. 如权利要求5所述的方法,其中,所述第一信号包括所述第一 订户的标识,而所述第二信号包括所述第二订户的标识。
16. 如权利要求15所述的方法,其中,所述第一订户的标识包括 所述第一订户的细分的标识,而所述第二订户的标识包括所述第二订 户的细分的标识。
17. 如权利要求5所述的方法,其中所述第一信号包括由所述第一订户所定义的一个或多个第一用户 标识符,所述第一用户标识符标识执行所述用户动作的用户;以及所述第二信号包括由所述第二订户所定义的一个或多个第二用户 标识符,所述第二用户标识符标识执行所述用户动作的用户。
18. 如权利要求5所述的方法,其中除所述第一信号所提供的信息之外,所述排名服务没有与所述第 一资源相关的信息;并且除所述第二信号所提供的信息之外,所述排名服务没有与所述第二资源相关的信息。
19. 如权利要求5所述的方法,其中从所述第一订户接收第一信号包括在所述第一订户没有预先注册 所述排名服务的情况下从所述第一订户接收所述第一信号;并且从所述第二订户接收第二信号包括在所述第二订户没有预先注册 所述排名服务的情况下从所述第二订户接收所述第二信号。
20. 如权利要求5所述的方法,其中所述第一信号包括通过所述用户的至少一个子集的聚合表征与所 述第一资源相关的所述用户动作的信息;并且所述第二信号包括通过所述用户的至少一个子集的聚合表征与所述第二资源相关的所述用户动作的信息。
21. 如权利要求5所述的方法,其中所述用户包括实体。
22. 如权利要求5所述的方法,其中所述第一信号包括表征与所述第一资源相关的多个用户动作的聚合信号;并且所述第二信号包括表征与所述第二资源相关的多个用户动作的聚 合信号。
23. —种计算机系统,包括配置有指令的一个或多个计算机,所述指令包括可操作地使得所述计算机系统执行以下步骤的指令从第一订户接收第一信号,所述第一信号包括表征与各个第一资 源相关的各个用户动作的信息,所述第一信号包括用于一个或多个预 定参数的值以及用于特定于所述第一订户的一个或多个第一订户特定参数的值;从第二订户接收第二信号,所述第二信号包括表征与各个第二资 源相关的各个用户动作的信息,所述第二信号包括用于一个或多个预 定参数的值以及用于特定于所述第二订户的一个或多个第二订户特定 参数的值;根据所述第一信号而不根据不是用于所述第一订户的订户特定参 数的任意订户特定参数的值生成第一排名数据,所述第一排名数据对 第一资源进行排名;以及根据所述第二信号而不根据不是用于所述第二订户的订户特定参 数的任意订户特定参数的值生成第二排名数据,所述第二排名数据对 第二资源进行排名。
24. —种编码在计算机可读介质上的计算机程序产品,可操作地 使得数据处理装置执行包括以下步骤的操作从第一订户接收第一信号,所述第一信号包括表征与各个第一资 源相关的各个用户动作的信息,所述第一信号包括用于一个或多个预 定参数的值以及用于特定于所述第一订户的一个或多个第一订户特定 参数的值;从第二订户接收第二信号,所述第二信号包括表征与各个第二资 源相关的各个用户动作的信息,所述第二信号包括用于一个或多个预 定参数的值以及用于特定于所述第二订户的一个或多个第二订户特定 参数的值;根据所述第一信号而不根据不是用于所述第一订户的订户特定参 数的任意订户特定参数的值生成第一排名数据,所述第一排名数据对 第一资源进行排名;以及根据所述第二信号而不根据不是用于所述第二订户的订户特定参 数的任意订户特定参数的值生成第二排名数据,所述第二排名数据对 第二资源进行排名。
25. —种计算机系统,包括用于从第一订户接收第一信号的装置,所述第一信号包括表征与 各个第一资源相关的各个用户动作的信息,所述第一信号包括用于一 个或多个预定参数的值以及用于特定于所述第一订户的一个或多个第 一订户特定参数的值;用于从第二订户接收第二信号的装置,所述第二信号包括表征与 各个第二资源相关的各个用户动作的信息,所述第二信号包括用于一 个或多个预定参数的值以及用于特定于所述第二订户的一个或多个第 二订户特定参数的值;用于根据所述第一信号而不根据不是用于所述第一订户的订户特 定参数的任意订户特定参数的值生成第一排名数据的装置,所述第一 排名数据对第一资源进行排名;以及用于根据所述第二信号而不根据不是用于所述第二订户的订户特 定参数的任意订户特定参数的值生成第二排名数据的装置,所述第二 排名数据对第二资源进行排名。
26. —种用于在排名服务和订户之间交换信息的方法,所述订户 是数据处理服务,所述订户向用户呈现资源并捕捉与所述资源相关的 用户动作,所述方法包括在所述订户和所述排名服务之间并且依据协议交换报告所述用户 动作的信号以及基于所述信号对所述资源进行排名的排名数据,所述 信号来自所述订户,所述排名数据来自所述排名服务,其中 所述协议定义能够由所述信号报告的用户动作的类型; 所述协议定义用于为用于限定所述用户动作的预定参数集合中的 一个或多个指定值的格式,所述预定参数对于所述排名服务具有先验 意义;所述协议定义用于指定与所述资源或所述用户动作相关的一个或 多个订户特定参数的格式,所述订户特定参数由订户指定并且在所述 预定参数外被额外使用;并且所述协议定义用于使用所述订户所定义的名称空间标识所述用户 动作与其相关的资源的格式。
27. 如权利要求26所述的方法,其中所述预定参数包括语言、地 区或类型中的至少一个。
28. 如权利要求26所述的方法,其中所述信号包括基于所述预定 参数中的至少一个限定所述用户动作的值。
29. 如权利要求26所述的方法,其中所述信号包括与所述订户特 定参数相对应的一个或多个值。
30. 如权利要求26所述的方法,其中所述信号包括订户的标识符。
31. 如权利要求26所述的方法,其中所述协议指定相应的信号中 所包括的信息量的上限。
32. 如权利要求26所述的方法,其中所述协议定义用于指定在所 述请求中表征用户的信息的格式;并且其中所述排名数据包括基于所述信号和表征所述用户的信息对所 述资源进行排名的排名数据。
33. —种系统,所述系统可由订户使用,所述订户是数据处理服 务,所述订户向用户呈现资源并捕捉与所述资源相关的用户动作,所 述系统包括一个或多个处理器;和被配置为由所述一个或多个处理器执行的指令,所述指令包括进 行以下步骤的指令在所述订户和所述排名服务之间并且依据协议交换报告所述用户 动作的信号以及基于所述信号对所述资源进行排名的排名数据,所述 信号来自所述订户,所述排名数据来自所述排名服务,其中所述协议定义能够由所述信号报告的用户动作的类型;所述协议定义用于为用于限定所述用户动作的预定参数集合中的 一个或多个指定值的格式,所述预定参数对于所述排名服务具有先验 意义;所述协议定义用于指定与所述资源或所述用户动作相关的一个或 多个订户特定参数的格式,所述订户特定参数由订户指定并且在所述 预定参数外被额外使用;并且所述协议定义用于使用所述订户所定义的名称空间标识所述用户 动作与其相关的资源的格式。
34. —种编码在计算机可读介质上的计算机程序产品,可操作地 使得数据处理装置执行包括以下步骤的操作在订户和所述排名服务之间并且依据协议交换报告用户动作的信号以及基于所述信号对资源进行排名的排名数据,所述信号来自所述订户,所述排名数据来自所述排名服务,其中所述协议定义能够由所述信号报告的用户动作的类型; 所述协议定义用于为用于限定所述用户动作的预定参数集合中的一个或多个指定值的格式,所述预定参数对于所述排名服务具有先验意义;所述协议定义用于指定与所述资源或所述用户动作相关的一个或多个订户特定参数的格式,所述订户特定参数由订户指定并且在所述预定参数外被额外使用;并且所述协议定义用于使用所述订户所定义的名称空间标识所述用户 动作与其相关的资源的格式。
35. —种可由订户使用的系统,所述订户是数据处理服务,所述 订户向用户呈现资源并捕捉与所述资源相关的用户动作,所述系统包 括用于在所述订户和所述排名服务之间并且依据协议交换报告所述 用户动作的信号以及基于所述信号对所述资源进行排名的排名数据的 装置,所述信号来自所述订户,所述排名数据来自所述排名服务,其 中所述协议定义能够由所述信号报告的用户动作的类型; 所述协议定义用于为用于限定所述用户动作的预定参数集合中的一个或多个指定值的格式,所述预定参数对于所述排名服务具有先验意义;所述协议定义用于指定与所述资源或所述用户动作相关的一个或多个订户特定参数的格式,所述订户特定参数由订户指定并且在所述预定参数外被额外使用;并且所述协议定义用于使用所述订户所定义的名称空间标识所述用户 动作与其相关的资源的格式。
36. —种计算机实现的方法,包括对于由数据处理服务向多个用户呈现的多个资源中的每一个 接收报告与相应资源相关的所述多个用户的一个或多个动作的一 个或多个信号,其中所报告的动作是呈现所述相应资源、添加所述相 应资源或删除所述相应资源,其中所述所报告的动作包括所述相应资 源的一个或多个短删除,所述相应资源的短删除是在所述相应资源的 对应添加之后的预定时间段内发生的对所述相应资源的删除;并且基于所报告的所述相应资源的呈现数目以及所报告的所述相应资 源的添加数目和所述相应资源的短删除数目之间的差异来确定所述相应资源的相应长添加点进率(LACTR);基于所述多个资源的所述相应LACTR对所述多个资源进行排名;以及提供所述多个资源的排名。
37. 如权利要求36所述的方法,其中提供所述资源的排名包括以排名顺序提供所述资源的至少子集的 表不。
38. 如权利要求36所述的方法,其中所述一个或多个信号中的每一个指定其中所述相应的所报告的动 作发生的场境;以及确定所述相应资源的相应LACTR包括基于所报告的在所述场境中 与所述相应资源相关的动作来确定在所述场境中所述相应资源的相应 LACTR。
39. 如权利要求38所述的方法,其中所述场境是语言、地区或主 题类型中的一个或多个。
40. 如权利要求36所述的方法,其中所述一个或多个信号被嵌入 在一个或多个统一资源定位符(URL)中。
41. 如权利要求36所述的方法,进一步包括标识所述多个用户的第一用户,所述第一用户与指示对所述多个 资源中的第一资源和第二资源的偏好的动作历史相关联;标识所述多个用户的第二用户,所述第二用户与指示对所述第一 资源的偏好的动作历史相关联;基于所指示的所述第一和第二用户对于所述第一资源的偏好修改 所述第二资源关于所述第二用户的排名。
42. —种系统,包括 一个或多个处理器;和被配置为由所述一个或多个处理器执行的指令,所述指令包括进 行以下步骤的指令对于由数据处理服务向多个用户呈现的多个资源中的每一个接收报告与相应资源相关的所述多个用户的一个或多个动作的一 个或多个信号,其中所报告的动作是呈现所述相应资源、添加所述相 应资源或删除所述相应资源,其中所述所报告的动作包括所述相应资 源的一个或多个短删除,所述相应资源的短删除是在所述相应资源的 对应添加之后的预定时间段内发生的对所述相应资源的删除;并且基于所报告的所述相应资源的呈现数目以及所报告的所述相应资 源的添加数目和所述相应资源的短删除数目之间的差异来确定所述相 应资源的相应长添加点进率(LACTR);基于所述多个资源的所述相应LACTR对所述多个资源进行排名;以及提供所述多个资源的排名。
43. —种编码在计算机可读介质上的计算机程序产品,可操作地 使得数据处理装置执行包括以下步骤的操作-对于由数据处理服务向多个用户呈现的多个资源中的每一个 接收报告与相应资源相关的所述多个用户的一个或多个动作的一个或多个信号,其中所报告的动作是呈现所述相应资源、添加所述相 应资源或删除所述相应资源,其中所述所报告的动作包括所述相应资 源的一个或多个短删除,所述相应资源的短删除是在所述相应资源的 对应添加之后的预定时间段内发生的对所述相应资源的删除;并且基于所报告的所述相应资源的呈现数目以及所报告的所述相应资 源的添加数目和所述相应资源的短删除数目之间的差异来确定所述相应资源的相应长添加点进率(LACTR);基于所述多个资源的所述相应LACTR对所述多个资源进行排名;以及提供所述多个资源的排名。
44. 一种系统,包括用于对于由数据处理服务向多个用户呈现的多个资源中的每一个执行以下步骤的装置接收报告与相应资源相关的所述多个用户的一个或多个动作的一 个或多个信号,其中所报告的动作是呈现所述相应资源、添加所述相 应资源或删除所述相应资源,其中所述所报告的动作包括所述相应资 源的一个或多个短删除,所述相应资源的短删除是在所述相应资源的对应添加之后的预定时间段内发生的对所述相应资源的删除;并且基于所报告的所述相应资源的呈现数目以及所报告的所述相应资源的添加数目和所述相应资源的短删除数目之间的差异来确定所述相应资源的相应长添加点进率(LACTR);用于基于所述多个资源的所述相应LACTR对所述多个资源进行排名的装置;以及用于提供所述多个资源的排名的装置。
全文摘要
用于提供排名服务的方法、系统和装置,包括计算机程序产品。在一个方面,从第一订户接收第一信号,并且从第二订户接收第二信号。所述信号包括表征分别与第一或第二资源中的各个相关的各个订户动作的信息、用于一个或多个预定参数的值以及分别特定于所述第一或第二订户的一个或多个第一订户特定参数的值。根据所述第一信号而不根据不是所述第一订户的订户特定参数的任意订户特定参数的值生成第一排名数据。根据所述第二信号而不根据不是所述第二订户的订户特定参数的任意订户特定参数的值生成第二排名数据。
文档编号G06F7/00GK101589360SQ200780046922
公开日2009年11月25日 申请日期2007年10月18日 优先权日2006年10月18日
发明者丹尼尔·S·塔洛, 亚当·沙赫, 克里斯托弗·罗尔斯, 施文恺, 杨华莉, 高桥亮平 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1