一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

贡献增量机器学习模型的制作方法

2021-12-15 00:00:00 来源:中国专利 TAG:


1.本说明书涉及数据处理和机器学习模型。


背景技术:

2.用户从事各种在线活动,并且这些活动中的每一个导致用户被暴露于不同的信息。用户的后续在线活动可能会受到其先前活动以及暴露给他们的信息的影响。但是,很难评估每个先前活动对后续活动的影响量。


技术实现要素:

3.总体上,本说明书中描述的主题的一个创新方面可以体现在方法中,这些方法包括以下操作:创建模型,该模型表示用户属性、内容暴露和指定目标动作的执行水平之间的关系;获得有机暴露数据,该有机暴露数据指定在指定时间内在特定用户执行指定目标动作之前特定用户经历的一个或多个有机暴露,其中,有机暴露既不是对指定类型的数字分量的暴露,也不是指定目标动作的执行;获得第三方暴露数据,该第三方暴露数据指定在指定时间段内指定类型的数字分量对特定用户的第三方暴露,其中,对于每个第三方暴露,第三方暴露数据包括指定何时发生第三方暴露的暴露时间;使用模型确定在特定用户执行了指定目标动作时的动作时间可归因于每个第三方暴露的增量执行水平;以及基于归因于特定用户被暴露的至少一些数字分量的第三方暴露的增量执行水平,修改至少一些数字分量的传输标准。该方面的其他实施例包括对应的方法、装置和编码在计算机存储设备上被配置为执行方法的动作的计算机程序。这些和其他实施例可各自可选地包括一个或多个以下特征。
4.方法可以包括执行消融实验以获得未暴露于一组特定的数字分量的一组对照用户的一组对照结果,该对照结果针对该组对照用户中的每个特定对照用户指定该特定对照用户是否执行了指定动作;和收集未包括在该组对照用户中的一组暴露用户的暴露结果,该暴露结果针对该组暴露用户中的每个暴露用户指定暴露用户是否执行了指定动作。
5.方法可以包括通过利用机器学习框架,使用用户属性、每个特定对照用户的对照结果以及每个暴露用户的暴露结果来创建模型,从而创建该模型。
6.该方法可以进一步包括确定可归因于每个第三方暴露的增量执行水平,包括:对于每个第三方暴露:确定第三方暴露的暴露时间与发生指定目标动作时的动作时间之间的差;基于第三方暴露的暴露时间与发生指定目标动作时的动作时间之间的差,确定在动作时间剩余的来自第三方暴露的执行水平贡献的残余量;和将执行水平的该残余量归因于第三方暴露。
7.方法可以包括对于每个不同类型的第三方暴露,确定衰减函数,该衰减函数指定随时间变化而剩余的执行水平贡献的衰减率;和对于每个第三方暴露,基于该衰减函数以及第三方暴露的暴露时间与动作时间之间的差,确定在动作时间剩余的来自第三方暴露的执行水平贡献的残余量。
8.方法可以包括修改至少一些数字分量的传输标准,包括与归因于特定数字分量的第三方暴露的增量执行水平的大小成比例地调整特定数字分量的传输标准。
9.方法可以包括调整传输标准,包括禁用具有小于归因于特定传输标准的第三方暴露的增量执行水平的指定大小的所述特定传输标准。
10.可以实施本说明书中描述的主题的特定实施例,以实现以下优点中的一个或多个。可以训练机器学习模型以在发生各种事件之后的任何时间点各种事件对结果的剩余影响之间进行详述(delineate)。对每个先前事件在结果发生时的剩余影响的量化可以表示可归因于每个先前事件的结果的一部分。即使事件可能在不同的时间发生,对剩余影响的这种量化也能够直接比较每个事件对最终结果的影响。本文讨论的模型可以量化相对于用户达到目标结果的基线趋势的每个事件(例如,内容暴露)的增量影响。本文所述的数据收集以这样的方式执行——其使得可以训练机器学习模型以表征用户将达到目标结果的固有可能性,并且还可以训练机器学习模型以量化事件对用户的固有可能性的初始影响,以及在事件之后该初始影响随时间的推移的变化。可以基于机器学习模型的输出来修改数字分量的传输标准,以便修改何时或如何通过网络传输数字分量。
11.本说明书中描述的主题的一个或多个实施例的细节在附图和以下描述中阐述。根据说明书、附图和权利要求书,本主题的其他特征、方面和优点将变得显而易见。
附图说明
12.图1是在其中分发在线内容的示例环境的框图。
13.图2是示出随时间的推移内容暴露对目标动作的执行的示例影响的曲线图。
14.图3是随时间的推移内容暴露的影响的示例衰减的曲线图。
15.图4是实现基线模型的示例模型装置的框图。
16.图5是示出消融实验的框图。
17.图6a是示出暴露于单个数字分量的增量影响的曲线图。
18.图6b是示出暴露于多个数字分量的增量影响的曲线图。
19.图7是基于数字分量的增量影响来修改数字分量的传输标准的示例过程的流程图。
20.图8是可用于执行本文描述的操作的示例计算机系统的框图。
具体实施方式
21.连接到互联网的用户被暴露于各种数字内容(例如,搜索结果、网页、数字分量、新闻文章、社交媒体帖子、数字助理设备输出的音频信息)。对内容的这些暴露中的某些可能会对用户执行指定的目标动作有贡献。例如,被暴露于关于濒危物种的网页的用户可能订阅(sign up)涉及帮助拯救该濒危物种的新闻通讯,其中,订阅该新闻通讯可以被视为指定的目标动作。类似地,被暴露于关于特定类型的移动设备的信息的用户可能最终获取该特定类型的移动设备,其中,可以将获取移动设备视为目标动作。目标动作的示例还可以包括在网站中注册/注册服务、向在线购物车添加商品、下载白皮书或获取产品。
22.可能难以确定内容对用户的每个暴露对用户执行后续目标动作有多大贡献。例如,假设用户搜索“跑车”,查看响应于搜索查询“跑车”的提交而返回的搜索结果,被暴露于
描绘特定品牌跑车的数字分量,并访问提供关于跑车的信息的各种网站。进一步假设该示例中的用户随后提交在线请求,以获得关于获取该特定品牌跑车的信息。在此示例中,这些在线活动中的每一个对用户随后提交获得关于获取该特定品牌跑车的信息的请求的贡献量是不能直接观察到的内容,并且从第三方(即,除了用户之外的某个人)的视角来看,随着在线活动和后续用户动作之间的时间增加,该贡献量难以具体确定。但是,在线内容分发系统可以使用关于可以得出的每个在线活动和内容暴露的相对贡献的任何信息来更高效且有效地向用户呈现与用户相关的信息,并且还允许第三方理解它们产生和分发的内容如何影响随后的用户动作。
23.本文讨论了用于确定不同内容暴露对用户执行指定目标动作的相对贡献的技术。例如,本文中讨论的技术创建模型,该模型能够确定对在线内容的每个暴露的影响,因为其与用户随后执行指定目标动作相关。此外,本文中讨论的技术使系统能够确定在执行指定目标动作时剩余的每个暴露的增量贡献。
24.更具体地,本文中描述的技术确定可归因于用户的有机在线活动的指定目标动作的基线执行水平,并且可以确定用户被暴露于由第三方注入到在线资源中的数字分量对用户执行目标动作的增量影响。
25.当在本文全文中使用时,短语“数字分量(digital component)”是指数字内容或数字信息的离散单元(例如,视频剪辑、音频剪辑、多媒体剪辑、图像、文本或另一内容单元)。数字分量可以以电子方式作为单个文件或文件集合存储在物理存储器设备中,并且数字分量可以采用视频文件、音频文件、多媒体文件、图像文件或文本文件的形式,并且包括广告信息,使得广告就是一种类型的数字分量。当在本文中使用时,短语数字分量是指与有机内容暴露不同的内容的离散单元,有机内容暴露被称为有机事件,并且在下面详细讨论。
26.图1是在其中分发内容的示例环境100的框图。如下面更详细地描述的,用户在环境100中被暴露于各种在线内容,并且贯穿本文讨论的技术可以确定这些暴露中的每一个对用户执行指定目标动作的增量影响。
27.示例环境100包括网络102,诸如局域网(lan)、广域网(wan)、互联网或其组合。网络102连接内容服务器104、用户设备106、数字分量服务器108和数字分量分发系统110(也称为分量分发系统)。
28.电子文档是在客户端设备106处呈现一组内容的数据。电子文档的示例包括网页、文字处理文档、便携式文档格式(pdf)文档、图像、视频、搜索结果页面和馈送源。原生应用(例如,“app”),诸如安装在移动设备、平板设备或台式计算设备上的应用,也是电子文档的示例。内容服务器104可以将电子文档提供给用户设备106。例如,内容服务器104可以包括托管发布者网站的服务器。在该示例中,用户设备106可以发起对给定发布者网页的请求,并且托管给定发布者网页的内容服务器104可以通过发送发起给定网页在客户端设备106处的呈现的机器可执行指令来响应于该请求。
29.在另一示例中,内容服务器104可以包括app服务器,用户设备106可以从该app服务器下载app。在该示例中,用户设备106可以下载在用户设备106处安装app所需的文件,然后在本地执行下载的app。该app可以呈现有机内容,例如,由该app的开发者指定的内容,并且在某些情况下,还可以呈现当app在用户设备106处执行时从数字分量服务器108获得并插入app中的一个或多个数字分量(例如,由第三方创建/分发的内容)。
30.电子文档可以包括各种内容。例如,电子文档可以包括在电子文档自身内和/或不随时间的推移改变的静态内容(例如,文本或其他指定内容)。电子文档还可以包含动态内容,其可以随时间的推移或根据每个请求而改变。例如,给定电子文档的发布者可以维护用于填充电子文档的各个部分的数据源。在该示例中,给定电子文档可以包括标签或脚本,当给定电子文档被用户设备106处理(例如,渲染或执行)时,该标签或脚本使用户设备106从该数据源请求内容。用户设备106将从数据源获得的内容整合到给定电子文档中,以创建包括从数据源获得的内容的复合电子文档。
31.在某些情况下,给定电子文档可以包括引用数字分量分发系统110的数字分量标签或数字分量脚本。在这些情况下,当给定电子文档被用户设备106处理时,数字分量标签或数字分量脚本由客户端设备106执行。数字分量标签或数字分量脚本的执行将用户设备106配置为生成对数字分量112的请求(称为“分量请求”),该请求通过网络102被传输到数字分量分发系统110。例如,数字分量标签或数字分量脚本可以使用户设备106能够生成包括头部和有效载荷数据的分组数据请求。分量请求112可以包括事件数据,该事件数据指定诸如从其请求数字分量的服务器的名称(或网络位置)、请求设备(例如,用户设备106)的名称(或网络位置)和/或数字分量分发系统110可以用来选择响应于该请求而提供的一个或多个数字分量的信息的特征。分量请求112由用户设备106通过网络102(例如,电信网络)传输到数字分量分发系统110的服务器。
32.分量请求112可以包括指定其他事件特征的事件数据,诸如被请求的电子文档以及电子文档的可以在其处呈现数字分量的位置的特性。例如,可以向数字分量分发系统110提供指定对将在其中呈现数字分量的电子文档(例如,网页)的参考(例如,url)、可用于呈现数字分量的电子文档的可用位置、可用位置的大小和/或适格于在这些位置中呈现的媒体类型的事件数据。类似地,指定由电子文档引用的与电子文档关联的关键字(“文档关键字”)或实体(例如,人、地点或事物)的事件数据也可以被包括在分量请求112中(例如,作为有效载荷数据),并被提供给数字分量分发系统110,以促进对适格于与电子文档一起呈现的数字分量的识别。事件数据还可以包括从用户设备106提交以获得搜索结果页面的搜索查询,和/或指定搜索结果和/或搜索结果中包括的文本、可听或其他视觉内容的数据。
33.分量请求112还可以包括与其他信息相关的事件数据,该其他信息例如用户设备的用户已经提供的信息、指示提交分量请求的州或区域的地理信息或提供环境的在其中将显示数字分量的情境的其他信息(例如,分量请求的一天中的时间,分量请求的一周中的一天,将在其处显示数字分量的设备的类型,诸如移动设备或平板设备)。分量请求112可以例如通过分组网络传输,并且分量请求112本身可以被格式化为具有头部和有效载荷数据的分组数据。头部(header)可以指定分组的目的地,并且有效载荷数据可以包括以上讨论的任何信息。
34.包括一个或多个数字分量分发服务器的分量分发系统110响应于接收分量请求112和/或使用分量请求112中包括的信息,选择将与给定电子文档一起呈现的数字分量。在一些实施方式中,在不到一秒的时间内选择数字分量,以避免可能由于数字分量的延迟选择而引起的错误。例如,响应于分量请求112而提供数字分量的延迟可能导致用户设备106处的页面加载错误,或者导致电子文档的一些部分仍未被填充,甚至在电子文档的其他部分被呈现在客户端设备106之后也如此。另外,随着向客户端设备106提供数字分量的延迟
增加,当将数字分量传送到客户端设备106时,越有可能电子文档将不再被呈现在客户端设备106处,从而负面地影响用户对电子文档的体验。此外,例如,如果在提供数字分量时电子文档不再被呈现在客户端设备106处,则提供数字分量的延迟可能导致数字分量的传送失败。
35.为了促进对电子文档的搜索,环境100可以包括搜索系统150,该搜索系统150通过对电子文档进行爬取和索引(例如,基于爬取的电子文档的内容进行索引)来识别电子文档。可以基于与数据关联的电子文档来索引关于电子文档的数据。电子文档的索引副本以及可选的缓存副本被存储在搜索索引152(例如,(一个或多个)硬件存储器设备)中。与电子文档关联的数据是表示电子文档中包括的内容和/或电子文档的元数据的数据。
36.用户设备106可以通过网络102向搜索系统150提交搜索查询。作为响应,搜索系统150访问搜索索引152以识别与搜索查询相关的电子文档。搜索系统150以搜索结果的形式识别电子文档,并且在搜索结果页面中将搜索结果返回给用户设备106。搜索结果是由搜索系统150生成的数据,其识别响应于特定搜索查询(例如,与之相关)的电子文档,并且包括使客户端设备响应于与搜索结果的用户交互而从指定位置请求数据的活动链接(例如,超文本链接)。示例搜索结果可以包括网页标题、从网页提取的文本片段或图像的一部分以及网页的url。另一示例搜索结果可以包括可下载应用的标题、描述可下载应用的文本片段、描绘可下载应用的用户界面的图像和/或指向可从其将应用下载到用户设备106的位置的url。另一示例搜索结果可以包括流媒体的标题、描述流媒体的文本片段、描绘流媒体的内容的图像和/或指向可从其将流媒体下载到客户端设备106的位置的url。类似于其他电子文档,搜索结果页面可以包括一个或多个插槽,可以在其中呈现数字分量(例如,广告、视频剪辑、音频剪辑、图像或其他数字分量)。如上所述,当用户与可通过互联网获得的在线资源进行交互时,可以向用户呈现各种在线内容。该在线内容通常可以分类为有机内容(organic content)或数字分量。有机内容是由在其中呈现内容的在线资源的所有者或管理员指定和/或提供的内容。有机内容的示例包括搜索引擎提供的搜索结果以及发布者提供的网页中呈现的内容。在这些示例的每一个中,呈现的内容由提供在线资源的实体指定,因此被视为第一方内容。例如,搜索引擎识别与提交的搜索查询相关的在线资源,生成识别这些相关资源的搜索结果,并生成搜索结果页面(在搜索引擎的域中),该搜索结果页面包括由搜索引擎生成的搜索结果。因此,搜索结果由搜索引擎生成,并呈现在由搜索引擎生成的搜索结果页面中,从而使搜索结果成为第一方内容,并因此成为有机内容。类似地,当用户访问特定网页时,该网页将包括由该网页的发布者指定和/或生成的内容,该内容也被视为第一方内容,出于本讨论的目的,也使其成为有机内容。
37.出于讨论的目的,数字分量被视为第三方内容,因为数字分量是由与提供数字分量被呈现在其上的在线资源的实体不同的实体创建和/或提供的。在搜索结果页面的情境中,包括第三方内容的数字分量可以是在呈现在线资源时被选择用于包括在在线资源中的数字分量(例如,天气数据、股票数据或广告)。例如,在生成搜索结果页面时,第三方(例如,与搜索引擎域不同的域)可以选择数字分量(例如,呈现当前的天气状况、股票价格或广告),并且提供该数字分量以在搜索结果页面中呈现。如上所述,可以至少部分地基于用户提交的搜索查询,由提供搜索结果页面的实体以外的实体选择与搜索结果页面一起呈现的数字分量。在由发布者提供的网页(例如,博客、新闻网页、天气网页、股票信息网页)的情境
中,当客户端设备请求网页时,可以选择由与网页的发布者不同的第三方提供的数字分量以呈现在网页中。例如,可以基于给定网页的有机内容和/或访问给定网页的用户特性(例如,兴趣、简档信息等)来选择被选择用于与给定网页一起呈现的数字分量。
38.对内容的每个暴露可能会对用户将来的在线(或离线)活动产生影响。例如,看到与特定品牌的鞋相关的内容(例如,评论、新闻文章或广告)的用户与该用户没有经受该暴露相比,更有可能获取该特定品牌的鞋。在某些情况下,能够量化不同内容暴露的影响可能是有利的,因为它们与用户随后执行某些指定目标动作相关。
39.在一些实施方式中,目标动作可以由数字分量提供者指定。例如,数字分量提供者将目标动作指定为以下一项或多项:用户下载白皮书、导航到网站的至少给定深度、查看至少一定数量的网页、在网站或网页上花费至少预定量的时间、完成网站注册过程、订阅数字服务、向购物车添加商品或购买产品。当用户执行指定目标动作时,指定目标动作的执行可以称为转化(conversion)。
40.在用户执行指定目标动作之前,通常存在对在线内容一系列暴露。例如,假设用户160对特定相机感兴趣并且想要更多地了解相机。进一步假设分发包含关于该特定相机的信息的数字分量的数字分量提供者已将目标动作指定为特定相机的获取。
41.在该示例中,用户160可以通过经由网络102向搜索系统150提交搜索查询来在用户设备106上搜索关于特定相机的信息。搜索系统150响应于该搜索查询来识别搜索结果,并将搜索结果返回给用户设备106进行显示,这被视为关于特定相机的有机内容向用户160的暴露(例如,假设关于特定相机的数字分量不呈现在搜索结果页面上)。在用户设备106处查看搜索结果的用户160可以访问网站180、182和184(例如,通过点击几个搜索结果),每个网站都包含关于该特定相机的信息。用户160对网站的这些访问中的每一个也可以被视为有机内容对用户160的暴露。假设用户160最终获取了特定相机(即,执行指定目标动作),则对有机内容的这些暴露(称为有机事件)中的每一个将对用户执行指定目标动作有贡献,并且可以如下更详细描述地量化这些有机暴露的相对贡献。
42.在以上示例中,假设在执行指定目标动作之前,用户160被暴露于关于特定相机的有机内容,但是用户160并未被暴露于关于特定相机的数字分量(例如,指定类型的数字分量)。对数字分量的暴露也可能会对用户执行指定目标动作有贡献。例如,假设在执行指定目标动作之前,用户160执行另一搜索。进一步假设,响应于该搜索,搜索系统150返回包括搜索结果(例如,sr1和sr2)的搜索结果页面186,并且数字分量服务器108提供关于特定相机的数字分量188以与搜索结果一起呈现。
43.在该示例中,当用户160随后执行指定目标动作(例如,获取特定相机)时,用户对数字分量188的暴露也将对该指定目标动作的执行有贡献。但是,当数字分量暴露与用户随后执行指定目标动作相关时,不容易看出、不能直接观察到并且难以确定数字分量暴露的影响水平。此外,当有机暴露和对数字分量的暴露与影响用户随后执行目标动作相关时,仅从与内容暴露相关的原始数据不容易明显地详述有机暴露的贡献和数字分量的暴露的贡献。因此,可能难以有效且高效地将内容分发给用户,尤其是其与数字分量相关时。
44.为了在内容暴露与用户执行指定目标动作相关时确定内容暴露的影响,环境100可以包括模型装置130,其被配置为评估内容暴露,并确定这些内容暴露中的每一个对用户随后执行指定目标动作的贡献水平。该信息可用于确定由分量分发系统110分发的指定类
220),其将执行水平从pl1改变为pl3,从而指示暴露b导致用户以相对于用户执行目标动作的基线等级(例如,pl1)更高的等级执行目标动作。在t2之后,由暴露b 220贡献的增加的执行水平根据针对特定类型的内容暴露确定的衰减函数开始衰减。继续上面的示例,暴露b 220可以是,例如,用户暴露于由特定类型的鞋的制造商创建的数字分量。
52.在t3,暴露b 220对执行水平的贡献已降到pl3以下到达pl4,但并未一直下降回到pl1,因此指示在t3,暴露b 220仍被视为对用户执行目标动作有贡献。因此,可以对暴露b 220赋予在时间t3执行目标动作的功绩,这在下面更详细地讨论。在本示例中,发生另一暴露(“暴露c”230),这再次改变执行水平,并且具体地将执行水平增加到pl5。暴露c 230可以是有机暴露或数字分量的暴露。在这两种情况下,由暴露c 230引起的执行增加的初始水平将是pl4和pl5之间的差,即,紧接在暴露c 230之前剩余的执行水平(例如,pl4)与紧随暴露c之后作为结果的执行水平(例如,pl5)之间的差。如图所示,pl5包括来自尚未完全衰减的暴露b 220和暴露c 230的贡献。因此,在t3它们对目标动作的执行的各自的贡献的正确归因将需要确定组合以提供执行水平pl5的执行的各自的增量水平。下面更详细地讨论在任何给定时间内容暴露的执行增量水平的确定。
53.在t3之后,执行水平再次开始衰减(例如,下降),但是此时,该衰减不仅是由于针对暴露c 230已经确定的衰减,而且是由于在t3剩余的暴露b220的执行水平的衰减,这在下文更详细地讨论。出于示例目的,假设目标动作由用户在t3之后的t4执行。在此示例中,在t4,执行水平已返回到pl4,其高于基线执行水平pl1。因此,在t0和t3之间发生的一个或多个内容暴露仍然被视为对目标动作240在t4的执行有贡献。例如,可以基于由该内容暴露导致的执行水平变化、该内容暴露的衰减函数以及从该内容暴露和目标动作240的执行起经过的时间量,来确定在t4剩余的每个内容暴露的相对贡献,这在下文更详细地讨论。
54.上面的讨论说明了目标动作的执行水平可以如何基于内容暴露发生改变,以及如何改变总执行水平。数学关系可用于表示和/或量化在任何给定时间的总执行水平。在某些实施方式中,指定动作的执行水平由下式表示:
55.x(t)=x
i
(t) x
s
(t)
56.其中,x(t)表示在时间t的总执行水平,x
i
(t)是没有对内容的任何暴露的基线执行水平,而x
s
(t)是由于对内容的暴露而导致的执行水平的提高。在一些实施方式中,由于对内容的暴露而导致的执行水平的提高被建模为:
57.x
s
(t)=a
s
x
s
(t

δt) b
s
u
s
(t)
58.其中,a
s
是执行水平的衰减率,b
s
是执行水平的立即升高,并且u
s
(t)是在时间t对数字分量的暴露。可以使用历史数据来确定a
s
和b
s
的值,这些历史数据诸如指定内容暴露的时间以及在这些内容暴露之后目标动作发生的时间的数据。
59.图3是示出随时间的推移内容暴露330的影响的示例衰减的曲线图300。例如,假设用户160执行互联网搜索并被暴露于搜索结果,如暴露330所示,这导致执行水平的增加。如上所述,该增加的执行水平将随着时间推移,例如,根据针对搜索结果暴露创建的衰减函数而衰减。
60.在一些实施方式中,使用分段(piecewise)常数函数(或另一分段函数,诸如分段线性函数)对执行水平的衰减进行建模。例如,在时间间隔350期间的执行水平的衰减被视为短期衰减,在时间间隔360期间的执行水平的衰减被视为中期衰减,并且在时间间隔370
期间的执行水平的衰减被视为长期衰减。在其他实施方式中,分段常数函数可以将衰减过程分解成更精细的时间间隔,从而在更细粒度的水平上对衰减进行建模。在其他实施方式中,可以使用其他方法来估计连续衰减函数。使用分段常数函数可以减少确定衰减所需的计算资源,并使得衰减能够更快地被计算。
61.在这样的实施方式中,将内容暴露之后的时间建模为较小时间间隔的总和。例如,为了对时间t1和t4之间执行水平的衰减进行建模,将t1和t4之间的时间建模为时间间隔t1

t2、t2

t3和t3

t4的总和。假设每个时间间隔具有对应的衰减,或更具体地说,具有对应的衰减率。基于对应的时间间隔的衰减率,可以使用特定时间间隔之前的执行水平来计算特定时间间隔之后的执行水平。在一些实施方式中,衰减率可以由数字分量提供者或对生成基线模型感兴趣的任何第三方来设置。在一些实施方式中,衰减率可以由其他机器学习模型基于用户的过去活动使用多个可学习参数来确定。在其他实施方式中,衰减率可以是在训练过程期间学习的基线模型的参数。
62.应该注意的是,在对内容的暴露之后的执行水平由基线模型确定。在一些实施方式中,基线模型可以基于所学习的基线模型的参数、特定内容、用户以及为训练基线模型而收集的训练数据来确定暴露于特定内容之后的执行水平可能保持相同或增加。
63.图4是被配置为创建模型450的示例系统400的框图,模型装置130可以使用该模型450将目标动作的执行归因于随时间的推移发生的内容暴露。在简单的形式中,模型可以是接受用户属性作为输入并基于用户属性输出基线执行水平的基线模型。该模型可以扩展为接受与在执行目标动作之前发生的有机暴露相关的输入(例如,有机暴露的类型和这些暴露的时间),并输出各种信息,诸如每个有机暴露对目标动作发生时目标动作的执行的相对贡献。该模型还可以扩展为接受与在执行目标动作之前发生的数字分量暴露相关的输入(例如,数字分量的类型和暴露时间),并输出指定每个数字分量对目标动作发生时目标动作的执行的相对贡献的信息。以下讨论涉及基线模型的创建。
64.系统400包括数据收集器410,该数据收集器410获得/准备用于训练模型450的训练样本。例如,可以使用针对执行了目标动作的一组用户和未执行目标动作的另一组用户收集的数据来训练模型450。例如,假设目标动作是用户下载/安装原生应用。在该示例中,系统可以识别原生应用的先前下载/安装,并获得指定用户在下载/安装原生应用之前经历的内容暴露的数据。该系统还可以获得指定用户经历的在其后用户没有下载/安装原生应用的内容暴露的数据。
65.在这样的实施方式中收集的数据包括表示在执行目标动作(例如,应用下载/安装)之前暴露于所有数字分量的用户数据。在一些实施方式中,模型450基于对各种数字分量的暴露来学习用户属性和执行水平之间的关系。在其他实施方式中,模型450被配置为与对指定类型的数字分量的暴露无关地学习用户属性和执行水平之间的关系。例如,模型450可以基于与在用户执行目标动作之前未暴露于一个或多个指定类型的数字分量(例如,特定实体提供的数字分量)的用户对应的用户的历史暴露数据,来学习用户属性和执行水平之间的关系。这允许模型450基于用户的属性确定用户的基线执行水平。在这样的实施方式中,使用消融实验来生成训练样本,该消融实验允许收集表示用户暴露于有机内容而用户没有被暴露于第三方数字分量的事件数据(例如,有机暴露数据),并且允许能够收集包括表示用户暴露于由第三方提供的数字分量的第三方暴露数据的训练样本。在其他实施方式
中,可以使用从没有被暴露于一个或多个指定类型的数字分量的用户生成的训练样本来训练模型450,而不显式地执行消融实验。例如,搜索系统150和分量分发系统110可以记录来自用户160的所有搜索请求以及为用户160呈送的数字分量。使用此数据,可以生成表示没有被呈送一个或多个指定类型的数字分量从而必须暴露于指定的数字分量的用户的训练样本。
66.图5是示出可以由图4的消融实验装置415实现的消融实验的框图。使用一组用户510来执行消融实验。在这样的实施方式中,创建一组对照用户(control user)520持续指定的时间段,在该时间段期间,不为该组对照用户520呈送一个或多个指定类型的数字分量,从而防止暴露于正在被评估的数字分量。例如,该组对照用户520可以被标记为是分发数字分量的特定实体的对照组(control group)的一部分,并且在此示例中,将用户包含在对照组中可以防止这些用户被暴露于由该特定实体分发的数字分量,从而防止这些数字分量影响对照组520中用户执行的后续动作。
67.消融实验还限定了指定时间段内的一组暴露用户550。与该组对照用户不同,向该组暴露用户550呈送指定类型的数字分量,从而确保将该组暴露用户550暴露于指定类型的数字内容(例如,由特定实体分发的数字分量)。例如,该组用户510包括该组对照用户520,其包括用户1

6。该组用户510还包括一组暴露用户550,其包括用户7

12。对照用户组中的每个用户1

6可以经历有机暴露,但将不会经历指定类型的数字分量(例如,由特定实体提供和/或与特定主题、对象、产品或服务相关的数字分量)的第三方暴露。该组暴露用户550中的用户7

12被暴露于指定类型的数字分量565(例如,由特定实体提供的数字分量)。
68.在一些实施方式中,该组对照用户520和该组暴露用户550中的用户是从组510中的用户随机选择的。在其他实施方式中,可以使用某些条件来控制该随机选择过程。例如,可以训练基线模型以确定特定年龄组的用户的执行水平。在这样的实施方式中,消融实验装置415可以从该组用户510中的特定年龄组中选择用户,然后将所选择的用户随机分配给该组对照用户520或该组暴露用户550。
69.在一些实施方式中,针对该组对照用户和该组暴露用户收集暴露数据(例如,有机暴露数据和/或第三方暴露数据)。例如,针对该组对照用户520中的用户4收集的暴露数据可以指定用户4被暴露于第一网站532和第二网站534,这两个都是有机暴露。根据收集的数据,在被暴露于第一网站532和第二网站534之后,用户4执行指定的目标动作538。继续此示例,暴露数据还可以指示在指定的时间段期间,用户6在暴露于第一网站532和第三网站536之后没有执行指定的目标动作538。该暴露数据可用于训练样本中,该训练样本包括暴露类型的标识符(例如,有机或第三方)、暴露的时间、暴露的持续时间、用户属性以及在指定时间段内是否执行了指定目标动作。
70.类似地,从该组暴露用户550中,用户10在初始暴露于第一网站532和随后的第三方暴露565(例如,暴露于由特定实体提供和/或与特定主题、服务或产品相关的数字分量)之后执行指定的目标动作538。在本示例中,用户12在初始暴露于第二网站534和随后的第三方暴露565之后不执行指定的目标动作538。
71.返回图4,在如上所述收集暴露数据(例如,有机暴露数据和第三方暴露数据)之后,对暴露数据进行处理以生成用于训练模型450的训练样本。例如,预处理器420至少部分地基于(i)用户描述符或标识符、(ii)暴露的时间戳、(ii)事件描述符或暴露描述符、(iv)
下一按时间顺序的暴露的时间戳、(v)在由暴露和下一暴露的时间限定的间隔内发生的执行指定目标动作的客户的计数以及(vi)任何其他适当的特征来生成每个训练样本。在一些实施方式中,可以使用多个处理器来训练模型450。例如,使用多个工作器(worker)430、432和434来训练模型450。
72.在一些实施方式中,使用在其中模型的参数表征给定时间间隔上用户的动作数量的预期增量的模型来设计模型450。在本文中,这称为强度率(intensity rate)(λ)。在这样的实施方式中,模型可以被限定如下:
[0073][0074]
其中,y
i
(t)是计数过程,其通过对时间t内用户的转化次数进行计数来表示目标动作的执行,其中,x是某个特征集(feature set)。
[0075]
在一些实施方式中,将在时间t的强度建模为时间相关特征集的函数,并且假设其为在各个间隔上的分段常数。在这样的实施方式中,将用户的每个暴露间隔的平均强度率的对数建模为
[0076]
log(λ
ij
(t|x
ij
(t)=x
ij
(t))=log(λ0(t)) β
t
·
x
ij
(t) η
i
[0077]
其中,t∈[t
j
,t
j 1
),i是用户的索引,j是不导致用户执行目标动作的暴露,η
i
是用户i的用户级别随机影响,并且t
j
是暴露j的开始时间。
[0078]
在一些实施方式中,每个间隔[t
j
,t
j 1
)的似然贡献将采用以下形式:
[0079][0080]
其中,δt
ij
=t
j 1

t
j
并且λ
ij
是在给定时间间隔上用户的指定目标动作数量的分段增量。在一些实施方式中,指定目标动作的数量的基线增量λ0(t)可以是恒定的。在其他实施方式中,使用分段阶跃函数来估计λ0(t)。在这样的实施方式中,可以使用泊松回归来估计上述模型,其中,通过每个间隔中的对数时间长度来给出偏移。
[0081]
在一些实施方式中,使用仿真结果、现实世界数据和交叉验证来验证模型450。例如,验证器460可以使用模型450的可学习参数的已知值来仿真用户暴露于数字分量和指定目标动作的执行。将这些已知参数与学习到的参数进行比较,以衡量训练过程的优劣度。在另一实施方式中,可以将模型预测与表示暴露和指定目标动作的现实世界数据进行比较用于模型准确性。
[0082]
在一些实施方式中,比如特定数字分量的提供者的各方可能对特定数字分量的有效性感兴趣。例如,提供者可能希望衡量特定数字分量暴露对用户随后执行目标动作的影响。在这样的实施方式中,数字分量暴露对针对用户确定的总执行水平的贡献与数字分量暴露的所确定的衰减之间的差与暴露于特定数字分量在导致目标动作的执行时的有效性(例如,增量影响)对应。
[0083]
图6a是示出暴露于单个数字分量对目标动作的执行的增量影响的曲线图600。在此示例中,假设用户在时间t经历了数字分量暴露660,然后在时间t 1执行指定目标动作。如图所示,在时间t之前,用户的执行水平初始在基于用户的属性确定的基线执行水平630。在时间t,用户经历数字分量暴露660,这导致执行水平的升高。在时间t和用户执行指定目标动作的时间t 1之间,可归因于数字分量暴露660的执行水平根据与在时间t用户暴露于其的特定类型的数字分量对应的衰减函数而衰减。如曲线图600中所见,在时间t 1,剩余的执行水平650包括来自基线执行水平630和可归因于在时间t的数字分量暴露的增量执行水平640的贡献(例如,为它们的总和)。增量执行水平640通常表示数字分量暴露660对在时间t 1执行指定目标动作产生的影响,可以将其视为数字分量暴露660在导致用户执行指定目标动作时的有效性的度量。
[0084]
如前所述,指定目标动作的执行可以归因于多个不同的暴露(例如,有机暴露和/或第三方暴露),以及针对用户确定的基线执行水平。如上所述,基线执行水平表示在没有暴露于数字分量和/或有机暴露的情况下,用户趋向于执行指定目标动作的倾向。每个分量暴露也可以增量地对在在目标动作时存在的执行水平有贡献。因此,执行目标动作时的执行水平可以可归因于针对用户确定的基线执行水平,以及目标动作时每个暴露剩余的执行水平贡献的增量。在用户经历多个不同的内容暴露的情况下,可以基于暴露提供的初始执行水平贡献和该暴露时间与目标动作发生的时间之间发生的衰减量之间的差,赋予每个暴露执行水平的递增量。
[0085]
图6b是示出暴露于多个数字分量的增量影响的曲线图665。最初,执行水平处于使用用户属性确定的基线执行水平690。当用户经历暴露a670时,执行水平升高,然后开始随时间衰减。然后,用户经历暴露b 675,其导致执行水平升高,然后再次随时间衰减。
[0086]
在暴露b 675之后的时间t,用户执行目标动作(例如,转化)。在此示例中,执行水平衰减到最终执行水平695。在此示例中,最终执行水平695包括来自暴露670和暴露675两者的增量贡献。出于说明目的,关于这两个暴露的剩余增量影响,假设没有发生暴露b 675,但是目标动作仍在时间t发生。在此示例中,在没有暴露b 675的情况下,在时间t剩余的执行水平将衰减到697。在这种情况下,归因于暴露b 675的增量执行680是执行水平695和697之间的差,使得可以基于执行水平695和697之间的差赋予暴露b 675执行目标动作的功绩的一部分。
[0087]
继续该示例,可以通过考虑基线执行水平690和如果发生暴露a 670而没有发生暴露b 675而会存在的执行水平697之间的差,来说明在时间t暴露a 670的增量贡献685。例如,可归因于暴露a 670的增量执行水平685,以及因此执行目标动作的功绩的一部分,是超过与对数字分量(或其他内容)的任何暴露无关、对于该用户存在的基线执行水平690的在时间t的执行水平的那部分。
[0088]
在一些实施方式中,将增量执行归因于内容暴露可以基于强度率。在这样的实施方式中,增量执行基于暴露前后的强度率之间的差。在这样的实施方式中,用户执行指定目标动作时的强度可以表示为:
[0089]
[0090]
其中,$指执行指定目标动作,s和l是短期和长期常数,k是暴露类型,并且i
k
是暴露类型的计数器。在这样的实施方式中,λ
$
可以表示为:
[0091]
λ

=λ0×
λ1×…×
λ
j
×…×
λ
n
[0092]
其中,j=1,2

,n表示总的n个暴露中的第j个暴露。然后,可以顺序地使用下式计算增量执行:
[0093][0094]
其中,j=0并且
[0095][0096]
在一些实施方式中,一个或多个实体可能会对知道向用户呈送哪些数字分量以影响用户对于指定目标动作的执行水平感兴趣。在这样的实施方式中,表示内容暴露与指定动作的执行水平之间的关系的模型可以用于确定向用户呈送哪个数字分量以增加用户执行目标动作的可能性。例如,用户160使用用户设备106执行关于特定产品的在线搜索。搜索系统150在通过用户设备106向用户160提供搜索结果的同时,还提供包含关于特定产品的信息的数字分量。在一些实施方式中,模型装置130使用模型450来确定哪些数字分量将与搜索结果一起显示,以使与获取产品相关的执行水平增加。在一些实施方式中,在推断出数字分量可能不会导致在暴露后显著增加执行水平时,模型装置130可以基于用户属性确定不将某些数字分量呈送给用户160。
[0097]
图7是基于数字分量的增量影响来修改数字分量的传输标准的示例过程的流程图。过程700的操作可以由一个或多个数据处理装置或计算设备(诸如以上讨论的模型装置130)执行。过程700的操作还可以被实现为存储在非暂时性计算机可读介质上的指令。指令的执行可以使一个或多个数据处理装置或计算设备执行过程700的操作。过程700的操作也可以由系统来实现,该系统包括一个或多个数据处理装置或计算设备,以及存储器设备,该存储器设备存储指令,该指令使一个或多个数据处理装置或计算设备执行过程700的操作。如下面更详细地讨论的,过程700构建并利用模型,该模型可以提供用户的基线执行水平和每个内容暴露对用户执行指定目标动作的相对贡献。
[0098]
执行消融实验以获得对照结果数据和暴露结果数据(710)。通过将用户分为一组对照用户和一组暴露用户来执行消融实验。该组对照用户是那些不将被暴露于正在分析的特定类型数字分量的用户。例如,假设正在收集数据以确定暴露于对由特定相机的制造商分发的数字分量(例如,广告)的相对影响。在该示例中,消融实验可以利用标志来指定该组对照用户中的每个用户不适格接收由特定相机的制造商分发的特定相机的数字分量。在一些情况下,可以基于媒体类型(或其他适当的特性)限定数字分量的特定类型。例如,可以阻止该组对照用户看到由数字相机的制造商提供的视频数字分量,但是可以适格于暴露于非视频数字分量。
[0099]
消融实验使系统能够获得不被暴露于一组特定的数字分量的一组对照用户的一组对照结果。在一些实施方式中,对照结果针对该组对照用户中的每个特定对照用户指定该特定对照用户是否执行了指定动作。例如,可以评估该组对照用户中每个对照用户的历
史在线活动数据,以确定该对照用户是否执行了指定目标动作、对照用户执行的活动(例如,提交搜索查询)以及对照用户经历的内容暴露。可以处理此信息和/或将其用作训练示例,该训练示例用于创建可以确定每个内容暴露相对于用户的基线执行水平的增量贡献的模型。更具体地,关于对照用户的对照结果和所收集的对应数据可用于获知具有特定特性集的用户的基线执行水平和/或有机暴露对执行水平的影响,这与指定类型的数字分量对对照用户动作的任何影响无关,因为对照用户将不被暴露于特定类型的数字分量。
[0100]
消融实验还可以使系统能够收集不包括在该组对照用户中的一组暴露用户的暴露结果。在一些实施方式中,暴露结果针对该组暴露用户中的每个暴露用户指定该暴露用户是否执行了指定动作。可以处理该信息和/或将其用作训练示例,该训练示例用于创建以下模型:其可以确定每个第三方内容暴露相对于用户的基线执行水平的增量贡献。
[0101]
基于对照结果数据和暴露结果数据创建模型(720)。可以基于在消融实验期间收集的数据并使用贯穿本文所讨论的数学关系来创建(例如,训练)模型。例如,可以使用机器学习框架来创建模型,该机器学习框架使用用户的属性、每个特定对照用户的对照结果以及每个暴露用户的暴露结果。在一些实施方式中,模型表示用户属性、内容暴露和指定目标动作的执行水平之间的关系。可以生成模型以接受特定用户的一组用户属性、一组内容暴露(例如,有机暴露和/或第三方暴露)、发生内容暴露的时间以及特定用户执行了指定目标动作的时间作为输入。可以生成模型以输出信息,该信息包括例如基于用户属性的特定用户的基线执行水平、特定用户在执行指定目标动作之前经历的内容暴露的增量贡献。
[0102]
获得执行了指定目标动作的特定用户的有机暴露数据(730)。在一些实施方式中,有机暴露数据指定在指定时间段内导致特定用户执行指定目标动作(即,在此之前)的特定用户经历的一个或多个有机暴露。有机暴露既不是指定类型数字分量的暴露(例如,不是由第三方提供的数字分量的第三方暴露),也不是指定目标动作的执行。有机暴露的一个示例是暴露于响应于特定用户提交搜索查询而由搜索引擎生成并呈现给特定用户的搜索结果。另一示例有机暴露是暴露于来自用户导航到的网页的内容,而与对第三方数字分量的暴露或与之的交互无关。例如,特定用户可以在浏览器中手动输入网页地址以导航到该网页。这将被视为对内容的有机暴露。
[0103]
获得执行了指定目标动作的特定用户的第三方暴露数据(740)。在一些实施方式中,第三方暴露数据指定在指定时间段内导致特定用户执行指定目标动作时(即,在此之前)的指定类型的数字分量对特定用户的第三方暴露。第三方暴露数据可以包括针对每个第三方暴露的暴露时间,该暴露时间指定何时发生了第三方暴露。第三方暴露的示例包括呈现在任何搜索结果页面中由第三方提供的内容、由与第三方不同的发布者提供的网页或由与发布者不同的app开发者提供的原生应用。
[0104]
使用模型确定可归因于每个第三方暴露的增量执行水平(750)。例如,可以将有机暴露数据和第三方暴露数据输入模型,并且模型可以输出归因于每个第三方暴露的增量执行水平。可以在特定用户执行指定目标动作的动作时间时确定增量执行水平。可以将增量执行水平确定为在动作时间剩余的来自第三方暴露的执行水平贡献的残余量。例如,对于每个第三方暴露,可以确定该第三方暴露的暴露时间与发生指定目标动作时的动作时间之间的差。可以将暴露时间与动作时间之间的该差输入第三方暴露的衰减函数中,该衰减函数将指定第三方暴露所提供的执行水平贡献在暴露时间与动作时间之间衰减的量。
[0105]
在动作时间剩余的贡献量(例如,通过从由第三方暴露提供的初始执行水平贡献中减去在暴露时间和动作时间之间经历的衰减量)被视为在动作时间剩余的来自第三方暴露的执行水平贡献的残余量,其可以归因于第三方暴露。可以基于在消融实验期间获得的数据,针对每个不同类型的第三方暴露确定不同的衰减函数,并且每个衰减函数将指定执行水平贡献随时间的变化的衰减率。
[0106]
模型使用有机暴露数据和第三方暴露数据两者,使得有机暴露的贡献可以从在动作时间剩余的总执行水平中去除。类似地,该模型从在动作时间剩余的总执行水平中考虑(例如,去除)基线执行水平的贡献,从而隔离了第三方暴露的贡献。
[0107]
基于归因于数字分量的暴露的增量执行水平,修改至少一些数字分量的传输标准(760)。在一些情况下,当归因于数字分量的暴露的增量执行水平较高(例如高于其他可用数字分量)时,可以修改数字分量的传输标准以增加向用户传输数字分量的频率。在一些情况下,当归因于数字分量的暴露的增量执行水平较低(例如,低于其他可用数字分量)时,可以修改数字分量的传输标准以降低向用户传输数字分量的频率。在一些实施方式中,可以与归因于特定数字分量的第三方暴露的增量执行水平的大小成比例地调整特定数字分量的传输标准。在一些实施方式中,当归因于基于特定传输标准的数字分量的传输所导致的第三方暴露的增量执行水平小于指定大小时,可以禁用特定传输标准(例如,关键字)。例如,假设关键字“boot”用于分发特定第三方内容提供者的数字分量,并且归因于由关键字boot触发的第三方暴露的增量执行水平小于指定的最小可接受水平。在此示例中,可以禁用关键字boot,使得它将不触发第三方内容提供者的数字分量的分发。
[0108]
图8是可用于执行上述操作的示例计算机系统800的框图。系统800包括处理器810、存储器820、存储设备830和输入/输出设备840。组件810、820、830和840中的每一个可以例如使用系统总线850互连。处理器810能够处理指令供在系统800内执行。在一个实施方式中,处理器810是单线程处理器。在另一实施方式中,处理器810是多线程处理器。处理器810能够处理存储在存储器820中或存储设备830上的指令。
[0109]
存储器820存储在系统800内的信息。在一个实施方式中,存储器820是计算机可读介质。在一个实施方式中,存储器820是易失性存储单元。在另一实施方式中,存储器820是非易失性存储单元。
[0110]
存储设备830能够为系统800提供大容量存储。在一个实施方式中,存储设备830是计算机可读介质。在各种不同的实施方式中,存储设备830可以包括例如硬盘设备、光盘设备、由多个计算设备通过网络共享的存储设备(例如,云存储设备)或某种其他的大容量存储设备。
[0111]
输入/输出设备840为系统800提供输入/输出操作。在一个实施方式中,输入/输出设备840可以包括网络接口设备(例如,以太网卡)、串行通信设备(例如,rs

232端口)和/或无线接口设备(例如,802.11卡)中的一个或多个。在另一实施方式中,输入/输出设备可以包括驱动器设备,该驱动器设备被配置为接收输入数据并将输出数据发送到其他输入/输出设备,例如键盘、打印机和显示设备370。然而,也可以使用其他实施方式,诸如移动计算设备、移动通信设备、机顶盒电视客户端设备等。
[0112]
尽管在图8中描述了示例处理系统,但是可以在其他类型的数字电子电路或计算机软件、固件或硬件(包括本说明书中公开的结构及其结构等同物)或它们中的一个或多个
的组合中实现本说明书中描述的主题的实施方式和功能性操作。
[0113]
电子文档(为简便起见将其简称为文档)不一定与文件对应。文档可以存储在保存其他文档的文件的一部分中、专用于所讨论的文档的单个文件中或多个协调文件中。
[0114]
本说明书中描述的主题和操作的实施例可以在数字电子电路,或在计算机软件、固件或硬件或它们中的一个或多个的组合中实现,包括在本说明书中公开的结构及其等同结构。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序,即,计算机程序指令的一个或多个模块,其被编码在计算机存储介质(或多个介质)上以由数据处理装置执行或控制数据处理装置的操作。替代地或另外地,程序指令可以被编码在人工生成的传播信号上,例如,机器生成的电、光或电磁信号,其被生成以对信息进行编码用于传输到合适的接收器装置供数据处理装置执行。计算机存储介质可以是或包括在计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备或它们中的一个或多个的组合中。此外,尽管计算机存储介质不是传播信号,但是计算机存储介质可以是以人工生成的传播信号编码的计算机程序指令的源或目的地。计算机存储介质也可以是一个或多个单独的物理组件或介质(例如,多个cd、盘或其他存储设备)或包括在其中。
[0115]
本说明书中描述的操作可以被实现为由数据处理装置对存储在一个或多个计算机可读存储设备上或从其他源接收的数据执行的操作。
[0116]
术语“数据处理装置”涵盖用于处理数据的所有种类的装置、设备和机器,包括例如可编程处理器、计算机、片上系统或前述的多个或其组合。该装置可以包括专用逻辑电路,例如,fpga(现场可编程门阵列)或asic(专用集成电路)。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或它们中的一个或多个的组合的代码。该装置和执行环境可以实现各种不同的计算模型基础结构,诸如网络服务、分布式计算和网格计算基础结构。
[0117]
计算机程序(也被称为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言编写,包括编译或解释型语言、声明性或过程语言,并且可以以任何形式部署计算机语言,包括以独立程序的形式或以模块、组件、子例程、对象或其他适于用在计算环境中的单元。计算机程序可以但不必与文件系统中的文件对应。程序可以存储在保持其他程序或数据的文件的一部分(例如,存储在标记语言文件中的一个或多个脚本)中、在专用于所针对的单个文件中或在多个协作的文件(例如,存储一个或多个模块、子程序或代码的一些部分的文件)中。计算机程序可以部署为在一个或多个计算机上执行,这些计算机位于一个站点或分布在多个站点之间并通过通信网络连接。
[0118]
本说明书中描述的过程和逻辑流可以由执行一个或多个计算机程序的一个或多个可编程处理器执行,从而通过对输入数据进行操作并生成输出来执行动作。过程和逻辑流也可以由专用逻辑电路(例如fpga(现场可编程门阵列)或asic(专用集成电路))来执行,并且装置可以被实现为该专用逻辑电路。
[0119]
举例来说,适于执行计算机程序的处理器包括通用和专用微处理器。通常,处理器将从只读存储器或随机存取存储器或这两者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储器设备。一般来说,计算机将可以包括用于存储数据的一个或多个大容量存储设备(例如、磁盘、磁光盘或光盘)
或可以操作性地联接一个或多个大容量存储设备以从其接收数据或将数据传输到其处或者接收和传输二者。然而,计算机不必具有这样的设备。另外,计算机可以嵌入到另一设备(例如,仅举例几个,移动电话、个人数字助理(pda)、移动音频或视频播放器、游戏控制台、全球定位系统(gps)接收器或便携式存储设备(例如,通用串行总线(usb)快闪驱动器))中。适用于存储计算机程序指令和数据的设备可以包括所有形式的非易失性存储器、介质和存储设备,举例来说,包括半导体存储设备,例如eprom、eeprom和闪存设备;磁盘,例如内部硬盘或可移动盘;磁光盘;以及cd

rom和dvd

rom盘。处理器和存储器可以由专用逻辑电路来补充或可以结合到其中。
[0120]
为了提供与用户的交互,本说明书中描述的主题的实施例可以实现在具有显示设备及键盘和指向设备的计算机上,显示设备例如用于为用户显示信息的crt(阴极射线管)或lcd(液晶显示)监视器,用户可以通过键盘和指向设备向计算机提供输入,指向设备例如为鼠标或轨迹球。也可以使用其他种类的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声学、语音或触觉输入。此外,通过向由用户使用的设备发送文件和接收来自该设备的文件,计算机可以与用户交互;例如,通过响应于从浏览器接收的请求而将网页发送到用户的客户端设备上的浏览器。
[0121]
本说明书中描述的主题的实施例可以在计算系统中实现,该计算系统包括后端组件(例如作为数据服务器)或包括中间件组件(例如应用服务器)或包括前端组件(例如具有图形用户界面和浏览器的客户端计算机,用户可通过其与本说明书中描述的主题的实施方式进行交互),或者一个或多个这样的后端、中间件或前端组件的任意组合。可以通过数字数据通信的任意形式或媒介(例如通信网络)将系统的组件互连。通信网络的示例包括局域网(“lan”)和广域网(“wan”)、互联网(例如,因特网)和点对点网络(例如,自组(ad hoc)点对点网络)。
[0122]
计算系统可以包括客户端和服务器。一般来说,客户端和服务器彼此远离,并且通常通过通信网络交互。通过运行在各个计算机并且彼此具有客户端

服务器关系的计算机程序而形成的客户端和服务器的关系。在一些实施例中,服务器向客户端设备传输数据(例如,html页面)(例如,用于向与客户端设备交互的用户显示数据和从其接收用户输入的目的)。在客户端设备处生成的数据(例如,用户交互的结果)可以从在服务器处的客户端设备接收。
[0123]
尽管本说明书包含许多具体的实现细节,但是这些细节不应当被解释为对任何发明或请求保护的范围进行限制,而应该被解释为特定于特定发明的特定实施例的特征的描述。在本说明书中在不同实施例的背景中描述的某些特征也可以以组合方式实现在单个实施例中。相反,在单个实施方式的情况下描述的各种特征也可以在多个独立的实施方式中实施或在任何合适的子组合中实施。此外,尽管特征可以如上所述描述为在某些组合中起作用并且最初也这样地请求,但在一些情况下,来自所请求的组合的一个或多个特征可以从组合中排除,并且所请求的组合可以涉及子组合或子组合的变体。
[0124]
类似地,尽管在附图中以特定顺序描绘了操作,但是这不应当被理解为需要以示出的特定顺序或以相继的顺序来执行这样的操作或者需要执行所有示意的操作来取得合意的结果。在某些情况下,多任务和并行处理可为有利。另外,在上述实施例中对各种系统
部件的分离不应当被理解为在所有实施例中要求这样的分离,而是应当要理解,所描述的程序部件和系统可一般地在单个软件产品中被集成在一起或者被封装成多个软件产品。
[0125]
这样,已经描述了主题的特定实施例。其他实施例在随附权利要求的范围内。在一些情况下,记载在权利要求中的动作可以以不同的顺序执行而仍然取得合意的结果。此外,附图中描绘的过程不一定需要所示出的特定顺序或者连续顺序来实现期望的结果。在某些实施方式中,多任务和并行处理可能有利。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献