用于内容准个性化的低熵浏览历史
1.相关申请的交叉引用
2.本申请要求在2019年8月8日提交的标题为“low entropy browsing history for content quasi
‑
personalization”(用于内容准个性化的低熵浏览历史)的美国专利申请no.16/535,912的优先权,该申请通过引用整体地并入本文。
背景技术:
3.在诸如因特网的计算机联网环境中,内容提供者能够提供要插入到由在客户端设备上执行的应用(例如,web浏览器)所处理和渲染的信息资源(例如,网页)中的内容项。
4.个性化内容递送通常基于捕获用户和/或设备的标识信息,诸如所述设备的浏览或访问历史。然而,这显著地影响所述设备和用户的私密性和安全性。选择退出和不跟踪策略允许用户对其私密性进行某种控制措施,但是削弱了内容提供者提供相关内容的能力。
技术实现要素:
5.本文讨论的系统和方法经由诸如数百万或数十亿个设备的大量设备的聚合浏览历史来提供内容准个性化或匿名化内容检索。稀疏矩阵可以从聚合的浏览历史构建,并且在维度上减小,从而减小熵并且为各个设备提供匿名性。可以经由用于表示类似的浏览历史的准个性化聚类来选择相关内容,而不用使各个设备细节暴露于内容提供者。
6.在一个方面中,本公开涉及一种用于匿名化内容检索的方法。该方法包括由计算设备的浏览器应用生成基于所述计算设备的浏览历史的简档。该方法还包括由浏览器应用将所述简档编码为n维向量。该方法还包括由浏览器应用根据n维向量计算降维向量。该方法还包括由浏览器应用确定与降维向量相对应的第一聚类。该方法还包括由浏览器应用向内容服务器传送对内容项的请求,该请求包括第一聚类的标识。该方法还包括由浏览器应用从内容服务器接收根据第一聚类的标识所选择的内容项。
7.在一些实施方式中,该方法包括通过从浏览历史的日志中标识在预定时间段内对多个地址中的每一个地址的访问次数n来生成基于计算设备的用户的浏览历史的简档。在一些实施方式中,该方法包括生成具有用于表示如下的值的字符串:在预定时间段内对与字符串中的对应位置相关联的地址的一个或多个访问中的每一个访问。
8.在一些实施方式中,该方法包括执行n维向量的奇异值分解。在另一个实施方式中,该方法包括从第二计算设备接收奇异值分解的奇异向量集。在再一个实施方式中,该方法包括向第二计算设备传送n维向量,所述第二计算设备基于计算设备的n维向量和至少一个其他计算设备的n维向量的聚合来计算奇异向量集。
9.在一些实施方式中,该方法包括从第二计算设备接收多个聚类中的每一个聚类的边界。在另一个实施方式中,该方法包括响应于降维向量在第一聚类的边界内,选择多个聚类中的第一聚类。
10.在一些实施方式中,该方法包括:由浏览器应用从第二计算设备接收基于所述计算设备的n维向量和至少一个其他计算设备的n维向量的聚合而确定的神经网络模型的权
重;由浏览器应用的机器学习系统将神经网络模型应用于降维向量,以生成预定聚类集的排名;以及由浏览器应用选择第一聚类作为预定聚类集中的排名最高的聚类。
11.在另一方面中,本公开涉及一种用于匿名化内容检索的方法。该方法包括由服务器计算设备从多个客户端计算设备中的每一个接收基于所对应的客户端计算设备的浏览历史的简档,每个简档包括n维向量。该方法还包括由服务器计算设备将多个简档的多个n维向量聚合成矩阵。该方法还包括由服务器计算设备计算所述矩阵的奇异值分解以生成奇异值集。该方法还包括由服务器计算设备向多个客户端计算设备中的每一个客户端计算设备和至少一个内容提供者设备传送所述奇异值集。
12.在一些实施方式中,该方法包括由服务器计算设备确定所述矩阵的聚类集中的每个聚类的边界。在另一个实施方式中,该方法包括由服务器计算设备向多个客户端计算设备中的每一个客户端计算设备和至少一个内容提供者设备传送所述矩阵的聚类集中的每个聚类的边界。
13.在一些实施方式中,该方法包括由服务器计算设备经由神经网络模型从所述矩阵中标识聚类集中的每个聚类。在另一个实施方式中,该方法包括将神经网络模型的权重传送到多个客户端计算设备中的每一个客户端计算设备和至少一个内容提供者设备。
14.在再一个方面中,本公开涉及一种用于匿名化内容检索的系统。该系统包括计算设备,该计算设备包括与内容服务器通信的网络接口、存储计算设备的浏览历史的存储器、和浏览器应用。所述浏览器应用被配置成:生成基于计算设备的浏览历史的简档;将所述简档编码为n维向量;根据n维向量计算降维向量;确定与降维向量相对应的第一聚类;经由网络接口向内容服务器传送对内容项的请求,该请求包括第一聚类的标识;并且经由网络接口从内容服务器接收根据第一聚类的标识所选择的内容项。
15.在一些实施方式中,浏览器应用还被配置成生成具有值的字符串,所述值表示在预定时间段内对与字符串中的对应位置相关联的地址的一个或多个访问中的每一个访问。在一些实施方式中,浏览器应用还被配置成执行n维向量的奇异值分解。在另一个实施方式中,浏览器应用还被配置成经由网络接口从第二计算设备接收奇异值分解的奇异向量集。在再一个实施方式中,浏览器应用还被配置成经由网络接口向第二计算设备传送n维向量,第二计算设备基于所述计算设备的n维向量和至少一个其他计算设备的n维向量的聚合来计算奇异向量集。
16.在一些实施方式中,浏览器应用还被配置成:经由网络接口从第二计算设备接收基于所述计算设备的n维向量和至少一个其他计算设备的n维向量的聚合而确定的神经网络模型的权重;将神经网络模型应用于降维向量以生成预定聚类集的排名;并且选择第一聚类作为所述预定聚类集中的排名最高的聚类。
17.至少一个方面涉及一种对用于内容选择的标识符进行编码的方法。在客户端设备上执行的第一应用能够标识在客户端设备上维护的浏览历史。浏览历史能够记录由客户端设备经由第一应用访问的信息资源。第一应用能够将分类模型应用于第一应用的浏览历史,以标识在其中要将第一应用归类的类。第一应用能够将第一应用指派给与经标识的类相对应的类标识符。第一应用的类标识符能够与第二应用的类标识符相同。第一应用能够从内容发布者设备接收信息资源,该信息资源包括主要内容和可用于从内容选择服务接收内容的内容槽。第一应用能够针对信息资源的内容槽生成对内容的请求,所述内容的请求
包括用于第一应用的类标识符。第一应用能够将对内容的请求传送到内容选择服务。内容选择服务能够使用用于第一应用的类标识符和用于第二应用的类标识符,来选择要插入到信息资源的内容槽中的内容项。
18.在一些实施方式中,第一应用能够从应用管理员服务接收用于更新分类模型的参数集,所述分类模型用于将应用归类成多个类中的一个类。在一些实施方式中,第一应用能够基于从应用管理员服务接收到的参数集来修改在客户端设备上维护的分类模型。在一些实施方式中,第一应用能够与在多个对应的客户端设备上执行的多个应用相一致地、通过使用分布式学习协议来训练在客户端设备上维护的分类模型。
19.在一些实施方式中,第一应用能够通过使用降维过程来从自客户端设备标识的浏览历史来生成简化特征向量集,所述特征向量在文件大小上小于浏览历史。在一些实施方式中,应用分类模型能够包括将分类模型应用于从浏览历史所生成的简化特征向量集。
20.在一些实施方式中,第一应用能够按照标识符指派策略来确定分类模型将被应用于浏览历史。在一些实施方式中,应用分类模型能够包括:响应于确定将按照标识符指派策略来应用分类模型,而应用分类模型。
21.在一些实施方式中,应用分类模型能够包括应用分类模型以从多个类中标识类。多个类中的每个类能够具有要归类到该类的至少预定数目的客户端。在一些实施方式中,将第一应用指派给类标识符还能够包括将第一应用指派给多个类标识符中的类标识符。每个类标识符能够对应于多个类中的一个类。
22.在一些实施方式中,生成对内容的请求能够包括:在没有和由内容选择服务提供的与第一应用、第一应用或客户端设备相关联的账户相对应的唯一跟踪标识符的情况下,生成对内容的请求。在一些实施方式中,生成对内容的请求能够包括生成对包括安全cookie(一种浏览器缓存)的内容的请求,以用于通过与内容选择服务的连接进行传输。安全cookie能够具有第一应用的类标识符。在一些实施方式中,标识浏览历史能够包括在其中要应用分类模型的预定时间范围上标识浏览历史。
23.至少一个方面涉及一种用于对用于内容选择的标识符进行编码的系统。该系统能够包括可在具有一个或多个处理器的客户端设备上执行的第一应用。在客户端设备上执行的第一应用能够标识在客户端设备上维护的浏览历史。浏览历史能够记录由客户端设备经由第一应用访问的信息资源。第一应用能够将分类模型应用于第一应用的浏览历史,以标识在其中要将第一应用归类的类。第一应用能够将第一应用指派给与经标识的类相对应的类标识符。第一应用的类标识符能够与第二应用的类标识符相同。第一应用能够从内容发布者设备接收信息资源,该信息资源包括主要内容和可用于从内容选择服务接收内容的内容槽。第一应用能够针对信息资源的内容槽生成对内容的请求,所述内容的请求包括用于第一应用的类标识符。第一应用能够将对内容的请求传送到内容选择服务。内容选择服务能够使用用于第一应用的类标识符和用于第二应用的类标识符,来选择要插入到信息资源的内容槽中的内容项。
24.在一些实施方式中,第一应用能够从应用管理员服务接收用于更新分类模型的参数集,所述分类模型用于将应用归类成多个类中的一个类。在一些实施方式中,第一应用能够基于从应用管理员服务接收到的参数集来修改在客户端设备上维护的分类模型。在一些实施方式中,第一应用能够与在多个对应的客户端设备上执行的多个应用相一致地、通过
使用分布式学习协议来训练在客户端设备上维护的分类模型。
25.在一些实施方式中,第一应用能够通过使用降维过程来从自客户端设备标识的浏览历史来生成简化特征向量集,所述特征向量在文件大小上小于浏览历史。在一些实施方式中,第一应用能够将分类模型应用于从浏览历史生成的简化特征向量集。
26.在一些实施方式中,第一应用能够按照标识符指派策略来确定分类模型将被应用于浏览历史。在一些实施方式中,第一应用能够响应于确定按照标识符指派策略来应用分类模型来应用分类模型。
27.在一些实施方式中,第一应用能够应用分类模型以从多个类中标识所述类。多个类中的每个类能够具有要归类到该类的至少预定数目的客户端。在一些实施方式中,第一应用能够将第一应用指派给多个类标识符中的类标识符。每个类标识符能够对应于多个类中的一个肋。
28.在一些实施方式中,第一应用在没有由内容选择服务提供的和与第一应用、第二应用或客户端设备相关联的账户相对应的唯一跟踪标识符的情况下,生成对内容的请求。在一些实施方式中,第一应用生成对包括安全cookie的内容的请求,以用于通过与内容选择服务的连接进行传输。安全cookie能够具有用于第一应用的类标识符。在一些实施方式中,第一应用能够在其中要应用分类模型的预定时间范围上标识浏览历史。
29.本公开还提供一种计算机程序,该计算机程序包括指令,这些指令当由计算设备执行时,使计算设备执行本文公开的方法中的任一种。本公开还提供一种计算机可读介质,该计算机可读介质包括指令,这些指令当由计算设备执行时,使计算设备执行本文公开的方法中的任一种。
30.一个方面的可选特征可以与任何其他方面组合。
附图说明
31.在附图和以下描述中阐述一个或多个实施方式的细节。根据说明书、附图和权利要求书,本公开的其他特征、方面和优点将变得显而易见,在附图中:
32.图1a是根据一些实施方式的示例简档向量的图示;
33.图1b是根据一些实施方式的将简档向量聚合成稀疏矩阵的图示;
34.图1c是根据一些实施方式的用于匿名化以提供伪个性化聚类的过程的图示;
35.图2是根据一些实施方式的用于匿名化以提供伪个性化聚类的系统的框图;
36.图3是根据一些实施方式的用于匿名化以提供伪个性化聚类的方法的流程图;
37.图4是描绘根据说明性实施方式的用于通过使用分类模型来对用于内容选择的标识符进行编码的系统的框图;
38.图5是描绘根据说明性实施方式的在用于通过使用分类模型来对用于内容选择的标识符进行编码的系统中的客户端设备和应用管理服务的框图;
39.图6是描绘根据说明性实施方式的在用于通过使用分类模型来对用于内容选择的标识符进行编码的系统中的客户端设备、内容提供者、内容发布者和内容选择服务的框图;
40.图7是描绘根据说明性实施方式的在用于通过使用分类模型来对用于内容选择的标识符进行编码的系统中的客户端设备和内容选择服务的框图;
41.图8是描绘根据说明性实施方式的通过使用分类模型来对用于内容选择的标识符
进行编码的方法的流程图;以及
42.图9是图示根据说明性实施方式的计算机系统的一般架构的框图,所述计算机系统可以被采用来实施本文描述和图示的系统和方法的各元素。
43.在各个附图中,相似的附图标记和名称指示相似的元素。
具体实施方式
44.个性化内容递送通常基于捕获用户和/或设备的标识信息,诸如设备的浏览或访问历史。例如,设备可以提供标识信息,诸如设备标识符、账户名、cookie或其他这种信息;并且内容提供者可以存储此信息,以供在选择个性化内容时使用。结果,内容提供者可以获得关于个人的大量数据。这显著地影响设备和用户的私密性和安全性。选择退出和不跟踪策略允许用户对其私密性进行某种措施的控制(假设内容提供者遵循那些策略)。然而,由于这些策略削弱内容提供者提供相关内容的能力,所以一些内容提供者可能不遵守用户请求。
45.本文讨论的系统和方法经由诸如数百万或数十亿个设备的大量设备的聚合的浏览历史来提供内容准个性化或匿名化内容检索。例如,可以将每个设备的浏览历史编码为长数据字符串或n维向量。图1a是根据一些实施方式的示例简档向量100的图示。简档向量可以包括在给定时间段内由设备对域、网站或网页的游览或访问的标识。在所图示的示例中,向量标识在一周的每天内对大量域1
‑
n中的每一个域的查看或游览次数。尽管被示出为一维向量,但是在类似的实施方式中,向量可以包括n乘7数组(例如,每天一行)。在其他实施方式中,可以包括附加数据(例如,一月的每天、一天内的时间段等)。因此,所述向量可以包括大的n维向量或数组。可以在向量中包括附加数据,诸如生成时间、位置、ip地址或任何其他这种信息的标识。
46.如以上所指出的,在许多实施方式中,所述向量可以是非常大的。例如,在因特网上有大约18亿个活动网站和超过3.3亿个注册域。在一些实施方式中,所述向量可以记录对这些域或网站中的任一个的游览或访问。在其他实施方式中,所述向量可以记录对仅所述域或网站的子集的游览或访问。例如,不到一百万个网站占web业务的大约50%。因此,在许多实施方式中,所述向量可以仅记录或表示对域或网站的子集的访问或游览。然而,即使在许多此类实施方式中,向量也可以是大的,诸如o(2
26
)或更大。
47.可以将所述向量提供给服务器设备,该服务器设备可以将所述向量与其他设备的向量聚合,如图1b的图示所示。可以聚合来自多个设备102中的每一个的简档向量100以创建非常大的矩阵。例如,在网络上每月有数十亿(o(2
30
))个活动用户或设备。用于组合这些设备中的每一个的简档向量100的矩阵因此可以是o(2
30
x2
26
)维,或者在一些实施方式中更大。
48.然而,此矩阵是高度稀疏的。典型用户可能在诸如一周的给定时间段内游览数百万个可能域中的o(100)。由于在任何给定设备的浏览历史中的高度稀疏性质和冗余,可以减小此矩阵的维度。
49.在一些实施方式中,可以使用诸如奇异向量分解(svd)的线性简化技术,来计算作为所述矩阵的最佳近似(例如使平方误差最小化)的秩x矩阵。可以将每个简档向量100投影到x个维度,其中x小于所述矩阵的原始维数。对于每个维度,可以将投影结果量化为2至ni
的幂个桶,其中i∈[1,x],并且所述桶的数量与对应维度的奇异值成比例。k=∑ni个位可以用于表示所有x个维度的量化投影结果。级联在一起的那些位可以是所述设备的聚类标识符。在其他实施方式中,可以使用聚类算法(例如,最近邻)来在降维的空间中对设备进行聚类。
[0050]
因为奇异向量彼此正交并且作为量化过程的结果,所以统计上类似数目的设备(例如给定大的设备总数,近似相等)可以在每个聚类内或者被标识为属于每个聚类,假定在简档向量当中没有非线性依赖。每个聚类可以由标识符(有时称为聚类标识符、浏览组标识符)或由类似的术语表示。
[0051]
在其他实施方式中,可以使用其他线性分解方法,诸如主成分分析。在仍然其他的实施方式中,非线性降维算法可以用于减小所述矩阵的维度。可以使用各种分类技术,包括最近邻搜索、潜在类别分析等。
[0052]
图1c是根据一些实施方式的此过程的图示。如图所示,可以在步骤120处将来自大量设备的简档向量聚合成大矩阵。可以在步骤122处在维度上减小矩阵。可以如以上所讨论的那样在步骤124处标识聚类。
[0053]
在一些实施方式中,分类系统可以作为聚类标识的一部分和/或根据聚类标识而被训练。例如,在一些实施方式中,可以使用神经网络来将设备分类为预定数目的聚类的一部分。这样的网络可以将降维简档向量用作输入,同时将聚类标识符用作输出。可以在各种实施方式中经由监督或无监督学习来训练所述网络。
[0054]
在一些实施方式中,可以将神经网络模型或用于该模型的权重提供给客户端设备,或者可以提供用于分类的其他参数。也可以将从降维所生成的奇异向量提供给客户端设备。因此,在接收到向量和/或模型之后,客户端可以通过使用本地简档向量来生成他们自己的分类,而无需与服务器进一步通信。服务器可以周期性地例如每月或每季度重新生成奇异向量和/或分类模型参数。数据转移在一些实施方式中可能是相当大的(例如,o(2
26
)维,每个维有o(24)个奇异向量,在一些实施方式中,导致需要大约2gb的数据)。在一些实施方式中,为了减少到其他设备的数据转移,服务器可以将参数和向量与先前生成的参数和向量进行比较,并且只有当存在明显差异(例如超过阈值差异)时才提供新集合,或者仅提供显著地改变了的参数和/或向量的子集。在各种实施方式中,客户端可以使用这些参数和向量来更频繁地(例如每天、每小时、或随每一内容请求)在本地更新其分类。
[0055]
类似地,可以在一些实施方式中将奇异向量和/或模型参数提供给内容提供者。当客户端设备请求内容项时,所述请求可以包括聚类标识。可以将聚类标识嵌入在请求的有效载荷(payload)或报头中,诸如在https请求内或在http报头的可选字段中。内容提供者可以在一些实施方式中使用神经网络模型或提供者特定的神经网络模型,以针对在每个聚类内的设备推理人口统计和/或用户兴趣(例如通过基于降维的奇异向量来确定与聚类标识相对应的近似简档向量,且然后将该向量提供给机器学习系统以推理所述特性),而不能标识任何个别设备或用户的特性。
[0056]
因此,这些实施方式通过聚合(即,将具有类似的浏览历史或模式的设备聚合在一起),来提供设备匿名性。聚类算法试图维护类似的聚类大小,使得每一聚类包含大致相同数目的用户。给定在因特网上的固定数目的活动设备,聚类标识符的熵控制了聚类大小(例如聚类标识符的熵越高,在每个聚类中的设备越少,从而减少私密性保护)。通过调谐聚类
标识符的熵(例如通过提供更少或更多数目的聚类),所述系统可以在仍然维护内容个性化的有效性的同时实现所希望的匿名性和私密性保护水平。
[0057]
这些实施方式对不利用聚合和伪个性化的系统进行改进,以在维护有效性的同时提高私密性。在此类未经改进的系统中,用户或设备标识符可以用于记录设备的浏览历史,并且基于经累积的历史来推理对应用户的人口统计信息和兴趣。这种推理的信息可以用于预测个性化内容选择的有效性,诸如点击率、关注度或其他此类度量。然而,经由本文讨论的系统和方法,可以仅针对与给定聚类标识符或组相关联的设备组来累积浏览历史。所推理的组人口统计和兴趣可以仍然被用于按推理的有效性度量进行内容选择,同时让内容提供者不能区分在所述组或聚类内的设备或用户的特性。
[0058]
在一些实施方式中,基于数十亿因特网用户的聚合浏览历史来定义2至k的幂个典型的浏览历史模式。每个典型的浏览历史模式具有唯一聚类标识符或浏览历史标识符,其可以通过某个小k的k位整数来表示,使得每个聚类标识符由大量设备共享。当用户选择退出个性化内容选择或者选择加入伪个性化时,其设备的浏览器应用可以选择与所述用户的实际浏览历史最佳匹配的典型的浏览历史模式。浏览器可以出于内容个性化目的而向内容提供者提供所对应的聚类标识符。
[0059]
典型的浏览历史模式和聚类标识符的编码被以使近似相等数目的设备与每个聚类标识符相关联的方式来选取。通过控制k的值以及每个内容提供者可以按内容请求(例如ip地址、用户代理标识符等)从浏览器获得的其他信号的熵,浏览器可以在启用内容伪个性化的同时显著地降低用户的重新标识风险。
[0060]
图2是根据一些实施方式的用于匿名化以提供伪个性化聚类的系统的框图。可以包括台式计算机、膝上型计算机、平板计算机、可穿戴计算机、智能电话、嵌入式计算机、智能汽车或任何其他类型和形式的计算设备的客户端设备200可以经由网络225与一个或多个分类器服务器230和/或内容服务器250进行通信。
[0061]
在许多实施方式中,客户端设备200可以包括处理器202和存储器设备206。存储器设备206可以存储机器指令,这些机器指令当由处理器执行时使处理器执行本文描述的操作中的一个或多个。处理器202可以包括微处理器、asic、fpga等或其组合。在许多实施方式中,处理器可以是多核心处理器或处理器阵列。存储器设备206可以包括但不限于能够给处理器提供程序指令的电子、光学、磁性或任何其他存储设备。存储器设备可以包括软盘、cd
‑
rom、dvd、磁盘、存储器芯片、rom、ram、eeprom、eprom、闪速存储器、光学介质、或处理器能够从中读取指令的任何其他合适的存储器。指令可以包括来自任何合适的计算机编程语言的代码,所述计算机编程语言诸如但不限于c、c 、c#、java、javascript、perl、html、xml、python和visual basic。
[0062]
客户端设备200可以包括一个或多个网络接口204。网络接口204可以包括任何类型和形式的接口,包括:包括10base t、100base t或1000base t(“千兆位”)的以太网;802.11无线种类中的任一种,诸如802.11a、802.11b、802.11g、802.11n或802.11ac;蜂窝网络,包括cdma、lte、3g或4g蜂窝网络;蓝牙或其他短距离无线连接;或用于与网络进行通信的这些或其他接口的任何组合。在许多实施方式中,客户端设备200可以包括不同类型的多个网络接口204,从而允许连接到各种网络225。相应地,网络225可以包括局域网(lan)、诸如因特网的广域网(wan)、蜂窝网络、宽带网络、蓝牙网络、802.11(wifi)网络、卫星网络或
这些或其他网络的任何组合,并且可以包括一个或多个附加设备(例如路由器、交换机、防火墙、集线器、网络加速器、高速缓存等)。
[0063]
客户端设备可以包括一个或多个用户接口设备。用户接口设备可以是通过生成感觉信息(例如,显示器上的可视化、一个或多个声音、触觉反馈等)来将数据传达给用户、和/或将从用户接收到的感觉信息转换成电子信号的任何电子设备(例如,键盘、鼠标、指点设备、触摸屏显示器、麦克风等)。根据各种实施方式,一个或多个用户接口设备可以在客户端设备的外壳内部,诸如内置显示器、触摸屏、麦克风等,或者在客户端设备的外壳外部,诸如连接到客户端设备的监视器、连接到客户端设备的扬声器等。
[0064]
存储器206可以包括用于由处理器202执行的应用208。应用208可以包括任何类型和形式的应用,诸如媒体应用、web浏览器、生产力应用或任何其他这种应用,并且在本文中可以被通常称为浏览器应用。应用208可以从内容服务器接收内容,并且可以经由用户接口为客户端设备的用户显示它。
[0065]
存储器206可以存储访问日志210(示出为客户端设备200的日志210a),其可以是应用208的一部分或者由应用208维护(例如作为简档、首选项文件、历史文件或其他这种文件的一部分)。可以以可由应用208使用的任何格式存储访问日志210。访问日志可以包括网站、域、web页面、内容、或由应用208访问、检索、显示或以其他方式获得的其他数据的标识。访问日志210还可以存储如以上所讨论的简档向量100,其可以从应用和/或设备的访问历史生成。简档向量100可以包括表示在预定时间段(例如天、周、一天中的时间等)期间对一个或多个域、web页面、网站或其他此类数据的访问的值的n维字符串或数组。如以上所讨论的,可以将简档向量提供给分类器服务器230(步骤a)。简档向量100可以由应用208或日志简化器214生成,所述日志简化器可以包括用于从访问日志生成简档向量的应用、服务、守护程序、例程、插件或其他可执行逻辑。在许多实施方式中,日志简化器214可以包括应用208的一部分。
[0066]
存储器206还可以存储奇异向量212。如以上所讨论的,可以从分类器服务器230获得奇异向量212(步骤b),这些奇异向量可以是如以上所讨论的那样根据多个客户端设备200的简档向量的矩阵的降维而计算的。奇异向量212可以被以诸如平面文件、数据数组或其他结构的任何适当的格式存储,并且在许多实施方式中可以被压缩。
[0067]
存储器206还可以存储神经网络模型216的参数。如以上所讨论的,神经网络模型216可以由分类器服务器生成并且将参数或权重提供给客户端设备200(步骤c)。客户端设备200的分类器218可以利用神经网络模型216参数以从客户端设备的降维简档向量生成聚类标识符220,所述客户端设备200的分类器218可以包括用于执行机器学习算法的应用、服务、服务器、守护程序、例程或其他可执行逻辑。在一些实施方式中,分类器218可以包括硬件电路,诸如张量处理单元或其他这种硬件。在其他实施方式中,分类器218可以包括由设备的处理器202执行的软件。
[0068]
存储器206也可以存储聚类标识符220。聚类标识符220可以包括cookie或与聚类标识符相关联的其他字符串,并且/或者可以编码或包括用于标识聚类的特性的信息(例如xml代码或参数、参数
‑
值对等)。聚类标识符220可以由服务器230预先确定或生成,并且被提供给客户端设备200。客户端设备的分类器218可以通过使用神经网络模型来处理客户端设备的降维简档向量,以生成每个聚类标识符220的排名或分数,并且可以选择排名或得分
最高的标识符以供在内容请求期间传输到内容服务器(步骤d)。
[0069]
分类器服务器230可以包括一个或多个服务器计算设备,并且可以包括一个或多个物理计算设备、或由一个或多个物理计算设备执行的一个或多个虚拟计算设备(例如,云、聚类或服务器场)。分类器服务器230可以被通常称为服务器、测量服务器、聚合服务器,或者通过其他此类术语表示。
[0070]
分类器服务器230可以包括一个或多个处理器202、网络接口204和存储器设备206、以及未图示的其他设备。分类器服务器230可以在存储器中存储从多个客户端设备200获得的访问日志和/或简档向量210a
‑
210n。如以上所讨论的,分类器服务器230的聚合器232可以将简档向量210a
‑
210n聚合成矩阵或n维数组,所述分类器服务器230的聚合器232可以包括由处理器202执行的应用、服务器、服务、例程或其他可执行逻辑。聚合器232还可以将矩阵的分解或降维计算成奇异向量212,这些奇异向量可以被提供给客户端设备200(和内容服务器250,在一些实施方式中)。
[0071]
分类器服务器230还可以在存储器中存储分类器218。分类器218可以是聚合器232的一部分,或者可以是由处理器202和/或诸如张量处理单元的硬件处理器执行的另外的应用、服务、服务器、例程或其他可执行逻辑,以用于标识降维矩阵中的聚类。在许多实施方式中,分类器218可以包括用于将降维向量分类为多个聚类中的一个聚类的神经网络或类似的人工智能。神经网络的参数一旦被训练,就可以被提供给客户端设备200,以如以上所讨论的那样类似地生成聚类标识或排名。
[0072]
内容服务器250可以包括任何类型和形式的内容提供服务器或服务,包括内容递送网络、web服务器、媒体服务器、社交媒体服务或任何其他类型和形式的计算系统。内容服务器250可以包括一个或多个处理器202、网络接口204和存储器设备206。在许多实施方式中,内容服务器250可以存储多个内容项252,其可以包括任何类型和形式的内容,包括文本、音频、视频、动画、图像、可执行脚本、web页面或任何其他此类数据。
[0073]
内容服务器250可以包括内容选择器254,其可以是web服务器或文件服务器的一部分,或者可以是用于选择内容以供递送到客户端设备的分开的应用、服务、服务器、守护程序、例程或其他可执行逻辑。可以基于设备的推理特性来选择内容。内容服务器可以按对内容的请求从设备接收聚类标识符,并且可以基于针对该聚类的设备的推理特性来选择内容。在一些实施方式中,内容服务器可以使用从分类器服务器230获得的奇异向量,以将聚类标识符扩展为用于表示聚合聚类的对应简档向量。聚类的简档向量可能与任何特定设备的简档向量不匹配,但是可以是与聚类相关联的所有设备的向量的近似值或平均值。
[0074]
图3是根据一些实施方式的用于匿名化以提供伪个性化聚类的方法的流程图。在步骤302处,客户端设备200可以向分类器服务器230提供访问日志或从访问日志生成的简档向量。如以上所讨论的,简档向量可以基于客户端设备的浏览或访问历史,并且可以包括具有用于表示如下的值的n维向量或字符串:在预定时间段内对与字符串或数组中的对应位置相关联的地址的一个或多个访问中的每一个访问。
[0075]
在步骤304处,分类器服务器230可以将来自客户端设备200的简档向量或日志聚合成矩阵,所述矩阵具有从一个或多个附加客户端设备200获得的简档向量或日志。简档向量可以由分类器服务器230周期性地、或在登录到由分类器服务器或关联服务器提供的服务时获得。可以针对多个客户端设备重复步骤302
‑
304,所述多个客户端设备可以是可以利
用312中的奇异向量来在314中执行降维的所有设备的一小部分。在一些实施方式中,步骤302至步骤312可以用客户端设备上的联合学习替换,并且分类器服务器230可以是可选的或者可以被移除。
[0076]
在步骤306处,分类器服务器230可以计算矩阵的降维或分解。分类器服务器可以在一些实施方式中使用奇异值分解算法,并且可以生成多个奇异向量和降维矩阵。
[0077]
在步骤308处,分类器服务器可以可选地标识所述降维矩阵的聚类的聚类边界或参数。分类器服务器可以使用诸如主成分分析的任何适当的算法或诸如神经网络的机器学习系统,以标识所述聚类。
[0078]
在步骤310处,在一些实施方式中,可以基于经标识的聚类和降维简档向量来调整或训练分类器模型。在各种实施方式中,训练可以是监督的或无监督的。
[0079]
在步骤312处,可以将奇异向量以及在一些实施方式中为神经网络模型或其他学习算法的权重提供给客户端设备200,并且在一些实施方式中,提供给一个或多个内容服务器250。
[0080]
在步骤314处,客户端设备200可以通过使用从分类器服务器接收到的奇异向量来计算设备的简档向量或访问日志的降维。在步骤316处,可以通过使用从分类器服务器接收到的模型参数经由人工智能或神经网络来对降维向量进行分类,并且在步骤318处确定分类。确定分类可以包括针对所述设备的简档向量计算用于多个聚类中的每一个聚类的分数或排名(例如在一些实施方式中,由分类器服务器标识并且经由所述参数提供)。
[0081]
在步骤320处,客户端设备可以向一个或多个内容服务器250传送对内容项的请求。该请求可以包括与设备的简档向量相对应的聚类的标识。该请求可以是在媒体项或媒体项的一部分的回放完成或任何其他此类情况之后,响应于在web页面上执行脚本而生成的。
[0082]
在步骤322处,内容服务器可以基于从分类器服务器接收到的分类器模型参数和奇异向量来确定聚类的特性。在一些实施方式中,内容服务器可以使用奇异向量来计算用于表示聚类中的所有设备的聚合浏览历史的简档向量,然后可以基于所述历史的各方面(例如,与web页面或域或其他内容、其他关联域或web页面等相关联的关键词/主题)来推理所述聚类的特性。在步骤324处,内容服务器可以使用在所述请求中的聚类标识(或如以上所讨论的与所述聚类相关联的推理特性)来选择内容项。可以在步骤326处将所述内容传送到客户端设备,并且客户端设备可以在步骤328处渲染或显示所述内容项。
[0083]
因此,本文讨论的系统和方法经由诸如数百万或数十亿个设备的大量设备的聚合浏览历史来提供内容准个性化或匿名化内容检索。稀疏矩阵可以从聚合的浏览历史构建,并且在维度上减小,从而减小熵并且为各个设备提供匿名性。可以经由表示类似的浏览历史的准个性化聚类来选择相关内容,而不用将各个设备的细节暴露给内容提供者。
[0084]
在联网环境中,在客户端设备上运行的应用(例如,web浏览器)能够接收具有由内容发布者提供的主要内容和用于补充内容的一个或多个内容槽(例如,内联框架)的信息资源(例如,网页)。信息资源能够包括用于指定从内容选择服务中检索内容提供者的内容项以插入到内容槽中的代码片断或脚本(例如,内容选择标签)。在解析信息资源的脚本时,所述应用能够生成对要插入到内容槽中的内容的请求,并且能够将该请求发送到内容选择服务。响应于对所述请求的接收,内容选择服务能够选择由内容提供者提供的内容项中的一
个以嵌入到信息资源的内容槽中。
[0085]
由内容选择服务对内容项的选择可以依靠对用户(或经由账户)、由用户操作的客户端设备或在客户端设备上运行的应用唯一的确定性跟踪标识符的使用。所述标识符能够被维护在客户端设备上并且由内容选择服务经由cookie访问。cookie可以是例如与和所述信息资源的内容发布者的域不同的内容选择服务的域相关联的第三方cookie。当信息资源的内容槽指定从内容选择服务中检索内容时,能够将包含标识符的cookie从客户端设备传递到内容选择服务。通过使用cookie,内容选择服务能够跟踪用户经由在客户端设备上运行的应用访问了哪些信息资源。附加地,内容选择服务能够基于所跟踪的信息资源来标识被确定为与在客户端设备上操作应用的用户相关的内容项。
[0086]
虽然这些唯一跟踪标识符的使用允许选择针对特定用户定制的内容项,但是可能存在许多缺点,尤其是关于数据安全性和完整性。一则,通过在客户端设备与内容选择服务之间传递的用户数据,能够使用户暴露于数据安全性风险。例如,内容选择服务的管理员能够在没有用户同意的情况下有意地向第三方提供私人用户数据。此外,未经授权的恶意实体能够拦截在传送中的第三方cookie,并且能够使用唯一跟踪标识符来监视受影响的客户端设备和应用的在线活动。再则,使用此类标识符来访问信息资源的集合可能提高内容选择服务方的数据泄露风险。例如,数据的意外释放或用于渗透已收集数据(其中的部分能够被单独地追溯到具体用户)的恶意攻击可能导致用户的数据私密性丧失。
[0087]
用于解决对唯一跟踪标识符的关注的一种方法可以包括从客户端设备禁用具有唯一跟踪标识符的第三方cookie。在客户端设备上运行的应用能够被配置成禁止唯一跟踪标识符的生成、维护或到内容选择服务的传输。但是对第三方cookies的限制可能产生许多其他问题。在禁用第三方cookies情况下,内容选择服务可能无法跟踪客户端设备经由所述应用访问了哪些信息资源。因此,当接收到对内容的请求时,内容选择服务可能不能够在确定内容项与操作所述应用的用户的相关性时使用此类信息。因此,所选择的内容项可能具有较低可能性来与客户端设备的用户交互,与通过使用跟踪标识符所选择的内容项相比的话。结果,在其上插入内容项以供显示的信息资源可能在人机交互(hci)的质量上遭受降级。
[0088]
为了解决在选择内容时禁止使用唯一标识符来跟踪各个客户端设备或应用中的技术挑战,每个应用能够基于在本地维护的浏览历史将它本身归类成多个聚类中的一个。能够将应用以及乃至按类似的浏览模式操作应用的用户归类成相同聚类。能够将具有类似的浏览模式并且被归类成相同聚类的用户相关联为具有类似的性格和兴趣,因此可能更可能对相同的内容项具有类似的响应。每个聚类能够具有大量的关联用户(例如,大于1000个),因此将用户归类成聚类可能不是特定于个别用户的特性。
[0089]
在将应用本身指派给所述聚类中的一个时,所述应用能够将浏览历史转换或编码成具有预设维数的向量。向量可能是稀疏的,且具有高维数。例如,特征向量中的一个元素能够指示在特定时隙(例如在一天的特定小时和一周的特定日)用户是否游览了特定域、网站的一部分、特定类别(例如假期)的网页或甚至特定url。所述应用然后能够应用降维技术(例如,线性简化、非线性简化或随机投影技术)以将所述向量映射成较低维空间的另一向量。所述应用然后能够将聚类或分类算法(例如,k
‑
最近邻算法、线性分类、支持向量机和模式识别)应用于缩减的向量,以标识要向其指派所述应用以及乃至用户的聚类。聚类算法能
够由应用管理器(例如,浏览器供应商)针对所述应用来提供和更新。
[0090]
在通过使用聚类算法来查找聚类时,所述应用能够标识用于所述聚类的聚类标识符(也称为类标识符或浏览历史标识符)。聚类标识符能够由应用管理器指派给每个聚类,并且能够被提供给所述应用和内容选择服务。与唯一确定性跟踪标识符相反,聚类标识符可能不特定于一个个别用户、应用或客户端设备。由于可以将多个用户归类成相同聚类,所以聚类标识符还能够在具有类似的浏览模式的多个用户、应用或客户端设备当中共用。因为在多个用户当中共享聚类标识符,所以所述聚类标识符与指派给个别用户的唯一跟踪标识符相比具有较低的熵。例如,所有因特网用户的确定性唯一跟踪标识符能够具有超过30位的熵,而聚类标识符可以被设定为18位至22位的熵。在较低的熵的情况下,聚类标识符它本身与唯一跟踪标识符相比可以具有较小的长度和大小。
[0091]
当接收到具有内容槽的信息资源时,所述应用能够将聚类标识符而不是唯一跟踪标识符包括到对用于内容槽的内容的请求中,并且将该请求发送到内容选择服务。能够采用附加保护性措施来提高数据安全性和完整性、并且降低聚类标识符和相关信息的漏出可能性。为了保护在通过网络传输期间对聚类标识符的拦截,所述应用能够使用加密协议,诸如安全超文本转移协议安全(https)协议。此外,为了保护在客户端设备上维护的聚类标识符,所述应用能够限制其他客户端侧进程(例如,信息资源上的javascript)访问聚类标识符。例如,能够将聚类标识符包括在客户端设备上所维护的安全标志或仅http标志cookie中,以防止对聚类标识符的访问。这可以与不具有此类访问控制的第三方cookies相反。
[0092]
响应于接收到请求,内容选择服务能够使用聚类标识符来选择内容项中的一个。内容选择服务能够通过使用对包含用于所述聚类的聚类标识符的内容的先前请求,来为归类为聚类的用户累积浏览历史。将简档模型应用于针对聚类所累积的历史,内容选择服务能够推理在所述聚类中的用户的性格和兴趣。利用简档模型的结果,内容选择服务能够找到被确定为与和所述请求相关联的用户被归类到的聚类相关的内容项。
[0093]
通过使用聚类标识符,可以防止在客户端设备上维护的应用的浏览历史被内容选择服务访问,使得浏览历史可追踪到特定用户、应用或客户端设备。附加地,内容选择服务可能无法跨不同域跟踪各个用户、应用或客户端设备以汇编详细的浏览历史。替代地,内容选择服务能够聚合与从所述应用接收到的聚类标识符相关联的用户的特定聚类的浏览历史。在聚合时,内容选择服务能够通过合并来自相同聚类的不同用户的浏览器历史,来保护个别用户的数据私密性。通过设定要指派给每个聚类的用户的数目,还能够控制数据私密性的程度。
[0094]
此外,在相同聚类中的用户具有类似的浏览模式的假定下,内容选择服务能够基于针对聚类所聚合的浏览历史来外推和确定用于相同聚类的用户的类似的性格和兴趣。内容选择服务还能够选择内容项,其期望是相同聚类的用户将类似地响应。以这种方式,能够维护在各个用户的浏览历史上的数据安全性、完整性和私密性。同时,利用能够确定在内容项的选择中的相关性的能力,能够维护与所选择的内容项或整个信息资源的人机交互(hci)的质量。
[0095]
现在参考图4,所描绘的是描绘用于使用分类模型来对用于内容选择的标识符进行编码的计算机网络环境或系统400的一个实施方式的框图。总的来说,系统400能够包括用于在系统400的组件当中通信的至少一个网络405。系统400能够包括至少一个应用管理
器服务410(在本文中也称为浏览器供应商)以为至少一个应用(例如,浏览器)提供服务。系统400能够包括至少一个内容提供者415以提供内容项。系统400能够包括至少一个内容发布者420以提供信息资源(例如,网页)。系统400能够包括至少一个内容选择服务425以选择内容项。系统400能够包括一个或多个客户端设备430a
‑
n(在本文中通常称为客户端设备430)。每个客户端设备430能够包括至少一个应用435a
‑
n(在本文中通常称为应用435)。系统400的组件(例如,网络405、应用管理器服务410及其组件、内容提供者415及其组件、内容发布者420及其组件、内容选择服务425及其组件、以及客户端设备430及其组件)中的每一个能够通过使用本文结合图9详述的计算系统900的组件来实现。
[0096]
更详细地,系统400的网络405能够将应用管理器服务410、内容提供者415、内容发布者420、内容选择服务425和客户端设备430彼此通信地耦合。系统400的应用管理器服务410、内容提供者415、内容发布者420和内容选择服务425中的每一个能够包括经由网络405彼此通信地耦合的位于至少一个数据中心或服务器场中的多个服务器。应用管理器服务410能够经由网络405与内容提供者415、内容发布者420、内容选择服务425和客户端设备430进行通信。内容提供者415能够经由网络405与应用管理器服务410、内容发布者420、内容选择服务425和客户端设备430进行通信。内容发布者420能够经由网络405与应用管理器服务410、内容发布者420、内容选择服务425和客户端设备430进行通信。内容选择服务425能够经由网络405与应用管理器服务410、内容提供者415、内容发布者420和客户端设备430进行通信。每个客户端设备430能够经由网络405与应用管理器服务410、内容提供者415、内容发布者420和内容选择服务425进行通信。
[0097]
应用管理器服务410能够包括由应用供应商(在本文中有时称为浏览器供应商)操作以向在客户端设备430上运行的应用435提供资源和更新的服务器或其他计算设备。例如,应用管理器服务410能够提供应用435以供安装到客户端设备430。应用管理器服务410还能够向安装在客户端设备430上的应用435提供更新。所述更新能够影响应用435的子组件中的至少一个。应用管理器服务410还能够向应用435提供插件或附件以扩增在客户端设备430上运行的应用435的功能性。应用管理器服务410能够与内容选择服务425进行通信以提供关于在客户端设备430上运行的应用435的信息。应用435和相关文件或数据的提供能够由应用管理器服务410通过网络405来传送。
[0098]
内容提供者415能够包括由内容提供者实体所操作的服务器或其他计算设备,以提供用于在客户端设备430处的信息资源上显示的内容项。由内容提供者415提供的内容能够采取任何方便的形式。例如,第三方内容可以包括与其他显示内容有关的内容,并且可以是例如与显示的内容有关的网站页面。内容可以包括用于在信息资源上显示的第三方内容项或创意(例如,广告),所述信息资源诸如包括由内容发布者420提供的主要内容的信息资源。还能够将内容项显示在搜索结果web页面上。例如,内容提供者415能够提供用于在信息资源450的内容槽(例如,内联框架元素)中显示的内容项455、或者能够提供用于在由搜索引擎提供的搜索结果登录页面上显示的内容项455、或者是所述内容项455的源,所述信息资源450诸如公司的web页面,其中所述web页面的主要内容由所述公司提供。能够将与内容提供者415相关联的内容项显示在除网页之外的信息资源上,诸如作为在智能电话或其他客户端设备430上执行应用的一部分而显示的内容。
[0099]
内容发布者420能够包括由内容发布实体操作的服务器或其他计算设备,以经由
网络405提供包括用于显示的主要内容的信息资源。例如,内容发布者420能够包括web页面运营商,其提供用于在信息资源上显示的主要内容。信息资源能够包括除由内容发布者420提供的内容以外的内容,并且信息资源能够包括被配置用于显示来自内容提供者415的内容项的内容槽。例如,内容发布者420能够操作公司的网站,并且能够提供关于该公司的内容以供在网站的web页面上显示。web页面能够包括被配置用于显示由内容提供者415提供或由内容发布者420本身提供的内容项的内容槽。在一些实施方式中,内容发布者420包括操作搜索引擎网站的搜索引擎运营商的搜索引擎计算设备(例如服务器)。搜索引擎web页面的主要内容(例如,结果或登录web页面)能够包括搜索的结果以及显示在信息资源的内容槽中的第三方内容项,诸如来自内容提供者415的内容项。在一些实施方式中,内容发布者420能够包括用于提供视频内容的一个或多个服务器。
[0100]
内容选择服务425能够包括由内容放置实体操作的服务器或其他计算设备,以选择或标识要经由网络405插入到信息资源的内容槽中的内容项。在一些实施方式中,内容选择服务425能够包括内容放置系统(例如,在线广告服务器)。内容选择服务425能够维护要从中选择以通过网络405提供以便插入到信息资源的内容槽中的内容项的清单。可以将所述清单维护在内容选择服务425可访问的数据库上。内容项或内容项的标识符(例如,地址)能够由内容提供者415提供。
[0101]
每个客户端设备430可以是用于经由网络405通信以显示数据的计算设备。所显示的数据能够包括由内容发布者420提供的内容(例如,信息资源)、以及由如通过内容选择服务425所标识的内容提供者415提供的内容(例如,用于在信息资源的内容槽中显示的内容项)。客户端设备430能够包括台式计算机、膝上型计算机、平板计算机、智能电话、个人数字助理、移动设备、消费者计算设备、服务器、客户端、数字录像机、电视用机顶盒、视频游戏控制台、或被配置成经由网络405通信的任何其他计算设备。客户端设备430可以是最终用户能够通过其提交要接收内容的请求的通信设备。所述请求可以是对搜索引擎的请求,并且所述请求能够包括搜索查询。在一些实施方式中,所述请求能够包括要访问web页面的请求。
[0102]
在客户端设备430上执行的应用435能够包括例如因特网浏览器、移动应用、或能够执行或者以其他方式调用提供给客户端设备430的计算机可执行指令的任何其他计算机程序,所述指令例如包括在信息资源和内容项中的计算机可执行指令。包括在其中的信息资源能够对应于脚本、逻辑、标记或指令(例如,超文本标记语言(html)、可扩展超文本标记语言(xhtml)、可扩展标记语言(xml)、级联样式表(css)和javascript、或其任何组合)。可以将内容项插入到信息资源的内容槽中。
[0103]
现在参考图5,描绘的是用于描绘系统400中的客户端设备430和应用管理服务410的一个实施方式的框图。总的来说,应用管理器服务410能够包括至少一个分类模型500,以基于浏览模式对应用435进行归类。应用管理器服务410能够包括至少一个模型训练器505,以训练和维护至少一个分类模型500。应用管理器服务410能够包括至少一个模型更新器510以改变或调整分类模型500。应用管理器服务410能够包括至少一个数据库515以存储和维护类标识符520a
‑
n(在本文中通常称为类标识符520)的集合。每个客户端设备430上的应用435能够包括至少一个分类模型500以基于浏览模式对应用435进行归类。应用435能够包括至少一个模型训练器505以训练和维护分类模型500。应用435能够包括至少一个模型应
用器525以使用分类模型500来对应用435进行归类。模型训练器505和模型应用器525可以是应用435的一体部分、应用435的附件或插件、或与应用435对接的分开的应用。应用435能够包括至少一个浏览历史530以维护和存储一个或多个条目535a
‑
n(在本文中通常称为条目535)。应用435能够包括至少一个标识符高速缓存540以维护和存储应用435的至少一个类标识符520。
[0104]
更详细地,分类模型500能够基于浏览历史530对每个应用435(或运行应用435的每个客户端设备430或与应用435相关联的账户)进行分类、分组或以其他方式归类。客户端设备430上的应用435的分类能够指示或表示在客户端设备430上运行的应用435的实例的分类。例如,能够存在在一个客户端设备430上运行的一个应用435(例如,web浏览器)的实例和在另一客户端设备430上运行的应用435(例如,相同类型的web浏览器)的另一实例。能够将两个实例分类为相同类别或不同类别。此外,应用435的分类能够延伸到对应于或包括与操作应用435的账户或由用户操作的客户端设备430相关联的用户的分类。
[0105]
分类模型500可以是分类或聚类模型或算法。分类模型500能够包括分类算法,例如线性分类器(例如,线性回归、对数回归和朴素贝叶斯分类器)、支持向量机(svm)、二次分类器、k
‑
最近邻算法和人工神经网络(ann)等。分类模型500能够包括聚类模型,诸如基于形心的聚类算法(例如,k
‑
均值算法或期望值最大化(em)算法)、基于密度的聚类算法(例如,基于密度的噪声应用空间聚类(dbscan))、基于分布的聚类算法(例如,高斯混合模型)和人工神经网络(ann)等。分类模型500还能够包括散列函数,诸如位置敏感散列方案(例如,minhash、simhash和nilsimsa散列)等。
[0106]
分类模型500能够按照分类或聚类模型和算法中的任一种包括输入集、参数集和输出集。输入集能够接受或包括浏览历史530的条目535。在一些实施方式中,输入集能够接受或包括浏览历史530的条目535的降维表示。参数(或权重)集能够将输入集与输出集连接或相关联。在一些实施方式中,参数集能够包括许多类和每个类的值。例如,参数集可以是每个类的k
‑
均值聚类中的形心。在另一示例中,参数集可以包括与每个类相关联的值的范围。类的数目能够等于类标识符520的数目。类的数目和类标识符520的数目能够被预先确定(例如,为固定值)或者动态地确定。输出集能够产生或包括与类标识符520中的一个相对应的类。输出集能够包括类标识符520本身中的一个。例如,类标识符520可以是使用散列函数来计算的散列值。每个类标识符520可以是或包括字母数字字符集或数值(例如,整数或二进制数)。
[0107]
在应用管理器服务410上执行的模型训练器505能够训练分类模型500。模型训练器505能够使用训练数据集来训练分类模型500。分类模型500的训练可以是依照无监督学习技术的。训练数据集能够包括来自在客户端设备430的样本集上运行的应用435的样本集的样本浏览历史530。在一些实施方式中,模型训练器505能够从在客户端设备430上运行的内容提供者415、内容发布者420、内容选择服务425或应用435获取和累积样本浏览历史530。在训练之前,模型训练器505能够标识用于分类模型500的类的数目。在一些实施例中,类的数目可以由应用管理器服务410的管理员预先确定或指派。在一些实施方式中,类的数目可以由模型训练器505基于具有应用435的客户端设备430的数目来确定。例如,可以设定类的数目,使得设定数目的客户端设备430(例如,800至1000个设备)将被指派给每个类。
[0108]
在训练分类模型500时,模型训练器505能够使用训练数据集来改变、调整或以其
他方式设定分类模型500中的参数的值(例如,每个类的值)。在每次迭代时,模型训练器505能够基于参数的值集之中的变化来确定分类模型500是否已相对于先前迭代收敛。在一些实施方式中,模型训练器505能够将用于分类模型500的参数中的值集之中的变化与收敛阈值进行比较。如果所述变化小于收敛阈值,则模型训练器505能够确定分类模型500已收敛。否则,如果所述变化大于收敛阈值,则模型训练器505能够确定分类模型500尚未收敛。当分类模型500被确定为尚未收敛时,模型训练器505能够继续训练分类模型500。
[0109]
否则,当分类模型500被确定为已收敛时,模型训练器505能够结束、终止或停止训练分类模型500。模型训练器505能够将分类模型500存储在应用管理器服务410上。此外,模型训练器505能够将分类模型500传送或发送到在客户端设备430上运行的应用435。在一些实施方式中,模型训练器505能够传送或发送用于分类模型500的参数集。对于分类模型500中的每个类,模型训练器505能够将所述类标识、指派或以其他方式关联到对应的类标识符520。类标识符520可以是用于引用所述类的字母数字字符集。分类模型500能够将每个类关联到所对应的类标识符520。模型训练器505能够向在每个客户端设备430上运行的应用435并且向内容选择服务425传送和提供类标识符520的集合。
[0110]
在客户端设备430上执行的应用435的模型训练器505也能够训练分类模型500。在一些实施方式中,模型训练器505能够使用分布式学习协议来训练分类模型500。分布式学习协议能够与通过网络405通信的在其他客户端设备430上执行的应用435和应用管理器服务410一致。分布式学习协议能够包括例如通过使用优化算法(例如,随机梯度下降(sgd)或平均))来训练分类模型500的联合学习。如以上所讨论的,类的数目和类标识符520的数目能够被预先确定(例如,为固定值)或动态地确定。在每次迭代期间,每个模型训练器505能够通过使用训练数据集来改变、调整或以其他方式设定分类模型500中的参数的值(例如,每个类的值)。在迭代结束时,每个模型训练器505能够向彼此提供分类模型500中的参数的值(例如,每个类的值)。模型训练器505能够使用所接收到的参数的值来调整、改变或设定在本地维护的分类模型500上的参数。模型训练器505能够重复迭代,直到如以上所讨论的那样基于参数的值集之中的变化来确定分类模型500已相对于先前迭代收敛为止。
[0111]
在应用管理器服务410上执行的模型更新器510能够向在应用435上运行的每个客户端设备430上所维护的分类模型500提供或发送更新。模型更新器510能够确定是否依照模型更新策略来更新分类模型500。模型更新策略能够指定要据此更新分类模型500的一组条件。在一些实施方式中,模型更新策略能够包括用于指示要更新分类模型500的时间的时间表。模型更新策略能够指定:分类模型500将在指派给每个类的应用435的数目不均匀分布(例如,类大小的差异在另一个类5%至100%内)时被更新。模型更新策略能够指定:更新分类模型500将在累积的附加浏览历史530的量满足阈值量时被更新。如果确定是不要更新分类模型500,则模型更新器510能够维护分类模型500。
[0112]
另一方面,如果确定是要更新,则模型更新器510能够调用模型训练器505(在应用管理器服务410上或跨在客户端设备430上运行的应用435)以重新训练分类模型500。在一些实施方式中,模型更新器510能够累积来自内容提供者415、内容发布者420、内容选择服务425、或在客户端设备430上运行的应用435的训练数据集的浏览历史530。模型更新器510能够将经累积的浏览历史530传递给模型训练器505以重新训练分类模型500。在确定分类模型500已收敛时,模型训练器505能够结束、终止或停止训练分类模型500。模型更新器510
能够将重新训练的分类模型500(或用于分类模型500的参数集)传送或发送到每个应用435以更新模型510。模型更新器510能够向在每个客户端设备430上运行的应用435并且向内容选择服务425传送和提供类标识符520的集合。
[0113]
在客户端设备430上执行的应用435的模型应用器525能够经由网络405从应用管理器服务410接收分类模型500。在接收后,模型应用器525能够在客户端设备430上存储和维护分类模型500。在一些实施方式中,模型应用器525能够从应用管理器服务410接收用于分类模型500的参数集。参数集合的接收可以是为了更新分类模型500。在接收后,模型应用器525能够通过使用所接收到的参数集来改变、配置或以其他方式修改分类模型500。此外,模型应用器525能够从应用管理器服务410接收用于分类模型500中的类的类标识符520的集合。类标识符520的接收可以作为更新分类模型500的一部分。
[0114]
利用分类模型500的配置,模型应用器525能够标识由应用435在客户端设备430上维护的浏览历史530。应用435能够通过每当信息资源被访问时创建条目535来维护浏览历史530。浏览历史530能够记录经由应用435访问的信息资源(例如,网页)和其他在线内容。浏览历史530能够包括条目535的集合。每个条目535能够包括被访问信息资源的地址(例如,包括网页的主机名和路径名的统一资源定位符(url))和用于指示信息资源被访问时的时间的时间戳。条目535的集合能够由浏览历史530内的信息资源的时间戳或地址来索引。在一些实施方式中,模型应用器525能够标识在由模型应用器525进一步处理的时间范围上的浏览历史530的一部分。浏览历史530的一部分能够包括具有在所述时间范围内的时间戳的条目535的子集。所述时间范围可以是例如从当前时间起的条目535的一周的量。
[0115]
在标识浏览历史530时,模型应用器535能够使用浏览历史530的条目535来形成或生成特征向量集。可以将特征向量集用作分类模型500的输入。特征向量集能够包括维度或者能够由维度定义。维度能够包括时间范围(例如,一天的小时或一周的天)和地址属性(例如,域名、网站的一部分、主题类别或地址它本身)。每个特征向量能够基于与所对应的条目535相关联的时间戳而与时间范围中的至少一个相关联。每个特征向量能够基于在所对应的条目535中标识的信息资源的地址而与信息资源的地址属性中的至少一个相关联。在一些实施方式中,模型应用器535能够通过将浏览历史530的条目535投影到由时间范围和地址属性定义的特征向量的维度上来生成特征向量集。对于浏览历史530的每个条目535,模型应用器535能够基于条目535中的地址和时间戳来标识现有特征向量是否存在。为了标识,模型应用器525能够确定条目535是否与现有特征向量中的任一个匹配。当现有特征向量存在时,模型应用器535能够将条目535添加到特征向量。相反地,当现有特征不存在时,模型应用器535能够为条目535创建新的特征向量。
[0116]
模型应用器535能够使用降维过程来形成或生成简化特征向量集。降维过程能够包括线性简化技术(例如,主成分分析(pca)、奇异值分解(svd)、非和负矩阵因式分解(nmf))、非线性降维(例如,广义判别分析(gda)、局部线性嵌入和sammon映射)、或其他技术(例如,johnson
‑
lindenstrauss引理和多因子降维法)等。在一些实施方式中,模型应用器525能够在将浏览历史530的条目535投影到特征向量的维度上时应用降维过程。在一些实施方式中,模型应用器535能够将降维过程应用到所生成的特征向量集上。在应用降维过程的情况下,模型应用器535能够减小在原始特征向量集之中的维数以生成简化特征向量集。简化特征向量集与初始简化特征向量集相比能够具有较少的维数和数据点。例如,简化特
征向量集能够在没有任何关联条目535的情况下省略时间范围或地址属性。
[0117]
模型应用器525能够将分类模型500应用于浏览历史530(或浏览历史530的条目535的任何子集或表示,诸如特征向量)以标识要将应用归类在其中的类435。为了应用,模型应用器525能够将浏览历史530作为分类模型500的输入集来馈送。在一些实施方式中,模型应用器525能够将特征向量或简化特征向量集作为分类模型500的输入来馈送。一旦被馈送,模型应用器525就能够使用分类模型500来将输入与用于定义类的参数进行比较,并且基于所述比较来生成或产生输出集。输出集能够包括要将如由应用435维护的浏览历史530中指示的浏览模式归类到的类。模型应用器525能够从分类模型500的输出中标识类。经标识的类可以对应于如由分类模型500所定义的许多类中的一个。在客户端设备430上运行的应用435的经标识的类能够与在其他设备430上运行的至少一些其他应用435的经标识的类共用、共享或相同。如以上所讨论的,由分类模型500定义的每个类能够具有要归类到该类中的许多客户端设备。
[0118]
基于经标识的类,模型应用器525能够将应用435指派给该类所对应的类标识符520。在一些实施方式中,模型应用器525能够使用分类模型500来标识与经标识的类相关联的类标识符520。利用此标识,模型应用器525然后能够将类标识符520指派给应用435。将类标识符520指派给应用435能够指示:应用435的浏览历史530类似于其他浏览历史530。在具有相同的类标识符520的其他应用435上的其他浏览历史530。指派给在客户端设备430上运行的应用435的类标识符520能够与在其他客户端设备430上运行的至少一些其他应用435的类标识符520共用、共享或相同。
[0119]
在指派时,模型应用器525能够将类标识符520存储和维护到标识符高速缓存540上。例如,如所描绘的,第一应用435a的模型应用器525可能已将第一应用435a标识为具有与具有和第一类标识符520a相对应的类的其他应用435b
‑
n类似的浏览模式。标识符高速缓存540能够控制对由应用435从访问类标识符520所执行的脚本的访问。在一些实施方式中,模型应用器525能够将类标识符520存储于在标识符高速缓存540上维护的安全cookie中。安全cookie能够包括安全标志或仅http标志置位的cookie。安全cookie能够防止信息资源上的脚本访问在标识符高速缓存540上维护的类标识符520。此外,安全cookie能够允许授权实体访问存储在标识符高速缓存540上的类标识符520。安全cookie能够将内容选择服务425或应用管理器服务410标识为被允许访问在标识符高速缓存540上的类标识符520。
[0120]
模型应用器535能够依照标识符指派策略来确定是否应用分类模型500。标识符指派策略能够指定一组条件,在所述条件下分类模型500将被应用以进行类标识符520的重新指派。在一些实施方式中,标识符指派策略能够包括用于指示要应用分类模型500的时间的时间表。标识符指派策略能够指定:分类模型500将在由应用管理器服务410提供了对应用435的新的更新时被更新。标识符指派策略能够指定:分类模型500将在累积的附加浏览历史530的数目满足阈值量时被应用。如果确定是不要重新应用分类模型500,则模型应用器525能够维护类标识符520。另一方面,如果确定是要重新应用分类模型500,则模型应用器525能够重复上述功能。例如,模型应用器525能够标识浏览历史530,使用降维过程来生成简化特征向量集,将分类模型500应用于简化特征向量集以标识所述类,并且将与经标识的类相关联的分类器标识符520指派给应用435。
[0121]
现在参考图6,所描绘的是用于描绘在系统400中的客户端设备430、内容提供者
415、内容发布者420和内容选择服务425的一个实施方式的框图。总的来说,在每个客户端设备430(例如,如针对第一客户端设备430a所描绘的)上的应用435能够包括至少一个资源处理器615,以处理对至少一个信息资源600和与内容提供者415、内容发布者420或内容选择服务425通信的其他数据的读取和解析。
[0122]
更详细地,在客户端设备430上执行的资源处理器615能够从内容发布者420接收信息资源600。信息资源600的接收能够响应于对由应用435发送到内容发布者420的信息资源600的请求,并且可以用于在客户端设备430处呈现。所接收到的信息资源600(例如,网页)能够包括至少一个主要内容605(例如,网页的正文、文本和图像)和至少一个内容槽610(例如,网页的内联框架)。主要内容605能够对应于由内容发布者420提供的信息资源600的一部分。内容槽610能够可用于从内容提供者415或内容选择服务425接收内容。要插入到内容槽610中的内容能够具有与信息资源600的主机名不同的主机名。一旦被接收,资源处理器615就能够解析包括主要内容605和内容槽610的信息资源600。
[0123]
对于信息资源600的内容槽610,资源处理器615能够生成请求620a
‑
n(在本文中通常称为对内容的请求620),以发送到内容选择服务425。对内容的请求620的生成能够按照用于将内容插入到内容槽610中的脚本(例如,广告标签或内容选择标签)。能够将用于内容槽610的脚本嵌入或包括在内容槽610本身或信息资源600的另一部分中。在生成对内容的请求620时,资源处理器615能够将地址625a
‑
n(在本文中通常称为地址625)包括到对内容的请求620中。地址625能够引用由用于内容槽610的脚本所指定的内容选择服务425,诸如用于内容选择服务425的url。地址625能够指示对内容的请求620将被路由到的目的地地址。此外,资源处理器615能够包括将客户端设备430引用到对内容的请求620中的源地址。资源处理器615还能够包括与向应用435提供了信息资源600的内容发布者420相对应的地址。
[0124]
附加地,资源处理器615能够将针对应用435标识的类标识符520包括到对内容的请求620中。在一些实施方式中,资源处理器615能够访问标识符高速缓存540以检索类标识符520。一旦被检索,资源处理器615就能够包括类标识符520以包括对内容的请求620。在一些实施方式中,对内容的请求620最初由应用435在解析用于内容槽610的脚本时生成,并且能够原始地包括唯一跟踪标识符。资源处理器615能够从对内容的请求620中移除或以其他方式排除与应用435(或运行应用435的客户端设备430或与应用435相关联的账户)相对应的任何唯一跟踪标识符。唯一跟踪标识符能够包括例如和与应用435相关联的账户相对应的cookie用户标识符、或与运行应用435的客户端设备430相对应的cookie设备标识符。唯一跟踪标识符可能已由内容提供者415或另一内容放置服务提供。一旦被移除,资源处理器615就能够将类标识符520包括到对内容的请求620中。在一些实施方式中,资源处理器615能够用类标识符520替换包括在对内容的请求620中的唯一跟踪标识符。
[0125]
在一些实施方式中,资源处理器615能够将类标识符520包装或包括到cookie 630a
‑
n(在下文中通常称为cookie 630)中。在一些实施方式中,能够结合对内容的请求620来生成cookie 630。在一些实施方式中,能够从应用435(例如,标识符高速缓存540)中检索cookie 630。cookie 630能够具有安全标志或仅http标志置位以防止未经授权的实体拦截和访问类标识符520。未经授权的实体能够包括除内容选择服务425或应用管理器服务410之外的实体。通过设置安全标志或仅http标志,cookie 630还能够限制通过网络405在安全
通信信道(例如,超文本转移协议安全(https))之上访问类标识符520。资源处理器615能够将包括类标识符520的cookie 630包括到对内容的请求620中。cookie 630还能够包括与给应用435提供了信息资源600的内容发布者420相对应的地址。在生成时,资源处理器615能够经由网络405将对内容的请求620传送到内容选择服务425。在一些实施方式中,应用435能够在客户端设备430与内容选择服务425之间建立安全通信信道(例如,依照http),以传送对内容的请求620。所述信道的建立能够允许内容选择服务425访问包括在对内容的请求620的cookie 630中的类标识符520。
[0126]
由相应的模型应用器525指派给在客户端设备430a
‑
n上运行的不同应用435a
‑
n的类标识符520a
‑
n可能不特定于一个应用435a
‑
n并且可能不唯一地标识应用435a
‑
n。例如,如所描绘的,第一类标识符520a可能已被指派给第一客户端设备430a上的第一应用435a以及在第二客户端设备430b上运行的第二应用435b。相比之下,第二类标识符520b可能已被指派给在第n客户端设备430n上运行的第n应用435n。这可以与诸如具体地标识由内容提供者415或其他内容放置服务提供的应用435a
‑
n或客户端设备430a
‑
n的用户或客户端标识符的唯一跟踪标识符相反。此外,由于类标识符520a
‑
n可能不唯一地标识在客户端设备430上运行的每个应用435,所以类标识符520a
‑
n与此类唯一跟踪标识符相比能够具有较低的熵。例如,唯一跟踪标识符的熵能够具有大于63位的熵,然而类标识符520a
‑
n的熵能够具有在18至52位之间的熵。因此,类标识符520a
‑
n能够在大小上比这些唯一跟踪标识符小,从而减小通过网络405发送的对内容的请求620的大小。
[0127]
现在参考图7,所描绘的是用于描绘在系统400中的客户端设备430和内容选择服务425的一个实施方式的框图。内容选择服务425能够包括至少一个历史聚合器700以存储和维护浏览记录。内容选择服务425能够包括至少一个类表征器705以确定每个类的选择参数。内容选择服务425能够包括至少一个内容放置器710,以通过使用经标识的类来为与请求620相关联的应用435标识内容项725a
‑
n(在下文中通常称为内容项725)。内容选择服务425能够包括至少一个历史数据库715,以维护和存储类标识符520的浏览历史条目720a
‑
n(在本文中通常称为条目720)。
[0128]
更详细地,在内容选择服务425上执行的历史聚合器700能够通过使用包括在从客户端设备430接收到的对内容的请求620中的cookie 630,来收集、聚合或以其他方式维护历史数据库715。历史数据库715能够包括通过由应用管理器服务410定义的类标识符520所索引的条目720的集合。每个条目720能够包括被访问信息资源600的地址和用于指示信息资源600被访问时的时间的时间戳。不是通过使用唯一跟踪标识符(例如,cookie标识符)来聚合客户端设备430的浏览历史,而是历史聚合器700能够通过类标识符520来聚合浏览历史。与在每个个别应用435上维护的浏览历史530不同,历史数据库715可能不分别地标识从中生成条目720的应用435(或与应用435相关联的用户)。每当接收到对内容的请求620时,历史聚合器700能够标识与将在上面返回内容的信息资源600相对应的地址。历史聚合器700还能够标识包括在对内容的请求620中的类标识符520。利用这些标识,历史聚合器700能够将包括地址和时间戳(图4中未示出)的条目720添加到包括在对内容的请求620中的类标识符520的条目720的集合上。
[0129]
在内容选择服务425上执行的类表征器705能够基于所述类的类标识符520的条目720来确定每个类的一个或多个特性。所述特性能够包括例如与类标识符520相对应的类的
公共性格、简档、行为或兴趣。在一些实施方式中,类表征器705能够使用类简档模型来基于类标识符520的历史数据库715中的条目720的集合确定类的特性。类简档模型可以是任何模型,诸如线性回归、逻辑回归、人工神经网络(ann)、支持向量机(svm)、和朴素贝叶斯分类器等。可能已通过使用使由类标识符520标记的浏览历史与某些特性相关联的样本数据集来训练了类简档模型。类简档模型能够将在历史数据库715上每个类标识符520的条目720转换为对应类的特性。在一些实施方式中,类表征器705能够存储和维护每个类标识符520的特性。
[0130]
在内容选择服务425上执行的内容放置器710能够通过使用类标识符520来响应于对内容的请求620而从内容项725的集合中选择或标识内容项725。类标识符520的使用可以与针对与对内容的请求相关联的特定用户使用唯一标识符相反,因为对内容项725的选择可能不基于对特定用户唯一的标识符。每个内容项725能够包括要嵌入、插入或以其他方式添加到信息资源600的内容槽610的对象或元素。每个内容项725能够由内容提供者415中的一个或多个提供。在接收时,内容放置器710能够解析对内容的请求620以标识类标识符520。在标识时,内容放置器710能够标识与类标识符520相对应的类的特性。内容放置器710能够标识或选择与类的特性相关联的内容项725。在一些实施方式中,内容放置器710能够使用内容放置过程来选择内容项725。内容放置过程能够使用诸如线性回归、逻辑回归、人工神经网络(ann)、支持向量机(svm)和朴素贝叶斯分类器等的模型。对于每个内容项725,内容放置过程能够计算、确定或生成由在与包括在对内容的请求620中的类标识符520相对应的类中的用户交互的预测可能性。内容放置器710能够标识由在所述类中的用户交互的可能性最大的内容项725。一旦被选择,内容放置器710就能够将内容项725传送到发起了对内容的请求620的客户端设备430。在一些实施方式中,内容放置器710能够将内容项725的地址发送到客户端设备430,以便应用435从内容提供者415中检索所选择的内容项725。
[0131]
结合图7返回参考图6,资源处理器615能够接收由内容选择服务425标识的内容项725。资源处理器615能够将内容项725嵌入、插入或添加到信息资源600的内容槽610中。在一些实施方式中,资源处理器615能够接收内容项725的地址。内容项725的地址能够引用内容提供者415。资源处理器615能够向内容提供者415发送另一请求以检索内容项725,并且将内容项725插入到信息资源600的内容槽610中。
[0132]
以这种方式,内容选择服务425能够按与相同的类标识符520相关联的用户预期具有类似响应的期望而选择内容项725。此外,能够保存个别用户的浏览历史530上的数据安全性、完整性和私密性。同时,利用确定在选择内容项725时与个别类的相关性的能力,能够维护与整个信息资源600的人机交互(hci)的质量。
[0133]
现在参考图8,是描绘的是用于描绘通过使用分类模型来对用于内容选择的标识符进行编码的方法800的一个实施方式的流程图。本文关于方法800描述的功能性能够由如图4所示的系统400或如图9所示的计算设备来执行或以其他方式执行。总之,在客户端设备上运行的应用能够标识浏览历史(805)。所述应用能够减小维度(810)。所述应用能够应用分类模型(815)。所述应用能够标识类(820)。所述应用能够指派类标识符(825)。所述应用能够接收信息资源(825)。所述应用能够生成对内容的请求(835)。所述应用能够包括类标识符(840)。所述应用能够传送对内容的请求(845)。所述应用能够接收选择的内容项(850)。所述应用能够确定是否重新指派(855)。如果否,则所述应用能够维护类标识符
(860)。
[0134]
更详细地,在客户端设备(例如,客户端设备430)上的应用(例如,应用435)能够标识浏览历史(例如,浏览历史530)(805)。浏览历史能够包括条目(例如,条目535)的集合。每个条目能够包括被访问信息资源的地址和用于标识该信息资源被访问时的时间的时间戳。所述应用能够从浏览历史的条目集生成特征向量集。特征向量可以是浏览历史到维度集的投影。维度能够包括时间范围和地址属性等。所述应用能够减小维度(810)。通过使用降维过程,所述应用能够从初始特征向量集生成简化特征向量集。
[0135]
所述应用能够应用分类模型(例如,分类模型500)(815)。分类模型能够包括输入集、参数集和输出集。输入集能够包括浏览历史的条目或浏览历史的表示。参数集能够使输入与输出相关联。输出集能够包括要基于由用户在应用上的浏览历史而将与应用交互的用户归类到其中的类。所述应用能够将降维特征向量集作为分类模型的输入来馈送。分类模型能够将参数应用于输入。所述应用能够标识类(820)。在应用分类模型的情况下,分类模型能够生成用于标识要将与应用交互的用户归类到其中的类的输出。应用的分类能够延伸到对应于或包括与操作应用的账户相关联的用户或由该用户操作的客户端设备的分类。所述应用能够指派类标识符(例如,类标识符520)(825)。分类模型能够将每个类关联到类标识符中的一个。一旦类标识符被标识,所述应用就能够标识与类相对应的类标识符并且将应用指派给该类标识符。
[0136]
所述应用能够接收信息资源(例如,信息资源600)(830)。信息资源能够包括主要内容(例如,主要内容605)和内容槽(例如,内容槽610)。主要内容能够由内容发布者(例如,内容发布者420)提供。内容槽能够用于插入来自内容提供者(例如,内容提供者415)或内容选择服务(例如,内容选择服务425)的内容。在接收时,所述应用能够解析信息资源。所述应用能够生成对内容的请求(例如,对内容的请求620)(835)。对内容的请求的生成能够与信息资源的解析相结合。
[0137]
所述应用能够包括类标识符(840)。对内容的请求能够包括与通过使用分类模型来标识的类相对应的类标识符。所述应用还能够移除与所述应用的用户、所述应用本身或运行所述应用的客户端设备相关联的任何唯一跟踪标识符。唯一跟踪标识符可能已作为第三方cookie的一部分从内容提供者或另一内容放置平台提供。类标识符能够被作为包括在对内容的请求中的安全cookie的一部分来包括。所述应用能够传送对内容的请求(845)。所述传送可以通过在客户端设备与内容选择服务之间建立的安全通信信道来进行。对内容的请求能够由内容选择服务接收。内容选择服务能够使用包括在请求中的类标识符来从内容项(例如,内容项725)的集合中标识内容项。在所述选择的情况下,内容选择服务能够将内容项发送到所述应用。所述应用能够接收所选择的内容项(850)。所述应用能够将内容项插入到在信息资源上定义的内容槽。
[0138]
所述应用能够确定是否重新指派类标识符(855)。重新指派可以依照标识符指派策略。该策略能够指定一组条件,在所述条件下分类模型将被再次应用于浏览历史以查找新的类标识符。如果确定是要重新指派,则所述应用能够重复(805)
‑
(825)并前进。另一方面,如果确定是不要重新指派,则所述应用能够维护类标识符(860)。
[0139]
图9示出依照一些实施方式的可以被采用来实施本文讨论的计算机系统(包括应用管理器服务410及其组件、内容提供者415及其组件、内容发布者420及其组件、内容选择
服务425及其组件、以及客户端设备430及其组件)中的任一个的说明性计算机系统900的一般架构。计算机系统900能够用于经由网络930提供信息以供显示。计算机系统900包括通信地耦合到存储器925的一个或多个处理器920、通信地耦合到至少一个网络930(例如,网络405)的一个或多个通信接口905、以及一个或多个输出设备910(例如,一个或多个显示单元)和一个或多个输入设备915。
[0140]
处理器920能够包括微处理器、专用集成电路(asic)、现场可编程门阵列(fpga)等、或其组合。存储器可以包括但不限于能够给处理器提供程序指令的电子、光学、磁性或任何其他存储或传输设备。存储器925可以包括任何计算机可读存储介质,并且可以存储计算机指令(诸如用于实施在本文中针对相应系统描述的各种功能性的处理器可执行指令)、以及与其有关、由此生成或经由通信接口或输入设备(若存在的话)接收的任何数据。存储器925能够包括软盘、cd
‑
rom、dvd、磁盘、存储器芯片、asic、fpga、只读存储器(rom)、随机存取存储器(ram)、电可擦除rom(eeprom)、可擦除可编程rom(eprom)、闪速存储器、光学介质,或处理器能够从中读取指令的任何其他合适的存储器。所述指令可以包括来自任何合适的计算机编程语言的代码。
[0141]
图9所示的处理器920可以用于执行存储在存储器925中的指令,并且在这样做时,还可以从存储器读取或向存储器写入依据所述指令的执行而处理和/或生成的各种信息。与存储器925耦合的处理器920(在本文中统称为处理单元)能够被包括在应用管理器服务410中。例如,应用管理器服务410能够包括存储器925作为数据库515。与存储器925耦合的处理器920(在本文中统称为处理单元)能够被包括在内容提供者415中。例如,内容提供者415能够包括存储器925以存储内容项725。与存储器925耦合的处理器920(在本文中统称为处理单元)能够被包括在内容发布者420中。例如,内容发布者420能够包括存储器925以存储信息资源600。与存储器925耦合的处理器920(在本文中统称为处理单元)能够被包括在内容选择服务425中。例如,内容选择服务425能够包括作为历史数据库720的存储器925。与存储器925耦合的处理器920(在本文中统称为处理单元)能够被包括在客户端设备430中。例如,客户端设备430能够包括存储器925作为浏览历史530和标识符高速缓存540。
[0142]
计算机系统900的处理器920还可以被通信地耦合到或制成控制通信接口905依据指令的执行来传送或接收各种信息。例如,通信接口905可以耦合到有线或无线网络、总线或其他通信装置,并且因此可以允许计算机系统900向其他设备(例如,其他计算机系统)传送信息或者从其他设备(例如,其他计算机系统)接收信息。虽然在图4
‑
7或图9的系统中未显式地示出,但是一个或多个通信接口促进在系统900的组件之间的信息流动。在一些实施方式中,通信接口可以被配置(例如,经由各种硬件组件或软件组件)成提供网站作为对计算机系统900的至少一些方面的访问门户。通信接口905的示例包括用户能够用来与系统400的其他设备进行通信的用户接口(例如,应用435、信息资源600、主要内容605、内容槽610和内容项725)。
[0143]
例如,可以提供图9所示的计算机系统900的输出设备910,以与指令的执行相结合地允许查看或以其他方式感知各种信息。例如,可以提供输入设备915,以允许用户在指令的执行期间做出手动调整、做出选择键入数据或者以各种方式中的任一种与处理器交互。在本文中进一步提供与可以针对本文讨论的各种系统采用的一般计算机系统架构有关的附加信息。
[0144]
网络930能够包括诸如互联网、局域网、广域网、城域网或其他区域网络、内联网、卫星网络、诸如语音或数据移动电话通信网络的其他计算机网络及其组合的计算机网络。网络930可以是在系统400的组件当中用于中继信息的任何形式的计算机网络,所述组件诸如应用管理器服务410、内容提供者415、内容发布者420、内容选择服务425和客户端设备430。例如,网络930可以包括因特网和/或其他类型的数据网络,诸如局域网(lan)、广域网(wan)、蜂窝网络、卫星网络或其他类型的数据网络。网络930还可以包括被配置成在网络930内接收和/或传送数据的任何数目的计算设备(例如,计算机、服务器、路由器、网络交换机等)。网络930还可以包括任何数目的硬连线连接和/或无线连接。客户端设备430可以以无线方式(例如,经由wifi、蜂窝、无线电等)与收发器进行通信,所述收发器(例如,经由光纤线缆、cat5线缆等)硬连线到网络930中的其他计算设备。
[0145]
本说明书中描述的主题和操作的实施方式能够用数字电子电路或者用在有形介质、固件或硬件上体现的计算机软件(包括本说明书中公开的结构及其结构等同物)或者用它们中的一个或多个的组合来实施。能够将本说明书中描述的主题的实施方式实施为一个或多个计算机程序,即,在计算机存储介质上编码以供由数据处理装置执行或控制数据处理装置的操作的计算机程序指令的一个或多个模块。能够将程序指令编码在人工生成的传播信号例如机器生成的电信号、光信号或电磁信号上,该信号被生成以对信息进行编码以供传输到合适的接收器装置以供由数据处理装置执行。计算机存储介质可以是计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备或它们中的一个或多个的组合,或者被包括在其中。此外,虽然计算机存储介质不是传播的信号,但是计算机存储介质能够包括在人工生成的传播信号中编码的计算机程序指令的源或目的地。计算机存储介质也可以是一个或多个分开的物理组件或介质(例如,多个cd、磁盘或其他存储设备)或者被包括在其中。
[0146]
可以在智能电视模块(或连接的电视模块、混合电视模块等)上实施本文公开的特征,所述智能电视模块可以包括处理模块,所述处理模块被配置成将互联网连接与更传统的电视节目源(例如,经由线缆、卫星、空中或其他信号接收)集成在一起。智能电视模块可以被以物理方式并入到电视机中,或者可以包括单独的设备,诸如机顶盒、蓝光或其他数字媒体播放器、游戏机、酒店电视系统或其他配套设备。智能电视模块可以被配置成允许观众搜索和查找在web上、在本地有线电视频道上、在卫星tv频道上或存储在本地硬盘上的视频、电影、照片和其他内容。机顶盒(stb)或机顶单元(stu)可以包括信息电器设备,该信息电器设备可以包含调谐器并且连接到电视机和外部信号源,以将信号调谐成内容,该内容然后被显示在电视屏幕或其他显示设备上。智能电视模块可以被配置成提供主屏幕或顶级屏幕,其包括多个不同应用(诸如web浏览器)以及多个流媒体服务、连接的有线电视或卫星媒体源、其他web“频道”等的图标。智能电视模块还可以被配置成向用户提供电子节目指南。智能电视模块的配套应用可以在移动计算设备上操作以向用户提供关于可用节目的附加信息,以允许用户控制智能电视模块等。在一些实施方式中,可以在膝上型计算机或其他个人计算机、智能电话、其他移动电话、手持计算机、平板pc或其他计算设备上实施所述特征。在一些实施方式中,可以在可穿戴设备或组件(例如,智能手表)上实施本文公开的特征,所述可穿戴设备或组件可以包括被配置成集成互联网连接(例如,与另一计算设备或网络930的互联网连接)的处理模块。
[0147]
能够将本说明书中描述的操作实施为由数据处理装置对存储在一个或多个计算机可读存储设备上的数据或对从其他源接收到的数据所执行的操作。
[0148]
术语“数据处理装置”、“数据处理系统”、“用户设备”或“计算设备”包含用于处理数据的所有种类的装置、设备和机器,作为示例包括可编程处理器、计算机、片上系统或在多个芯片上的系统、或上述的组合。装置能够包括专用逻辑电路,例如fpga(现场可编程门阵列)或asic(专用集成电路)。所述装置除了包括硬件之外,还能够包括为所述计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机、或它们中一个或多个的组合的代码。所述装置和执行环境能够实现各种不同的计算模型基础设施,诸如web服务、分布式计算和网格计算基础设施。
[0149]
计算机程序(也称为程序、软件、软件应用、脚本或代码)能够用任何形式的编程语言(包括编译或解释语言、声明或过程语言)编写,并且它能够被以任何形式部署,包括作为独立程序或作为适合于在计算环境中使用的模块、组件、子例程、对象或其他单元。计算机程序可以但不是必需对应于文件系统中的文件。能够在保持其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中、在专用于所述程序的单个文件中或者在多个协调文件(例如,存储代码的一个或多个模块、子程序或部分的文件)中存储程序。能够将计算机程序部署成在一个计算机上或者在位于一个站点处或跨多个站点分布并且通过通信网络互连的多个计算机上执行。
[0150]
本说明书中描述的过程和逻辑流程能够通过一个或多个可编程处理器执行,所述可编程处理器执行一个或多个计算机程序以通过对输入数据进行操作并且生成输出来执行动作。过程和逻辑流程还能够由专用逻辑电路执行,并且所述装置还能够被实施为专用逻辑电路,例如fpga(现场可编程门阵列)或asic(专用集成电路)。
[0151]
作为示例,适合于执行计算机程序的处理器包括通用微处理器和专用微处理器两者,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的必要元素是用于依照指令执行动作的处理器以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘),或者在操作上耦合以从该大容量存储设备接收数据或者将数据转移到该大容量存储设备,或两者。然而,计算机不是必需具有此类设备。此外,例如,能够将计算机嵌入在另一设备中,所述另一设备例如为移动电话、个人数字助理(pda)、移动音频或视频播放器、游戏机、全球定位系统(gps)接收器或便携式存储设备(例如,通用串行总线(usb)闪存驱动器)。适合于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,作为示例包括半导体存储器设备,例如eprom、eeprom和闪速存储器设备;磁盘,例如内部硬盘或可移动盘;磁光盘;以及cd
‑
rom和dvd
‑
rom盘。所述处理器和存储器能够由专用逻辑电路补充,或者被并入在专用逻辑电路中。
[0152]
为了提供与用户的交互,能够在计算机上实施本说明书中描述的主题的实施方式,所述计算机具有用于向用户显示信息的显示设备,例如crt(阴极射线管)、等离子体或lcd(液晶显示器)监视器,以及用户能够用来向该计算机提供输入的键盘和指点设备,例如鼠标或轨迹球。其他种类的设备也能够用于提供与用户的交互。例如,提供给用户的反馈能够包括任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈,并且能够以任何形式接
收来自用户的输入,包括声、语音或触觉输入。此外,计算机能够通过向由用户使用的设备发送文档并且从由用户使用的设备接收文档来与用户交互,例如,通过响应于从web浏览器接收到的请求而向用户的客户端设备上的web浏览器发送网页。
[0153]
能够在计算系统中实施本说明书中描述的主题的实施方式,所述计算系统包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件,例如具有用户能够用来与本说明书中描述的主题的实施方式交互的图形用户接口或web浏览器的客户端计算机,或者包括一个或多个此类后端、中间件或前端组件的任何组合。所述系统的组件能够通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“lan”)和广域网(“wan”)、网络间(例如,因特网)和对等网络(例如,自组织对等网络)。
[0154]
诸如系统900或系统400的计算系统能够包括客户端和服务器。例如,系统400的应用管理器服务410、内容提供者415、内容发布者420和内容选择服务425能够各自包括一个或多个数据中心或服务器场中的一个或多个服务器。客户端(例如,客户端设备430)和服务器通常彼此远离并且通常通过通信网络来交互。客户端和服务器的关系借助于在相应的计算机上运行并且彼此具有客户端
‑
服务器关系的计算机程序而产生。在一些实施方式中,服务器向客户端设备传送数据(例如,html页面)(例如,为了向与客户端设备交互的用户显示数据并且从与客户端设备交互的用户接收用户输入)。能够在服务器处从客户端设备接收在客户端设备处生成的数据(例如,用户交互的结果)。
[0155]
能够在计算系统中实施本说明书中描述的主题的实施方式,所述计算系统包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件,例如具有用户能够用来与本说明书中描述的主题的实施方式交互的图形用户接口或web浏览器的客户端计算机,或者包括一个或多个此类后端、中间件或前端组件的任何组合。所述系统的组件能够通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络可以包括局域网(“lan”)和广域网(“wan”)、网络间(例如,因特网)和对等网络(例如,自组织对等网络)。
[0156]
对于本文讨论的系统收集关于用户的个人信息或者可以利用个人信息的情形,可以给用户提供机会以控制程序或特征是否可以收集个人信息(例如,关于用户的社交网络、社交动作或活动、用户的偏好或用户的位置的信息)、或者控制是否或如何从内容服务器或其他数据处理系统接收可能与用户更相关的内容。此外,某些数据可以在它被存储或使用之前被以一种或多种方式匿名化,使得个人可标识信息在生成参数时被移除。例如,用户的身份可以被匿名化,使得对用户来说不能确定个人可标识信息,或者可以在获得位置信息的情况下使用户的地理位置一般化(诸如到城市、邮政编码或州级别),使得不能确定用户的特定位置。因此,用户可以控制信息如何关于他或她被收集并且由内容服务器使用。
[0157]
虽然本说明书包含许多具体实施方式细节,但是这些不应该被解释为对任何发明或可能要求保护的东西的范围构成限制,而是被解释为特定于特定发明的特定实施方式的特征的描述。还能够在单个实施方式中相结合地实施在本说明书中在分开的实施方式的上下文中描述的某些特征。相反地,还能够分开地在多个实施方式中或在任何合适的子组合中实施在单个实施方式的上下文中描述的各种特征。此外,尽管特征可以在上面被描述为以某些组合行动并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个
特征能够在一些情况下被从该组合中除去,并且所要求保护的组合可以针对子组合或子组合的变化。
[0158]
类似地,虽然在附图中以特定次序描绘操作,但是这不应该被理解为要求以所示的特定次序或者以顺序次序执行此类操作,或者要求执行所有图示的操作以实现所希望的效果。在某些情况下,多任务处理和并行处理可以是有利的。此外,上述实施方式中的各种系统组件的分开不应该被理解为在所有实施方式中要求这种分开,并且应该理解,所描述的程序组件和系统通常能够被一起集成在单个软件产品中或者包装到多个软件产品中。
[0159]
因此,已描述了本主题的特定实施方式。其他实施方式在以下权利要求的范围内。在一些情况下,权利要求中记载的动作能够被以不同的次序执行并且仍然实现所希望的结果。此外,附图中描绘的过程不一定要求所示的特定次序或顺序次序来实现所希望的结果。在某些实施方式中,可以利用多任务处理或并行处理。
技术特征:
1.一种用于匿名化内容检索的方法,包括:由计算设备的浏览器应用基于所述计算设备的浏览历史来生成简档;由所述浏览器应用将所述简档编码为n维向量;由所述浏览器应用从所述n维向量计算降维向量;由所述浏览器应用确定与所述降维向量相对应的第一聚类;由所述浏览器应用向内容服务器传送对内容项的请求,所述请求包括所述第一聚类的标识;以及由所述浏览器应用从所述内容服务器接收根据所述第一聚类的标识选择的内容项。2.根据权利要求1所述的方法,其中,基于所述计算设备的用户的浏览历史来生成所述简档包括从所述浏览历史的日志中标识在预定时间段内对多个地址中的每一个地址的访问次数n。3.根据权利要求1所述的方法,其中,将所述简档编码为n维向量还包括生成具有表示如下的值的字符串:在预定时间段内对与所述字符串中的对应位置相关联的地址的一个或多个访问中的每一个访问。4.根据权利要求1所述的方法,其中,计算所述降维向量还包括执行所述n维向量的奇异值分解。5.根据权利要求4所述的方法,其中,计算所述降维向量还包括从第二计算设备接收所述奇异值分解的奇异向量集。6.根据权利要求5所述的方法,其中,计算所述降维向量还包括向所述第二计算设备传送所述n维向量,所述第二计算设备基于所述计算设备的所述n维向量和至少一个其他计算设备的n维向量的聚合来计算所述奇异向量集。7.根据权利要求1所述的方法,其中,确定与所述降维向量相对应的所述第一聚类还包括从第二计算设备接收多个聚类中的每一个聚类的边界。8.根据权利要求7所述的方法,其中,确定与所述降维向量相对应的所述第一聚类还包括:响应于所述降维向量在所述第一聚类的边界内,选择所述多个聚类中的第一聚类。9.根据权利要求1所述的方法,其中,确定与所述降维向量相对应的所述第一聚类还包括:由所述浏览器应用从第二计算设备接收基于所述计算设备的所述n维向量和至少一个其他计算设备的n维向量的聚合而确定的神经网络模型的权重;由所述浏览器应用的机器学习系统将所述神经网络模型应用于所述降维向量,以生成预定聚类集的排名;以及由所述浏览器应用选择所述第一聚类作为所述预定聚类集中的排名最高的聚类。10.一种用于匿名化内容检索的方法,包括:由服务器计算设备从多个客户端计算设备中的每一个客户端计算设备接收基于所对应的客户端计算设备的浏览历史的简档,每个简档包括n维向量;由所述服务器计算设备将多个简档的多个n维向量聚合成矩阵;由所述服务器计算设备计算所述矩阵的奇异值分解,以生成奇异值集;以及由所述服务器计算设备向所述多个客户端计算设备中的每一个客户端计算设备和至少一个内容提供者设备传送所述奇异值集。
11.根据权利要求10所述的方法,还包括由所述服务器计算设备确定所述矩阵的聚类集中的每个聚类的边界。12.根据权利要求11所述的方法,还包括由所述服务器计算设备向所述多个客户端计算设备中的每一个客户端计算设备和所述至少一个内容提供者设备传送所述矩阵的聚类集中的每个聚类的边界。13.根据权利要求10所述的方法,还包括由所述服务器计算设备经由神经网络模型从所述矩阵中标识聚类集中的每个聚类。14.根据权利要求13所述的方法,还包括将所述神经网络模型的权重传送到所述多个客户端计算设备中的每一个客户端计算设备和所述至少一个内容提供者设备。15.一种用于匿名化内容检索的系统,包括:计算设备,所述计算设备包括与内容服务器通信的网络接口、存储所述计算设备的浏览历史的存储器和浏览器应用,所述浏览器应用被配置成:基于所述计算设备的浏览历史来生成简档,将所述简档编码为n维向量,从所述n维向量计算降维向量,确定与所述降维向量相对应的第一聚类,经由所述网络接口向所述内容服务器传送对内容项的请求,所述请求包括所述第一聚类的标识,以及经由所述网络接口从所述内容服务器接收根据所述第一聚类的标识所选择的内容项。16.根据权利要求15所述的系统,其中,所述浏览器应用还被配置成生成具有用于表示如下的值的字符串:在预定时间段内对与所述字符串中的对应位置相关联的地址的一个或多个访问中的每一个访问。17.根据权利要求15所述的系统,其中,所述浏览器应用还被配置成执行所述n维向量的奇异值分解。18.根据权利要求17所述的系统,其中,所述浏览器应用还被配置成经由所述网络接口从第二计算设备接收所述奇异值分解的奇异向量集。19.根据权利要求18所述的系统,其中,所述浏览器应用还被配置成经由所述网络接口向所述第二计算设备传送所述n维向量,所述第二计算设备基于所述计算设备的所述n维向量和至少一个其他计算设备的n维向量的聚合来计算所述奇异向量集。20.根据权利要求15所述的系统,其中,所述浏览器应用还被配置成:经由所述网络接口从第二计算设备接收基于所述计算设备的所述n维向量和至少一个其他计算设备的n维向量的聚合而确定的神经网络模型的权重;将所述神经网络模型应用于所述降维向量,以生成预定聚类集的排名;以及选择所述第一聚类作为所述预定聚类集中的排名最高的聚类。21.一种对用于内容选择的标识符进行编码的方法,包括:由在客户端设备上执行的第一应用标识在所述客户端设备上维护的浏览历史,所述浏览历史记录由所述客户端设备经由所述第一应用访问的信息资源;由所述第一应用将分类模型应用于所述第一应用的所述浏览历史,以标识要将所述第一应用归类为的类;
由所述第一应用将所述第一应用指派给与所标识的类相对应的类标识符,所述第一应用的所述类标识符与第二应用的类标识符相同;由所述第一应用从内容发布者设备接收包括主要内容和可用于从内容选择服务接收内容的内容槽的信息资源;由所述第一应用针对所述信息资源的所述内容槽生成对内容的请求,所述对内容的请求包括用于所述第一应用的所述类标识符;以及由所述第一应用将所述对内容的请求传送到所述内容选择服务,所述内容选择服务使用用于所述第一应用的所述类标识符和用于所述第二应用的所述类标识符来选择要插入到所述信息资源的内容槽中的内容项。22.根据权利要求21所述的方法,还包括:由所述第一应用从应用管理员服务接收用于更新所述分类模型以便将应用归类成多个类中的一个类的参数集;以及由所述第一应用基于从所述应用管理员服务接收到的所述参数集来修改在所述客户端设备上维护的所述分类模型。23.根据权利要求21所述的方法,还包括由所述第一应用与在多个对应的客户端设备上执行的多个应用相一致地通过使用分布式学习协议来训练在所述客户端设备上维护的所述分类模型。24.根据权利要求21所述的方法,还包括由所述第一应用通过使用降维过程来从自所述客户端设备标识的所述浏览历史生成简化特征向量集,所述特征向量在文件大小上小于所述浏览历史;并且其中,应用所述分类模型还包括将所述分类模型应用于从所述浏览历史生成的所述简化特征向量集。25.根据权利要求21所述的方法,还包括由所述第一应用按照标识符指派策略来确定所述分类模型将被应用于所述浏览历史;并且其中,应用所述分类模型还包括:响应于按照所述标识符指派策略来确定所述分类模型将被应用,应用所述分类模型。26.根据权利要求21所述的方法,其中,应用所述分类模型还包括应用所述分类模型以从多个类中标识所述类,所述多个类中的每个类具有要归类到所述类的至少预定数目的客户端。27.根据权利要求21所述的方法,其中,将所述第一应用指派给所述类标识符还包括将所述第一应用指派给多个类标识符中的类标识符,每个类标识符对应于所述多个类中的一个类。28.根据权利要求21所述的方法,其中,生成所述对内容的请求还包括:在没有由所述内容选择服务提供的和与所述第一应用、所述第一应用或所述客户端设备相关联的账户相对应的唯一跟踪标识符的情况下,生成所述对内容的请求。29.根据权利要求21所述的方法,其中,生成所述对内容的请求还包括生成对包括安全cookie的内容的请求,以用于通过与所述内容选择服务的连接进行传输,所述安全cookie具有用于所述第一应用的所述类标识符。30.根据权利要求21所述的方法,其中,标识所述浏览历史还包括在其中要应用所述分
类模型的预定时间范围上标识所述浏览历史。
技术总结
本公开提供用于经由诸如数百万或数十亿个设备的大量设备的聚合的浏览历史而进行内容准个性化或匿名化的内容检索的系统和方法。稀疏矩阵可以从所述聚合浏览历史构建,并且在维度上减小,从而减小熵并且为各个设备提供匿名性。可以经由用于表示类似的浏览历史的准个性化聚类来选择相关内容,而不用使各个设备细节暴露于内容提供者。节暴露于内容提供者。节暴露于内容提供者。
技术研发人员:王刚 马塞尔
受保护的技术使用者:谷歌有限责任公司
技术研发日:2020.03.31
技术公布日:2021/6/29
转载请注明原文地址:https://doc.8miu.com/read-134.html