CN117916727A - 数字资源访问频率的隐私敏感估计 - Google Patents

数字资源访问频率的隐私敏感估计 Download PDF

Info

Publication number
CN117916727A
CN117916727A CN202380013400.3A CN202380013400A CN117916727A CN 117916727 A CN117916727 A CN 117916727A CN 202380013400 A CN202380013400 A CN 202380013400A CN 117916727 A CN117916727 A CN 117916727A
Authority
CN
China
Prior art keywords
node
tree model
time
time interval
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202380013400.3A
Other languages
English (en)
Inventor
P·马努朗西
B·加齐
S·拉维库马尔
J·O·尼尔森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN117916727A publication Critical patent/CN117916727A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2465Query processing support for facilitating data mining operations in structured databases

Abstract

在一个方面,提供了一种由一个或多个计算机执行的方法,该方法包括:获得数字资源的访问数据,访问数据包括标识在一个时间点访问数字资源的用户集合的数据,处理访问数据以生成定义树模型的数据,其中树模型中的每个节点与以下相关联:(i)指定时间跨度中的时间间隔的键,以及(ii)基于满足特定于节点的选择的相应用户数量的值,接收确定在时间窗口内访问数字资源至少预定义次数的用户数量的请求,并且处理树模型以生成对在时间窗口内访问数字资源至少预定义次数的用户数量的估计。

Description

数字资源访问频率的隐私敏感估计
背景技术
本说明书涉及数字资源访问频率的隐私敏感估计。
数字资源能够由大量远程定位的用户访问。确定访问数字资源的用户的数量能够用于例如管理数字资源的分发和存储。
能够以各种方式测量过程隐私保护的程度。例如,差分隐私技术能够用于量化过程隐私保护的程度。对数据集进行操作的计算过程能够被称为隐私敏感(或隐私保护),例如,如果该过程适于防止信息从数据集泄漏。
发明内容
本说明书描述了一种在一个或多个位置中的一个或多个计算机上实现为计算机程序的系统,该系统能够执行数字资源访问频率的有效且隐私敏感的估计。
根据第一方面,提供了一种由一个或多个计算机执行的方法,该方法包括:获得数字资源的访问数据,其中对于时间点序列中的每个时间点,访问数据包括识别在该时间点访问数字资源的用户集合的数据,处理访问数据以生成定义树模型的数据,其中树模型包括节点集合,并且该组节点中的每个节点与以下相关联:(i)指定时间跨度中的多个时间间隔的键,以及(ii)基于满足特定于节点的选择标准的相应用户数量的值,该特定于节点的选择标准基于由该节点的键指定的多个时间间隔,接收确定在时间窗口内访问数字资源至少预定义次数的用户数量的请求,并且响应于该请求:处理树模型以生成对在时间窗口内访问数字资源至少预定义次数的用户数量的估计。
在一些实施方式中,对于树模型中的一个或多个节点,节点的键指定至少第一时间间隔、第二时间间隔和第三时间间隔,其中第一时间间隔、第二时间间隔和第三时间间隔彼此不同。
在一些实施方式中,对于树模型中的一个或多个节点,用户仅在以下情况下才满足该节点的特定于节点的选择标准:(i)用户在第一时间间隔中访问数字资源至少一次并且在第二时间间隔中访问数字资源至少一次,以及(ii)用户在第三时间间隔中访问数字资源目标次数。
在一些实施方式中,对于树模型中的一个或多个节点,目标次数为零。
在一些实施方式中,(i)树模型是二维树模型,(ii)对于树模型中的每个节点,节点的键由定义二维空间的区域的参数集合来参数化,以及(iii)对于树模型中的每个父节点,由该父节点的键定义的二维空间的区域被由该父节点的子节点的键定义的二维空间的区域划分。
在一些实施方式中,对于树模型中的每个节点:节点的键由相应的参数a、b、c、d来参数化,参数定义由、[a,b]×[c,d]给出的二维空间的区域:第一时间间隔包括[a-1,b-1],第二时间间隔包括[T+2-d,T+2-c],其中T是时间点序列中的最后时间点,并且第三时间间隔包括[b,T+1-d]。
在一些实施方式中,对于树模型中的每个节点,与节点相关联的值基于以下两者之间的差:(i)满足第一特定于节点的选择标准的用户的数量,该第一特定于节点的选择标准基于由该节点的键指定的多个时间间隔,以及(ii)满足第二特定于节点的选择标准的用户的数量,该第二特定于节点的选择标准基于由该节点的键指定的多个时间间隔。
在一些实施方式中,对于树模型中的一个或多个节点,节点的键指定至少第一时间间隔、第二时间间隔、第三时间间隔和第四时间间隔,其中第一时间间隔、第二时间间隔、第三时间间隔和第四时间间隔彼此不同。
在一些实施方式中,对于树模型中的一个或多个叶节点:只有在以下情况下,用户才满足该节点的第一特定于节点的选择标准:(i)在第一时间间隔中访问数字资源,以及(ii)在第二时间间隔中访问数字资源目标次数时,并且只有在以下情况下,用户才满足该节点的第二特定于节点的选择标准:(i)用户在第三时间间隔中访问数字资源,以及(ii)在第四时间间隔中访问数字资源目标次数。
在一些实施方式中,目标次数为零。
在一些实施方式中,(i)树模型是一维树模型,(ii)对于树模型中的每个节点,该节点的键由定义一维空间的区域的参数集合来参数化,以及(iii)对于树模型中的每个父节点,由该父节点的键定义的一维空间的区域被由该父节点的子节点的键定义的一维空间的区域划分。
在一些实施方式中,对于树模型的一个或多个叶节点:节点的键由参数t来参数化,参数定义由t给出的一维空间的区域,第一时间间隔包括t-1,第二时间间隔包括[t,t+W-1],其中W是预定义的超参数,第三时间间隔包括t+W-1,并且第四时间间隔包括[t-1,t+W-2]。
在一些实施方案中,生成树模型包括:将相应噪声添加到与树模型中的每个节点相关联的值。
在一些实施方式中,处理树模型以生成对在时间窗口内访问数字资源至少预定义次数的用户数量的估计包括:识别树模型中的多个节点,每个节点具有满足基于时间窗口的识别标准的相应键,确定与所识别的节点相关联的值的组合,以及至少部分地基于与所识别的节点相关联的值的组合来生成对用户数量的估计。
在一些实施方式中,识别树模型中的多个节点包括:识别树模型的一个或多个叶节点和树模型的一个或多个内部节点各自具有满足基于时间窗口的识别标准的相应键,并且其中确定与所识别的节点相关联的值的组合包括:确定与所识别的节点相关联的值的总和。
在一些实施方式中,用户通过接收数字分量的传输来访问数字资源。
在一些实施方式中,树模型包括边集合,其中每个边连接树模型中的相应一对节点,并且其中树模型是二叉树模型。
在一些实施方式中,该方法还包括:输出对在时间窗口内访问数字资源至少预定义次数的用户数量的估计。
根据第二方面,提供了一种系统,包括:一个或多个计算机,以及通信地耦合到一个或多个计算机的一个或多个存储设备,其中一个或多个存储设备存储指令,指令在由一个或多个计算机执行时使一个或多个计算机执行任何前述方面的方法的操作。
根据第三方面,提供了一种或多种存储指令的非暂时性计算机存储介质,指令在由一个或多个计算机执行时使一个或多个计算机执行任何前述方面的方法的操作。
本说明书中描述的主题的特定实施例能够被实现,以便实现以下优点中的一个或多个。
本说明书中描述的系统能够生成准确且隐私保护的访问频率估计。访问频率估计能够指对在时间窗口期间访问数字资源至少阈值次数的用户数量的估计。由系统生成的访问频率估计能够被称为隐私保护(或隐私敏感),例如,因为它们适于防止关于用户的信息的泄漏。例如,由系统生成的访问频率估计能够满足差分隐私的标准,例如,使得不能利用访问频率估计来确定各个用户何时以及是否已经访问数字资源。
为了能够生成隐私保护访问频率估计,系统能够处理数字资源的访问数据(例如,该访问数据标识在多个时间点中的每一个访问数字资源的相应用户集合)以生成树模型(数据结构)。树模型能够指包括节点集合和边集合的分层结构,其中每个边将相应的“父”节点连接到相应的“子”节点,并且其中每个节点(除了根节点)具有一个父节点。
系统能够构建树模型以通过组合与树模型中的节点相关联的值来使得能够为任何时间窗口生成访问频率估计的方式对访问数据进行编码。为了保护隐私,系统能够将相应的噪声和与树模型中的每个节点相关联的值组合,这具有使使用树模型生成的访问频率估计噪声化并因此保护隐私的效果。特别地,对访问频率估计噪声化能够通过模糊可能以其他方式从访问频率估计被泄漏的关于个体用户的信息来保护隐私。
树模型能够以适合于使系统能够通过组合与树模型中有限数量的节点(例如,至多log(T)或log2(T)个节点)相关联的值来生成访问频率估计的方式对访问数据进行编码,其中T是由访问数据覆盖的时间点的数量。使用来自树模型的有限数量的节点生成访问频率估计具有限制注入到访问频率估计中的噪声量的效果,并且因此在保护隐私的同时提高访问频率估计的准确性。相比之下,例如在没有本说明书中描述的树模型的益处的情况下操作的用于保护隐私的一些常规方法只能以将明显更多的噪声注入到访问频率估计中为代价来保护隐私,从而导致明显更低的准确度。
本说明书中描述的系统通过组合与树模型中的有限数量的节点相关联的值来使得能够针对任何时间间隔生成访问频率估计,从而使得能够减少计算资源(例如,内存和计算能力)的消耗。相比之下,用于生成访问频率估计的一些常规方法需要存储整个访问数据集(其需要比存储树模型更多的内存)并且在每次生成访问频率估计时处理整个访问数据集(其消耗比通过利用树模型生成访问频率估计明显更多的计算能力)。
在附图和下面的描述中阐述了本说明书的主题的一个或多个实施例的细节。根据说明书、附图和权利要求,主题的其他特征、方面和优点将变得显而易见。
附图说明
图1是示例访问频率估计系统的框图。
图2示出了能够用于表示数字资源访问数据的示例一维(1D)树模型。
图3示出了能够用于表示数字资源访问数据的另一示例二维(2D)树模型。
图4是用于访问频率估计的示例过程的流程图。
图5是其中分布数字分量的示例环境的框图。
图6是示例计算机系统的框图。
各个附图中相同的附图标记和名称指示相同的元件。
具体实施方式
本说明书描述了一种访问频率估计系统,其能够生成准确且隐私保护的访问频率估计,例如,对在时间窗口期间访问数字资源至少阈值次数(例如,至少一次)的用户数量的估计。
数字资源能够指用户集合例如通过计算机可访问的任何适当的数字数据。用户能够以各种可能方式中的任何一种来访问数字资源。接下来描述数字资源和用户能够访问数字资源的可能方式的几个示例。
在一些实施方式中,数字资源能够是数据存储位置,例如数据库。用户能够例如通过数据库可用的应用编程接口(API)访问数据库,例如以从数据库查询信息,或将信息存储在数据库中,或两者。
在一些实施方式中,数字资源能够是应用或网页,例如,用户能够通过在用户设备上可用的用户界面来访问该应用或网页。访问应用或网页能够指与应用或网页交互。
在一些实施方式中,数字资源能够是计算资源,例如,在云计算环境中对用户可用的一个或多个处理器(例如,中央处理单元(CPU)或图形处理单元(GPU))。用户能够访问计算资源,例如,通过提供定义要使用计算资源执行的一个或多个计算任务的数据。
在一些实施方式中,数字资源能够是数字分量,并且用户可以通过在用户设备处例如从数字分量传输系统接收数字资源的传输来访问数字资源。参考图5描述数字分量传输系统的示例。
如贯穿本文档所使用的,短语“数字分量”是指数字内容或数字信息的离散单元,其能够包括例如视频剪辑、音频剪辑、多媒体剪辑、图像、文本片段或统一资源定位符(URL)中的一个或多个。数字分量能够作为单个文件或文件集合被电子地存储在物理存储器设备中,并且数字分量能够采取视频文件、音频文件、多媒体文件、图像文件或文本文件的形式,并且包括流式视频、流式音频、社交网络帖子、博客帖子和/或广告信息,使得广告是一种类型的数字分量。通常,数字分量由单个源(例如,数字分量提供商)定义(或提供),但是从一个源提供的数字分量可以用来自另一个源的数据(例如,天气信息、实时事件信息或从另一个源获得的其他信息)来增强。
访问频率估计系统能够生成隐私保护访问频率估计。在整个说明书中,“访问频率估计”是指对在时间窗口期间访问数字资源至少阈值次数(例如,至少一次)的用户数量的估计。“隐私保护”访问频率估计是指适于防止关于用户的信息泄漏的访问频率估计。
为了能够生成隐私保护访问频率估计,访问频率系统能够处理数字资源的访问数据(例如,该访问数据标识在多个时间点中的每一个访问数字资源的相应用户集合)以生成树模型,例如1D或2D树模型。在整个说明书中,“树模型”是指包括节点集合和边集合的分层结构,其中每个边将相应的“父”节点连接到相应的“子”节点,并且其中每个节点(除了根节点)具有一个父节点。“一维”或“1D”树模型是指其中树模型的每个节点由定义一维空间的区域的参数集合来参数化的树模型。图2中示出了示例1D树模型。“二维”或“2D”树模型是指其中树模型的每个节点由定义二维空间的区域的参数集合来参数化的树模型。图3中示出了示例2D树模型。
访问频率估计系统能够处理1D树模型以生成固定窗口访问频率估计。在访问频率估计系统的固定窗口实施方式中,系统的用户能够被限制为查询对固定长度的时间间隔的访问频率估计,例如,包括固定数量的时间点。访问频率估计系统能够处理2D树模型以生成时间窗口访问频率估计。在访问频率估计系统的时间窗口实施方式中,系统的用户可以查询任何适当长度的时间间隔的访问频率估计,例如,具有两个时间点的第一间隔和具有五个时间点的第二间隔。
为了保护隐私,访问频率估计系统能够将相应的噪声和与树模型(例如,1D或2D树模型)中的每个节点相关联的值组合,这具有使使用树模型生成的访问频率估计噪声化并因此保护隐私的效果。访问频率估计系统能够处理树模型以以隐私敏感方式生成对在时间窗口内访问数字资源至少预定义次数的用户数量的估计。下面更详细地描述这些和其他特征。
图1是示例访问频率估计系统100的框图。访问频率估计系统100是在一个或多个位置中的一个或多个计算机上实现为计算机程序的系统的示例,其中实现了下面描述的系统、组件和技术。
系统100被配置为获得数字资源的访问数据102并处理访问数据102以生成对在时间窗口期间访问数字资源至少阈值次数的用户数量108的估计。数字资源的访问数据102能够指定在时间点序列中的每个时间点访问数字资源的相应用户集合。(每个用户能够例如与唯一的字母数字标识符相关联)。对于时间点序列中的每个时间点,访问数据102能够包括标识在该时间点访问数字资源的用户集合的数据。访问数据102能够包括任何适当数量的时间点,例如1000个时间点、10000个时间点、100000个时间点或任何其他适当数量的时间点。在某个时间点访问数字资源的用户集合能够包括任何适当数量的用户,例如,1000个用户、10000个用户、100000个用户或任何其他适当数量的用户。系统100能够以任何适当的方式获得访问数据102。例如,系统100能够例如通过系统100可用的API来接收访问数据102。
如上所述,访问频率估计系统100能够处理访问数据102以生成对在时间窗口期间访问数字资源至少阈值次数的用户数量108的估计。访问频率估计系统100能够使用以下来生成用户数量108的估计:(i)树模型引擎110,以及(ii)估计器引擎120,接下来更详细地描述其中的每一个。
树模型引擎110能够被配置为处理访问数据102以生成定义树模型104的数据。如上所述,树模型104能够是包括节点集合和边集合的分层结构,其中每个边连接树模型中的相应一对节点。每个边能够树模型中的将“父”节点连接到相应“子”节点,并且树模型中的每个节点(根节点除外)可以具有一个父节点。树模型的节点集合还能够包括叶节点集合,例如,每个通过边连接到父节点但不连接到任何子节点的节点。在一些情况下,树模型能够是二叉树模型,例如,其中每个非叶节点通过边连接到两个子节点的树模型。在一些情况下,树模型能够是四叉树模型,例如,其中每个非叶节点通过边连接到四个子节点的树模型。在一些情况下,树模型104能够是1D树模型或2D树模型。访问频率估计系统100能够处理1D树模型以生成固定窗口访问频率估计。访问频率估计系统100能够处理2D树模型以生成时间窗口访问频率估计。下面参考图2和图3更详细地描述示例树模型。
作为特定示例,参考图2,树模型200能够是1D树模型,其包括例如通过边214连接的一对节点212a、212b,其中节点212b是父节点,并且节点212a是父节点212b的子节点。父节点212b也是根节点,例如,通过边连接到一个或多个子节点但不连接到任何父节点的节点。树模型200中的节点集合还可以包括叶节点集合210,例如,每个通过边连接到父节点但不连接到任何子节点的节点。树模型200中未包括在该组叶节点210中的其他节点可以被称为树模型200中的内部节点220。作为特定示例,如果访问数据包括时间点序列,其包括例如八个时间点,则树模型引擎可以生成图2所示的树模型200,其包括八个叶节点210,每个叶节点210针对访问数据中包括的每个时间点。
回到图1,树模型104中的每个节点与指定时间跨度中的多个时间间隔的“键”相关联。通常,键能够指定任何适当数量的时间间隔,例如,三个时间间隔或四个时间间隔。树模型104中的每个节点能够与“值”相关联,该“值”基于满足特定于节点的选择标准的相应用户数量,该特定于节点的选择标准基于由节点的键指定的时间间隔。通常,特定于节点的选择标准能够是任何适当的标准。在一些情况下,特定于节点的选择标准能够表征例如用户在由键指定的每个时间间隔中访问数字资源的次数。下面更详细地描述特定于节点的选择标准的示例。
在一些情况下,作为生成树模型104的一部分,树模型引擎110能够将相应噪声添加到与树模型104中的每个节点相关联的值。例如,树模型引擎110能够从概率分布采样噪声值,并将噪声值添加(或以其他方式组合)到与树模型104中的节点相关联的值。分布能够是例如高斯分布、拉普拉斯分布或任何其他适当的分布。在一些情况下,树模型引擎110能够采样树模型104中所包含的节点中的每一个的新(例如,不同的)噪声值。下面参考图2和图3更详细地描述示例树模型。
如上所述,树模型引擎110被配置为接收访问数据102并处理访问数据102以生成树模型104。访问频率估计系统100能够接收估计在时间窗口内访问数字资源至少预定义次数(例如,至少1次、5次或任何其他适当的次数)的用户数量108的请求106。系统100能够以任何适当的方式接收请求106。例如,系统100能够例如通过系统100可用的API从系统100的用户接收请求106。
响应于该请求,系统100能够使用估计器引擎120来处理树模型104以生成对在时间窗口内访问数字资源至少预定义次数的用户数量108的估计。例如,估计器120能够处理树模型104以识别树模型104中的多个节点(例如,包括一个或多个叶节点和/或一个或多个内部节点),每个节点具有满足基于时间窗口的识别标准的相应键。识别标准能够是任何适当的识别标准。在一些情况下,估计器120能够识别树模型104中的一个或多个叶节点和一个或多个内部节点各自具有满足基于时间窗口的识别标准的相应键。例如,参考图2,估计器能够识别叶节点212c和内部节点212d各自具有满足基于时间窗口的识别标准的相应键。
回到图1,估计器120能够确定与所识别的节点相关联的值的组合,例如,作为与所识别的节点相关联的值的总和,或者以任何其他适当的方式。然后,估计器120能够至少部分地基于与所识别的节点相关联的值的组合来生成对用户数量108的估计。在一些情况下,访问频率估计系统100能够通过系统100可用的API将对在时间窗口内访问数字资源至少预定次数的用户数量108的估计输出给例如系统100的用户。
以这种方式,访问频率估计系统100能够通过组合与树模型104中的有限数量的节点(例如,至多log(T)或log2(T)个节点)相关联的值来生成用户数量108的估计(例如,访问频率估计),其中T是包括在访问数据102中的时间点的数量。使用来自树模型104的有限数量的节点生成访问频率估计108具有限制注入到访问频率估计108中的噪声量的效果,并且因此在保护隐私的同时提高访问频率估计108的准确性。
访问频率估计系统100能够以各种可能的方式使用访问频率估计108,下面将描述其中的几个示例。
在一些实施方式中,系统100能够生成指示访问频率估计的通知,并且提供该通知,例如用于通过用户界面显示。
在一些实施方式中,系统100能够使用访问频率估计来确定是否已经发生了网络攻击,例如分布式拒绝服务(DDoS)攻击。例如,如果至少阈值数量的用户在时间窗口内已经访问数字资源至少阈值次数,则系统能够确定已经发生了网络攻击。
在一些实施方式中,系统100能够基于访问频率估计来修改数字资源对用户可用的条件。例如,如果用户通过接收数字分量的传输来访问数字资源,则系统能够基于访问频率估计来修改控制数字资源何时被发送给用户的分发参数,例如,以使数字分量被发送给更多或更少的用户。
在一些实施方式中,系统100能够基于访问频率估计来修改数字资源。例如,如果数字资源是计算资源,则系统能够响应于确定访问频率估计满足阈值而增加或减少通过计算资源可用的计算能力。
下面参考图2和图3更详细地描述示例树模型104。
图2示出了由访问频率估计系统(例如,图1中的系统100)生成的示例一维(1D)树模型200。图2所示的树模型200是一维树模型的示例。访问频率估计系统能够处理1D树模型200以生成固定窗口访问频率估计。
如上所述,访问频率估计系统能够通过处理数字资源的访问数据来生成树模型200。对于时间点序列中的每个时间点,访问数据能够包括标识在该时间点访问数字资源的用户集合的数据。图2提供了基于包括八个时间点的序列的访问数据生成的树模型200的简化示例。通常,访问频率估计系统能够通过处理包括时间点序列中的任何适当数量的时间点的访问数据来生成树模型200。
树模型200包括节点集合,例如多个叶节点210和多个内部节点220,以及边集合,其中每个边连接一对节点。树模型200中的每个节点与指定时间跨度中的多个时间间隔的键相关联。在图2中,每个节点的示例键被示为方括号中的一对数字。例如,节点212a包括键[1,4]。类似地,根节点212b包括键[1,8]。
对于一维树模型200中的每个节点,节点的键能够通过定义一维空间230的区域的参数集合来参数化。例如,一维树模型200中的每个叶节点210的键能够通过参数t来参数化,并且叶节点210的参数能够定义由t给出的一维空间的区域。对于树模型200中的每个父节点,由父节点的键定义的一维空间的区域能够被由父节点的子节点的键定义的一维空间的区域来划分。例如,如图2所示,由父节点212a的键[1,4]定义的一维空间的区域被由子节点212e的键[1,2]定义的空间区域和由子节点212d的键[3,4]定义的空间区域划分。
对于树模型200中的一个或多个节点,节点的键能够指定至少第一时间间隔、第二时间间隔、第三时间间隔和第四时间间隔。在一些情况下,第一时间间隔、第二时间间隔、第三时间间隔和第四时间间隔能够彼此不同。作为特定示例,对于叶节点,由每个键指定的第一时间间隔能够包括t-1。由每个键指定的第二时间间隔能够包括[t,t+W-1],其中W是访问频率估计系统的预定义的超参数。由每个键指定的第三时间间隔能够包括t+W-1。由每个键指定的第四时间间隔能够包括[t-1,t+W-2]。在访问频率估计系统的该实施方式(例如,固定窗口到达实施方式)中,系统的用户能够被限制为查询长度为W的时间间隔的访问频率估计。在整个说明书中,在一些情况下,单个数字能够定义时间间隔,例如,t-1可以定义[t-1,t-1]时间间隔。
如上所述,树模型200中的每个节点能够与基于满足特定于节点的选择标准的相应用户数量的值相关联,该特定于节点的选择标准基于由节点的键指定的时间间隔。对于图2所示的一维树模型200中的每个叶节点,与节点相关联的值能够基于以下两者之间的差:(i)满足基于由节点的键指定的时间间隔的第一特定于节点的选择标准的用户数量,以及(ii)满足基于由节点的键指定的时间间隔的第二特定于节点的选择标准的用户数量。
对于树模型200中的一个或多个叶节点210,只有在以下情况下,用户才可以满足节点的第一特定于节点的选择标准:(i)用户在第一时间间隔中访问数字资源,以及(ii)用户在第二时间间隔中访问数字资源目标次数。只有在以下情况下,用户才可以满足节点的第二特定于节点的选择标准:(i)用户在第三时间间隔中访问数字资源,以及(ii)用户在第四时间间隔中访问数字资源目标次数。在一些情况下,目标次数能够是,例如零。每次系统基于树模型中的叶节点的用户数量生成值时,例如,如上所述,系统能够将该值添加到树模型中的叶节点的父节点,并且添加到叶节点的任何其他祖先节点。以这种方式,系统能够使用针对树模型中的叶节点确定的值来确定树模型中的每个其他(例如,非叶)节点的值。
下面参考图3更详细地描述示例二维树模型。
图3示出了由访问频率估计系统(例如,图1中的访问频率估计系统100)生成的示例二维(2D)树模型300。访问频率估计系统能够处理2D树模型300以生成时间窗口访问频率估计。
如上所述,访问频率估计系统能够通过处理数字资源的访问数据来生成树模型300。对于时间点序列中的每个时间点,访问数据能够包括标识在该时间点访问数字资源的用户集合的数据。类似于上面的图2,图3提供了基于包括八个时间点的序列的访问数据生成的树模型300的简化示例。通常,访问频率估计系统能够通过处理包括时间点序列中的任何适当数量的时间点的访问数据来生成树模型300。在图3中,为了清楚起见,省略了树模型300的一些节点。
对于二维树模型300中的每个节点,节点的键由定义二维空间310的区域的参数集合来参数化。例如,节点的键能够通过相应的参数a、b、c、d来参数化。参数能够定义由[a,b]×[c,d]给出的二维空间的区域。对于树模型300中的每个父节点,由父节点的键定义的二维空间的区域被由父节点的子节点的键定义的二维空间的区域划分。例如,如图3所示,对于父节点302,由父节点302的键定义的空间区域310被子节点304-A的空间区域310-A、子节点304-B的空间区域310-B、子节点304-C的空间区域310-C和子节点304-D的空间区域310-D划分。类似地,对于父节点304-D,由父节点304-D的键定义的空间区域320被子节点306-A的空间区域320-A、子节点306-B的空间区域320-B、子节点306-C的空间区域320-C和子节点306-D的空间区域320-D划分。对于二维树模型300中的一个或多个节点,节点的键指定至少第一时间间隔、第二时间间隔和第三时间间隔。在一些情况下,第一时间间隔、第二时间间隔和第三时间间隔彼此不同。作为特定示例,由每个键指定的第一时间间隔能够包括[a-1,b-1]。由每个键指定的第二时间间隔能够包括[T+2-d,T+2-c],其中T是时间点序列中的最后时间点。由每个键指定的第三时间间隔能够包括[b,T+1-d]。
如上所述,二维树模型300中的每个节点能够与基于满足特定于节点的选择标准的相应用户数量的值相关联,该特定于节点的选择标准基于由节点的键指定的时间间隔。对于图3所示的二维树模型300中的一个或多个节点中的每一个,只有在以下情况下,用户才能够满足节点的特定于节点的选择标准:(i)用户在第一时间间隔中访问数字资源至少一次并且在第二时间间隔中访问数字资源至少一次,以及(ii)用户在第三时间间隔中访问数字资源目标次数。在一些情况下,对于二维树模型300中的一个或多个节点,目标次数能够是,例如零。
下面参考图4更详细地描述由访问频率估计系统执行的数字资源访问频率估计的示例过程。
图4是用于数字资源访问频率估计的示例过程的流程图。为了方便起见,过程400被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书适当编程的访问频率估计系统(例如,图1的访问频率估计系统100)能够执行过程400。
系统获得数字资源的访问数据(402)。对于时间点序列中的每个时间点,访问数据能够包括标识在该时间点访问数字资源的用户集合的数据。在一些情况下,用户能够通过接收数字分量的传输来访问数字资源。
系统处理访问数据以生成定义树模型的数据(404)。树模型能够是二叉树模型。树模型能够包括节点集合,并且该组节点中的每个节点能够与以下各项相关联:(i)指定时间跨度中的多个时间间隔的键,以及(ii)基于满足特定于节点的选择标准的相应用户数量的值,该特定于节点的选择标准基于由节点的键指定的时间间隔。在一些情况下,树模型还能够包括边集合,其中每个边连接树模型中的相应一对节点。在一些情况下,系统能够通过将相应噪声添加到与树模型中的每个节点相关联的值来生成树模型。
在一些情况下,对于树模型中的一个或多个节点,节点的键能够至少指定彼此不同的第一时间间隔、第二时间间隔和第三时间间隔。在一些情况下,对于树模型中的一个或多个节点,只有在以下情况下,用户才能够满足节点的特定于节点的选择标准:(i)用户在第一时间间隔中访问数字资源至少一次并且在第二时间间隔中访问数字资源至少一次,以及(ii)用户在第三时间间隔中访问数字资源目标次数。在一些情况下,对于树模型中的一个或多个节点,目标次数能够是零。
在一些实施方式中,树模型能够是二维树模型。对于树模型中的每个节点,节点的键能够由定义二维空间的区域的参数集合来参数化。例如,对于树模型中的每个父节点:由父节点的键定义的二维空间的区域被由父节点的子节点的键定义的二维空间的区域划分。作为特定示例,节点的键能够通过相应的参数a、b、c、d来参数化。参数定义由[a,b]×[c,d]给出的二维空间的区域。第一时间间隔能够包括[a-1,b-1]。第二时间间隔能够包括[T+2-d,T+2-c],其中T是时间点序列中的最后时间点。第三时间间隔能够包括[b,T+1-d]。
在一些实施方式中,对于树模型中的每个节点,与节点相关联的值能够基于以下两者之间的差:(i)满足基于由节点的键指定的时间间隔的第一特定于节点的选择标准的用户数量,以及(ii)满足基于由节点的键指定的时间间隔的第二特定于节点的选择标准的用户数量。在这种情况下,对于树模型中的一个或多个节点,节点的键能够至少指定彼此不同的第一时间间隔、第二时间间隔、第三时间间隔和第四时间间隔。对于树模型中的一个或多个叶节点:只有在以下情况下,用户才能够满足节点的第一特定于节点的选择标准:(i)在第一时间间隔中访问数字资源,以及(ii)在第二时间间隔中访问数字资源目标次数,只有在以下情况下,用户才能够满足节点的第二特定于节点的选择标准:(i)用户在第三时间间隔中访问数字资源,以及(ii)在第四时间间隔中访问数字资源目标次数。
在一些情况下,树模型能够是一维树模型。在这种情况下,对于树模型中的每个节点,节点的键能够通过定义一维空间的区域的参数集合来参数化。例如,对于树模型中的每个父节点:由父节点的键定义的一维空间的区域被由父节点的子节点的键定义的一维空间的区域划分。作为特定示例,对于树模型的一个或多个叶节点:节点的键能够通过参数t来参数化。参数能够定义由t给出的一维空间的区域。第一时间间隔能够包括t-1。第二时间间隔能够包括[t,t+W-1],其中W是预定义的超参数。第三时间间隔能够包括t+W-1。第四时间间隔能够包括[t-1,t+W-2]。
系统接收确定在时间窗口内访问数字资源至少预定义次数的用户数量的请求(406)。
响应于该请求,系统处理树模型以生成对在时间窗口内访问数字资源至少预定义次数的用户数量的估计(408)。系统能够通过识别树模型中的多个节点来处理树模型,每个节点具有满足基于时间窗口的识别标准的相应键。例如,系统能够识别树模型的一个或多个叶节点和树模型的一个或多个内部节点各自具有满足基于时间窗口的识别标准的相应键。
作为特定示例,系统能够处理一维(1D)树模型以识别具有满足根据下面更详细概述的“差分隐私固定窗口到达查询”算法的识别标准的键的节点,其中Si是在时间步长i访问数字资源的用户集合,Si+W-1是在时间步长i+W-1访问数字资源的用户集合,W是时间窗口长度,n[a,b]是与间隔[a,b]相关联的节点的值,并且lsbit(i)表示i的最低有效位的索引。特别地,该过程的输入是时间索引i,并且输出是在该时间间隔[i,i+W-1]内访问数字资源至少一次的用户数量的估计。应当理解,差分隐私固定窗口到达查询需要组合树模型中的最多logT节点,其中T是由访问数据覆盖的总时间范围。
差分隐私固定窗口到达查询
/>
作为另一特定示例,系统能够处理二维(2D)树模型以识别具有满足根据下面更详细概述的“差分隐私时间窗口到达查询”算法的识别标准的键的节点,其中Si是在时间步长i访问数字资源的用户集合,Sj是在时间步长j访问数字资源的用户集合,T是时间步长的总数,d是用户的总数,n是用户的数量,lsbit(i)表示i的最低有效位的索引,以及lsbit(j)表示j的最低有效位的索引。特别地,该过程的输入是时间范围[i,j],并且该过程的输出是在该时间间隔[i,j]内访问数字资源至少一次的用户数量的估计。应当理解,差分隐私时间窗口到达查询算法需要组合最多log2T节点,其中T是由访问数据覆盖的总时间范围。
差分隐私时间窗口到达查询
系统能够确定与所识别的节点相关联的值的组合,例如,作为与所识别的节点相关联的值的总和。然后,系统能够至少部分地基于与所识别的节点相关联的值的组合来生成对用户数量的估计。在一些情况下,系统能够输出对在时间窗口内访问数字资源至少预定次数的用户数量的估计。
接下来更详细地描述其中分布数字分量的示例环境。
图5是其中数字分量被发送以与电子文档一起呈现的示例环境500的框图。本说明书描述了能够用于在时间窗口内接收到数字分量的至少阈值数量的传输的用户数量的隐私敏感估计的技术。
环境500能够包括访问频率估计系统100(例如,上面参考图1描述的访问频率估计系统100)。访问频率估计系统100能够获得数字资源的访问数据,其中对于时间点序列中的每个时间点,访问数据包括标识在该时间点访问数字资源(例如,数字分量)的用户集合的数据。系统100能够处理访问数据以执行访问频率估计,例如,生成对在时间窗口内访问数字资源(例如,数字分量)至少预定次数的用户数量的估计。系统100能够以各种不同的方式使用估计。例如,如果用户通过接收数字分量的传输来访问数字资源,则系统100能够基于访问频率估计来修改控制数字资源何时被发送给用户的分发参数,例如,以使数字分量被发送给更多或更少的用户。
示例环境500包括网络502,诸如局域网(LAN)、广域网(WAN)、互联网或其组合。网络502连接电子文档服务器504、客户端设备506、数字分量服务器508和数字分量分发系统510(也称为“分发系统”510)。示例环境500能够包括许多不同的电子文档服务器504、客户端设备506和数字分量服务器508。
客户端设备506是能够通过网络502请求和接收资源的电子设备。示例客户端设备506包括个人计算机、移动通信设备(例如,移动电话)以及能够通过网络502发送和接收数据的其他设备。客户端设备506通常包括诸如web浏览器的用户应用,以促进通过网络502发送和接收数据,但是由客户端设备506执行的本机应用也能够促进通过网络502发送和接收数据。
电子文档是在客户端设备506处呈现内容集合的数据。电子文档的示例包括网页、文字处理文档、便携式文档格式(PDF)文档、图像、视频、搜索结果页面和馈送源。诸如安装在移动、平板或台式计算设备上的应用的本机应用(例如,“app”)也是电子文档的示例。电子文档能够由电子文档服务器504(“电子文档服务器”)提供给客户端设备506。例如,电子文档服务器504能够包括托管发布者网站的服务器。在该示例中,客户端设备506能够发起对给定发布者网页的请求,并且托管给定发布者网页的电子服务器504能够通过发送在客户端设备506处发起给定网页的呈现的机器可执行指令来响应该请求。
在另一示例中,电子文档服务器504能够包括客户端设备506能够从其下载app的app服务器。在该示例中,客户端设备506能够下载在客户端设备506处安装app所需的文件,然后在本地执行下载的app。
电子文档能够包括各种内容。例如,电子文档能够包括在电子文档本身内和/或不随时间改变的静态内容(例如,文本或其他指定内容)。电子文档还能够包括可以随时间或在每个请求的基础上改变的动态内容。例如,给定电子文档的发布者能够维护用于填充电子文档的部分的数据源。在该示例中,给定电子文档能够包括一个或多个标签或脚本,当客户端设备506处理(例如,渲染或执行)给定电子文档时,该一个或多个标签或脚本使客户端设备506从数据源请求内容。客户端设备506将从数据源获得的内容集成到给定电子文档中,以创建包括从数据源获得的内容的复合电子文档。
在一些情况下,给定电子文档能够包括引用数字分量分发系统510的一个或多个数字分量标签或数字分量脚本。在这些情况下,当客户端设备506处理给定电子文档时,客户端设备506执行数字分量标签或数字分量脚本。数字分量标签或数字分量脚本的执行将置客户端设备506配置为生成对一个或多个数字分量512的请求(称为“分量请求”),该请求通过网络502被发送到数字分量分发系统510。例如,数字分量标签或数字分量脚本能够使客户端设备506能够生成包括报头和有效载荷数据的分组化数据请求。分量请求512能够包括指定特征的事件数据,诸如从其请求数字分量的服务器的名称(或网络位置)、请求设备(例如,客户端设备506)的名称(或网络位置)、和/或数字分量分发系统510能够用来选择响应于请求而提供的一个或多个数字分量的信息。分量请求512由客户端设备506通过网络502(例如,电信网络)发送到数字分量分发系统510的服务器。
分量请求512能够包括指定其他事件特征的事件数据,诸如被请求的电子文档和能够呈现数字分量的电子文档的位置的特性。例如,能够向数字分量分发系统510提供指定对将在其中呈现数字分量的电子文档(例如,网页)的引用(例如,URL)、可用于呈现数字分量的电子文档的可用位置、可用位置的大小和/或有资格在这些位置中呈现的媒体类型的事件数据。类似地,指定与电子文档相关联的键(“文档键”)或由电子文档引用的实体(例如,人、地点或事物)的事件数据也能够被包括在分量请求512中(例如,作为有效载荷数据),并且被提供给数字分量分发系统510,以便于识别有资格与电子文档一起呈现的数字分量。事件数据还能够包括从客户端设备506提交以获得搜索结果页面的搜索查询,和/或指定搜索结果和/或包括在搜索结果中的文本、可听或其他视觉内容的数据。
分量请求512还能够包括与其他信息相关的事件数据,诸如客户端设备的用户已经提供的信息、指示从其提交分量请求的州或区域的地理信息、或为其中将显示数字分量的环境提供上下文的其他信息(例如,分量请求的一天中的时间、分量请求的一周中的一天、将显示数字分量的设备的类型,诸如移动设备或平板设备)。分量请求512能够例如通过分组化网络被发送,并且分量请求512本身能够被格式化为具有报头和有效载荷数据的分组化数据。报头能够指定分组的目的地,并且有效载荷数据能够包括上面讨论的任何信息。
响应于接收到分量请求512和/或使用包括在分量请求512中的信息,分量分发系统510选择将与给定电子文档一起呈现的数字分量。在一些实施方式中,在数字分量小于一秒内被选择(使用本文描述的技术)以避免可能由数字分量的延迟选择引起的错误。例如,响应于分量请求512而提供数字分量的延迟可能导致客户端设备506处的页面加载错误,或者即使在客户端设备506处呈现电子文档的其他部分之后,也导致电子文档的部分保持未填充。此外,随着向客户端设备506提供数字分量的延迟增加,当数字分量被递送到客户端设备506时,电子文档将更可能不再在客户端设备506处呈现,从而负面地影响用户对电子文档的体验。此外,例如,如果在提供数字分量时不再在客户端设备506处呈现电子文档,则提供数字分量的延迟可能导致数字分量的传送失败。
在一些实施方式中,数字分量分发系统510在分布式计算系统中实现,该分布式计算系统包括例如服务器和多个计算设备的集合514,其互连并响应于请求512识别和分发数字分量。多个计算设备的集合514一起操作以从数百万个可用数字分量(DC1-x)的语料库中识别有资格在电子文档中呈现的数字分量集合。数百万个可用数字分量能够例如在数字分量数据库516中被索引。每个数字分量索引条目能够引用对应的数字分量和/或包括有助于(例如,调节或限制)对应的数字分量的分发/传输的分发参数(DP1-DPx)。例如,分发参数能够通过要求分量请求包括与数字分量的分发参数中的一个匹配(例如,精确地匹配或具有一些预先指定的相似度水平)的至少一个标准来有助于数字分量的传输。
在一些实施方式中,特定数字分量的分发参数能够包括必须匹配的分发键(例如,通过电子文档、文档键或分量请求512中指定的术语),以便数字分量有资格呈现。换句话说,分发参数用于触发数字分量通过网络502的分发(例如,传输)。分发参数还能够要求分量请求512包括指定特定地理区域(例如,国家或州)的信息和/或指定分量请求512源自特定类型的客户端设备(例如,移动设备或平板设备)的信息,以便数字分量有资格呈现。
分发参数还能够指定资格值(例如,排名得分、出价或一些其他指定值),该资格值用于例如通过分量评估过程评估数字分量用于分发/传输(例如,在其他可用数字分量中)的资格。在一些情况下,资格值能够指定数字分量的提供者愿意响应于数字分量的传输(例如,对于归因于数字分量的呈现的特定事件的每个实例,诸如用户与数字分量的交互)而提交的最大报酬量。
有资格的数字分量的识别能够被分割成多个任务517a-517c,然后在多个计算设备的集合514内的计算设备之间分配多个任务517a-517c。例如,集合514中的不同计算设备能够各自分析数字分量数据库516的不同部分,以识别具有与分量请求512中包括的信息匹配的分布参数的各种数字分量。在一些实施方式中,集合514中的每个给定计算设备能够分析不同的数据维度(或维度的集合)并将分析的结果(Res 1-Res 3)518a-518c传递(例如,发送)回数字分量分发系统510。例如,由集合514中的每个计算设备提供的结果518a-518c能够标识有资格响应于分量请求而分发的数字分量的子集和/或具有某些分发参数的数字分量的子集。数字分量的子集的识别能够包括例如将事件数据与分发参数进行比较,以及识别具有与事件数据的至少一些特征匹配的分发参数的数字分量的子集。
数字分量分发系统510聚合从多个计算设备的集合514接收的结果518a-518c,并使用与聚合的结果相关联的信息以:(i)选择将响应于请求512而提供的一个或多个数字分量,以及(ii)确定一个或多个数字分量的传输要求。例如,数字分量分发系统510能够基于一个或多个分量评估过程的结果来选择获胜数字分量集合(一个或多个数字分量)。进而,数字分量分发系统510能够生成并通过网络502发送回复数据520(例如,表示回复的数字数据),回复数据520使得客户端设备506能够将获胜数字分量集合集成到给定电子文档中,使得获胜数字分量集合和电子文档的内容一起呈现在客户端设备506的显示器处。
在一些实施方式中,客户端设备506执行包括在回复数据520中的指令,该指令配置并使得客户端设备506能够从一个或多个数字分量服务器获得获胜数字分量集合。例如,回复数据520中的指令能够包括网络位置(例如,统一资源定位符(URL))和使客户端设备506向数字分量服务器508发送服务器请求(SR)521以从数字分量服务器508获得给定的获胜数字分量的脚本。响应于该请求,数字分量服务器508将识别在服务器请求521中指定的给定获胜数字分量(例如,在存储多个数字分量的数据库内),并且向客户端设备506发送数字分量数据(DC数据)522,该数字分量数据在客户端设备506处的电子文档中呈现给定获胜数字分量。
为了促进电子文档的搜索,环境500能够包括搜索系统550,搜索系统550通过对电子文档进行爬取和索引(例如,基于电子文档的爬取内容进行索引)来识别电子文档。能够基于与数据相关联的电子文档来索引关于电子文档的数据。电子文档的索引和可选地缓存的副本被存储在搜索索引552(例如,硬件存储器设备)中。与电子文档相关联的数据是表示电子文档中包括的内容和/或电子文档的元数据的数据。
客户端设备506能够通过网络502向搜索系统550提交搜索查询。作为响应,搜索系统550访问搜索索引552以识别与搜索查询相关的电子文档。搜索系统550以搜索结果的形式标识电子文档,并在搜索结果页面中将搜索结果返回给客户端设备506。搜索结果是由搜索系统550生成的数据,其识别响应于(例如,相关于)特定搜索查询的电子文档,并且包括使客户端设备响应于用户与搜索结果的交互而从指定的网络位置(例如,URL)请求数据的活动链接(例如,超文本链接)。示例搜索结果能够包括网页标题、从网页提取的文本片段或图像的一部分、以及网页的URL。另一示例搜索结果能够包括可下载应用的标题、描述可下载应用的文本片段、描绘可下载应用的用户界面的图像、和/或能够从其将到应用下载到客户端设备506的位置的URL。在一些情况下,搜索系统550能够是应用商店(或在线门户)的一部分或与应用商店(或在线门户)交互,能够从应用商店(或在线门户)下载应用以安装在客户端设备506处,以便呈现关于与提交的搜索查询相关的可下载应用的信息。与其他电子文档一样,搜索结果页面能够包括其中能够呈现数字分量(例如,广告、视频剪辑、音频剪辑、图像或其他数字分量)的一个或多个槽。
为了选择要响应于分量请求而发送的数字分量,分发系统510能够识别有资格响应于分量请求而被发送的数字分量集合。然后,分发系统510能够选择要通过例如拍卖过程被发送的有资格的数字分量中的一个或多个。在一些实施方式中,分发系统510通过根据有资格数字分量各自的资格值对有资格数字分量进行排名并且响应于分量请求选择要被发送的一个或多个排名最高的数字分量来执行拍卖过程。
例如,分发系统510能够将数字分量A、B和C识别为有资格响应于分量请求而被发送。在该示例中,数字分量A具有资格值5,数字分量B具有资格值1,并且数字分量C具有资格值5.5,其中数字分量的资格值表示与数字分量相关联的出价。分发系统510能够根据数字分量各自的资格值(例如,以降序)将数字分量排名为:C、A、B。最后,分发系统510能够响应于分量请求而选择排名最高的数字分量C用于传输
在响应于数字分量请求而选择要被发送的数字分量之后,分发系统510确定所选择的数字分量的传输要求。传输要求指定响应于数字分量的传输而由数字分量的提供者执行的动作。例如,传输要求能够指定数字分量的提供者响应于数字分量的传输而提交一定量的补偿。在一些情况下,补偿量指定要针对归因于数字分量的呈现的特定事件的每个实例提交的量(例如,用户与数字分量的交互)。
分发系统510能够基于所选择的数字分量的资格值和/或响应于分量请求而被确定为有资格被发送的其他数字分量的资格值来确定所选择的数字分量的传输要求。例如,分发系统510能够响应于数字分量请求将数字分量A、B和C识别为有资格进行传输,其中A、B和C具有相应的资格值5、1和5.5。分发系统510能够选择数字分量C用于传输(因为它具有最高资格值),并且能够将数字分量C的传输要求确定为有资格的数字分量的资格值中的下一最高资格值。在该示例中,下一最高资格值是$5(即,数字分量A的资格值),并且因此分发系统510能够将数字分量C的传输要求确定为$5。
如上所述,分发系统510能够基于与每个数字分量相对应的分发参数来识别有资格响应于数字分量请求而被发送以在电子文档中呈现的数字分量集合。在一些情况下,与数字分量相对应的分发参数能够包括键聚类(即,多个键的集合)。分发系统510能够确定必须匹配来自键聚类的一个或多个键(例如,通过电子文档、文档键或数字分量请求中指定的术语),以便数字分量有资格传输。
例如,分发系统510能够接收包括特定键的数字分量请求。在该示例中,只有在键聚类中包括特定键时,分发系统510才能够响应于数字分量请求确定具有指定键聚类的分发参数的特定数字分量有资格进行传输。
在一些实施方式中,分发系统510使得数字分量的提供者能够设置指定来自预定的键聚类的集合的键聚类的分发参数。由聚类系统100输出的关键词聚类可以将关键词分组定义为语义相关的关键词聚类。例如,键聚类可以定义将键“鞋(或多个)”、“鞋”、“鞋类”、“靴子”、“防滑钉”、“高跟鞋”、“拖鞋”、“运动鞋”等分配给同一聚类。
图6是能够用于执行上述操作的示例计算机系统600的框图。系统600包括处理器610、存储器620、存储设备630和输入/输出设备640。组件610、620、630和640中的每一个能够例如使用系统总线650互连。处理器610能够处理用于在系统600内执行的指令。在一个实施方式中,处理器610是单线程处理器。在另一实施方式中,处理器610是多线程处理器。处理器610能够处理存储在存储器620中或存储设备630上的指令。
存储器620存储系统600内的信息。在一个实施方式中,存储器620是计算机可读介质。在一个实施方式中,存储器620是易失性存储器单元。在另一实施方式中,存储器620是非易失性存储器单元。
存储设备630能够为系统600提供大容量存储。在一个实施方式中,存储设备630是计算机可读介质。在各种不同的实施方式中,存储设备630能够包括例如硬盘设备、光盘设备、由多个计算设备(例如,云存储设备)通过网络共享的存储设备、或一些其他大容量存储设备。
输入/输出设备640为系统600提供输入/输出操作。在一个实施方式中,输入/输出设备640能够包括一个或多个网络接口设备,例如以太网卡、串行通信设备(例如RS-232端口)和/或无线接口设备(例如802.11卡)。在另一实施方式中,输入/输出设备能够包括驱动器设备,其被配置为接收输入数据并将输出数据发送到其他输入/输出设备,例如键盘、打印机和显示设备660。然而,也能够使用其他实施方式,诸如移动计算设备、移动通信设备、机顶盒电视客户端设备等。
尽管已经在图6中描述了示例处理系统,但是本说明书中描述的主题和功能操作的实施方式能够在其他类型的数字电子电路中实现,或者在计算机软件、固件或硬件(包括本说明书中公开的结构及其结构等同物)中实现,或者在它们中的一个或多个的组合中实现。
本说明书结合系统和计算机程序组件使用术语“配置”。对于被配置为执行特定操作或动作的一个或多个计算机的系统,意味着系统已经在其上安装了软件、固件、硬件或它们的组合,这些软件、固件、硬件或它们的组合在操作中使得系统执行操作或动作。对于被配置为执行特定操作或动作的一个或多个计算机程序,意味着一个或多个程序包括当由数据处理装置执行时使装置执行操作或动作的指令。
本说明书中描述的主题和功能操作的实施例能够在数字电子电路、有形体现的计算机软件或固件、计算机硬件(包括本说明书中公开的结构及其结构等同物)或它们中的一个或多个的组合中实现。本说明书中描述的主题的实施例能够被实现为一个或多个计算机程序,即,在有形非暂时性存储介质上编码的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理装置的操作。计算机存储介质能够是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。可替代地或另外地,程序指令能够被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,其被生成以编码信息,用于传输到合适的接收器装置,以供数据处理装置执行。
术语“数据处理装置”是指数据处理硬件,并且包括用于处理数据的所有种类的装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或计算机。装置还可以是或进一步包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,装置能够可选地包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。
计算机程序,其也可以被称为或描述为程序、软件、软件应用、app、模块、软件模块、脚本或代码,能够以任何形式的编程语言编写,包括编译或解释语言,或者声明或过程语言;并且它能够以任何形式被部署,包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其他单元。程序可以但不必须对应于文件系统中的文件。程序能够被存储在保存其他程序或数据的文件的一部分中,例如,存储在标记语言文档中的一个或多个脚本、存储在专用于所讨论的程序的单个文件中、或者存储在多个协调文件中,例如,存储一个或多个模块、子程序或代码部分的文件。计算机程序能够被部署为在一个计算机或多个计算机上执行,这些计算机位于一个站点或分布在多个站点并通过数据通信网络互连。
在本说明书中,术语“引擎”广泛地用于指代被编程为执行一个或多个特定功能的基于软件的系统、子系统或过程。通常,引擎将被实现为安装在一个或多个位置中的一个或多个计算机上的一个或多个软件模块或组件。在一些情况下,一个或多个计算机将专用于特定引擎;在其他情况下,可以在同一个或多个计算机上安装和运行多个引擎。
本说明书中描述的过程和逻辑流程能够由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也能够由专用逻辑电路(例如,FPGA或ASIC)执行,或者由专用逻辑电路和一个或多个编程计算机的组合执行。
适合于执行计算机程序的计算机能够基于通用或专用微处理器或两者,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器能够由专用逻辑电路补充或并入专用逻辑电路中。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备(例如磁盘、磁光盘或光盘),或者可操作地耦合以从其接收数据或向其传输数据或两者。然而,计算机不需要具有这样的设备。此外,计算机能够嵌入在另一设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备,例如通用串行总线(USB)闪存驱动器,仅举几例。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。
为了提供与用户的交互,本说明书中描述的主题的实施例能够在具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)以及用户能够通过其向计算机提供输入的键盘和定点设备(例如,鼠标或轨迹球)的计算机上实现。其他种类的设备也能够用于提供与用户的交互;例如,提供给用户的反馈能够是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且能够以任何形式接收来自用户的输入,包括声音、语音或触觉输入。另外,计算机能够通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从web浏览器接收的请求将网页发送到用户设备上的web浏览器。此外,计算机能够通过向个人设备(例如,运行消息传送应用的智能电话)发送文本消息或其他形式的消息并且作为回报从用户接收响应消息来与用户交互。
用于实现机器学习模型的数据处理装置还能够包括例如专用硬件加速器单元,用于处理机器学习训练或生产的公共和计算密集部分,即推理、工作负载。
能够使用机器学习框架(例如,TensorFlow框架)来实现和部署机器学习模型。
本说明书中描述的主题的实施例能够在计算系统中实现,该计算系统包括例如作为数据服务器的后端组件,或者包括例如作为应用服务器的中间件组件,或者包括例如具有图形用户界面、web浏览器或应用的客户端计算机的前端组件,用户可以通过其与本说明书中描述的主题的实施方式交互,或者一个或多个这样的后端、中间件或前端组件的任何组合。系统的组件能够通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如因特网。
计算系统能够包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系借助于在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施例中,服务器将数据(例如,HTML页面)发送到用户设备,例如,用于向与充当客户端的设备交互的用户显示数据和从其接收用户输入的目的。能够在服务器处从设备接收在用户设备处生成的数据,例如,用户交互的结果。
虽然本说明书包含许多具体的实施方式细节,但是这些不应被解释为对任何发明的范围或可能要求保护的范围的限制,而是作为可以特定于特定发明的特定实施例的特征的描述。在本说明书中在单独的实施例的上下文中描述的某些特征也能够在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也能够单独地或以任何合适的子组合在多个实施例中实现。此外,尽管特征可以在上面被描述为以某些组合起作用并且甚至最初如此要求保护,但是来自所要求保护的组合的一个或多个特征在一些情况下能够从组合中删除,并且所要求保护的组合可以针对子组合或子组合的变型。
类似地,虽然在附图中描绘了操作并且在权利要求中以特定顺序叙述了操作,但是这不应被理解为要求以所示的特定顺序或按顺序执行这些操作,或者执行所有示出的操作,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常能够一起集成在单个软件产品中或封装到多个软件产品中。
已经描述了主题的特定实施例。其它实施例在所附权利要求书的范围内。例如,权利要求中记载的动作能够以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的特定顺序或相继顺序来实现期望的结果。在一些情况下,多任务和并行处理可能是有利的。

Claims (20)

1.一种由一个或多个计算机执行的方法,所述方法包括:
获得数字资源的访问数据,其中,对于时间点序列中的每个时间点,访问数据包括标识在所述时间点访问数字资源的用户集合的数据;
处理访问数据以生成定义树模型的数据,其中,树模型包括节点集合,并且节点集合中的每个节点与以下相关联:
(i)指定时间跨度中的多个时间间隔的键,以及
(ii)基于满足特定于节点的选择标准的相应用户数量的值,所述特定于节点的选择标准基于由所述节点的键指定的所述多个时间间隔;
接收确定在时间窗口内访问数字资源至少预定义次数的用户数量的请求;以及
响应于所述请求:
处理树模型以生成对在所述时间窗口内访问数字资源至少预定义次数的用户数量的估计。
2.根据权利要求1所述的方法,其中,对于树模型中的一个或多个节点,所述节点的键指定至少第一时间间隔、第二时间间隔和第三时间间隔;
其中,第一时间间隔、第二时间间隔和第三时间间隔彼此不同。
3.根据权利要求2所述的方法,其中,对于树模型中的一个或多个节点,用户仅在以下情况下满足所述节点的特定于节点的选择标准:
(i)用户在第一时间间隔内访问数字资源至少一次并且在第二时间间隔内访问数字资源至少一次;以及
(ii)用户在第三时间间隔中访问数字资源目标次数。
4.根据权利要求3所述的方法,其中,对于树模型中的一个或多个节点,目标次数为零。
5.根据权利要求2所述的方法,其中:
(i)树模型是二维树模型,
(ii)对于树模型中的每个节点,所述节点的键由定义二维空间的区域的参数集合来参数化,以及
(iii)对于树模型中的每个父节点,由所述父节点的键定义的二维空间的区域被由所述父节点的子节点的键定义的二维空间的区域划分。
6.根据权利要求5所述的方法,其中,对于树模型中的每个节点:
所述节点的键由相应的参数a、b、c、d来参数化;
参数定义由[a,b]×[c,d]给出的二维空间的区域;
第一时间间隔包括[a-1,b-1];
第二时间间隔包括[T+2-d,T+2-c],其中,T是时间点序列中的最后时间点;以及
第三时间间隔包括[b,T+1-d]。
7.根据权利要求1所述的方法,其中,对于树模型中的每个节点,与所述节点相关联的值基于以下两者之间的差:(i)满足第一特定于节点的选择标准的用户的数量,所述第一特定于节点的选择标准基于由所述节点的键指定的多个时间间隔,以及(ii)满足第二特定于节点的选择标准的用户的数量,所述第二特定于节点的选择标准基于由所述节点的键指定的多个时间间隔。
8.根据权利要求7所述的方法,其中,对于树模型中的一个或多个节点,所述节点的键指定至少第一时间间隔、第二时间间隔、第三时间间隔和第四时间间隔;
其中第一时间间隔、第二时间间隔、第三时间间隔和第四时间间隔彼此不同。
9.根据权利要求8所述的方法,其中,对于树模型中的一个或多个叶节点:
只有在以下情况下,用户才满足所述节点的第一特定于节点的选择标准:(i)用户在第一时间间隔中访问数字资源,以及(ii)在第二时间间隔中访问数字资源目标次数;以及
只有在以下情况下,用户才满足所述节点的第二特定于节点的选择标准:(i)用户在第三时间间隔中访问数字资源,以及(ii)在第四时间间隔中访问数字资源目标次数。
10.根据权利要求9所述的方法,其中,目标次数为零。
11.根据权利要求8所述的方法,其中:
(i)树模型是一维树模型,
(ii)对于树模型中的每个节点,所述节点的键由定义一维空间的区域的参数集合来参数化,以及
(iii)对于树模型中的每个父节点,由所述父节点的键定义的一维空间的区域被由所述父节点的子节点的键定义的一维空间的区域划分。
12.根据权利要求11所述的方法,其中,对于树模型的一个或多个叶节点:
节点的键由参数t来参数化;
参数定义由t给出的一维空间的区域;
第一时间间隔包括t-1:
第二时间间隔包括[t,t+W-1]其中,W是预定义的超参数;
第三时间间隔包括t+W-1;以及
第四时间间隔包括[t-1,t+W-2]。
13.根据权利要求1所述的方法,其中,生成树模型包括:
将相应噪声添加到与树模型中的每个节点相关联的值。
14.根据权利要求1所述的方法,其中,处理树模型以生成对在时间窗口内访问数字资源至少预定义次数的用户数量的估计包括:
识别树模型中的多个节点,每个节点具有满足基于时间窗口的识别标准的相应键;
确定与所识别的节点相关联的值的组合;以及
至少部分地基于与所识别的节点相关联的值的组合来生成对用户数量的估计。
15.根据权利要求14所述的方法,其中,识别树模型中的多个节点包括:
识别树模型的一个或多个叶节点和树模型的一个或多个内部节点各自具有满足基于时间窗口的识别标准的相应键,并且其中,
确定与所识别的节点相关联的值的组合包括:
确定与所识别的节点相关联的值的总和。
16.根据权利要求1所述的方法,其中,用户通过接收数字分量的传输来访问数字资源。
17.根据权利要求1所述的方法,其中树模型包括边集合,其中,每个边连接树模型中的相应一对节点,并且其中,树模型是二叉树模型。
18.根据权利要求1所述的方法,还包括:
输出对在时间窗口内访问数字资源至少预定义次数的用户数量的估计。
19.一种系统,包括:
一个或多个计算机;以及
一个或多个存储设备,通信地耦合到所述一个或多个计算机,其中,所述一个或多个存储设备存储指令,所述指令在由所述一个或多个计算机执行时使所述一个或多个计算机执行操作,所述操作包括:
获得数字资源的访问数据,其中,对于时间点序列中的每个时间点,访问数据包括标识在所述时间点访问数字资源的一种用户的数据;
处理访问数据以生成定义树模型的数据,其中,树模型包括节点集合,并且节点集合中的每个节点与以下相关联:
(i)指定时间跨度中的多个时间间隔的键,以及
(ii)基于满足特定于节点的选择标准的相应用户数量的值,所述特定于节点的选择标准基于由所述节点的键指定的多个时间间隔;
接收确定在时间窗口内访问数字资源至少预定义次数的用户数量的请求;以及
响应于所述请求:
处理树模型以生成对在时间窗口内访问数字资源至少预定义次数的用户数量的估计。
20.一个或多个非暂时性计算机存储介质,存储指令,所述指令在由一个或多个计算机执行时使所述一个或多个计算机执行操作,所述操作包括:
获得数字资源的访问数据,其中,对于时间点序列中的每个时间点,访问数据包括标识在所述时间点访问数字资源的用户集合的数据;
处理访问数据以生成定义树模型的数据,其中树模型包括节点集合,并且节点集合中的每个节点与以下相关联:
(i)指定时间跨度中的多个时间间隔的键,以及
(ii)基于满足特定于节点的选择标准的相应用户数量的值,所述特定于节点的选择标准基于由所述节点的键指定的多个时间间隔;
接收确定在时间窗口内访问数字资源至少预定义次数的用户数量的请求;以及
响应于所述请求:
处理树模型以生成对在时间窗口内访问数字资源至少预定义次数的用户数量的估计。
CN202380013400.3A 2022-08-17 2023-07-14 数字资源访问频率的隐私敏感估计 Pending CN117916727A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202263398785P 2022-08-17 2022-08-17
US63/398,785 2022-08-17
PCT/US2023/027731 WO2024039474A1 (en) 2022-08-17 2023-07-14 Privacy sensitive estimation of digital resource access frequency

Publications (1)

Publication Number Publication Date
CN117916727A true CN117916727A (zh) 2024-04-19

Family

ID=87557518

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202380013400.3A Pending CN117916727A (zh) 2022-08-17 2023-07-14 数字资源访问频率的隐私敏感估计

Country Status (2)

Country Link
CN (1) CN117916727A (zh)
WO (1) WO2024039474A1 (zh)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9195396B2 (en) * 2013-03-14 2015-11-24 SanDisk Technologies, Inc. Estimating access frequency statistics for storage device
CN108153870A (zh) * 2017-12-25 2018-06-12 四川长虹电器股份有限公司 一种用户访问路径预测方法

Also Published As

Publication number Publication date
WO2024039474A1 (en) 2024-02-22

Similar Documents

Publication Publication Date Title
US11868375B2 (en) Method, medium, and system for personalized content delivery
US8463795B2 (en) Relevance-based aggregated social feeds
US8856124B2 (en) Co-selected image classification
US20180075137A1 (en) Method and apparatus for training a machine learning algorithm (mla) for generating a content recommendation in a recommendation system and method and apparatus for generating the recommended content using the mla
US8346815B2 (en) Dynamic image display area and image display within web search results
US20090271391A1 (en) Method and apparatus for rating user generated content in seach results
US20120295633A1 (en) Using user's social connection and information in web searching
US20200293529A1 (en) Answer facts from structured content
CN112740202A (zh) 使用内容标签执行图像搜索
US20230087460A1 (en) Preventing the distribution of forbidden network content using automatic variant detection
EP3293646A1 (en) Method and server for training a machine learning algorithm (mla) for content recommendation generation
WO2024006007A1 (en) Privacy-sensitive neural network training
CN111201524B (zh) 百分位链接聚类
JP7267471B2 (ja) データ配布制限のセキュアな管理
KR102520637B1 (ko) 콘텍스트-적응형 스캐닝
CN117916727A (zh) 数字资源访问频率的隐私敏感估计
US20150088859A1 (en) Click magnet images
US20240005040A1 (en) Cardinality models for privacy-sensitive assessment of digital component transmission reach
WO2024086256A1 (en) Privacy sensitive estimation of digital resource access frequency
US20230409774A1 (en) Reach and frequency prediction for digital component transmissions
US20230410034A1 (en) Reach and frequency prediction for digital component transmissions
US20230409773A1 (en) Reach and frequency prediction for digital component transmissions
US20230177543A1 (en) Privacy preserving machine learning expansion models
CN114761948A (zh) 隐私保护机器学习预测

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination