CN108509534B - 基于深度学习的个性化音乐推荐***及其实现方法 - Google Patents
基于深度学习的个性化音乐推荐***及其实现方法 Download PDFInfo
- Publication number
- CN108509534B CN108509534B CN201810213304.4A CN201810213304A CN108509534B CN 108509534 B CN108509534 B CN 108509534B CN 201810213304 A CN201810213304 A CN 201810213304A CN 108509534 B CN108509534 B CN 108509534B
- Authority
- CN
- China
- Prior art keywords
- song
- user
- songs
- listening
- group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于深度学习的个性化音乐推荐***及其实现方法,该***包括用户听歌记录***、歌曲召回模型、以及深度神经网络(DNN)过滤模型;所述用户听歌记录***给每位用户分配一个全局唯一的账号,用于记录用户信息以及用户操作记录;所述歌曲召回模型根据用户听歌记录从海量的歌曲库中筛选出用户可能感兴趣的歌曲组;所述深度神经网络(DNN)过滤模型的训练和测试依赖于用户听歌记录***,训练完成的深度神经网络用于过滤所述歌曲召回模型推荐出来的歌曲组,经过深度神经网络过滤模型过滤排序之后最终生成推荐给用户的歌曲组合。本发明的***及方法能够过滤用户不感兴趣的歌曲,减少计算量以及计算资源,做到实时的精准推荐。
Description
技术领域
本发明涉及机器学习深度学习技术领域,特别涉及一种基于深度学习的个性化音乐推荐***及其实现方法。
背景技术
近些年推荐***发展非常火热,在信息***式增长的当今,推荐***能从过剩的信息中将用户和物品精准的联系在一起。基于深度学习的个性化音乐推荐***,利用深度神经网络对海量的用户听歌数据进行学习,减少人工对特征的干预,自动学习用户特征、歌曲特征、场景特征并加以线性和非线性的组合,得到一个深度学习的模型。然后将召回的歌曲列表及对应特征信息输入模型,得到一个预测歌曲被喜欢或者被切歌的概率,并根据歌曲被喜欢或者被切歌概率的进行过滤排序后最终给用户推荐一批个性化推荐的歌曲。
传统的个性化音乐推荐***,需要人工设计和提取用户的特征、歌曲特征和场景特征,只是通过设计简单的线性的规则将前述特征加以组合,并没有考虑到特征之间非线性的联系,通过引入深度神经网络模型,利用深度神经网络自动学习用户特征、歌曲特征、场景特征并引入非线性因素从而发现特征之间的深度联系,节约人工成本,同时也提升了推荐***的智能化、准确性。
发明内容
本发明的目的在于克服现有技术中的缺点与不足,提供一种基于深度学习的个性化音乐推荐***及其实现方法,首先设计精密的用户听歌记录***,记录用户信息以及听歌流水操作,为后续步骤提供数据支撑来源,然后设计精准的歌曲召回模型,基于用户听歌记录***的数据,快速从海量的千万级别的歌曲库中精准的召回用户可能感兴趣的歌曲组,再基于深度神经网络,对用户可能感兴趣的歌曲组进行过滤,并将过滤之后的歌曲进行排序最终生成推荐给用户的歌曲组合。
为实现以上目的,本发明采取如下技术方案:
基于深度学习的个性化音乐推荐***,包括用户听歌记录***、歌曲召回模型、以及深度神经网络过滤模型;
所述用户听歌记录***给每位用户分配一个全局唯一的账号,用于记录用户信息以及用户操作记录,获取用户画像特征和用户听歌流水;
所述歌曲召回模型根据用户听歌记录***和海量歌曲库构建召回歌曲组,所述召回歌曲组包括用户画像歌曲组和用户听歌流水相似歌曲组;
根据用户听歌记录***,所述深度神经网络过滤模型从用户听歌流水中抽取全部的用户听歌流水记录,分成训练集和测试集,所述训练集用于训练深度神经网络过滤模型,所述测试集用于测试该模型的准确率;完成训练的深度神经网络过滤模型用于过滤所述歌曲召回模型推荐出来的召回歌曲组,经过深度神经网络过滤模型过滤排序之后最终生成推荐给用户的歌曲组合。
作为优选的技术方案,所述用户的信息也即用户画像特征,包含:用户的年龄、用户的性别、用户的职业、用户所在地区、用户喜欢的歌手、用户不喜欢的歌手、用户喜欢的歌曲流派、用户不喜欢的歌曲流派、用户喜欢的歌曲语种、以及用户不喜欢的歌曲语种;
所述用户操作记录也即用户听歌流水,包含:用户喜欢的歌曲、用户分享的歌曲、用户下载的歌曲、用户完整听歌的歌曲、用户评论的歌曲、用户设置为背景音乐的歌曲、用户丢垃圾桶的歌曲、用户切歌的歌曲、用户最近听过的歌曲、源歌曲推出被喜欢的歌曲、源歌曲推出被完整听歌的歌曲、源歌曲推出被切歌的歌曲、源歌曲推出被丢垃圾桶的歌曲、以及源歌曲推出被下载的歌曲;所述源歌曲为计算相似歌曲所依据的歌曲。
作为优选的技术方案,对于用户画像歌曲组,所述歌曲召回模型,基于用户画像特征利用统计学原理从海量歌曲库中统计出每种用户画像特征所维系的歌曲组,根据用户已有的用户画像特征从曲库中筛选出用户画像歌曲组;
对于用户听歌流水相似歌曲组,所述歌曲召回模型,基于用户听歌流水,根据不同的用户操作记录维护一个用户听歌流水到候选歌曲组的映射,所述候选歌曲组为从千万级别的海量曲库中挑选出一万首以内的歌曲作为推荐给用户的歌曲组,然后再根据目标用户不同的听歌流水操作列表中的歌曲列表计算出相似的歌曲,并维护一个相似歌曲组合构建用户听歌流水相似歌曲组。
作为优选的技术方案,所述深度神经网络过滤模型采用tensorflow框架进行搭建;将歌曲召回模型推荐出来的召回歌曲组、歌曲特征和用户画像特征输入深度神经网络过滤模型进行过滤,过滤的方式采用深度神经网络过滤模型预测歌曲的切歌概率或者预测歌曲被喜欢的概率,按照概率进行排序,然后还要过滤掉一些歌曲再排序后给用户推荐个性化的歌曲组。
基于深度学习的个性化音乐推荐***的实现方法,包括下述步骤:
S1、根据用户听歌记录***记录的用户信息和用户操作记录,获取用户画像特征和用户听歌流水;所述用户听歌记录***对于不能获取到的用户画像特征置为空,对于能获取到的用户画像特征则记录下真实的值;
S2、挑选出用户画像歌曲组:从用户听歌流水统计已有的用户画像特征所对应的歌曲组合,根据每个用户画像特征的不同维度来维护一个喜欢的歌曲列表;对于一个新进用户,基于该用户已有的用户画像特征从已经统计的用户画像特征维度映射到一组喜欢的歌曲组合;
S3、挑选出用户听歌流水相似歌曲组:
S31、基于用户听歌流水,挑选五组歌曲组,包括用户喜欢的歌曲并统计个数记录为n1、完整听歌歌曲并统计个数记录为n2、下载歌曲并统计个数记录为n3、分享歌曲并统计个数记录为n4、以及设置背景音乐歌曲并统计个数记录为n5,则所述用户听歌流水数据记录的歌曲个数总数为n=n1+n2+n3+n4+n5;
S32、对各组歌曲组设置权重系数以反映用户的听歌偏好,构建听歌流水歌曲组;在得到听歌流水歌曲组后,按照过滤方式计算出听歌流水相似歌曲组,即维护一个从听歌流水歌曲组到听歌流水相似歌曲组的映射F,F是计算歌曲相似度的规则函数,映射F即计算出听歌流水歌曲组的相似歌曲并按照相似度从高到低进行排列;
S4、构建深度神经网络过滤模型,并进行训练和测试;从用户听歌流水中抽取全部的用户听歌流水记录,分成训练集和测试集,所述训练集用于训练深度神经网络过滤模型,所述测试集用于测试该模型的准确率;
S5、将召回歌曲组进行预处理,然后输入到完成训练的深度神经网络过滤模型;所述召回歌曲组包括用户画像歌曲组和用户听歌流水相似歌曲组;
S51、所述预处理:对召回歌曲组进行初步过滤,过滤掉可能违规和不必要推荐的歌曲;
S52、将经过预处理的歌曲输入到完成训练的深度神经网络过滤模型,所述深度神经网络过滤模型将预测输出每首歌曲被喜欢或者被切歌的概率,被喜欢概率低于自定义阈值或者被切歌概率高于自定义阈值的歌曲将被过滤掉;输入深度神经网络模型的歌曲具有四种特征信息和其组合特征,所述四种特征信息具体为场景特征信息、歌曲特征信息、源歌曲特征信息、以及用户特征信息;所述组合特征通过用户听歌流水统计出来;
S53、召回歌曲组经过深度神经网络过滤模型预测被喜欢或被切歌概率后,将根据自定义阈值过滤一批歌曲,然后再对过滤后的歌曲进行排序。
本发明相对于现有技术具有如下的优点和效果:
(1)本发明的***设计精密的用户听歌记录***,记录用户信息以及听歌流水操作,为后续步骤提供数据支撑来源;
(2)本发明的***设计精准的歌曲召回模型,基于用户听歌记录***的数据,快速从海量的千万级别的歌曲库中精准的召回用户可能感兴趣的歌曲组,减少深度神经网络模型的计算量,减少运算时间做到快速的实时推荐;
(3)本发明的***及方法将歌曲召回模型推荐的召回歌曲组输入训练好的深度神经网络(DNN)过滤模型,最终将从候选的歌曲组中挑选出最适合推荐给用户的歌曲。从用户听歌流水中挑选若干用户的流水数据用以训练该深度神经网络(DNN)过滤模型,听歌流水数据中包含了用户特征信息以及对应的歌曲特征信息,深度神经网络自动学习用户和歌曲的特征信息并对其中的特征加以线性和非线性的组合,通过不断的迭代训练使模型收敛,再从用户听歌流水中抽取一部分数据对模型进行准确率的验证,最终得到一个鲁棒性高的深度神经网络(DNN)过滤模型。
附图说明
图1为本发明的基于深度学习的个性化音乐推荐***的流程示意图;
图2为本发明的用户听歌记录***示例图;
图3为本发明的歌曲召回模型示例图;
图4为本发明的用户画像特征歌曲组生成过程示例图;
图5为本发明的听歌流水相似歌曲组生成过程示例图;
图6为本发明的深度神经网络(DNN)过滤模型示例图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步详细描述。
实施例
如图1所示,基于深度学习的个性化音乐推荐***,包括用户听歌记录***、歌曲召回模型、以及深度神经网络过滤模型;
所述用户听歌记录***给每位用户分配一个全局唯一的账号,用于记录用户信息以及用户操作记录,获取用户画像特征和用户听歌流水,如图2所示;
所述歌曲召回模型根据用户听歌记录***和海量歌曲库构建召回歌曲组,所述召回歌曲组包括用户画像歌曲组和用户听歌流水相似歌曲组,如图3所示;
根据用户听歌记录***,所述深度神经网络过滤模型从用户听歌流水中抽取全部的用户听歌流水记录,分成训练集和测试集,所述训练集用于训练深度神经网络过滤模型,所述测试集用于测试该模型的准确率;完成训练的深度神经网络过滤模型用于过滤所述歌曲召回模型推荐出来的召回歌曲组,经过深度神经网络过滤模型过滤排序之后最终生成推荐给用户的歌曲组合;
在本实例中,所述用户的信息也即用户画像特征,包含:用户的年龄、用户的性别、用户的职业、用户所在地区、用户喜欢的歌手、用户不喜欢的歌手、用户喜欢的歌曲流派、用户不喜欢的歌曲流派、用户喜欢的歌曲语种、以及用户不喜欢的歌曲语种;
所述用户操作记录也即用户听歌流水,包含:用户喜欢的歌曲、用户分享的歌曲、用户下载的歌曲、用户完整听歌的歌曲、用户评论的歌曲、用户设置为背景音乐的歌曲、用户丢垃圾桶的歌曲、用户切歌的歌曲、用户最近听过的歌曲、源歌曲推出被喜欢的歌曲、源歌曲推出被完整听歌的歌曲、源歌曲推出被切歌的歌曲、源歌曲推出被丢垃圾桶的歌曲、以及源歌曲推出被下载的歌曲,所述源歌曲为计算相似歌曲所依据的歌曲;
在本实施例中,对于用户画像歌曲组,所述歌曲召回模型,基于用户画像特征利用统计学原理从海量歌曲库中统计出每种用户画像特征所维系的歌曲组,根据用户已有的用户画像特征从曲库中筛选出用户画像歌曲组;
对于用户听歌流水相似歌曲组,所述歌曲召回模型,基于用户听歌流水,根据不同的用户操作记录维护一个用户听歌流水到候选歌曲组的映射,所述候选歌曲组为从千万级别的海量曲库中挑选出一万首以内的歌曲作为推荐给用户的歌曲组,然后再根据目标用户不同的听歌流水操作列表中的歌曲列表计算出相似的歌曲,并维护一个相似歌曲组合构建用户听歌流水相似歌曲组。
在本实施例中,所述深度神经网络过滤模型采用tensorflow框架进行搭建;将歌曲召回模型推荐出来的召回歌曲组、歌曲特征和用户画像特征输入深度神经网络过滤模型进行过滤,过滤的方式采用深度神经网络过滤模型预测歌曲的切歌概率或者预测歌曲被喜欢的概率,按照概率进行排序,然后还要过滤掉一些歌曲再排序后给用户推荐个性化的歌曲组。
在本实施例中,基于深度学习的个性化音乐推荐***的实现方法,包括下述步骤:
S1、根据用户听歌记录***记录的用户信息和用户操作记录,获取用户画像特征和用户听歌流水;所述用户听歌记录***对于不能获取到的用户画像特征置为空,对于能获取到的用户画像特征则记录下真实的值;
S2、挑选出用户画像歌曲组:首先从用户听歌流水统计已有的用户画像特征所对应的歌曲组合,根据每个用户画像特征的不同维度来维护一个喜欢的歌曲列表,例如用户的年龄特征,可以划分几个维度:少年、青年、中年、老年,从听歌流水中统计出并维护少年喜欢听的歌曲列表、青年喜欢听的歌曲列表、中年喜欢听的歌曲列表、老年喜欢听的歌曲列表;对于一个新进用户,基于该用户已有的用户画像特征从已经统计的特征维度映射到一组喜欢的歌曲组合,即如图4所示,根据该用户的特征1得到歌曲组1,由用户特征2得到歌曲组2,以此类推,由用户特征m得到歌曲组m,最后,由这些歌曲组按照一定的比例原则r最终融合得到用户画像特征歌曲组,其中比例r由工程经验得出,每个特征所对应的比例系数r由该特征在实际应用所占比例系数得出,一般是一个固定的值;
S3、如图5所示,挑选出用户听歌流水相似歌曲组,包括下述步骤:
S31、基于用户听歌流水,挑选五组歌曲组,包括用户喜欢的歌曲并统计个数记录为n1、完整听歌歌曲并统计个数记录为n2、下载歌曲并统计个数记录为n3、分享歌曲并统计个数记录为n4、以及设置背景音乐歌曲并统计个数记录为n5,则所述用户听歌流水数据记录的歌曲个数总数为n=n1+n2+n3+n4+n5;
S32、对各组歌曲组设置权重系数以反映用户的听歌偏好,构建听歌流水歌曲组;在得到听歌流水歌曲组后,按照过滤方式计算出听歌流水相似歌曲组,即维护一个从听歌流水歌曲组到听歌流水相似歌曲组的映射F,F是计算歌曲相似度的规则函数,映射F即计算出听歌流水歌曲组的相似歌曲并按照相似度从高到低进行排列;步骤S32具体包括下述步骤:
S321、构建听歌流水歌曲组:假设权重系数ki代表从对应歌曲组里面取的歌曲的数量的比例,由于用户喜欢的歌曲和完整听歌的歌曲可反映出用户的听歌偏好,故设置用户喜欢的歌曲k1=1,完整听歌歌曲k2=1代表用户喜欢歌曲和用户完整听歌歌曲全部并归入听歌流水歌曲组;
对于下载歌曲k3、分享歌曲k4、以及设置背景音乐歌曲k5:当n小于等于300时,k3=k4=k5=1,则将下载歌曲、分享歌曲和设置背景音乐歌曲全部并归入听歌流水歌曲组;当n1+n2的值大于等于300时,k3=k4=k5=0,则不再使用下载歌曲、分享歌曲、以及设置背景音乐歌曲;当n1+n2的值小于300时,i=3,4,5,ni代表n3,n4,n5,则从n3,n4,n5中按比例抽补够300首歌曲,抽补的原则按照用户操作时间从高到低依次选取,即按比例抽取最近下载的歌曲、最近分享的歌曲、以及最近设置背景音乐的歌曲并补充至听歌流水歌曲组中;
S322、在获得听歌流水歌曲组后,按照item_cf协同过滤方式计算出听歌流水相似歌曲组,计算歌曲相似度的方法按如下步骤进行:
S3221、基于听歌流水,统计每个用户喜欢的歌曲,维护一个Uin-->songid_list的映射,其中Uin代表用户全局唯一的id,songid_list代表该用户喜欢的歌曲的列表,即统计每个用户喜欢哪些歌曲;
S3222、基于步骤S3221的统计,利用转置矩阵倒排方法,得到songid-->Uin_list的映射,其中songid代表每首歌的id,Uin_list代表喜欢该首歌的用户,即统计每首歌被哪些用户喜欢;
S3223、计算songidi和songidj这两首歌的相似度,具体公式为:
其中,Uin_list(i)表示喜欢歌曲i的用户数,Uin_list(j)表示喜欢歌曲j的用户数,|Uin_list(i)∩Uin_list(j)|表示同时喜欢歌曲i和歌曲j的用户数;由该公式得到曲库内任意两首歌之间的相似度;
S4、采用tensorflow框架进行搭建深度神经网络过滤模型,然后从用户听歌流水中抽取全部的用户听歌流水记录,按照训练集:测试集=3:1分成训练集和测试集,所述训练集用于训练深度神经网络过滤模型,所述测试集用于测试该模型的准确率;所述用户听歌流水记录中包含了用户特征信息以及对应的歌曲特征信息,深度神经网络过滤模型自动学习用户和歌曲的特征信息并对其中的特征加以线性和非线性的组合,通过不断的迭代训练使模型收敛;
S5、如图6所示,将召回歌曲组进行预处理,然后输入到完成训练的深度神经网络过滤模型进行过滤,再将过滤后的歌曲排序最终生成推荐给用户的歌曲组;具体包括下述步骤:
S51、所述预处理:召回歌曲组中的听歌流水相似歌曲由于相似度的计算可能会涉及一些违规的歌曲,对召回歌曲组进行初步过滤,过滤掉可能违规和不必要推荐的歌曲;用户黑名单歌曲或歌手,即用户明确不喜欢的丢入垃圾桶的歌曲或歌手要过滤;过滤的规则不止局限于以下规则:***黑名单歌曲,人工维护一个认为不适合推送给用户的歌曲列表,包括趣味低俗的歌曲、带广告的歌曲、以及关于宗教的歌曲或伴奏等;非同语种相似歌曲,即源歌曲和相似歌曲不是同语种的过滤掉相似歌曲;过滤掉用户喜欢的歌曲、用户分享的歌曲、用户完整听歌的歌曲、用户设置背景音乐的歌曲、以及用户最近听过的2000首歌的歌曲,即用户已经听过的歌曲没必要做个性化的推荐;
S52、将经过预处理的歌曲输入到完成训练的深度神经网络过滤模型,所述深度神经网络过滤模型将预测输出每首歌曲被喜欢或者被切歌的概率,被喜欢概率低于自定义阈值或者被切歌概率高于自定义阈值的歌曲将被过滤掉;输入深度神经网络模型的歌曲具有四种特征信息和其组合特征,所述四种特征信息具体为场景特征信息、歌曲特征信息、源歌曲特征信息、以及用户特征信息;所述组合特征通过用户听歌流水统计出来;
然后将每首歌的组合特征整合成一维的列向量输入深度神经网络过滤模型,该模型自动学习到场景特征信息、歌曲特征信息、源歌曲特征信息、用户特征信息、以及所述四种特征信息之间的线性与非线性关系,并由所述四种特征信息预测出当前歌曲被用户喜欢的概率或被切歌的概率。
S53、召回歌曲组经过深度神经网络过滤模型预测被喜欢或被切歌概率后,将根据自定义阈值过滤一批歌曲,然后再对过滤后的歌曲进行排序,排序步骤如下:
S531、根据用户可能喜欢的歌曲概率值从高到低排列该歌曲组;
S532、为避免一直推荐同样歌手的歌,需要对歌手进行打散,设置打散步长为S,相邻推荐的S首歌不能出现相同的歌手,被喜欢的概率低的同歌手的歌在步长S内被跳过;
S533、为丰富推荐的风格,则提前***被喜欢概率的歌,设一次推荐的歌曲的数目为M,依被喜欢概率从高到底排序M*2首歌,统计前M首歌中语言占比、流派占比、年代占比、以及节奏占比,超过自定义阈值从后M首歌中前置不同语言或不同流派或不同年代或不同节奏的歌曲。
在本实施例中,步骤S52中所述组合特征包含的特征如下:
当前年份、当前月份、当前时间、当前地点(由ip获得)、当前天气、当前温度;
歌曲是否live版、歌曲播放时长、歌曲时长、歌曲热度值(被多少人收藏)、歌曲流派、歌曲语种、歌曲年代、歌曲节奏、歌曲歌手;
源歌曲是否live版、源歌曲播放时长、源歌曲时长、源歌曲热度值(被多少人收藏)、源歌曲流派、源歌曲语种、源歌曲年代、源歌曲节奏、源歌曲歌手;
源歌曲推出歌曲播放次数、源歌曲操作时间、相似度距离、相似度、源歌曲与相似歌曲是否同歌手、源歌曲是否喜欢歌曲、源歌曲是否下载歌曲、源歌曲是否完整听完歌曲、源歌曲是否背景音乐歌曲、源歌曲是否分享歌曲、源歌曲被使用次数(被播放次数);
用户资产喜欢歌曲数占比、用户资产下载歌曲数占比、用户资产分享歌曲数占比、用户资产设置背景音乐占比、源歌曲被完整听歌次数、资产中源歌曲歌手占比、资产中源歌曲歌手最近完整听歌时间、资产中源歌曲年代占比、资产中源歌曲年代最近完整听歌时间、资产中源歌曲语种占比、资产中源歌曲语种最近完整听歌时间、资产中源歌曲流派占比、资产中源歌曲流派最近完整听歌时间、资产中源歌曲节奏占比、资产中源歌曲节奏最近完整听歌时间、用户年龄、用户性别;
源歌曲推出歌曲被喜欢占比、源歌曲推出歌曲被完整听歌占比、源歌曲推出歌曲被切歌占比、源歌曲推出歌曲被下载占比、源歌曲推出歌曲被丢垃圾桶占比、源歌曲推出歌曲被分享占比、源歌曲推出歌曲被设置背景音乐占比;
源歌曲歌手推出的歌曲被喜欢占比、源歌曲歌手推出歌曲被完整听歌占比、源歌曲歌手推出的歌曲被切歌占比、源歌曲歌手推出的歌曲被下载占比、源歌曲歌手推出的歌曲被丢垃圾桶占比、源歌曲歌手推出歌曲被分享占比、源歌曲歌手推出歌曲被设置背景音乐占比;
源歌曲流派推出歌曲被喜欢占比、源歌曲流派推出歌曲被完整听歌占比、源歌曲流派推出歌曲被切歌占比、源歌曲流派推出歌曲被下载占比、源歌曲流派推出歌曲被丢垃圾桶占比、源歌曲流派推出歌曲被分享占比、源歌曲流派推出歌曲被设置背景音乐占比;
源歌曲语种推出歌曲被喜欢占比、源歌曲语种推出歌曲被完整听歌占比、源歌曲语种推出歌曲被切歌占比、源歌曲语种推出歌曲被下载占比、源歌曲语种推出歌曲被丢垃圾桶占比、源歌曲语种推出歌曲被分享占比、源歌曲语种推出歌曲被设置背景音乐占比;
源歌曲年代推出歌曲被喜欢占比、源歌曲年代推出歌曲被完整听歌占比、源歌曲年代推出歌曲被切歌占比、源歌曲年代推出歌曲被下载占比、源歌曲年代推出歌曲被丢垃圾桶占比、源歌曲年代推出歌曲被分享占比、源歌曲年代推出歌曲被设置背景音乐占比;
源歌曲节奏推出歌曲被喜欢占比、源歌曲节奏推出歌曲被完整听歌占比、源歌曲节奏推出歌曲被切歌占比、源歌曲节奏推出歌曲被下载占比、源歌曲节奏推出歌曲被丢垃圾桶占比、源歌曲节奏推出歌曲被分享占比、源歌曲节奏推出歌曲被设置背景音乐占比;
上个周期完整听歌最多语种、上个周期切歌最多的语种、上个周期喜欢最多的语种、上个周期下载最多的语种、上个周期丢垃圾桶最多的语种;
上个周期完整听歌最多流派、上个周期切歌最多的流派、上个周期喜欢最多的流派、上个周期下载最多的流派、上个周期丢垃圾桶最多的流派;
上个周期完整听歌最多歌手、上个周期切歌最多的歌手、上个周期喜欢最多的歌手、上个周期下载最多的歌手、上个周期丢垃圾桶最多的歌手;
上个周期完整听歌最多节奏、上个周期切歌最多的节奏、上个周期喜欢最多的节奏、上个周期下载最多的节奏、上个周期丢垃圾桶最多的节奏。
本实施例中深度神经网络的模型采用tensorflow框架进行搭建,每一层的设置按一般方法容易实现,创新性在于用所述深度神经网络的模型学习底层的歌曲特征、用户特征、以及行为特征来做歌曲的过滤,再进行推荐。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以权利要求所述为准。
Claims (9)
1.一种基于深度学习的个性化音乐推荐***的实现方法,所述个性化音乐推荐***包括用户听歌记录***、歌曲召回模型以及深度神经网络过滤模型,其特征在于,所述方法包括下述步骤:
S1、所述用户听歌记录***对于不能获取到的用户画像特征置为空,对于能获取到的用户画像特征则记录下真实的值;
S2、挑选出用户画像歌曲组:从用户听歌流水统计已有的用户画像特征所对应的歌曲组合,根据每个用户画像特征的不同维度来维护一个喜欢的歌曲列表;对于一个新进用户,基于该用户已有的用户画像特征从已经统计的用户画像特征维度映射到一组喜欢的歌曲组合;
S3、挑选出用户听歌流水相似歌曲组,包括下述步骤:
S31、基于用户听歌流水,挑选五组歌曲组,包括用户喜欢的歌曲并统计个数记录为n1、完整听歌歌曲并统计个数记录为n2、下载歌曲并统计个数记录为n3、分享歌曲并统计个数记录为n4、以及设置背景音乐歌曲并统计个数记录为n5,则所述用户听歌流水数据记录的歌曲个数总数为n=n1+n2+n3+n4+n5;
S32、对各组歌曲组设置权重系数以反映用户的听歌偏好,构建听歌流水歌曲组;在得到听歌流水歌曲组后,按照过滤方式计算出听歌流水相似歌曲组,即维护一个从听歌流水歌曲组到听歌流水相似歌曲组的映射F,F是计算歌曲相似度的规则函数,映射F即计算出听歌流水歌曲组的相似歌曲并按照相似度从高到低进行排列;
S4、构建深度神经网络过滤模型,并进行训练和测试;从用户听歌流水中抽取全部的用户听歌流水记录,分成训练集和测试集,所述训练集用于训练深度神经网络过滤模型,所述测试集用于测试该模型的准确率;
S5、将召回歌曲组进行预处理,然后输入到完成训练的深度神经网络过滤模型;所述召回歌曲组包括用户画像歌曲组和用户听歌流水相似歌曲组;
S51、所述预处理:对召回歌曲组进行初步过滤,过滤掉可能违规和不必要推荐的歌曲;
S52、将经过预处理的歌曲输入到完成训练的深度神经网络过滤模型,所述深度神经网络过滤模型将预测输出每首歌曲被喜欢或者被切歌的概率,被喜欢概率低于自定义阈值或者被切歌概率高于自定义阈值的歌曲将被过滤掉;输入深度神经网络模型的歌曲具有四种特征信息和其组合特征,所述四种特征信息具体为场景特征信息、歌曲特征信息、源歌曲特征信息、以及用户特征信息;所述组合特征通过用户听歌流水统计出来;
S53、召回歌曲组经过深度神经网络过滤模型预测被喜欢或被切歌概率后,将根据自定义阈值过滤一批歌曲,然后再对过滤后的歌曲进行排序;
所述用户听歌记录***给每位用户分配一个全局唯一的账号,用于记录用户信息以及用户操作记录,获取用户画像特征和用户听歌流水;
所述歌曲召回模型根据用户听歌记录***和海量歌曲库构建召回歌曲组,所述召回歌曲组包括用户画像歌曲组和用户听歌流水相似歌曲组;
根据用户听歌记录***,所述深度神经网络过滤模型从用户听歌流水中抽取全部的用户听歌流水记录,分成训练集和测试集,所述训练集用于训练深度神经网络过滤模型,所述测试集用于测试该模型的准确率;完成训练的深度神经网络过滤模型用于过滤所述歌曲召回模型推荐出来的召回歌曲组,经过深度神经网络过滤模型过滤排序之后最终生成推荐给用户的歌曲组合。
2.根据权利要求1所述的实现方法,其特征在于,步骤S32具体包括下述步骤:
S321、构建听歌流水歌曲组:假设权重系数ki代表从对应歌曲组里面取的歌曲的数量的比例,由于用户喜欢的歌曲和完整听歌的歌曲可反映出用户的听歌偏好,故设置用户喜欢的歌曲k1=1,完整听歌歌曲k2=1,代表用户喜欢歌曲和用户完整听歌歌曲全部并归入听歌流水歌曲组;
对于下载歌曲k3、分享歌曲k4、以及设置背景音乐歌曲k5:当n小于等于300时,k3=k4=k5=1,则将下载歌曲、分享歌曲和设置背景音乐歌曲全部并归入听歌流水歌曲组;当n1+n2的值大于等于300时,k3=k4=k5=0,则不再使用下载歌曲、分享歌曲、以及设置背景音乐歌曲;当n1+n2的值小于300时,ni代表n3,n4,n5,则从n3,n4,n5中按比例抽补够300首歌曲,抽补的原则按照用户操作时间从高到低依次选取,即按比例抽取最近下载的歌曲、最近分享的歌曲、以及最近设置背景音乐的歌曲并补充至听歌流水歌曲组中;
S322、在获得听歌流水歌曲组后,按照item_cf协同过滤方式计算出听歌流水相似歌曲组,计算歌曲相似度的方法按如下步骤进行:
S3221、基于听歌流水,统计每个用户喜欢的歌曲,维护一个Uin-->songid_list的映射,其中Uin代表用户全局唯一的id,songid_list代表该用户喜欢的歌曲的列表,即统计每个用户喜欢哪些歌曲;
S3222、基于步骤S3221的统计,利用转置矩阵倒排方法,得到songid-->Uin_list的映射,其中songid代表每首歌的id,Uin_list代表喜欢该首歌的用户,即统计每首歌被哪些用户喜欢;
S3223、计算songid(i)和songid(j)这两首歌的相似度,具体公式为:
其中,Uin_list(i)表示欢歌曲i的用户数,Uin_list(j)表示喜欢歌曲j的用户数,|Uin_list(i)∩Uin_list(j)|表示同时喜欢歌曲i和歌曲j的用户数;由该公式得到曲库内任意两首歌之间的相似度。
3.根据权利要求1所述的实现方法,其特征在于,步骤S4中,所述深度神经网络过滤模型采用tensorflow框架进行搭建,从用户听歌流水中抽取全部的用户听歌流水记录,按照训练集:测试集=3:1分成训练集和测试集;所述用户听歌流水记录中包含了用户特征信息以及对应的歌曲特征信息,深度神经网络过滤模型自动学习用户和歌曲的特征信息并对其中的特征加以线性和非线性的组合,通过不断的迭代训练使模型收敛。
4.根据权利要求1所述的实现方法,其特征在于,步骤S51中,所述对召回歌曲组进行初步过滤,过滤的规则如下:
用户黑名单歌曲或歌手,即用户明确不喜欢的丢入垃圾桶的歌曲或歌手要过滤;***黑名单歌曲,人工维护一个认为不适合推送给用户的歌曲列表,包括趣味低俗的歌曲、带广告的歌曲、以及关于宗教的歌曲或伴奏;非同语种相似歌曲,即源歌曲和相似歌曲不是同语种的过滤掉相似歌曲;过滤掉用户喜欢的歌曲、用户分享的歌曲、用户完整听歌的歌曲、用户设置背景音乐的歌曲、以及用户最近听过的2000首歌的歌曲,即用户已经听过的歌曲没必要做个性化的推荐。
5.根据权利要求1所述的实现方法,其特征在于,步骤S52中,将每首歌的组合特征整合成一维的列向量输入深度神经网络过滤模型,该模型自动学习到场景特征信息、歌曲特征信息、源歌曲特征信息、用户特征信息、以及所述四种特征信息之间的线性与非线性关系,并由所述四种特征信息预测出当前歌曲被用户喜欢的概率或被切歌的概率。
6.根据权利要求1所述的实现方法,其特征在于,所述步骤S53中的对过滤后的歌曲进行排序,具体步骤如下:
S531、根据用户可能喜欢的歌曲概率值从高到低排列该歌曲组;
S532、为避免一直推荐同样歌手的歌,需要对歌手进行打散,设置打散步长为S,相邻推荐的S首歌不能出现相同的歌手,被喜欢的概率低的同歌手的歌在步长S内被跳过;
S533、为丰富推荐的风格,则提前***被喜欢概率的歌,设一次推荐的歌曲的数目为M,依被喜欢概率从高到底排序M*2首歌,统计前M首歌中语言占比、流派占比、年代占比、以及节奏占比,超过自定义阈值从后M首歌中前置不同语言或不同流派或不同年代或不同节奏的歌曲。
7.根据权利要求1所述的实现方法,其特征在于,所述用户的信息也即用户画像特征,包含:用户的年龄、用户的性别、用户的职业、用户所在地区、用户喜欢的歌手、用户不喜欢的歌手、用户喜欢的歌曲流派、用户不喜欢的歌曲流派、用户喜欢的歌曲语种、以及用户不喜欢的歌曲语种;
所述用户操作记录也即用户听歌流水,包含:用户喜欢的歌曲、用户分享的歌曲、用户下载的歌曲、用户完整听歌的歌曲、用户评论的歌曲、用户设置为背景音乐的歌曲、用户丢垃圾桶的歌曲、用户切歌的歌曲、用户最近听过的歌曲、源歌曲推出被喜欢的歌曲、源歌曲推出被完整听歌的歌曲、源歌曲推出被切歌的歌曲、源歌曲推出被丢垃圾桶的歌曲、以及源歌曲推出被下载的歌曲;所述源歌曲为计算相似歌曲所依据的歌曲。
8.根据权利要求1所述的实现方法,其特征在于,对于用户画像歌曲组,所述歌曲召回模型,基于用户画像特征利用统计学原理从海量歌曲库中统计出每种用户画像特征所维系的歌曲组,根据用户已有的用户画像特征从曲库中筛选出用户画像歌曲组;
对于用户听歌流水相似歌曲组,所述歌曲召回模型,基于用户听歌流水,根据不同的用户操作记录维护一个用户听歌流水到候选歌曲组的映射,所述候选歌曲组为从千万级别的海量曲库中挑选出一万首以内的歌曲作为推荐给用户的歌曲组,然后再根据目标用户不同的听歌流水操作列表中的歌曲列表计算出相似的歌曲,并维护一个相似歌曲组合构建用户听歌流水相似歌曲组。
9.根据权利要求1所述的实现方法,其特征在于,所述深度神经网络过滤模型采用tensorflow框架进行搭建;将歌曲召回模型推荐出来的召回歌曲组、歌曲特征和用户画像特征输入深度神经网络过滤模型进行过滤,过滤的方式采用深度神经网络过滤模型预测歌曲的切歌概率或者预测歌曲被喜欢的概率,按照概率进行排序,然后还要过滤掉一些歌曲再排序后给用户推荐个性化的歌曲组。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810213304.4A CN108509534B (zh) | 2018-03-15 | 2018-03-15 | 基于深度学习的个性化音乐推荐***及其实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810213304.4A CN108509534B (zh) | 2018-03-15 | 2018-03-15 | 基于深度学习的个性化音乐推荐***及其实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108509534A CN108509534A (zh) | 2018-09-07 |
CN108509534B true CN108509534B (zh) | 2022-03-25 |
Family
ID=63377644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810213304.4A Active CN108509534B (zh) | 2018-03-15 | 2018-03-15 | 基于深度学习的个性化音乐推荐***及其实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108509534B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109582817A (zh) * | 2018-10-30 | 2019-04-05 | 努比亚技术有限公司 | 一种歌曲推荐方法、终端及计算机可读存储介质 |
CN109446350B (zh) * | 2018-11-09 | 2022-03-15 | 腾讯音乐娱乐科技(深圳)有限公司 | 多媒体播放方法、装置、终端及存储介质 |
CN109739972A (zh) * | 2018-12-27 | 2019-05-10 | 上海连尚网络科技有限公司 | 一种小说推荐方法及设备 |
US11157557B2 (en) * | 2019-01-18 | 2021-10-26 | Snap Inc. | Systems and methods for searching and ranking personalized videos |
CN109982155B (zh) * | 2019-03-25 | 2021-10-12 | 北京奇艺世纪科技有限公司 | 一种播单推荐方法及*** |
CN110222226B (zh) * | 2019-04-17 | 2024-03-12 | 平安科技(深圳)有限公司 | 基于神经网络的以词生成节奏的方法、装置及存储介质 |
CN110442746B (zh) * | 2019-07-01 | 2023-04-28 | 佛山科学技术学院 | 一种基于随机森林算法的智能音乐推送方法及存储介质 |
CN110675893B (zh) * | 2019-09-19 | 2022-04-05 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种歌曲识别方法、装置、存储介质及电子设备 |
CN110807693A (zh) * | 2019-11-04 | 2020-02-18 | 上海喜马拉雅科技有限公司 | 专辑的推荐方法、装置、设备和存储介质 |
CN110942376B (zh) * | 2019-12-02 | 2023-09-01 | 上海麦克风文化传媒有限公司 | 一种音频类产品的实时多召回策略的融合方法 |
CN111078931B (zh) * | 2019-12-10 | 2023-08-01 | 腾讯科技(深圳)有限公司 | 歌单推送方法、装置、计算机设备及存储介质 |
CN110990621B (zh) * | 2019-12-16 | 2023-10-13 | 腾讯科技(深圳)有限公司 | 歌曲推荐方法及装置 |
CN111209953B (zh) * | 2020-01-03 | 2024-01-16 | 腾讯科技(深圳)有限公司 | 近邻向量的召回方法、装置、计算机设备及存储介质 |
CN110930203A (zh) * | 2020-02-17 | 2020-03-27 | 京东数字科技控股有限公司 | 信息推荐模型训练方法和装置、信息推荐方法和装置 |
CN111324813A (zh) * | 2020-02-20 | 2020-06-23 | 深圳前海微众银行股份有限公司 | 推荐方法、装置、设备及计算机可读存储介质 |
CN111488485B (zh) * | 2020-04-16 | 2023-11-17 | 北京雷石天地电子技术有限公司 | 基于卷积神经网络的音乐推荐方法、存储介质和电子装置 |
CN112287160B (zh) * | 2020-10-28 | 2023-12-12 | 广州欢聊网络科技有限公司 | 一种音频数据的排序方法、装置、计算机设备和存储介质 |
CN112333596B (zh) * | 2020-11-05 | 2024-06-04 | 江苏紫米电子技术有限公司 | 一种耳机均衡器的调整方法、装置、服务器及介质 |
CN112860937B (zh) * | 2021-01-28 | 2022-09-02 | 陕西师范大学 | 一种基于knn和词嵌入的混合音乐推荐方法、***及设备 |
CN113055059B (zh) * | 2021-02-01 | 2022-08-09 | 厦门大学 | 针对大规模mimo毫米波通信的波束管理方法与毫米波基站 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105574216A (zh) * | 2016-03-07 | 2016-05-11 | 达而观信息科技(上海)有限公司 | 基于概率模型和用户行为分析的个性化推荐方法、*** |
CN105930429A (zh) * | 2016-04-19 | 2016-09-07 | 乐视控股(北京)有限公司 | 一种音乐推荐的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120023403A1 (en) * | 2010-07-21 | 2012-01-26 | Tilman Herberger | System and method for dynamic generation of individualized playlists according to user selection of musical features |
-
2018
- 2018-03-15 CN CN201810213304.4A patent/CN108509534B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105574216A (zh) * | 2016-03-07 | 2016-05-11 | 达而观信息科技(上海)有限公司 | 基于概率模型和用户行为分析的个性化推荐方法、*** |
CN105930429A (zh) * | 2016-04-19 | 2016-09-07 | 乐视控股(北京)有限公司 | 一种音乐推荐的方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于DNN算法的移动视频推荐策略;陈亮 等;《计算机学报》;20160831;第39卷(第8期);1626-1638 * |
Also Published As
Publication number | Publication date |
---|---|
CN108509534A (zh) | 2018-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108509534B (zh) | 基于深度学习的个性化音乐推荐***及其实现方法 | |
CN104731954B (zh) | 基于群透视音乐推荐方法与*** | |
CN110297848A (zh) | 基于联邦学习的推荐模型训练方法、终端及存储介质 | |
CN110704674B (zh) | 一种视频播放完整度预测方法及装置 | |
CN103455538B (zh) | 信息处理装置、信息处理方法和程序 | |
CN108021568B (zh) | 一种歌单推荐方法及装置 | |
CN106105107A (zh) | 用于分析和合成社交通信数据的***和方法 | |
CN105975496A (zh) | 一种基于上下文感知的音乐推荐方法及装置 | |
CN106326351A (zh) | 一种基于用户反馈的推荐***冷启动解决方法 | |
KR20080089545A (ko) | 정보 처리 장치 및 방법, 및 프로그램 | |
CN102654859A (zh) | 一种歌曲推荐方法及*** | |
CA2610038A1 (en) | Providing community-based media item ratings to users | |
DE102008044635A1 (de) | Vorrichtung und Verfahren zum Bereitstellen einer Fernsehsequenz | |
Kruger et al. | A 3E typology of visitors at an electronic dance music festival | |
CN105681908A (zh) | 基于个体收视行为的广播电视***及其个性节目推荐方法 | |
CN109271550A (zh) | 一种基于深度学习的音乐个性化分类推荐方法 | |
CN107977373A (zh) | 一种歌曲的推荐方法 | |
CN105590240A (zh) | 一种品牌广告效果优化的离散计算方法 | |
CN107920260A (zh) | 数字电视用户行为预测方法及装置 | |
CN104268130A (zh) | 一种面向Twitter的社交广告可投放性分析方法 | |
CN106604068B (zh) | 一种更新媒体节目的方法及其*** | |
Baur et al. | Listening factors: A large-scale principal components analysis of long-term music listening histories | |
CN109508407A (zh) | 融合时间与兴趣相似度的电视产品推荐方法 | |
CN116861063B (zh) | 一种发掘社媒热搜商业价值度的方法 | |
KR102643159B1 (ko) | 인공지능 매칭 알고리즘을 이용한 온라인 영화 제작 플랫폼 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |