具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的在线音乐推荐方法及装置其具体实施方式、方法、步骤、结构、特征及其功效,详细说明如下。
有关本发明的前述及其他技术内容、特点及功效,在以下配合参考图式的较佳实施例的详细说明中将可清楚呈现。通过具体实施方式的说明,当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图式仅是提供参考与说明之用,并非用来对本发明加以限制。
第一实施例
图1为本发明第一实施例的在线音乐推荐方法的流程示意图。请参照图1,本发明实施例中的在线音乐推荐方法包括:
步骤S11:记录用户在每个单位时间段内的多种用户操作流水,相邻两个单位时间段互不重叠。
单位时间段的时长可以根据实际需要进行设定,例如可以设定为一天,也就是说可以记录用户每天的用户操作流水,当然,单位时间段也可以设置为每天的6:00至24:00,本发明并不以此为限。用户的操作流水是指用户在例如qq音乐等音乐产品上对歌曲的单个操作(比如说收听、喜欢、收藏、设为背景音乐等)可以用一串文字来进行描述,这样的文本串的序列数据,称为用户的操作流水。用户操作流水记录了用户在每个单位时间段内对每首歌曲的所做的多种操作以及对应每种操作的操作次数。于本实施例中,该多种用户操作流水中的多种操作包括:收听该歌曲、收藏该歌曲、将该歌曲设置为喜欢、取消将该歌曲设置为喜欢、分享该歌曲、将该歌曲设为背景音乐、下载该歌曲或删除该歌曲等。
步骤S12:根据所记录的多种用户操作流水中的多种操作的类别或属性设定每个单位时间段内用户对每首歌曲的每种操作所对应的第一分数及衰减系数。
于此步骤中,系统或系统管理员对多种用户操作流水中所记录的多种操作分别进行打分,也就是设定第一分数。也就是说本发明采用隐式打分,用户无需做多余的操作,只要正常进行收听、收藏等操作即可。具体的分数可以根据经验进行设定,每种操作所对应的分数不同,也可以根据每种操作的属性设定第一分数。例如,“收听该歌曲”这个操作的属性包括:收听该歌曲的时长和场景,每个单位时间段内用户对每首歌曲所进行的收听该首歌曲的操作所对应的第一分数及衰减系数根据收听该歌曲的时长以及收听该歌曲的场景进行设定。收听该首歌曲的场景可以分为两类,在例如qq音乐等音乐产品上的“随便听听”中收听的,主要来自于系统推荐,不太能够代表用户自己的喜好,设定的第一分数要低些;在其他地方收听的,主要来自于用户自己的选择,比较能代表用户自己的喜好,所以设定的第一分数要高些。收听时长例如可以分为五种:小于等于2秒、大于2秒且小于等于30秒、大于30秒且小于等于60秒、大于60秒且小于等于90秒、大于90秒,这五种时长对应不同的分数,时长越长则表明用户越喜欢该歌曲,对应分数也越高。当然,具体时长如何分段打分也可以根据实际的需要进行设定,本发明并不以此为限。根据用户的收听时长进行分段打分更加准确,因为根据收听时长是判断用户偏好非常方便并且准确的方式之一。
衰减系数可以表示每个单位时间段内用户对每首歌曲的喜欢程度的衰减百分率,可以根据经验或者历史数据进行设定。另外,收藏状态表、点击我喜欢(设置为喜欢)状态表以及分享状态表等也可以计入分析。表一所示为本实施例中设定每个单位时间段内用户对每首歌曲的每种操作所对应的第一分数及衰减系数的具体示例,需要说明的是,表一只是提供参考与说明之用,并非用来对本发明加以限制。
表一
操作 |
第一分数 |
衰减系数 |
随便听听收听时长小于等于2s |
-8 |
-0.01 |
其它地方收听时长小于等于2s |
-1 |
-0.01 |
随便听听收听时长大于2s小于等于30s |
-6 |
-0.01 |
其它地方收听时长大于2s小于等于30s |
-3 |
-0.01 |
随便听听收听时长大于30s小于等于60s |
-3 |
-0.02 |
其它地方收听时长大于30s小于等于60s |
-1 |
-0.02 |
随便听听收听时长大于60s小于等于90s |
1 |
-0.02 |
其它地方收听时长大于60s小于等于90s |
2 |
-0.02 |
随便听听收听时长大于90s |
1 |
-0.02 |
其它地方收听时长大于90s |
3 |
-0.02 |
设为背景音乐 |
10 |
-0.01 |
下载 |
6 |
-0.01 |
收藏 |
8 |
-0.01 |
不再播放 |
-10 |
-0.01 |
设置为喜欢 |
9 |
-0.01 |
取消设置为喜欢 |
-1 |
-0.01 |
分享 |
8 |
-0.01 |
收藏状态表 |
4 |
0 |
设置为喜欢状态表 |
5 |
0 |
分享状态表 |
4 |
0 |
步骤S13:收集连续n个单位时间段内用户对每首歌曲的所有操作的第一分数,根据对应的衰减系数将这些第一分数按照时间进行衰减,根据衰减后的第一分数得到在该连续n个单位时间段内用户对每首歌曲的标准化操作分数。
其中,n为任意自然数,大小可以由系统或系统管理员根据需要进行设定,本发明并不以此为限。例如当单位时间段为一天时,可以设定n为28、29、30或31,也就是说可以收集1个月内用户对每首歌曲的所有操作的第一分数。当然,也可以收集2个月内用户对每首歌曲的所有操作的第一分数,本发明并不以此为限。标准化操作分数指的是经标准化后的操作分数,优选的,标准化操作分数落在1-5范围内。进一步的,还可以将标准化操作分数分档,例如,将得分在3分以上的表示喜欢,得分在3分以下的表示不喜欢,使结果更加一目了然,也可以分为5档,例如5分表示最喜欢、4分表示很喜欢、3分表示喜欢、2分表示不喜欢、1分表示很不喜欢。
步骤S 14:根据该连续n个单位时间段内用户对每首歌曲的标准化操作分数向客户端进行歌曲推荐。
相对于现有技术,本实施例提出的在线音乐推荐方法具有如下效果:1.操作门槛低:本发明采用隐式打分,用户无需做多余的操作,只需要正常的进行听歌、收藏等操作即可;2.时效性强,充分考虑到用户的喜好随时间衰减的因素,使得在线音乐推荐更具有时效性;3.综合用户对多首歌曲的多种操作流水,分析结果更加稳定,不受个别歌曲影响;4.计算结果标准化,用户喜好一目了然,也便于后续用其他方法统计计算。
第二实施例
图2为本发明第二实施例的在线音乐推荐方法的流程示意图。请参照图2,本发明实施例中的在线音乐推荐方法包括:
步骤S21:记录用户在每个单位时间段内的多种用户操作流水,相邻两个单位时间段互不重叠。此步骤与第一实施例中的对应步骤相同,这里不再赘述。
步骤S22:根据所记录的多种用户操作流水中的多种操作的类别或属性设定每个单位时间段内用户对每首歌曲的每种操作所对应的第一分数及衰减系数。此步骤与第一实施例中的对应步骤相同,这里不再赘述。
步骤S23:收集连续n个单位时间段内用户对每首歌曲的所有操作的第一分数,根据对应的衰减系数将这些第一分数按照时间进行衰减,根据衰减后的第一分数得到在该连续n个单位时间段内用户对每首歌曲的标准化操作分数。
于本实施例中,步骤S23进一步包括:
步骤S231:根据对应的衰减系数将这些第一分数按照时间进行衰减得到在该连续n个单位时间段内用户对每首歌曲的每种操作的第二分数。
优选的,该连续n个单位时间段内用户对每首歌曲的每种操作的第二分数S2的计算公式为:
S2=S1*∑(F*exp(C*n*UT))。
其中,S1为该连续n个单位时间段内用户对每首歌曲的每种操作所对应的第一分数,F为每个单位时间段内每种操作对应的操作次数,C为每个单位时间段内用户对每首歌曲的每种操作对应的衰减系数,UT为单位时间段的时长。
请再参照表一,衰减系数取-0.01时半衰期约为2个月,例如2个月前收藏的歌曲,2个月前第一分数为8分,2个月后第二分数约为4分。这样就充分考虑到用户的喜好随时间衰减的因素,使得在线音乐推荐更具有时效性。
步骤S232:根据在该连续n个单位时间段内用户对每首歌曲的每种操作所对应的第二分数得到在该连续n个单位时间段内用户对每首歌曲的标准化操作分数。
步骤S24:根据该连续n个单位时间段内用户对每首歌曲的标准化操作分数向客户端进行歌曲推荐。
相对于现有技术,本实施例提出的在线音乐推荐方法具有如下效果:1.操作门槛低:本发明采用隐式打分,用户无需做多余的操作,只需要正常的进行听歌、收藏等操作即可;2.时效性强,充分考虑到用户的喜好随时间衰减的因素,使得在线音乐推荐更具有时效性;3.综合用户对多首歌曲的多种操作流水,分析结果更加稳定,不受个别歌曲影响;4.计算结果标准化,用户喜好一目了然,也便于后续用其他方法统计计算。
第三实施例
图3为本发明第三实施例的在线音乐推荐方法的流程示意图。请参照图3,本发明实施例中的在线音乐推荐方法包括:
步骤S31:记录用户在每个单位时间段内的多种用户操作流水,相邻两个单位时间段互不重叠。此步骤与第一实施例中的对应步骤相同,这里不再赘述。
步骤S32:根据所记录的多种用户操作流水中的多种操作的类别或属性设定每个单位时间段内用户对每首歌曲的每种操作所对应的第一分数及衰减系数。此步骤与第一实施例中的对应步骤相同,这里不再赘述。
步骤S33:收集连续n个单位时间段内用户对每首歌曲的所有操作的第一分数,根据对应的衰减系数将这些第一分数按照时间进行衰减,根据衰减后的第一分数得到在该连续n个单位时间段内用户对每首歌曲的标准化操作分数。
于本实施例中,步骤S33进一步包括:
步骤S331:根据对应的衰减系数将这些第一分数按照时间进行衰减得到在该连续n个单位时间段内用户对每首歌曲的每种操作的第二分数。此步骤与第二实施例中的对应步骤相同,这里不再赘述。
步骤S332:根据在该连续n个单位时间段内用户对每首歌曲的每种操作所对应的第二分数得到在该连续n个单位时间段内用户对每首歌曲的标准化操作分数。
于本实施例中,步骤S332进一步包括:
步骤S3321:将该连续n个单位时间段内用户对每首歌曲的每种操作的第二分数求和得到该连续n个单位时间段内用户对每首歌曲的原始操作分数。
步骤S3322:将该连续n个单位时间段内用户对每首歌曲的原始操作分数进行标准化得到该连续n个单位时间段内用户对每首歌曲的标准化操作分数。
优选的,该连续n个单位时间段内用户对每首歌曲的标准化操作分数St=M*((exp(K*S0)-1)/(exp(K*S0)+1))+L,其中,S0为连续n个单位时间段内用户对每首歌曲的原始操作分数,M=2,L=3。图4为标准化操作分数的计算公式曲线图。M和L可以保证标准化操作分数最终得分落在1-5范围内。K值是统计结果,发明人从历史数据中以单位时间为1天,取了一个月的原始操作分数按照如下公式计算得到的K=0.210434792:
K=(avg{S0>0}-avg{S0<0})/2,其中,{S0>0}表示连续n个单位时间段内大于0的原始操作分数的集合,{S0<0}表示连续n个单位时间段内小于0的原始操作分数的集合。
按照该公式计算,可以保证得到的标准化操作分数落在[1,2),[2,3),[3,4),[4,5]四个区间的用户操作歌曲的数目基本一致,分布更加均匀。当然,将原始操作分数进行标准化的方法还有很多,本发明并不仅限于使用上述方法将原始操作分数进行标准化,其他现有的标准化方法也可以用在本发明中。标准化操作分数
步骤S34:根据该连续n个单位时间段内用户对每首歌曲的标准化操作分数向客户端进行歌曲推荐。
相对于现有技术,本实施例提出的在线音乐推荐方法具有如下效果:1.操作门槛低:本发明采用隐式打分,用户无需做多余的操作,只需要正常的进行听歌、收藏等操作即可;2.时效性强,充分考虑到用户的喜好随时间衰减的因素,使得在线音乐推荐更具有时效性;3.综合用户对多首歌曲的多种操作流水,分析结果更加稳定,不受个别歌曲影响;4.计算结果标准化,用户喜好一目了然,也便于后续用其他方法统计计算。
第四实施例
图5为本发明第四实施例的在线音乐推荐装置的结构示意图。请参照图5,本发明实施例中的在线音乐推荐装置50包括:记录模块51、设定模块52、计算模块53、推荐模块54。
其中,记录模块51用于记录用户在每个单位时间段内的多种用户操作流水,相邻两个单位时间段互不重叠。该多种操作流水中的多种操作包括:收听该歌曲、收藏该歌曲、将该歌曲设置为喜欢、取消将该歌曲设置为喜欢、分享该歌曲、将该歌曲设为背景音乐、下载该歌曲或删除该歌曲。
设定模块52用于根据所记录的多种用户操作流水中的多种操作的类别或属性设定每个单位时间段内用户对每首歌曲的每种操作所对应的第一分数及衰减系数。其中,收听该歌曲的操作的属性例如包括:收听该歌曲的时长和场景,每个单位时间段内用户对每首歌曲所进行的收听该首歌曲的操作所对应的第一分数及衰减系数根据收听该歌曲的时长以及收听该歌曲的场景进行设定。
计算模块53用于收集连续n个单位时间段内用户对每首歌曲的所有操作的第一分数,根据对应的衰减系数将这些第一分数按照时间进行衰减,根据衰减后的第一分数得到在该连续n个单位时间段内用户对每首歌曲的标准化操作分数。该单位时间段例如为一天,n例如为28、29、30或31。
推荐模块54用于根据该连续n个单位时间段内用户对每首歌曲的标准化操作分数向客户端进行歌曲推荐。
相对于现有技术,本实施例提出的在线音乐推荐装置具有如下效果:1.操作门槛低:本发明采用隐式打分,用户无需做多余的操作,只需要正常的进行听歌、收藏等操作即可;2.时效性强,充分考虑到用户的喜好随时间衰减的因素,使得在线音乐推荐更具有时效性;3.综合用户对多首歌曲的多种操作流水,分析结果更加稳定,不受个别歌曲影响;4.计算结果标准化,用户喜好一目了然,也便于后续用其他方法统计计算。
第五实施例
图6为本发明第五实施例的在线音乐推荐装置的结构示意图。请参照图6,本发明实施例中的在线音乐推荐装置60包括:记录模块61、设定模块62、计算模块63、推荐模块64。
与第五实施例不同的是,于本实施例中,计算模块63包括:衰减模块631,用于收集连续n个单位时间段内用户对每首歌曲的所有操作的第一分数,根据对应的衰减系数将这些第一分数按照时间进行衰减得到在该连续n个单位时间段内用户对每首歌曲的每种操作所对应的第二分数;分数获取模块632,用于根据在该连续n个单位时间段内用户对每首歌曲的每种操作所对应的第二分数得到在该连续n个单位时间段内用户对每首歌曲的标准化操作分数。
其中,该连续n个单位时间段内用户对每首歌曲的每种操作的第二分数S2的计算公式例如为:S2=S1*∑(F*exp(C*n*UT)),其中,S1为该连续n个单位时间段内用户对每首歌曲的每种操作所对应的第一分数,F为每个单位时间段内每种操作对应的操作次数,C为每个单位时间段内用户对每首歌曲的每种操作对应的衰减系数,UT为单位时间段的时长。
相对于现有技术,本实施例提出的在线音乐推荐装置具有如下效果:1.操作门槛低:本发明采用隐式打分,用户无需做多余的操作,只需要正常的进行听歌、收藏等操作即可;2.时效性强,充分考虑到用户的喜好随时间衰减的因素,使得在线音乐推荐更具有时效性;3.综合用户对多首歌曲的多种操作流水,分析结果更加稳定,不受个别歌曲影响;4.计算结果标准化,用户喜好一目了然,也便于后续用其他方法统计计算。
第六实施例
图7为本发明第六实施例的在线音乐推荐装置的结构示意图。请参照图7,本发明实施例中的在线音乐推荐装置70包括:记录模块71、设定模块72、计算模块73、推荐模块74。计算模块73包括衰减模块731、分数获取模块732。
与第六实施例不同的是,于本实施例中,分数获取模块732包括:原始分获取模块7321,标准分获取模块7322。原始分获取模块7321用于将该连续n个单位时间段内用户对每首歌曲的每种操作的第二分数求和得到该连续n个单位时间段内用户对每首歌曲的原始操作分数。标准分获取模块7322,用于将该连续n个单位时间段内用户对每首歌曲的原始操作分数进行标准化得到该连续n个单位时间段内用户对每首歌曲的标准化操作分数。
其中,该连续n个单位时间段内用户对每首歌曲的标准化操作分数St=M*((exp(K*S0)-1)/(exp(K*S0)+1))+L,其中,S0为连续n个单位时间段内用户对每首歌曲的原始操作分数,M=2,L=3,K=(avg{S0>0}-avg{S0<0})/2,其中,{S0>0}表示连续n个单位时间段内大于0的原始操作分数的集合,{S0<0}表示连续n个单位时间段内小于0的原始操作分数的集合。
相对于现有技术,本发明提出的在线音乐推荐装置具有如下效果:1.操作门槛低:本发明采用隐式打分,用户无需做多余的操作,只需要正常的进行听歌、收藏等操作即可;2.时效性强,充分考虑到用户的喜好随时间衰减的因素,使得在线音乐推荐更具有时效性;3.综合用户对多首歌曲的多种操作流水,分析结果更加稳定,不受个别歌曲影响;4.计算结果标准化,用户喜好一目了然,也便于后续用其他方法统计计算。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语″包括”、″包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者装置中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。