CN109857900A - 一种相似歌曲推荐方法以及相关设备 - Google Patents
一种相似歌曲推荐方法以及相关设备 Download PDFInfo
- Publication number
- CN109857900A CN109857900A CN201910114577.8A CN201910114577A CN109857900A CN 109857900 A CN109857900 A CN 109857900A CN 201910114577 A CN201910114577 A CN 201910114577A CN 109857900 A CN109857900 A CN 109857900A
- Authority
- CN
- China
- Prior art keywords
- song
- term vector
- vector
- attributes
- similarity
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 239000013598 vector Substances 0.000 claims abstract description 357
- 238000003860 storage Methods 0.000 claims abstract description 19
- 238000004590 computer program Methods 0.000 claims description 15
- 238000009826 distribution Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000012549 training Methods 0.000 description 6
- 241000209094 Oryza Species 0.000 description 4
- 235000007164 Oryza sativa Nutrition 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 235000009566 rice Nutrition 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 2
- 210000005036 nerve Anatomy 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000002304 perfume Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种相似歌曲推荐方法、装置、电子设备及计算机可读存储介质,该方法包括:接收指令,其中所述指令用于查询第一歌曲的相似歌曲;若所述第一歌曲为新歌曲,根据预存词向量集合,获取所述第一歌曲的多个歌曲属性词向量,其中所述新歌曲为在所述预存词向量集合中没有对应向量的歌曲;根据所述第一歌曲的多个歌曲属性词向量,得到所述第一歌曲的歌曲词向量;确定所述第一歌曲的歌曲词向量与第二歌曲的歌曲词向量的相似度;若所述相似度大于预设阈值,将所述第二歌曲推送给目标用户。通过本发明,可以实现了包括新歌曲在内的相似歌曲实时推荐。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种相似歌曲推荐方法以及相关设备。
背景技术
随着网络的普及和歌曲的制作越来越便利,每天都有成千上万的新歌曲涌现,未来的一段时间内歌曲量将呈现指数增长。歌曲海量化累计的同时,用户也表现出明显的个性化音乐喜好。例如,用户偏爱某一首歌曲,往往希望继续收听这种类型的歌曲。在数量庞大的歌曲库中,如何根据用户偏爱的这首歌曲,向用户推荐与该歌曲相似的其他歌曲,成为目前所要解决的问题。
在现有技术的方案中,可以根据用户偏爱的歌曲,从已有的歌曲库向用户推荐相似的歌曲,但是其歌曲的推荐范围局限于现有的歌曲库,无法覆盖到新发布的歌曲。面对每天成千上万新歌曲的发布,现有技术的方案采用定期计算的方式来使歌曲的推荐范围覆盖到新歌曲,然而这种方式存在滞后性,无法实时地将新歌曲作为相似歌曲推荐给用户。
发明内容
本发明实施例提供一种相似歌曲推荐方法、装置、电子设备及计算机可读存储介质,实现了包括新歌曲在内的相似歌曲实时推荐。
第一方面,本发明实施例提供了一种相似歌曲推荐方法,该方法包括:
接收指令,其中所述指令用于查询第一歌曲的相似歌曲,所述第一歌曲包括多个歌曲属性;
在所述第一歌曲为新歌曲,根据预存词向量集合,获取所述第一歌曲的多个歌曲属性词向量,其中所述新歌曲为在所述预存词向量集合中没有对应向量的歌曲,所述歌曲属性词向量与所述歌曲属性一一对应;
根据所述第一歌曲的多个歌曲属性词向量,得到所述第一歌曲的歌曲词向量;
确定所述第一歌曲的歌曲词向量与第二歌曲的歌曲词向量的相似度,其中所述第二歌曲的歌曲词向量是从所述词向量集合中获取的;
若所述相似度大于预设阈值,将所述第二歌曲推送给目标用户。
在一具体的实现中,所述相似歌曲推荐方法还包括:
若所述第一歌曲为旧歌曲,根据所述预存词向量集合,获取所述第一歌曲的歌曲词向量,其中所述旧歌曲为在所述预存词向量集合中没有对应向量的歌曲;
确定所述第一歌曲的歌曲词向量与第三歌曲的歌曲词向量的相似度,其中所述第三歌曲的歌曲词向量是从所述词向量集合中获取的;
若所述相似度大于预设阈值,将所述第三歌曲推送给所述目标用户。
可选地,所述根据所述多个歌曲属性词向量,得到所述第一歌曲的歌曲词向量,包括:
对所述多个歌曲属性词向量进行加权平均,得到平均向量;
将所述平均向量作为所述第一歌曲的所述歌曲词向量。
可选地,所述确定所述第一歌曲的歌曲词向量与第二歌曲的歌曲词向量的相似度,包括:确定所述第一歌曲的歌曲词向量与所述第二歌曲的歌曲词向量夹角之间的余弦值,得到所述第一歌曲的歌曲词向量与所述第二歌曲的歌曲词向量的相似度;
可选地,所述确定所述第一歌曲的歌曲词向量与第三歌曲的歌曲词向量的相似度,包括:确定所述第一歌曲的歌曲词向量与所述第三歌曲的歌曲词向量夹角之间的余弦值,得到所述第一歌曲的歌曲词向量与所述第三歌曲的歌曲词向量的相似度。
在一具体的实现中,所述歌曲属性包括所述歌曲的创作者、演唱者、发行时间、发行地域、所属专辑、流派和语言中的任意一种或者多种组合。
第二方面,本发明实施例提供了一种相似歌曲推荐装置,该装置包括:接收单元,获取单元,综合单元,相似度确定单元,推送单元,
所述接收单元用于,接收指令,其中所述指令用于查询第一歌曲的相似歌曲,所述第一歌曲包括多个歌曲属性;
所述获取单元用于,若所述第一歌曲为新歌曲,根据预存词向量集合,获取所述第一歌曲的多个歌曲属性词向量,其中所述新歌曲为在所述预存词向量集合中没有对应向量的歌曲,所述歌曲属性词向量与所述歌曲属性一一对应;
所述综合单元用于,根据所述第一歌曲的多个歌曲属性词向量,得到所述第一歌曲的歌曲词向量;
所述相似度确定单元用于,确定所述第一歌曲的歌曲词向量与第二歌曲的歌曲词向量的相似度,其中所述第二歌曲的歌曲词向量是从所述词向量集合中获取的;
所述推送单元用于,若所述相似度大于预设阈值,将所述第二歌曲推送给目标用户。
在一些实施例中,所述获取单元还用于,若所述第一歌曲为旧歌曲,根据所述预存词向量集合,获取所述第一歌曲的歌曲词向量,其中所述旧歌曲为在所述预存词向量集合中没有对应向量的歌曲;所述确定单元还用于,确定所述第一歌曲的歌曲词向量与第三歌曲的歌曲词向量的相似度,其中所述第三歌曲的歌曲词向量是从所述预存词向量集合中获取的;所述推送单元还用于,若所述相似度大于预设阈值,将所述第三歌曲推送给所述目标用户。
在一些实施例中,所述综合单元具体用于,对所述多个歌曲属性词向量进行加权平均,得到平均向量;将所述平均向量作为所述第一歌曲的所述歌曲词向量。
在一些实施例中,所述确定单元具体用于,确定所述第一歌曲的歌曲词向量与所述第二歌曲的歌曲词向量夹角之间的余弦值,得到所述第一歌曲的歌曲词向量与所述第二歌曲的歌曲词向量的相似度;确定所述第一歌曲的歌曲词向量与所述第三歌曲的歌曲词向量夹角之间的余弦值,得到所述第一歌曲的歌曲词向量与所述第三歌曲的歌曲词向量的相似度。在一具体的实现中,所述歌曲属性包括所述歌曲的创作者、演唱者、发行时间、发行地域、所属专辑、流派和语言中的任意一种或者多种组合。
第三方面,本发明实施例提供了一种电子设备,该电子设备包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行本发明任一实施例所述相似歌曲推荐方法的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行本发明任一实施例所述相似歌曲推荐方法的步骤。
基于本发明上述实施例提供的相似歌曲推荐方法、装置、电子设备及计算机可读存储介质,相似歌曲推荐装置通过综合新歌曲的歌曲属性词向量,得到新歌曲的歌曲词向量,而新歌曲的歌曲属性词向量可以通过预存的词向量集合获得。因此,对于新发布的歌曲,可通过该歌曲的歌曲属性词向量来得到该歌曲的歌曲词向量,再通过计算不同歌曲之间歌曲词向量的距离,来确定歌曲之间的相似度,从而实现了包括新歌曲在内的相似歌曲实时推荐。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种相似歌曲推荐方法的流程示意图;
图2是本发明实施例提供的一种歌曲词向量计算方法;
图3是本发明实施例提供的一种相似歌曲推荐装置的结构示意图;
图4是本发明实施例提供的一种电子设备的结构示意图;
图5是本发明实施例提供的一种涉及实施环境的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
首先,介绍本申请涉及的主要发明构思。
现有技术中的歌曲推荐装置,可根据用户偏爱的歌曲,从已有的歌曲库向用户推荐相似的歌曲,但其歌曲推荐范围局限于现有的歌曲库,无法覆盖到新发布的歌曲。面对每天成千上万新歌曲的发布,现有技术的方案采用定期覆盖的方式来使歌曲的推荐范围包括新歌曲,然而这种方式存在滞后性,无法将新歌曲作为相似歌曲实时地推荐给用户。为解决上述问题,本发明提出一种相似歌曲推荐方法,其创新点在于:首先,接收指令,其中所述指令用于查询第一歌曲的相似歌曲,所述第一歌曲包括多个歌曲属性;其次,若所述第一歌曲为新歌曲,根据预存词向量集合,获取所述第一歌曲的多个歌曲属性词向量,其中所述新歌曲为在所述预存词向量集合中没有对应向量的歌曲,所述歌曲属性词向量与所述歌曲属性一一对应;之后,根据所述第一歌曲的多个歌曲属性词向量,得到所述第一歌曲的歌曲词向量;然后,确定所述第一歌曲的歌曲词向量与第二歌曲的歌曲词向量的相似度,其中所述第二歌曲的歌曲词向量是从所述词向量集合中获取的;最后,若所述相似度大于预设阈值,将所述第二歌曲推送给目标用户。对于新歌曲,可通过该歌曲的歌曲属性词向量来得到该歌曲的歌曲词向量,而歌曲词向量可以从预存词向量集合中获得,再通过计算不同歌曲之间歌曲词向量的距离,来确定歌曲之间的相似度,从而实现了包括新歌曲在内的相似歌曲实时推荐。
基于上述发明构思,下面结合图1所示的本发明实施例提供的一种相似歌曲推荐方法的流程示意图,具体说明本发明实施例如何推荐相似歌曲,该方法包括但不限于如下步骤S101-S105:
S101、接收指令,其中所述指令用于查询第一歌曲的相似歌曲,所述第一歌曲包括多个歌曲属性。
S102、若所述第一歌曲为新歌曲,根据预存词向量集合,获取所述第一歌曲的多个歌曲属性词向量,其中所述新歌曲为在所述预存词向量集合中没有对应向量的歌曲,所述歌曲属性词向量与所述歌曲属性一一对应。
在本发明相似歌曲推荐方法的实施例中,通过机器学习的方式计算歌曲之间的相似度,需要将自然语言中的实体词数学化,这里预先设置并存储每个实体词的词向量。具体来说,在本发明中,所述实体词包括歌曲名称以及该歌曲的多个歌曲属性,通过机器学习的方式将所述歌曲名称和歌曲属性数学化,使用词向量的形式表示所述歌曲名称和歌曲属性。
可选地,词向量是将一个实体词用向量形式表示的数学表达方式,具体地,将一个实体词转化成词向量可以通过词转化为向量工具(如,word2vec工具)实现,应理解,上述例子仅仅用于举例,不应构成具体限定。
可选地,自然语言处理领域中,机器判断两个实体词是否相似同义,可通过计算这两个实体词所属上下文环境的相似度确定,若这两个词的上下文环境十分相似,则机器认为这两个实体词为同义词。同样地,在本发明相似歌曲推荐方法的实施例中,使用深度神经网络来训练词向量,将用户歌曲收听列表作为深度神经网络的语言学习环境(语料库),在选取用户歌曲收听列表的一个歌曲作为中心词后,则用户歌曲收听列表中的其他歌曲以及歌曲属性作为中心词的上下文,若两个歌曲的上下文十分相似,则这两个歌曲通过深度神经网络训练得到的两个歌曲词向量在向量空间的距离是十分接近的。
举例来说,例如如表1所示的用户歌曲收听列表,选取《十年》作为中心词后,则《听妈妈的话》、《稻香》以及该用户歌曲收听列表的其余歌曲作为所述中心词的上下文,若100个用户中有超过90个用户都有如下听歌行为:连续收听了《听妈妈的话》,《十年》,《稻香》,则认为《听妈妈的话》,《十年》,《稻香》这3首歌曲是相似歌曲,这3首歌曲通过深度神经网络训练得到的3个词向量在向量空间中位置分布是相邻接近的。应理解,上述例子仅仅用于举例,不应构成具体限定。
表1用户歌曲收听列表
在本发明相似歌曲推荐方法的一个具体的实施例中,使用基于上下文预测中心词的深度神经网络(如skip-gram模型)来训练歌曲词向量和歌曲属性词向量,将训练得到的词向量集合预先部署至线上服务器,其中所述词向量集合包括歌曲词向量和歌曲属性词向量,所述S101步骤中,请求查询所述第一歌曲的相似歌曲,若所述第一歌曲为新歌曲的情况下,在所述预先部署至线上服务器的词向量集合中没有与所述第一歌曲对应的歌曲词向量,但由于所述第一歌曲的歌曲属性是已知的,所以可以从所述预先部署至线上服务器的词向量集合匹配到所述第一歌曲的歌曲属性对应的歌曲属性词向量。
举例来说,例如新发布的歌曲a,在所述词向量集合中没有歌曲a对应的歌曲词向量,但是歌曲a的歌曲属性a1,a2,a3,a4是已知的,而所述词向量集合中包括歌曲属性a1,a2,a3,a4对应的歌曲属性词向量A1,A2,A3,A4,通过综合歌曲属性词向量A1,A2,A3,A4,从而得到歌曲a的歌曲词向量。
S103、根据所述第一歌曲的多个歌曲属性词向量,得到所述第一歌曲的歌曲词向量。
可选地,根据所述第一歌曲的多个歌曲属性词向量,得到所述第一歌曲的歌曲词向量,可以通过如下方式实现:对所述多个歌曲属性词向量进行加权平均,得到平均向量;将所述平均向量作为所述第一歌曲的所述歌曲词向量。
举例来说,参见图2,图2是本发明实施例提供的一种歌曲词向量计算方法。如图2所示,若所述第一歌曲包含5个歌曲属性,且通过步骤S102从预存的词向量集合获取所述第一歌曲的5个歌曲属性词向量,分别为H1,H2,H3,H4,H5,且各个歌曲属性的加权值均为1,则所述第一歌曲的歌曲词向量为:应理解,上述例子仅仅用于举例,不应构成具体限定。
可选的,词向量是将一个词用向量的方式表示,向量的每个元素可以为数字,举个例子,“听妈妈的话”表示为词向量[0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0……];“稻香”表示为词向量[0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0……];“十年”表示为词向量[0 0 0 0 0 00 0 0 0 0 1 0 0 0 0……];或者,词向量可以表示为[0.628,-0.178,-0.407,0.169,-0.762,……]。应理解,上述词向量的例子仅仅用于举例,不应构成具体限定。
S104、确定所述第一歌曲的歌曲词向量与第二歌曲的歌曲词向量的相似度,其中所述第二歌曲的歌曲词向量是从所述预存的词向量集合中获取的。
在本发明相似歌曲推荐方法的一个具体的实施例中,所述确定所述第一歌曲的歌曲词向量与第二歌曲的歌曲词向量的相似度,可以通过如下方式实现:确定所述第一歌曲的歌曲词向量与所述第二歌曲的歌曲词向量夹角之间的余弦值,从而得到所述第一歌曲的歌曲词向量与所述第二歌曲的歌曲词向量的相似度。
可选地,通过确定所述第一歌曲的歌曲词向量与预存的词向量集合中多个歌曲词向量中每一歌曲词向量的余弦相似度,所述余弦相似度是通过计算两个向量之间夹角的余弦值得到的,再根据余弦相似度的高低排名,将与所述第一歌曲最相似的一首或者多首歌曲作为推荐歌单推送给所述第一用户。
S105、若所述相似度大于预设阈值,将所述第二歌曲推送给目标用户。
在本发明相似歌曲推荐方法的一个具体的实施例中,若所述相似度超过预设阈值,在将所述第二歌曲推送给所述第一用户之后,所述方法还包括:接收所述第一用户对推荐的所述第二歌曲的满意程度评分,将所述满意程度评分反馈至所述相似歌曲推荐装置,所述相似歌曲推荐装置根据所述满意程度评分调节所述深度神经网络训练词向量的策略。
在本发明相似歌曲推荐方法的一个具体的实施例中,所述相似歌曲推荐方法还包括:在所述第一歌曲为旧歌曲的情况下,根据所述预存词向量集合,获取所述第一歌曲的歌曲词向量,其中所述就歌曲为在所述预存词向量集合中没有对应向量的歌曲;确定所述第一歌曲的歌曲词向量与第三歌曲的歌曲词向量的相似度,其中所述第三歌曲的歌曲词向量是从所述预存词向量集合获取的;若所述相似度超过预设阈值,将所述第三歌曲推送给所述目标用户。
可选地,所述确定所述第一歌曲的歌曲词向量与第三歌曲的歌曲词向量的相似度,可以通过如下方式实现:确定所述第一歌曲的歌曲词向量与所述第三歌曲的歌曲词向量夹角之间的余弦值,得到所述第一歌曲的歌曲词向量与所述第三歌曲的歌曲词向量的相似度。
可选地,所述歌曲属性包括所述歌曲的创作者、演唱者、发行时间、发行地域、所属专辑、流派和语言中的任意一种或者多种组合,应认为,所述歌曲属性还可以包括其他歌曲属性,此处不再一一列举。
基于本发明上述实施例提供的相似歌曲推荐方法,首先,接收指令,其中所述指令,用于查询第一歌曲的相似歌曲,所述第一歌曲包括多个歌曲属性;其次,若所述第一歌曲为新歌曲,根据预存词向量集合,获取所述第一歌曲的多个歌曲属性词向量,其中所述新歌曲为在所述预存词向量集合中没有对应向量的歌曲,所述歌曲属性词向量与所述歌曲属性一一对应;之后,根据所述第一歌曲的多个歌曲属性词向量,得到所述第一歌曲的歌曲词向量;然后,确定所述第一歌曲的歌曲词向量与第二歌曲的歌曲词向量的相似度,其中所述第二歌曲的歌曲词向量是从所述词向量集合中获取的;最后,若所述相似度大于预设阈值,将所述第二歌曲推送给目标用户。通过实施本发明相似歌曲推荐方法的实施例,对于新发布的歌曲,可通过该歌曲的歌曲属性词向量来得到该歌曲的歌曲词向量,其中所述歌曲词向量是从预存的词向量集合中获取的,再通过计算不同歌曲之间歌曲词向量的距离,来确定歌曲之间的相似度,从而实现了包括新歌曲在内的相似歌曲实时推荐。
为了便于更好地实施本发明实施例的上述方案,本发明实施例还描述了与上述图1所述方法实施例属于同一发明构思下的一种装置的结构示意图。下面结合附图来进行详细说明:
如图3所示,该相似歌曲推荐装置300用于执行图1上述方法实施例中终端的功能,包括:接收单元301、获取单元302、综合单元303、相似度确定单元304、推送单元305。
其中,所述接收单元301用于,接收指令,其中所述指令用于查询第一歌曲的相似歌曲,所述第一歌曲包括多个歌曲属性;
所述获取单元302用于,若所述第一歌曲为新歌曲,根据预存词向量集合,获取所述第一歌曲的多个歌曲属性词向量,其中所述新歌曲为在所述预存词向量集合中没有对应向量的歌曲,所述歌曲属性词向量与所述歌曲属性一一对应;
所述综合单元303用于,根据所述第一歌曲的多个歌曲属性词向量,得到所述第一歌曲的歌曲词向量;
所述相似度确定单元304用于,确定所述第一歌曲的歌曲词向量与第二歌曲的歌曲词向量的相似度,其中所述第二歌曲的歌曲词向量是从所述词向量集合中获取的;
所述推送单元305用于,若所述相似度大于预设阈值,将所述第二歌曲推送给所述目标用户。
在一具体的实施例中,所述获取单元302还用于,若所述第一歌曲为旧歌曲,根据所述预存词向量集合,获取所述第一歌曲的歌曲词向量,其中所述就歌曲为在所述预存词向量集合中没有对应向量的歌曲;
所述相似度确定单元304还用于,确定所述第一歌曲的歌曲词向量与第三歌曲的歌曲词向量的相似度,其中所述第三歌曲的歌曲词向量是从所述词向量集合中获取的;
所述推送单元305还用于,若所述相似度大于预设阈值,将所述第三歌曲推送给所述目标用户。
在一具体的实施例中,所述综合单元303具体用于,对所述多个歌曲属性词向量进行加权平均,得到平均向量;将所述平均向量作为所述第一歌曲的所述歌曲词向量。
在一具体的实施例中,所述相似度确定单元304具体用于,确定所述第一歌曲的歌曲词向量与所述第二歌曲的歌曲词向量夹角之间的余弦值,得到所述第一歌曲的歌曲词向量与所述第二歌曲的歌曲词向量的相似度。
在一具体的实施例中,所述确定单元304还具体用于,确定所述第一歌曲的歌曲词向量与所述第三歌曲的歌曲词向量夹角之间的余弦值,得到所述第一歌曲的歌曲词向量与所述第三歌曲的歌曲词向量的相似度。
可选地,所述歌曲属性包括所述歌曲的创作者、演唱者、发行时间、发行地域、所属专辑、流派和语言中的任意一种或者多种组合。
在本发明的一个具体实施例中,通过机器学习的方式计算歌曲之间的相似度,需要将自然语言中的实体词数学化,这里预先设置并存储每个实体词的词向量。具体来说,在本发明中,所述实体词包括歌曲名称以及该歌曲的多个歌曲属性,通过机器学习的方式将所述歌曲名称和歌曲属性数学化,使用词向量的形式表示所述歌曲名称和歌曲属性。
可选地,词向量是将一个实体词用向量形式表示的数学表达方式,具体地,将一个实体词转化成词向量可以通过词转化为向量工具(如,word2vec工具)实现,应理解,上述例子仅仅用于举例,不应构成具体限定。
可选地,自然语言处理领域中,机器判断两个实体词是否相似同义,可通过计算这两个实体词所属上下文环境的相似度确定,若这两个词的上下文环境十分相似,则机器认为这两个实体词为同义词。同样地,在本发明相似歌曲推荐方法的实施例中,使用深度神经网络来训练词向量,将用户歌曲收听列表作为深度神经网络的语言学习环境(语料库),在选取用户歌曲收听列表的一个歌曲作为中心词后,则用户歌曲收听列表中的其他歌曲以及歌曲属性作为中心词的上下文,若两个歌曲的上下文十分相似,则这两个歌曲通过深度神经网络训练得到的两个歌曲词向量在向量空间的距离是十分接近的。
在本发明的一个具体实施例中,使用基于上下文预测中心词的深度神经网络(如skip-gram模型)来训练歌曲词向量和歌曲属性词向量,将训练得到的词向量集合预先部署至线上服务器,其中所述词向量集合包括歌曲词向量和歌曲属性词向量,所述接收单元301接收请求查询所述第一歌曲的相似歌曲的指令,若所述第一歌曲为新歌曲的情况下,在所述预先部署至线上服务器的词向量集合中没有与所述第一歌曲对应的歌曲词向量,但由于所述第一歌曲的歌曲属性是已知的,所以可以从所述预先部署至线上服务器的词向量集合匹配到所述第一歌曲的歌曲属性对应的歌曲属性词向量。
基于本发明上述实施例提供的相似歌曲推荐装置,实现了包括新歌曲在内的相似歌曲实时推荐。
为了便于更好地实施本发明实施例的上述方案,本发明还对应提供了一种电子设备,下面结合附图来进行详细说明:
请参见图4,为本发明实施例提供了一种电子设备的结构示意图。如图4所示,所述电子设备400可以包括:至少一个处理器401,例如CPU,至少一个网络接口404,用户接口403,存储器405,至少一个通信总线402。其中,通信总线402用于实现这些组件之间的连接通信。其中,用户接口403可以包括显示屏(Display)、键盘(Keyboard),可选的用户接口403还可以包括标准的有线接口、无线接口。网络接口404可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器405可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器405可选的还可以是至少一个位于远离前述处理器401的存储装置。如图4所示,作为一种计算机存储介质的存储器405中可以包括操作装置、网络通信模块、用户接口模块以及相似歌曲推荐装置的应用程序。
处理器401可以是一个通用中央处理器(Central Processing Unit,CPU),微处理器,特定应用集成电路(Application-Specific Integrated Circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。
通信总线402可包括一通路,在上述组件之间传送信息。所述网络接口404,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(RadioAccess Technology,RAN),无线局域网(Wireless Local Area Networks,WLAN)等。
存储器405可以是只读存储器(Read-Only Memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(Random Access Memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
在图4所示的电子设备400中,处理器401可以用于调用存储器405中存储的相似歌曲推荐装置的应用程序,并具体执行以下操作:
接收指令,其中所述指令用于查询第一歌曲的相似歌曲,所述第一歌曲包括多个歌曲属性;
若所述第一歌曲为新歌曲,根据预存词向量集合,获取所述第一歌曲的多个歌曲属性词向量,其中所述新歌曲为在所述预存词向量集合中没有对应向量的歌曲,所述歌曲属性词向量与所述歌曲属性一一对应;
根据所述第一歌曲的多个歌曲属性词向量,得到所述第一歌曲的歌曲词向量;
确定所述第一歌曲的歌曲词向量与第二歌曲的歌曲词向量的相似度,其中所述第二歌曲的歌曲词向量是从所述词向量集合中获取的;
若所述相似度大于预设阈值,将所述第二歌曲推送给目标用户。
其中,所述处理器401还用于,若所述第一歌曲为旧歌曲,根据从所述预存词向量集合获取所述第一歌曲的歌曲词向量,其中所述旧歌曲为在所述预存词向量集合中没有对应向量的歌曲;
确定所述第一歌曲的歌曲词向量与第三歌曲的歌曲词向量的相似度,其中所述第三歌曲的歌曲词向量是从所述预存词向量集合中获取的;
若所述相似度大于预设阈值,将所述第三歌曲推送给所述目标用户。
其中,所述处理器401对所述根据所述第一歌曲的多个歌曲属性词向量,得到所述第一歌曲的歌曲词向量可以包括:
对所述多个歌曲属性词向量进行加权平均,得到平均向量;
将所述平均向量作为所述第一歌曲的所述歌曲词向量。
其中,所述处理器401对所述确定所述第一歌曲的歌曲词向量与第二歌曲的歌曲词向量的相似度可以包括:
确定所述第一歌曲的歌曲词向量与所述第二歌曲的歌曲词向量夹角之间的余弦值,得到所述第一歌曲的歌曲词向量与所述第二歌曲的歌曲词向量的相似度;
其中,所述处理器401对所述确定所述第一歌曲的歌曲词向量与第三歌曲的歌曲词向量的相似度可以包括:
确定所述第一歌曲的歌曲词向量与所述第三歌曲的歌曲词向量夹角之间的余弦值,得到所述第一歌曲的歌曲词向量与所述第三歌曲的歌曲词向量的相似度。
下面结合图5对本发明实施例的实际应用场景进行描述,图5是本发明实施例提供的一种涉及实施环境的结构示意图。如图5所示,相似歌曲推荐系统500包括服务器510、网络520、终端设备530以及用户540。其中,服务器510包括处理器和存储器,本发明中的方法实施例由处理器执行存储在存储器中的指令来执行。具体地,服务器510包括数据库511和相似歌曲确定单元512,其中,数据库511存储歌曲词向量和歌曲属性词向量。终端设备530上安装有客户端530-1。客户端530-1向用户提供搜索窗口,供用户触发相似歌曲请求指令。
在本发明的实施例中,数据库511中存储有大量的歌曲词向量和歌曲属性词向量,形成词向量集合。若用户请求的是新歌曲的相似歌曲,则根据新歌曲的多个歌曲属性从歌曲属性词向量数据库中获取对应的多个歌曲属性词向量,再将多个歌曲属性词向量进行加权平均得到平均向量,将平均向量作为新歌曲的歌曲词向量;若用户请求的是旧歌曲的相似歌曲,从歌曲词向量数据库匹配得到旧歌曲的歌曲词向量;相似度确定单元512用于确定歌曲词向量之间的相似度,并生成相似歌曲推荐歌单。然后,服务器510将生成相似歌曲推荐歌单作为请求相似歌曲结果的一部分发送给终端设备530中的客户端530-1,客户端530-1向用户展示该请求相似歌曲结果。
其中,服务器510可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。网络520可以为无线或有线的形式将服务器510和终端设备530进行相连。终端设备530可以为智能终端,包括智能手机、平板电脑、膝上型便携计算机、台式机、网络服务器、掌上电脑、无线终端设备、通信设备、嵌入式设备等。
本发明实施例还提供了一种计算机存储介质,用于存储为上述图1所示的相似歌曲推荐方法所用的计算机软件指令,其包含用于执行上述方法实施例所涉及的程序。通过执行存储的程序,可以实现包括新歌曲在内的相似歌曲实时推荐。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (12)
1.一种相似歌曲推荐方法,其特征在于,包括:
接收指令,其中所述指令用于查询第一歌曲的相似歌曲,所述第一歌曲包括多个歌曲属性;
若所述第一歌曲为新歌曲,根据预存词向量集合,获取所述第一歌曲的多个歌曲属性词向量,其中所述新歌曲为在所述预存词向量集合中没有对应向量的歌曲,所述歌曲属性词向量与所述歌曲属性一一对应;
根据所述第一歌曲的多个歌曲属性词向量,得到所述第一歌曲的歌曲词向量;
确定所述第一歌曲的歌曲词向量与第二歌曲的歌曲词向量的相似度,其中所述第二歌曲的歌曲词向量是从所述词向量集合中获取的;
若所述相似度大于预设阈值,将所述第二歌曲推送给目标用户。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第一歌曲为旧歌曲,根据所述预存词向量集合,获取所述第一歌曲的歌曲词向量,其中所述旧歌曲为在所述预存词向量集合中没有对应向量的歌曲;
确定所述第一歌曲的歌曲词向量与第三歌曲的歌曲词向量的相似度,其中所述第三歌曲的歌曲词向量是从所述预存词向量集合中获取的;
若所述相似度大于预设阈值,将所述第三歌曲推送给所述目标用户。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一歌曲的多个歌曲属性词向量,得到所述第一歌曲的歌曲词向量,包括:
对所述多个歌曲属性词向量进行加权平均,得到平均向量;
将所述平均向量作为所述第一歌曲的所述歌曲词向量。
4.根据权利要求2所述的方法,其特征在于,所述确定所述第一歌曲的歌曲词向量与第二歌曲的歌曲词向量的相似度,包括:
确定所述第一歌曲的歌曲词向量与所述第二歌曲的歌曲词向量夹角之间的余弦值,得到所述第一歌曲的歌曲词向量与所述第二歌曲的歌曲词向量的相似度;
所述确定所述第一歌曲的歌曲词向量与第三歌曲的歌曲词向量的相似度,包括:
确定所述第一歌曲的歌曲词向量与所述第三歌曲的歌曲词向量夹角之间的余弦值,得到所述第一歌曲的歌曲词向量与所述第三歌曲的歌曲词向量的相似度。
5.根据权利要求1-4任一权利要求所述的方法,其特征在于,所述歌曲属性包括所述歌曲的创作者、演唱者、发行时间、发行地域、所属专辑、流派和语言中的任意一种或者多种组合。
6.一种相似歌曲推荐装置,其特征在于,包括:接收单元,获取单元,综合单元,相似度确定单元,推送单元,
所述接收单元用于,接收指令,其中所述指令用于查询第一歌曲的相似歌曲,所述第一歌曲包括多个歌曲属性;
所述获取单元用于,若所述第一歌曲为新歌曲,根据预存词向量集合,获取所述第一歌曲的多个歌曲属性词向量,其中所述新歌曲为在所述预存词向量集合中没有对应向量的歌曲,所述歌曲属性词向量与所述歌曲属性一一对应;
所述综合单元用于,根据所述第一歌曲的多个歌曲属性词向量,得到所述第一歌曲的歌曲词向量;
所述相似度确定单元用于,确定所述第一歌曲的歌曲词向量与第二歌曲的歌曲词向量的相似度,其中所述第二歌曲的歌曲词向量是从所述词向量集合中获取的;
所述推送单元用于,若所述相似度大于预设阈值,将所述第二歌曲推送给所述目标用户。
7.根据权利要求6所述的方法,其特征在于,
所述获取单元还用于,若所述第一歌曲为旧歌曲,根据所述预存词向量集合,获取所述第一歌曲的歌曲词向量,其中所述就歌曲为在所述预存词向量集合中没有对应向量的歌曲;
所述确定单元还用于,确定所述第一歌曲的歌曲词向量与第三歌曲的歌曲词向量的相似度,其中所述第三歌曲的歌曲词向量是从所述词向量集合中获取的;
所述推送单元还用于,若所述相似度大于预设阈值,将所述第三歌曲推送给所述目标用户。
8.根据权利要求6所述的装置,其特征在于,所述综合单元具体用于,
对所述多个歌曲属性词向量进行加权平均,得到平均向量;
将所述平均向量作为所述第一歌曲的所述歌曲词向量。
9.根据权利要求7所述的方法,其特征在于,所述确定单元具体用于,
确定所述第一歌曲的歌曲词向量与所述第二歌曲的歌曲词向量夹角之间的余弦值,得到所述第一歌曲的歌曲词向量与所述第二歌曲的歌曲词向量的相似度;
确定所述第一歌曲的歌曲词向量与所述第三歌曲的歌曲词向量夹角之间的余弦值,得到所述第一歌曲的歌曲词向量与所述第三歌曲的歌曲词向量的相似度。
10.根据权利要求6-9任一权利要求所述的装置,其特征在于,所述歌曲属性包括所述歌曲的创作者、演唱者、发行时间、发行地域、所属专辑、流派和语言中的任意一种或者多种组合。
11.一种电子设备,其特征在于,包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-5任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910114577.8A CN109857900B (zh) | 2019-02-14 | 2019-02-14 | 一种相似歌曲推荐方法以及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910114577.8A CN109857900B (zh) | 2019-02-14 | 2019-02-14 | 一种相似歌曲推荐方法以及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109857900A true CN109857900A (zh) | 2019-06-07 |
CN109857900B CN109857900B (zh) | 2024-02-09 |
Family
ID=66897824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910114577.8A Active CN109857900B (zh) | 2019-02-14 | 2019-02-14 | 一种相似歌曲推荐方法以及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109857900B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112765396A (zh) * | 2021-01-28 | 2021-05-07 | 北京字节跳动网络技术有限公司 | 歌曲的推荐方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101950302A (zh) * | 2010-09-29 | 2011-01-19 | 李晓耕 | 基于移动设备的海量音乐库管理方法 |
CN105868254A (zh) * | 2015-12-25 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 信息推荐方法及装置 |
CN106951527A (zh) * | 2017-03-21 | 2017-07-14 | 北京邮电大学 | 一种歌曲推荐方法及装置 |
CN107239547A (zh) * | 2017-06-05 | 2017-10-10 | 北京智能管家科技有限公司 | 用于语音点歌的语音纠错方法、终端及存储介质 |
CN108334617A (zh) * | 2018-02-07 | 2018-07-27 | 大连大学 | 基于语义的音乐检索的方法 |
CN109255049A (zh) * | 2018-09-05 | 2019-01-22 | 广州小楠科技有限公司 | 一种智慧音乐推荐系统 |
-
2019
- 2019-02-14 CN CN201910114577.8A patent/CN109857900B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101950302A (zh) * | 2010-09-29 | 2011-01-19 | 李晓耕 | 基于移动设备的海量音乐库管理方法 |
CN105868254A (zh) * | 2015-12-25 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 信息推荐方法及装置 |
CN106951527A (zh) * | 2017-03-21 | 2017-07-14 | 北京邮电大学 | 一种歌曲推荐方法及装置 |
CN107239547A (zh) * | 2017-06-05 | 2017-10-10 | 北京智能管家科技有限公司 | 用于语音点歌的语音纠错方法、终端及存储介质 |
CN108334617A (zh) * | 2018-02-07 | 2018-07-27 | 大连大学 | 基于语义的音乐检索的方法 |
CN109255049A (zh) * | 2018-09-05 | 2019-01-22 | 广州小楠科技有限公司 | 一种智慧音乐推荐系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112765396A (zh) * | 2021-01-28 | 2021-05-07 | 北京字节跳动网络技术有限公司 | 歌曲的推荐方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109857900B (zh) | 2024-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102073699B (zh) | 用于基于用户行为来改善搜索结果的方法、装置和设备 | |
CN110059249B (zh) | 个性化推荐的方法、终端设备和系统 | |
CN108574706B (zh) | 媒体文件的推送方法及装置 | |
US9201979B2 (en) | Syndication of a behavioral profile associated with an availability condition using a monetization platform | |
US8311888B2 (en) | Revenue models associated with syndication of a behavioral profile using a monetization platform | |
CN108536694A (zh) | 用户偏好的推测方法、装置和终端设备 | |
US20120215635A1 (en) | System for Targeting Advertising to Mobile Communication Facilities Using Third Party Data | |
CN108876526A (zh) | 商品推荐方法、装置和计算机可读存储介质 | |
CN108460082A (zh) | 一种推荐方法及装置,电子设备 | |
US20090240568A1 (en) | Aggregation and enrichment of behavioral profile data using a monetization platform | |
CN105431834A (zh) | 基于用户历史创建内容共享平台的个性化和连续播放列表 | |
WO2010104834A2 (en) | Contextual targeting of content using a monetization platform | |
KR20120102919A (ko) | 위치 기반 광고 콘텐츠 제공 방법 및 시스템 | |
CN107567620A (zh) | 基于上下文的即时搜索建议 | |
CN107330091A (zh) | 信息处理方法和装置 | |
KR101346927B1 (ko) | 검색 장치, 검색 방법, 및 검색 프로그램을 기억하는 컴퓨터 판독 가능한 기록 매체 | |
KR20170019944A (ko) | 상대 비교를 통한 상품 추천 서비스 방법 및 이를 위한 추천 서비스 장치 | |
CN109857900A (zh) | 一种相似歌曲推荐方法以及相关设备 | |
KR20150020390A (ko) | 컨텐츠 추천 방법과 이를 제공하는 장치 및 시스템 | |
WO2014158204A1 (en) | Method and apparatus for recommendations with evolving user interests | |
JP6060833B2 (ja) | 情報処理装置、情報処理方法、及び情報処理プログラム | |
CN106294487B (zh) | 基于互联网的自适应搜索方法、设备和系统 | |
CN110851724B (zh) | 基于自媒体号等级的文章推荐方法及相关产品 | |
CN108932262A (zh) | 一种歌曲推荐方法及装置 | |
CN109584012A (zh) | 用于生成物品推送信息的方法和装置 |
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 |