欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2021101203713
申请人: 陕西师范大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-01-05
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种基于KNN和词嵌入的混合音乐推荐方法,其特征在于,具体如下:

获取用户信息及歌曲列表;

基于所述歌曲列表,获取在一个周期内所述歌曲列表中每一首歌曲的播放次数以及所述歌曲列表中歌曲总播放量,进而得到所述歌曲列表中每一首歌曲的播放系数Lu,i;使用KNN算法计算与每一首歌曲相似度最高的若干首歌曲作为喜爱歌曲集合,遍历曲库中的歌单,获取曲库中包含所述喜爱歌曲集合的歌单,并按照歌单中包含所述喜爱歌曲集合的数量由多到少排序;

在每个包含所述喜爱歌曲集合的歌单中使用word2vec的Skip‑Gram方法,为歌单中包含所述喜爱歌曲集合中的每首歌求出最相似的top‑n首歌曲,所述喜爱歌曲集合中的每首歌曲都得到一个推荐列表;具体包括以下步骤:①,确定N(u,mi)中的歌曲mi为中心词,使用大小为w滑动窗口捕获歌单中mi的相关上下文歌曲集合Ci;

②,在Skip‑Gram神经网络的映射层处,对中心词和上下文词进行one‑hot编码,每首歌曲形成S*1的向量,整个歌曲表就是S*S的矩阵;

③,通过索引映射,可以将每首歌曲映射到T维空间,这样就将所有的歌曲都映射到矩阵WS×T上,并且矩阵中的某列与每首歌曲一一对应;

④,初始化Skip‑Gram神经网络的映射层与Skip‑Gram神经网络的隐藏层之间的权重矩阵W′,W′是一个S行T列的矩阵;

⑤,取出做为中心词的歌曲向量Sc,与权重矩阵W′中的其他上下文歌曲向量做内积运算,得到每首歌曲的计算结果;

在Skip‑Gram神经网络的输出层处对得到的S个数字采用Softmax函数对输出向量进行归一化处理,得到一个N维的概率值Softmax,Softmax是一个经由Softmax函数进行归一化处理获得N维的概率值,每一维都代表一首预测歌曲,概率最大的那一行为预测出的中心词歌曲;

重复以上步骤,为N(u,mi)中的每首歌曲mi都求出预测歌曲songlist(mi),得到一个推荐列表;

根据用户兴趣的时效性以及歌曲在整个音乐平台的播放热度,对所述最相似的top‑n首歌曲的概率进行修正,得到一个修正系数,将所述修正系数引入所述喜爱歌曲集合中的每首歌曲的推荐列表中,得到最终的推荐列表;将用户在一个周期内播放的歌曲历史记录按照时间轴排序,根据时间由近及远给予不同的兴趣衰减因子,时间最近的兴趣衰减因子值为1;根据歌曲在整个音乐平台的播放热度,给定不同的热度推荐因子,歌曲热度越高其热度推荐因子越高,热度推荐因子最高值为1;歌曲的播放系数计算方式为:countu,i为一首歌曲在一个周期内的播放量,total为一个周期内播放总曲次;

在得到用户对歌曲的播放系数Lu,i后,对于用户u喜爱列表中每一首歌曲,使用KNN算法计算出与该歌曲相似度最高的f首歌曲,并用N(u,mi)表示这f首歌曲的集合,相似度计算方法为:其中Simmn表示歌曲m和歌曲n的相似度,Pmn表示都播放过歌曲m,n的用户集合, 和分别表示歌曲m和n的平均播放系数,Lu,m表示用户u对歌曲m的播放系数,Lu.n表示用户u对歌曲n的播放系数。

2.根据权利要求1所述的基于KNN和词嵌入的混合音乐推荐方法,其特征在于,所述周期为设定周期,所述周期为一年、一个月、一周、三天或一天。

3.根据权利要求1所述的基于KNN和词嵌入的混合音乐推荐方法,其特征在于,所述用户信息包括用户的个人基本信息,所述个人基本信息从其他应用中读取或由用户输入,所述用户信息包括用户的地理位置以及用户输入的情境信息,所述音乐喜爱列表中所填内容是用户自己添加到喜爱列表的歌曲,歌曲信息包括歌曲的演唱歌手、歌曲时长、演唱专辑、演唱风格以及曲目作者。

4.根据权利要求1所述的基于KNN和词嵌入的混合音乐推荐方法,其特征在于,在每个包含所述喜爱歌曲集合的歌单中使用word2vec的Skip‑Gram方法,为歌单中包含所述喜爱歌曲集合中的每首歌求出最相似的top‑n首歌曲,得到一个歌曲推荐列表,具体如下:确定所述喜爱歌曲集合中的歌曲mi为中心词,i为正整数,i最大值为所述喜爱歌曲集合中的歌曲数量,使用滑动窗口捕获所述喜爱歌曲集合中所述中心词的上下文歌曲集合;

在Skip‑Gram神经网络的映射层处,对中心词和上下文词进行one‑hot编码,所述喜爱歌曲集合中每首歌曲形成S*1的向量,整个歌曲表则表达为S*S的矩阵;

通过索引映射,将所述喜爱歌曲集合中每首歌曲映射到T维空间,则所述喜爱歌曲集合中所有的歌曲都映射到矩阵WS×T上,并且矩阵中WS×T的某列与所述喜爱歌曲集合中每首歌曲一一对应;

Skip‑Gram神经网络的映射层与Skip‑Gram神经网络的隐藏层之间组成一个权重矩阵W′,W′是一个S行T列的矩阵;

取出做为中心词的歌曲向量Sc,中心词的歌曲向量Sc与权重矩阵W′中的其他上下文歌曲向量做内积运算,得到每首歌曲的计算结果;

在Skip‑Gram神经网络的输出层处,对得到的S个数字,采用Softmax函数对输出向量进行归一化处理,得到一个N维的概率值Softmax;Softmax是一个经由Softmax函数进行归一化处理获得N维的概率值,每一维都代表一首预测歌曲,其中概率最大的一行为预测出的中心词歌曲。

5.根据权利要求1所述基于KNN和词嵌入的混合音乐推荐方法,其特征在于,对得到概率最大的预测歌曲进行推荐分数修正,分数修正方法如下:根据用户在周期内播放的歌曲历史记录,按照时间轴排序,根据时间由近及远给予不同的兴趣衰减因子,时间最近的兴趣衰减因子值为1,同时根据歌曲在整个音乐平台的播放热度,给定不同的热度推荐因子,歌曲热度越高其热度推荐因子越高,热度推荐因子最高值为1,根据所述喜爱歌曲集合中的每首歌曲所得的兴趣衰减因子和热度推荐因子,对歌曲的预测歌曲进行推荐分数修正,修正分数公式为:其中,Inti为用户i的兴趣衰减因子,Popm为歌曲m的热度推荐因子, 为歌曲m对用户i的推荐概率值;根据修正后的推荐分数,得到最终的预测歌曲列表并完成推荐。

6.一种基于KNN和词嵌入的混合音乐推荐系统,其特征在于,包括信息获取模块、喜爱歌曲集合获取模块以及推荐列表模块;其中信息获取模块用于获取用户信息及歌曲列表;

喜爱歌曲集合获取模块基于所获取的歌曲列表,获取在一个周期内所述歌曲列表中每一首歌曲的播放次数以及所述歌曲列表中歌曲总播放量,进而得到所述歌曲列表中每一首歌曲的播放系数Lu,i;使用KNN算法计算与每一首歌曲相似度最高的若干首歌曲作为喜爱歌曲集合,遍历曲库中的歌单,获取曲库中包含所述喜爱歌曲集合的歌单,并按照歌单中包含所述喜爱歌曲集合的数量由多到少排序;

推荐列表模块在每个包含所得到的喜爱歌曲集合的歌单中使用word2vec的Skip‑Gram方法,为歌单中包含所述喜爱歌曲集合中的每首歌求出最相似的top‑n首歌曲,得到一个歌曲推荐列表;具体包括以下步骤:①,确定N(u,mi)中的歌曲mi为中心词,使用大小为w滑动窗口捕获歌单中mi的相关上下文歌曲集合Ci;

②,在Skip‑Gram神经网络的映射层处,对中心词和上下文词进行one‑hot编码,每首歌曲形成S*1的向量,整个歌曲表就是S*S的矩阵;

③,通过索引映射,可以将每首歌曲映射到T维空间,这样就将所有的歌曲都映射到矩阵WS×T上,并且矩阵中的某列与每首歌曲一一对应;

④,初始化Skip‑Gram神经网络的映射层与Skip‑Gram神经网络的隐藏层之间的权重矩阵W′,W′是一个S行T列的矩阵;

⑤,取出做为中心词的歌曲向量Sc,与权重矩阵W′中的其他上下文歌曲向量做内积运算,得到每首歌曲的计算结果;

在Skip‑Gram神经网络的输出层处对得到的S个数字采用Softmax函数对输出向量进行归一化处理,得到一个N维的概率值Softmax,Softmax是一个经由Softmax函数进行归一化处理获得N维的概率值,每一维都代表一首预测歌曲,概率最大的那一行为预测出的中心词歌曲;

重复以上步骤,为N(u,mi)中的每首歌曲mi都求出预测歌曲songlist(mi),得到一个推荐列表;

歌曲的播放系数计算方式为:

countu,i为一首歌曲在一个周期内的播放量,total为一个周期内播放总曲次;

在得到用户对歌曲的播放系数Lu,i后,对于用户u喜爱列表中每一首歌曲,使用KNN算法计算出与该歌曲相似度最高的f首歌曲,并用N(u,mi)表示这f首歌曲的集合,相似度计算方法为:其中Simmn表示歌曲m和歌曲n的相似度,Pmn表示都播放过歌曲m,n的用户集合, 和分别表示歌曲m和n的平均播放系数,Lu,m表示用户u对歌曲m的播放系数,Lu.n表示用户u对歌曲n的播放系数。

7.一种计算机设备,其特征在于,包括一个或多个处理器以及存储器,存储器用于存储计算机可执行程序,处理器从存储器中读取部分或全部所述计算机可执行程序并执行,处理器执行部分或全部计算可执行程序时能实现权利要求1~5中任一项所述基于KNN和词嵌入的混合音乐推荐方法。

8.一种计算机可读存储介质,其特征在于,计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时,能实现如权利要求1~5中任一项所述的基于KNN和词嵌入的混合音乐推荐方法。