一种基于深度神经网络的音乐推荐方法与流程

文档序号:16973369发布日期:2019-02-26 18:45阅读:349来源:国知局
一种基于深度神经网络的音乐推荐方法与流程

本发明涉及一种基于深度神经网络的音乐推荐方法,属于大数据技术领域。



背景技术:

随着互联网技术的快速发展,数字音乐越来越成为了主流,互联网上的各种音乐网站或者手机音乐应用提供了无数的歌曲,极大地满足了人们的需求,但是面对海量的数字音乐,如何从海量的数字音乐中找到人们感兴趣的音乐成为了一个难题,为此,音乐推荐系统的出现很好的解决了这一问题,它能够为用户推荐他想听的音乐,快速的帮用户找到他们需要的音乐。音乐推荐领域成为了当下热门的研究领域之一,但是随着用户数量以及数字音乐的快速增长,传统的协同过滤推荐算法的可扩展性差以及冷启动问题使得推荐效果不理想,忽视了用户的个性,不能进行个性化的推荐,并且没有考虑到音乐本身的属性问题。



技术实现要素:

本发明要解决的技术问题是提供一种基于深度神经网络的音乐推荐方法,用以解决上述问题。

本发明的技术方案是:一种基于深度神经网络的音乐推荐方法,首先,在音乐评论网站上以用户信息建立用户数据库以及音乐信息数据库;其次,构建一个以用户发表的评论文本作为输入的cnn模型,学习用户的行为特征;然后,构建一个以音乐收到的评论文本为输入的cnn模型,学习音乐的个性特征;再次,构建一个以音乐属性标签为输入的cnn模型,学习音乐的属性特征;最后,利用fm建模用户与音乐的特征关联关系,同时对用户特征与音乐特征进行提取,通过因子分解机来预测用户对商品的评分值,得到推荐列表。

具体步骤为:

步骤1:在音乐评论网站上以用户信息建立用户数据库以及音乐信息数据库:在音乐评论网站上,收集用户发表的评论文本作为用户数据库,再收集音乐的有效评论(30字以上的前50条评论)作为音乐信息数据库。

步骤2:构建以用户发表评论的cnn模型(卷积神经网络模型)并学习用户的行为特征:

步骤2.1:记用户u所写的所有评论文本为将评论文本用词向量表示为即为如下表示:

公式中表示用户u评论中的第k个词,表示词对应的词向量,符号表示列向量的连接操作。

步骤2.2:将step1得到的词向量作为输入导入到cnn模型的卷积层,卷积层由m个神经元组成,这些神经元通过对词向量应用卷积运算得到新的特征,卷积层有kj个卷积核。公式如下:

公式中*符号为卷积运算符,bj为第j个卷积核的偏差,f为神经网络中常用的激活函数。

步骤2.3:将step2进行卷积运算得到的zj在输入到cnn的池化层,进行最大池化操作,公式如下:

oj=max{z1,z2……zn-t+1}

公式中max为最大池化运算,t为卷积核的窗口大小。对每一个卷积核,得到的输出向量为:

o={o1,o2……oj}

步骤2.4:将step3得到的结果o传递到具有权重矩阵的完全连接层,公式如下;

xu=f(w×o+g)

公式中g为完全连接层的偏差,w为完全连接层的权重矩阵。得到的结果为用户u的特征向量xu。

步骤3:构建一个以音乐收到的评论文本为输入的cnn模型,学习音乐的个性特征:同样通过步骤2的得到音乐j的特征向量ym。

步骤4:构建一个以音乐属性标签为输入的cnn模型,学习音乐的属性特征:以用户发表过评论的所有音乐的标签文本为输入,通过步骤2,得到音乐的特征向量qm。

步骤5:提取出用户特征与音乐特征,通过因子分解机预测用户对商品的评分值,得到推荐列表:以步骤2,3,4得到的特征向量,构建成一个新的特征向量z=(xu,ym,qm),再通过因子分解机(fm)来预测用户u对音乐的j的打分。根据评分高低来得到用户u的音乐推荐列表,根据推荐列表进行推荐。因子分解机(fm)的模型如下:

模型中,w0为全局偏量,zi为特征向量z的第i维取值。v为辅助向量,上述模型为传统的线性模型加上特征分量之间的相互关系。

本发明的有益效果是:通过建立用户与音乐数据库,以用户评论,音乐评论,音乐标签文本为输入,构建cnn模型(卷积神经网络)将用户与音乐的特征进行训练并提取,最后通过因子分解机来预测用户对音乐的评分值,形成推荐列表,保证了用户的个性化需求,体现了音乐的本身属性,并且提高了推荐的精度,实现了精准,多样,个性化的音乐推荐。

附图说明

图1是本发明的步骤流程图。

具体实施方式

下面结合附图和具体实施方式,对本发明作进一步说明。

实施例1:如图1所示,一种基于深度神经网络的音乐推荐方法,首先,在音乐评论网站上以用户信息建立用户数据库以及音乐信息数据库;其次,构建一个以用户发表的评论文本作为输入的cnn模型,学习用户的行为特征;然后,构建一个以音乐收到的评论文本为输入的cnn模型,学习音乐的个性特征;再次,构建一个以音乐属性标签为输入的cnn模型,学习音乐的属性特征;最后,利用fm建模用户与音乐的特征关联关系,同时对用户特征与音乐特征进行提取,通过因子分解机来预测用户对商品的评分值,得到推荐列表。

具体步骤如下:

步骤1:在音乐评论网站上以用户信息建立用户数据库以及音乐信息数据库:在音乐评论网站上,收集用户发表的评论文本作为用户数据库,再收集音乐的有效评论(30字以上的前50条评论)作为音乐信息数据库。

步骤2:构建以用户发表评论的cnn模型(卷积神经网络模型)并学习用户的行为特征:

步骤2.1:记用户u所写的所有评论文本为将评论文本用词向量表示为即为如下表示:

公式中表示用户u评论中的第k个词,表示词对应的词向量,符号表示列向量的连接操作。

步骤2.2:将step1得到的词向量作为输入导入到cnn模型的卷积层,卷积层由m个神经元组成,这些神经元通过对词向量应用卷积运算得到新的特征,卷积层有kj个卷积核。公式如下:

公式中*符号为卷积运算符,bj为第j个卷积核的偏差,f为神经网络中常用的激活函数。

步骤2.3:将step2进行卷积运算得到的zj在输入到cnn的池化层,进行最大池化操作,公式如下:

oj=max{z1,z2……zn-t+1}

公式中max为最大池化运算,t为卷积核的窗口大小。对每一个卷积核,得到的输出向量为:

o={o1,o2……oj}

步骤2.4:将step3得到的结果o传递到具有权重矩阵的完全连接层,公式如下;

xu=f(w×o+g)

公式中g为完全连接层的偏差,w为完全连接层的权重矩阵。得到的结果为用户u的特征向量xu。

步骤3:构建一个以音乐收到的评论文本为输入的cnn模型,学习音乐的个性特征:同样通过步骤2的得到音乐j的特征向量ym。

步骤4:构建一个以音乐属性标签为输入的cnn模型,学习音乐的属性特征:以用户发表过评论的所有音乐的标签文本为输入,通过步骤2,得到音乐的特征向量qm。

步骤5:提取出用户特征与音乐特征,通过因子分解机预测用户对商品的评分值,得到推荐列表:以步骤2,3,4得到的特征向量,构建成一个新的特征向量z=(xu,ym,qm),再通过因子分解机(fm)来预测用户u对音乐的j的打分。根据评分高低来得到用户u的音乐推荐列表,根据推荐列表进行推荐。因子分解机(fm)的模型如下:

模型中,w0为全局偏量,zi为特征向量z的第i维取值。v为辅助向量,上述模型为传统的线性模型加上特征分量之间的相互关系。

以上结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。

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