一种基于时效性的个性化消息推送方法及系统与流程

文档序号:18165468发布日期:2019-07-13 09:34阅读:995来源:国知局
一种基于时效性的个性化消息推送方法及系统与流程

本发明涉及消息推送领域,特别涉及一种基于时效性的个性化消息推送方法及系统。



背景技术:

随着移动互联网的飞速发展,智能手机越来越成为人们生活中不可或缺的一部分,消息推送也得到了广泛的应用。消息推送是一种主动向用户推送消息的服务,也是app运营的一种常用手段,它可以有效地增加用户黏度与软件留存率,激发用户对产品的兴趣。消息推送虽然成本低廉、投放搞高效,但海量和无用的消息推送也会使用户心生厌恶,甚至导致用户卸载应用。因此,需要一种个性化的推送方法来解决上述问题。

当前,学术界研究的个性化推荐方法主要有以下几种:

第一种是基于用户或者产品的协同过滤,其通过计算用户/产品之间的相似度,查找与目标用户相似性较高的近邻集,并通过近邻集用户对其他产品的评分来预测目标用户对该产品的潜在评分,产生推荐的产品集合其推荐性能随时间的推移不断提高,并能够向用户提供新的兴趣点。但存在冷启动的问题。

第二种是基于内容的推荐,其通过分析产品的特征属性进行推荐,不需要评分信息,在文本信息推荐领域应用最为成熟,但在对其他产品进行推荐时,易受特征提取技术的制约。

第三种是基于关联规则的推荐,它根据在用户数据中提取的关联规则进行推荐,但在实际应用中,关联规则难以提取。

第四种是基于社交网络的推荐,该类算法利用好友数据向目标推荐产品或好友,可以减轻“信息超载”现象,有利于推荐长尾商品,但在实际系统中获取用户好友数据存在困难。

现有技术中,专利申请号为201711271886.3的中国发明专利申请公开了一种基于用户偏好的个性化消息推送方法,该方案分为两步:首先搜集用户行为数据,建立用户兴趣模型;然后在服务器推送信息之前,判断该信息是否与用户兴趣模型相匹配,从而进行个性化消息推送。可见,该方案根据用户所浏览信息的标签关系网络来进行消息推送,虽然一定程度上实现了个性化推送,但个性化程度不高,推送结果缺乏惊喜,还受到新内容的限制。

专利申请号为201611217545.3的中国发明专利申请公开了一种实时推送信息的方法和装置,通过发布订阅系统实时接收用户当前的行为数据,并将其保存在数据库中,之后选择最接近当前时刻的历史行为数据对需要推荐的项目进行相似度计算,产生推荐。该方法时效性强,但是基于用户搜索信息产生的历史数据,需要用户主动输入搜索关键词等搜索信息,而且只是作为推荐系统的应用,并没有应用到消息推送的领域。



技术实现要素:

本发明的主要目的在于克服现有技术的缺点与不足,提供一种基于时效性的个性化消息推送方法,该方法能够克服现有技术在消息推送时,推送条数过多,消息过时,不符合用户兴趣的问题。根据用户相似度预测用户偏好,并剔除过时老化的信息,提高了用户体验,为用户提供更加精准的个性化消息推送。

本发明的另一目的在于提供一种基于时效性的个性化消息推送系统。

本发明的目的通过以下的技术方案实现:

一种基于时效性的个性化消息推送方法,包括以下步骤:

步骤1:收集用户对消息的交互行为信息并建立消息访问表;

步骤2:根据行为的相似度来计算用户之间的相似度;

步骤3:对消息集合建模,计算信息老化率,剔除过时信息;

步骤4:对更新后的消息集合预测用户的兴趣评分;

步骤5:根据用户对消息集合的预测评分做top-k推荐,给用户发送推送消息。

步骤1中,所述交互行为信息,包括用户对消息的查看、阅读时长、点赞、评论、分享行为;对所述交互行为信息整理后发送给服务器,服务器收集后建立消息访问表,存储在redis数据库中。

所述步骤2,对于步骤1中建立的消息访问表,使用基于用户的协同过滤算法计算用户相似度:由于共同对某个消息产生正向反馈行为(如点赞)的用户u和用户v,产生该行为的时间越远,这两个用户的相似度就会越小,因此运用引入时间衰减函数的余弦相似度公式计算用户之间的相似度,即在原有余弦相似度公式的基础上,增加时间衰减影响因子f(|tui-tvi|),得到用户相似度矩阵。

所述时间衰减因子采用负指数函数,|tui-tvi|越大,则函数值越小,两个用户越不相似;首先计算|tui-tvi|,并在给定的阈值内计算两个用户之间的相似度,若|tui-tvi|超过这个阈值则将相似度设为0,两个用户不相似。

所述步骤3具体为:

1)首先,服务器设置算法更新的时间粒度,因对时效性要求较高,可将该时间设置为三小时一次。之后,在算法更新时刻ta,更新消息集合,使用集合m来表示;m集合中的消息应当满足:ta<ts+tl,其中ts表示消息的发布时刻,tl表示消息的生存周期,生存周期是指自某个时刻起,用户不再对其做出反馈的行为,在某个时刻ts+tl后,该消息丧失时效性,失去它的阅读价值,因此当ta>ts+tl时,该消息已经过时,应从原消息集合中剔除;

2)根据信息老化的负指数模型,从步骤1建立的消息访问表中计算m集合中消息被访问的次数,通过消息老化模型拟合计算消息老化率a,并计算消息老化率的最大值amax。

所述步骤4,根据步骤2得出的用户相似度矩阵和步骤3计算出的信息老化率,计算用户对消息集合m的预测评分,使用公式:

式中,p(u,n)表示用户u对消息n的评分,s(u,k)是与用户u兴趣最接近的k个用户,u(n)是对消息n有过行为的集合,wuv是用户u和用户v的相似度,rvn代表用户v对消息n的交互评分,由步骤1中消息访问表的反馈行为归一化计算得出;an代表消息n的老化率,amax是消息集合m的最大老化率。

所述步骤5,根据用户对消息集合m的预测评分,对消息集合进行倒序排序,选取集合m中评分最高的k个消息,将其推送给用户。

本发明的另一目的通过以下的技术方案实现:

一种基于时效性的个性化消息推送系统,包括管理消息的消息模块,消息后台服务端,消息接收的客户端;其中,

所述消息后台服务端包括收集模块、分析模块、推送模块;收集模块,对消息管理模块管理的消息、以及用户行为采集模块所采集到的数据进行数据整理后转发给分析模块;分析模块,与收集模块连接,根据消息数据与用户交互数据计算消息的时效性参数、用户相似度与兴趣评分,产生推荐内容;推送模块,与分析模块连接,接收来自分析模块分析后的数据,并推送推荐内容给消息客户端;

所述消息接收的客户端包括消息接收模块、消息展示模块、用户行为采集模块;消息接收模块,与推送模块连接,接收推送模块的推送内容;消息展示模块,与消息接收模块连接,展示消息的具体内容;用户行为采集模块,与消息展示模块连接,用于采集用户阅读消息的具体行为数据。

本发明与现有技术相比,具有如下优点和有益效果:

本发明提供的技术方案采集用户对消息推送的行为数据,根据用户相似度发现用户可能的兴趣偏好,同时依据时效性模型剔除过时信息,对用户的兴趣评分进行控制,从而产生推荐,使用户收到更加符合个人兴趣的推送内容,提高消息的召回率,提升用户体验。

附图说明

图1为本发明提供的一种基于时效性的个性化消息推送方法的流程图。

图2为本发明提供的一种基于时效性的个性化消息推送方系统的结构示意图。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

如图1所示,一种基于时效性的个性化消息推送方法,包括以下步骤:

步骤1:收集用户对消息的交互行为信息;

步骤2:根据行为的相似度来计算用户之间的相似度;

步骤3:对消息集合建模,计算信息老化率,剔除过时信息;

步骤4:对更新后的消息集合预测用户的兴趣评分;

步骤5:根据用户对消息集合的预测评分做top-k推荐,给用户发送推送消息。进一步地,所述步骤1中,客户端收集用户对消息的交互行为信息,包括用户对消息的查看、阅读时长、点赞、评论、分享行为,对其整理后发送给服务器,服务器收集后建立消息访问表,存储在redis数据库中。

所述步骤2中,根据步骤1中建立的消息访问表,使用基于用户的协同过滤算法计算用户相似度。由于共同对某个消息产生正向反馈行为(如点赞)的用户u和用户v,产生该行为的时间越远,这两个用户的相似度就会越小,因此运用引入时间衰减函数的余弦相似度公式计算用户之间的相似度,即在原有余弦相似度公式的基础上,增加时间衰减影响因子f(|tui-tvi|),得到用户相似度矩阵。

可选的,所述时间衰减因子采用的函数一般选用负指数函数,|tui-tvi|越大,则函数值越小,两个用户越不相似。进一步地,首先计算|tui-tvi|,并在给定的阈值内计算两个用户之间的相似度,若|tui-tvi|超过这个阈值则将相似度设为0,两个用户不相似。

具体的,上述个性化消息推送方法中,所述步骤3具体为:

1)首先,服务器设置算法更新的时间粒度,因对时效性要求较高,可将该时间设置为三小时一次。之后,在算法更新时刻ta,更新消息集合,使用集合m来表示。m集合中的消息应当满足:ta<ts+tl,其中ts表示消息的发布时刻,tl表示消息的生存周期,生存周期是指自某个时刻起,用户不再对其做出反馈的行为,在某个时刻ts+tl后,该消息丧失时效性,失去它的阅读价值,因此当ta>ts+tl时,该消息已经过时,应从原消息集合中剔除。

2)根据信息老化的负指数模型,从步骤1建立的消息访问表中计算m集合中消息被访问的次数,通过消息老化模型拟合计算消息老化率a,并计算消息老化率的最大值amax。

所述步骤4中,根据步骤2得出的用户相似度矩阵和步骤3计算出的老化率,计算用户对消息集合m的预测评分,使用公式:

式中,p(u,n)表示用户u对消息n的评分,s(u,k)是与用户u兴趣最接近的k个用户,u(n)是对消息n有过行为的集合,rvn代表用户v对消息n的交互评分,由步骤1中消息访问表的反馈行为归一化计算得出;an代表消息n的老化率,amax是消息集合m的最大老化率。

所述步骤5中,根据用户对消息集合m的预测评分,选取集合m中评分最高的k个消息,将其推送给用户。

基于同一构思,本发明还提供一种基于时效性的个性化消息推送系统,图2示出了本发明提供的一种基于时效性的个性化消息推送方法的结构图,包括管理消息的消息模块,消息后台服务端,消息接收的客户端。

所述消息模块通过web界面对消息的添加、修改和删除来进行消息的管理,并且可以查看用户对消息的反馈情况。

所述消息后台服务端包括:

收集模块,对消息管理模块管理的消息、以及用户行为采集模块所采集到的数据进行数据整理后转发给分析模块;

分析模块,与收集模块连接,根据消息数据与用户交互数据计算消息的时效性参数、用户相似度与兴趣评分,产生推荐内容;

推送模块,与分析模块连接,接收来自分析模块分析后的数据,并通过websocket推送推荐内容给消息客户端;

所述消息接收的客户端可以是移动端和web端,包括:

消息接收模块,与推送模块连接,通过websocket接收推送模块的推送内容;

消息展示模块,与消息接收模块连接,展示消息的具体内容;

用户行为采集模块,与消息展示模块连接,用于采集用户阅读消息的具体行为数据,并将数据通过websocket发送给消息收集模块。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

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