基于余弦相似度的消息推送方法及相关装置与流程

文档序号:30842850发布日期:2022-07-23 01:09阅读:109来源:国知局
基于余弦相似度的消息推送方法及相关装置与流程

1.本技术属于消息推送技术领域,尤其涉及一种基于余弦相似度算法的消息推送方法及相关装置。


背景技术:

2.消息推送(push)是指将经过整理的信息资源以网页的形式迅速转发至用户的设备界面,使得用户能够设定自己所需要的信息频道,并可以直接在用户端接收定制信息的一种实现方式。
3.现有技术中的推送系统往往是基于对用户群体进行分群推送,即对预先已经分群的目标群组用户进行特定消息的推送。然而,不同的用户之间也许有些共同的爱好或习惯,进而被分到了同一个目标群组,但每一个用户都是独立的个体,现有技术中对预先已经分群的目标群组用户进行特定消息的推送的技术方案不能做到千人千面的个性化推送,导致信息推送后的用户转化率不佳。


技术实现要素:

4.本技术的目的在于提供一种基于余弦相似度算法的消息推送方法及相关装置,旨在解决现有技术中不能做到千人千面的个性化消息推送的问题,提高信息推送后的用户转化率。
5.第一方面,本技术提供一种基于余弦相似度算法的消息推送方法,包括:
6.获取用户的用户行为特征数据;
7.根据所述用户行为特征数据计算所述用户的用户偏好标签;
8.利用余弦相似度算法在预设推送内容库中计算所述用户偏好标签相关的目标推送内容;
9.将所述目标推送内容向所述用户推送。
10.可选的,在利用余弦相似度算法在预设推送内容库中计算所述用户偏好标签相关的目标推送内容之前,所述方法还包括:
11.创建若干用户标签,形成用户标签库;
12.所述根据所述用户行为特征数据计算所述用户的用户偏好标签包括:
13.根据所述用户行为特征数据从所述用户标签库中获取所述用户偏好标签与所述用户进行关联,所述用户偏好标签为所述用户标签库中的一个或多个用户标签。
14.可选的,在利用余弦相似度算法在预设推送内容库中计算所述用户偏好标签相关的目标推送内容之前,所述方法包括:
15.获取若干待推送内容,形成推送内容库;
16.为每一个所述待推送内容关联一个或多个的内容标签。
17.可选的,所述用户行为特征数据包括用户浏览时长、用户点击行为。
18.可选的,所述将所述目标推送内容向所述用户推送包括:
19.接收对所述目标推送内容的推送时间设定,得到目标推送时间;
20.将所述目标推送内容预先存储在缓存服务器的任务队列中,并于所述目标推送时间向所述用户推送所述目标推送内容。
21.可选的,所述利用余弦相似度算法在预设推送内容库中计算所述用户偏好标签相关的目标推送内容包括:
[0022][0023]
其中,sim(u,s)表示用户u对物品s的喜好程度;
[0024]
i∈i表示所述物品s的标签集合;
[0025]rui
表示所述用户u对所述物品s点的标签的打分;
[0026]rsi
表示所述物品s对标签i的占比权重;
[0027]
ω表示修正因子;
[0028]
θ表示内容结果得分中对应类型的占比值;
[0029]
toint表示将分数转为整数;
[0030]
min表示取最小值;
[0031]
max_score表示最大分值100。
[0032]
第二方面,本技术提供一种基于余弦相似度算法的消息推送装置,包括:
[0033]
获取单元,用于获取用户的用户行为特征数据;
[0034]
计算单元,用于根据所述用户行为特征数据计算所述用户的用户偏好标签;
[0035]
计算单元,用于利用余弦相似度算法在预设推送内容库中计算所述用户偏好标签相关的目标推送内容;
[0036]
推送单元,用于将所述目标推送内容向所述用户推送。
[0037]
可选的,所述装置还包括:
[0038]
创建单元,用于创建若干用户标签,形成用户标签库;
[0039]
计算单元,用于所述根据所述用户行为特征数据计算所述用户的用户偏好标签包括:
[0040]
关联单元,用于根据所述用户行为特征数据从所述用户标签库中获取所述用户偏好标签与所述用户进行关联,所述用户偏好标签为所述用户标签库中的一个或多个用户标签。
[0041]
可选的,所述装置包括:
[0042]
获取单元,还用于获取若干待推送内容,形成推送内容库;
[0043]
关联单元,还用于为每一个所述待推送内容关联一个或多个的内容标签。
[0044]
可选的,所述用户行为特征数据包括用户浏览时长、用户点击行为。
[0045]
可选的,所述推送单元将所述目标推送内容向所述用户推送时,具体用于:
[0046]
接收对所述目标推送内容的推送时间设定,得到目标推送时间;
[0047]
将所述目标推送内容预先存储在缓存服务器的任务队列中,并于所述目标推送时间向所述用户推送所述目标推送内容。
[0048]
可选的,所述计算单元利用余弦相似度算法在预设推送内容库中计算所述用户偏好标签相关的目标推送内容时,具体用于:
[0049][0050]
其中,sim(u,s)表示用户u对物品s的喜好程度;
[0051]
i∈i表示所述物品s的标签集合;
[0052]rui
表示所述用户u对所述物品s点的标签的打分;
[0053]rsi
表示所述物品s对标签i的占比权重;
[0054]
ω表示修正因子;
[0055]
θ表示内容结果得分中对应类型的占比值;
[0056]
toint表示将分数转为整数;
[0057]
min表示取最小值;
[0058]
max_score表示最大分值100。
[0059]
第三方面,提供一种计算机设备,包括:
[0060]
处理器、存储器、总线、输入输出接口、无线网络接口;
[0061]
所述处理器通过总线与所述存储器、所述输入输出接口、所述无线网络接口相连;
[0062]
所述存储器中存储有程序;
[0063]
所述处理器执行所述存储器中存储的所述程序时,实现所述前述第一方面中任意一项所述的消息推送方法。
[0064]
本技术第四方面提供一种计算机存储介质,所述计算机存储介质中存储有指令,所述指令在计算机上执行时,使得所述计算机执行如前述第一方面中任一项所述的消息推送方法。
[0065]
本技术第五方面提供一种计算机程序产品,所述计算机程序产品在计算机上执行时,使得所述计算机执行如前述第一方面中任意一项所述的消息推送方法。
[0066]
以上技术方案可以看出,本技术实施例具有以下优点:
[0067]
本技术通过获取用户的用户行为特征数据,进而可以根据用户行为特征数据计算该用户的用户偏好标签,得知用户的个性偏好;再利用余弦相似度算法在预设推送内容库中计算用户偏好标签相关的目标推送内容,得知与用户的个性偏好相关的目标推送内容;进而可以将目标推送内容向用户推送。可知,本技术在得知用户的个性偏好之后,利用余弦相似度算法可以针对每一个用户形成个性化的目标推送内容,做到千人千面的个性化内容推送,可以在信息推送后提高的用户转化率。
附图说明
[0068]
图1是本技术基于余弦相似度算法的消息推送方法的一个实施例流程示意图;
[0069]
图2是本技术基于余弦相似度算法的消息推送方法的另一个实施例流程示意图;
[0070]
图3是本技术基于余弦相似度算法的消息推送装置的一个实施例结构示意图;
[0071]
图4是本技术计算机设备的一个实施例结构示意图。
具体实施方式
[0072]
为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并
不用于限定本技术。
[0073]
消息推送是产品开发者与用户之间最直接的一种对话形式,是产品运营最优质的传播方式。若对产品的消息推送运营得当,对延长用户生命周期、提升产品使用率有很大帮助,同时对用户进行消息推送也是一把双刃剑,运营不得当,就会对产品带来极大的影响。消息推送的一般表现形式为:服务器向用户的用户端发送推送内容,以使得该用户端的设备界面通知中出现推送内容,以便用户在第一时间内可以接触到推送内容,并根据用户自身的需求决定是否点击该推送内容进行查看。服务器与用户端之间一般通过网络进行连接,该网络可以是有线网络或无线网络。
[0074]
请参阅图1,本技术基于余弦相似度算法的消息推送方法的一个实施例,包括:
[0075]
101、获取用户的用户行为特征数据。
[0076]
具体的,本技术实施例可以预先收集用户的用户行为数特征据,该用户行为特征数据包括用户的点击行为、用户浏览时长、用户的活跃时间等数据。具体的,本实施例可以通过软件开发工具包(software development kit,sdk) 定期获取在用户端登录用户的用户行为特征数据。
[0077]
102、根据用户行为特征数据计算用户的用户偏好标签。
[0078]
在步骤101得知某一个用户的用户行为特征数据之后,本步骤根据用户行为特征数据的不同表现形式,给对应的用户计算关联不同的用户偏好标签。例如,用户对某一种装修风格的图片进行多次点击查看,可以认为该用户对该种装修风格是比较喜欢的,此时给该用户关联上该种风格的用户偏好标签,如简约风格、欧式风格、中式风格等风格中的一种或多种;又例如,用户在某一个装修企业的宣传栏浏览较长的时间,可以认为该用户对该装修企业是比较有兴趣的,此时给该用户关联上该企业的用户偏好标签,如xx企业粉丝;又例如,用户每天的活跃时间为晚上,那么此时给用户关联上夜猫子的用户标签。可以理解的是,用户偏好标签的定义与标准可以根据实际情况进行设定,在此对用户偏好标签不做进一步的限定。
[0079]
103、利用余弦相似度算法在预设推送内容库中计算用户偏好标签相关的目标推送内容。
[0080]
可以理解的是,本实施例需要提前预设推送内容库,该预设推送内容库中存储有若干待推送内容,每一个推送内容同时也和若干个用户偏好标签具有关联。例如,推送内容a具有0.3权重占比的欧式风格标签、0.6权重占比的xx 企业粉丝标签、0.1权重占比的其他标签,可知该推送内容a是倾向于给xx企业打广告的推送内容;又例如,推送内容b具有0.5权重占比的中式风格标签、0.3权重占比的夜猫子标签、0.2权重占比的其他标签,可知该推送内容b是倾向于中式风格打广告的推送内容。以理解的是,推送内容的定义与权重标准可以根据实际情况进行设定,在此对推送内容不做进一步的限定。本步骤则可以根据余弦相似度算法在预设推送内容库中,计算步骤102用户的用户偏好标签相关的目标推送内容。
[0081]
104、将目标推送内容向用户推送。
[0082]
将步骤103中得到的目标推送内容向用户进行推送,本步骤向用户推送的目标推送内容可以为一条或多条。
[0083]
本技术通过获取用户的用户行为特征数据,进而可以根据用户行为特征数据计算该用户的用户偏好标签,得知用户的个性偏好;再利用余弦相似度算法在预设推送内容库
中计算用户偏好标签相关的目标推送内容,得知与用户的个性偏好相关的目标推送内容;进而可以将目标推送内容向用户推送。可知,本技术在得知用户的个性偏好之后,利用余弦相似度算法可以针对每一个用户形成个性化的目标推送内容,做到千人千面的个性化内容推送,可以在信息推送后提高的用户转化率。
[0084]
请参阅图2,本技术基于余弦相似度算法的消息推送方法的另一个实施例,需要说明的是,本技术实施例可以基于自动化推送系统,连通该系统中的内容系统和用户系统,实现对每一个用户的个性化按计划推送。自动化推送系统可以前端使用vue,后台使用java语言,采用springcloud+xxljob+rabbitmq +redis+mogodb+mysql架构形成,方法步骤主要包括:
[0085]
201、创建若干用户标签,形成用户标签库。
[0086]
需要说明的是,本步骤需要提前创建若干用户标签,这些用户标签用来描述用户的一些共同特征,例如用户标签有装修风格标签(简约风格、欧式风格、中式风格等)、家装户型、装修面积、装修色系、装修元素、装修阶段、装修预算、浏览时长、浏览时间段等,这些用户标签的集合形成用户标签库。本实施例可以通过用户标签库中的一个或多个用户标签来对某一个用户进行画像描述,以便确定用户的偏好。
[0087]
202、根据用户行为特征数据从用户标签库中获取用户偏好标签与用户进行关联,用户偏好标签为用户标签库中的一个或多个用户标签。
[0088]
具体的,本技术实施例可以预先收集用户的用户行为数特征据,该用户行为特征数据包括用户的点击行为、用户浏览时长、用户的活跃时间等数据。具体的,本实施例可以通过软件开发工具包(software development kit,sdk) 定期获取在用户端登录用户的用户行为特征数据。本步骤再根据用户行为特征数据的不同表现形式,给对应的用户计算关联上步骤201中不同的用户标签。例如,用户对某一种装修风格的图片进行多次点击查看,可以认为该用户对该种装修风格是比较喜欢的,此时给该用户关联上该种风格的用户标签,如简约风格、欧式风格、中式风格等风格中的一种或多种;又例如,用户在某一个装修企业的宣传栏浏览较长的时间,可以认为该用户对该装修企业是比较有兴趣的,此时给该用户关联上该企业的用户标签,如xx企业粉丝;又例如,用户每天的活跃时间为晚上,那么此时给用户关联上夜猫子的用户标签。可以理解的是,用户偏好标签的定义与标准可以根据实际情况进行设定,在此对用户偏好标签不做进一步的限定。
[0089]
203、获取若干待推送内容,形成推送内容库。
[0090]
需要说明的是,本步骤需要提前获取若干待推送内容,这些待推送内容可以是文字(例如装修日记、装修材料测评等)、图片(例如装修效果图、建筑平面图等)、视频(例如装修效果视频、装修企业宣传片等)、音频等一种或多种,进行形成推送内容库。
[0091]
204、为每一个待推送内容关联一个或多个的内容标签。
[0092]
具体的,本步骤给步骤203中每一个待推送内容关联一个或多个的内容标签,此处的内容标签于步骤201中的用户标签具有对应关系。例如,用户标签有中式风格标签,内容标签里面也有中式风格标签,这两个中式风格标签为一一对应关系;又例如,用户标签有xx企业粉丝标签,内容标签也有xx企业宣传片标签等,这里两种标签也是可以认为对应的。
[0093]
205、利用余弦相似度算法在预设推送内容库中计算用户偏好标签相关的目标推送内容。
[0094]
具体的,本步骤为每一个具有若干用户标签的用户计算与推送内容库中的每一条推送内容的余弦相似度的值,以便选出较合适的若干个目标推送内容。
[0095]
具体根据以下公式进行计算:
[0096][0097]
其中,sim(u,s)表示用户u对物品s的喜好程度;
[0098]
i∈i表示所述物品s的标签集合;
[0099]rui
表示所述用户u对所述物品s点的标签的打分;
[0100]rsi
表示所述物品s对标签i的占比权重;
[0101]
ω表示修正因子;
[0102]
θ表示内容结果得分中对应类型的占比值;
[0103]
toint表示将分数转为整数;
[0104]
min表示取最小值;
[0105]
max_score表示最大分值100。
[0106]
可知,通过上述公式可以计算出每一个具有若干用户标签的用户计算与推送内容库中的每一条推送内容的余弦相似度的值。进一步的,本步骤还可以通过设定阈值的方式,过滤掉低于阈值的推送内容,认为超过阈值的推送内容才是与用户偏好标签相关的目标推送内容;另外的实施例中,也可以仅选择余弦相似度的值较高的前几个推送内容作为目标推送内容,此处根据余弦相似度的值对目标推送内容的选择标准不做限定。
[0107]
206、接收对目标推送内容的推送时间设定,得到目标推送时间。
[0108]
具体的,在步骤205中得出目标推送内容之后,本步骤可以接受运维人员对目标推送内容的推送时间设定,得到目标推送时间。例如,运维人员选择每一天中午12点整和晚上21点整作为推送时间。
[0109]
207、将目标推送内容预先存储在缓存服务器的任务队列中,并于目标推送时间向用户推送目标推送内容。
[0110]
在步骤206得知给用户的目标推送时间,在步骤205得知给用户的目标推送内容之后,本步骤预先将该目标推送内容存储到缓存服务器的任务队列中,以便在目标推送时间达到时,可以快速地向用户推送目标内容。由于本实施例针对每一个用户进行个性化推送,可能每一个用户的推送内容是不同的,千人千面,所以导致给用户推送目标推送内容的过程的资源消耗是巨大的,此时需要缓存服务器来进行提速增效。
[0111]
本实施例通过建立用户标签库,准确描述每一个用户的画像标签;通过形成推送内容库,准确描述每一个推送内容的内容标签倾向占比;然后综合使用余弦相似度算法在预设推送内容库中计算所述用户偏好标签相关的目标推送内容,并利用缓存服务器来对目标推送内容的环节进行提速增效,起到精确给不同用户推送适配的信息的前提下,也确保信息推送的送达率,进而可以有效提高用户转化率。
[0112]
上面实施例对本技术基于余弦相似度算法的消息推送方法进行了描述,下面对本技术消息推送装置进行描述,请参阅图3,包括:
[0113]
获取单元301,用于获取用户的用户行为特征数据;
[0114]
计算单元302,用于根据所述用户行为特征数据计算所述用户的用户偏好标签;
[0115]
计算单元302,用于利用余弦相似度算法在预设推送内容库中计算所述用户偏好标签相关的目标推送内容;
[0116]
推送单元303,用于将所述目标推送内容向所述用户推送。
[0117]
可选的,所述装置还包括:
[0118]
创建单元304,用于创建若干用户标签,形成用户标签库;
[0119]
计算单元302,用于所述根据所述用户行为特征数据计算所述用户的用户偏好标签包括:
[0120]
关联单元305,用于根据所述用户行为特征数据从所述用户标签库中获取所述用户偏好标签与所述用户进行关联,所述用户偏好标签为所述用户标签库中的一个或多个用户标签。
[0121]
可选的,所述装置包括:
[0122]
获取单元301,还用于获取若干待推送内容,形成推送内容库;
[0123]
关联单元305,还用于为每一个所述待推送内容关联一个或多个的内容标签。
[0124]
可选的,所述用户行为特征数据包括用户浏览时长、用户点击行为。
[0125]
可选的,所述推送单元303将所述目标推送内容向所述用户推送时,具体用于:
[0126]
接收对所述目标推送内容的推送时间设定,得到目标推送时间;
[0127]
将所述目标推送内容预先存储在缓存服务器的任务队列中,并于所述目标推送时间向所述用户推送所述目标推送内容。
[0128]
可选的,所述计算单元302利用余弦相似度算法在预设推送内容库中计算所述用户偏好标签相关的目标推送内容时,具体用于:
[0129][0130]
其中,sim(u,s)表示用户u对物品s的喜好程度;
[0131]
i∈i表示所述物品s的标签集合;
[0132]rui
表示所述用户u对所述物品s点的标签的打分;
[0133]rsi
表示所述物品s对标签i的占比权重;
[0134]
ω表示修正因子;
[0135]
θ表示内容结果得分中对应类型的占比值;
[0136]
toint表示将分数转为整数;
[0137]
min表示取最小值;
[0138]
max_score是100。
[0139]
本技术实施例的消息推送装置所执行的操作与前述图1或图2中执行的操作类似,在此不再进行赘述。
[0140]
本实施例的消息推送装置通过建立用户标签库,准确描述每一个用户的画像标签;通过形成推送内容库,准确描述每一个推送内容的内容标签倾向占比;然后综合使用余弦相似度算法在预设推送内容库中计算所述用户偏好标签相关的目标推送内容,并利用缓存服务器来对目标推送内容的环节进行提速增效,起到精确给不同用户推送适配的信息的前提下,也确保信息推送的送达率,进而可以有效提高用户转化率。
[0141]
下面对本技术实施例中的计算机设备进行描述,请参阅图4,本技术实施例中计算
机设备的一个实施例包括:
[0142]
该计算机设备400可以包括一个或一个以上处理器(central processingunits,cpu)401和存储器402,该存储器402中存储有一个或一个以上的应用程序或数据。其中,存储器402是易失性存储或持久存储。存储在存储器402 的程序可以包括一个或一个以上模块,每个模块可以包括对计算机设备中的一系列指令操作。更进一步地,处理器401可以设置为与存储器402通信,在计算机设备400上执行存储器402中的一系列指令操作。计算机设备400还可以包括一个或一个以上无线网络接口403,一个或一个以上输入输出接口404,和 /或,一个或一个以上操作系统,例如windows server,mac os,unix,linux, freebsd等。该处理器401执行存储器402中的程序时实现执行前述图1至图2 所示实施例中所执行的操作,具体此处不再赘述。
[0143]
在本技术实施例所提供的几个实施例中,本领域技术人员应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0144]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0145]
以上所述仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精神和原则之内所作的任何修改、等同替换或改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1