使用点间互信息准则的异构图聚类
背景技术:1.在诸如因特网的计算机联网环境中,第三方内容提供者提供第三方内容项以在终端用户计算设备上显示。例如文本、软件程序、图像和/或视频的这些第三方内容项可以被显示在与相应的发布者、客户端应用或游戏应用等相关联的网页上。
技术实现要素:2.至少一个方面涉及一种包括至少一个处理器和存储计算机可执行指令的存储器的系统。计算机可执行指令在由至少一个处理器执行时可以使至少一个处理器:维护包括多个节点和连接相应节点对的边的节点的异构网络。多个节点中的每个节点可以表示与多个内容源相对应的多个资产中的相应资产。多个资产可以包括第一资产类型的至少一个资产和第二资产类型的至少一个资产。至少一个处理器可以检测多个资产中的第一资产具有与内容分发系统的策略相关联的标记。至少一个处理器可以在节点的异构网络中识别与第一资产相关联的第一节点。至少一个处理器可以识别第一节点的两个或更多个属性的组合。至少一个处理器可以对于节点的异构网络中的节点子集计算相应的点间互信息(pmi)分数,pmi分数基于节点对来指示节点子集中具有所述两个或更多个属性的组合的节点与单个内容源相关联的可能性。至少一个处理器可以使用与节点子集相关联的pmi分数来识别节点的异构网络中的包括所述两个或更多个属性的组合的节点集群。至少一个处理器可以在一个或多个数据结构中存储节点集群与标签之间的关联,标签基于第一资产具有与内容分发系统的策略相关联的标记。标签可以用于对与节点集群相对应的多个资产中的第一资产集合进行分类。
3.至少一个方面涉及一种包括数据处理系统的方法,所述数据处理系统包括一个或多个处理器,数据处理系统维护节点的异构网络,节点的异构网络包括多个节点和连接相应节点对的边。多个节点中的每个节点可以表示与多个内容源相对应的多个资产中的相应资产。多个资产可以包括第一资产类型的至少一个资产和第二资产类型的至少一个资产。该方法可以包括至少一个处理器检测多个资产中的第一资产具有与内容分发系统的策略相关联的标记。方法可包含至少一个处理器在节点的异构网络中识别与第一资产相关联的第一节点。方法可以包括至少一个处理器识别第一节点的两个或更多个属性的组合。方法可以包括:至少一个处理器对于节点的异构网络中的节点子集计算相应的点间互信息(pmi)分数,pmi分数基于节点对来指示节点子集中具有所述两个或更多个属性的组合的节点与单个内容源相关联的可能性。方法可以包括:至少一个处理器使用与节点子集相关联的pmi分数来识别节点的异构网络中的包括所述两个或更多个属性的组合的节点集群。方法可以包括:至少一个处理器在一个或多个数据结构中存储节点集群与标签之间的关联,标签基于第一资产具有与内容分发系统的策略相关联的标记。所述标签用于对与节点集群相对应的多个资产中的第一资产集合进行分类。
4.至少一个方面涉及一种存储计算机可执行指令的非暂时性计算机可读介质,所述计算机可执行指令在由至少一个处理器执行时使得所述至少一个处理器维护节点的异构
网络,节点的异构网络包括多个节点和连接相应节点对的边。多个节点中的每个节点可以表示与多个内容源相对应的多个资产中的相应资产。多个资产可以包括第一资产类型的至少一个资产和第二资产类型的至少一个资产。至少一个处理器可以检测多个资产中的第一资产具有与内容分发系统的策略相关联的标记。至少一个处理器可以在节点的异构网络中识别与第一资产相关联的第一节点。至少一个处理器可以识别第一节点的两个或更多个属性的组合。至少一个处理器可以对于节点的异构网络中的节点子集计算相应的点间互信息(pmi)分数,pmi分数基于节点对来指示节点子集中具有所述两个或更多个属性的组合的节点与单个内容源相关联的可能性。至少一个处理器可以使用与节点子集相关联的pmi分数来识别节点的异构网络中的包括所述两个或更多个属性的组合的节点集群。至少一个处理器可以在一个或多个数据结构中存储节点集群与标签之间的关联,标签基于第一资产具有与内容分发系统的策略相关联的标记。所述标签可以用于对与节点集群相对应的多个资产中的第一资产集合进行分类。
5.下面详细讨论这些和其它方面和实施方式。前述信息和以下详细描述包括各个方面和实现方式的说明性示例,并且提供了用于理解所要求保护的方面和实现方式的性质和特性的概述或框架。附图提供了对各个方面和实施方式的说明和进一步理解,并且被并入本说明书中并构成本说明书的一部分。应当理解,可以组合方面和实施方式,并且可以在其他方面的上下文中实现在一个方面或实施方式的上下文中描述的特征。
附图说明
6.附图不是按比例绘制的。各个附图中相同的附图标记和名称指示相同的元件。为了清楚起见,并非每个部件都可以在每个附图中标记。在附图中:
7.图1是描述根据说明性实施方式的用于实施与内容分发系统相关联的策略的环境的一种实施方式的框图。
8.图2是示出根据说明性实施方式的节点的实例网络的图。
9.图3是示出根据说明性实施方式的图2的节点网络内的聚类结果的图。
10.图4是示出根据说明性实施方式的用于实施与内容分发相关联的策略的方法的流程图。
11.图5示出根据说明性实施方式的说明性计算机系统的总体架构。
具体实施方式
12.以下是与使用基于点间互信息(pmi)的聚类方法在用于内容分发的计算机环境中实施策略的方法、装置和系统相关的各种概念及其实现的更详细描述。上面介绍并在下面更详细讨论的各种概念可以以多种方式中的任何一种来实现,因为所描述的概念不限于任何特定的实现方式。例如,虽然本文中的内容或内容项通常可以被称为广告,但是应当理解,内容或内容项可以是任何合适的内容。
13.提供第三方内容(例如,文本、软件程序、图像和/或视频)的内容分发系统,诸如广告分发系统,可以设置用于由第三方内容提供者执行或与第三方内容提供者相关联的活动的策略。例如,内容分发策略可以禁止诸如恶意软件的分发、障眼法或其他不可接受的商业实践之类的活动。内容分发系统可以监视与第三方内容提供者的资产相关联的活动,以确
定第三方内容提供者是否已经参与被禁止的活动、可疑活动或由内容分发系统的一个或多个策略分类或标记的其他活动。第三方内容提供者的资产可以包括例如第三方内容提供者账户、web站点、web域、登录页面、主机、主机的ip地址、由来自主机的内容项或登录页面加载的资源或数据文件、或支付信息等。第三方内容提供者账户能够包括具有与一个或多个活动相关的数据的账户。
14.内容分发系统可以维护节点的异构网络,节点表示与相应的第三方提供者相关联或由相应的第三方提供者创建的资产。节点的异构网络可以包括边,其中每个边连接相应的一对节点。节点的异构网络的每个边可以指示相应的节点对或对应的资产对之间的关系(或相关性)。例如,节点网络的边可以包括第三方内容提供者账户和网站之间的边,该边指示账户的内容项中的至少一个在该网站上具有登录页面。节点网络的边可以包括第三方内容提供者账户和相应的支付信息之间的边。节点网络的边可以包括主机和相应ip地址之间的边。节点网络的边可以包括主机与从该主机加载的资源之间的边等。考虑到向内容分发系统订阅的第三方内容提供者的数量和/或与任何给定第三方内容提供者相关联的资产的数量可能相对较大,节点的异构网络的节点总数可以非常大,例如数百万。
15.当内容分发系统检测到与资产——例如,第三方内容项、登录页面或资源等——相关联的策略违规或策略标记活动时,内容分发系统可以对资产贴标签、停止提供该资产或采取其他动作。在一些严重的策略违规的情况下,例如恶意软件分发、障眼法或其他不可接受的商业实践,内容分发系统可以挂起整个第三方内容提供者帐户,并将相关的网站、ip地址和/或其他资源进行标志或列入黑名单。为了阻止相应的恶意第三方内容提供者重新使用可疑资产,并且防止或延迟违反策略的帐户的从挂起被恢复,内容分发系统识别和阻止提交策略违规的特定内容源(例如,第三方内容提供者或其代理)的所有资产是重要的。
16.在检测到与第一资产相关联的策略违规或标记活动或行为时,内容分发系统可以使用节点的异构网络来自动识别、标记和/或贴标签与第一资产相关——例如,共享与第一资产相同的内容源)——的所有其他资产。因此,内容分发系统可以自动强制实施相应的策略。然而,资产的基于策略的自动标记、分类或贴标签要求在识别与给定内容源相关联的资产时具有非常高的精度,以避免反对或上诉的风险。内容源——例如,第三方内容提供者或其代理——的频繁反对或上诉例如在资源分配方面处理起来可能是昂贵的,并且可能导致声誉损害。
17.资产的基于策略的标记、分类或贴标签的另一方面是恶意、可疑或不符合(例如,不符合给定策略)资产的创建或首次使用与其被标记、贴标签或挂起的时间之间的时间间隙。内容分发系统或其数据处理系统的目的是最小化这种时间间隙,以便降低策略违规的频率和风险或潜在风险。例如,对恶意或不合格资产或者恶意或不合格内容源的快速检测和挂起(或标记)可以减少由该资产或内容源提交的违规的数量,并且因此降低客户端设备从内容分发系统接收内容的风险。即使没有挂起,基于给定策略对资产或对应的内容源的快速标记可以允许例如进一步调查或监视与资产或内容源相关联的活动、警告内容源或采取其他预防措施。另一方面,在挂起或标记整个集群之前等待与给定资产集群相关联的大量资产提交违规或参与不合格或可疑活动或行为可能增加客户端设备暴露于这种违规或可疑活动的速率。在一些情况下,到集群被挂起时,可能已经发生了对客户端设备的实质性损坏。恶意或可疑资产的创建或首次使用与挂起之间的时间间隙的这种减少也减少了资源
使用,因为违规或不符合给定策略的服务资产变得不太频繁。
18.本公开描述了用于对与单个内容源对应的资产的相对高精度聚类的方法和系统。数据处理系统可以使用节点的异构网络并且以实时方式生成与提交检测到的策略违规的内容源相对应的资产集群。本文描述的方法和系统允许一旦检测到与恶意、可疑或不合格的内容源的资产相关的策略标记,就挂起或标记与恶意、可疑或不合格的内容源相关联的资产。具体地,在检测到第一资产具有策略标记(或与策略标记相关联)时,数据处理系统可以识别节点的异构网络中的节点集群,该节点集群表示与第一资产或与和第一资产相关的另一资产共享属性组合的资产。例如,数据处理系统可以从与第一资产相关联的第一域开始,并且识别与第一域共享属性组合的所有域。属性的组合可以包括例如支付信息、ip地址、资源或其组合等。在组合中使用多于一个属性允许使用资产之间的多维关系进行聚类。
19.策略标记可以包括指示策略违规、资产是否包含某些信息、是否从用户接收到关于资产的任何投诉、资产是否被一个或多个其他系统贴标签、资产或活动分类或其组合等的标记。例如,策略标记可以来自有限集合,例如,指示资产是否包含某些信息的二进制集合,或者具有指示非决定性决策的第三标记的三进制集合。候选标记集合的基数可以大于3。
20.对于节点的异构网络的节点子集(例如,表示域的节点)内的每个节点,数据处理系统可以计算指示属性组合与该节点相关联的可能性的点间互信息(pmi)分数。然后,数据处理系统可以将具有超过预定义阈值的相应pmi分数的节点确定为形成表示共享属性组合的资产的集群。集群可以被视为表示与第一资产共享相同内容源(例如,第三方内容提供者)的资产集合。
21.根据本公开的示例方面,自动强制实施内容分发策略的系统和方法可以包括数据处理系统,该数据处理系统维护节点的异构网络,节点的异构网络包括多个节点和连接相应节点对的边。多个节点中的每个节点可以表示与多个内容源相对应的多个资产中的相应资产。多个资产可以包括第一资产类型的至少一个资产和第二资产类型的至少一个资产。数据处理系统可以检测多个资产中的第一资产具有由内容分发系统的策略定义或与内容分发系统的策略相关联的策略标记或与其相关联。数据处理系统可以识别与节点的异构网络中的第一资产相关联的第一节点。数据处理系统可以识别第一节点的两个或更多个属性的组合。数据处理系统可以对于节点的异构网络中的节点子集中的每个节点计算相应的点间互信息(pmi)分数,pmi分数基于节点对来指示两个或更多个属性的组合与节点相关联的可能性。数据处理系统可以使用与节点子集相关联的pmi分数来识别节点的异构网络中的包括所述两个或更多个属性的组合的节点集群。数据处理系统可以在一个或多个数据结构中存储节点集群与标签之间的关联,标签基于第一资产具有与内容分发系统的策略相关的策略标记(或与其相关联)。标签可以用于对与节点集群相对应的多个资产中的第一资产集合进行分类。
22.图1是描绘根据说明性实施方式的用于维持多个计算装置之间的内容分发的完整性的环境的一个实施方式的框图。环境100可以包括至少一个数据处理系统110、一个或多个内容提供者计算设备115、一个或多个发布者计算设备120、一个或多个客户端设备125和网络105。数据处理系统110、一个或多个内容提供者计算设备115、一个或多个发布者计算设备120和一个或多个客户端设备125可以经由网络105彼此通信地耦合。
23.数据处理系统110可以包括至少一个处理器(或处理电路)和存储器。存储器可以存储计算机可执行指令,该计算机可执行指令在由处理器执行时使处理器执行本文描述的一个或多个操作。处理器可以包括微处理器、专用集成电路(asic)、现场可编程门阵列(fpga)等或其组合。存储器可以包括但不限于能够向处理器提供程序指令的电子、光学、磁性或任何其他存储或传输设备。存储器还可以包括软盘、cd-rom、dvd、磁盘、存储器芯片、asic、fpga、只读存储器(rom)、随机存取存储器(ram)、电可擦除rom(eeprom)、可擦除可编程rom(eprom)、闪存、光学介质或处理器可以从其读取指令的任何其他合适的存储器。指令可以包括来自任何合适的计算机编程语言的代码。数据处理系统110可以包括可以执行各种功能的一个或多个计算设备或服务器。在一些实施方式中,数据处理系统110可以包括被配置为托管拍卖的广告拍卖系统。在一些实施方式中,数据处理系统110可以不包括广告拍卖系统,但是可以被配置为经由网络105与广告拍卖系统通信。
24.网络105可以包括计算机网络,例如因特网、局域网(lan)、广域网(wan)、城域网、一个或多个内联网、卫星网络、蜂窝或网络、光网络、其它类型的数据网络或其组合。数据处理系统110可以经由网络105与一个或多个内容提供者计算设备115、一个或多个内容发布者计算设备120或一个或多个客户端设备125通信。网络105可以包括任何数量的网络设备,诸如网关、交换机、路由器、调制解调器、中继器和无线接入点等。网络105还可以包括诸如计算机服务器的计算设备。网络105还可以包括任何数量的硬连线和/或无线连接。
25.一个或多个内容提供者计算设备115可以包括计算机服务器、个人计算机、手持设备、智能电话或由诸如广告商或其代理的内容提供者实体操作的其它计算设备。一个或多个内容提供者计算设备115可以向数据处理系统110提供内容,诸如文本内容、图像内容、视频内容、动画内容、软件程序内容、内容项和/或统一资源定位符以及其他类型的内容,以在信息资源上显示。具体地,给定内容提供者的一个或多个内容提供者计算设备115可以是用于生成该内容提供者的内容项的内容项或内容的源。内容项可以被用于在客户端设备125上渲染的信息资源中显示,诸如网站、搜索结果的网页、客户端应用、游戏应用或平台、开源内容共享平台(例如,youtube、dailymotion或vimeo)或社交媒体平台等。
26.数据处理系统110可以提供经由内容提供者计算设备115可访问的一个或多个用户界面,以允许内容提供者实体例如生成相应的内容提供者帐户,或者生成相应的活动。用户界面(或多个)可以允许内容提供者实体将相应的内容上传到数据处理系统110或其他远程系统,或者提供相应的支付信息。通常,用户界面(或多个)可以允许每个内容提供者实体指示用于将该实体的内容分发到客户端设备125的相应资产。如本文所使用的,内容提供者实体的资产可以包括内容提供者账户、内容分发活动、支付信息、域名、主机、包括登录页面的网站或网页、内容项(例如,软件程序、图像、视频片段、文本、动画片段等)或可从网站、域或主机以及内容提供者的其他资产访问的资源。
27.内容发布者计算设备120可以包括服务器或由内容发布实体操作的其他计算设备,以经由网络105提供用于显示的主要内容。主要内容可以包括用于在客户端设备125上显示的网站、网页、客户端应用、游戏内容或社交媒体内容等。主要内容可以包括由搜索引擎提供的搜索结果。主要内容的页面、视频片段或其他单元可以包括可执行指令,诸如与内容(或广告)槽相关联的指令,其使得客户端设备125在主要内容被显示在客户端设备上时从数据处理系统110或其他远程系统请求第三方内容。响应于这样的请求,数据处理系统或
其他远程系统可以运行拍卖以确定向客户端设备125提供哪些内容项。在一些实施方式中,内容发布者计算设备120可以包括用于提供(或流式传输)视频或游戏内容的服务器。
28.客户端设备125可以包括被配置为获取和显示由内容发布者计算设备120提供的主要内容以及由内容提供者计算设备115提供的内容(例如,诸如文本、软件程序、图像和/或视频的第三方内容项)的计算设备。客户端设备可以经由网络105请求和接收这样的内容。客户端设备125可以包括台式计算机、膝上型计算机、平板设备、智能电话、个人数字助理、移动设备、消费者计算设备、服务器、数字视频记录器、机顶盒、智能电视、视频游戏控制台或能够经由网络105通信并消费媒体内容的任何其他计算设备。虽然图1示出了单个客户端设备125,但是环境100可以包括由数据处理系统110服务的多个客户端设备125。
29.虽然客户端设备125的用户可以选择访问哪个主要内容,但是客户端设备可能对由内容提供者计算设备115提供的内容没有太多的控制,因为这样的内容通常由数据处理系统110自动选择。第三方内容提供者或相应的内容提供者计算设备115可能将客户端设备125暴露于不适当或不期望的内容、数据隐私违规或网络安全威胁以及其他风险。为了保护客户端设备125免受这样的风险并且维护第三方内容分发的完整性,数据处理系统110可以为第三方内容提供者和/或相应的内容提供者计算设备115设置要遵守的策略。数据处理系统110也可以采用机制来强制实施策略,例如,通过检测策略的违规或与策略相关联的标记并防止分发与策略违反者或一些策略标记相关联的内容。一旦检测到与资产相关联的策略违规或策略标记,数据处理系统110就可以识别与策略违规源相关联的所有资产或与策略标记相关联的资产源,并将这些资产贴标签为例如恶意的、可疑的或被阻止的。
30.数据处理系统110可以包括具有一个或多个处理器和存储计算机可执行指令的存储器的至少一个计算机服务器。例如,数据处理系统110可以包括位于至少一个数据中心或服务器群中的多个计算机服务器。在一些实施方式中,数据处理系统110可以包括第三方内容投放系统,例如广告服务器或广告投放系统。数据处理系统110可以包括至少一个违规检测模块130、至少一个资产聚类模块135、至少一个策略分类器模块140和至少一个数据库145。违规检测模块130、资产聚类模块135和策略分类器模块140中的每一个可以被实现为软件模块、硬件模块或两者的组合。例如,这些模块中的每一个可以包括处理单元、服务器、虚拟服务器、电路、引擎、代理、电器或其他逻辑设备,诸如被配置为经由网络105与数据库145或与其他计算设备通信的可编程逻辑阵列。数据处理系统110的计算机可执行指令可以包括指令,当由一个或多个处理器执行时,指令使数据处理系统110执行下面关于违规检测模块130、资产聚类模块135、策略分类器模块140或其组合讨论的操作。
31.数据库145可以维护包括多个节点和连接相应节点对的边的节点网络。多个节点中的每个节点可以表示多个内容提供者或内容源的多个资产中的对应资产。数据库可以使用一个或多个数据结构(诸如树、链表、表、字符串或其组合)来维护节点网络。数据库可以使用节点网络(或一个或多个数据结构)来跟踪在向客户端设备125分发内容时使用的资产。节点网络可以是包括不同类型的节点或与不同类型的资产对应的节点的节点的异构网络。例如,由节点网络的节点表示的多个资产可以包括第一资产类型的至少一个资产和不同于第一资产类型的第二资产类型的至少一个资产。数据库可以维护指示策略和相应标记的数据结构。
32.参考图2,示出图示节点200的示例网络的图。节点网络200是包括与不同类型的资
产相对应的节点的异构网络。例如,圆圈节点202a-202e表示内容提供者账户。菱形节点204a-204h表示不同的域。六边形节点表示登录页面,且正方形节点表示给定类型的数据文件(例如,视频文件、文本文件或图像文件等)。五边形节点表示支付信息。节点网络200中的连接一对节点的每条链接可以表示该对节点之间的某种关系。例如,六边形节点和正方形节点之间的链接可以指示与正方形节点对应的数据文件由六边形节点表示的登录页面提供或可以从该登录页面下载。圆形节点——诸如节点202a-202e中的一个——与菱形节点——诸如节点204a-204h中的任何一个——之间的链接可以指示由菱形节点表示的域属于由圆形节点表示的内容提供者账户,或者提供与该内容提供者账户相关联的内容。圆形节点和正方形节点之间的链接可以指示由正方形节点表示的数据文件属于与圆形节点相对应的内容提供者账户。最后,五边形节点206a-206c和圆形节点202a-202e之间的链接可以指示每个内容提供者账户的支付信息。
33.通常,诸如节点网络200的节点网络的边可以包括分别对应于网站域和内容提供者帐户的一对节点之间的边。边可以指示与内容提供者账户相关联的至少一个内容项包括引用与网站域相关联的信息资源(例如,网页)的链接。节点网络200可以包括分别对应于第二内容提供者账户和与该内容提供者账户相关联的支付信息的一对节点之间的边。支付信息可以包括与银行账户、计费账户或在线开发票账户或用于收取与内容提供者账户相关联的服务内容的成本的标识符相关的信息。节点网络200可以包括分别表示网站域和与网站域相关联的ip地址的一对节点之间的边。ip地址可以是与网站域相关联的主机或服务器的地址。节点网络200可以包括一对节点之间的边,该一对节点包括表示网站域的节点和表示与网站域相关联的信息资源的另一节点。网页(例如,登录页面)可以是由网站域提供的页面。
34.图2的节点200的网络是为了说明的目的而提供的,而不应被解释为限制。例如,节点200的网络可以具有更大数量和其他类型的节点。例如,节点200的网络可以包括其他类型的节点,诸如对应于ip地址、各种类型的资源或主机等的节点。此外,节点网络200可以具有比图2所示更多或更少的链接。节点200的网络可以是动态的,因为任何内容提供者可以随时间添加相应的新资产或移除相应的现有资产。此外,现有节点之间的新关系或相关性可以例如由内容提供者计算设备115添加,或者由数据处理系统110发现。因此,数据处理系统110可以例如通过添加新节点、添加新链接、移除现有节点或移除现有链接来更新节点200的网络。
35.违规检测模块130可以检测数据处理系统110的策略的违规或策略标记,例如,通过第三方内容提供者、相应的内容提供者计算设备115或相应的资产。策略违规模块130可以依赖于来自客户端装置125或其它计算装置(例如,与数据处理系统110相关联的计算装置)的反馈,该反馈报告恶意、欺骗性或其它行为不符合与给定资产相关联的一个或多个策略。恶意、欺骗性或以其他不可接受的行为可以包括例如恶意软件的分发、偷偷的重定向或障眼法以及第三方内容提供者或相应资产的其他不可接受的实践。来自恶意内容源(例如,第三方内容提供者或相应的主机或域)的内容项、登录页面或其他资源可以使得恶意软件被下载到访问(或尝试访问)内容项、登录页面或其他资源的客户端设备125。
36.当登录页面被配置为自动地将客户端设备125重定向到客户端设备125不打算访问的其它页面时,发生欺骗性重定向。例如,客户端设备125可以从数据处理系统110接收内
容项,该内容项包括与内容项的主题相关的登录页面的链接。然而,在与链接交互时,登录页面可能将客户端设备125重定向到例如与攻击性或不适当的性内容相关联的某个其他页面。障眼法是指向客户端设备125和与内容分发系统(例如,数据处理系统110或搜索引擎)相关联的计算设备呈现不同的内容或url的实践。恶意内容源的主机、网站或网页可以包括可执行指令,以检查给定计算设备的ip地址是否与客户端设备125或内容分发系统相关联,并且基于检查的结果确定向计算设备提供哪个内容或url。这样,主机、网站或网页可以向客户端设备125呈现与向数据处理系统110声明的内容不同的内容。
37.与数据处理系统110相关联的测试人员可以针对与数据处理系统110的策略的策略标记相关联的任何实践或活动来测试各种资产,并且向违规检测模块130报告任何相关的策略标记或违规。在一些实施方式中,违规检测模块130可以自动检测相关策略标记(例如,应用于给定资产的策略标记)。例如,违规检测模块130可以检查与内容提供者相关联的网站或登录页面是否包括恶意软件。资产聚类模块135可以识别属性集是执行欺骗性重定向或检查ip地址以执行障眼法的指令。包括这样的软件指令的资产能够违反数据处理系统110的策略,即使它尚未执行欺骗性重定向或障眼法。在检测到与给定资产相关联的策略标记时,违规检测模块130可以向资产聚类模块135提供该资产的指示
38.资产聚类模块135可以识别节点网络200中的与具有(或映射到)策略标记(例如,涉及或能够违反策略)的资产相关联的节点,这里被称为种子节点。所识别的节点(或种子节点)可以是表示被识别为与策略标记相关联的资产的节点或例如对应于与被识别为与策略标记相关联的资产相关的给定类型的资产的另一节点。例如,返回参考图2,由白色箭头指向的节点可以表示被识别为与策略标记相关联的资产。这里,被识别为与策略标记相关联的资产可以是例如包括恶意软件文件的数据文件。然而,资产聚类模块135可以识别由灰色箭头指向的节点204b,其表示与被识别为与策略标记相关联的资产具有某种关系(或相关性)的网站域。例如,在这种情况下,被识别为与策略标记相关联的数据文件可以是通过作为由节点204b表示的网站域的一部分的登录页面(或网页)来提供的。
39.资产聚类模块135可以对特定类型(例如,网站域或主机以及其他资产类型)的资产感兴趣,该资产与被识别为与保险单标记相关联的资产相关。具体地,资产聚类模块135可以被配置为对预定义类型的资产进行资产聚类,并且可以在与预定义类型的资产相对应的种子节点处开始聚类过程,该资产与被识别为与策略标记相关联的资产具有某种关系(或相关性)。在节点网络200的节点子集(例如,与预定义资产类型相关联)之间执行资产聚类可以显著降低资产聚类过程的计算成本和时间。遍历大型节点网络(例如,具有数百万个节点)的所有节点在计算上可能是低效的,并且可能引起关于资产聚类过程的延迟。在一些实施方式中,资产聚类模块135可以在与被识别为与策略标记直接相关联的资产相对应的节点处开始资产聚类过程,并且可以遍历节点网络200的所有节点。
40.每个资产可以具有各自的标识符,并且节点网络200中的每个节点可以包括(例如,作为元数据或作为节点本身的标识符)相应资产的标识符。资产聚类模块135可以在节点网络200中搜索具有被识别为与策略标记相关联的资产的标识符的节点。在一些实现方式中,数据库145可以包括将资产标识符映射到节点网络200中的对应节点的标识符的数据结构。资产聚类模块135可以使用这样的数据结构来在节点网络200内定位与被识别为与策略标记直接相关联的资产相对应的节点。一旦资产聚类模块135识别到与被识别为与策略
标记直接相关联的资产相对应的节点,它就可以使用连接到该节点的链接来识别与预定义类型的资产相对应的另一节点,该预定义类型的资产与被识别为与策略标记直接相关联的资产有关系(或相关)。
41.资产聚类模块135可以识别被识别为与策略标记直接相关联的种子节点(或对应资产)的两个或更多个属性的集合(或组合)。资产聚类模块135可以识别属性的集合,用于识别属于与被识别为与策略标记直接相关联的资产(或对应的种子节点)相同的所有者或内容源的其他资产。通常,用于聚类资产或对应节点的属性越多,预期聚类精度越高。例如,使用单个属性通常不足以产生高精度集群。作为示例,两个域连接到相同的内容提供者帐户、相同的ip地址或相同的资源的事实不一定意味着它们属于相同的内容源(或与策略标记相关联的活动或行为背后的参与者)。例如,两个另外不相关的网站域可以通过虚拟主机共享相同的ip地址(例如,它们可以由云上的相同物理服务器托管)。此外,不同的内容提供者账户可以使相应的内容项落在相同的开源内容共享平台(例如,youtube)上。此外,给定资源可以由其他不相关的域加载,例如,因为由域托管的网站碰巧是使用相同的内容管理系统(例如,wordpress)创建的。然而,当一组域(或其他资产)或对应的节点共享两个或更多个独立属性的组合时,这通常是域(或其他资产)由相同的内容源(例如,内容提供者实体或其代理)创建、提供或使用的强烈指示。
42.资产聚类模块135可以使用节点网络200的信息或数据来识别属性集合。特别地,资产聚类模块135可以基于节点网络200内的种子节点的链接或紧邻节点来识别属性集合。资产聚类模块135可以使用节点网络200内与种子节点相距几跳(例如,两跳)的相邻节点来识别属性。资产聚类模块135可以使用节点网络200中与种子节点相关联的元数据(如果有的话)来识别属性。例如,网站域的属性可以包括与该网站域相关联的内容提供者账户、支付信息、登录页面、数据文件或其任何组合等。内容提供者账户的属性可以包括与该内容提供者账户相关联的网站域(或多个)、支付信息、登录页面、数据文件或其任何组合等。例如,资产聚类模块135可以基于一组预定义的属性类型来识别属性,这些属性类型先前被测试并显示为提供精确的聚类结果。
43.资产聚类模块135可以为节点网络200中的节点子集计算相应的点间互信息(pmi)分数。pmi分数可以指示节点子集内共享两个或更多个属性的集合(或组合)的节点与共同内容源(例如,共同的第三方内容提供者)相关联的可能性。节点子集可以被定义为例如节点网络200中具有与种子节点相同的类型的节点(例如,对应于网站域的节点或对应于主机的节点,以及其他类型的节点)。在一些实施方式中,可以以其他方式(例如,不基于预定义的资产类型)定义节点子集。节点子集内的节点可以意外地(例如,随机地)共享属性集合,或者如果这样的节点属于共同的内容源(例如,第三方内容提供者和/或相应的代理),则通过设计共享属性集合。资产聚类模块135可以使用pmi分数来区分由于与单个内容源相关联而由一组节点(或对应资产)随机共享该组属性的情况与由共享该组属性的一组节点随机共享该组属性的情况。资产聚类模块135可以使用由节点网络200提供的信息——例如,节点对之间的链接——来计算节点子集的pmi分数。例如,资产聚类模块135可以对于给定节点考虑紧邻节点、节点网络200内相距几(例如,两)跳的相邻节点、或两者,以确定属性是否与给定节点相关联。在一些实施方式中,资产聚类模块135可以考虑与给定节点相关联的元数据以确定属性是否与给定节点相关联。
44.考虑包括属性a和属性b的两个属性的集合,资产聚类模块135可以将节点子集的pmi分数计算为:
[0045][0046]
其中,p(a)表示属性a与节点子集内的节点相关联的概率。p(b)表示属性b与节点子集内的节点相关联的概率。p(a,b)表示属性a和b两者与节点子集内的节点相关联的联合概率。资产聚类模块135可以凭经验计算概率p(a)、p(b)和p(a,b)。例如,令属性a指示与给定支付信息相关联的网站域。如果网站域和支付信息二者与相同的内容提供者账户相关联,则可以认为网站域与支付信息相关联。属性b可以指示服务或提供给定数据文件的网站域。资产聚类模块135可以根据经验将p(a)估计为与支付信息相关联的域的数量(或节点子集中的对应节点的数量)除以域的总数(或节点子集中的节点的总数)。类似地,资产聚类模块135可以根据经验将p(b)估计为与数据文件相关联的域的数量(或节点子集中的对应节点的数量)除以域的总数(或节点子集中的节点的总数)。此外,资产聚类模块135可以凭经验将p(a,b)估计为与支付信息和数据文件两者相关联的域的数量(或节点子集中的对应节点的数量)除以域的总数(或节点子集中的节点的总数)。
[0047]
等式(1)也可以被写为:
[0048][0049]
其中,p(a/b)表示在属性b已经与节点子集中的节点相关联的情况下属性a与该节点相关联的条件概率,并且p(b/a)表示在属性a已经与该节点相关联的情况下属性b与该节点相关联的条件概率。
[0050]
对于一组n个属性x1,x2,
…
,xn的集合(或组合),资产聚类模块135可以将节点子集的pmi分数计算为:
[0051][0052]
其中,p(x1,
…
,xn)表示所有所述属性x1,
…
,xn与节点子集中的节点相关联的第一联合概率,并且p(x1,
…
,x
j-1
,x
j+1
,
…
,xn)表示除属性xj之外的所有属性x1,
…
,xn与同一节点相关联的第二联合概率。这里注意,n表示正整数。
[0053]
在一些实现方式中,资产聚类模块135可以在计算pmi分数时将不同的权重分配给不同的属性。例如,资产聚类模块135可以在等式(1)中使用pmi分数的加权版本,如下:
[0054][0055]
其中,αa和αb分别表示属性a和b的加权值。针对不同属性使用不同的加权值可以允许在计算pmi分数时将不同的排名或不同的重要性程度分配给不同的属性。
[0056]
在一些实现方式中,pmi分数可以通过(1)、(2)、(3)或(4)的右手侧的函数或它们各自的近似值来计算。例如,可以通过使用以下等式来计算pmi(a,b):
[0057][0058]
其中f(
·
)表示实函数。在一个示例中,f(
·
)可以是对数函数。因此,
[0059][0060]
其中log表示已知底数(例如2)的对数函数。在另一种情况下,也可以根据属性的概率对pmi分数进行加权。例如,pmi(a,b)可以通过以下等式计算:
[0061][0062]
在一些示例中,其中f(
·
)是对数函数的示例中,我们有
[0063][0064]
可以对在(3)中用n个属性定义的pmi分数或(4)中它们的加权版本进行类似的扩展。进一步注意,为了计算简单,在实践中可以使用pmi分数的近似或定点计算。
[0065]
资产聚类模块135可以使用与节点子集相关联的pmi分数来识别节点的异构网络中的包括两个或更多个属性的集合(或组合)的节点聚类。具体地,资产聚类模块135可以基于节点子集相对于属性集合的pmi分数的值来确定共享属性集合的节点(在节点子集内)是否表示与单个内容源(例如,单个内容提供者和/或相应代理)相关联的资产集群。资产聚类模块135可以将pmi分数与预定义阈值进行比较。如果pmi分数超过(或大于或等于)预定义阈值,则资产聚类模块135可以识别节点子集内共享属性集合(或与属性集合相关联)的所有节点,并形成由这些节点组成的集群。在一些实施方式中,阈值可以等于1。在一些实施方式中,资产聚类模块135或数据处理系统110可以测试(例如,基于训练或测试数据)多个阈值并选择例如提供最佳聚类精度-召回折中的一个阈值。所使用的阈值可以取决于例如由资产聚类模块135使用的pmi公式(诸如等式(1)-(4)中描述的pmi公式)。
[0066]
相对高的pmi值指示节点子集内共享属性集的节点或对应资产之间的某种隐藏关系(或隐藏设计)。具体地,相对高的pmi值指示节点子集内共享属性集的节点或对应的资产最可能属于相同的内容源。
[0067]
参考图3,示出图示节点网络200内的聚类结果的图。在这种情况下,并且如前所述,资产聚类模块135将节点子集定义为表示域资产的六边形节点204a-204h(在图3中以灰色示出)。使用pmi分数,例如,对于指示与内容提供者账户202a和202b(两者都与种子节点204b相关联)的关联以及与供应给定数据文件(在这种情况下,数据文件被识别为与策略标记或策略违规直接相关联)的登录页面的关联的属性,资产聚类模块135可以将集群302识别为属于单个内容源(或与单个内容源相关联)。
[0068]
在一些实现方式中,集群可以包括来自节点子集的节点以及节点网络200的其它节点。例如,资产聚类模块135可以识别节点子集(例如,对应于域的节点)内具有属性集合的节点组。在图3的示例中,资产聚类模块135可以首先识别一组节点204a-204c。然后,资产聚类模块135可以识别例如与具有(或共享)该属性集合的所识别的一组节点相关联的内容提供者账户。然后,资产聚类模块135可以将与所识别的内容提供者节点相关联的所有节点(或资产)识别为形成集群的节点。例如,在图3所示的示例中,资产聚类模块135可以将内容提供者账户202a和202b识别为与域204a-204d相关联,然后将集群302识别为内容提供者账户202a和202b中的所有节点或对应的资产。在一些实现中,资产聚类模块135可以采用不同的方法来识别集群中不同类型的所有节点(或资产)。资产的集群包括被识别为与策略标记
直接相关联的资产。
[0069]
基于被识别为与内容分发系统的策略的策略标记直接相关联的第一资产,策略分类器模块140可以在一个或多个数据结构中存储由资产聚类模块135识别的节点集群与标签之间的关联。策略分类器模块140可以使用标签来对与节点集群200相对应的多个资产中的第一资产集合进行分类。例如,策略分类器模块140可以使用标签来将资产或资产集合分类为流氓、恶意、可疑或被阻止以及其他分类。换句话说,由于节点的集群(例如,集群302)表示与单个内容源相对应并且包括被识别为与策略标记相关联的资产的资产,因此集群可以被视为表示属于违反数据处理系统110的至少一个策略或者是作为策略标记的主体的活动或行为的源的实体(或与其相关联)的资产。因此,策略分类器模块140可以将整个集群(或其资产)贴标签为可疑的、流氓的、不可信的或恶意的以及其他分类。策略分类器模块140可以防止或限制向客户端设备135供应(或提供)集群(或贴标签的资产)的一个或多个资产,诸如数据文件、登录页面或内容项。策略分类器模块140可以防止或限制集群的一个或多个资产参与任何内容分发活动。例如,策略分类器模块140可以防止或限制集群中的内容提供者账户参与向客户端设备135提供第三方内容的任何拍卖。
[0070]
基于pmi的聚类方法可以使用局部和全局信息二者。在局部上,数据处理系统110可以考虑节点网络中的节点集合的公共邻居集合(例如,以定义属性)。在全局上,数据处理系统110可以使用节点(例如,域)的总数来计算构成pmi分数的概率。注意,可以单独使用局部信息对集群进行排名,因为乘积pmi
×
n不取决于例如所有集群共有的域的总数n。然而,高精度聚类的阈值仍然将取决于n或一些其他全局信息(例如,pmi分数分位数)。由于所提出的聚类方法主要是局部方法,因此当节点网络被修改时,例如,稍微修改,它允许有效地更新集群。然而,即使当单个节点或关系改变时,全局方法也必须从头开始重新计算所有集群。所提出的聚类方法也更容易在分布式系统上实现,因为它通常不需要大量共享存储器。由于主要依赖于局部信息,所以上述基于pmi的聚类自然地适用于在线实现。具体地,当新的实体和关系被实时添加到图时,可以容易地更新用于制定或计算pmi分数的图(或节点网络)的大小以及与其节点相关联的属性或链接。
[0071]
参考图4,描述了图示用于实施与内容分发相关联的策略的方法400的流程图。方法400可以包括维护表示多个资产的节点的网络(步骤405)。方法400可以包括检测多个资产中的第一资产具有策略的策略标记或与策略的策略标记相关联(步骤410),以及识别节点网络中与第一资产相关联的第一节点(步骤415)。方法400可以包括识别第一节点的多个属性(步骤420),以及对于节点网络中的节点子集计算相应pmi分数,pmi分数指示具有多个属性的节点与单个内容源相关联的可能性(步骤425)。方法400可以包括识别具有多个属性的节点的集群(步骤430),以及存储节点的集群与用于对资产集合进行分类的标签之间的关联(步骤435)。
[0072]
参考图1-4,方法400可以由上面参考图1-3讨论的数据处理系统110执行。例如,节点网络可以是节点的异构网络,诸如节点网络200,其中相应的节点表示至少两种不同类型的资产。资产可以与例如多个第三方内容提供者相关联。与第一资产相关联地检测的策略标记可以指示违反数据处理系统110的策略,例如,相关内容分发、资产活动或资产行为的分类等。
[0073]
以上关于例如通过内容分发系统识别与单个内容源相关联的资产的应用描述了
基于pmi的聚类。然而,通常,上述聚类方法(或多个)可以被应用于分类问题,其中实体可以是多种类型,并且实体之间的关系可以自然地被表示为图(或节点网络)。当基准真值类别标记不存在或难以获得时,例如在无监督或半监督设置中,这是特别有用的。在这种情况下,由上述基于pmi的聚类方法(或多个)生成的高精度聚类可以被用作基准真值数据的替换。在半监督设置中,基于pmi的聚类可以允许将几个现有的基准真值标记外推到整个聚类。注意,由于聚类的高精度,基于pmi的聚类不需要标记集群中的大多数示例。相反,单个标记的示例可以足以被外推到整个集群。因此,基于pmi的聚类自然地适合于少数样本分类设置。在无监督设置中,高精度聚类可以用于有效地引导手动标记过程。在许多应用中,包括上面关于识别内容分发系统中潜在的流氓或可疑资产所描述的应用,审查和标记相关实体的整个集群比单独审查和标记每个实体更容易。由高精度聚类提供的情境使得手动审查和标记过程更加有效和稳健。
[0074]
特别适合于采用上述基于pmi的聚类的应用包括滥用检测,诸如支付欺诈、垃圾邮件和有组织犯罪集团等。滥用网络倾向于具有一定程度的冗余,这使得它们对实施更具弹性。上述基于pmi的聚类可以从该冗余导出高精度特征。在滥用网络中,节点可以表示发布者、http cookie、广告活动或其组合等。滥用网络中的链接可以表示发布者-cookie关系、发布者-活动关系和/或cookie-活动关系。
[0075]
另一个示例应用是网站中的异常检测,其要求对网站进行分组并识别异常模式。用于该应用的节点网络中的节点可以表示域名、ip地址、来自whois domain lookup的注册信息、或其组合等。节点的属性可以包括网页资源(例如,图像、文本等)、注册时间、域访问计数(如果可用)或其组合等。节点网络中的链接可以表示域与ip地址之间、域与注册者信息之间、域与另一域之间或其组合等的关系。
[0076]
另一个示例性应用是金融风险预测。在这样的应用中,在给定相似股票的高精度集群以及每个集群中的违约股票的仅一个或几个示例的情况下,可以高精度地预测股票损失值的风险。该应用中的节点网络可以包括表示股票符号和新闻网站等的节点。节点属性可以包括行业、季度报告、新闻报告内容摘要、新闻报告年龄或其组合等。节点网络中的链接可以表示(股票符号,股票符号)对和(股票符号,新闻网站)对。
[0077]
采用基于pmi的聚类的另一个示例应用是社交网络分析,其中目标是在大规模社交网络中自组织社区。在这种情况下,节点可以表示用户账户、从其访问用户账户的客户端设备、用于访问用户账户的ip地址、由用户账户共享查看的帖子、由用户账户查看的帖子或其组合等。链接可以表示用户账户之间的朋友关系、用户账户与客户端设备和/或从其访问用户账户的ip地址之间的关系、用户账户与由该账户查看或共享的帖子之间的关系、或其组合等。
[0078]
基于pmi的聚类的另一应用是保险预测,其中目标是在给定保险财产的高精度聚类和来自已经发出索偿的每个聚类的少量示例的情况下估计索偿的可能性和数量。
[0079]
基于pmi的聚类的另一个应用是流行病预测。易受感染的个体的高精度聚类可以允许在初始阶段准确靶向疫苗接种程序,此时仅知道很少的新流行病病例。所提出的聚类方法的在线性质在该应用中特别有用。
[0080]
基于pmi的聚类的另一个应用是类似的受众定向。在广告、网络营销、娱乐等方面,类似受众的概念起着核心作用。高精度集群允许将成功瞄准的少量示例扩展到更大的受
众。
[0081]
基于pmi的聚类的另一个应用是在蛋白质-蛋白质相互作用网络中发现蛋白质复合物。高精度聚类允许将仅几种蛋白质的已知相互作用推广到整个聚类。
[0082]
对于这里讨论的系统收集关于用户的个人信息,或者可以利用个人信息的情况,可以向用户提供机会,以控制程序或特征是否可以收集个人信息(例如,关于用户的社交网络、社交动作或活动、用户的偏好或用户的当前位置的信息),或者控制是否或如何从内容服务器接收可能与用户更相关的内容。另外,可以在存储或使用某些数据之前以一种或多种方式处理某些数据,使得在生成参数(例如,人口统计参数)时移除关于用户的某些信息。例如,可以处理用户的身份,使得不能确定用户的识别信息,或者可以在获得位置信息的情况下将用户的地理位置一般化(诸如到城市、邮政编码或州级别),使得不能确定用户的特定位置。因此,用户可以控制内容服务器如何收集和使用关于用户的信息。
[0083]
图5示出根据一些实现方式的说明性计算机系统500的一般体系结构,该计算机系统500可用于实现本文所讨论的任何计算机系统,包括系统110及其组件,诸如违规检测模块130、资产聚类模块135和策略分类器模块140。计算机系统500可用于经由网络105提供信息以供显示。图5的计算机系统500包括通信地耦合到存储器525的一个或多个处理器520、一个或多个通信接口505、以及一个或多个输出设备510(例如,一个或多个显示单元)和一个或多个输入设备515。处理器520可以包括在数据处理系统110或系统110的其他组件中,诸如违规检测模块130、资产聚类模块135和策略分类器模块140。
[0084]
在图5的计算机系统500中,存储器625可以包括任何计算机可读存储介质,并且可以存储计算机指令,诸如处理器可执行指令,用于实现本文针对各个系统描述的各种功能,以及与其相关的、由此生成的或经由通信接口或输入设备(如果存在)接收的任何数据。再次参考图1的环境100,数据处理系统110可以包括存储器525,以存储与例如节点网络或pmi分数等相关的数据结构和/或信息。存储器525可以包括数据库145。图5中所示的(一个或多个)处理器520可以用于执行存储在存储器625中的指令,并且在这样做时,还可以从存储器读取或向存储器写入根据指令的执行而处理和/或生成的各种信息。
[0085]
图5所示的计算机系统500的处理器520还可以通信地耦合到或控制通信接口505,以根据指令的执行发送或接收各种信息。例如,通信接口505可以耦合到有线或无线网络、总线或其他通信装置,并且因此可以允许计算机系统500向其他设备(例如,其他计算机系统)发送信息或从其他设备(例如,其他计算机系统)接收信息。虽然未在图1的系统中明确示出,但是一个或多个通信接口促进系统500的组件之间的信息流。在一些实施方式中,通信接口可以被配置(例如,经由各种硬件组件或软件组件)为提供网站作为对计算机系统500的至少一些方面的访问门户。通信接口505的示例包括用户接口(例如,网页),用户可以通过该用户接口与数据处理系统110通信。
[0086]
例如,可以提供图5所示的计算机系统500的输出设备510以允许结合指令的执行来查看或以其他方式感知各种信息。例如,可以提供输入设备515以允许用户在执行指令期间进行手动调整、进行选择、输入数据或以各种方式中的任何一种与处理器交互。本文进一步提供了与可以用于本文讨论的各种系统的通用计算机系统架构有关的附加信息。
[0087]
本说明书中描述的主题和操作的实现可以在数字电子电路中实现,或者在包含在有形介质、固件或硬件上的计算机软件中实现,包括本说明书中公开的结构及其结构等同
物,或者它们中的一个或多个的组合。本说明书中描述的主题的实施方式可以被实施为一个或多个计算机程序,即,计算机程序指令的一个或多个模块,其被编码在计算机存储介质上,用于由数据处理装置执行或控制数据处理装置的操作。程序指令可以编码在人工生成的传播信号上,例如,机器生成的电、光或电磁信号,其被生成以对信息进行编码以传输到合适的接收器装置以供数据处理装置执行。计算机存储介质可以是计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备、或者它们中的一个或多个的组合,或者被包括在计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备、或者它们中的一个或多个的组合中。此外,虽然计算机存储介质不是传播信号,但是计算机存储介质可以包括编码在人工生成的传播信号中的计算机程序指令的源或目的地。计算机存储介质也可以是一个或多个单独的物理组件或介质(例如,多个cd、磁盘或其他存储设备),或者被包括在一个或多个单独的物理组件或介质(例如,多个cd、磁盘或其他存储设备)中。
[0088]
这里公开的特征可以在智能电视模块(或连接的电视模块、混合电视模块等)上实现,该智能电视模块可以包括被配置为将互联网连接与更传统的电视节目源(例如,经由电缆、卫星、空中或其他信号接收的)集成的处理模块。智能电视模块可以物理地并入电视机中,或者可以包括单独的设备,诸如机顶盒、蓝光或其他数字媒体播放器、游戏机、酒店电视系统和其他配套设备。智能电视模块可以被配置为允许观看者搜索和查找网络上、本地有线电视频道上、卫星电视频道上或存储在本地硬盘驱动器上的视频、电影、照片和其他内容。机顶盒(stb)或机顶盒单元(stu)可以包括信息家电设备,该信息家电设备可以包含调谐器并连接到电视机和外部信号源,将信号转换成内容,然后将该内容显示在电视屏幕或其他显示设备上。智能电视模块可以被配置为提供主屏幕或顶层屏幕,该主屏幕或顶层屏幕包括用于多个不同应用的图标,诸如web浏览器和多个流媒体服务、连接的有线或卫星媒体源、其他web“频道”等。智能电视模块还可以被配置为向用户提供电子节目指南。智能电视模块的配套应用可以在移动计算设备上操作,以向用户提供关于可用节目的附加信息,以允许用户控制智能电视模块等。在替代实现中,这些特征可以在膝上型计算机或其他个人计算机、智能电话、其他移动电话、手持计算机、平板pc或其他计算设备上实现。
[0089]
本说明书中描述的操作可以实现为由数据处理装置对存储在一个或多个计算机可读存储设备上或从其它源接收的数据执行的操作。
[0090]
术语"数据处理装置"、"数据处理系统"、"用户设备"或"计算设备"包括用于处理数据的所有类型的装置、设备和机器,包括例如可编程处理器、计算机、片上系统或前述的多个或组合。该装置可以包括专用逻辑电路,例如fpga(现场可编程门阵列)或asic(专用集成电路)。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或它们中的一个或多个的组合的代码。装置和执行环境可以实现各种不同的计算模型基础设施,诸如web服务、分布式计算和网格计算基础设施。内容请求模块130和内容选择模块135可以包括或共享一个或多个数据处理装置、计算设备或处理器。
[0091]
计算机程序(也称为程序、软件、软件应用程序、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言、声明或过程语言。计算机程序可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程、对象或适合在计算环境中使用的其他单元。计
算机程序可以但不必对应于文件系统中的文件。程序可以存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中,存储在专用于所讨论的程序的单个文件中,或者存储在多个协调文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。计算机程序可以被部署为在一个计算机上或在位于一个站点处或分布在多个站点上并通过通信网络互连的多个计算机上执行。
[0092]
本说明书中描述的过程和逻辑流可以由执行一个或多个计算机程序的一个或多个可编程处理器来执行,以通过对输入数据进行操作并生成输出来执行动作。过程和逻辑流程也可以由专用逻辑电路(例如,fpga(现场可编程门阵列)或asic(专用集成电路))执行,并且装置也可以被实现为专用逻辑电路(例如,fpga(现场可编程门阵列)或asic(专用集成电路))。
[0093]
适合于执行计算机程序的处理器包括,例如,通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘,或者可操作地耦合以从其接收数据或将数据传输到其或两者。然而,计算机不需要具有这样的设备。此外,计算机可以嵌入另一设备中,例如,移动电话、个人数字助理(pda)、移动音频或视频播放器、游戏机、全球定位系统(gps)接收器或便携式存储设备(例如,通用串行总线(usb)闪存驱动器)。适合于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如eprom、eeprom和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及cd-rom和dvd-rom盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
[0094]
为了提供与用户的交互,本说明书中描述的主题的实现可以在计算机上实现,该计算机具有用于向用户显示信息的显示设备,例如crt(阴极射线管)、等离子体或lcd(液晶显示器)监视器,以及用户可以通过其向计算机提供输入的键盘和指点设备,例如鼠标或轨迹球。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以包括任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。另外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从网络浏览器接收的请求而向用户的客户端设备上的网络浏览器发送网页。
[0095]
本说明书中描述的主题的实现方式可以在计算系统中实现,该计算系统包括后端组件,例如作为数据服务器,或者包括中间件组件,例如应用服务器,或者包括前端组件,例如具有图形用户界面或web浏览器的客户端计算机,用户可以通过该图形用户界面或web浏览器与本说明书中描述的主题的实现方式交互,或者包括一个或多个这样的后端、中间件或前端组件的任何组合。系统的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“lan”)和广域网(“wan”)、互联网络(例如,互联网)和对等网络(例如,自组织对等网络)。
[0096]
计算系统500可以包括内容提供者计算设备115、发布者计算设备120、客户端设备125、或者数据处理系统110的服务器或计算设备。例如,数据处理系统110可以包括一个或多个数据中心或服务器群中的一个或多个服务器。客户端和服务器通常彼此远离,并且通
常通过通信网络进行交互。客户端和服务器的关系借助于在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施方式中,服务器将数据(例如,html页面)发送到客户端设备(例如,出于向与客户端设备交互的用户显示数据和从与客户端设备交互的用户接收用户输入的目的)。可以在服务器处从客户端设备接收在客户端设备处生成的数据(例如,用户交互的结果)。
[0097]
虽然本说明书包含许多具体的实施细节,但是这些细节不应被解释为对任何发明或可能要求保护的范围的限制,而是作为对本文所述的系统和方法的特定实施方式所特有的特征的描述。在本说明书中在单独实施方式的上下文中描述的某些特征也可以在单个实施方式中组合实现。相反,在单个实施方式的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施方式中实现。此外,尽管上文可以将特征描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下可以从组合中删除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以涉及子组合或子组合的变体。
[0098]
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应该被理解为要求以所示的特定顺序或以顺序执行这些操作,或者执行所有示出的操作,以实现期望的结果。在一些情况下,权利要求中记载的动作可以以不同的顺序执行,并且仍然实现期望的结果。另外,附图中描绘的过程不一定需要所示的特定顺序或相继顺序来实现期望的结果。
[0099]
在某些情况下,多任务和并行处理可能是有利的。此外,上述实施方式中的各种系统组件的分离不应被理解为在所有实施方式中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或封装到多个软件产品中。例如,内容请求模块130和内容选择模块135可以是数据处理系统110的一部分、单个模块、具有一个或多个处理模块的逻辑设备、一个或多个服务器或搜索引擎的一部分。
[0100]
现在已经描述了一些说明性实施方式和实施方式,显而易见的是,前述内容是说明性的而不是限制性的,已经通过示例的方式呈现。特别地,尽管本文呈现的许多示例涉及方法动作或系统元件的特定组合,但是那些动作和那些元件可以以其他方式组合以实现相同的目的。仅结合一个实施方式讨论的动作、元件和特征不旨在被排除在其他实施方式或实施方式中的类似角色之外。
[0101]
这里使用的措辞和术语是为了描述的目的,而不应被认为是限制性的。本文中“包括”、“包含”、“具有”、“含有”、“涉及”、“特征在于”、“特征在于”及其变型的使用旨在涵盖其后列出的项目、其等同物和附加项目,以及由其后唯一列出的项目组成的替代实施方式。在一个实施方式中,本文描述的系统和方法由所描述的元件、动作或组件中的一个、多于一个的每个组合或全部组成。
[0102]
对本文中以单数形式提及的系统和方法的实现方式或元件或动作的任何引用也可以包含包括多个这些元件的实现方式,并且对本文中的任何实现方式或元件或动作的复数引用也可以包含仅包括单个元件的实现方式。单数或复数形式的引用并不旨在将当前公开的系统或方法、它们的组件、动作或元件限制为单数或复数配置。对基于任何信息、动作或元素的任何动作或元素的引用可以包括动作或元素至少部分地基于任何信息、动作或元素的实施方式。
[0103]
本文公开的任何实施方式可以与任何其它实施方式组合,并且对“实施方式”、“一些实施方式”、“替代实施方式”、“各种实施方式”、“一个实施方式”等的引用不一定是相互
排斥的,并且旨在指示结合该实施方式描述的特定特征、结构或特性可以包括在至少一个实施方式中。如本文所使用的这样的术语不一定都指代相同的实施方式。任何实施方式可以以与本文公开的方面和实施方式一致的任何方式包含性地或排他性地与任何其他实施方式组合。
[0104]
对“或”的引用可以被解释为包含性的,使得使用“或”描述的任何术语可以指示所描述的术语中的单个、多于一个和全部中的任何一个。
[0105]
在附图、详细描述或任何权利要求中的技术特征后面有附图标记的情况下,包括附图标记的唯一目的是增加附图、详细描述和权利要求的可理解性。因此,附图标记及其缺失都不对任何权利要求要素的范围具有任何限制作用。
[0106]
在不脱离本发明的特征的情况下,本文所述的系统和方法可以以其它具体形式实施。尽管本文提供的示例涉及控制信息资源的内容的显示,但是本文描述的系统和方法可以包括应用于其他环境。前述实施方式是说明性的而不是限制所描述的系统和方法。因此,本文描述的系统和方法的范围由所附权利要求而不是前面的描述指示,并且落入权利要求的等同物的含义和范围内的改变也涵盖其中。
技术特征:1.一种系统,包括:至少一个处理器;以及存储器,存储计算机可执行指令,所述计算机可执行指令在由至少一个处理器执行时使所述至少一个处理器:维护节点的异构网络,节点的异构网络包括多个节点和连接相应节点对的边,多个节点中的每个节点表示与多个内容源相对应的多个资产中的相应资产,多个资产包括第一资产类型的至少一个资产和第二资产类型的至少一个资产;检测多个资产中的第一资产具有与内容分发系统的策略相关联的标记;在节点的异构网络中识别与第一资产相关联的第一节点;识别第一节点的两个或更多个属性的组合;针对节点的异构网络中的节点子集,计算相应的点间互信息(pmi)分数,pmi分数基于节点对来指示节点子集中具有所述两个或更多个属性的组合的节点与单个内容源相关联的可能性;使用与节点子集相关联的pmi分数来识别节点的异构网络中的包括所述两个或更多个属性的组合的节点集群;和在一个或多个数据结构中存储所述节点集群与标签之间的关联,所述标签基于第一资产具有与内容分发系统的策略相关联的标记并且用于对与节点集群相对应的多个资产中的第一资产集合进行分类。2.如权利要求1所述的系统,其中,计算机可执行指令在由至少一个处理器执行时进一步使所述至少一个处理器限制提供第一资产集合中的一个或多个资产。3.如权利要求1所述的系统,其中,所述第一资产类型或所述第二资产类型包括内容提供者账户、网站域、信息资源、互联网协议(ip)地址、数据文件、内容项或支付信息中的至少一个。4.如权利要求1所述的系统,其中,计算机可执行指令在由至少一个处理器执行时进一步使所述至少一个处理器基于第一节点的资产类型来选择节点子集中的每个节点。5.如权利要求4所述的系统,其中,第一节点的资产类型对应于网站域。6.如权利要求1所述的系统,其中,指示节点子集中具有属性a和属性b的节点与单个内容源相关联的可能性的pmi分数被定义为容源相关联的可能性的pmi分数被定义为其中p(a)表示属性a与所述节点子集中的节点相关联的概率,p(b)表示属性b与所述节点子集中的该节点相关联的概率,并且p(a,b)表示属性a和b两者与节点子集中的该节点相关联的联合概率。7.如权利要求1所述的系统,其中,指示节点子集中具有n个属性x1,x2,
…
,x
n
的组合的节点与单个内容源相关联的可能性的pmi分数被定义为其中p(x1,
…
,x
n
)表示所有属性x1,
…
,x
n
与所述节点子集中的节点相关联的第一联合概率,并且p(x1,
…
,x
j-1
,x
j+1
,
…
,x
n
)表示除了属性x
j
之外的所有属性x1,
…
,x
n
与所述节点子集中的该节点相关联的第二联合概率。8.如权利要求1所述的系统,其中,识别节点集群包括:将节点子集的相应pmi分数与预定义阈值进行比较;以及
如果相应pmi分数超过预定义阈值,则确定包括两个或更多个属性的组合的所述节点属于所述节点集群。9.如权利要求1所述的系统,其中,连接相应节点对的边包括以下中的至少一个:第一对节点之间的第一边,第一对节点包括表示第一网站域的第三节点和表示第一内容提供者账户的第四节点,第一边指示与第一内容提供者账户相关联的至少一个内容项包括引用与第一网站域相关联的第一信息资源的链接;第二对节点之间的第二边,第二对节点包括表示第二内容提供者账户的第五节点和表示与所述第二内容提供者账户相关联的支付信息的第六节点;第三对节点之间的第三边,第三对节点包括表示第二网站域的第七节点和表示与第二网站域相关联的互联网协议(ip)地址的第八节点;或第四对节点之间的第四边,第四对节点包括表示第三网站域的第九节点和表示与所述第三网站域相关联的第二信息资源的第十节点。10.如权利要求1所述的系统,其中检测所述多个资产中的所述第一资产具有与所述内容分发系统的所述策略相关联的所述标记包括检测恶意软件或攻击性内容的分发。11.一种方法,包括:由包括一个或多个处理器的数据处理系统维护节点的异构网络,节点的异构网络包括多个节点和连接相应节点对的边,多个节点中的每个节点表示与多个内容源相对应的多个资产中的相应资产,多个资产包括第一资产类型的至少一个资产和第二资产类型的至少一个资产;由数据处理系统检测多个资产中的第一资产具有与内容分发系统的策略相关联的标记;由数据处理系统在节点的异构网络中识别与第一资产相关联的第一节点;由数据处理系统识别第一节点的两个或更多个属性的组合;由数据处理系统对于节点的异构网络中的节点子集计算相应的点间互信息(pmi)分数,pmi分数基于节点对来指示节点子集中具有所述两个或更多个属性的组合的节点与单个内容源相关联的可能性;由数据处理系统使用与节点子集相关联的pmi分数来识别节点的异构网络中的包括所述两个或更多个属性的组合的节点集群;以及由数据处理系统在一个或多个数据结构中存储节点集群与标签之间的关联,所述标签基于第一资产具有与内容分发系统的策略相关联的标记并且用于对与节点集群相对应的所述多个资产中的第一资产集合进行分类。12.根据权利要求11所述的方法,还包括:由数据处理系统限制提供第一资产集合中的一个或多个资产。13.根据权利要求11所述的方法,其中,第一资产类型或第二资产类型包括内容提供者账户、网站域、信息资源、互联网协议(ip)地址、数据文件、内容项或支付信息中的至少一个。14.根据权利要求11所述的方法,还包括:由数据处理系统基于第一节点的资产类型来选择节点子集中的每个节点。15.根据权利要求11所述的方法,其中,指示节点子集中具有属性a和属性b的节点与单
个内容源相关联的可能性的pmi分数被定义为其中p(a)表示属性a与所述节点子集中的节点相关联的概率,p(b)表示属性b与所述节点子集中的该节点相关联的概率,并且p(a,b)表示属性a和b两者与节点子集中的该节点相关联的联合概率。16.根据权利要求11所述的方法,其中,指示节点子集中具有n个属性x1,x2,
…
,x
n
的组合的节点与单个内容源相关联的可能性的pmi分数被定义为其中p(x1,
…
,x
n
)表示所有属性x1,
…
,x
n
与所述节点子集中的节点相关联的第一联合概率,并且p(x1,
…
,x
j-1
,x
j+1
,
…
,x
n
)表示除了属性x
j
之外的所有属性x1,
…
,x
n
与所述节点子集中的该节点相关联的第二联合概率。17.根据权利要求11所述的方法,其中,识别节点集群包括:将节点子集的相应pmi分数与预定义阈值进行比较;以及如果相应pmi分数超过预定义阈值,则确定包括所述两个或更多个属性的组合的节点属于所述节点集群。18.根据权利要求11所述的方法,其中,连接相应节点对的边包括以下中的至少一个:第一对节点之间的第一边,第一对节点包括表示第一网站域的第三节点和表示第一内容提供者账户的第四节点,第一边指示与第一内容提供者账户相关联的至少一个内容项包括引用与第一网站域相关联的第一信息资源的链接;第二对节点之间的第二边,第二对节点包括表示第二内容提供者账户的第五节点和表示与第二内容提供者账户相关联的支付信息的第六节点;第三对节点之间的第三边,第三对节点包括表示第二网站域的第七节点和表示与第二网站域相关联的互联网协议(ip)地址的第八节点;或第四对节点之间的第四边,第四对节点包括表示第三网站域的第九节点和表示与第三网站域相关联的第二信息资源的第十节点。19.根据权利要求11所述的方法,其中,检测多个资产中的第一资产具有与内容分发系统的策略相关联的标记包括检测恶意软件或攻击性内容的分发。20.一种存储计算机可执行指令的非暂时性计算机可读介质,所述计算机可执行指令在由至少一个处理器执行时使所述至少一个处理器:维护节点的异构网络,节点的异构网络包括多个节点和连接相应节点对的边,多个节点中的每个节点表示与多个内容源相对应的多个资产中的相应资产,多个资产包括第一资产类型的至少一个资产和第二资产类型的至少一个资产;检测多个资产中的第一资产具有与内容分发系统的策略相关联的标记;在节点的异构网络中识别与第一资产相关联的第一节点;识别第一节点的两个或更多个属性的组合;对于节点的异构网络中的节点子集,计算相应的点间互信息(pmi)分数,pmi分数基于所述节点对来指示节点子集中具有所述两个或更多个属性的组合的节点与单个内容源相关联的可能性;使用与节点子集相关联的pmi分数来识别节点的异构网络中的包括所述两个或更多个属性的组合的节点集群;以及
在一个或多个数据结构中存储所述节点集群与标签之间的关联,所述标签基于第一资产具有与内容分发系统的策略相关联的标记并且用于对与节点集群相对应的多个资产中的第一资产集合进行分类。21.一种方法,包括:由包括一个或多个处理器的数据处理系统维护节点的异构网络,节点的异构网络包括多个节点和连接相应节点对的边,多个节点中的每个节点表示与多个内容源相对应的多个资产中的相应资产,多个资产包括第一资产类型的至少一个资产和第二资产类型的至少一个资产;由数据处理系统检测多个资产中的第一资产具有与内容分发系统的策略相关联的标记;由数据处理系统在节点的异构网络中识别与第一资产相关联的第一节点;由数据处理系统识别第一节点的两个或更多个属性的组合;由数据处理系统对于节点的异构网络中的节点子集计算相应的点间互信息(pmi)分数,pmi分数基于节点对来指示节点子集中具有所述两个或更多个属性的组合的节点与单个内容源相关联的可能性;由数据处理系统使用与节点子集相关联的pmi分数来识别节点的异构网络中的包括所述两个或更多个属性的组合的节点集群;以及由数据处理系统在一个或多个数据结构中存储节点集群与标签之间的关联,所述标签基于第一资产具有与内容分发系统的策略相关联的标记并且用于对与节点集群相对应的多个资产中的第一资产集合进行分类。22.根据权利要求21所述的方法,还包括:由数据处理系统限制提供第一资产集合中的一个或多个资产。23.如权利要求21-22中任一项所述的方法,其中,第一资产类型或第二资产类型包括内容提供者账户、网站域、信息资源、互联网协议(ip)地址、数据文件、内容项或支付信息中的至少一个。24.如权利要求21-23中任一项所述的方法,进一步包括:由数据处理系统基于第一节点的资产类型来选择节点子集中的每个节点。25.根据权利要求24所述的方法,其中,第一节点的资产类型对应于网站域。26.如权利要求21-25中任一项所述的方法,其中,指示节点子集中具有属性a和属性b的节点与单个内容源相关联的可能性的pmi分数被定义为其中p(a)表示属性a与所述节点子集中的节点相关联的概率,p(b)表示属性b与所述节点子集中的该节点相关联的概率,并且p(a,b)表示属性a和b两者与节点子集中的该节点相关联的联合概率。27.如权利要求21-26中任一项所述的方法,其中,指示节点子集中具有n个属性x1,x2,
…
,x
n
的组合的节点与单个内容源相关联的可能性的pmi分数被定义为其中p(x1,
…
,x
n
)表示所有属性x1,
…
,x
n
与所述节点子集中的节点相关联的第一联合概率,并且p(x1,
…
,x
j-1
,x
j+1
,
…
,x
n
)表示除了
属性x
j
之外的所有属性x1,
…
,x
n
与所述节点子集中的该节点相关联的第二联合概率。28.如权利要求21-27中任一项所述的方法,其中,识别节点集群包括:将节点子集的相应pmi分数与预定义阈值进行比较;以及如果相应pmi分数超过预定义阈值,则确定包括所述两个或更多个属性的组合的节点属于所述节点集群。29.如权利要求21-28中任一项所述的方法,其中,连接相应节点对的边包括以下中的至少一个:第一对节点之间的第一边,第一对节点包括表示第一网站域的第三节点和表示第一内容提供者账户的第四节点,第一边指示与第一内容提供者账户相关联的至少一个内容项包括引用与第一网站域相关联的第一信息资源的链接;第二对节点之间的第二边,第二对节点包括表示第二内容提供者账户的第五节点和表示与所述第二内容提供者账户相关联的支付信息的第六节点;第三对节点之间的第三边,第三对节点包括表示第二网站域的第七节点和表示与第二网站域相关联的互联网协议(ip)地址的第八节点;或第四对节点之间的第四边,第四对节点包括表示第三网站域的第九节点和表示与所述第三网站域相关联的第二信息资源的第十节点。30.如权利要求21-29中任一项所述的方法,其中,检测多个资产中的第一资产具有与内容分发系统的策略相关联的标记包括检测恶意软件或攻击性内容的分发。31.一种系统,包括:至少一个处理器;以及存储器,存储计算机可执行指令,所述计算机可执行指令在由至少一个处理器执行时使所述至少一个处理器执行根据权利要求21-30中任一项所述的方法。32.一种存储指令的计算机可读存储介质,所述指令在由计算机执行时使所述计算机执行根据权利要求21-30中任一项所述的方法。
技术总结提供了使用基于点间互信息(PMI)的聚类在用于内容分发的计算机环境中实施策略的系统和方法。系统可以维护表示多个资产的节点的网络。在检测到资产与策略标记相关联时,系统可以识别资产的属性并计算指示共享属性的网络的节点是否属于单个内容源的PMI分数。在确定PMI分数超过预定义阈值时,系统可以识别包括共享属性的节点的节点集群。系统可以将集群贴标签为例如与关联于策略标记的内容源相关联。标签为例如与关联于策略标记的内容源相关联。标签为例如与关联于策略标记的内容源相关联。
技术研发人员:O.戈卢比茨基 P.H.阿加卡 D.何
受保护的技术使用者:谷歌有限责任公司
技术研发日:2020.02.24
技术公布日:2022/11/1