基于内存计算框架和长短周期兴趣迁移及融合模型的音乐推荐方法与流程

文档序号:11950431阅读:来源:国知局

技术特征:

1.一种基于内存计算框架和长短周期兴趣迁移及融合模型的音乐推荐方法,其特征在于,包括:

S1:搭建Apache Spark框架,实现算法整体的分布式运行;利用Spark MLlib模块实现算法,加快算法运行速度;

S2:获取数据中所有用户对不同音乐的收听次数,对获取的数据进行预处理,利用收听记录计算所有用户的音乐评分;

S3:将时序数据整理成周期数据集合;

S4:构建长短周期兴趣迁移模型;

S5:构建长短周期图模型;

S6:结合S3生成的长短周期兴趣和S4中的长短周期图模型进行音乐推荐。

2.根据权利要求1所述的基于内存计算框架和长短周期兴趣迁移及融合模型的音乐推荐方法,其特征在于,步骤S2中所述的数据进行预处理的步骤:

S2-1、S1中利用Spark搭建形成包含master和若干slave的集群;然后本发明将数据导入master主机中,由master进行分割,将数据的预处理任务分派给slave机器,同时追踪slave机器上的分布式计算,收集slave机器的反馈信息进行汇总统计;

S2-2、将整个数据分割为用户个人记录信息,对个人数据中用户收听记录进行统计,将收听记录过少的用户删除,留存包含足够信息的用户;

S2-3、同时,统计每位音乐被收听记录,如果音乐被收听次数过少,不能充分反映用户的兴趣,将相关记录删除;

S2-4、依据S2-1和S2-2步骤的清理结果,以当前时间为准,统计该时间之前的数据,获取用户对于音乐的收听记录;

S2-5、用户对于音乐的评价受到访问次数和访问最近时间的影响,所有用户的音乐的评分需要综合考虑这些因素,用户自身对于不同用户的收听次数存在上限和下限,根据用户收听习惯,设置分段函数赋予频次评分;构造一个线性函数对于用户的频次评分和收听时间距离进行加权平均化,获得最终的所有用户的音乐评分;

S2-6、利用S2-4获取的所有用户的音乐评分矩阵,将用户对不同音乐的评价作为音乐特征进行聚类,生成相似音乐簇集,分别为各簇集赋予新的标签作为音乐类别标记。

3.根据权利要求1所述的基于内存计算框架和长短周期兴趣迁移及融合模型的音乐推荐方法,其特征在于,步骤S3中所述的时序数据整理成周期数据集合的步骤包括:

S3-1、获取S2中清洗完毕后的数据,获取当前时间之前的用户历史收听记录;

S3-2、根据不同周期类型,设置周期窗口;

S3-3、沿着时间反向回溯行进,短周期窗口范围内的收听记录作为一个短周期数据块,然后行进一个短周期窗口长度时间能获取一个新的短周期数据块,依次类推;同理,获取长周期数据块,实际运行中由于长周期窗口长度是短周期窗口长度的整数倍。

4.根据权利要求1所述的基于内存计算框架和长短周期兴趣迁移及融合模型的音乐推荐方法,其特征在于,步骤S4中所述的构建长短周期兴趣迁移模型的步骤包括:

S4-1、根据S3步骤中获取的周期数据集合,提取用户周期数据中的观察量和隐藏量;观察量为用户在周期数据中最喜爱的音乐,隐藏量为用户在该周期范围内喜爱音乐的所属类别;

S4-2、周期数据集中的用户的喜爱音乐组成观察量序列O={o1,o2,...,oT},oi表示用户在i时刻下的喜欢的音乐;对应的个人兴趣组成隐变量序列Q={q1,q2,...,qT},qi表示用户在i时刻喜欢的音乐所属的类别,其中下标T为正整数;

S4-3、依照改进的隐马尔科夫模型,对整理后的数据进行训练获取优化参数;将用户的观察量序列和隐变量序列输入模型中,设定初始化隐变量概率分布参数,利用EM算法进行参数优化训练;利用现有的期望最大化算法进行参数优化训练

S4-4、利用S4-3步骤可以获取HMM的优化参数:隐变量的迁移矩阵A和隐变量条件下的观察变量概率分布B;

计算用户兴趣偏向和喜爱音乐的概率:P(ST+1=qi)和P(OT+1=oi),其中,ST+1指的是T+1时刻用户的状态,即用户感兴趣音乐类别,而OT+1表示T+1时刻的用户观察值,即用户感兴趣的音乐;计算当前时间窗口范围内,用户对相关音乐的评分:

Score=B*An*P(ST+1=qi)

<mrow> <mi>n</mi> <mi>S</mi> <mi>c</mi> <mi>o</mi> <mi>r</mi> <mi>e</mi> <mo>=</mo> <mi>S</mi> <mi>c</mi> <mi>o</mi> <mi>r</mi> <mi>e</mi> <mo>/</mo> <munder> <mo>&Sigma;</mo> <mrow> <msub> <mi>o</mi> <mi>i</mi> </msub> <mo>&Element;</mo> <mi>O</mi> </mrow> </munder> <mi>S</mi> <mi>c</mi> <mi>o</mi> <mi>r</mi> <mi>c</mi> <mrow> <mo>(</mo> <msub> <mi>o</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> </mrow>

S4-5、依照S4-4步骤已经获取了用户对于相关音乐的评分,根据S3的划分周期数据集合分为长周期数据集合和短周期数据集合;利用该区别分别计算当前时间所属长短周期的不同音乐评分,形成长周期推荐列表和短周期推荐列表。

5.根据权利要求1所述的基于内存计算框架和长短周期兴趣迁移及融合模型的音乐推荐方法,其特征在于,步骤S5中所述的构建长短周期图模型工的步骤包括:

S5-1、长短周期图模型(LSTG)由三种节点构成:长周期节点、短周期节点和商品节点;长周期节点表示用户在长周期阶段的兴趣,相应的短周期节点表示的用户在短周期阶段的兴趣,而商品节点表示的用户对于该商品的喜爱程度;LSTG是一种三部图,三种节点只与相邻类型的节点连接,不与相同类型的节点连接;长周期节点只与商品节点连接,商品节点处于中间,商品节点与长短周期节点连接,而短周期节点只与商品节点连接;周期节点与商品节点的连接表示用户在该周期范围内对商品节点表示的商品感兴趣;

S5-2、图模型之间通过传递用户兴趣连接;而不同类别节点之间兴趣传递效率不同,这些由节点连接边的权重确定;其中长周期节点集合Long-Term Nodes简写为LT,短周期节点集合Short-Term Nodes简写为ST,商品节点集合Item Nodes简写为I;节点连接权重如下所示:

其中下标i,j为序号,

ηLT表示由商品节点指向长周期节点的边权重,而ηST表示由商品节点指向短周期节点的边权重;

S5-3、初始化工作通过为初始长短周期节点赋值,初始长短周期节点的值表示长短周期在整体兴趣形成中占据的比例;长周期节点初始值为a,短周期节点初始值为b,其中a+b=1。

6.根据权利要求1所述的基于内存计算框架和长短周期兴趣迁移及融合模型的音乐推荐方法,其特征在于,步骤S6中所述的音乐推荐的步骤包括:

S6-1、由S5步骤可以获取在当前时间段中的长周期推荐列表和短周期推荐列表;将当前时间段的结果制作成新的长短周期节点添加进入长短周期图模型中,同时将这两个节点作为初始化节点进行初始化赋值;

S6-2、兴趣在节点之间游走会产生一条兴趣传播路径,如果初始节点为v0,终点节点为vn,那么其中路径为{v0,v1,v2......vn};结合S5中连接边权重,路径评分公式表示为

n≥1,为正整数

S6-3、商品节点的最终兴趣值由所有指向商品节点的路径决定;因此,获取得到商品节点的兴趣值评分公式

其中path(u,i)为用户兴趣传播路径

S6-4、根据S6-3公式获取用户u对于音乐i的个性化评分PR(u,i);按照音乐曲目评分次序选出top-n首音乐曲目组成推荐列表作为最终推荐结果。

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