防止通知无视的制作方法

文档序号:17761941发布日期:2019-05-24 21:46阅读:339来源:国知局
防止通知无视的制作方法

本申请一般涉及通知无视(blindness),预测通知无视何时将发生,或防止通知无视。



背景技术:

诸如领英(linkedin)之类的社交网络系统可以至少部分地通过在其成员(例如,潜在的求职者)中生成对在社交网络系统上发布的可获得的工作的列表或帖子的兴趣的能力来衡量其成功或有用性。在成员之间生成的兴趣量可取决于许多因素,包括例如用于将用户吸引到系统的技术的有效性。

附图说明

通过举例而非限制性的方式,在附图中示出了本公开内容的一些实施例,其中类似的附图标记表示相似的元件。

图1是根据一个或多个实施例示出了移动设备的用户界面的框图。

图2是根据示例性实施例示出了客户端-服务器系统的框图。

图3是根据示例性实施例示出了联网系统内的社交网络服务的功能组件的框图。

图4是根据一个或多个实施例示出了动态贝叶斯网络模型的状态之间的关系的转换图。

图5是根据一个或多个实施例示出了通知无视引擎的组件的框图。

图6是根据各个实施例示出了示例性方法的流程图。

图7是根据示例性实施例的可以在其上执行本文所描述的操作、动作和方法的示例性计算机系统的框图。

具体实施方式

本公开内容描述了用于确定用户是否将随时间响应于通知标记(badge)的系统方法、系统、装置和非暂时性机器可读介质的实施例。一个或多个实施例可以包括:确定用户是否将随时间变成“通知无视”(不响应于通知标记),或者用户是否将响应于接收到通知标记而关闭通知或从移动设备移除应用。

用户的关注可能是对于所有社交网络而言最有价值的商品。获得并保持用户关注形成了在参与和收益两者方面增长的基础。从桌面网站、到移动应用、到推送通知,社交网络已经设想出更加侵入性的方式来寻求用户的关注。然而,保持这种关注取决于为用户提供价值而不会使用户厌烦。

利用通知,移动应用有能力对用户进行蜂鸣和标记(参见图1)以得到他们的关注。网站与应用之间存在不同的范例,因为应用首次可以主动与用户联系,例如通过使用标记通知或蜂鸣。在这种高风险游戏中,错误的成本也高得多。由于通知不佳而可以关闭通知,并且甚至更差的情况可以删除应用。由于推荐不佳,关闭通知会比删除应用(或取消对网站加书签)更有可能。低质量通知的另一可能结果可以包括使用户“通知无视”。同时,良好通知可以为用户提供及时的价值,并增加用户的短期和长期参与度。

考虑确定是否向用户提供通知标记的问题。通知标记可以增加用户参与度,例如通过向用户通知存在使用应用消费的内容。然而,用户可以将通知标记视为令人厌烦的,例如,如果用户对与通知标记相关的内容不是足够感兴趣,或者如果通知标记本身使用户厌烦。如果通知标记显示太多次,或者用户对与通知标记相关的内容不是足够感兴趣,则用户可能变得对通知标记无视。在更差的情况下,用户可以例如响应于太多或不良标记通知而关闭通知或删除应用。

通常,问题包括不能直接辨别用户在显示/呈现之前/之后/紧随其后的动作是否指示“内在兴趣”和/或“受影响的亲和度(affinity)”。这至少是因为用户动作不直接指示标记通知是否触发了用户动作。但是,“内在兴趣”和“受影响的亲和度”可以帮助确定标记通知在驱动用户或保持用户对网站的关注方面的有效性。实施例可以将显示/呈现标记通知和可能与这种显示/呈现相关或不相关的用户动作联系起来。

本文的实施例可以为确定是否向用户提供通知标记的技术问题提供一种或多种技术解决方案。技术解决方案可以包括使用动态贝叶斯网络来做出这种确定。

举例而言,图1示出了移动设备的用户界面100的实施例的框图。如所示出的用户界面100包括多个应用图标101a、101b、101c和101d。应用图标101a-101c包括相应的标记通知103a、103b和103c。用户可以例如通过触摸、轻击来选择应用图标101a-101d,或以其它方式来选择应用图标101a-101d。可以响应于触摸或轻击来执行与应用图标101a-101d相关联的应用。在一个或多个实施例中,应用可以包括社交网络应用,例如可以包括来自美国加利福尼亚州门洛帕克(menlopark)的facebook公司的facebook、来自美国加利福尼亚州山景城(mountainview)的google公司的googleplus、来自美国加利福尼亚州森尼韦尔(sunnyvale)的linkedin公司的linkedin、来自加利福尼亚州门洛帕克的facebook公司的instagram等等。在一个或多个实施例中,应用可以包括例如来自银行或其它金融机构的金融应用、地图应用、音乐应用、天气应用、电子邮件应用、互联网协议语音(voip)应用、体育应用、新闻应用或其它应用。

标记通知103a-103c向用户指示存在要使用与应用图标101a-101c相关联的相应应用处理的某个主题或内容。显示标记通知103a-103c以获得用户的关注。标记通知103a-103c可以指示各种不同的事物。例如,标记通知可以指示用户具有新消息、他们在社交网站上关注的用户已发布帖子、另一用户已评论或喜欢帖子、关注社交网站上的用户、应用具有可用的更新、经更新的地图可用于地图应用、钱已转移到用户的金融账户/从用户的金融账户转移、已发生显著的新闻事件等等。

标记通知103a-103c由对应于各个应用图标101a-101c的应用来控制。标记通知103a-103c可以与对于用户不同程度的重要性或兴趣的内容相关联。

考虑其中标记通知103c与激怒用户的内容有关的情况。用户可以通过选择应用图标101c并查看与标记通知103c相关联的内容来作用于标记通知103c。用户可能被与标记通知103c相关联的内容所激怒,并且可以忽视标记通知103c的将来出现、关闭来自应用的通知、或甚至删除应用。

考虑另一种情况,其中标记通知103a大部分时间存在于应用图标101a上。几乎每次用户查看应用图标101a时,都存在通知标记103a。通知标记103a可以获得与不经常呈现通知标记103a相比较少的用户关注。

所呈现的任一情况都可能导致用户禁用通知、较不频繁地选择应用图标101a-101c、或甚至更差的情况,删除与标记通知103a-103c相关联的应用。各实施例提供预测工具以确定用户将如何响应于标记通知103a-103c。各实施例可以确定用户将例如通过关闭通知、删除应用或者花费更少的时间使用应用来不利地进行响应的概率。在一个或多个实施例中,如果概率大于阈值概率,则应用可以避免提供标记通知103a-103c。在一个或多个其它实施例中,如果用户将不利地进行响应的概率与用户将积极地进行响应的概率之间的差异可以与阈值进行比较。如果积极响应的概率大于不利响应的概率并且它们之间的差异大于阈值,则可以提供标记通知。

在其它实施例中,动态贝叶斯网络(dbn)可以建模并预测用户将如何响应于更长期(例如周、月、年等等)的通知。针对给定用户的dbn可以针对各种不同级别的短期和长期标记通知来运行。可以针对每个不同级别以及短期和长期通知来预测用户参与度。可以存储被预测为使用户参与度最大化的特定数量的短期和长期标记通知,并将其用作为要呈现给用户的多个通知。例如,第一用户可以更好地响应于更稀疏的标记通知,并且第二用户可以更好地响应于更多更频繁的标记通知。可以在第一天向第一用户呈现第一数量的标记通知,在第二天向第一用户呈现第二、较低数量的标记通知,并且在第三天向第一用户呈现第三、较高数量的标记通知。可以在第一天、第二天和第三天中的每一天向第二用户呈现比第一用户更多的标记通知。

虽然在确定标记通知是否将引起应用使用减少方面表达了实施例,但是同样可以在确定标记通知是否将引起应用使用增加方面表达实施例。

要理解,本文所描述的各个实施例包括经编码指令,这些指令包括用于确定概率或做出关于是否在用户设备的用户界面上提供标记通知的决定的操作。可以显示标记通知以代表网站上用户可能感兴趣的项目。另外,可以由通知无视引擎来生成标记通知,例如用于在计算设备、服务器计算设备、移动计算设备等等上显示。

要理解,机器学习数据模型根据一个或多个经编码指令来表示,这些指令在被执行时执行部分地基于训练数据来得到推断、预测、结论或估计的计算。在一个示例中,机器学习数据模型可以包括em技术。

图2是根据示例性实施例示出了客户端-服务器系统200的框图。联网系统102经由网络104(例如,互联网或广域网(wan))向一个或多个客户端提供服务器侧功能。例如,图2示出了在各个客户端机器110和112上执行的web客户端106(例如,浏览器)和程序客户端108。

应用程序接口(api)服务器114和web服务器116分别耦合到一个或多个应用服务器118并向其提供程序和web接口。应用服务器118托管一个或多个应用120。应用服务器118进而被示为耦合到一个或多个数据库服务器124,这些数据库服务器124促进对一个或多个数据库126的访问。尽管图2中应用120被示为形成联网系统102的一部分,但在替代实施例中,应用120可以形成与联网系统102分离且不同的服务的一部分。

此外,尽管图2中所示出的系统200采用客户端—服务器架构,但是本公开内容不限于这种架构,并且可以用于例如分布式或对等架构系统。各种应用120也可以实现为不一定具有联网能力的独立软件程序。

web客户端106经由web服务器116所支持的web接口来访问各种应用120。类似地,程序客户端108经由api服务器114所提供的程序接口来访问由应用120提供的各种服务和功能。

图2还示出了在第三方服务器机器130上执行的第三方应用128。第三方服务器机器可以经由api服务器114所提供的程序接口对联网系统102进行程序访问。例如,第三方应用128可以利用从联网系统102取回的信息,支持由第三方托管的网站上的一个或多个特征或功能。例如,第三方网站可以提供由联网系统102的相关应用支持的一个或多个功能。在一些实施例中,联网系统102可以包括职业社交网络的功能组件。

如所示出的,应用服务器118托管通知无视引擎206。通知无视引擎206确定是否向用户呈现标记通知。通知无视引擎206可以考虑呈现标记通知103a-103c是否将降低用户将花费更少时间使用应用的概率(或者增加用户将花费更多时间使用应用的概率)。在确定是否呈现标记通知103a-103c时,通知无视引擎206可以考虑与通知标记103a-103c相关联的内容的相关性、用户与内容的交互历史、用户与其他用户的交互历史等等。通知无视引擎206在确定是否提供标记通知103a-103c时可以考虑其他用户对标记通知103a-103c的反应的历史。这些其他用户可以包括具有一个或多个类似属性的其他用户(在本文其它地方讨论)。通知无视引擎206在确定是否提供标记通知103a-103c时可以实现动态贝叶斯网络等等。

图3是根据示例性实施例示出了联网系统102内的职业社交网络的功能组件的框图。如图3中所示出的,职业社交网络可以包括三层架构,包括前端层201、应用逻辑层203和数据层205。在一些实施例中,图3中所示出的模块、系统和/或引擎表示一组可执行软件指令和用于执行指令的相应硬件(例如,存储器和处理电路(例如,处理器、现场可编程门阵列(fpga)和/或被配置为执行指令并执行由指令指示的操作的组件,例如可以包括晶体管、电阻器、电感器、电容器、调节器、电源、复用器、放大器、开关、缓冲器、二极管等等)。本领域技术人员认识到,各种另外的功能模块或引擎可以与职业社交网络(例如图3中所示出的网络)一起使用,以促进本文未具体描述的另外功能。图3中所描绘的各种功能模块和引擎可以驻留在单个服务器计算机上,或者在各种布置中可以跨若干服务器计算机分布。此外,尽管职业社交网络在图3中被描绘为三层架构,但是各实施例不限于这种架构。其它架构在本公开内容的范围内。

如图3中所示出的,在一些实施例中,前端层201包括用户界面模块(例如,web服务器)202,该用户界面模块202接收来自各种客户端计算设备(例如,客户端机器110或112、或第三方服务器130)的请求和输入,并向请求客户端设备传送适当的响应。例如,用户界面模块202可以接收具有超文本传输协议(http)请求或其它基于web的应用编程接口(api)请求形式的请求。

在一些实施例中,应用逻辑层203包括各种应用服务器模块204,应用服务器模块204结合用户界面模块202来生成具有从数据层205中的各种数据源取回的数据的各种用户界面(例如,网页)。在一些实施例中,各个应用服务器模块204用于实现与职业社交网络的各种服务和特征相关联的功能。例如,组织在社交网络服务的社交图中建立存在性的能力(包括代表组织建立定制网页或代表组织发布消息或状态更新的能力)可以是在独立应用服务器模块204中实现的服务。类似地,可供社交网络服务的成员使用的各种其它应用或服务可以体现在它们自己的应用服务器模块204中。

如图3中所示出的,数据层205可以包括若干数据库,例如用于存储简档数据216(包括成员简档属性数据以及各种组织的简档属性数据)的数据库210。在一些实施例中,当某个人最初注册成为职业社交网络的成员时,提示该人提供某些简档属性数据,例如他或她的姓名、年龄(例如,出生日期)、性别、兴趣、联系信息、家乡、地址、成员配偶和/或家庭成员的姓名、教育背景(例如,学校、专业、入学和/或毕业日期等等)、工作经历、技能、专业组织等等。例如,该信息可以存储在数据库210中。类似地,当组织的代表最初向职业社交网络注册该组织时,可以提示该代表提供关于该组织的某些信息。例如,该信息可以存储在数据库210或另一数据库(未示出)中。在一些实施例中,可以处理简档数据216(例如,在后台或离线)以生成各种推导出的简档数据。例如,如果某一成员提供了与该成员在相同或不同公司持有的各种职称以及持有多长时间有关的信息,则该信息可以用于推断或推导出指示该成员的总体资历级别、或在公司内部的资历级别的成员简档属性。在一些实施例中,从一个或多个外部托管数据源导入或以其它方式访问数据可以增强成员和组织两者的简档数据216。例如,对于公司,可以从一个或多个外部数据源导入财务数据,并将其作为公司简档的一部分。

简档数据216还可以包括与职业社交网络的成员的设置有关的信息。这些设置可以包括各种类别,包括但不限于隐私和通信。每个类别自身可以具有成员可以控制的一组设置。

在用户注册之后,成员可以邀请其他成员或被其他成员邀请以便经由职业社交网络进行连接。“连接”可能需要成员的双边协议,以使得两个成员都确认连接的建立。类似地,对于一些实施例,成员可以选择“关注”另一成员。与建立连接形成对比,“关注”另一成员的概念通常是单边操作,并且至少对于一些实施例,不需要被关注的成员的确认或批准。当一个成员关注另一成员时,正在关注的成员可以接收被关注成员发布、或者与被关注成员进行的各种活动相关的状态更新或其它消息。类似地,当成员关注组织时,该成员变得有资格接收代表组织发布的消息或状态更新。例如,代表成员所关注的组织发布的消息或状态更新将出现在该成员的个性化数据馈送或内容流中。成员与其他成员或与其他实体和对象建立的各种关联和关系可以作为社交图数据库212内的社交图数据来存储和维护。

职业社交网络可以提供广泛范围的其它应用和服务,这些应用和服务给予成员共享和接收通常针对成员的兴趣定制的信息的机会。例如,对于一些实施例,职业社交网络可以包括允许成员上传并与其他成员共享照片的照片共享应用。对于一些实施例,成员可以能够自组织成群组或围绕感兴趣的主题或话题组织成兴趣组。对于一些实施例,职业社交网络可以托管各种工作列表,这些工作列表提供对于各个组织的职位空缺的细节。

在一些实施例中,职业社交网络提供应用编程接口(api)模块,通过该api模块,第三方应用可以访问由职业社交网络提供的各种服务和数据。例如,使用api,第三方应用可以提供用户界面和逻辑,该用户界面和逻辑使得组织的经授权代表能够将消息从第三方应用发布到职业社交网络的内容托管平台,这促进呈现由职业社交网络维护和呈现的活动或内容流。这种第三方应用可以是基于浏览器的应用,或者可以特定于操作系统。一些第三方应用可以驻留在具有移动操作系统(例如客户端机器110或112)的一个或多个移动设备(例如,智能电话或平板计算设备)上并在其上执行。

数据层205中的数据可以由通知无视引擎206来访问、使用和调节,如将在下面结合图3-图7更详细描述的。虽然通知无视引擎206在本文中被称为在职业社交网络的上下文中使用,但是构想了它也可以在任何网站或在线服务的上下文中使用,包括但不限于内容共享站点(例如,照片或视频共享站点、文本共享站点、财务管理站点、零售站点等等)以及尝试获得并保持用户关注的任何其它应用。虽然本公开内容的特征在本文中被称为在应用的上下文中使用或呈现,但是构想了任何用户界面视图(例如,移动设备上或桌面软件上的用户界面)在本公开内容的范围内。

在一个或多个实施例中,数据层205还包括数据库214,数据库214包括基于一个或多个成员账户的社交网络活动的交互效果218。交互效果218可以包括指示原因和效果的数据。例如,效果可以包括用户关闭通知、删除应用、增加站点上的日常活动等等。例如,原因可以包括在短期内向用户提供x个标记通知、在长期内提供y个标记通知、或其组合。

举例而言,图4示出了详细描述动态贝叶斯网络的节点之间的转换的图形示图200的实施例的图。该图形示图包括八个节点,其中两个节点是隐藏的并且由通知无视引擎206估计。其它六个节点是特定于用户的动作节点,例如可以由通知无视引擎206使用来自数据层205的数据(例如交互效果218、简档数据216或来自数据库212的社交图数据)来确定。

动态贝叶斯网络(dbn)可以由节点以及连接节点的链路的有向非循环图来表示。每个节点表示连续的或离散的变量。节点之间的链路指示一个节点直接影响另一节点。

变量使用大写字母(x,y)来表示。变量的特定值使用小写字母(x,y)来表示。变量x的特定值由x表示。离散变量y的可能状态数量被表示为|y|。prob(x)表示x发生的概率。向每个节点分配概率分布。对于没有父节点的节点,分布是p(x),对于具有一个或多个父节点的节点,分布是p(x|parent(x))(即,在给定其父节点的情况下x将发生的概率)。下标“t”表示当前时间帧,下标“t-1”表示最近过去的时间帧,并且下标“t+1”表示紧接的下一时间帧。因此,st+1表示用户在紧接的下一时间帧内的预测参与度级别。

存在多种确定分布的方法。它们可以从用户指定的数据或其组合中学习。证据是已知变量的状态。例如,已知用户的先前参与度级别。可以使用动态贝叶斯网络来推断提供标记通知将有助于还是损害用户对网站的感知。因此,动态贝叶斯网络可以通过提供标记通知或避免提供标记通知来帮助增加和获得用户保留。

隐藏节点包括内在意图节点402a和亲和度节点404a。内在意图节点402a用于当前时间,并且内在意图节点402b用于将来时间。类似地,亲和度节点404a用于当前时间,并且亲和度节点404b用于将来时间。内在意图节点402a-402b考虑用户对于使用应用或以其它方式访问社交网站的自然、不受影响的倾向。亲和度节点404a-404b考虑获得对网站的用户访问的影响。

用户在网站上的动作(无论是积极的还是消极的)都可以取决于受影响的动作亲和度和内在兴趣。受影响的动作亲和度可以取决于内在兴趣、用户在网站上的历史动作、以及外部刺激,例如在短期和长期时间帧上的通知。此外,可以基于用户的动作历史、交互以及对网站的明示或暗示兴趣来估计用户对网站的内在兴趣和受影响兴趣。

这在动态贝叶斯网络中通过包括隐藏节点依赖性来捕获。内在兴趣节点402a-402b影响成员活跃性级别节点406a和406b以及求职者级别节点408a和408b。可以基于成员活跃性级别节点406a-406b、求职者级别节点408a-408b、或先前的内在兴趣节点(例如,内在兴趣节点402b取决于先前的内在兴趣节点402a)来确定内在兴趣节点402a-402b。显示出高度内在兴趣的成员将在网站或应用上更加活跃,并表现出更高级别的求职意向;反之亦然。虽然求职意图是作为职业社交网络的性质所捕获的信号,但这可以概括为其它社交网络或应用的其它现场活动。

内在兴趣节点402b的变量i可以呈现表示用户内在兴趣的不同级别的多个值。例如,具有零值的内在兴趣节点402a-402b的变量可以表示对访问网站的内在兴趣很小或没有内在兴趣,值一可以表示对访问网站的平均内在兴趣,并且值二可以表示对访问网站高于平均的内在兴趣。内在兴趣通知活跃性级别节点和求职者级别节点。例如,考虑包括高内在兴趣的用户,该用户可以非常活跃(如由成员活跃性级别节点406a-406b所指示的)并且是活跃求职者(如由求职者级别节点408a-408b所指示的),用户对使用职业网站(例如linkedin)可以具有高于平均的内在兴趣。在另一示例中,考虑具有低内在兴趣的用户,该用户可以在一个月内避免访问网站,并且是不活跃的求职者,该用户对使用职业网站可以具有低于平均的内在兴趣。在又一示例中,考虑每周在网站上活跃的用户并且是不活跃的求职者,该用户对使用职业网站可以具有平均内在兴趣。内在兴趣节点402a-402b的变量可以反映这些不同级别的内在兴趣。

可以使用来自数据层205的数据来确定成员活跃性级别节点406a-406b的变量m的值。m的值可以指示用户是休眠(不活跃)、每天活跃、每周活跃、还是每月在网站上活跃。该数据可以作为交互效果218的一部分存储在交互数据库214中并从交互数据库214中取回。例如,响应于用户登录到网站,用户的成员标识可以与访问的日期或时间戳以及关于用户登录到网站的指示一起存储。可以将指定时间帧内的登录条目次数相加并转换为变量m的值。

可以使用来自数据层205的数据来确定求职者级别节点408a-408b的变量j的值。j的值可以指示用户是活跃求职者还是用户目前不在求职。可以使用来自简档数据库210或交互数据库214的数据来存储、从中取回或推断该数据。例如,用户的简档可以指示用户目前是否在职,用户的动作连同简档信息可以指示是否用户目前在职但“积极寻求新的工作机会”,或者成员是否即将毕业并且“目前在就业市场上”。用户的动作可以包括职位招聘和公司页面上的成员活动,以及成员与例如来自招聘者的邮件和消息的交互。可以收集这些数据中的至少一些数据来推断用户的求职者状态。在另一示例中,交互数据库214可以包括关于用户与其他用户讨论工作机会的数据。在又一示例中,简档数据库可以包括指示用户上次更新其简档的日期/时间的数据。与目前失业的用户相比,目前在职的用户不太可能是求职者。最近已更新其简档的用户比最近未更新其简档的用户更有可能是求职者。对招聘者关于职位空缺的消息肯定地进行响应的用户比忽视此类消息的用户更可能是求职者。j的值可以反映用户寻找工作的积极程度。

亲和度级别节点404a-404b可以受到用户的内在兴趣节点402a-402b、短期通知级别节点410a和410b、或长期通知级别节点412a和412b的影响。亲和度级别节点404a-404b可以影响用户参与度级别节点414a和414b以及禁用通知节点416a和416b。

亲和度级别节点404a-404b的变量a的值指示引起积极或消极动作的受影响的亲和度级别。例如,a是相对低的值(例如,零或接近零)可以指示很可能的消极动作的可能性(关闭或禁用通知)或隐含的消极动作(例如,对通知无视,以使得不会由于标记通知而看到会话的增加)。a被设置为最大值可以指示用户极有可能执行积极动作(例如,增加网站上的会话数量,例如通过应用),并且a被设置为数字零至最大数之间可以表示中等影响级别。

短期通知级别节点410a-410b的变量n可以包括指示用户在短期(例如,最近一天或一周)中已被暴露于的标记通知数量的相应值。例如,n被设置为零值可以指示用户在短期内未被暴露于任何标记通知,n被设置为最大值指示用户已被暴露于大于指定的最大数量的标记通知,并且n被设置为最大数至零之间的值指示标记通知的中间曝光级别。

长期通知级别节点412a-412b的变量r可以包括指示用户在较长期(例如,在短期与最大期限之间)(例如,周、月、年等等)已被暴露于的标记通知的数量的相应值。例如,如果用户已被长期暴露于大于最大阈值百分比(例如,70%、75%、80%等等,或其间的百分比)的标记通知,则r可以被设置为最高级别。如果用户长期被暴露于小于最低百分比(例如,0%、5%、10%、15%、20%、25%、或其间的百分比)的标记通知,则r可以被设置为最低级别。在一个或多个实施例中,长期被暴露于最大至最小阈值百分比之间的时间百分比通知的用户,r可以被设置为中间值。

用户参与度级别节点414a-414b的变量s量化用户在一天中访问网站的次数。用户参与度级别节点414a-414b的变量s可以包括指示网站访问的不同范围的相应值。例如,被设置为第一值的s可以指示没有用户参与(例如,没有网站访问),被设置为第二值的s可以指示轻的用户参与度级别(例如,平均一天中几次访问),被设置为第三值的s可以指示适度的用户参与度级别(例如,平均一天中三到五次访问之间),被设置为第四值的s可以指示重度用户参与度级别(例如,平均一天中六到十次网站访问之间),并且被设置为第五值的s可以指示上瘾的用户参与度级别(例如,平均一天大于十次网站访问)。所提供的数量仅仅是示例,并且在其它实施例中可以使用其它数量和级别数量。

禁用通知节点416a-416b的变量d量化在时间t处被禁用的通知类型的比率。在一个或多个实施例中,d可以是二进制的,以便包括指示用户具有禁用通知(或指定百分比的通知)或删除应用的倾向的第一值,以及指示用户不具有禁用通知或删除应用的倾向的第二值。

动态贝叶斯网络对用户在通知和参与上下文中的将来行为进行建模。动态贝叶斯网络可直观地解释。将关于依赖结构的先验知识编码到动态贝叶斯网络中相对容易。在图4的动态贝叶斯网络中,在时间t处学习两个主要隐藏状态:对访问站点的内在兴趣(it)和采取某些动作的受影响的兴趣(at)。用户的行为积极(引起会话)和消极(关闭通知)取决于受影响的动作亲和度a,a进而取决于外部刺激(短期和长期通知两者)和内在兴趣。内在的内部兴趣可以影响用户的月度活跃性和求职活动。

在一个或多个实施例中,可以使用期望最大化(em)技术来学习模型参数。em是迭代机器学习和数据挖掘技术,其中模型取决于潜在变量(例如,在图4的动态贝叶斯网络的示例中的内部内在兴趣或受影响的亲和度兴趣)。动态贝叶斯网络可以通过顺序观察来学习不断演变的兴趣,并使用em在给定过去观测的情况下预测将来变量值。

em技术可以包括:确定具有类似简档的用户的过去动作。例如,考虑具有五年软件工程师经验、年龄30-35岁、大学教育并且被确定为积极寻找工作的用户。可以基于具有三到五年软件或计算机工程师经验、年龄30-35岁、并且积极寻找工作的其他用户来确定针对该软件工程师的动态贝叶斯网络的参数。可以通过挖掘简档数据216来确定这些用户。

交互效果数据218可以包括由用户执行的过去行为的数据以及与围绕过去行为的环境有关的数据。例如,交互效果数据218可以包括指示用户已禁用通知或删除应用的数据。围绕该行为的环境可以包括与短期和长期标记通知的数量、用户活跃性级别等等有关的数据。可以挖掘并聚合该数据以确定动态贝叶斯网络的参数。

考虑先前讨论的软件工程师。表示软件工程师对标记通知的响应的动态贝叶斯网络的内在兴趣变量i和亲和度兴趣变量a可以基于类似软件工程师的动态贝叶斯网络或交互效果数据218来确定。例如,如果数据指示标记通知在一天提供两到三次的情况下使来自软件工程师的保留增益或交互最大化并且具有低概率的不利影响(例如,禁用通知或删除应用),则动态贝叶斯网络可以从数据中推断出这一点,并指示一天两到三次将标记通知发送给软件工程师是良好策略。

图5是根据一些实施例示出了通知无视引擎206的示例性组件的框图。输入模块305是硬件实现的模块,该模块控制、管理和存储与来自如图3中所示出的系统102的一个或多个组件的任何输入相关的信息。在各个实施例中,输入包括多个内容项、目标成员帐户、训练数据、一个或多个历史交互效果等等。

输出模块310是硬件实现的模块,该模块控制、管理和存储与将输出数据发送到图1的系统100的一个或多个组件(例如,一个或多个客户端设备110、112,第三方服务器130等等)相关的信息。在一些实施例中,输出是不利影响的概率或使用标记通知获得或保持用户关注的概率。

机器学习模块315是硬件实现的模块,该模块管理、控制、存储和访问与构建、训练、更新和执行机器学习数据模型相关的信息,例如动态贝叶斯网络的参数。在一些实施例中,可以将目标成员帐户输入到机器学习数据模型中。机器学习数据模型可以返回要在动态贝叶斯网络中使用的参数。机器学习模块315可以在确定参数时实现em技术。根据训练数据构建和细化机器学习数据模型,其中训练数据可以基于历史社交网络活动数据、历史成员账户数据或一个或多个成员账户的简档数据。

交互效果模块320是硬件实现的模块,该模块管理、控制、存储和访问与收集一组交互效果的交互效果相关的信息。在一些实施例中,交互效果模块320收集成员帐户行为(例如网站交互的数量、禁用或启用通知、长期呈现给用户的标记通知的数量、短期呈现给用户的标记通知的数量等等)。交互效果模块320填充交互效果数据库214。

概率模块330是硬件实现的模块,该模块管理、控制、存储和访问与计算概率相关的信息,例如动态贝叶斯网络的条件、联合或其它概率。条件概率指示在给定第一事件已发生的情况下发生第二事件的可能性。联合概率指示发生两个或更多个事件的可能性。由概率模块330执行的示例性概率计算可以包括以下各项中的一项或多项:(1)在给定用户的求职状态、职业经历、短期或长期提供给用户的标记通知的先前数量、年龄、网站上的活动级别(在指定时间段中的网站访问次数)、职位、性别、对网站的内在兴趣、受影响而访问网站的亲和度等等中的一个或多个的情况下获得用户关注(例如,网站访问)的可能性;或者(2)在给定用户的求职状态、职业经历、短期或长期提供给用户的标记通知的先前数量、年龄、网站上的活动级别(在指定时间段中的网站访问次数)、职位、性别、对网站的内在兴趣、受影响而访问网站的亲和度等等中的一个或多个的情况下失去用户关注(例如,用户禁用通知或删除应用)的可能性。

提供了关于dbn的实施例的一些数学细节。所讨论的数学框架可以使用通知无视引擎206中的一个或多个来实现,例如机器学习模块315或参数模块330。完全似然函数(其中θ表示累积概率分布(cpd))如下提供:

其中隐藏变量由z标示,并且所观测到的变量由x标示,并且用户由u标示。在dbn模型中,zt={it,at}并且xt={mt,jt,nt,rt,dt,st}。pa表示父节点变量。dbn模型具有参数θ=(a,b),其中a表示转换概率并且b表示发射概率。

em是用于对参数进行更新的迭代技术,并且通用em公式是:

l(θ,u)=p(u|θ)

将em公式应用于dbn模型,可以对参数进行更新。提供了示出可以如何计算参数的一些示例。为了对针对在隐藏变量用户意图i之间的转换概率的参数进行更新:

为了对针对从i到成员活跃性的发射概率的参数进行更新:

为了对针对从禁用通知通道d和参与会话时间s到短期通知发送n的转换概率的参数进行更新:

其中,w表示基于x的观测计数和z的所估计概率来计算的加权发生率。

dbn可以确定对节点的父节点的加权隐藏观测模式,从而确定父节点和感兴趣节点两者的加权隐藏观测发生模式,并且随后相除以计算p(节点|父节点)。加权表示模式与隐藏变量的概率相乘并且发生模式表示隐藏和所观测变量的值的所有可能组合。例如,考虑隐藏变量a、所观测的b和局部结构a→b。找到父节点的加权模式,例如,父节点权重(a=1)=0.2,以及对权重的加权模式(a=1,b=2)-0.12,则p(b=2|a=1)=0.6。

图6是根据各个实施例示出了示例性方法600的流程图。如所示出的方法600包括:在操作605处,学习动态贝叶斯网络的节点的参数值;在操作610处,基于所学习的参数值来确定用户对访问网站的内在兴趣以及受影响的用户访问网站的亲和度;在操作615处,例如通过使用所确定的参数值、所学习的内在兴趣以及受影响的用户访问网站的亲和度,来确定指示用户将响应于查看应用上的标记通知而关闭通知或删除与网站相关联的应用的可能性的第一概率、以及指示用户将响应于查看应用上的标记通知而访问网站的可能性的第二概率;在操作620处,响应于确定第二概率大于比第一概率大的阈值,使得应用在用户设备上显示时包括标记通知;并且在操作625处,响应于确定第二概率小于比第一概率大的阈值,避免在用户设备上的应用上提供标记通知。

操作610还可以包括,其中受影响的用户访问网站的亲和度还基于在短期内在用户设备上显示的标记通知的数量来确定。在操作605处可以学习在短期内在用户设备上显示的标记通知的数量。操作610还可以包括,其中受影响的用户访问网站的亲和度还基于在比短期长的期限内在用户设备上显示的标记通知的数量来确定。在操作605处可以学习在比短期长的期限内在用户设备上显示的标记通知的数量。操作605还可以包括:将用户的简档中的信息与网站的其他用户的简档中的信息进行比较,并且使用机器学习技术、基于包括与用户相同年龄范围和性别的其他用户的简档中的信息来确定参数。

操作605还可以包括:基于还包括在网站上相同活动级别的其他用户的简档中的信息来学习参数。操作605还可以包括:基于还包括相同求职者状态的其他用户的简档中的信息来学习参数。

方法600还可以包括:基于用户访问网站的内在兴趣、受影响的用户访问网站的亲和度、在短期内提供给用户的标记通知的数量、以及在比短期长的期限内提供给用户的标记通知的数量来预测用户的将来活动级别。短期可以包括紧接的前一天,并且比短期长的期限是六周。该方法还可以包括:确定用户将变得对标记通知无视的概率并且响应于确定概率大于阈值而避免提供标记通知。

本文将某些实施例描述为包括逻辑或多个组件、模块或机制。模块可以构成软件模块(例如,在机器可读介质上或在传输信号中体现的代码)或硬件模块。硬件模块是能够执行某些操作并且可以以某种方式配置或布置的有形单元。在示例性实施例中,一个或多个计算机系统(例如,独立的客户端或服务器计算机系统)或计算机系统的一个或多个硬件模块(例如,处理器或一组处理器)可以被软件(例如,应用或应用部分)配置为操作以执行如本文所述的某些操作的硬件模块。

在各个实施例中,硬件模块可以机械地或电子地实现。例如,硬件模块可以包括永久配置的专用电路或逻辑(例如,作为专用处理器,例如现场可编程门阵列(fpga)或专用集成电路(asic))以执行某些操作。硬件模块还可以包括由软件临时配置以执行某些操作的可编程逻辑或电路(例如,如包含在通用处理器或其他可编程处理器内)。在专用和永久配置的电路中或在临时配置的电路(例如,由软件配置)中机械地实现硬件模块的决定可以由成本和时间考虑因素来驱动。

术语“硬件模块”是有形实体,是物理构造、永久配置(例如,硬连线)或临时配置(例如,编程)以便以某种方式来操作和/或执行本文所描述的某些操作的实体。考虑其中临时配置(例如,编程)硬件模块的实施例,每个硬件模块不需要在任何一个时刻配置或实例化。例如,在硬件模块包括使用软件来配置的通用处理器的情况下,通用处理器可以在不同时间被配置为相应的不同硬件模块。因此,软件可以将处理器配置为例如在一个时刻构成特定的硬件模块并在不同时刻构成不同的硬件模块。

硬件模块可以向其他硬件模块提供信息并从其它硬件模块接收信息。因此,所描述的硬件模块可以被视为通信地耦合。在同时存在多个这种硬件模块的情况下,可以通过连接硬件模块的信号传输(例如,在适当的电路和总线上)来实现通信。在其中多个硬件模块在不同时间配置或实例化的实施例中,可以例如通过存储和取回多个硬件模块可访问的存储器结构中的信息来实现这些硬件模块之间的通信。例如,一个硬件模块可以执行操作,并将该操作的输出存储在与其通信耦合的存储器设备中。在稍后的时间,另一硬件模块可以访问存储器设备以取回和处理所存储的输出。硬件模块可以发起与输入或输出设备的通信,并且可以对资源(例如,信息集合)进行操作。

本文所描述的示例性方法的各种操作可以至少部分地由(例如,通过软件)临时配置或永久配置为执行相关操作的一个或多个处理器来执行。无论是临时配置还是永久配置,此类处理器可以构成处理器实现的模块,这些模块操作以执行一个或多个操作或功能。在一些示例性实施例中,本文所提到的模块可以包括处理器实现的模块。

类似地,本文所描述的方法可以至少部分地由处理器实现。例如,方法的至少一些操作可以由一个或多个处理器或处理器实现的模块来执行。某些操作的执行可以分布在一个或多个处理器中,这些处理器不仅驻留在单个机器内,而且跨多个机器分布。在一些实施例中,一个或多个处理器可以位于单个位置(例如,在家庭环境、办公室环境内或作为服务器群),而在其它实施例中,处理器可以跨多个位置分布。

一个或多个处理器还可以操作以支持在“云计算”环境中执行相关操作或操作为“软件即服务”(saas)。例如,至少一些操作可以由计算机群组(作为包括处理器的机器的示例)来执行,这些操作可以经由网络(例如,互联网)并经由一个或多个适当的接口(例如,应用程序接口(api))来访问。

示例性实施例可以在数字电子电路中、或者在计算机硬件、固件、软件或其组合中实现。示例性实施例可以使用计算机程序产品(例如,有形地体现在信息载体中的计算机程序,例如在机器可读介质中,以用于由数据处理装置(例如可编程处理器、计算机或多个计算机)执行或控制其操作)。

计算机程序可以用任何形式的编程语言来编写,包括经编译或经解释语言,并且可以以任何形式来部署,包括部署作为独立程序或作为模块、子程序或适用于计算环境中的其它单元。计算机程序可以被部署为在一个计算机上或在一个站点的多个计算机上执行,或者跨多个站点分布并由通信网络互连。

在示例性实施例中,操作可以由一个或多个可编程处理器来执行,这些可编程处理器执行计算机程序以通过对输入数据进行操作并生成输出来执行功能。方法操作也可以由专用逻辑电路(例如,fpga或asic)执行,并且示例性实施例的装置可以实现为专用逻辑电路。

计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系通过在各自计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在部署可编程计算系统的实施例中,将意识到,硬件和软件架构两者都需要考虑。具体地,将意识到,选择是在永久配置的硬件(例如,asic)中、在临时配置的硬件(例如,软件和可编程处理器的组合)中、还是永久和暂时配置的硬件的组合中实现某种功能可以是设计选择。以下列出了在各种示例性实施例中可以部署的硬件(例如,机器)和软件架构。

图7是根据示例性实施例的可以在其上执行本文所描述的操作、动作和方法的示例性计算机系统700的框图。通知无视引擎206、前端201或应用逻辑层203、系统200等等的一个或多个组件可以包括计算机系统700的一个或多个组件。在替代实施例中,机器操作为独立设备或者可以连接(例如,联网)到其它机器。在联网部署中,机器可以在服务器-客户端网络环境中作为服务器或客户端机器来操作,或者在对等(或分布式)网络环境中操作为对等机器。机器可以是个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、蜂窝电话、web设备、网络路由器、交换机或网桥、或能够执行指令(顺序或以其它方式)指定将由该机器采取的动作的任何机器。此外,虽然仅示出了单个机器,但术语“机器”还应被视为包括单独或联合地执行一组(或多组)指令以执行本文所讨论的方法中的任何一种或多种方法的任何机器集合。

示例性计算机系统700包括处理器902(例如,中央处理单元(cpu)、图形处理单元(gpu)或两者)、主存储器904和静态存储器906,它们经由总线908彼此通信。计算机系统700还可以包括视频显示设备910(例如,液晶显示器(lcd)或阴极射线管(crt))。计算机系统700还包括字母数字输入设备912(例如,键盘)、用户界面(ui)导航设备914(例如,鼠标或触敏显示器)、磁盘驱动器单元916、信号生成设备918(例如,扬声器)以及网络接口设备920。

磁盘驱动器单元916包括其上存储有一组或多组指令和数据结构(例如,软件)924的机器可读介质922,这些指令和数据结构体现本文所描述的任何一种或多种方法或功能或由其使用。指令924在由计算机系统700执行期间还可以完全或至少部分地驻留在主存储器904内、静态存储器906内和/或处理器902内,主存储器904和处理器902也构成机器可读介质。

虽然在示例性实施例中将机器可读介质922示为单个介质,但术语“机器可读介质”可以包括存储一个或多个指令或数据结构的单个介质或多个介质(例如,集中式或分布式数据库和/或相关联的高速缓存和服务器)。术语“机器可读介质”包括可以存储、编码或携带指令的任何有形介质,这些指令由机器执行并且使得机器执行本文技术的任何一种或多种方法,或者可以存储、编码或携带由这些指令使用或与这些指令相关联的数据结构。因此,术语“机器可读介质”应被视为包括但不限于固态存储器以及光学和磁性介质。机器可读介质的具体示例包括非易失性存储器,举例而言包括半导体存储器设备(例如,可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)以及闪存设备;磁盘,例如内部硬盘和可移动磁盘;磁光盘;以及cd-rom和dvd-rom光盘。

还可以使用传输介质在通信网络926上发送或接收指令924。可以使用网络接口设备920和多个公知的传输协议(例如,http)中的任何一个来发送指令924。通信网络的示例包括局域网(“lan”)、广域网(“wan”)、互联网、移动电话网络、普通老式电话(pots)网络以及无线数据网络(例如,wifi和wimax网络)。术语“传输介质”应被视为包括可以存储、编码或携带由机器执行的指令的任何无形介质,并且包括数字或模拟通信信号或其它无形介质以促进这种软件的通信。

尽管已经参考特定的示例性实施例描述了实施例,但是将显而易见的是,在不脱离本公开内容的更广泛精神和范围的情况下,可以对这些实施例做出各种修改和改变。因此,说明书和附图应被视为说明性的而非限制性的。形成说明书一部分的附图通过说明而非限制的方式示出了可以实践主题内容的特定实施例。足够详细地描述了所示出述的实施例,以使得本领域技术人员能够实践本文所公开的教导。可以从中利用并推导出其它实施例,以使得可以在不脱离本公开内容的范围的情况下做出结构和逻辑替换和改变。因此,该详细描述不应被视为具有限制意义,并且各个实施例的范围仅由所附权利要求以及这些权利要求所赋予的等效方案的全部范围来限定。尽管本文已说明和描述了特定实施例,但应意识到,计划实现相同目的的任何布置可替代所示出的特定实施例。本公开内容旨在涵盖各个实施例的任何和所有改编或变型。在阅读以上描述后,上述实施例的组合以及本文未具体描述的其它实施例对于本领域技术人员而言将是显而易见的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1