限制在客户端设备上对冗余数字组件的提供和显示的制作方法

文档序号:28326514发布日期:2022-01-05 01:00阅读:115来源:国知局
限制在客户端设备上对冗余数字组件的提供和显示的制作方法
限制在客户端设备上对冗余数字组件的提供和显示
1.相关申请的交叉引用
2.本技术要求2020年4月27日提交的ro申请第a/10018/2020号和2020年5月22日提交的ro申请第a/00282/2020号的优先权,其公开内容通过引用结合于此。


背景技术:

3.本说明书涉及至少基于之前与冗余数字组件和/或与其相关的任何附加内容的用户交互和/或用户动作来限制在客户端设备上对这种数字组件的提供和显示。
4.客户端设备可以使用应用(例如,网络浏览器、本地应用)来访问内容平台(例如,搜索平台、社交媒体平台或托管内容的另一平台)。内容平台可以在客户端设备上启动的应用内显示可由一个或多个内容源/平台提供的数字组件(数字内容或数字信息的分立单元,诸如,例如视频剪辑、音频剪辑、多媒体剪辑、图像、文本或另一内容单元)。例如,如果在客户端设备上运行的浏览器应用被用于执行对“租赁汽车”的互联网搜索,则内容源和/或平台可以提供包括数字组件的搜索结果页面,该数字组件提供关于来自租赁汽车公司的租赁汽车的信息和到该公司网站的链接。


技术实现要素:

5.总体来说,本说明书中描述的主题的一个创新方面可以体现在包括以下操作的方法中:由客户端设备存储数字组件列表,该数字组件列表指定可用于提供给在客户端设备上运行的应用的数字组件集合;在客户端设备上运行的第一应用内接收由第一内容提供商提供的第一数字组件;由客户端设备检测指定(i)与第一数字组件的第一用户交互和(ii)与响应于与第一数字组件的第一用户交互而提供的内容的第二用户交互的信号集合;由客户端设备并且基于信号集合来确定由客户端设备的用户执行了肯定(affirmative)用户动作,其中该肯定用户动作表示在与第一数字组件的第一用户交互之后由用户对指定目标动作的执行;由客户端设备基于在与第一数字组件的第一用户交互之后由用户进行的肯定用户动作来修改数字组件列表;接收对访问在客户端设备上运行的第二应用内的内容页面的请求,其中第一应用不同于第二应用;响应于接收到对访问内容页面的请求,向其中第一内容提供商不同于第二内容提供商的第二内容提供商传送内容请求,该内容请求包括防止响应于内容请求而选择第一数字组件的经修改的数字组件列表的一部分;响应于内容请求,由客户端设备并且在第二应用内从第二内容提供商接收第二数字组件,其中第二数字组件是从经修改的数字组件列表上包括的数字组件当中选择的;以及提供第二数字组件以供在第二应用内的内容页面上显示。
6.该方面的其他实施例包括相应的方法、装置和计算机程序,其被配置为执行编码在计算机存储设备上的方法的动作。这些和其他实施例可以各自可选地包括一个或多个以下特征。
7.方法还可以包括将与第一数字组件相关联的信号集合输入到机器学习模型中,该机器学习模型基于与特定数字组件相关联的特定信号集合来预测用户是否对特定数字组
件有肯定用户动作,其中机器学习模型是使用多个训练数字组件的训练数据来训练的,其中每个训练数字组件的训练数据包括与训练数字组件相关联的信号集合和指示用户是否对训练数字组件有肯定用户动作的相应标签;以及从机器学习模型并且响应于输入到机器学习模型中的与第一数字组件相关联的信号集合,获得指定用户是否对第一数字组件有肯定用户动作的指示。
8.方法可以包括存储排名的数字组件列表,通过降低与排名的列表中的第一数字组件相对应的排名或者从数字组件列表中移除第一数字组件来修改数字组件列表。
9.方法可以包括向第二内容提供商传送包括经修改的列表的一部分的内容请求,其中经修改的数字组件列表的该部分包括排名的列表中排名前n的数字组件。
10.方法还可以包括:响应于内容请求,由客户端设备并且在第二应用内从第二内容提供商接收第三数字组件,其中第三数字组件不在经修改的数字组件列表上包括的数字组件当中;抑制在内容页面上显示第三数字组件;以及响应于该抑制,修改内容页面的内容布局,并且向第二内容提供商提供指示第三数字组件被抑制的消息。
11.本说明书中描述的主题的特定实施例可以被实施以实现一个或多个以下优点。例如,本说明书中描述的技术能够滤除掉(例如,防止检索和/或显示)客户端的用户已经对其有肯定用户动作(如本说明书中进一步描述的)的某些数字组件(或某些类型的数字组件),从而节省了在提供和渲染这些数字组件时所需的大量计算资源。这进而也可以通过避免重复呈现相同/相似的数字组件来促进跨多个内容平台的改善的用户体验和用户参与。传统系统不包括防止呈现由多个不同内容源/平台提供的相同或相似数字组件的能力。相比之下,本说明书中描述的技术可以防止提供和/或渲染用户对其已经有肯定用户动作的(多个)数字组件,并且因此能够提供和显示用户对其还没有肯定用户动作的数字组件,而不是呈现用户对其已经体验过并采取过动作的内容。通过防止呈现用户已经体验过并采取过动作的内容,系统减少了由于向用户提供冗余内容而导致的浪费的计算资源(例如,处理资源、网络带宽、有限显示空间等)量。此外,客户端设备的有限显示空间被更有效地使用,因为已经被防止的内容所占据的空间可以转而被有益地用于其他内容或其他目的。
12.本文档中描述的技术还促进了与处理、分析和/或维护同数字组件的交互和/或客户端设备上的任何相关设备动作相关联的数据的安全性和隐私性的提高。在一些传统的实施方式中,当数据要与第三方系统共享并且因此被暴露给第三方系统时,这种数据的安全性和/或隐私性可能得不到维护或者甚至不可行。相比之下,本说明书中描述的技术可以在客户端设备上实施,使得对用于推断肯定用户动作的信号集合的检测、处理和存储以及对肯定用户动作的确定可以完全在客户端设备上执行和存储。此外,本说明书中描述的技术不需要与第三方系统共享这种数据。
13.此外,本说明书中描述的技术能够动态修改客户端设备上显示的界面。本说明书中描述的技术可以使客户端设备能够抑制、移除和/或防止对已经发生肯定用户动作的某些数字组件的显示。在这种情况下,本文描述的技术可以动态修改界面,使得将要显示被抑制/移除的数字组件的位置被其他内容(例如,已经包括在页面上的可以被调整(例如,重组/移动/调整大小)的内容)或者可从内容源/平台获得的其他内容替换。
14.本说明书中描述的主题的一个或多个实施例的细节在附图和以下描述中阐述。根据描述、附图和权利要求,本主题的其他特征、方面和优点将变得显而易见。
附图说明
15.图1是其中数字内容被分发并呈现给客户端设备的示例环境的框图。
16.图2是示出存储在客户端设备上的示例数字组件列表的表格。
17.图3是用于基于客户端设备上的用户动作向客户端设备提供一个或多个数字组件的示例过程的流程图。
18.图4是可以用于执行所描述的操作的示例计算机系统的框图。
具体实施方式
19.本说明书总体上涉及至少基于与冗余数字组件和/或与其相关的任何附加内容的之前用户交互和/或用户动作来限制在客户端设备上对这种数字组件的提供和显示。
20.连接到互联网的客户端设备(例如,智能电话、平板电脑和个人计算机)可以被提供有包括各种数字组件的数字内容。如本文通篇所使用的,短语“数字组件”是指数字内容或数字信息的分立单元(例如,视频剪辑、音频剪辑、多媒体剪辑、图像、文本或另一内容单元)。
21.与数字组件的用户交互和/或用户动作可以最终导致肯定用户动作(affirmative user action),肯定用户动作表示在呈现数字组件和/或与数字组件的交互之后对特定的目标事件/动作的执行。例如,接触关于濒危物种的数字组件的用户可以与该组件交互(例如,通过选择或点击该组件),并且被引导到关于特定濒危物种的网页,用户可以在该网页中注册旨在帮助拯救该濒危物种的时事通讯。在该示例中,注册时事通讯可以被认为是特定目标动作。目标动作的示例还可以包括但不限于向网站/服务注册、向在线购物车添加物品、下载白皮书、获取产品、导航到网站的至少给定深度、查看至少某一数量的网页、在网站或网页上花费至少预定量的时间、完成网站注册过程以及订阅数字服务。换句话说,特定目标动作可以是用户与在用户与数字组件交互之后提供给用户的内容进行的交互。用户可以执行与数字组件的第一内容的第一交互,然后在该第一交互之后,执行与由于第一交互而提供给用户的第二内容的第二交互。第一交互和第二交互可以是由于来自用户的一个或多个输入而导致的信号的生成。来自用户的输入可以经由触摸屏、键盘、麦克风、视频或与客户端设备交互的任何其他手段。
22.当客户端设备重新访问在客户端设备上运行的应用内的相同或不同的内容平台时,可以再次向客户端设备提供与先前提供给客户端设备的数字组件相同或相似的数字组件。即使客户端设备先前对相同/相似的数字组件有肯定用户动作,也可能出现对这种数字组件的这种冗余提供。肯定用户动作通过与该数字组件的用户交互之后对特定目标动作的执行来表示。此外,在一些系统中,即使一个内容源/平台确定客户端设备的用户已经对特定数字组件有肯定用户动作,对肯定用户动作的该确定对于客户端设备随后可能访问的另一内容源/平台来说也可能是未知的。结果,该另一内容源/平台可以提供已经遇到肯定用户动作的相同或相似类型的数字组件。例如,假设特定数字组件已经被提交给不共享数据的两个相异的内容分发系统。在该情形下,即使一个内容分发系统知晓特定用户在与特定数字组件交互之后完成了目标动作,另一相异的内容分发系统也将完全不知晓对目标动作的执行,使得特定数字组件可以继续被呈现给特定用户。
23.相比之下,本文档中描述的技术可以完全(或大部分)在客户端设备上实施(即,独
立于特定的内容源/平台)。如在本说明书中进一步描述的,客户端设备可以基于客户端设备上过去的用户活动、无关于数字组件的内容源/平台而与客户端设备上的该数字组件进行的用户交互、其上提供(多个)数字组件的内容平台、或者其内获得数字组件的(多个)应用,来使用多个信号确定对数字组件的肯定用户动作。在一些实施方式中,使用机器学习模型(或基于启发式的方式,或另一适当的基于模型或基于规则的技术)来分析/处理多个信号,该机器学习模型确定客户端设备是否对数字组件有肯定用户动作。
24.基于客户端设备是否对特定数字组件有肯定用户动作,本文描述的技术可以修改所存储的(即,存储在客户端设备上的)数字组件列表(例如,cookie列表),该列表指定可用于提供给在客户端设备上运行的应用的数字组件集合。例如,响应于用户与租赁汽车公司的数字组件的交互(例如,选择、点击、查看),数字组件列表可以被更新以包括提供数字组件的指示的特定条目(例如,数字组件的名称、数字组件的类别/类型、用户在与数字组件交互的同时所执行的活动)。然而,如果机器学习模型(或另一适当的方式/模型)确定客户端设备对数字组件有肯定用户动作,则机器学习模型(或其他适当的方式/模型)可以更新数字组件列表,例如,通过从列表中移除特定数字组件或降低其在列表中的排名(如果它已经在列表中的话)或通过不向列表添加该特定数字组件(如果它还没有在列表中的话)。
25.随后,当客户端设备使用应用来访问相同或不同的内容平台时,本文描述的技术可以向内容平台(和/或为内容平台提供内容的(多个)内容源)发送经修改的数字组件列表的一部分(例如,整个列表或列表的子集,诸如列表上包括的排名前n的组件)。内容平台和/或(多个)内容源可以使用该经修改的数字组件列表来提供内容,以供在客户端设备上运行的应用内显示。例如,内容源和/或内容平台只能提供被包括在接收到的数字组件列表的部分上的一个或多个数字组件。在这种情况下,在客户端设备上运行的应用渲染由内容源/平台提供的数字组件。作为另一示例,(多个)内容源和/或(多个)内容平台可以提供任何一个或多个数字组件,而不管它们是否在列表上。在这种情况下,客户端设备可以确定所提供的数字组件是否在经修改的数字组件列表上(例如,所提供的数字组件是否是数字组件列表上的前n个数字组件之一)。如果是,则在客户端设备上运行的应用可以渲染/显示所提供的数字组件。否则,应用可以抑制这种内容,并且转而修改界面,使得将要显示被抑制/移除的数字组件的位置被其他内容(例如,已经包括在页面上的可以被调整(例如,重组/移动/调整大小)的内容)或者可从内容源/平台获得的其他内容替换。
26.下面参考图1

图4进一步描述这些特征和附加特征。
27.除了贯穿本文档的描述之外,可以向用户提供控件,以允许用户关于本文描述的系统、程序或特征是否以及何时能够收集用户信息(例如,关于用户的社交网络、社交动作或活动、职业、用户偏好或用户当前位置的信息)以及是否从服务器向用户传送内容或通信来进行选择。此外,某些数据在被存储或使用之前可能会以一种或多种方式进行处理,使得个人可识别信息被移除。例如,可以对用户的身份进行处理,使得不能确定用户的个人可识别信息,或者可以将用户的地理位置笼统到获得位置信息的地方(诸如城市、zip码或州级别),使得不能确定用户的特定位置。因此,用户可以控制收集关于用户的什么信息、如何使用该信息以及向用户提供什么信息。
28.图1是其中内容被分发并呈现给客户端设备的示例环境100的框图。示例环境100包括网络104,诸如局域网(lan)、广域网(wan)、互联网或其组合。网络104连接客户端设备
102、内容平台106和内容源110。示例环境100可以包括许多不同的内容源110、内容平台106和客户端设备102。
29.内容平台106是能够分发内容的计算平台。示例内容平台106包括搜索引擎、社交媒体平台、新闻平台、数据聚合器平台或其他内容共享平台。每个内容平台106可以由内容平台服务提供商操作。
30.内容平台106可以在平台上发布并提供其自己的内容。例如,内容平台106可以是发布其自己的新闻文章的新闻平台。内容平台106还可以呈现由一个或多个内容源110提供的内容。在上述示例中,新闻平台还可以呈现由不同作者创建并由一个或多个内容源110提供的内容。作为另一示例,内容平台106可以是数据聚合器平台,数据聚合器平台不发布其自己的任何内容,而是聚合和呈现由不同新闻网站(即,内容源110)提供的新闻文章。
31.客户端设备102是能够通过网络104请求和接收内容的电子设备。示例客户端设备102包括个人计算机、移动通信设备、数字助理设备以及能够通过网络104传送和接收数据的其他设备。
32.客户端设备102通常包括操作系统112,操作系统主要负责管理设备硬件资源和软件资源,诸如应用。客户端设备102还包括用于基于特定实施方式、应用和用例而临时或永久地存储数据的设备存储装置120。客户端设备102通常包括用户应用116和117(诸如网络浏览器)以促进通过网络104传送和接收数据,但是由客户端设备102运行的本地应用也可以促进通过网络104传送和接收内容。在客户端设备102处呈现的内容的示例包括网页、文字处理文档、便携式文档格式(pdf)文档、图像、视频以及搜索结果页面和数字广告。
33.一般来说,客户端设备102与在客户端设备102上运行的应用交互,以访问数字内容,诸如搜索结果、网页、新闻文章和社交媒体帖子。当访问数字内容时,客户端设备还可以从一个或多个内容提供商接收数字组件。
34.例如,假设用户使用应用a 116(其为网络浏览器)来执行对“租赁汽车”的互联网搜索以及查阅响应于提交搜索查询“租赁汽车”而返回的搜索结果。在这种情况下,第三方(即,除了客户端设备之外的实体,诸如内容平台或内容源)可以(例如,通过选择或点击数字组件,或者观看数字组件中呈现的内容达特定时段)向应用提供可能与搜索查询相关并且用户可以与之交互的数字组件(例如,视频、文本)。
35.与这些数字组件的这种交互可以导致应用打开(或重定向到)具有可能与所选数字组件的主题相关的附加的内容/数字组件的另一内容页面。例如,假设在查阅响应于提交搜索查询“租赁汽车”而返回的搜索结果的同时,用户通过选择或点击链接来与数字组件进行交互。在该示例中,客户端设备102可以打开应用b 117,该应用b 117是安装在客户端设备102上并由特定租赁汽车公司提供的应用(例如,本地应用)。在另一示例中,选择或点击链接可以在应用a 116内将用户重定向到另一网站,该另一网站包括与搜索查询“租赁汽车”相关的数字内容,诸如不同汽车租赁服务的评论或汽车租赁服务的网页。
36.客户端设备102还包括内容评估装置114(其可以是数据处理装置,如本说明书中所描述的)。在一些实施方式中,内容评估装置114被实施为机器学习模型,该机器学习模型包括多个可训练参数并且被训练成通过分析信号集合来确定用户对呈现在客户端设备102上的数字组件的肯定用户动作(如下面进一步描述的)。机器学习模型可以是被认为适合于特定实施方式的任何模型,诸如决策树、人工神经网络、遗传编程、逻辑编程、支持向量机、
聚类、强化学习、贝叶斯推理等等。机器学习模型还可以包括用于分析包括文本数据的信号的自然语言处理的方法、算法和技术。
37.在一些实施方式中,使用多个训练数字组件的训练数据来训练在内容评估装置114内实施的机器学习模型。训练数据中的每个训练数字组件与训练数字组件的相应信号集合和指示用户是否对训练数字组件有肯定用户动作的标签相关联。例如,训练数字组件包括通过与特定数字组件的用户交互(和/或与客户端设备102上的其他内容/应用/数字组件的动作/交互)而生成的信号集合,以及陈述对特定数字组件的用户动作是否是肯定的标签。
38.在一些实施方式中,训练机器学习模型涉及调整机器学习模型的可训练参数,使得机器学习模型可以分析通过与数字组件的用户活动和用户交互而生成的多个信号,以预测对内容提供商所提供的数字组件的用户动作是否是肯定的。取决于具体实施方式,机器学习模型的训练过程可以是有监督的、无监督的或半监督的。
39.在一些实施方式中,除了与特定数字组件的用户交互和/或用户动作之外,机器学习模型还可以处理从客户端设备上的用户活动中生成的多个附加信号。这些信号包括但不限于对数字组件中提供的不同链接的点击、互联网搜索关键词以及观看不同数字组件所花费的时间。例如,如果在应用的运行期间向客户端设备提供了具有到属于特定产品(或服务或其他内容)的网站的链接的数字组件,则用户可以点击该链接并访问所链接的网站。在该情况下,os检测出用户交互(点击或选择),并且生成提供给内容评估装置的信号。在另一示例中,当向客户端设备提供包括视频的数字组件时,os可以检测出用户跳过了视频(例如,通过滚动过数字组件)或者可能花费一些时间观看视频(例如,通过不滚动页面达某个阈值时间量)。因此,os生成表示花费在视频数字组件上的时间量的信号,并且提供该信号供机器学习模型进一步处理。
40.在一些实施方式中,除了上述用户交互信号之外,在内容评估装置114内实施的机器学习模型还可以基于通过用户接触呈现在客户端设备102上的数字组件而生成的信号,来预测用户对数字组件的肯定用户动作。这种实施方式可以使用数字图像处理和自然语言处理的领域中众所周知的技术,诸如光学字符识别(ocr)。例如,假设客户端设备正在与第三方应用(诸如由汽车租赁公司提供的预订租赁汽车的应用)进行交互,所渲染的用户界面的图像可以用于识别用户对数字组件的肯定用户动作。在另一示例中,假设用户在客户端设备102上运行的浏览器应用中得到关于租赁汽车的预订确认的网络推送通知。基于实施方式的类型,os可以从网络推送通知中生成多个信号,诸如用户界面中在客户端设备102上向用户呈现网络推送通知的图像或者网络推送通知的文本。这些信号可以由机器学习模型进行分析,以确定用户对数字组件的肯定用户动作。
41.在一些实施方式中,如上所述,在内容评估装置114内实施的机器学习模型对通过与数字组件的用户交互和客户端设备上的其他动作(例如,与数字组件的第一用户交互以及与响应于第一用户交互而提供的内容的一个或多个附加的用户交互和/或用户动作)而生成的信号集合进行处理,以确定是否执行了肯定用户动作。在一些实施方式中,机器学习模型可以基于输入信号集合来生成肯定用户动作的分数或可能性。例如,肯定用户动作的可能性或分数可以是从0到10的范围内的数字,其中更接近0的数字指示肯定用户动作的更低可能性或分数,并且更接近10的数字指示肯定用户动作的更高可能性/分数。在这种实施
方式中,可能存在预设阈值,其在肯定用户动作的可能性大于该预设阈值的情况下可能暗示肯定用户动作。例如,假设可能性的预设阈值被设置为5。如果机器学习模型所生成的对数字组件的用户动作的可能性是大于5的值,则该动作被确定为是肯定的。否则,交互被确定为不是肯定的。
42.在一些实施方式中,内容评估装置114实施一种用于确定对数字组件的肯定用户动作的基于启发式的方式(而不是机器学习模型)。在这种实施方式中,内容评估装置114对通过与由内容源/平台提供给客户端设备102的数字组件的用户交互而生成的相同信号集合(如上所述)进行分析。
43.在一些实施方式中,内容评估装置114在客户端设备102上的操作系统(os)级别进行操作,而不是在特定应用的应用级别进行操作。如本说明书中所使用的,os级别的操作或是比应用级别的操作访问更高权限的操作,和/或是由操作系统执行的操作。
44.作为另一示例,os级别的操作可以访问由多个不同应用处理的数据,并且将该数据提供给机器学习模型(或另一适当的模型或基于启发式的方法),使得其可以确定是否执行了肯定用户动作。因此,通过在os级别进行操作,机器学习模型相对于应用是不可知的,并且能够通过分析由客户端设备102访问的数据来确定肯定用户动作。
45.尽管图1中未示出,但是在一些实施方式中,内容评估装置114可以在应用级别实施(而不是在os级别实施)。在这种实施方式中,实施内容评估装置114的应用可以被提供有比在操作系统112的应用级别运行的其他应用更高的权限。在这种实施方式中,实施内容评估装置114的应用可以具有访问另一应用的内容的权限。当实施内容评估装置114的应用访问内容时,机器学习模型(或另一适当的模型或基于启发式的方式)确定是否发生了肯定用户动作。
46.在一些实施方式中,客户端设备102在设备存储装置120中存储数字组件列表130。数字组件列表130(例如,cookie列表)包括可用于提供给在客户端设备102上运行的应用的数字组件列表。数字组件列表130将参考图2进一步解释。
47.如参考图3进一步描述的,基于关于客户端设备是否对特定数字组件有肯定用户动作的确定,来修改该数字组件列表。如参考图3进一步描述的,该经修改的数字组件列表随后被内容平台和/或(多个)内容源用于提供数字组件以供在应用内显示,使得所提供的数字组件不同于客户端设备已经对其有肯定用户动作的(多个)数字组件(或(多个)数字组件的类型)。
48.图2是示出存储在客户端设备102上的示例数字组件列表130的表。
49.在一些实施方式中,数字组件列表130中的每个条目包括可以呈现给客户端设备的特定数字组件。基于之前与数字组件的用户交互和/或用户动作,在该列表上识别这种数字组件。基于数字组件的类型和用户活动,数字组件列表130中的每个条目还可以包括多个特征。例如,列产品202、类别204、用户动作206和排名208表示与数字组件的用户活动或用户交互的不同特征或特性。
50.在一些实施方式中,特征或特性直接与跟数字组件的用户活动或用户交互相关联,或者从用户活动或与数字组件的用户交互中推断出。例如,假设用户搜索“租赁汽车”并且获得包括响应于提交搜索查询“租赁汽车”而返回的搜索结果以及描绘特定租赁汽车服务的数字组件的内容页面。在该示例中,在客户端设备上的数字组件列表130中创建表示用
户最初与之交互的特定数字组件的主题的条目。例如,表中的条目5指示对租赁汽车执行互联网搜索的用户动作。此外,在该示例中,用户可以与这些数字组件之一进行交互(例如,通过选择或点击),这可以将用户重定向到特定的第三方租赁汽车网站。在该示例中,在客户端设备102上的数字组件列表130中创建表示用户与特定汽车租赁服务的数字组件(网页)进行交互的条目。例如,表中的条目6指示用户访问租赁汽车公司q的网页的交互,而表中的条目7指示用户访问租赁汽车公司r的网页的交互
51.在一些实施方式中,数字组件列表130的一部分(例如,响应于当客户端设备上的盲像素触发时被提供该列表,或者响应于对该列表的请求)被诸如内容平台或内容源之类的第三方访问。基于数字组件列表中的特定条目,第三方向用户提供数字组件。例如,假设用户正在使用安装在客户端设备102上的浏览器应用117访问由内容提供商提供的数字内容。内容源/平台可以向客户端设备102传送对数字组件列表的请求。响应于对数字组件列表的请求,客户端设备102可以向内容源发送数字组件列表的一部分。在接收到数字组件列表的一部分时,内容源可以基于由内容源/平台接收的数字组件列表的一部分中列出的条目,向客户端设备102提供数字组件以供呈现给用户。
52.在一些实施方式中,数字组件列表130中的每个条目基于用户可能与特定数字组件交互的概率来进行排名。例如,列208包括表130中表示数字组件列表的每个条目的排名。在一些实施方式中,数字组件中每个条目的排名可以如以下示例中所描述的以及参考图1和图3进一步描述的那样进行修改。例如,如果在内容评估装置114内实施的机器学习模型通过分析由浏览器应用访问的其他数字内容来确定用户已经预订了租赁汽车,则数字组件列表130中的特定条目的排名可以降低。诸如广告商或出版商之类的第三方在从客户端设备102接收到经修改的数字组件列表130时,基于更新的数字组件的排名来提供数字组件,从而向用户提供具有更高排名(或位于排名前n的数字组件中)的数字组件。
53.在一些实施方式中,多于一个内容源/平台可以在客户端设备102上向用户提供数字内容。在这种实施方式中,客户端设备102可以存储数字组件列表130,该列表可以基于使用通过与由第一内容源/平台供应的数字组件的用户交互而生成的信号所识别的肯定用户动作来进行修改。随后,第二内容源/平台可以访问存储在客户端设备102上的数字组件列表130的一部分,并且基于经修改的数字组件列表130来供应数字组件。
54.例如,假设使用在客户端设备102上运行的浏览器应用a 116来执行对“相机”的互联网搜索,这导致在应用a 116内提供搜索结果页面和由第一内容源提供数字组件。如果客户端设备102检测出与该数字组件的交互,则客户端设备102将该数字组件的条目添加到数字组件列表130中。稍后,在另一在线会话期间,第二内容源/平台可以访问来自客户端设备102的数字组件列表130的一部分,并且基于该条目来提供与“相机”相关的数字组件。如果用户响应于与数字组件(以及响应于该交互而提供的附加内容以及由客户端设备检测出对其有附加交互/动作的附加内容)的交互来执行目标动作(例如,阅读对数字组件所链接的网站上的特定相机的评论),则在客户端设备102上实施的内容评估装置114可以基于这种交互/动作来分析由os检测出的相应信号,并且例如通过移除条目212或者降低特定条目212的排名来修改客户端设备上的数字组件列表130。在这种场景下,第一内容源/平台可以访问数字内容列表,并且不提供与“相机”相关的广告。
55.图3是用于基于客户端设备的用户动作和/或操作向客户端设备提供一个或多个
数字组件的示例过程300的流程图。过程300的操作在下面被描述为由图1和图2中描述和描绘的系统的组件来执行。过程300的操作仅出于说明的目的在下面描述。过程300的操作可以由任何适当的设备或系统(例如,任何适当的数据处理装置)来执行。过程300的操作也可以被实施为存储在非暂时性计算机可读介质上的指令。指令的运行使得一个或多个数据处理装置执行过程300的操作。
56.数字组件列表130被存储在客户端设备上,并且指定可用于提供给在客户端设备上运行的应用的数字组件集合(310)。在一些实施方式中,并且如上文参考图2所描述的,数字组件列表130中的每个条目描述/表示可用于提供给在客户端设备上运行的应用的数字组件。数字组件列表130中的条目至少基于与由内容源/平台提供给客户端设备102的数字组件的用户交互和/或用户动作来创建。例如,使用图2中的表所表示的数字组件列表130被存储在客户端设备102的设备存储装置120中。在一些实施方式中,数字组件列表130中的条目是根据对用户的相对重要性来排名的。例如,列208显示了列表中每个条目的排名。在一些实施方式中,数字组件列表中的条目可以相对于类型/类别进行排名。
57.第一数字组件由第一内容源提供给在客户端设备上运行的应用(320)。在一些实施方式中,第一内容源可以提供第一数字组件以供在客户端设备102上运行的应用内显示。例如,在客户端设备102上运行的基于浏览器的应用a 116可以用于执行对“租赁汽车”的互联网搜索。响应于搜索查询,内容源/平台向客户端设备102提供与租赁汽车相关的搜索结果。
58.由客户端设备来检测信号集合,其中该信号集合指定与第一数字组件的第一用户交互以及与响应于第一用户交互而提供的内容的第二用户交互(330)。在一些实施方式中,客户端设备102的os检测出与第一数字组件的第一用户交互。这种第一用户交互和/或用户动作的示例包括用户选择第一数字组件、点击第一数字组件以及查看第一数字组件(例如,达特定时间段)。os可以通过使用规则集合来检测这种用户交互和/或用户动作,该规则集合捕获不同的设备事件(例如,在特定应用中经过的时间、关于在客户端设备上滚动内容的信息、数字组件的选择/点击、响应于数字组件的选择或点击而打开呈现的内容/应用或页面),并且组合这些规则中的一个或多个来确定是否执行了第一交互。替代地,所捕获的设备事件可以馈送到被训练成基于设备动作集合而不是规则集合来预测是否执行了第一交互的模型(例如,机器学习模型或另一适当的统计模型)。例如,可以使用实际检测出的第一交互和各自的设备事件集合来训练这种模型。
59.响应于第一用户交互,可以由第一内容源(或由另一内容源)在客户端设备102上运行的应用内提供附加内容。这种附加内容的示例包括用户在选择了由内容提供商响应于提交搜索查询而提供的搜索结果中的链接之后被重定向到的内容页面。os可以使用诸如点击次数或花费在网页上的时间之类的信号来检测与该附加内容的第二用户交互(这可以包括例如购买产品/服务、留下评论或注册内容递送服务)。同样,os可以通过使用捕获(在执行第一次用户交互之后获得)显示内容的不同设备事件和/或解析/分析(例如,使用ocr、图像处理等)的规则集合来检测这种用户交互和/或用户动作,并且组合这些规则中的一个或多个来确定是否执行了第二交互。替代地,所捕获的设备事件和/或解析/分析的图像内容可以馈送到被训练成基于设备动作集合而不是规则集合来预测是否执行了第二交互的模型(例如,机器学习模型或另一适当的统计模型)。例如,可以使用实际检测出的第二用户交
互和/或用户动作以及各自相对应的设备事件集合来训练这种模型。
60.除了上述交互之外,os还可以从设备上的其他应用/服务检测关于其他设备动作和/或数据的附加信号(如上参考图1所描述的)。例如,如果用户在选择在客户端设备102上运行的浏览器应用上打开显示了对租赁汽车预订的确认的网页之后在电子邮件或sms文本中接收到可点击的url,os将检测来自网页的诸如文本之类的信号,并且将信号集合提供给内容评估装置114。
61.信号集合被用于确定用户是否针对第一数字组件执行了肯定用户动作(340)。在一些实施方式中,内容评估装置114在客户端设备102上实施机器学习模型或基于启发式的方式,该机器学习模型或基于启发式的方式分析该信号集合(如上文在操作330中检测出的)以确定是否发生了肯定用户动作(如参考图1进一步描述的)。例如,如果数字组件被提供以供显示并且包括到关于特定产品的网站的链接,则用户可以点击该链接并访问所链接的网站。在该情况下,用户活动生成多个信号,诸如点击次数和网页中呈现的内容的上下文。内容评估装置114分析信号以确定用户对由内容源/平台提供给客户端设备102的数字组件的肯定用户动作。
62.在一些实施方式中,并且如参考图1所描述的,在内容评估装置114内实施的机器学习模型处理由与数字组件的用户交互(以及客户端设备上的其他动作)生成的信号集合,并且基于关联于与数字组件的用户交互(例如,与数字组件的第一用户交互以及与响应于第一用户交互而提供的内容的一个或多个附加的用户交互和/或用户动作)的信号集合,执行对是否导致肯定用户动作的分类。在一些实施方式中,机器学习模型可以基于输入的信号集合来生成肯定用户动作的分数或可能性(如参考图1所描述的)。
63.数字组件列表130被修改,并且经修改的列表被存储在客户端设备102上(350)。如果在客户端设备102内实施的内容评估装置114识别出针对特定数字组件的肯定用户动作,则它修改存储在客户端设备102上的数字组件列表130。在一些实施方式中,如果内容评估装置确定第一数字组件遇到肯定用户动作,则内容评估装置114降低与数字组件列表中的第一数字组件相对应的特定条目的排名,例如,使得该特定条目不再位于排名前n的组件中。例如,如果在内容评估装置114内实施的机器学习模型通过分析由相同浏览器应用或由其他应用访问的其他数字内容来确定用户已经预订了租赁汽车,则可以降低数字组件列表中的特定条目的排名。替代地,内容评估装置114可以从数字组件列表130中移除对数字组件的引用,而不是降低排名。
64.从在客户端设备102上运行的应用接收对访问内容页面的请求(360)。为了使在客户端设备102上运行的应用访问由内容源/平台提供的内容页面,该应用生成对访问通过网络104发送到内容源/平台的内容页面的请求。内容源在接收到对访问内容页面的请求时,将相应的内容页面发送到客户端设备102。例如,用户可以使用在客户端设备102上运行的浏览器应用a 116来执行互联网搜索,查看响应于互联网搜索而提供的搜索结果,并且通过点击作为搜索结果而提供的链接来访问多个数字组件。在这种场景下,客户端设备102生成对访问包括搜索结果的内容页面的请求。此外,当用户例如点击作为搜索结果而提供的链接时,客户端设备102生成对访问通过网络104发送到内容源的数字内容的相应请求。
65.包括经修改的数字组件列表的一部分的内容请求被传送到第二内容源(370)。在一些实施方式中,响应于对由客户端设备102上运行的应用访问内容页面的请求,内容页面
上的脚本运行并导致由该应用向第二内容源提供内容请求。在一些实施方式中,该内容请求包括经修改的数字组件列表的一部分(例如,整个列表或列表的子集,诸如排名前n的数字组件)。内容请求还可以包括指定内容特征的事件数据,诸如被请求的电子文档、从其请求数字组件的服务器的名称或网络位置、请求设备(例如,客户端设备102)的名称或网络位置。
66.在一些实施方式中,被提供给内容源/平台的数字组件列表130的一部分包括数字组件列表130中的前n个条目,其中前n个条目是基于用户的相对兴趣基于每个单独的数字组件的排名来选择的。例如,在图2中,条目1

7相对于数字组件的类型/类别进行排名。在这种情况下,客户端设备102可以向内容源/平台提供数字组件列表130中包括排名为1的条目的一部分。
67.在一些实施方式中,被提供给内容源/平台的数字组件列表130的一部分包括在数字组件列表130的前n个条目中列出的数字组件的一个或多个特征的组合,其中前n个条目是基于基于用户的相对兴趣的每个单独的数字组件的排名来选择的。例如,在图2中,客户端设备102可以向内容源/平台提供数字组件列表130中包括一个或多个特征(诸如排名为1的条目的产品202或类别204)的一部分。
68.基于经修改的数字组件列表130的一部分,从内容源/平台接收第二数字组件(380)。在一些实施方式中,内容源/平台在接收到数字组件列表130的一部分时,向客户端设备102提供在接收到的列表130上列出的数字组件当中的那些数字组件(例如,提供来自列表130上的前n个识别的数字组件的数字组件)。在某些场景下,数字组件列表可以是经修改的数字组件列表,其中数字组件列表是基于用户对其他数字组件的肯定用户动作来修改的。
69.例如,假设被提供给内容源/平台的数字组件列表130的一部分包括数字组件列表130中的前n个条目,其中前n个条目是基于每个单独的数字组件的排名来选择的。在这种情况下,由内容源/平台访问的数字组件列表130的一部分将包括条目1、2和5,这些条目指示用户对相机、酒店和租赁汽车的兴趣。
70.在一些实施方式中,(多个)内容源和/或内容平台可以提供任何数字组件,而不管它们是否在列表上。在这种情况下,客户端设备可以确定所提供的数字组件是否在数字组件列表上(例如,所提供的数字组件是否为数字组件列表上的前n个数字组件之一)。如果是,则在客户端设备上运行的应用可以渲染/显示所提供的数字组件。否则,该应用可以通过例如不显示这种内容对其进行抑制,并且可选地,该应用可以转而修改界面,使得将要显示被抑制/移除的数字组件的位置被其他内容(例如,已经包括在页面上的可以被调整(例如,重组/移动/调整大小)的内容,或者其他内容)替换,这些内容可以从内容源或内容平台获得。
71.在一些实施方式中,客户端设备102可以向内容平台或内容源通知关于被抑制并且没有在客户端设备102上呈现/显示的特定数字组件。内容平台或内容源可以使用这种信息以在随后避免在客户端设备102上提供这种数字组件。内容平台和/或内容源可以维护/存储关于被抑制/移除的内容的信息,该信息可以用于执行分析,该分析可以通知要提供给一个或多个客户端设备的数字组件的类型。
72.从内容源/平台接收的数字组件被提供以供在客户端设备102上运行的应用内显
示(390)。在一些实施方式中,客户端设备102在从第二内容源接收到数字组件时,提供这些数字组件以供在应用内显示。例如,假设内容源/平台在接收到数字组件列表的一部分时,向客户端设备102提供数字组件,诸如与相机、酒店和租赁汽车相关的内容。
73.总之,上述操作限制了在客户端设备上提供和显示客户端设备已经对其有肯定用户动作的冗余数字组件。相关地,当之前没有肯定用户动作与这些数字组件相关联时,上述操作还没有任何限制地提供和显示数字组件(无论先前是否被提供)。
74.图4是可用于执行上述操作的示例计算机系统400的框图。系统400包括处理器410、存储器420、存储设备430和输入/输出设备440。组件410、420、430和440中的每一个可以例如使用系统总线450来互连。处理器410能够处理指令以供在系统400内运行。在一些实施方式中,处理器410是单线程处理器。在另一实施方式中,处理器410是多线程处理器。处理器410能够处理存储在存储器420中或存储在存储设备430上的指令。
75.存储器420存储系统400内的信息。在一个实施方式中,存储器420是计算机可读介质。在一些实施方式中,存储器420是易失性存储器单元。在另一实施方式中,存储器420是非易失性存储器单元。
76.存储设备430能够为系统400提供大规模存储。在一些实施方式中,存储设备430是计算机可读介质。在各种不同的实施方式中,存储设备430可以包括例如硬盘设备、光盘设备、由多个计算设备(例如,云存储设备)通过网络共享的存储设备、或者某一其他大容量存储设备。
77.输入/输出设备440为系统400提供输入/输出操作。在一些实施方式中,输入/输出设备440可以包括一个或多个网络接口设备,例如以太网卡、串行通信设备(例如,rs

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

rom和dvd

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

服务器关系的计算机程序产生的。在一些实施例中,服务器将数据(例如,html页面)传输到客户端设备(例如,为了向与客户端设备交互的用户显示数据和从其接收用户输入)。在客户端设备处生成的数据(例如,用户交互的结果)可以在服务器处从客户端设备接收。
88.尽管本说明书包含许多具体的实施细节,但是这些不应被解释为对任何发明或所要求保护的范围的限制,而是对特定发明的特定实施例的特定特征的描述。本说明书中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中分开实施或者在任何合适的子组合中实施。此外,尽管特征可以在上面被描述为在某些组合中起作用,并且甚至最初被这样要求保护,但是在一些情况下,来自所要求保护的组合的一个或多个特征可以从该组合中删除,并且所要求保护的组合可以指向子组合或子组合的变体。
89.类似地,尽管在附图中以特定次序描述了操作,但是这不应当被理解为要求以所示的特定次序或顺序次序执行这些操作,或者要求执行所有示出的操作,以获得期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统组件的分离不应当被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以集成在单个软件产品中或者封装到多个软件产品中。
90.因此,已经描述了主题的特定实施例。其他实施例在以下权利要求的范围内。在一些情况下,权利要求中列举的动作可以以不同的次序执行,并且仍然获得期望的结果。此外,附图中描述的过程不一定需要所示的特定次序或顺序次序来获得期望的结果。在某些实施方式中,多任务和并行处理可能是有利的。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1