隐私保护机器学习预测的制作方法

文档序号:30763404发布日期:2022-07-15 22:07阅读:90来源:国知局
隐私保护机器学习预测的制作方法
隐私保护机器学习预测


背景技术:

1.本说明书涉及数据处理和机器学习模型。
2.客户端设备能够使用应用(例如,web浏览器、本机应用)来访问内容平台(例如,搜索平台、社交媒体平台或托管内容的另一平台)。内容平台能够在客户端设备上启动的应用内显示可以由一个或多个内容源/平台提供的数字组件(数字内容或数字信息的离散单元,诸如视频剪辑、音频剪辑、多媒体剪辑、图像、文本或另一内容单元)。


技术实现要素:

3.通常,本说明书中描述的主题的一个创新方面能够体现在包括下述操作的方法中,包括:基于客户端设备上的当前用户活动周期,向客户端设备分配临时组标识符,该临时组标识符从多个不同组中标识包括客户端设备的特定组;为要训练的模型生成训练集,训练集包括(i)基于客户端设备处的当前用户活动周期分配给客户端设备的临时组标识符,(ii)已经被分配临时组标识符的用户的组特征集,以及(iii)由已经被分配临时组标识符的用户执行的用户活动的活动特征集,其中,临时组标识符从多个不同组中标识包括客户端设备的特定组;使用训练集训练模型;从给定客户端设备接收对数字组件的请求,请求至少包括:(i)当前分配给给定客户端设备的临时组标识符,(ii)活动特征集的子集,以及(iii)一个或多个附加特征,其中,一个或多个附加特征基于客户端设备;通过将经训练的模型应用于(i)临时组标识符和(ii)请求中包括的活动特征子集,生成没有在请求中包括的一个或多个用户特性;基于经训练的模型生成的一个或多个用户特性选择一个或多个数字组件;以及向客户端设备发送选择的一个或多个数字组件。
4.该方面的其他实现包括对应的装置、系统和计算机程序,被配置为执行在计算机存储设备上编码的方法的方面。这些和其他实现都能够选择性地包括以下特征的一个或多个。
5.在一些方面中,组特征集包括:(i)多个统一资源定位器(url),包括由已经被分配临时组标识符的用户访问的多个url,(ii)由已经被分配临时组标识符的用户访问的多个url的表示。在一些方面中,组特征集还可以包括:(i)由已经被分配临时组标识符的用户访问的url的计数和/或比例,(ii)由已经被分配临时组标识符的用户访问的url处呈现的数字内容中的模式。
6.在一些方面中,组特征集包括一个或多个聚合用户组人口统计,共同表征与临时组标识符相对应的特定组中的用户,而不表征特定组中的任何单独用户。在一些方面中,组特征集包括聚合上下文预测,其中,聚合上下文预测是基于由已经被分配临时组标识符的用户访问的数字内容的预测输出。
7.在一些方面中,训练集的每个样本至少包括:(i)已经被分配临时组标识符的用户的匿名标识符,(ii)在用户被分配临时组标识符时用户访问的url。
8.在一些方面中,活动特征集包括:(i)指定对数字组件的请求来源的地理标识符,(ii)提交对数字组件的请求来源的时间。
9.能够实现本说明书中描述的主题的特定实施例,以实现以下一个或多个优点。关于用户的人口统计信息对于向用户提供个性化在线体验非常重要,例如,通过提供与用户相关的特定数字组件。通常,用于提供个性化在线体验的数据通过使用第三方cookie(例如,属于与客户端设备正在访问的域不同的域的cookie)聚合,从而允许链接浏览活动和其他行为和/或跨时间、会话和设备识别用户跟踪数据。然而,越来越多的web流量不允许使用第三方cookie,这可能是由于用户的隐私偏好、缺少对第三方cookie的浏览器支持,或者是由于其他退化,从而消除了使用第三方cookie从多个不同来源聚合数据的可能性。为了解决在不使用第三方cookie(或第三方cookie不可用)的情况下聚合来自多个不同来源的数据的问题,能够对机器学习模型进行训练,以预测使用第三方cookie从多个不同来源聚合的信息。正如在本文档中详细讨论的那样,相对于第三方cookie的使用,机器学习模型能够以增加用户隐私的方式进行训练。因此,机器学习模型的使用能够提供与数据访问相关的改进,并为由浏览器阻止第三方cookie引起的数据聚合问题提供解决方案。实现这些方法需要在从真实世界用户获取的数据集上训练机器学习模型。机器学习模型能够学习训练数据集的复杂模式,从而减少关于用户特性的预测错误。这种实现允许基于预测的用户特性(例如,人口统计信息)交付精心选择的数字组件,从而在维护用户隐私的同时改善用户体验。
10.本说明书中描述的主题的一个或多个实施例的细节在附图在下面的描述中阐述。从说明书、附图和权利要求书中,主题的其他特征、方面和优点将变得显而易见。
附图说明
11.图1是其中分发数字组件的示例环境的框图。
12.图2是由用户评估装置实现的示例机器学习模型的框图。
13.图3是使用机器学习模型分发数字组件的示例过程的流程图。
14.图4是能够用于执行所述操作的示例计算机系统的框图。
具体实施方式
15.本文档公开了实现机器学习模型的方法、系统、装置和计算机可读介质,这些模型能够预测使用第三方cookie收集的信息,而不使用第三方cookie,同时维护用户隐私。在一些情况下,机器学习模型的输出能够用于选择数字组件并将其分发给用户,从而提供个性化的在线体验。
16.通常,经由客户端设备连接到互联网的用户能够被提供数字组件。在这种情况下,数字组件提供商可能希望基于从多个不同来源(诸如用户的在线活动和用户的浏览历史)聚合的数据提供数字组件。然而,越来越多的用户选择不允许聚合以前收集和使用过的某些信息,并且一些浏览器正在阻止第三方cookie,因此必须在不使用第三方cookie(例如,来自与用户当前查看的网页域不同的域的cookie)的情况下执行数字组件选择。因此,需要一种解决方案来聚合数据,以便在无法使用第三方cookie时能够用于提供个性化在线体验。
17.出现了新技术,通过在用户访问特定资源或在资源上执行特定操作(例如,与网页上显示的特定项目交互或将项目添加到虚拟购物车)时将用户分配到用户组,将数字组件
分发给用户。这些用户组通常以使得确保每个用户组包括足够数量的用户的方式创建,这样就无法识别单个用户。用户特征,诸如有关用户的人口统计信息,对于为用户提供个性化在线体验仍然很重要,例如,通过提供与用户相关的特定数字组件。然而,由于此类信息不可用,内容的个性化可能很困难。因此,需要一种解决方案来预测此类用户信息和/或特征。参考图1-4进一步解释这些技术和方法。
18.图1是示例环境100的框图,其中,分发数字组件以与电子文档一起呈现。示例环境100包括网络102,诸如局域网(lan)、广域网(wan)或其组合。网络102连接内容服务器104、客户端设备106、数字组件服务器108和数字组件分发系统110(也称为组件分发系统(cds))。
19.客户端设备106是能够通过网络102请求和接收资源的电子设备。示例客户端设备106包括个人计算机、移动通信设备、可穿戴设备、个人数字助理以及能够通过网络102发送和接收数据的其他设备。客户端设备106通常包括用户应用112,诸如web浏览器,以促进通过网络102发送和接收数据,但是由客户端设备106执行的本机应用也能够促进通过网络102发送和接收数据。客户端设备106,并且尤其是个人数字助理,能够包括启用与客户端设备106语音交互的硬件和/或软件。例如,客户端设备106能够包括麦克风,用户能够通过麦克风提交音频(例如,语音)输入,诸如命令、搜索查询、浏览指令、智能家居指令和/或其他信息。此外,客户端设备106能够包括扬声器,通过扬声器能够向用户提供音频(例如,语音)输出。个人数字助理能够在任何客户端设备106中实现,示例包括可穿戴设备、智能扬声器、家用电器、汽车、平板设备或其他客户端设备106。
20.电子文档是在客户端设备106处呈现内容集的数据。电子文档的示例包括网页、字处理文档、便携式文档格式(pdf)文档、图像、视频、搜索结果页面和提要源。本机应用(例如,“app”),诸如安装在移动、平板电脑或桌面计算设备上的应用也是电子文档的示例。电子文档能够由内容服务器104提供给客户端设备106。例如,内容服务器104能够包括托管发布者网站的服务器。在该示例中,客户端设备106能够发起对给定发布者网页的请求,并且托管给定发布者网页的内容服务器104能够通过发送机器可执行指令来响应该请求,该机器可执行指令在客户端设备106处发起给定网页的呈现。
21.在另一示例中,内容服务器104能够包括客户端设备106能够从中下载应用的应用服务器。在该示例中,客户端设备106能够下载在客户端设备106上安装应用所需的文件,然后在本地执行下载的应用。下载的应用能够被配置为呈现作为应用本身的一部分的本地内容的组合,以及从数字组件服务器108获得并在客户端设备106处执行应用时插入到应用中的一个或多个数字组件(例如,由第三方创建/分发的内容)。
22.电子文档能够包括多种内容。例如,电子文档能够包括静态内容(例如,文本或其他指定内容),这些内容在电子文档本身内和/或不随时间变化。电子文档还能够包括动态内容,这些内容可能随时间变化或基于请求变化。例如,给定电子文档的发布者能够维护用于填充部分电子文档的数据源。在该示例中,给定电子文档能够包括标签或脚本,使得当给定电子文档由在客户端设备106处理(例如,渲染或执行)时客户端设备106从数据源请求内容。客户端设备106将从数据源获得的内容集成到给定电子文档中,以创建包括从数据源获得的内容的复合电子文档。
23.在一些情况下,给定电子文档能够包括参考数字组件分发系统110的数字组件标
签或数字组件脚本。在这些情况下,当给定电子文档由客户端设备106处理时,客户端设备106执行数字组件标签或数字组件脚本。数字组件标签或数字组件脚本的执行配置客户端设备106以生成对数字组件112的请求(称为“组件请求”),通过网络102发送到数字组件分发系统110。例如,数字组件标签或数字组件脚本能够使客户端设备106生成包括报头和有效载荷数据的分组数据请求。数字组件请求112能够包括指定特征的事件数据,所述特征诸如正在从其请求媒体的服务器的名称(或网络位置)、请求设备(例如,客户端设备106)的名称(或网络位置)和/或数字组件分配系统110能够用于选择响应于请求而提供的一个或多个数字组件的信息。组件请求112由客户端设备106通过网络102(例如,电信网络)发送到数字组件分发系统110的服务器。
24.数字组件请求112能够包括指定其他事件特征的事件数据,诸如被请求的电子文档和能够呈现数字组件的电子文档的位置特征。例如,能够向数字组件分发系统110提供指定对将在其中呈现数字组件的电子文档(例如网页或应用)的引用(例如,统一资源定位器(url))的事件数据、可用于呈现数字内容的电子文档的可用位置、可用位置的大小和/或有资格在这些位置中呈现的媒体类型。类似地,指定与电子文档相关联的关键字(“文档关键字”)或电子文档所引用的实体(例如,人、地点或事物)的事件数据也能够被包括在组件请求112中(例如,作为有效载荷数据)并被提供给数字组件分发系统110以促进有资格与电子文件一起呈现的数字组件的标识。事件数据还能够包括从客户端设备106提交的搜索查询,以获得搜索结果页面和/或指定搜索结果的数据和/或搜索结果中包括的文本、声音或其他视觉内容。
25.组件请求112还能够包括与其他信息相关的事件数据,诸如客户端设备的用户已经提供的信息、指示从中提交组件请求的州或区域的地理信息,或者提供数字组件将在其中显示的环境的上下文的其他信息(例如,组件请求的一天中的某个时间、组件请求的一周中的某一天、将显示数字组件的设备类型,诸如移动设备或平板设备)。组件请求112能够例如通过分组网络传输,并且组件请求112本身能够被格式化为具有报头和有效载荷数据的分组数据。报头能够指定分组的目的地并且有效载荷数据能够包括上面讨论的任何信息。
26.包括一个或多个数字组件分发服务器的数字组件分发系统110响应于接收组件请求112和/或使用组件请求112中包括的信息来选择将与给定电子文档一起呈现的数字组件。在一些实现中,在不到一秒钟的时间内选择数字组件以避免可能由数字组件的延迟选择而导致的错误。例如,响应组件请求112而提供数字组件的延迟可能导致客户端设备106处的页面加载错误,或者即使在电子文档的其他部分呈现在客户端设备106上之后,也使电子文档的部分保持未填充。此外,随着向客户端设备106提供数字组件的延迟增加,当数字组件被传送到客户端设备106时,更有可能在客户端设备106处不再呈现电子文档,从而对用户使用电子文档的体验产生负面影响,并浪费系统带宽和其他资源。此外,提供数字组件的延迟可能导致数字组件的交付失败,例如,如果在提供数字组件时电子文档不再呈现在客户端设备106上。
27.为了促进电子文档的搜索,环境100能够包括搜索系统150,其通过对电子文档进行爬网和索引(例如,基于电子文档的爬网内容进行索引)来识别电子文档。能够基于与数据相关联的电子文档对关于电子文档的数据进行索引。电子文档的索引和可选地缓存的副本存储在搜索索引152(例如,硬件存储设备)中。与电子文档相关联的数据是表示电子文档
中包括的内容和/或电子文档的元数据的数据。
28.客户端设备106能够通过网络102向搜索系统150提交搜索查询。作为响应,搜索系统150访问搜索索引152以识别与搜索查询相关的电子文档。搜索系统150以搜索结果的形式识别电子文档,并在搜索结果页面中将搜索结果返回给客户端设备106。搜索结果是由搜索系统150生成的数据,该数据标识对特定搜索查询响应(例如,相关)的电子文档,并且包括活动链接(例如,超文本链接),该链接使得客户端设备响应于用户与搜索结果的交互而从指定位置请求数据。示例搜索结果能够包括网页标题、从网页提取的文本片段或图像的一部分以及网页的url。另一示例搜索结果能够包括可下载应用的标题、描述可下载应用的文本片段、描述可下载应用的用户界面的图像和/或指向可将应用下载到客户端设备106的位置的url。另一示例搜索结果能够包括流媒体的标题、描述流媒体的文本片段、描述流媒体内容的图像和/或指向可将流媒体下载到客户端设备106的位置的url。与其他电子文档一样,搜索结果页面能够包括一个或多个时隙,其中能够显示数字组件(例如,广告、视频剪辑、音频剪辑、图像或其他数字组件)。
29.在一些实现中,数字组件分发系统110在分布式计算系统中实现,包括例如服务器和响应于组件请求112互连并识别和分发数字组件的多个计算设备114的集合。多个计算设备114的集合一起操作以从数百万个可用数字组件的语料库中识别有资格在电子文档中呈现的数字组件的集合。
30.在一些实现中,数字组件分发系统110实现用于选择和分发数字组件的不同技术。例如,数字组件能够包括有助于(例如,条件或限制)对应数字组件的选择/分发/传输的对应分发参数。例如,分发参数能够通过要求组件请求包括与数字组件的分发参数之一匹配(例如,精确匹配或具有某种预先指定的相似性水平)的至少一个标准来有助于数字组件的传输。
31.在另一示例中,特定数字组件的分发参数能够包括必须匹配的分发关键字(例如,通过电子文档、文档关键字或组件请求112中指定的术语),以便数字组件有资格呈现。分发参数还能够要求组件请求112包括指定特定地理区域(例如,国家或州)的信息和/或指定组件请求112起源于特定类型的客户端设备106(例如,移动设备或平板设备)的信息,以使组件项有资格用于呈现。分发参数还能够指定用于评估用于选择/分发/传输(例如,在其他可用数字组件中)的组件项的有资格的资格值(例如,等级、分数或一些其他指定值),如下文更详细地讨论的。在一些情况下,资格值能够在将特定事件归因于数字组件项(例如,数字组件的呈现)时将提交的量。
32.合格数字组件的识别能够被分割成多个任务117a-117c,然后在多个计算设备114的集合内的计算设备之间分配这些任务。例如,集合114中的不同计算设备各自能够分析不同的数字组件,以识别具有匹配组件请求112中包括的信息的分发参数的各种数字组件。在一些实现中,集合中的每个给定计算设备114能够分析不同的数据维度(或维度集合),并将分析的结果(res1-res 3)118a-118c传递(例如,发送)回数字组件分发系统110。例如,集合中的每个计算设备114提供的结果118a-118c能够标识响应于组件请求而有资格分发的数字组件项目的子集和/或具有特定分发参数的数字组件的子集。数字组件子集的识别能够包括,例如,将事件数据与分发参数进行比较,以及识别具有与事件数据的至少一些特征匹配的分发参数的数字组件子集。
33.数字组件分发系统110聚合从多个计算设备114的集合接收的结果118a-118c,并使用与聚合结果相关联的信息来选择将响应于组件请求112而提供的一个或多个数字组件。例如,数字组件分发系统110能够基于一个或多个数字组件评估处理的结果选择获胜数字组件(一个或多个数字组件)的集合。进而,数字组件分发系统110能够通过网络102生成和发送应答数据120(例如,表示应答的数字数据),客户端设备106能够将获胜数字组件集集成到给定电子文档中,使得获胜数字组件的集合和电子文档的内容一起呈现在客户端设备106的显示器上。
34.在一些实现中,客户端设备106执行应答数据120中包括的指令,指令配置并使客户端设备106能够从一个或多个数字组件服务器108获得获胜数字组件的集合。例如,应答数据120中的指令能够包括网络位置(例如,url)和脚本,使得客户端设备106向数字组件服务器108发送服务器请求(sr)121以从数字组件服务器108获得给定获胜数字组件。响应于服务器请求121,数字组件服务器108将识别在服务器请求121中指定的给定获胜数字组件,并向客户端设备106发送在客户端设备106处的电子文档中呈现给定获胜数字组件的数字组件数据122(di数据)。
35.在一些情况下,数字组件分发的分发参数能够包括用户特性,诸如人口统计信息、用户兴趣和/或能够被用于个性化用户在线体验的其他信息。在一些情况下,关于客户端设备106的用户的这些特性和/或信息是容易获得的。例如,诸如内容服务器104或搜索系统150等内容平台可允许用户通过提供此类用户信息向内容平台注册。在另一示例中,内容平台能够使用cookie来识别客户端设备,能够存储关于用户在线活动和/或用户特性的信息。历史上,第三方cookie被用于向数字组件分发系统110提供用户特征,而不管用户正在访问哪个域。然而,为了保护用户隐私,这些和其他识别用户特性的方法越来越不流行。例如,浏览器已被重新设计以主动阻止第三方cookie的使用,从而防止数字组件分发系统110访问用户特性,除非用户正在访问与数字组件分发系统110在同一域中的资源。
36.为了保护用户隐私,同时仍然能够确定用户的某些特性,能够基于用户在单个浏览会话期间访问的数字内容将用户分配到用户组。例如,当用户访问特定网站并与网站上呈现的特定项目交互或将项目添加到虚拟购物车时,能够将该用户分配给访问相同网站或上下文相似或对相同项目感兴趣的其他网站的用户组。为了说明,如果客户端设备106的用户搜索鞋并访问不同鞋制造商的多个网页,则能够将该用户分配给用户组“鞋”,该用户组能够包括访问过与鞋相关的网站的所有用户的标识符。因此,用户组能够在总体上表示用户的兴趣,而不识别单个用户,也不允许识别任何单个用户。例如,用户组能够由用于组中的每个用户的用户组标识符来识别。例如,如果用户向在线零售商的购物车添加鞋,则能够将该用户添加到具有特定标识符的鞋用户组,该标识符用于组中的每个用户。当鞋用户组中任何用户的设备提交内容请求时,能够提交相同的特定标识符,以便该组中的每个用户提交相同的特定标识符。
37.在一些实现中,能够例如通过基于浏览器的应用,而不是通过数字组件提供商或内容平台或另一方,在用户的客户端设备106处维护用户的组成员。用户组能够由相应的用户组标识符指定。用户组的用户组标识符能够是组的描述(例如园艺组)或表示组的代码(例如,非描述性的字母数字序列)。
38.在一些实现中,将用户分配到用户组是临时分配,因为用户的组成员能够根据用
户的浏览活动而改变。例如,当用户启动web浏览会话并访问特定网站并与网站上呈现的特定项目交互或将项目添加到虚拟购物车时,能够将用户分配给访问过相同网站或上下文相似或对相同项目感兴趣的其他网站的用户组。然而,如果用户访问另一网站并与另一网站上呈现的另一类型的项目交互,则该用户被分配到访问过其他网站或上下文相似或对另一项目感兴趣的其他网站的另一用户组。例如,如果用户通过搜索鞋和访问不同鞋制造商的多个网页来启动浏览会话,则能够将用户分配到用户组“鞋”,其中包括访问过与鞋相关网站的所有用户。假设有100个用户以前访问过与鞋相关的网站。当用户被分配到用户组“鞋”时,用户组中包括的用户总数增加到101。然而,如果用户搜索酒店并访问不同酒店或旅行社的多个网页,则用户能够从先前分配的用户组“鞋”中删除,并重新分配到不同的用户组“酒店”或“旅行”。在这种情况下,用户组“鞋”中的用户数量减少回100,因为没有从特定用户组添加或删除其他用户。
39.由于用户组分配的临时性,用户组有时被称为临时用户组,而对应的用户组标识符被称为临时组标识符。
40.在一些实现中,能够有一个或多个上下文相似但在一个或多个特性上不同的用户组。例如,基于相应浏览活动的两个用户能够分别被分配用户组“旅行-位置1”和“旅行-位置2”,其中两个用户组在上下文上相似,这表明两个用户可能都有旅行的意图,但目的地不同。
41.在一些实现中,用户组的数量和类型由系统(或管理员)管理和/或控制。例如,系统可以实现算法和/或机器学习方法以监督用户组的管理。通常,由于参与活动浏览器会话的用户流量随时间而变化,并且由于每个单独的用户负责其各自的浏览活动,因此用户组的数量和每个用户组中的用户数量随时间而变化。该方法的应用方式能够为每个用户组内的个人的隐私或不可识别性提供可证明的保证。
42.在用户特性不可用的情况下,例如因为第三方cookie被阻止,数字组件分发系统110能够包括用户评估装置170,其基于可用信息预测能够使用第三方cookie聚合的信息,诸如用户特性。在一些实现中,用户评估装置170实现一个或多个机器学习模型,基于包括在组件请求112中的信息(例如,组标识符)预测一个或多个用户特性。
43.例如,如果客户端设备106的用户使用基于浏览器的应用107加载包括一个或多个数字组件时隙的网站,则基于浏览器的应用107能够为一个或多个数字组件时隙中的每一个生成并发送组件请求112。组件请求112包括与包括客户端设备106的标识符的用户组相对应的用户组标识符、诸如指示组件请求112从中提交的状态或区域的地理信息的其他信息(也称为附加信息)或提供数字组件112将在其中显示的环境的上下文的其他信息(例如,组件请求的一天中的时间、组件请求的一周中的一天、将在其中显示数字组件的客户端设备106的类型,诸如移动设备或平板设备)。这些信息中的一些是从客户端设备106的设置中获得的,诸如包括在组件请求112中的语言设置、时区设置、客户端mac地址等。其他信息能够从包括在组件请求112中的其他信息(例如ip地址)导出,其能够用于推断客户端设备106的地理区域。
44.在一些实现中,组件请求112还能够包括关于用户和/或用户的分配组内的类似用户的浏览活动的信息(也称为活动特征)。例如,由用户使用客户端设备106访问的url的列表或由用户在特定浏览会话中最频繁访问的url的列表的子集。
45.数字组件分发系统110在接收到组件请求112之后,提供包括在组件请求112中的信息作为对机器学习模型的输入。机器学习模型在处理输入之后,生成包括未包括在组件请求112中的一个或多个用户特性的预测的输出。这些一个或多个用户特性以及包括在组件请求112中的其他信息可用于从数字组件服务器108获取数字组件。参考图2进一步说明生成用户特性的预测输出。
46.图2是在用户评估装置170内实现的示例机器学习模型的框图。通常,机器学习模型能够是被认为适合于具体实现的任何技术,诸如包括多个可训练参数的人工神经网络(ann)、支持向量机(svm)、随机森林(rf)等。在训练过程中,根据损失函数生成的误差,在迭代训练数据集的多个样本(称为优化的过程)的同时调整多个训练参数。损失函数将机器学习模型的预测值与训练集中样本的真实值进行比较,以生成预测误差的度量。
47.在一些实现中,用户评估装置170能够实现多个机器学习模型(例如,第一模型250和第二模型260),使得第一模型250预测用户特性(例如,用户人口统计特征、用户兴趣或一些其他特性),第二模型260通过处理与用户组相关的信息来提供用于输入到第一模型250的数据表示。
48.第一模型250可以包括多个子机器学习模型(也称为“子模型”),使得每个子模型预测特定的用户特性(例如,用户人口统计特征、用户兴趣或一些其他特性)。例如,第一模型250包括三个子模型:(i)特性1模型220,(ii)特性2模型230和(iii)特性3模型240。这些子模型中的每一个子模型都预测用户具有不同特征(例如,人口统计特征或用户兴趣)的可能性。其他实现可以包括更多或更少的单个子模型,以预测系统(或管理员)定义的用户特性数量。实际上,用户评估装置170的子模型和第二模型260聚合诸如用户组id 202、附加特征204、活动特征206和组特征210的输入数据以形成用户特性。
49.机器学习模型能够接受包括在组件请求112中的信息作为输入。如上所述,组件请求112能够包括与包括客户端设备106的用户组相对应的用户组标识符,以及从该组标识符导出的各种信号,诸如组内用户的平均特性或聚合行为统计和/或其他信息(也被称为附加特征),诸如指示组件请求112从其提交的州或地区的地理信息,或者提供数字组件112将在其中显示的环境的上下文的其他信息(例如,组件请求的一天中的某个时间、组件请求的一周中的某一天、将显示数字组件的客户端设备106的类型,诸如移动设备或平板设备)。例如,输入205包括组件请求112中包括的信息,即用户组标识符(user group id)202和附加特征204的集合。
50.在一些实现中,在用户评估装置170内实现的机器学习模型(和/或子模型)能够接受与用户当前在线活动相关的活动特征206。活动特征206能够包括用户在当前会话中先前访问的网站的列表、与先前访问的网站中呈现的数字组件的先前交互。例如,链接到客户端设备106的用户访问的网站的url的列表。取决于特定实现,活动特征206的集合能够由内容提供商(或数字组件提供商)维护或者能够由客户端设备106通过在组件请求112内包括活动特征206的集合来提供。
51.在一些实现中,活动特征206可以包括基于用户访问的网站的特征。在一个场景中,能够将网站单独划分为基于网站内容的类别。例如,每个网站能够划分为诸如“体育”、“新闻”、“电子商务”等的类别。在这种实现中,链接到url列表中的url的网站类别能够作为输入提供给机器学习模型(或子模型)。在另一场景中,能够基于网站的内容为网站分配一
个或多个标签。例如,能够使用主题建模技术分析网站的内容,并相应地添加标签。在这种实现中,能够将与链接到url列表中的url的网站相关联的标签作为输入提供给机器学习模型(或子模型)。在另一场景中,能够基于一个或多个属性(例如,与每个网站相关联的标签、主题、关键字)将网站聚类在一起,使得每个网站都有表示属于一个或多个集群的强度的相关权重。这些权重能够作为输入提供给机器学习模型(或子模型)。
52.在用户评估装置170内实现的机器学习模型(或子模型)能够接受与客户端设备106的用户是其成员的用户组相关的特征。用户评估装置170使用组特征210的集合作为输入。在一些实现中,组特征210能够由内容提供商(或数字组件提供商)维护。例如,数字组件提供商和/或服务器108能够基于所有用户组中的所有活跃用户和所有组中的用户的先前预测,定期维护和更新所有用户组的多个特征(也称为参数)。组特征210的集合能够包括诸如组中的用户数量、用户组中的用户人口统计的聚合、用户组的用户特性的平均预测、用户组的用户经常访问的网站(或url)的列表,用户组的用户访问的数字内容的相似性(例如,用户访问的网站的web内容的相似性)等。
53.取决于特定实现,机器学习模型(和/或子模型)能够使用一个或多个输入特征来生成包括用户特征预测的输出。例如,特征1模型220可以预测客户端设备106的用户的预测特征1 272(例如,预测的性别)作为输出。类似地,特征2模型230可以是处理输入205和210并生成客户端设备106的用户的预测特征2 274(例如,预测年龄范围)作为输出的回归模型。以相同的方式,特征模型3 240生成用户的预测特征3作为输出。
54.这些预测的用户特征以及输入特征205和210用于选择由数字组件提供商和/或服务器108提供的数字组件。然而,由用户评估装置170实现一个或多个机器学习模型(例如,第一模型250和第二模型260)和子模型(例如,特征1模型220、特征2模型230和特征3模型240)预测用户特性需要训练机器学习模型。
55.取决于机器学习模型(或每个子模型)的架构,基于每个模型的单个学习目标,训练过程可能不同,或者基于整体学习目标,训练过程可能相同。例如,在这个特定示例中,第二模型260的学习目标是处理组特征210的集合,并生成嵌入由组特征210的集合提供的信息的中间表示作为输出。类似地,在第一模型250内实现的子模型220、230和240中的每一个子模型的学习目标是处理第二模型260的输出以及用户组id 202、附加特征204和活动特征206,以生成分别包括预测用户特性272、274和276的输出。取决于具体实现,机器学习模型的训练过程能够是有监督、无监督或半监督的,还可以包括调整与模型相关的多个超参数(处理称为超参数调整)。
56.通常,训练机器学习模型需要包括多个训练样本的训练数据集。用于执行分类的机器学习模型的训练数据集包括从真实世界获取的特征和正确标注(ground truth)的标签。有许多技术能够获取用于训练数据集的真实世界数据。例如,能够使用用户调查或从自愿提供与其在线浏览相关的信息的用户处收集数据。在另一示例中,诸如内容服务器104或搜索系统150的内容平台可允许用户通过提供用户信息向内容平台注册。在另一示例中,例如,内容平台能够使用cookie识别客户端设备,能够存储有关用户在线活动和/或用户特性的信息。
57.在一些实现中,与用户相关的训练数据集的每个样本包括匿名用户标识符(不允许识别用户的标识符,例如,训练数据集样本的索引)、匿名用户与之关联的用户组标识符
(用户组id)202,来自附加特征204的集合的特征子集、活动特征206的集合、组特征210的集合以及匿名用户的一个或多个已知用户特性(正确标注的标签)。在一些实现中,训练数据集的每个示例还可以包括匿名用户访问的一个或多个url。
58.组特征210的集合可以包括一个或多个聚合用户组人口统计特征,其共同表征特定组中的用户。聚合用户组人口统计特征通常提供用户组中所有用户的集体信息,并且不允许识别用户组中的特定用户,从而维护用户隐私。这样的聚合用户组人口统计特征的示例包括用户组中的用户总数、用户组中用户的性别比例、组成员最常访问的web内容(诸如url或域)、与组成员最常访问的页面内容相关联的功能以及从组成员的行为或真实/推断特性的聚合中得到的其他信号。如上所述,在训练过程期间,关于用户组中用户的此类信息(例如,性别)在训练数据集中可用(例如,通过cookie)。然而,当系统在线时,此类信息不可用。在此类场景中,将从训练数据集中观察到此类聚合用户组人口统计特征,并将其作为机器学习模型的输入。例如,假设训练数据集中反映的特定用户组中用户的男女比率为2/3。系统假设保持该比率,并在预测用户特性并为用户选择数字组件的同时,使用与组特征210的集合中的特征之一相同的男性与女性比率。
59.在一些实现中,组特征210的集合可以包括一个或多个上下文预测的聚合。上下文预测的聚合是基于用户访问的数字内容的特定用户组中的用户的先验真实或预测的用户特征的聚合结果。例如,假设对于在来自同一用户组的相同或不同用户的过去n个类似组件请求的每一个,在用户评估装置170内实现的机器学习模型生成用户特性作为预测。在此类场景中,系统可以将所有n个预测用户特性的集合包括为组特征210的集合中的特征。
60.在一些实现中,组特征210的集合可以包括由同一用户组的用户访问的url的列表。例如,这样的列表可以包括最频繁访问的url或由用户组的用户访问的url的完整列表。在一些实现中,组特征的集合可以包括用户组用户访问的web内容的相似性的度量。在这种实现中,能够分析数字内容(网站内容)以计算网站内容之间的语义相似性。例如,假设特定用户组的用户经常访问25个网站。能够实现潜在dirichlet分布(lda)模型来捕获25个网站内容之间的主题分布。通常,lda模型生成每个网站内容的矢量表示,可用于计算网站的相似性(例如,余弦相似性)。计算此类相似性的其他方法可以包括jaccard相似性、潜在语义分析(lsa)、非负矩阵分解和不同的嵌入技术的技术。这些特征可以基于可直接观察的用户行为特性,也可以来自其他机器学习模型的输出,例如,提供同一用户组的用户访问的多个url的表示的模型。这些表示的示例可以包括url、url包或url的一种热编码的嵌入。
61.取决于评估装置170的架构,在接收到对数字组件的组件请求112之后,机器学习模型(例如,第二模型260)可以分析由用户组的其他用户和属于同一用户组的客户端设备106的用户访问的数字内容,以计算所访问的数字内容之间的语义相似性。在这种实现中,这种相似性检查的输出能够是向在评估装置170内实现的其他模型提供特定信息的分数、可能性或数据表示。
62.一旦机器学习模型(或子模型)被训练,数字组件分发系统110能够基于由用户评估装置170(或在用户评估装置170内实现的机器学习模型)预测的一个或多个用户特性来选择数字组件。例如,假设属于子组“鞋”的男性用户通过客户端设备106提供搜索查询“拖鞋”,以获得搜索结果页面和/或指定搜索结果的数据和/或与搜索查询相关的文本、声音或其他视觉内容。假设搜索结果页面包括由除了生成并提供搜索结果的实体之外的实体提供
的数字组件的时隙。在客户端设备106上执行的基于浏览器的应用107生成对数字组件时隙的组件请求112。数字组件分发系统110在接收到组件请求112之后,将包括在组件请求112中的信息作为输入提供给由用户评估装置170实现的机器学习模型。机器学习模型生成一个或多个用户特性的预测作为输出。例如,子机器学习模型220基于所学习的参数正确地预测客户端设备106的用户为男性。因此,数字组件提供器110能够选择与指定分发给男性的拖鞋相关的数字组件。在选择之后,所选择的数字组件被发送到客户端设备106,用于与搜索结果页面中的搜索结果一起呈现。
63.图3是使用机器学习模型分发数字组件的示例过程300的流程图。下面描述由图1和图2中描述和描绘的系统组件执行的过程300的操作。下面描述过程300的操作仅用于说明。过程300的操作能够由任何适当的设备或系统(例如,任何适当的数据处理设备)执行。过程300的操作也能够作为存储在非暂时性计算机可读介质上的指令来实现。指令的执行使得一个或多个数据处理设备执行过程300的操作。
64.向客户端设备分配临时组标识符,该临时组标识符从多个不同组中标识特定组(310)。在一些实现中,如参考图1所述,能够基于用户在单个浏览会话期间访问的数字内容将用户分配到用户组。例如,当用户访问特定网站并与网站上呈现的特定项目交互或将项目添加到虚拟购物车时,用户能够被分配到访问过相同网站或上下文相似或对相同项目感兴趣的其他网站的用户组。例如,如果客户端设备106的用户搜索鞋并访问不同鞋制造商的多个网页,则能够将用户分配到用户组“鞋”,其中能够包括访问过与鞋相关的网站的所有用户的标识符。因此,用户组能够在不识别单个用户且不使任何单个用户能够被识别的情况下总体上代表用户的兴趣。例如,用户组能够通过用于组中每个用户的用户组标识符被标识。例如,如果用户将鞋添加到在线零售商的购物车中,则该用户能够被添加到具有特定标识符的鞋用户组中,该标识符用于该组中的每个用户。
65.生成包括临时组标识符、组特征的集合和活动特征的集合的训练集(320)。在一些实现中,与用户相关的训练数据集的每个样本包括匿名用户标识符(不允许识别用户的标识符,例如,训练数据集样本的索引)、与匿名用户相关联的用户组标识符(user group id)202、来自附加特征204的集合的特征的子集、活动特征206的集合、组特征210的集合和匿名用户的一个或多个真实用户特征(正确标注的标签)。在一些实现中,训练数据集的每个示例还可以包括匿名用户访问的一个或多个url。
66.附加特征的集合通常包括在组件请求112内。附加特征的集合包括诸如指示组件请求112从其提交的州或地区的地理信息的信息,或提供数字组件112将在其中显示的环境的上下文的其他信息(例如,组件请求的一天中的某个时间、组件请求的一周中的某一天、将显示数字组件的客户端设备106的类型,诸如移动设备或平板设备)。
67.活动特征206的集合能够包括用户在当前会话中先前访问的网站的列表、与先前访问的网站中呈现的数字组件的先前交互。例如,链接到客户端设备106的用户访问的网站的url的列表。取决于特定实现,活动特征206的集合能够由内容提供商(或数字组件提供商)维护,或者能够通过将活动特征206的集合包括在组件请求112内而由客户端设备106提供。
68.组特征210的集合能够由内容提供商(或数字组件提供商)维护。例如,数字组件提供商和/或服务器108能够基于所有用户组中的所有活跃用户和所有组中用户的先前预测,
定期维护和更新所有用户组的多个特征(也称为参数)。组特征210的集合可以包括诸如组中的用户数量、用户组中的用户人口统计的聚合、用户组的用户特性的平均预测、用户组的用户经常访问的网站(或url)的列表或者用户组的用户访问的数字内容的相似性(例如,用户访问的网站的网页内容的相似性)等的信息。
69.使用训练集(330)训练模型。例如,在用户评估装置170内实现的机器学习模型在训练数据集上训练。取决于具体实现,子机器学习模型的训练过程能够是有监督的、无监督的或半监督的,并且还可以包括调整与模型相关联的多个超参数(过程称为超参数调整)。在训练过程期间,在迭代训练数据集的多个样本(过程称为优化)时,基于损失函数生成的误差调整多个训练参数,该损失函数将机器学习模型的预测值与训练集中样本的真实值进行比较。
70.训练过程取决于机器学习模型(或每个子模型)的架构。例如,基于每个模型的个人学习目标,训练过程可能不同,或者基于总体学习目标,训练过程可能相同。例如,参考图2,第二模型260的学习目标是处理组特征210的集合并生成嵌入由组特征210的集合提供的信息的中间表示作为输出。类似地,在第一模型250内实现的子模型220、230和240中的每一个的学习目标是处理第二模型260的输出以及用户组id 202、附加特征204和活动特征206,以生成分别包括预测用户特性272、274和276的输出。
71.接收对数字组件的请求(340)。例如,如果客户端设备106的用户使用基于浏览器的应用107加载包括一个或多个数字组件时隙的网站,则基于浏览器的应用107能够为一个或多个数字组件时隙中的每一个生成并发送组件请求112。在一些实现中,组件请求112包括对应于包括用于客户端设备106的标识符的用户组的用户组标识符(user group id)202,其他信息(也称为附加特征204),诸如指示组件请求112从其提交的州或区域的地理信息,或提供数字组件112将在其中显示的环境的上下文的其他信息(例如,组件请求的一天中的某个时间、组件请求的一周中的某一天、将显示数字组件的客户端设备106的类型,诸如移动设备或平板设备)。在一些实现中,组件请求112还可以包括关于用户的浏览活动的信息(也称为活动特征206)。例如,用户使用客户端设备106访问的url列表或用户在特定浏览会话中最频繁访问的url列表的子集。
72.经训练的模型被应用于请求中包括的信息,以生成请求中未包括的一个或多个用户特性(350)。在一些实现中,在用户评估装置170内实现的机器学习模型(和/或子模型)能够使用一个或多个输入特征来生成包括用户特性预测的输出。例如,特征1模型220可以预测客户端设备106的用户的预测特征1 272(例如,预测的性别)作为输出。类似地,特征2模型230可以是处理输入205和210并生成客户端设备106的用户的预测特征2 274(例如,预测年龄范围)作为输出的回归模型。以相同的方式,特征模型3 240生成用户的预测特征3作为输出。
73.在一些实现中,输入特征可以包括用户组标识符(user group id)202、来自附加特征204的集合的特征的子集、活动特征206的集合和组特征210的集合。
74.基于由经训练的模型生成的一个或多个用户特性选择一个或多个数字组件。(360)。例如,假设属于子组“鞋”的男性用户通过客户端设备106提供搜索查询“拖鞋”获得搜索结果页面和/或指定搜索结果的数据和/或与搜索查询相关的文本、声音或其他视觉内容。假设搜索结果页面包括用于数字组件的时隙。在客户端设备106上执行的基于浏览器的
应用107生成对数字组件时隙的组件请求112。数字组件分发系统110在接收到组件请求112之后,提供包括在组件请求112中的信息,作为对由用户评估装置170实现的机器学习模型的输入。机器学习模型在处理输入之后生成一个或多个用户特性的预测作为输出。例如,子机器学习模型220基于所学习的参数正确地预测客户端设备106的用户为男性。因此,数字组件提供商110能够选择与具有指示数字组件应该分发给男性的分发标准的拖鞋相关的数字组件。
75.选定的一个或多个数字组件被发送到客户端设备(370)。例如,在数字组件分发系统110基于预测的用户特性选择数字组件之后,选定的数字组件被发送到客户端设备106用于呈现。
76.图4是可用于执行上述操作的示例计算机系统400的框图。系统400包括处理器410、存储器420、存储设备430和输入/输出设备440。组件410、420、430和440中的每一个能够例如使用系统总线450互连。处理器410能够处理用于在系统400内执行的指令。在一个实现中,处理器410是单线程处理器。在另一实现中,处理器410是多线程处理器。处理器410能够处理存储在存储器420或存储设备430中的指令。
77.存储器420在系统400内存储信息。在一个实现中,存储器420是计算机可读介质。在一个实现中,存储器420是易失性存储器单元。在另一实现中,存储器420是非易失性存储器单元。
78.存储设备430能够为系统400提供大容量存储。在一个实现中,存储设备430是计算机可读介质。在各种不同的实现中,存储设备430能够包括例如硬盘设备、光盘设备、通过网络由多个计算设备(例如,云存储设备)共享的存储设备或其他一些大容量存储设备。
79.输入/输出设备440为系统400提供输入/输出操作。在一个实现中,输入/输出设备440能够包括一个或多个网络接口设备,例如以太网卡、串行通信设备,例如rs-232端口,和/或无线接口设备,例如802.11卡。在另一实现中,输入/输出设备能够包括被配置为接收输入数据并将输出数据发送到其他输入/输出设备的驱动设备,例如键盘、打印机和显示设备370。然而,也能够使用其他实现,诸如移动计算设备、移动通信设备、机顶盒电视客户端设备等。
80.尽管在图4中描述了示例处理系统,但是本说明书中描述的主题和功能操作的实现能够在其他类型的数字电子电路中实现,或者在计算机软件、固件或硬件中实现,包括本说明书中公开的结构及其特性结构等同物,或它们中的一种或多种的组合。
81.电子文档(为简洁起见,仅称为文档)不一定与文件相对应。文档可以存储在包含其他文档的文件的一部分、专用于相关文档的单个文件或多个协调文件中。
82.本说明书中描述的主题和操作的实施例能够在数字电子电路中或在计算机软件、固件或硬件中实现,包括本说明书中公开的结构及其等同结构,或以它们中的一种或多种的组合来实现。本说明书中描述的主题的实施例能够被实现为一种或多种计算机程序,即,计算机程序指令的一个或多个模块,其被编码在计算机存储介质上以由数据处理装置执行或控制数据处理装置的操作。可选地,或另外,程序指令能够在人工生成的传播信号(例如,机器生成的电、光或电磁信号)上编码,该信号被生成用于编码信息以传输至适当的接收器由数据处理设备执行的设备。计算机存储介质能够是或被包括在计算机可读存储设备、计算机可读存储基板、随机或串行访问存储器阵列或设备或它们中的一个或多个的组合中。
此外,虽然计算机存储介质不是传播信号,但是计算机存储介质能够是以人工生成的传播信号编码的计算机程序指令的源或目的地。计算机存储介质还能够是或被包括在一个或多个单独的物理组件或介质(例如,多个cd、磁盘或其他存储设备)中。
83.本说明书中描述的操作能够实现为数据处理装置对存储在一个或多个计算机可读存储设备上或从其他源接收的数据执行的操作。
84.术语“数据处理装置”涵盖用于处理数据的所有种类的装置、设备和机器,例如包括可编程处理器、计算机、片上系统或前述的多个或组合。装置能够包括专用逻辑电路,例如fpga(现场可编程门阵列)或asic(特殊应用集成电路)。除了硬件之外,装置还能够包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或其中的一个或多个的组合的代码。装置和执行环境能够实现各种不同的计算模型基础结构,诸如网络服务、分布式计算和网格计算架构。
85.计算机程序(也称为程序、软件、软件应用、脚本或代码)能够用任何形式的编程语言编写,包括编译语言或解释语言、声明语言或过程语言,也能够以任何形式部署,包括作为独立程序或模块、组件、子程序、对象或适合在计算环境中使用的其他单元。计算机程序可以,但不需要,对应于文件系统中的一个文件。一个程序能够被存储在文件中包含其他程序或数据的部分(例如,标记语言文档中存储的一个或多个脚本)、专用于该程序的单个文件或多个协调文件中(例如,存储一个或多个模块、子程序或部分代码的文件)。计算机程序能够部署在一个计算机上或位于一个站点或分布在多个站点并通过通信网络互连的多个计算机上执行。
86.本说明书中描述的过程和逻辑流程能够由执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行动作的一个或多个可编程处理器来执行。过程和逻辑流程还能够由专用逻辑电路执行,并且装置也能够实现为专用逻辑电路,例如,fpga(现场可编程门阵列)或asic(特殊应用集成电路)。
87.例如,适用于执行计算机程序的处理器包括通用和专用微处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器以及用于存储指令和数据的一个或多个存储设备。通常,计算机还将包括或可操作地耦合以从一个或多个用于存储数据的大容量存储设备——例如,磁、磁光盘或光盘——接收数据或将数据传输到一个或多个大容量存储设备或两者。然而,计算机不需要有这样的设备。此外,计算机能够被嵌入到另一设备中,例如,移动电话、个人数字助理(pda)、移动音频或视频播放器、游戏机、全球定位系统(gps)接收器或便携式存储设备(例如,通用串行总线(usb)闪存驱动器),仅举几例。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,包括例如半导体存储设备,例如,eprom、eeprom和闪存设备;磁盘,例如,内部硬盘或可移动磁盘;磁光盘;以及cd-rom和dvd-rom磁盘。处理器和存储器能够由专用逻辑电路补充或合并到专用逻辑电路中。
88.为了提供与用户的交互,能够在具有用于向用户显示信息的显示设备——例如,crt(阴极射线管)或lcd(液晶显示器)监视器——以及键盘和指示设备——例如,鼠标或轨迹球,用户可通过其向计算机提供输入——的计算机上实现本说明书中描述的主题的实施
例。其他种类的设备也能够用于提供与用户的交互,例如,提供给用户的反馈能够是任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且能够以任何形式接收来自用户的输入,包括声音、语音或触觉输入。另外,计算机能够通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户进行交互,例如,通过响应于从网络浏览器收的请求,将网页发送到用户设备上的网络浏览器。
89.本说明书中描述的主题的实施例能够实现在包括后端组件,例如作为数据服务器,或包括中间件组件,例如应用服务器,或包括前端组件,例如具有图形用户界面或web浏览器的客户端计算机,用户能够通过图形用户界面或web浏览器与本说明书中描述的主题的实现进行交互,或者包括一个或多个这种后端组件,中间件组件或前端组件的任意组合的计算系统中。系统的组件能够通过数字数据通信的任何形式或介质互连,例如通信网络,。通信网络的示例包括局域网(“lan”)和广域网(“wan”)、内部网络(例如,互联网),以及对等网络(例如,ad hoc对等网络)。
90.计算系统能够包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器之间的关系通过在各自计算机上运行并彼此具有客户端-服务器关系的计算机程序产生。在一些实施例中,服务器将数据(例如,html页面)发送到客户端设备(例如,出于向与客户端设备交互的用户显示数据和接收来自与客户端设备交互的用户的用户输入的目的)。能够在服务器处从客户端设备接收在客户端设备处生成的数据(例如,用户交互的结果)。
91.尽管本说明书包含许多特定实现细节,但是这些细节不应被解释为对任何发明或可要求保护的范围的限制,而应解释为对特定发明的特定实施例而言特定的特征的描述。本说明书中在单独的实施例的上下文中描述的特定特征也能够在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也能够分别在多个实施例中或以任何合适的子组合来实现。此外,尽管上面可以将特征描述为以特定组合起作用并且甚至最初如此宣称,但是在某些情况下,可以从组合中删除所要求保护的组合中的一个或多个特征,并且可以将所要求保护的组合用于子组合或子组合的变型。
92.类似地,尽管在附图中以特定顺序描绘了操作,但是这不应理解为要求以所示的特定顺序或以连续的顺序执行这样的操作,或者执行所有示出的操作以实现期望的结果。在特定情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常能够一起集成在单个软件产品或打包成多个软件产品。
93.因此,已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。在某些情况下,权利要求中记载的动作能够以不同的顺序执行并且仍然实现期望的结果。此外,附图中描绘的处理不一定需要所示的特定顺序或连续顺序来实现期望的结果。在某些实现方式中,多任务和并行处理可能是有利的。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1