CN108810089B - 一种信息推送方法、装置及存储介质 - Google Patents

一种信息推送方法、装置及存储介质 Download PDF

Info

Publication number
CN108810089B
CN108810089B CN201810418394.0A CN201810418394A CN108810089B CN 108810089 B CN108810089 B CN 108810089B CN 201810418394 A CN201810418394 A CN 201810418394A CN 108810089 B CN108810089 B CN 108810089B
Authority
CN
China
Prior art keywords
user
information
users
community
label
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810418394.0A
Other languages
English (en)
Other versions
CN108810089A (zh
Inventor
孙永生
周苏生
陶辉
陶逸舟
李曙光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Weimeng Chuangke Network Technology China Co Ltd
Original Assignee
Weimeng Chuangke Network Technology China Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Weimeng Chuangke Network Technology China Co Ltd filed Critical Weimeng Chuangke Network Technology China Co Ltd
Priority to CN201810418394.0A priority Critical patent/CN108810089B/zh
Publication of CN108810089A publication Critical patent/CN108810089A/zh
Application granted granted Critical
Publication of CN108810089B publication Critical patent/CN108810089B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种信息推送方法,用以解决由于现有技术没有提供确定关键节点的解决方案,从而难以实现传播效应较佳的信息推送的问题。方法包括:根据第一用户集合中用户之间的信息转发关系的预设权重值,以及与所述信息转发关系相关联的被转发次数,确定每一个用户根据其他用户的标签进行自身标签更改的概率值;根据所述第一用户集合中用户之间的信息转发关系、用户的标签以及针对当前用户确定的根据其他用户的标签进行自身标签更改的各个概率值,基于标签传播算法确定用户社区;从确定出的用户社区中选取用户,并向选取的用户推送信息。本发明还公开了一种信息推送装置和计算机存储介质。

Description

一种信息推送方法、装置及存储介质
技术领域
本发明涉及互联网技术领域,尤其涉及一种信息推送方法、装置及计算机可读存储介质。
背景技术
随着生活、工作节奏的加快,人们越来越倾向于用简短的文字来沟通交流。这样的需求背景下,以twitter和新浪微博为代表的以较小的内容碎片来生产、组织和传播信息的社会性网络服务(Social Networking Services,SNS)网站,获得网友的青睐。
基于SNS网站庞大的用户群体,越来越多的广告主希望能够将自己的广告信息通过SNS网站传播给更多的用户。通过SNS网站投放广告时,一般期望选取关键节点进行广告投放,以在广告传播效应和广告预算之间取得一个较好的平衡。其中,所述关键节点,是指预期能够有较高的广告传播效应的用户。
然而,现有技术中并没有提供如何确定关键节点的方法,从而也就导致现有技术不能够实现传播效应较佳的信息(如广告)推送。
发明内容
本发明实施例提供一种信息推送方法和装置,用以解决由于现有技术没有提供确定关键节点的解决方案,从而难以实现传播效应较佳的信息推送的问题。
本发明实施例还提供一种计算机可读存储介质。
本发明实施例采用下述技术方案:
一种信息推送方法,包括:根据第一用户集合中用户之间的信息转发关系的预设权重值,以及与所述信息转发关系相关联的被转发次数,确定每一个用户根据其他用户的标签进行自身标签更改的概率值;其中,针对每一个用户,当前用户与其他用户之间的信息转发关系包括当前用户的发布信息被其他用户转发的正向关系和当前用户转发其他用户的发布信息的逆向关系,所述正向关系的预设权重值大于逆向关系的预设权重值;根据所述第一用户集合中用户之间的信息转发关系、所述第一用户集合中每一个用户的标签以及针对当前用户确定的根据其他用户的标签进行自身标签更改的各个概率值,基于标签传播算法确定用户社区;其中,所述用户社区为具备同一标签的用户构成的集合;从确定出的用户社区中选取用户,并向选取的用户推送信息。
一种信息推送装置,包括:概率值确定单元,用于根据第一用户集合中用户之间的信息转发关系的预设权重值,以及与所述信息转发关系相关联的被转发次数,确定每一个用户根据其他用户的标签进行自身标签更改的概率值;其中,针对每一个用户,当前用户与其他用户之间的信息转发关系包括当前用户的发布信息被其他用户转发的正向关系和当前用户转发其他用户的发布信息的逆向关系,所述正向关系的预设权重值大于逆向关系的预设权重值;社区确定单元,用于根据所述第一用户集合中用户之间的信息转发关系、所述第一用户集合中每一个用户的标签以及针对当前用户确定的根据其他用户的标签进行自身标签更改的各个概率值,基于标签传播算法确定用户社区;其中,所述用户社区为具备同一标签的用户构成的集合;选取单元,用于从社区确定单元确定出的用户社区中选取用户;推送单元,用于向选取单元选取的用户推送信息。
一种信息推送装置,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如前文所述的信息推送方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前文所述的信息推送方法的步骤。
本发明实施例采用的上述至少一个技术方案能够达到以下有益效果:
采用本发明实施例提供的方案,可以基于用户集合中用户之间的信息转发关系、所述用户集合中各用户的标签以及确定的各个所述概率值,基于标签传播算法确定用户社区,从而利用标签传播算法的特性,将具有相同兴趣的用户聚合到同一用户社区中,进而从具备相同兴趣的用户群中选取用户(即关键节点)进行信息推送,因此提供了一种有效确定关键节点的方案。由于基于关键节点,后续就可以实现传播效应较佳的信息推送,从而解决了由于现有技术没有提供确定关键节点的解决方案而难以实现传播效应较佳的信息推送的问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例提供的一种信息推送方法的具体流程示意图;
图2为本发明实施例中所示意的一种网络拓扑图的示意图;
图3为微博网站中不同身份用户的数量分布图;
图4为本发明实施例所采用的服务器集群的架构示意图;
图5为本发明实施例提供的一种信息推送装置的具体结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以下结合附图,详细说明本发明各实施例提供的技术方案。
实施例1
为解决现有技术由于没有提供确定关键节点的解决方案,从而难以实现传播效应较佳的信息(如广告)推送的问题,本发明实施例提供一种信息推送方法。该方法的具体实现流程图如图1所示,包括如下步骤:
步骤11,根据第一用户集合中用户之间的信息转发关系的预设权重值,以及与该信息转发关系相关联的被转发次数,确定第一用户集合中每一个用户根据其他用户的标签进行自身标签更改的概率值;
本发明实施例中,考虑到信息转发关系至少与两个用户(也即一对用户)相关,因此,可将彼此之间存在信息转发关系的用户,称为一个“用户对”。
那么,步骤11的具体实现方式也即:根据第一用户集合中各用户对包含的两个用户的信息转发关系的预设权重值,以及与所述信息转发关系相关联的被转发次数,确定各用户对中的一用户根据另一用户的标签进行自身标签更改的概率值,从而也就实现了确定第一用户集合中每一个用户根据其他用户的标签进行自身标签更改的概率值。
所述的第一用户集合,是由待确定是否适合作为推送信息接收方的用户构成的集合。比如,若假设待推送的信息(如广告)是期望推送到背景技术中所说的SNS网站的注册用户,那么,这里所说的第一用户集合,可以是SNS网站的注册用户。具体地,若SNS网站为微博网站,则这里所说的第一用户集合,可以是微博网站的注册用户。
所述的第一用户集合的用户对,是指由第一用户集合中的两个用户构成的用户子集合。本发明实施例中,一般将具备信息转发关系的两个用户,划分到同一用户子集合中。仍然以微博网站为例,假设用户A发布了一条微博,而用户B对该微博进行了转发,那么,A和B就可以划分到同一用户对中。当然,同一用户对中的两个用户,也可以存在一用户转发另一用户的微博,而所述另一用户也转发所述一用户的微博的情况。
所述两个用户的信息转发关系,是指两个用户彼此之间的信息转发方向。比如,仍然以微博网站为例,若假设用户A发布了一条微博,而用户B对该微博进行了转发,那么,A和B构成的用户对的两个用户的信息转发关系为“B转A”;而若用户B发布了一条微博,而用户A对该微博进行了转发,那么,A和B构成的用户对{A,B}的两个用户的信息转发关系为“A转B”。
本发明实施例中,任一用户对的同一信息转发关系均满足:所述同一信息转发关系的预设权重值和相关联的被转发次数,与所述任一用户对中一用户根据另一用户的标签进行自身标签更改的概率值正相关——详见后文的公式[1]和[2]。其中,所述一用户(当前用户)与所述另一用户(其他用户)之间的信息转发关系包括“正向关系”和“逆向关系”两种,正向关系的预设权重值大于逆向关系的预设权重值。正向关系为所述另一用户(其他用户)转发所述一用户(当前用户)的发布信息,逆向关系为所述一用户(当前用户)转发所述另一用户(其他用户)的发布信息。
所述的与信息转发关系相关联的被转发次数,是指用户对中两个用户彼此之间的各信息转发方向各自的统计次数。当然,所述的两个用户的信息转发关系,以及该统计次数,都可以是对一个预定时间长度的信息转发方向进行统计而得到的。这里所说的预定时间长度,比如可以是最近一个月,或者最近一周,等等。仍然以微博网站为例,若假设最近一个月内,用户A在一个月内的30天中,每天都对用户B发布的微博进行过转发,那么相应的转发次数为30,而B在一个月内的30天中,都没有对A发布的微博进行过转发,那么相应的转发次数为0。从而,与A和B构成的用户对{A,B}的信息转发关系相关联的被转发次数为30、0。
本发明实施例中所述的用户标签,是指用于表征用户所偏好的转发内容的一种信息。所述用户标签,可以是具体的数字。
对于本发明实施例中所述的“用户对中的一用户根据另一用户的标签进行自身标签更改的概率值”,以下结合具体的算法,对该名词的含义进行解释。
本发明实施例中,可以采用改进的标签传播(Label Propagation)算法中的概率值计算方式,来计算用户对中的一用户根据另一用户的标签进行自身标签更改的概率值。而后,再继续改进的Label Propagation算法进行迭代计算,以获得用户社区。
本发明实施例中之所以基于Label Propagation算法来确定用户社区,是考虑到基于该算法可以实现将相同标签的用户聚合到同一用户社区中,也即,可以实现将具备相同兴趣的用户聚合到同一用户社区中。由于具备相同兴趣的用户更有可能对于同种类型的发布信息产生转发行为,所以,从具备相同兴趣的用户群(用户社区)中选取用户进行特定类型的信息推荐,一般更容易达到较佳的传播效应。
以下,为清楚说明本发明实施例所用的改进的Label Propagation算法,先对改进前的原始Label Propagation算法进行介绍。
原始Label Propagation算法,可以用于实现根据用户兴趣/偏好进行用户社区的划分。其实现原理如下:
对于网络中的每一个节点,在初始阶段,为每一个节点随机分配一个标签。其中,这里所说的网络,相当于前文所述的第一用户集合;而所述节点,则相当于第一用户集合中的用户。
以微博为例,第一用户集合比如可以是使用微博的众多用户构成的一个用户集合。为用户所分配的标签,如前文所述,可以是数字0、1、2、3等。比如第一用户集合中有1000个用户,则可以为这1000个用户随机分配[0,999]这一区间中的任一整数,作为用户在初始阶段的标签。当然,用户在初始阶段的标签,还不能够准确表征用户所偏好的转发内容。
在为用户随机分配标签后,可以根据网络中各节点对包含的两个节点之间的信息转发关系,构建如图2所示的网络拓扑图。当然,这里所说的网络拓扑图也可以不用进行构建,本发明方法的执行主体对用来确定该拓扑图的各种信息,比如信息转发关系、节点标识和节点的标签等进行保存,待需要使用到该些信息的时候进行信息调用即可。
图2中,每个圆圈代表一个节点,圆圈中的数字表示节点的标识;圆圈上方的数字表示为节点初始分配的标签;带箭头的线段表示前文所述的信息转发关系。比如,以微博网站为例,若假设图2中的A发布了一条微博,而用户B对该微博进行了转发,A和B之间由B指向A的线段,就表示转发关系为“B转A”;反之,若用户B发布了一条微博,而用户A对该微博进行了转发,那么,A和B之间由A指向B的线段,就表示转发关系为“A转B”。
在构建如图2所示的网络拓扑图后,按照原始Label Propagation算法,采用如下式[1]所示的方式,进行迭代运算:
Figure BDA0001649998800000071
公式[1]中各参数的含义如下:
x为节点标识;
t和t-1均表示进行的迭代的轮次,t表示进行的迭代的轮次为第t次,t-1表示迭代的轮次为第t-1次;
Cx(t)为第t轮迭代结束后,标识为x的节点的标签;f(x,t)表示针对标识为x的节点进行第t次迭代,以从与该节点x相连(也即与节点之间具备信息转发关系)的其他节点的标签中,选取出现次数最多的标签作为节点x在第t次迭代结束后的标签;
m为与节点x相连的其他节点的编号;
i为节点x的编号;
Figure BDA0001649998800000072
表示与节点x相连的编号为1的节点在第t次迭代结束后的标签;m和k均为与节点x相连的节点的编号,
Figure BDA0001649998800000073
Figure BDA0001649998800000074
的含义与
Figure BDA0001649998800000075
的含义类似,可类推。
基于公式[1],以下举例说明如何进行迭代运算:
假设存在五个节点A、B、D、E和F,且它们彼此之间两两相连(也即节点两两之间均具备信息转发关系),那么,针对节点A的标签进行第t次迭代运算时,运算用的公式如下式:
CA(t)=f(CB(t-1),CD(t-1),CE(t-1),CF(t-1))
其中,CA(t)为节点A在第t轮迭代结束后的标签;CB(t-1),CD(t-1),CE(t-1),CF(t-1)依次为节点B、D、E和F在第t-1轮迭代结束后的标签。
针对节点B的标签进行第t次迭代运算时,运算用的公式如下式:
CB(t)=f(CA(t),CD(t-1),CE(t-1),CF(t-1))
其中,CB(t)为节点B在第t轮迭代结束后的标签;CA(t),CD(t-1),CE(t-1),CF(t-1)依次为节点A在第t轮迭代结束后的标签,以及,节点D、E和F在第t-1轮迭代结束后的标签。
针对节点D的标签进行第t次迭代运算时,运算用的公式如下式:
CD(t)=f(CA(t),CB(t),CE(t-1),CF(t-1))
其中,CD(t)为节点D在第t轮迭代结束后的标签;CA(t),CB(t),CE(t-1),CF(t-1)依次为节点A在第t轮迭代结束后的标签、节点B在第t轮迭代结束后的标签,以及,节点E和F在第t-1轮迭代结束后的标签。
可见,基于公式[1]来确定第t个轮次迭代结束后的标签时,公式右侧的计算式中,已经在第t个轮次迭代结束后确定出的标签可参与进行计算,而对于还没有在第t个轮次迭代结束后确定出标签的情况,则可以基于节点在第t-1个轮次迭代结束后确定出的标签进行计算。
对于节点E和F在第t轮迭代结束后的标签的计算方式可以依次类推,此处不再赘述。
在执行迭代运算时,每执行完毕一次迭代运算,就判断一次是否满足收敛条件,若满足,则结束迭代;若不满足,则设置t=t+1,并将t=t+1代入上式[1]再次针对每个节点进行迭代运算。
上述公式的物理含义在于:在一次迭代过程中,一个节点的标签更改为网络拓扑图中与该节点相连的其他节点的标签中出现次数最多的标签。比如,假设节点A初始被分配的标签为1,与节点A相连的其他节点有10个,这10个标签依次为:0、1、2、3、0、2、2、2、3、1,那么,由于0、1、2、3这几个标签在这10各节点的标签中的占比分别为:20%、20%、40%、20%,从而,通过这次迭代,将节点A的标签由1更改为在所有标签中的占比最高的标签2。这里所说的20%、20%、40%、20%,即为用户对中的用户A(节点A)根据另一用户的标签进行自身标签更改的概率值。
对于网络中的每个节点,都循环执行上述迭代过程,直至满足收敛条件时,结束迭代。其中,这里所说的收敛条件,一般是指所有节点的标签均不再依据网络拓扑图中相连的节点的标签进行更改。
可见,在满足收敛条件而结束迭代时,网络中每个节点的标签可以被确定。
上述原始Label Propagation算法是一种基于无向图的用户社区划分方法。原始Label Propagation算法存在的问题在于:在将一个节点的标签更改为网络拓扑图中与该节点相连的其他节点的标签中出现次数最多的标签时,并没有考虑信息转发关系。然而实际上,对于一个节点(用户)而言,其他节点对于该节点的发布信息进行转发的这种转发关系,一方面可以说明其他节点与该节点具备相同兴趣,另一方面可以说明该节点更容易对其他节点产生传播效应。
举例来说,假设如图2所示,网络拓扑中与A相连的节点包括B、D、E、F、G、H和J,那么,如果按照原始Label Propagation算法,由于D、F、G和J这四个节点的标签1的占比较高,则会将A的标签由2更改为1。
然而,如果关注图中箭头的方向可知,B、E、H这三个节点,它们会对A发布的信息进行转发;而D、F、G和J这四个节点来说,则是由A对它们发布的信息进行转发。从而,从“对于A的发布信息的转发概率”来说,实际上,D、F、G和J这四个节点对于A的发布信息的转发概率是0,而B、E、H这三个节点对于A的发布信息的转发概率是大于0的。
考虑愿意转发他人的发布信息的用户一般被认为会带来较高的广告传播效应,因此,为了达到较高的广告传播效应,本发明实施例中更期望将A的标签更改为与转发A的发布信息的节点的标签一致,以便后续依据标签,将A和转发A的发布信息的节点作为具备相同转发偏好的节点划分到同一用户社区,进而从用户社区中选取A等节点进行诸如广告类的信息的投送。从而,本发明实施例中,为了增大A根据转发A的发布信息的节点的标签进行更改的概率,对所述原始Label Propagation算法进行了如下改进:
在根据公式[1]更改一节点的标签时,引入了如下式[2]所示的约束条件:
wi,j=αλi,j+βλj,i [2]
其中,i为用户对中一节点的编号;j为用户对中另一节点的编号;当根据式[1]来确定编号为i的节点的标签应更改为什么标签时,wi,j为编号为j的该节点的标签的出现次数的权重;λi,j为编号为j的节点在所述预定时间长度内对编号为i的节点的发布信息的转发次数,该转发次数可以是被归一化到区间[0,1]内的一个值;α为预先针对λi,j设置的权重值,对于编号为i的节点来说,α也即编号为i的节点的发布信息被其他节点(例如编号为j的节点)转发的正向关系的预设权重值;λj,i为编号为i的节点在所述预定时间长度内对编号为j的节点的发布信息的转发次数,该转发次数也可以是被归一化到区间[0,1]内的一个值;β为预先针对λj,i设置的权重值,对于编号为i的节点来说,β也即编号为i的节点转发其他节点(例如编号为j的节点)的发布信息的逆向关系的预设权重值。
本发明实施例中,一般将所述的α设置为大于β,且α和β满足α+β=1。比如,α可以设置为0.7,而β可以设置为0.3。
由α与β的大小关系以及上述公式[2]可知,即便标识为j的节点在所述预定时间长度内对标识为i的节点的发布信息的转发次数,略小于标识为i的节点在所述预定时间长度内对标识为j的节点的发布信息的转发次数,但由于α>β,从而通过公式[2]的调整,可以使得λi,j对于wij的值的“影响力”大于λj,i。采用该种方式,wi,j更能够体现出“标识为j的节点转发标识为i的节点的发布信息”这一信息转发关系,从而也就可以使得这一信息转发关系更能够决定标识为i的节点的标签应更改为什么标签,让标识为i的节点的标签更改为对该点的发布信息进行转发的其他节点的标签的概率增大。
以上,对本发明实施例提供的算法的具体实施方式进行了介绍。以下,对一些可选的改进方式进行介绍。
在一种可选的实施方式中,一方面,考虑到直接将比如某个SNS网站的所有用户对构成的集合作为第一用户集合,来对其执行本发明实施例提供的方法,可能会带来计算资源耗费较多的问题,另一方面,考虑到所述所有用户对中,还可能存在一些比如只发生过一次信息转发行为的用户对,这样的用户对中的用户,其实一般不能够实现传播效应较佳的信息(如广告)推送,从而,本发明实施例中,在执行步骤11前,还可以执行对所述所有用户对进行筛选的操作。
具体而言,比如,对所述所有用户对进行筛选的操作可以包括:从第二用户集合中,筛选用户之间的转发影响力符合预定的影响力条件的各用户对,以组成所述第一用户集合。
其中,这里所说的第二用户集合,即为所述所有用户对构成的集合。当然,但凡要克服上述问题而需要进行所述筛选的用户集合,都可以称为第二用户集合。
在一种可选的实施方式中,从第二用户集合中,筛选用户之间的转发影响力符合预定的影响力条件的各用户对,具体可以包括:
确定第二用户集合中各用户对包含的两个用户的信息转发关系在预定时间长度内的发生频率;而后,从所述第二用户集合中,筛选发生频率高于预定频率阈值的各信息转发关系分别对应的用户对,作为所述的用户之间的转发影响力符合预定的影响力条件的各用户对。
对于这里所说的发生频率,其计算方式可以为:发生信息转发关系的天数/预定时间长度。其中预定时间长度比如可以是一个月,其单位可以为:天。
通过执行上述筛选操作,可以使得筛选得到的第一用户集合中的用户对是具有较为长期的互动关系的用户对,这种长期的互动关系的存在,可以使得最终从第一用户集合中选取出的进行信息推送的用户中,不会存在偶然/偶尔发生转发行为的用户对中的用户,从而能够达到在节约处理资源的同时,提升实现传播效应较佳的信息推送的可能性。
步骤12,根据第一用户集合中用户之间的信息转发关系、第一用户集合中每一个用户的标签以及通过执行步骤11确定的各个所述概率值,基于标签传播算法确定用户社区。
其中,用户社区为具备同一标签的用户构成的集合。
以下结合附图2,举例说明步骤12的具体实现方式:
以节点A为例,通过上文所述的概率值计算方式,假设确定出在一次迭代过程中,节点A根据B、E和G的标签3更改自身的标签2的概率值,大于节点A根据D、F、G和J这四个节点的标签1更改自身的标签2的概率值,那么,节点A的标签由2更改为3。
若进一步假设该次迭代过程满足迭代收敛条件,那么,可以确定节点A的标签为3。
根据节点A所属的各个用户对之间的信息转发关系,我们可以确定与A存在信息转发关系的节点有:B、D、E、F、G、H和J。进一步地,可以确定该些节点的标签——假设该些节点的标签在满足迭代收敛条件后仍然如图2所示——分别为:3、1、3、1、1、3、1,那么,根据A的标签3和该些节点的标签,可以从与A存在信息转发关系的节点B、D、E、F、G、H和J中,选取标签与A的标签3相同的节点,与A一起构成用户社区。
通过对第一用户集合中的用户执行上述操作,可以确定出至少一个用户社区。一般说来,会确定出若干用户社区。
步骤13,从通过执行步骤12确定出的用户社区中选取用户;
在一种实施方式中,步骤13的具体实现方式可以包括:从通过执行步骤12确定出的用户社区中,选取信息转发活跃度符合预设活跃度条件的用户社区作为目标用户社区;然后,再从所述目标用户社区中选取用户。
其中,从确定出的用户社区中选取信息转发活跃度符合预设活跃度条件的用户社区作为目标用户社区,具体可以包括如下子步骤:
子步骤一:获取确定出的用户社区中的各个指定用户各自的发布信息的被转发次数;
子步骤二:确定各个被转发次数的总和;
子步骤三:根据各个指定用户各自的发布信息的被转发次数分别在所述总和中的占比值,确定各个表征用户社区的信息转发活跃度的信息熵;
子步骤四:从确定出的用户社区中,选取信息熵大于预设信息熵阈值的用户社区作为所述目标用户社区。
以下对上述实施方式进行举例说明:
在本发明实施例中,我们可以定义用户的三种身份,即:信息生产者,信息传播者,信息围观者。每个用户都可能有这三种身份中的至少一种。在SNS网站中,这三种身份的用户的占比会有比较大的差异。
以微博网站的用户为例,信息生产者是很少数的,信息传播者较多,而信息围观者则占绝大多数。不同身份用户的数量分布可以参考说明书附图3。
经统计分析,对于一个健康的用户社区,其中的信息制造者、信息转发者,和信息围观者会形成一种生态,使得用户社区非常活跃。
本发明实施例中,考虑利用信息熵来衡量用户社区的信息转发活跃度。信息熵的大小与用户社区的信息转发活跃度的大小正相关。
一般地,如果用户社区中只有一个大号创造内容,也即只有一个信息制造者,而其他用户均扮演信息转发者或者信息围观者的角色,那么,其信息熵就比较小,信息转发活跃度低;而如果信息制造者较多,则相对只有一个信息制造者的情况而言,信息熵就比较大,信息转发活跃度高。
基于上述说明,本发明实施例中,步骤12的具体实现方式可以包括:
首先,采用如下公式[3],计算用户社区的信息熵:
Figure BDA0001649998800000131
其中,U表示用户社区;H(U)为用户社区U的信息熵;E为是指概率上的求期望的运算,期望是指“事物发生的每一种可能性×这种可能性发生时事物的取值,整体加和后,得到一个对取值的预期”;y为用户社区U中的用户编号,其取值范围为[1,n];n为用户社区U包含的用户的总数;py的计算方式如下式[4]:
Figure BDA0001649998800000141
其中,Oy为编号为y的用户的发布信息在所述预定时间长度内被用户社区U内的其他用户转发的次数;M为用户社区U中的指定用户发布的信息在所述预定时间长度内被用户社区U内的其他用户转发的次数总和。其中,所述的指定用户,是指用户社区U中的满足“发布信息在所述预定时间长度内被用户社区U内的其他用户转发的次数在预定排名范围”的用户。所述的预定排名范围,比如可以是前500名。
根据公式[3]和[4],可以计算出通过执行步骤12确定出的各个用户社区的信息熵。
本发明实施例中,可以根据经验,预先确定一个信息熵阈值。在计算出各个用户社区的信息熵后,可以比较该信息熵阈值与各个用户社区的信息熵的大小关系,并将信息熵大于该信息熵阈值的用户社区筛选出来,进而从筛选出的用户社区中选取用户。
通过上述方式对用户社区进行筛选,可以选取出信息转发活跃度较高的“优质”社区,进而该些优质社区中选取用户进行信息推送,使得实现传播效应较佳的信息推送的可能性进一步增大。
当然,本发明实施例中,也可以直接从通过执行步骤12确定出的用户社区中选取用户,而不用对用户社区进行筛选。
以下介绍如何从各用户社区中分别选取用户:
在一种可选的实施方式中,可以根据PageRank算法来实现从用户社区中选取用户。PageRank算法是一种度量网页重要性的算法,也广泛应用于所有有连接边的节点中,用于寻找重要节点。根据PageRank算法,每个用户在其所在的用户社区中都会有一个排名,可以选取排名靠前的若干用户,比如选取50个用户。由于根据PageRank算法确定用户在其所在的用户社区的排名已经是一种比较成熟的相关技术,本发明实施例不再进行赘述。
当然,本发明实施例中,也可以选取发布信息的被转发次数符合预定的转发次数条件的用户。具体而言,可以选取发布信息在所述预定时间长度内被用户社区内的其他用户转发的次数排名靠前的若干用户。比如选取排名1~50的用户。
步骤14,向通过执行步骤13而选取的用户推送信息。
本发明实施例中,可以直接向选取的用户推送信息。
或者,考虑到在针对SNS网站的用户进行信息推送的场景下,选取出的用户的数量非常庞大,单一服务器有可能无法满足同步向各个选取出的用户进行信息推送的需求,因此,本发明实施例中,提出可以采用服务器集群进行信息推送。
当采用单一服务器实现本方案时,如图1所示的步骤11~步骤14,可以是由该单一服务器作为执行主体的。
而当采用服务器集群来执行本方案时,所述的服务器集群可以是具备如图4所示的2层服务架构的服务器集群。
图4中,第一层服务架构由主要用于存储数据的存储服务器构成。各存储服务器具体可以是采用lushan存储方案的服务器。
其中,lushan存储方案是一种离线静态数据的存储方案。本发明实施例中,采用lushan存储方案的存储服务器,主要存储的是公式[1]和[2]的计算过程所需要的所有数据。该些数据中的诸如信息转发关系、转发次数等,可以由如图4中的Hadoop集群输出。具体地,该Hadoop集群可以采集网络中的相关数据,然后进行相应运算后输出。图4中所示的社区数据,即为Hadoop集群的输出,其中包含表征信息转发关系、转发次数等的数据。
图4中,第二层服务架构由用于执行本方案步骤11~步骤14的前端计算服务器构成。该层服务架构中的各前端计算服务器,可以从第一层服务架构中的存储服务器中分别获取数据进行计算。计算完毕后,分别针对选取的用户进行信息推送。第一层服务架构和第二层服务架构之间,采用socket长连接建立联系。
采用本发明实施例提供的方案,可以基于用户集合中用户之间的信息转发关系、所述用户集合中各用户的标签以及确定的各个所述概率值,基于标签传播算法确定用户社区,从而利用标签传播算法的特性,将具有相同兴趣的用户聚合到同一用户社区中,进而从具备相同兴趣的用户群中选取用户(即关键节点)进行信息推送,因此提供了一种有效确定关键节点的方案,基于关键节点,后续就可以实现传播效应较佳的信息推送,解决了由于现有技术没有提供确定关键节点的解决方案而难以实现传播效应较佳的信息推送的问题。
实施例2
为解决由于现有技术没有提供确定关键节点的解决方案,从而难以实现传播效应较佳的信息推送的问题,本发明实施例还提供一种信息推送装置。
该装置的具体结构示意图如图5所示,包括概率值确定单元51、社区确定单元52、选取单元53和推送单元54。以下对各单元的具体功能进行介绍:
概率值确定单元51,用于根据第一用户集合中用户之间的信息转发关系的预设权重值,以及与所述信息转发关系相关联的被转发次数,确定每一个用户根据其他用户的标签进行自身标签更改的概率值;其中,针对每一个用户,当前用户与其他用户之间的信息转发关系包括当前用户的发布信息被其他用户转发的正向关系和当前用户转发其他用户的发布信息的逆向关系,所述正向关系的预设权重值大于逆向关系的预设权重值;
社区确定单元52,用于根据所述第一用户集合中用户之间的信息转发关系、所述第一用户集合中每一个用户的标签以及概率值确定单元51针对当前用户确定的根据其他用户的标签进行自身标签更改的各个概率值,基于标签传播算法确定用户社区;其中,所述用户社区为具备同一标签的用户构成的集合;
选取单元53,用于从社区确定单元52确定出的用户社区中选取用户;
推送单元54,用于向选取单元53选取的用户推送信息。
可选的,所述选取单元53,具体可以包括:
社区选取子单元,用于从社区确定单元52确定出的用户社区中,选取信息转发活跃度符合预设活跃度条件的用户社区作为目标用户社区;
选取子单元,用于从所述目标用户社区中选取用户。
可选的,所述社区选取子单元,具体可以包括:
次数确定模块,用于获取社区确定单元52确定出的用户社区中的各个指定用户各自的发布信息的被转发次数;
总和确定模块,用于确定次数确定模块确定的各个被转发次数的总和;
信息熵确定模块,用于根据各个指定用户各自的发布信息的被转发次数分别在总和确定模块确定的所述总和中的占比值,确定各个指定用户对应用户社区的信息熵。其中,信息熵用于表征用户社区的信息转发活跃度。
选取模块,用于从社区确定单元52确定出的用户社区中,选取信息熵确定模块确定出的信息熵大于预设信息熵阈值的用户社区作为所述目标用户社区。
可选的,选取单元53,具体可以用于:从各个目标用户社区中,分别选取发布信息的被转发次数符合预定的转发次数条件的用户。具体如何进行选取,可参见前文方法实施例部分的相关说明,此处不再赘述。
可选的,本发明实施例提供的该装置还可以包括:
筛选单元,用于在概率值确定单元51根据所述信息转发关系的预设权重值以及所述被转发次数确定所述概率值前,从第二用户集合中,筛选用户之间的转发影响力符合预定的影响力条件的各用户对,组成所述第一用户集合。具体如何从第二用户集合中,筛选用户之间的转发影响力符合预定的影响力条件的各用户对组成所述第一用户集合,可以参见前文方法实施例部分的相关说明,此处不再赘述。
可选的,所述筛选单元,具体可以包括:
频率确定子单元,用于确定第二用户集合中各用户对包含的两个用户之间的信息转发关系在预定时间长度内的发生频率;
筛选子单元,用于从所述第二用户集合中,筛选频率确定子单元确定的发生频率高于预定频率阈值的各信息转发关系分别对应的用户对。
此外,本发明实施例还提供一种信息推送装置,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如前文实施例1所述的信息推送方法的步骤。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前文实施例1所述的信息推送方法的步骤。
采用本发明实施例提供的方案,可以基于用户集合中用户之间的信息转发关系、所述用户集合中各用户的标签以及确定的各个所述概率值,基于标签传播算法确定用户社区,从而利用标签传播算法的特性,将具有相同兴趣的用户聚合到同一用户社区中,进而从具备相同兴趣的用户群中选取用户(即关键节点)进行信息推送,因此提供了一种有效确定关键节点的方案,基于关键节点,后续就可以实现传播效应较佳的信息推送,解决了由于现有技术没有提供确定关键节点的解决方案而难以实现传播效应较佳的信息推送的问题。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

Claims (7)

1.一种信息推送方法,其特征在于,包括:
根据第一用户集合中用户之间的信息转发关系的预设权重值,以及与所述信息转发关系相关联的被转发次数,确定每一个用户根据其他用户的标签进行自身标签更改的概率值;其中,针对每一个用户,当前用户与其他用户之间的信息转发关系包括当前用户的发布信息被其他用户转发的正向关系和当前用户转发其他用户的发布信息的逆向关系,所述正向关系的预设权重值大于逆向关系的预设权重值;
根据所述第一用户集合中用户之间的信息转发关系、所述第一用户集合中每一个用户的标签以及针对当前用户确定的根据其他用户的标签进行自身标签更改的各个概率值,基于标签传播算法确定用户社区;其中,所述用户社区为具备同一标签的用户构成的集合;
从确定出的用户社区中选取用户,并向选取的用户推送信息;所述从确定出的用户社区中选取用户,具体包括:
获取确定出的用户社区中的各个指定用户各自的发布信息的被转发次数;
确定各个被转发次数的总和;
根据各个指定用户各自的发布信息的被转发次数分别在所述总和中的占比值,确定各个指定用户对应用户社区的信息熵,所述信息熵用于表征用户社区的信息转发活跃度;
从确定出的用户社区中,选取信息熵大于预设信息熵阈值的用户社区作为目标用户社区;
从所述目标用户社区中选取用户。
2.如权利要求1所述的方法,其特征在于,从所述目标用户社区中选取用户,具体包括:
从各个目标用户社区中,分别选取发布信息的被转发次数符合预定的转发次数条件的用户。
3.如权利要求1所述的方法,其特征在于,根据所述预设权重值以及所述被转发次数确定所述概率值前,所述方法还包括:
从第二用户集合中,筛选用户之间的转发影响力符合预定的影响力条件的各用户对,组成所述第一用户集合。
4.如权利要求3所述的方法,其特征在于,从第二用户集合中,筛选用户之间的转发影响力符合预定的影响力条件的各用户对,具体包括:
确定第二用户集合中各用户对包含的两个用户之间的信息转发关系在预定时间长度内的发生频率;
从所述第二用户集合中,筛选发生频率高于预定频率阈值的各信息转发关系分别对应的用户对。
5.一种信息推送装置,其特征在于,包括:
概率值确定单元,用于根据第一用户集合中用户之间的信息转发关系的预设权重值,以及与所述信息转发关系相关联的被转发次数,确定每一个用户根据其他用户的标签进行自身标签更改的概率值;其中,针对每一个用户,当前用户与其他用户之间的信息转发关系包括当前用户的发布信息被其他用户转发的正向关系和当前用户转发其他用户的发布信息的逆向关系,所述正向关系的预设权重值大于逆向关系的预设权重值;
社区确定单元,用于根据所述第一用户集合中用户之间的信息转发关系、所述第一用户集合中每一个用户的标签以及针对当前用户确定的根据其他用户的标签进行自身标签更改的各个概率值,基于标签传播算法确定用户社区;其中,所述用户社区为具备同一标签的用户构成的集合;
选取单元,用于从社区确定单元确定出的用户社区中选取用户;
推送单元,用于向选取单元选取的用户推送信息;
所述选取单元,具体包括:
社区选取子单元,用于获取确定出的用户社区中的各个指定用户各自的发布信息的被转发次数;
确定各个被转发次数的总和;
根据各个指定用户各自的发布信息的被转发次数分别在所述总和中的占比值,确定各个指定用户对应用户社区的信息熵,所述信息熵用于表征用户社区的信息转发活跃度;
从确定出的用户社区中,选取信息熵大于预设信息熵阈值的用户社区作为目标用户社区;
选取子单元,用于从所述目标用户社区中选取用户。
6.一种信息推送装置,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至4中任一项所述的信息推送方法的步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的信息推送方法的步骤。
CN201810418394.0A 2018-05-04 2018-05-04 一种信息推送方法、装置及存储介质 Active CN108810089B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810418394.0A CN108810089B (zh) 2018-05-04 2018-05-04 一种信息推送方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810418394.0A CN108810089B (zh) 2018-05-04 2018-05-04 一种信息推送方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN108810089A CN108810089A (zh) 2018-11-13
CN108810089B true CN108810089B (zh) 2021-07-30

Family

ID=64093237

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810418394.0A Active CN108810089B (zh) 2018-05-04 2018-05-04 一种信息推送方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN108810089B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110517114A (zh) * 2019-08-21 2019-11-29 广州云徙科技有限公司 一种基于社区发现算法的信息推送方法及系统
CN112445980B (zh) * 2019-08-30 2023-04-07 中移(苏州)软件技术有限公司 一种信息推送方法、装置及存储介质
CN112202889B (zh) * 2020-09-30 2023-05-23 深圳前海微众银行股份有限公司 信息的推送方法、装置和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103179025A (zh) * 2013-03-20 2013-06-26 微梦创科网络科技(中国)有限公司 一种基于用户传播力的微博推送方法及装置
CN103593393A (zh) * 2013-09-13 2014-02-19 微梦创科网络科技(中国)有限公司 基于微博互动关系挖掘社交圈的方法及装置
CN106156068A (zh) * 2015-03-30 2016-11-23 阿里巴巴集团控股有限公司 一种用户关联处理方法和装置
CN106708844A (zh) * 2015-11-12 2017-05-24 阿里巴巴集团控股有限公司 一种用户群体的划分方法和装置
CN107749033A (zh) * 2017-11-09 2018-03-02 厦门市美亚柏科信息股份有限公司 一种网络社区活跃用户簇的发现方法、终端设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106570008B (zh) * 2015-10-09 2020-03-27 阿里巴巴集团控股有限公司 推荐方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103179025A (zh) * 2013-03-20 2013-06-26 微梦创科网络科技(中国)有限公司 一种基于用户传播力的微博推送方法及装置
CN103593393A (zh) * 2013-09-13 2014-02-19 微梦创科网络科技(中国)有限公司 基于微博互动关系挖掘社交圈的方法及装置
CN106156068A (zh) * 2015-03-30 2016-11-23 阿里巴巴集团控股有限公司 一种用户关联处理方法和装置
CN106708844A (zh) * 2015-11-12 2017-05-24 阿里巴巴集团控股有限公司 一种用户群体的划分方法和装置
CN107749033A (zh) * 2017-11-09 2018-03-02 厦门市美亚柏科信息股份有限公司 一种网络社区活跃用户簇的发现方法、终端设备及存储介质

Also Published As

Publication number Publication date
CN108810089A (zh) 2018-11-13

Similar Documents

Publication Publication Date Title
US11593894B2 (en) Interest recommendation method, computer device, and storage medium
CN107222566B (zh) 信息推送方法、装置及服务器
US10489471B2 (en) Recommendation method and device
CN108289121B (zh) 营销信息的推送方法及装置
Pei et al. Efficient collective influence maximization in cascading processes with first-order transitions
Noordhuis et al. Mining twitter in the cloud: A case study
CN108810089B (zh) 一种信息推送方法、装置及存储介质
CN108563670B (zh) 视频推荐方法、装置、服务器及计算机可读存储介质
US10846613B2 (en) System and method for measuring and predicting content dissemination in social networks
CN104376083B (zh) 一种基于关注关系和多用户行为的图推荐方法
CN105872837A (zh) 用户推荐方法及装置
US10911384B2 (en) Staggered notification by affinity to promote positive discussion
CN105608117A (zh) 一种信息推荐方法及装置
JP2013522781A (ja) ネットワーク内の友人の動的情報を管理するための方法、システムおよびサーバ
US20140244614A1 (en) Cross-Domain Topic Space
US20150074043A1 (en) Distributed and open schema interactions management system and method
CN110427494B (zh) 知识图谱的展示方法、装置、存储介质及电子装置
CN109033190B (zh) 一种推荐信息的推送方法、装置及设备
Xia et al. The operational cost minimization in distributed clouds via community-aware user data placements of social networks
CN105022807A (zh) 信息推荐方法及装置
Bisht et al. Understanding popularity dynamics for YouTube videos: an interpretive structural modelling based approach
CN103942213B (zh) 数据分页方法及装置
Abadi et al. Influence maximization in viral marketing with expert and influential leader discovery approach
CN106657238A (zh) 一种面向交互式工作负载的数据中心粗粒度动态服务器预留算法
US10511556B2 (en) Bursty detection for message streams

Legal Events

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