一种信息推送方法和装置
技术领域
本申请涉及互联网技术领域,尤其涉及一种信息推送方法和装置。
背景技术
随着互联网技术的广泛发展,用户可以通过互联网获取到各种信息。比如:用户可以通过互联网浏览新闻,用户也可以通过搜索引擎进行信息搜索等。
相关技术中,服务器可以根据用户的业务指数向用户进行信息的推送。用户的业务指数通常用来描述一个用户影响其他用户的能力,用户的业务指数也是对用户影响力的量化。目前,可以依据用户与其他用户之间进行交互的次数或频率计算用户的业务指数,然而,这样的计算方式较为片面,得到的用户业务指数不够准确,从而导致信息推送不够准确。
发明内容
有鉴于此,本申请提供一种信息推送方法和装置。
具体地,本申请是通过如下技术方案实现的:
一种信息推送方法,所述方法包括:
计算业务场景对应的场景权重;
根据所述场景权重,计算第二用户对第一用户的关系分值,其中,所述第二用户的数量大于等于1;
根据所述关系分值,计算所述第一用户的业务指数;
根据所述业务指数进行信息推送。
进一步地,所述计算业务场景对应的场景权重,包括:
根据逻辑回归模型,计算业务场景对应的场景权重。
进一步地,所述计算第二用户对第一用户的关系分值,包括:
根据所述逻辑回归模型,计算所有业务场景中所述第二用户与所述第一用户的互动分值之和;
用所述互动分值之和乘以所述第二用户与所述第一用户的时间衰减值,得到所述第二用户对所述第一用户关系总值;
用所述第二用户对所述第一用户的关系总值除以所有用户对所述第一用户的关系总值之和得到商值,将所述商值作为所述第二用户对所述第一用户的关系分值。
进一步地,所述计算所述第一用户的业务指数,包括:
利用PageRank算法迭代计算所述第一用户的业务指数。
进一步地,当存在预设的迭代次数时,所述PageRank算法的迭代次数为所述预设的迭代次数;
当不存在预设的迭代次数时,在每次迭代后,判断所有用户的业务指数是否满足预设的收敛条件,如果满足,则停止迭代。
一种信息推送装置,所述装置包括:
权重计算单元,计算业务场景对应的场景权重;
分值计算单元,根据所述场景权重,计算第二用户对第一用户的关系分值,其中,所述第二用户的数量大于等于1;
指数计算单元,根据所述关系分值,计算所述第一用户的业务指数;
信息推送单元,根据所述业务指数进行信息推送。
进一步地,所述权重计算单元,具体根据逻辑回归模型,计算业务场景对应的场景权重。
进一步地,所述分值计算单元包括:
第一计算子单元,根据所述逻辑回归模型,计算所有业务场景中所述第二用户与所述第一用户的互动分值之和;
第二计算子单元,用所述互动分值之和乘以所述第二用户与所述第一用户的时间衰减值,得到所述第二用户对所述第一用户关系总值;
第三计算子单元,用所述第二用户对所述第一用户的关系总值除以所有用户对所述第一用户的关系总值之和得到商值,将所述商值作为所述第二用户对所述第一用户的关系分值。
进一步地,所述指数计算单元,具体利用PageRank算法迭代计算所述第一用户的业务指数。
进一步地,所述指数计算单元,具体当存在预设的迭代次数时,所述PageRank算法的迭代次数为所述预设的迭代次数;当不存在预设的迭代次数时,在每次迭代后,判断所有用户的业务指数是否满足预设的收敛条件,如果满足,则停止迭代。
由以上描述可以看出,本申请可以根据用户之间的历史交互行为来计算用户的业务指数,能够有效提高用户业务指数计算的准确性,从而提高信息推送的准确性。
附图说明
图1是本申请一示例性实施例示出的信息推送方法的流程图。
图2是本申请一示例性实施例示出互动分值计算公式的曲线图。
图3是本申请一示例性实施例示出的一种计算第二用户对第一用户的关系分值的流程图。
图4是本申请一示例性实施例示出的一种服务端结构示意图。
图5是本申请一示例性实施例示出的一种信息推送装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
针对上述问题,本申请提供一种信息推送方案,根据用户与用户的历史交互行为来计算用户的业务指数,进而有效提高业务指数计算的准确性,从而提高信息推送的准确性。
请参考图1,本申请一示例性实施例示出的信息推送方法的流程图,所述信息推送方法可以应用在服务端上,包括以下步骤:
步骤101,计算业务场景对应的场景权重。
通常而言,用户之间的交互场景越多、交互频率越高,则说明用户之间的关系越密切,更容易相互影响,因此可以根据用户的交互情况来计算用户的业务指数。
在实际情况中,用户与用户的交互行为可能会发生在多个不同的业务场景中,比如:用户可以通过社交网站和其他用户进行交互,用户可以通过网上银行和其他用户进行资金往来的交互等。在不同业务场景中,用户之间的交互行为对用户的业务指数是不同的。举例来说,假设用户在两个业务场景中存在资金交互行为,一个业务场景是转账,另一个业务场景是代还信用卡。同样是资金交互,转账场景中的用户之间的一次转账行为和代还信用卡场景中的用户之间的一次代还信用卡行为,对用户业务指数的计算所起的作用是不同的。具体地,假设第一用户向第二用户转账一次,可以说明所述第一用户和所述第二用户之间存在资金往来,该资源往来可能是因为所述第一用户和所述第二用户之间存在消费、资助、借贷等关系,所述第一用户会对所述第二用户产生影响。然而,如果第三用户为第四用户还信用卡,则说明所述第三用户和所述第四用户的关系较为亲密,所述第三用户对所述第四用户的影响要大于所述第一用户对所述第二用户的影响。也就是说,基于转账场景中用户之间的一次交互行为计算出的用户业务指数要低于基于代还信用卡场景中用户之间的一次交互行为计算出的用户业务指数。因此,本实施例使用业务场景对应的场景权重来量化所述业务场景的交互行为对用户业务指数的计算所起的作用。
在本实施中,用互动分值来量化用户之间的交互行为,具体地,可以采用逻辑回归模型来计算所述互动分值,所述互动分值的计算公式为:
其中,x是用户之间的交互变量,比如:转账金额、转账次数等。
a是业务场景对应的场景权重。
f(x)是所述互动分值。
请参考图2,本申请一示例性实施例中所述互动分值计算公式的曲线图。其中,x是转账次数,由图2可以看出,随着x的增大,f(x)的曲线变化越加平缓,即x越大,其每增加1,对互动分值f(x)的变化影响越小。举例来说,假设第一用户向第二用户转账一次的互动分值为0.1,那么当第一用户已经向第二用户转账了100次,如果第一用户又向第二用户转账1次(第101次),则该次的互动分值可能仅增加0.001。因此,可以假设上述互动分值的计算公式中,当x取值为99的分位数时f(x)的导数是x取值为0时f(x)的导数的0.01倍,即:
其中,x1等于互动变量x的99分位数。在本实施例中,将该公式称为场景权重的计算公式。具体地,可以计算不同的业务场景中互动变量x的99分位数,所述分位数的计算方法本领域技术人员可以参照相关技术中提供的方法,本申请在此不再一一赘述。假设,在转账场景中,转账次数x的99分位数是100,即x1为100,则根据所述场景权重的计算公式可以计算出转账场景的场景权重a为0.06。假设,在代还信用卡场景中,转账次数x的99分位数是20,即x1为20,则根据所述场景权重的计算公式可以计算出转账场景的场景权重a为0.3。
在本步骤中,根据所述场景权重的计算公式,可以分别计算各个业务场景对应的场景权重。
步骤102,根据所述场景权重,计算第二用户对第一用户的关系分值,其中,所述第二用户的数量大于等于1。
在本步骤中,针对每个用户,分别计算其他用户对该用户的关系分值。
具体地,请参考图3,所述计算第二用户对第一用户的关系分值,可以包括以下步骤:
步骤1021,根据逻辑回归模型,计算所有业务场景中第二用户与第一用户的互动分值之和。
基于前述步骤101,在得到所述业务场景对应的场景权重之后,可以根据逻辑回归模型,计算所有业务场景中用户之间的互动分值之和。
具体地,可以根据前述互动分值的计算公式,计算所有业务场景中第二用户与第一用户的互动分值之和MBA,其中,N为第一用户A和第二用户B的存在交互行为的业务场景数量,x为交互变量,fBA(x)为某一业务场景中第二用户B与第一用户A的互动分值。以计算转账场景中第二用户与第一用户的互动分值为例,假设第二用户向第一用户转账20次,第一用户向第二用户转账5次,则在该转账场景中,第二用户与第一用户的交互次数为25,即所述交互变量的取值为25。由此可以看出,在某一个业务场景中,第二用户B与第一用户A的互动分值fBA(x)和所述第一用户A与所述第二用户B的互动分值fAB(x)相同。
步骤1022,用所述互动分值之和乘以所述第二用户与所述第一用户的时间衰减值,得到所述第二用户对所述第一用户的关系总值。
基于前述步骤1021,在得到第二用户与第一用户的互动分值之和后,考虑到第二用户和第一用户交互行为的发生时间也会影响到业务指数的计算,所以在本步骤中,引入时间衰减值的概念,用所述互动分值之和乘以所述第二用户与所述第一用户的时间衰减值得到乘积,在本实施例中,将得到的所述乘积称为所述第二用户对所述第一用户的关系总值。
在本实施例中,为便于描述用MTBA来表示第二用户B对第一用户A的关系总值,其中,为所述时间衰减值,T为半衰期,可以设置T的取值为12,t为所述第一用户与所述第二用户的最近一次交互行为距今的月份。如果t=T,则
由此可以看出,第二用户对第一用户的关系总值和所述第一用户对所述第二用户的关系总值是相同的,即MTAB=MTBA。
步骤1023,用所述第二用户对所述第一用户的关系总值除以所有用户对所述第一用户的关系总值之和得到商值,将所述商值作为所述第二用户对所述第一用户的关系分值。
在本实施例中,用SBA来表示第二用户B对第一用户A的关系分值,
其中,P为第二用户B的总联系人的数量。
所述SBA可以用来量化第二用户B对第一用户A的影响。具体地,对于第二用户B而言,假设B拥有包含第一用户A在内的10个联系人,第二用户B对这10个联系人的影响是不同的,如果第二用户B的业务指数为1,则B对这10个联系人的业务指数之和应为1。
在步骤102中,根据图3所示的关系分值计算方法,可以分别计算出其他用户(至少一个第二用户)对第一用户的关系分值。
步骤103,根据所述关系分值,计算所述第一用户的业务指数。
基于前述步骤102,在计算得到至少一个第二用户对第一用户的关系分值后,可以根据PageRank算法迭代计算所述第一用户的业务指数。
在本实施例中,可以采用如下的业务指数计算公式:
其中,W(i)为用户i的业务指数,W(A)为用户A的业务指数,d为PageRank算法中的阻尼系数,d的取值为0.85,h为用户数量,SiA为用户i对用户A的关系分值。需要说明的是,如果用户i与用户A之间不存在交互行为,则SiA的值为0,所以,上述业务指数计算公式也可以表示为:
其中,K为h个用户中与用户A之间存在交互行为的用户的数量。
在本步骤中,根据所述业务指数计算公式,迭代计算所述第一用户A的业务指数。首先,初始化每个用户的业务指数都相同,即将每个用户的业务指数初始化为1/h,然后开始进行迭代计算,根据其他用户对第一用户A的关系分值计算所述第一用户A的业务指数。具体地,在本实施例中,开发人员可以预先设置计算用户业务指数的迭代次数,如果存在预设的迭代次数R,则根据所述业务指数计算公式迭代计算R次,得到所述第一用户的业务指数。如果不存在预设的迭代次数,则在每次迭代后,判断所有用户的业务指数是否满足预设的收敛条件,如果满足所述预设的收敛条件,则停止迭代。所述预设的收敛条件可以由开发人员进行设置,比如:可以将所述预设的收敛条件设置为本次迭代计算出的99%的用户的业务指数相对于上一次迭代计算出的业务指数的变化不超过1%,即99%的用户的业务指数已经趋于稳定。
步骤104,根据所述业务指数进行信息推送。
基于前述步骤103,服务端在计算得到各个用户的业务指数后,可以向不同级别业务指数的用户推送不同的信息。比如:业务指数较高的用户往往影响力较大,在进行产品推广或者舆论发布时,可以优先向业务指数较高的用户进行推送。当然,本领域技术人员根据所述业务指数也可以采取其他的信息推送方案,本申请对此不作特殊限制。
由以上描述可以看出,本申请可以根据用户之间的历史交互行为来计算用户业务指数,能够有效提高用户业务指数计算的准确性,从而提高信息推送的准确性。
与本申请用户业务指数的计算方法的实施例相对应,本申请还提供一种用户业务指数的计算装置。本申请所述的装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,本申请用户业务指数的计算装置作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。
请参考图4和图5,本申请提供一种信息推送装置400,所述装置400包括有:权重计算单元401、分值计算单元402以及指数计算单元403以及信息推送单元404。其中,所述分值计算单元402还可以包括:第一计算子单元4021、第二计算子单元4022以及第三计算子单元4023。
其中,所述权重计算单元401,计算业务场景对应的场景权重。
所述分值计算单元402,根据所述场景权重,计算第二用户对第一用户的关系分值,其中,所述第二用户的数量大于等于1。
所述指数计算单元403,根据所述关系分值,计算所述第一用户的业务指数。
所述信息推送单元404,根据所述业务指数进行信息推送。
进一步地,所述权重计算单元401,具体根据逻辑回归模型,计算业务场景对应的场景权重。
所述第一计算子单元4021,根据所述逻辑回归模型,计算所有业务场景中所述第二用户与所述第一用户的互动分值之和。
所述第二计算子单元4022,用所述互动分值之和乘以所述第二用户与所述第一用户的时间衰减值,得到所述第二用户对所述第一用户关系总值。
所述第三计算子单元4023,用所述第二用户对所述第一用户的关系总值除以所有用户对所述第一用户的关系总值之和得到商值,将所述商值作为所述第二用户对所述第一用户的关系分值。
进一步地,所述指数计算单元403,具体利用PageRank算法迭代计算所述第一用户的业务指数。
进一步地,所述指数计算单元403,具体当存在预设的迭代次数时,所述PageRank算法的迭代次数为所述预设的迭代次数;当不存在预设的迭代次数时,在每次迭代后,判断所有用户的业务指数是否满足预设的收敛条件,如果满足,则停止迭代。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。