掌桥专利:专业的专利平台
掌桥专利
首页

信息推广方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 11:29:13


信息推广方法、装置、电子设备及存储介质

技术领域

本申请涉及人工智能、区块链及信息推广技术领域,具体而言,本申请涉及一种信息推广方法、装置、电子设备及存储介质。

背景技术

随着互联网行业的快速发展,通过互联网进行信息推广已经成为信息传播的新形态,推广信息也就是需要推送给对象(如用户)的信息。在实际应用中,在利用网络资源进行推广时,为了更好的传播这些推广信息,推广初期通常是希望将推广信息能够触达高影响力的对象,这些对象可以称为目标对象或种子对象,由于这些对象具有较高的影响力,他们可以将推广信息分享给其他对象,从而实现推广信息的进一步推广。

虽然现有技术中也存在一些确定种子对象的方式,比如,采用对象在社交网络里的好友数量来衡量对象的影响力,将具有好友数量比较多的对象作为种子对象,但是经研究发现,现有方式的信息推广效果并不理想,仍有待改进。

发明内容

本申请的目的旨在提供一种信息推广方法,基于该方法能够有效提升待推广信息推广效果。为实现该目的,本申请提供的技术方案如下:

一个方面,本申请提供了一种信息推广方法,该方法包括:

获取待推广信息对应的候选对象集、以及候选对象集中具有关联关系的各对象对之间的关联程度,其中,每个对象对包括关联关系建立的发起对象和接受对象;

对于每个对象对,基于该对象对之间的关联程度、以及该对象对中的发起对象所对应的整体关联程度,确定该发起对象对该对象对中的接受对象的影响程度,对于一个对象,整体关联程度是基于以该对象作为发起对象的所有对象对之间的关联程度确定的;

根据各对象对所对应的影响程度,从候选对象集中确定出目标对象集,以将待推广信息推荐给目标对象集中的各目标对象。

另一方面,本申请提供了一种信息推广装置,该装置包括:

对象信息获取模块,用于获取待推广信息对应的候选对象集、以及候选对象集中具有关联关系的各对象对之间的关联程度,其中,每个对象对包括关联关系建立的发起对象和接受对象;

目标对象确定模块,用于对于每个对象对,基于该对象对之间的关联程度、以及该对象对中的发起对象所对应的整体关联程度,确定该发起对象对该对象对中的接受对象的影响程度;以及根据各对象对所对应的影响程度,从候选对象集中确定出目标对象集,以将待推广信息推荐给目标对象集中的各目标对象,其中,对于一个对象,整体关联程度是基于以该对象作为发起对象的所有对象对之间的关联程度确定的。

再一方面,本申请提供了一种电子设备,该电子设备包括存储器和处理器,存储器用于存储计算机程序,处理器在运行该计算机程序时,执行本申请任一可选实施例所提供的方法。

另一方面,本申请提供了一种计算机可读存储介质,该存储介质中存储有计算机程序,该计算机程序在被处理器运行时,执行本申请任一可选实施例所提供的方法。

另一方面,本申请提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述本申请任一可选实施例中提供的方法。

本申请实施例提供的技术方案带来的有益效果包括:

本申请实施例所提供的方法,在确定目标对象时,在考虑了具有关联关系的对象对之间的关联程度的基础上,还考虑对象间的影响程度,在确定一个对象对中的发起对象对接受对象的影响程度时,同时考虑了该对象对间的关联程度,以及该发起对象对与其具有关联关系的所有接受对象之间的关联程度即整体关联程度,由于一个对象对的关联程度,反映了该对象对中的发起对象对接受对象的局部影响力,而整体关联程度则可以反映出一个对象在作为关联关系中的发起对象时,该发起对象对其在候选对象集所有可能影响到的对象(即与这个发起对象具有关联关系、且在关联关系中是接受对象的所有对象)的全局影响力,因此,根据一个对象对的关联程度和该对象对中的发起对象对应的整体关联程度,可以更加客观、准确的确定出一个对象对中的发起对象对接受对象的影响程度。可见,基于本申请实施例所提供的方案,能够更加准确的刻画出候选对象集中对象对之间的影响程度,从而可以基于对象对之间的影响程度,从候选对象集中确定出对待推广信息具有更佳推广效果的目标对象集,提升了待推广信息的推广效果,提升了对网络资源的利用率。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。

图1为本申请实施例提供的一种信息推广方法的流程示意图;

图2为本申请实施例提供的关系有向图的示意图;

图3为本申请实施例所适用的一种信息推广系统的架构示意图;

图4为本申请一示例中提供的待推广信息的示意图;

图5为本申请提供的一应用场景中的信息推广方法的流程示意图;

图6和图7为本申请实施例提供的几种信息推广方式对应的推广效果的示意图;

图8为本申请实施例提供的一种信息推广装置的结构示意图;

图9为本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

本申请实施例所提供的方法的一些可选实施步骤,可以通过人工智能技术实现,具体可以涉及到人工智能中的机器学习方面。比如,可以通过神经网络模型(如基于图卷积网络的神经网络模型)实现有向图的划分,再比如,在确定出对象之间的影响程度之后,可以通过影响力传播模型实现目标对象的筛选。

人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

而机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。

另外,本申请各可选实施例中所涉及的数据的处理,可以采用云技术实现,如后文中对于关系有向图或子图的处理,可以通过云计算进行,如图3中所示的系统架构中,计算设备集群300可以是云计算设备集群,该集群中的各电子设备可以是云计算设备。本申请可选实施例中提供的各电子设备(包括终端设备、服务器等)可组成为一区块链,各电子设备可以为区块链上的节点。各可选实施例中所涉及到的数据(如候选对象集、对象间的关联关系、关系有向图、子图)等可以保存在区块链上。

下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。

图1示出了本申请实施例提供的一种信息推广方法的流程示意图,如图1中所示,该方法可以包括以下步骤:

步骤S110:获取待推广信息对应的候选对象集、以及候选对象集中具有关联关系的各对象对之间的关联程度,其中,每个对象对包括关联关系建立的发起对象和接受对象;

其中,对于待推广信息的具体形式和类型本申请实施例不做限定,待推广信息可以是包含文本、图像、动画、视频等各类信息中的一项或多项的信息,如可以是多媒体信息,可以在目标对象的终端设备上展示给对象。

候选对象集中包括多个候选对象,也就是待推广信息的候选推送对象,可以理解的是,候选对象集中具体包含的可以是各个候选对象的对象标识,一个对象标识代表一个对象,对象标识的形式本申请实施例不做限定,可以是但不限定于对象的终端设备标识、对象在应用程序中使用的账号信息等。比如,待推广信息可以是A应用中的信息,对象标识可以是对象在其终端设备上登录该A应用所使用的登录账号,该登录账号可以是对象注册的A应用的对象账号,也可以是对象授权使用的其在其他应用中的账号。其中,本申请实施例中所涉及的对象可以包括但不限于人,即用户。

具有关联关系的对象对(可以简称为关联对象对),是指候选对象集中具有关联的两个对象,确定两个对象是否具有关联的规则/方式可以根据实际应用需求进行配置,如可以是根据两个对象之间是否有交互行为确定,其中,交互行为可以是任一形式的交互行为,也可以是指定交互行为或者指定类型的交互行为等。比如,如果两个对象之间存在信息交互(对于信息的形式本申请实施例不做限定)则可以认为两个对象具有关联性(即关联关系),这两个对象为一个关联对象对。

本申请实施例中,关联关系是具有方向性和关联性大小(即关联程度)的,该方向性是指两个对象之间关联关系建立的方向,也就是关联关系的发起方(即发起对象)和接受方(即接受对象),关联关系的方向为从发起方到接受方。比如,对象A向对象B发送了一个信息,且对象B响应了该信息(比如回复了该信息,或者,该信息如果是一个请求,对象B同意了该请求),则对象A和对象B为具有关联关系的对象对,关联关系的发起方(也就是该关联关系建立的主动方)为对象A,接受方为对象B。

可以理解的是,对于候选对象集中的任一对象,该对象既有可能是某个或某些对象对中的发起对象,也可以可能是另一个或另一些对象对中的接受对象。本申请实施例中,候选对象集中的任一对象为发起对象或接受对象中的至少一种。两个对象可能会对应两个对象对,比如,对象A向对象B发送过信息且对象B响应了该信息,则对象A和对象B为一个对象对,且A是该对象对中的发起方,B为接受方。如果对象B也向对象A主动发起过信息且对象A响应了该信息,则对象B和对象A也形成了另外一个对象对,且A是该对象对中的接受方,B为发起方。

对于上述任一对象对,该对象对之间的关联程度表征了这两个对象之间的关联性的高低。可选的,关联程度可以基于关联对象之间的交互行为的次数确定的,交互次数越多,关联程度相对越大,如可以直接将两个对象之间的交互次数作为关联程度;关联程度还可以根据两个对象之间的指定类型交互信息的交互次数确定,或者基于每种类型信息的交互次数确定,比如,不同类型的交互信息可以对应不同的权重,可以根据两个对象所对应的各类型的交互信息的交互次数和每种类型对应的权重,确定两者的关联程度,如可以将各类型对应的交互次数和各类型对应的权重进行加权求和,将计算结果作为关联程度。

本申请的可选实施例中,待推广信息可以为目标应用中的待推广信息(如活动信息、广告信息等),候选对象集中的对象为目标应用的使用者,对象对之间的关联程度是基于使用者之间的交互行为确定的。

其中,目标应用可以是任一应用,可以包括但不限于是移动端的应用程序或网页应用,也可以是小程序应用等。在该应用场景下,候选对象集中的各对象可以该目标应用的使用者,如应用的注册对象,此时,具有关联关系的对象对是指在该目标应用中具有关联的两个使用者,如发生过交互行为的两个使用者,对象对之间的关联程度可以是基于使用者在该应用中发生的交互行为的具体情况确定的,交互行为的具体情况可以包括但不限于交互的次数、类型(如一个对象给另一个对象发送过信息、送过礼品等)等。

可选的,上述目标应用可以是游戏应用,具体是何种游戏本申请不做限定,如可以是云游戏应用,也可以是需要对象进行安装下载的终端游戏应用。此时,目标应用的使用者可以是游戏应用的注册对象(可以简称游戏对象、玩家等),上述交互行为(即游戏玩家之间的互动行为)具体是何种行为,可以根据游戏应用的游戏类型或者应用需求配置。比如,交互行为可以包括但不限于游戏对象之间的对局邀请、结交好友、结拜师徒、送金币、送礼物、聊天等。

作为一个示例,以目标应用可以是MOBA(Multiplayer Online Battle Arena,多人在线战术竞技)类游戏应用、待推广信息可以是该游戏应用中的活动信息、上述交互行为可以是游戏玩家之间的组队邀请行为为例,对上述关联关系及关联程度进行进一步说明。可选的,如果游戏玩家A向游戏玩家B发送过组队邀请信息(即组队邀请行为),且游戏玩家B接受了游戏玩家A的组队邀请,则游戏玩家A和游戏玩家B为具有关联关系的对象对,两者之间的关联程度可以基于对象A向对象B发送的至少一次组队邀请信息中对象B接受组队邀请的次数确定,也就是说,如果对象A向对象B发起过组队邀请且对象B接受过邀请,对象A和对象B就成为了具有关联关系的对象对,而关联程度的大小是由对象A向对象B发送的组队邀请中成功邀请的次数确定的。在该示例中,对象A为发起对象,对象B为接受对象,对象A和对象B之间的关系方向为对象A到对象B。当然,由前文描述可知,如果对象B向对象A也发起过组队邀请且对象A接受过邀请,则对象B和对象A还是具有关系方向为对象B到对象A的对象对,该关联关系中,对象B为发起对象,对象A为接受对象,该对象对的关联程度则是根据对象A接受对象B发起的组队邀请的次数确定的,如可以直接将该次数作为关联程度。

步骤S120:对于每个对象对,基于该对象对之间的关联程度、以及该对象对中的发起对象所对应的整体关联程度,确定该发起对象对该对象对中的接受对象的影响程度;

其中,对于一个发起对象,该发起对象所对应的整体关联程度是基于以该对象作为发起对象的所有对象对之间的关联程度确定的;可选的,可以将以该发起对象为发起对象的所有对象对之间的关联程度之和作为该发起对象所对应的整体关联程度。

步骤S130:根据各对象对所对应的影响程度,从候选对象集中确定出目标对象集,以将待推广信息推荐给目标对象集中的各目标对象。

其中,对于一个对象对,影响程度表征了该对象对中发起对象对接受对象的影响力,也就是影响程度的大小,影响程度越大,说明该发起对象会影响到接受对象的可能性越大。在本申请实施例中,影响程度可以表征如果将待推广信息发送给一个关联对象对中的发起对象,该发起对象会将其分享给该对象对中的接受对象的可能性,也就是发起对象对接受对象的传播影响力,对于待推广信息而言,该影响程度也可以称为传播概率或传播激活概率,表征了发起对象将推广信息传播给该接受对象的概率。比如,对象a和对象b分别为关联对象对中的发起对象和接受对象,对象a对对象b的影响概率(影响程度的一种可选的表征方式)为70%,在将待推广信息发送该对象a之后,对象a将该信息会分享给对象b的可能性则相对比较大。

在实际应用中,对于一个对象而言,与该对象具有关联关系的对象通常都会有多个,对于任一关联对象对,如果只考虑该关联对象对本身,两者之间的关联程度只是两者之间的局部关联性,通常并不能够很准确的代表发起对象对接受对象的影响程度,即对象对本身之间的关联程度不能够很好的刻画一个对象对另一个对象的传播影响力,另外,由于有些对象能够影响到的对象群体很有可能是存在重叠的,因此,如果只考虑对象自身的活跃度(如与该对象具有关联关系的对象的数量)、两个对象自身之间的关联程度所确定出的目标对象集通常是不够理想的,不能够达到待推广信息的最大化推广效果,比如,对象A和对象B的活跃度都就比较高,但是两者所能够影响到的群体有很大的重叠,如果将对象A和对象B直接根据活跃度确定为目标对象,则会导致信息的推广效果受到影响。

而本申请实施例提供的方法,在获取到各对象对之间的关联程度之后,对于每个对象对,会根据该对象对之间的关联程度、以及该对象对中的发起对象所对应的整体关联程度,确定该发起对象对该对象对中的接受对象的影响程度,由于发起对象所对应的整体关联程度,是基于该发起对象与其候选对象集中所能够影响到的所有对象之间的关联程度,因此,该方法是同时考虑了一个发起对象对一个接受对象的局部关联程度、以及该发起对象所对应的全局关联程度的,基于这两个层面的信息,能够更加客观、准确的评估出每个对象对中的发起对象对接受对象的影响力,从而能够基于所有对之间的影响程度,从候选对象集中更精准的确定出待推广信息的目标对象集,以通过目标对象集中的对象达到待推广信息的更好的推广效果。

可选的,对于每个对象对,上述基于该对象对之间的关联程度、以及该对象对中的发起对象所对应的整体关联程度,确定该发起对象对该对象对中的接受对象的影响程度,包括:

确定以该发起对象作为发起对象的所有对象对之间的关联程度之和,将该和作为整体关联程度;

将该对象对之间的关联程度与该发起对象对应的整体关联程度的比值,确定为该发起对象对该对象对中的接受对象的影响程度。

也就是说,可以将一个对象对中发起对象与接受对象的关联程度在该发起对象所对应的整体关联程度的占比,作为该发起对象对该接受对象的影响程度。

作为一个简单的示例,假设候选对象集中包括对象A、对象B、对象C和对象D,为了描述方便,将关联对象对记为s→d(r),其中,s为对象对中的发起对象,d为接受对象,r代表该对象对之间的关联程度。对于该示例,假设候选对象集中的关联对象对包含A→B(3)、A→C(4)、B→C(3)、B→A(5)、C→D(2)。对于对象A而言,对象A和对象B是关联对象对,对象A和对象C也是关联对象对,且在这两个对象对中对象A均为发起对象,对象A可能会同时对对象B和对象C造成影响,对象A对对象B的影响程度为3/(3+4),对象A对对象C的影响程度为4/(3+4);对于对象B而言,对象B作为发起对象时,只与对象C是关联对象对,对象B对对象C的影响程度为3/3。由该示例可以看出,虽然对象A与对象B的关联程度和对象B与对象C的关联程度都是3,但是对象B对对象C的影响程度是明显大于对象A对对象B的影响程度的。另外,在该示例中还可以看出,即使对象A与对象C的关联程度大于对象B和对象C的关联程度,但是对象B对对象C的影响程度是大于对象A对对象C的影响程度的。可见,对象对之间的关联程度越大并不代表发起对象对接受对象的影响程度越大。本申请实施例所提供的该案,则在考虑发起对象与一个接受对象之间的局部关联程度、以及该发起对象的全局关联程度的基础上,更加准确的刻画出了对象间的传播影响力。

本申请的可选实施例中,对于每个对象对,基于该对象对之间的关联程度、以及该对象对中的发起对象所对应的整体关联程度,确定该发起对象对该对象对中的接受对象的影响程度,包括:

基于候选对象集中各对象对之间的关联程度,构建候选对象集对应的关系有向图,其中,关系有向图中的一个节点对应候选对象集中的一个对象,关系有向图中的有向边的源节点和目标节点分别对应一个对象对中的发起对象和接受对象,有向边的权重表征了有向边对应的对象对之间的关联程度;

对于每个有向边,基于该有向边的权重、以及以该有向边的源节点为源节点的所有有向边的权重,确定该有向边的源节点对该有向边的目标节点的影响程度。

图通常用来表示和存储具有关联关系的数据,是数据结构中非常重要的一种结构。在计算机科学中,图是一些节点(也称为顶点)和边(也可以称为弧)的集合,这些节点通过一系列边结对,即节点之间通过边连接。通过图可以简单、清晰的呈现出事物之间的联系。图可以分为有向图和无向图两大类型,其中,有向图指的是图中的边是具有方向性的图,图中的每条边对应图中一个有序的顶点对。

本申请实施例中,由于候选对象集中的关联对象对之间的关联关系是具有方向性的,因此,可以通过有向图来表征该候选对象集中对象间的关联关系。具体的,候选对象集中的每个对象可以对应为图中的一个节点,具有关联关系的对象对对应的两个节点之间具有连边,边之间的方向为发起对象对应的节点到接受对象对应的节点的方向,也就是一条有向边的源节点对应一个关联对象对中的发起对象,目标节点对应该对象对中的接受对象,有向边的权重则代表了该条边的源节点对应的对象和目标节点对应的对象之间的关联程度。其中,有向图中的有向边也可以称为传播边。

在有向图中,如果一个节点N1和一个节点N2之间具有一条有向边,且该边的方向为节点N1指向节点N2(即N1→N2),则可以将节点N2称为节点N1的节点邻居或者邻居节点。对于一个关联对象对所对应的两个节点,目标节点为源节点的邻居节点。而一个节点的邻居节点的数量可以称为该节点的节点度数,也就是以该节点作为源节点的有向边的数量。假设一个节点的节点度数为3,则以节点作为源节点的有向边的数量有3条,也就是说,该节点对应的对象为发起对象的对象对有3对,该节点对应的整体关联程度则是基于上述3条有向边的权重确定的,如这3条有向边的权重之和。

作为一个示例,图2中示出了一个关系有向图的示意图,该示例中的对象包括5个对象,分别对应于图2中的a、b、c、d、e五个节点,图2中所示的有向边的权重(图2中边上的值)代表了边所连接的两个节点对应的对象对之间的关联程度。以节点a到节点b的有向边为例,节点a为源节点,节点b为目标节点,即节点a对应发起对象,节点b对应接受对象,节点a和节点b对应的对象对之间的关联程度为2,节点b是节点a的邻居节点。比如,在游戏应用中,对象对之间的关联程度代表的是对象对中的发起对象成功邀请接受对象组队的次数,关联程度2则表示节点a对应的对象(简称为对象a)向节点b对应的对象(简称为对象b)发起过至少两次游戏组队邀请,且对象b接受过2次。在图2所示的示意图中,节点b和节点c对应一个关联对象对,节点b和节点d对应一个关联对象对,节点c和节点d都是节点b的邻居节点,节点b的节点度数为2。该示例中,以节点b和节点c所对应的对象对为例,对象b对对象c(节点c对应的对象)的影响程度可以是有向边bc的权重(值为1)和以节点b作为源节点的所有有向边的权重之和(即有向边bc的权重和有向边bd的权重之和)的比值,即对象b对对象c的影响程度为1/(1+4)。

从图2可以看出,通过有向图可以清楚明了的表示出候选对象集中所有对象之间的关系,即哪些对象之间有关联关系,哪些没有,以及具有关联关系的对象之间的关联程度的高低,还可以看出一个对象可能会影响到哪些对象,即如果将待推广信息推送该一个对象,该对象可能会将该信息分享/传播给哪些对象。

本申请的可选实施例中,该方法还可以包括:

将上述关系有向图划分为至少两个子图;

此时,上述对于每个有向边,基于该有向边的权重、以及以该有向边的源节点为源节点的所有有向边的权重,确定该有向边的源节点对该有向边的目标节点的影响程度,可以包括:

对于每个子图中的每个有向边,基于该有向边的权重、以及该子图中以该有向边的源节点作为源节点的所有有向边的权重,确定该有向边的源节点对该有向边的目标节点的影响程度;

相应的,上述根据各对象对所对应的影响程度,从候选对象集中确定出目标对象集,包括:

对于每个子图,基于该子图中的各有向边所对应的影响程度,确定该子图中的各目标节点,将该子图中的各目标节点对应的对象确定为该子图对应的目标对象子集;

其中,目标对象集包括各子图对应的目标对象子集。

在实际应用中,候选对象集中的对象数量通常会很大,比如,对于一些应用而言,其使用者的数量级通常是很大的,有些游戏应用的注册对象可能会达到百亿的量级,此时,需要处理的数据量就会很大,关系有向图中的节点数量、边的数量都会比较庞大,如果直接对关系有向图进行处理,数据的处理效率会比较低,且对执行该方法的电子设备的要求就会很高,甚至很多的电子设备可能无法完成这么大的数据量的处理的,导致设备过载、死机等情况发生。针对这些情况,本申请的该可选实施例中,考虑到电子设备的数据处理能力以及数据的处理效率,可以将关系有向图划分多个子图,再对每个子图分别进行处理,以减少每次处理的数据量,并能够降低对设备的要求。

可选的,对于多个子图,可以由一个电子设备分别对各个子图分别依次进行处理,也可以是由至少两个(如N个)电子设备进行子图的处理,实现对多个子图的分布式处理,进一步提高子图的处理效率,例如,可以由N个电子设备同步对N个子图进行并行处理。如果子图的数量大于电子设备的数量,则可以在每个电子设备完成一个子图的处理之后,继续对未处理的子图继续再处理。在确定出每个子图对应的目标节点之后,这些目标节点对应的对象则为子图对应的目标对象,通过合并所有子图对应的目标对象得到目标对象集。

其中,对于划分关系有向图的具体实现方式,本申请不做限定,例如,可以采用训练好的神经网络模型将关系有向图划分为至少两个子图,如可以通过神经网络模型对关系有向图中的所有节点进行分类,得到若干个类别,每个类别中的节点以及这些节点之间的有向边则为一个子图。可选的,还可以采用图分割方式或者聚类方式将关系有向图划分至少两个子图,比如,可以通过METIS算法(是由Karypis Lab开发的一个具有强大功能的图划分算法,采用了古希腊人物METIS行的命名)进行有向图的划分,将有向图划分指定数量(如k个,k≥2)的子图。一般的,对有向图进行划分,会控制划分后的各子图之间的关联性尽量小,子图内的节点间的关联性尽量大,且各个子图中所包含的节点的数量尽可能接近。

通过将关系有向图划分为多个子网,可以更好地把互相传播比较紧密(关联性比较高)的对象划分到一个子网,这样能够充分利用紧密联系的“社群”(即子图)来提取传播能力更强(影响力更大)的种子对象。互相联系紧密的子图,能够体现候选对象集在社交网络中局部的传播,而传播也通常在局部范围最为有效,因此,通过划分子图的方式,在避免了出现前文中所描述的计算性能问题之外,还为后续筛选出更具有影响力的种子对象提供了支持。

可选的,所要划分的子图数量可以根据实验值或经验值进行配置,如可以根据待划分的关系有向图中的节点数量确定子图数量。

本申请的可选实施例中,该方法由电子设备执行,该方法还包括:

获取电子设备可用的第一内存、以及存储一条有向边所占的第二内存;

根据第一内存和第二内存,确定电子设备可存储的有向边的数量;

根据关系有向图中有向边的数量和电子设备可存储的有向边的数量,确定关系有向图的子图数量。

在实际应用中,由于电子设备的可用内存是有限的,如果子图过大(子图中有向边的数量过多),仍有可能会造成设备在处理子图时,处理效率过低或者是无法处理等计算性能上的问题,比如,电子设备无法存储过大的子图。为了避免该问题,本申请的该可选实施例,在确定子图数量时,考虑了电子设备的可用内存(即第一内存)、以及存储一条有向边所需的内存(即第二内存),基于这两个信息可以确定出电子设备最多所能够存储的有向边的数量,从而可以根据关系有向图中有向边的总数和电子设备所能够存储的有向边的数量,确定出合理的子图数量。

可选的,若是由多个电子设备对不同的子图分别进行处理,即上述电子设备为至少两个时,在确定子图数量时,上述第一内存可以是多个电子设备中可用内存最小的电子设备的可用内存,以使得每一电子设备在进行任一子图的处理时,都能够避免出现前文所描述的计算性能问题。

本申请的可选实施例中,该方法还包括:

获取目标对象的设定数量;

上述根据关系有向图中有向边的数量和电子设备可存储的有向边的数量,确定关系有向图的子图数量,包括:

根据关系有向图中有向边的数量和电子设备可存储的有向边的数量的比值,确定第一子图数量;

将第一子图数量和设定数量中的较小值,确定为关系有向图的子图数量。

其中,目标对象的设定数量,即目标对象集中所包含的对象的数量,也就是最终所要筛选出的对象的数量,该数量为预设置好的。

在实际应用中,通常并不希望子图数量大于目标对象的数量,也就是会尽量避免一个子图中对应的目标对象的数量出现零的情况。基于此,作为一种可选方式,在确定子图时,可以将基于上述第一内存和第二内存所确定出的第一子图数量和目标对象的设定数量中的较小值,确定为最终的子图数量。具体的,可以首先计算关系有向图中有向边的总数与每个电子设备可以存储的有向边的比值,将该比值向上取整或者向下取整得到一个数值(即第一子图数量),将该数值和设定数量中的较小值确定为最终所要划分出的子图的数量。

对于每个子图而言,作为一可选方式,一个子图所对应的目标对象的数量可以是基于上述设定数量和子图数量确定,比如,根据设定数量和子图数量的比值确定出每个子图对应的目标对象的基准值,为了保证对象数量是整数,可以基于该基准值确定每个子图对应的目标对象的数量,所有子图对应的数量之和等于设定数量。

本申请的可选实施例中,该方法还包括:

确定目标对象的设定数量;

对于每个子图,根据该子图所包含的节点数量和有向边数量,确定该子图的子图密度,子图密度表征了该子图对应的所有对象之间的关系紧密程度;

根据上述设定数量和各子图的子图密度,确定每个子图对应的目标对象的对象数量;

相应的,对于每个子图,基于该子图中的各有向边所对应的影响程度,确定该子图中的各目标节点,包括:

基于该子图中的各有向边所对应的影响程度,从该子图中确定出数量等于该子图所对应的对象数量的目标节点。

其中,对于一个子图,该子图对应的所有对象之间的关联紧密程度,表征了该子图中具有关联关系的对象对的多少,在子图的节点数量一定的条件下,子图中具有关联关系的对象对的数量越多,子图对应的关联紧密程度越大。

由于不同子图内部的连接情况通常都是不同的,如果简单的基于上述设定数量(即最终的目标对象的总量)和子图数量的比值来确定每个子图所对应的目标对象的数量(也就是最终需要从子图中确定出的目标节点的数量),那么就会忽略子图的内部连接情况。而在实际应用中,在子图对应的目标对象的数量一定的情况下,如果子图的内部连接比较紧密(紧密程度很大)的情况下,该子图对应的目标对象子集的影响力的覆盖范围则会比较大,因而,连接紧密的子网所需要的目标对象的数量可以相对较少。相对而言,如果子图内部连接比较稀疏的话,那么子图中不同对象之间的传播影响效果会相对较弱,此时就需要相对较多的目标对象,才能把子图对应的影响力覆盖范围扩大。基于此,本申请提供的该可选方案,在确定每个子图对应的目标对象的数量(即上述对象数量)时,考虑了每个子图的内部结连接情况,即子图密度,并根据子图密度来确定各个子图对应的对象数量,从而根据各个子图的内部连接情况确定出符合该子图内部连接情况的对象数量,从而在最终所要筛选出的所有目标对象的数量一定的前提下,使得筛选出的目标对象集的传播影响力最大,从而提升待推广信息的推广效果。

可选的,对于每个子图,上述根据该子图所包含的节点数量和有向边数量,确定该子图的子图密度,可以包括:

确定该子图所包含的有向边的数量与该子图所包含的节点数量的比值,将该比值作为该子图的子图密度。

由前文描述可知,在一个子图所包含的节点数量一定的情况下,子图中的有向边的数量越多,子图对应的对象之间的关系连接程度越大,因此,可以将子图包含的边的数量与子图中的节点的数量的比值,作为子图密度,密度越大,子图内部的节点间的连接情况越密集,子图对应的对象间的关联关系越紧密。

可选的,根据设定数量和各子图的子图密度,确定每个子图对应的目标对象的对象数量,可以包括:

对于任一子图,将该子图的子图密度与所有子图的子图密度之和的比值作为该子图对应的对象数量在设定数量中所占的比重,将该比重与设定数量相乘的结果作为该子图对应的目标对象的对象数量。

当然,如果上述相乘的结果不是整数,可以向上取整或者向下取整。

本申请的可选实施例中,上述根据各所述对象对所对应的影响程度,从候选对象集中确定出目标对象集,可以包括:

将每个对象对中的发起对象对接受对象的影响程度作为该发起对象对该接受对象的传播激活概率,从候选对象集中确定出目标对象集,目标对象集中包含的对象数量为设定数量;

其中,目标对象集对应的传播影响力大于或等于其他对象集对应的传播影响力,其中,其他对象集为候选对象集的除目标对象集之外的包含设定数量候选对象的子集,对于一个对象集,传播影响力为该对象集中的对象在候选对象集中所能激活的对象的数量。

在确定出各对象对中接受对象对目标对象的影响程度之后,为了从候选对象集中筛选出传播影响力最大的目标对象集,可以将对象对中发起对象对目标对象的影响程度作为该发起对象对目标对象的传播激活概率,采用影响力最大化(IMM,InfluenceMaximization via Martingales)算法从候选对象集中确定出设定数量的目标对象。其中,传播激活概率是指假设一个发起对象对应的节点处于激活状态,接受对象被激活的概率是多少。通过影响力最大化算法可以在目标对象的数量一定的情况下,从候选对象集中确定出影响力最大的目标对象集,即目标对象集中的各目标对象对应的节点均处于激活状态时,这些节点所能够激活的其他节点(除目标对象之外的对象对应的节点)的数量,不小于其他对象集对应的能够激活的节点数量。

可选的,在基于上述关系有向图进行处理时,有向图中有向边的权重即为传播激活概率,传播激活方向即为有向边的方向,可以基于该关系有向图,采用影响力最大化算法确定出关系有向图中设定数量的目标节点,这些目标节点对应的对象即为目标对象。

需要说明的是,在将关系有向图划分为多个子图进行处理时,可以分别对每个子图进行处理,即根据每个子图各自对应的对象数量,从子图中确定出相应数量的目标节点,之后,合并所有子图中的目标节点对应的对象得到的即为目标对象集。

其中,上述影响力最大化算法具体采用哪种算法本申请实施例不做限定,如可以采用独立传播(也就是独立级联模型,independent cascade,简称IC)模型或线性阈值(Linear Threshold,简称LT)模型等影响力传播模型来确定目标对象集。

传播模型是基于传播网络边上的传播概率(即传播影响概率)来刻画网络中一个节点对其邻居节点的影响,对于本申请,也就是基于候选对象集的各关联对象对中发起对象对接受对象的影响程度,来刻画候选对象集中的接受对象受发起对象的影响。在传播模型中,是假设一个节点被激活了,则假设这个节点是种子节点(目标对象可以称为种子对象,目标对象对应的节点为种子节点)或者节点是另外一个节点的邻居节点,其受到了该另外一个节点的影响。一个节点如果被激活了,只有一次机会可以去影响他的邻居节点,并且在网络中保持激活状态。独立传播模型认为每个未被激活的节点都有一定的概率受到他的已经激活的节点的影响。比如,图2所示的有向图示例中,如果节点b和节点c都被激活了,那么节点b和节点c分别都有单独的机会来影响节点d(节点d既是节点b的邻居节点,又是节点c的邻居节点),并且他们的传播概率(节点d被激活的概率)是根据边上的权重来计算。而线性阈值模型认为每个未被激活的节点被影响的概率是他的关联的已经激活的节点(对于一个节点,如果该节点是另外一个节点的邻居节点,则该另外一个节点则是他的关联节点)对他的传播概率之和。比如,图2中,如果节点b和节点c都被激活了,那么节点d会受到节点b和节点c的共同影响,节点d对应的传播概率为节点b和节点c到节点d的传播概率之和。

基于关系有向图或者子图中的节点之间的传播概率,可以通过在图中做节点间传播模拟,确定出关系有向图或子图对应的目标节点,从而得到确定出最终将待推广信息推送至的目标对象。可选的,传播模拟的原理通常为:对于关系有向图或者每个子图,对于图中的每个节点,在假设图中该节点被激活时,通过传播模型可以确定出该节点能够激活的其他节点的数量(一个节点如果能够激活他的邻居节点,且该邻居节点能够激活该邻居节点的邻居节点,则该节点的邻居节点和该邻居节点的邻居节点都是该节点激活的节点),在确定出每个节点所能激活的节点的数量之后,可以将最大数量对应的节点作为第一个目标节点即种子节点,对于除该节点之外的各节点,将每个节点分别与已经确定为目标节点的节点进行组合,对于每个组合,在假设该组合中的各节点都被激活时,可以通过传播模型确定出该组合所能够激活的其他节点的数量,将最大数量对应的组合中的各节点确定为目标节点,通过重复上述方式,直至确定出的组合中节点的数量等于设定数量。

可以理解的是,不同的IMM算法的原理可能会存在不同,本申请实施例对于采用哪种IMM算法不做限定。

为了更好的理解和更加详细的说明本申请所提供的方案,下面结合一个具体的应用场景示例对本申请的可选实施方式进行说明。该应用场景中的待推广信息为游戏应用(简称为游戏)中的活动信息,候选对象集中的候选对象为该游戏应用的使用者(也可以称为玩家),可选的,候选对象集中包含多个使用者的对象标识,对象标识可以是使用者在游戏应用的客户端进行登录时所采用的登录账号。

在游戏应用场景中,经常会有一些与游戏相关的信息(即待推广信息)需要推广,例如,以游戏中的活动信息为例,其中,为了提高推广效果,通常会为活动配置一些奖励,通过向对象提供奖励来提升对象分享活动信息的积极性。比如,在游戏中,稀有道具有较高的价值,受到广大玩家的追捧。稀有道具因其稀有性,拥有此道具的玩家数量通常较少。当游戏需要做推广活动的时候,可以将稀有道具作为推广活动的奖励,激励对象将活动信息分享到其他对象,或者邀请其他对象来参与这个活动,以实现进一步推广的目的。为了达到的好的推广效果,需要精细化选择活动推广的起始对象(即目标对象,通常也称为种子对象),从而这些起始对象可以利用自身的影响力来增加整个活动的推广效果。

下面以待推广信息是游戏应用中需要推广的活动信息为例,结合图3所示出的本实施例所适用的一种信息推广系统对本申请所提供方法的可选实施方式进行说明。

如图3中所示,该推广系统包括游戏应用的应用服务器201以及安装有游戏应用的客户端的多个终端设备,如图3中所示的对象P1、P2、P3的终端设备101、102和103,对象P1、P2、P3为游戏应用的使用者(下文中也会称为玩家),各玩家可以通过各自的终端设备通过网络与服务器201通信,玩家可以通过其终端设备上的客户端与服务器201进行数据交互,参与游戏,进行游戏操作,服务器210还可以向玩家推送信息(可选的,可以是在玩家授权的情况下推送)。可以理解的是,图3中只是示意性的示出了几个玩家,在实际应用中,游戏应用的使用者数量通常都是比较庞大的。该信息推广系统中还包括计算设备集群300,该集群300可以包括多个电子设备,如图3中所示的电子设备301、302、303和304,其中,该集群可以与应用服务器201通过网络进行通信,如可以是电子设备301与应用服务器201通信,电子设备301还分别与电子设备302、303和304通信。

需要说明的是,本申请中对于待推广信息的具体推送形式不做限定,如可以采用多媒体信息的形式将想要推广的活动信息发送给目标对象。图4中示出了本应用场景中的一种待推广信息的信息形式的示意图,如果一个玩家被确定为种子对象,在活动期间,在该玩家的客户端界面上可以看到如图4中所示的信息,图4中所示的活动信息是一个可以让玩家进行组队游戏的活动内容,客户端界面的显示区域10中显示了该活动内容的主题名称即“开黑节组队,启神秘大礼”,还示出了活动时间即活动的有效时间,种子对象还可以通过点击区域11查看活动规则,区域12还展示了活动的奖励信息介绍,种子对象可以根据活动规则发起组队游戏,领取奖励(其中,图4中所示的A奖励、B奖励具体是什么奖励可以根据需求配置,如可以是稀有道具、或者其他虚拟资源)。该示例中,客户端界面的显示区域20还显示了一些活动说明信息,种子对象可以通过点击区域23(即图4中控件

在种子对象的数量一定的情况下,为了使得活动效果影响尽可能大,即最大可能的提升活动信息的推广效果,可以通过以下方式从游戏应用的众多玩家中挑选出影响力最大的设定数量的种子对象,并将该活动信息发送至这些种子对象。活动中,玩家(可以是种子对象、也可以是种子对象将活动分享至的其他玩家)可以跟他邀请进来的玩家进行游戏对局组队,当完成游戏对局组队后,可以抽取活动奖励。玩家可以继续在这个活动页面上邀请好友进行组队,从而获得更多奖励。种子对象还可以通过活动分享(即将活动信息分享给其他对象)和组队的方式,把活动传播开。

下面结合图3对从游戏的众多玩家中确定设定数量的种子对象的具体流程进行说明,图5示出了该应用场景下该方法的流程图,如图5中所示,该方法可以包括如下步骤510-步骤550:

步骤510:构建传播网络,即构建关系有向图。

该步骤是构建大量对象(候选对象集中的对象)之间的传播网络(即关系有向图),该传播网络可以刻画对象之间的传播路径。为了构建对象之间的传播网络,首先要判定对象之间的传播行为,也就是判断对象之间是否有关联关系。本应用场景中,采用游戏内玩家之间互动的行为作为传播行为,因为互动行为是玩家之间直接接触产生的。本示例中,以玩家之间的对局邀请来构建传播网络,也就是根据玩家之间的组队邀请行为确定玩家之间是否具有关联关系,以及具有关联关系的玩家之家的关联程度。

具体的,每个玩家在这个传播网络都是一个节点,如果玩家A向玩家B发起组队邀请,并且玩家B同意进入组队,则玩家A和玩家B是一个关联对象对,玩家A对应的节点A与玩家B对应的节点B有一条传播边(有向边),并且这条边是有方向和权重的,方向为节点A指向节点B(即玩家A是关联关系的发起对象,玩家B为关联关系的接受对象),权重是节点A成功邀请节点B的次数。

如果玩家A向玩家B有多次组队邀请,并且玩家B也多次接受邀请,玩家A在传播网络中只用一条传播边指向玩家B,并且这条传播边上的权重是邀请成功的次数。另外,如果玩家B向玩家A有组队邀请,并且玩家A接受玩家B的邀请,那么玩家B对应的节点B也有一条传播边指向玩家A对应的节点A。因此,两个玩家在传播网络上可以有双向的边,但是同一个方向的边只有一条。假设图2为传播网络的部分网络的示意图,节点c和节点e之间具有双向边,且每条边都具有各自的权重,由节点c指向节点e的有向边表示节点c对应的玩家c邀请节点e对应的玩家e成功组队的次数为2次,此时玩家c为关联关系的发起方,玩家e为接受方,由节点e指向节点c的有向边表示玩家e成功邀请玩家c成功组队的次数为5次,此时玩家e为关联关系的发起方,玩家c为关联关系的接受方。

步骤S520:分割网络,即将关系有向图(传播网络)划分为多个子图(子网)。

对于构建好的传播网络,可以采用图分割技术,将传播网络分割成若干个子网。可以将传播网络表示为G(V,E),其中,V和E分别表示传播网络G的节点集合和边集合,可选的,可以采用图像分割算法(如METIS算法)将传播网络G分割成k(k≥2)个子网,k个子网可以表示为

·所有子网的节点集合的并集(可以表示成

·不同子网的节点集合之间没有交集,也就是对于任意的

·每个子网的节点集合大小比较相近,也就是存在

·子网的边集合为子网的节点集合里节点形成的边,也就是

·子网之间的边尽量少,也就是最小化集合

采用METIS图像分割算法,可以在使得分割后的k个子网大小相近的情况下,最小化子网之间的边集合

在实际应用中,通常不希望子网的数量k太小,因为太小的k会导致产生的子网较大,那么电子设备对子网进行单独处理时仍然可能会有计算性能上的问题,比如计算机内存无法存储较大的子网。另一方面,k也不能太大,因为太大的k会导致子网之间的边集合

为了子网的计算效率、并保证处理的整体效果,可以采用本申请实施例提供的考虑计算机内存大小的方式来自动化确定子网数量k的取值大小,确定k取值的方式如下:

用M表示计算机可用的内存大小(即电子设备的第一内存),用n表示传播网络中节点的数量,用d表示节点的平均度数,用t表示存储一条边的内存开销(即存储一条有向边所占用的第二内存),用

其中,B表示传播网络中有向边的总数量,

步骤S530:确定子网对应的种子对象的数量;

由前文的描述可知,

考虑到上述因素,本申请实施例中,可以为每个子网

确定出每个子网的权重之后,则可以根据这些权重和种子对象的总数量

其中,

步骤S540:子网上的影响力最大化,即确定每个子网所对应的种子对象;

对于任一子网,给定种子对象数量

具体来说,可以采用IMM算法来计算子网上影响力最大的种子对象集合,IMM算法可以通过蒙特卡洛方法(Monte-Carlo Simulation),基于传播模型模拟网络上的传播过程,对每个节点都生成大量的传播路径。比如,一条传播路径可以表示为

为了通过传播模型筛选出每个子网中的目标节点,需要确定子网中节点之间的传播概率(即激活概率)。对于子网中的任一有向边,假设该有向边为节点

其中,

在确定出子网中每条有向边对应的传播概率之后,则可以基于影响力最大化算法确定出该子网的目标节点,这些目标节点对应的对象则为该子网对应的种子对象,通过影响力最大算法可以使得确定出的目标节点在该网络中所能够影响到的节点集合的并集是最大的,也就是影响力(传播效果)是最大的。

步骤S550:子网结果合并。

当计算出

在确定出设定数量的种子对象之后,则可以将活动信息(如图4中所示的内容)推送给各种子对象,即将活动信息发送给各种子对象。

可选的,在上述游戏应用场景中,本申请实施例所提供的上述步骤S510至步骤S550可以由图3中所示的计算设备集群300执行,具体的,计算设备集群300的电子设备301执行上述步骤S510和步骤S520,电子设备301可以与游戏应用的应用服务器201通信,从应用服务器201获取到该游戏应用的玩家信息(即候选对象集)、以及具有玩家之间的交互行为,基于获取的这些信息可以确定出候选对象集中具有关联关系的对象对,以及对象对之间的关联程度,从而可以基于各关联对象对以及这些对象对之间的关联程度构建传播网络。电子设备301还可以与电子设备302-304通信,获取到电子设备302-304各自的可用内存,并将三个电子设备的可用内存中最小的可用内存作为前文中的第一内存,可以通过执行步骤S520将传播网络划分为

基于本申请实施例的方案,能够有效提高待推广信息的推广效果,与现有技术中的其他方案相比,无论是在信息的传播广度层面,还是在传播深度方面,都有很明显的提升。为了证明该效果,本申请申请人对本申请实施例所提供的方案和现有的两种方案进行了对比实验,该对比实验将三种方案分别应用到游戏应用的活动信息推广中,分别采用三种方式来确定种子对象,并将信息推送至种子对象,并对信息的推广效果进行了统计。三种方式分别如下:

现有方式1:按对象的好友(如具有关联关系的对象)数量排序,以就是按照节点度数进行排序,将好友数量多的对象作为种子对象。

现有方式2:采用基于PageRank(网页排名)算法的种子对象确定方式。

方式3:基于本申请实施例提供的方案,在该实验中,分别采用IC模型和LT模型进行了种子对象的筛选。

在该实验中,游戏应用的对象可以通过与该游戏应用具有关联的第一应用的对象账号(对象标识)或第二应用的对象账号登录该游戏应用,为了获知各种方式对应的推广效果,将采用第一应用的对象账号登录游戏应用的玩家和采用第二应用的对象账号登录游戏应用的玩家分别作为独立的候选对象集,基于玩家间的交互行为分别通过四种方式(包括基于本申请实施例的上述分别采用IC模型和LT模型的两种方式)确定出了5万个种子对象,并对每种方式对应的种子对象分别进行了标记(以标识是哪种方式对应的种子对象),对于每种方式,将活动信息分别投放给该方式对应的种子对象。投放后,在活动信息的传播过程中,如果一个对象影响了其他对象(一个对象将活动信息分享给了另外为一个对象),则将该其他对象标记上与这个对象相同的标记。因为一个对象有可能被多个方式选中为种子对象,或者在传播时被多个带有不同标记的对象影响,所以一个对象至少有一种标记,但也有可能有多种标记。在活动进行7天后,对每中方式分别统计以下几个数据:

1.种子对象参与活动数量X;

2.带有每种方式的标记的玩家总数量Y;

3.在传播网络中,种子对象与其他被标记此种方式的玩家的最大距离Z。

基于统计数量,可以衡量信息传播的广度为Y/X,传播的深度为Z。

图6和图7分别示出了上述四种方式对应的传播广度和传播深度的效果示意图,其中,图6和图7中横坐标代表各种方式,纵坐标表示每种方式的传播广度或传播深度,图6和图7中斜线填充的部分表示采用第一应用的对象账号登录游戏的对象,黑色填充的部分表示采用第二应用的对象账号登录游戏的对象,上述方式1对应的传播效果对应图6和图7中的“规则”,方式2对应于图6和图7中的“PageRank”,IMM-IC和IMM-LT分别对应于基于本申请实施例的两种方式。由图6和图7可以看出,基于本申请实施例所提供的方式,可以将活动信息传播至更多的对象,无论是传播广度和传播深度,相比于现有方式均有提升,尤其是在传播广度上,传播效果有了极大的提升。

基于与本申请实施例所提供的方法相同的原理,本申请实施例还提供了一种信息推广装置,如图8所示,该信息推广装置100可以包括对象信息获取模块110和目标对象确定模块120,其中:

对象信息获取模块110,用于获取待推广信息对应的候选对象集、以及候选对象集中具有关联关系的各对象对之间的关联程度,其中,每个对象对包括关联关系建立的发起对象和接受对象;

目标对象确定模块120,用于对于每个对象对,基于该对象对之间的关联程度、以及该对象对中的发起对象所对应的整体关联程度,确定该发起对象对该对象对中的接受对象的影响程度;以及根据各对象对所对应的影响程度,从候选对象集中确定出目标对象集,以将待推广信息推荐给目标对象集中的各目标对象,其中,对于一个对象,整体关联程度是基于以该对象作为发起对象的所有对象对之间的关联程度确定的。

可选的,对于每个对象对,目标对象确定模块在基于该对象对之间的关联程度、以及该对象对中的发起对象所对应的整体关联程度,确定该发起对象对该对象对中的接受对象的影响程度时,可以用于:

确定以该发起对象作为发起对象的所有对象对之间的关联程度之和,将该和作为上述整体关联程度;

将该对象对之间的关联程度与该和的比值,确定为该发起对象对该对象对中的接受对象的影响程度。

可选的,对于每个对象对,目标对象确定模块在基于该对象对之间的关联程度、以及该对象对中的发起对象所对应的整体关联程度,确定该发起对象对该对象对中的接受对象的影响程度时,可以用于:

基于候选对象集中各对象对之间的关联程度,构建候选对象集对应的关系有向图,其中,关系有向图中的一个节点对应候选对象集中的一个对象,关系有向图中的有向边的源节点和目标节点分别对应一个对象对中的发起对象和接受对象,有向边的权重表征了有向边对应的对象对之间的关联程度;

对于每个有向边,基于该有向边的权重、以及以该有向边的源节点为源节点的所有有向边的权重,确定该有向边的源节点对该有向边的目标节点的影响程度。

可选的,目标对象确定模块还用于:

将关系有向图划分为至少两个子图;

对于每个有向边,目标对象确定模块在基于该有向边的权重、以及以该有向边的源节点为源节点的所有有向边的权重,确定该有向边的源节点对该有向边的目标节点的影响程度时,可以用于:

对于每个子图中的每个有向边,基于该有向边的权重、以及该子图中以该有向边的源节点作为源节点的所有有向边的权重,确定该有向边的源节点对该有向边的目标节点的影响程度;

目标对象确定模块在根据各对象对所对应的影响程度,从候选对象集中确定出目标对象集时,可以用于:

对于每个子图,基于该子图中的各有向边所对应的影响程度,确定该子图中的各目标节点,将该子图中的各目标节点对应的对象确定为该子图对应的目标对象子集;

其中,目标对象集包括各子图对应的目标对象子集。

可选的,该装置包含于电子设备中,目标对象确定模块还用于:

获取电子设备的第一内存、以及存储一条有向边所占用的第二内存;

根据第一内存和第二内存,确定电子设备可存储的有向边的数量;

根据关系有向图中有向边的数量和电子设备可存储的有向边的数量,确定关系有向图的子图数量。

可选的,目标对象确定模块还用于:

获取目标对象的设定数量;

目标对象确定模块在根据关系有向图中有向边的数量和电子设备可存储的有向边的数量,确定关系有向图的子图数量时,可以用于:

根据关系有向图中有向边的数量和电子设备可存储的有向边的数量的比值,确定第一子图数量;

将第一子图数量和设定数量中的较小值,确定为关系有向图的子图数量。

可选的,目标对象确定模块还用于:

确定目标对象的设定数量;

对于每个子图,根据该子图所包含的节点数量和有向边数量,确定该子图的子图密度,子图密度表征了该子图对应的所有对象之间的关系紧密程度;

根据设定数量和各子图的子图密度,确定每个子图对应的目标对象的对象数量;

对于每个子图,目标对象确定模块在基于该子图中的各有向边所对应的影响程度,确定该子图中的各目标节点时,可以用于:

基于该子图中的各有向边所对应的影响程度,从该子图中确定出数量等于对象数量的目标节点。

可选的,对于每个子图,目标对象确定模块可以用于:

确定该子图所包含的有向边的数量与该子图所包含的节点数量的比值,将该比值作为该子图的子图密度。

可选的,目标对象确定模块在根据设定数量和各子图的子图密度,确定每个子图对应的目标对象的对象数量时,可以用于:

对于每个子图,将该子图的子图密度的倒数作为该子图对应的对象数量在设定数量中所占的权重;

根据各子图对应的权重和设定数量,确定每个子图对应的对象数量。

可选的,目标对象确定模块在根据各对象对所对应的影响程度,从候选对象集中确定出目标对象集时,可以用于:

将每个对象对中的发起对象对接受对象的影响程度作为该发起对象对该接受对象的传播激活概率,从候选对象集中确定出目标对象集,目标对象集中包含的对象数量为设定数量;

其中,目标对象集对应的传播影响力大于或等于其他对象集对应的传播影响力,其中,其他对象集为候选对象集的除目标对象集之外的包含设定数量候选对象的子集,对于一个对象集,传播影响力为该对象集中的对象在候选对象集中所能激活的对象的数量。

可选的,待推广信息为目标应用中的待推广信息,候选对象集中的对象为目标应用的使用者,对象对之间的关联程度是基于使用者之间的交互行为确定的。

本申请实施例还提供了一种电子设备,该电子设备包括存储器和处理器,存储器用于存储计算机程序,处理器在运行计算机程序时,执行本申请任一可选实施例所提供的方法。

图9示出了本申请实施例提供的一种电子设备的结构示意图,如图9所示,该电子设备4000包括处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004(通信模块,可以包括有线通信模块和无线通信模块),收发器4004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。

处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。

总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。

存储器4003用于存储执行本申请方案的应用程序代码(计算机程序),并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的应用程序代码,以实现前述方法实施例所示的内容。

本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。

基于与本申请实施例提供的方法相同的原理,本申请实施例还提供了一种本计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述本申请任一可选实施例中提供的方法。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

相关技术
  • 一种信息推广方法、装置、电子设备和可读存储介质
  • 信息推广方法、装置、电子设备及存储介质
技术分类

06120112939562