CN110147463A - 一种音乐推送方法、系统、装置和存储介质 - Google Patents
一种音乐推送方法、系统、装置和存储介质 Download PDFInfo
- Publication number
- CN110147463A CN110147463A CN201910266748.9A CN201910266748A CN110147463A CN 110147463 A CN110147463 A CN 110147463A CN 201910266748 A CN201910266748 A CN 201910266748A CN 110147463 A CN110147463 A CN 110147463A
- Authority
- CN
- China
- Prior art keywords
- music
- history information
- age
- similarity
- music player
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 239000013598 vector Substances 0.000 claims description 84
- 238000004364 calculation method Methods 0.000 claims description 17
- 230000001186 cumulative effect Effects 0.000 claims description 8
- 230000003595 spectral effect Effects 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 4
- 238000005516 engineering process Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 3
- 230000008451 emotion Effects 0.000 description 3
- 238000001228 spectrum Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/63—Querying
- G06F16/635—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/65—Clustering; Classification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种音乐推送方法、装置和存储介质。所述方法包括从第一音乐播放器获取第一音乐播放历史信息和第一年龄信息,从第二音乐播放器获取第二音乐播放历史信息,计算所述第一音乐播放器与第二音乐播放器之间的兴趣相似度,计算所述第一音乐播放器与第二音乐播放器之间的年龄相似度,计算用户相似度,使用无监督聚类算法进行评分和将所述第二音乐播放历史信息对应的各首音乐中得分最高的部分推送至第一音乐播放器等步骤。本发明通过计算兴趣相似度和年龄相似度筛选出第二音乐播放器,并使用无监督聚类算法对各首音乐进行评分,可以取得精确度更高的推送效果,提高使用体验。本发明广泛应用于互联网技术领域。
Description
技术领域
本发明涉及互联网技术领域,尤其是一种音乐推送方法、装置和存储介质。
背景技术
音乐播放软件的使用者在播放音乐时,除了选择自己设定的播放清单中的音乐之外,还希望被推送到合适的音乐。现有的音乐推送技术是基于使用者的播放历史进行分析,通过统计使用者经常播放的歌曲所具有的风格类型以及歌手等信息,分析出使用者的喜好,从而向使用者推送与其喜好相似的歌曲。现有的音乐推送技术缺点主要在于:第一,在使用者经常播放某一类型的歌曲的情况下,将被推送相同或相似类型的歌曲,只有使用者主动去播放其他类型的歌曲在情况下才能被推送到其他类型的歌曲,但这已违背了音乐推送的意义;第二,现有的音乐推送技术是完全基于使用者的播放历史进行分析的,但使用者的播放历史是使用者在过去某一段时间内的播放记录,而同一使用者在一段时间内的不同时间点的情绪都是有细微差别的,这导致使用者在不同时间点对音乐的喜好以及所播放的音乐类型都有差别,因此现有的音乐推送技术的分析结果实际上是过去一段时间使用者喜好的“平均值”,但人的情绪总是处于波动的状态,使用者对音乐的喜好和需求也是处于变动的状态,因此现有的音乐推送技术无法针对当下使用者对音乐的喜好和需求进行精准推动。综上所述,现有的音乐推送技术带来的使用者体验较差。
发明内容
为了解决上述技术问题,本发明的目的在于提供一种音乐推送方法、装置和存储介质。
一方面,本发明实施例包括一种音乐推送方法,包括以下步骤:
从第一音乐播放器获取第一音乐播放历史信息和第一年龄信息;所述第一音乐播放历史信息为第一音乐播放器在第一天气状况下播放过的音乐的记录;所述第一年龄信息为第一音乐播放器的使用者的年龄;
从第二音乐播放器获取第二音乐播放历史信息;所述第二音乐播放历史信息为第二音乐播放器在第一天气状况下播放过的音乐的记录;所述第二年龄信息为第二音乐播放器的使用者的年龄;
根据所述第一音乐播放历史信息和第二音乐播放历史信息计算所述第一音乐播放器与第二音乐播放器之间的兴趣相似度;
根据所述第一年龄信息和第二年龄信息计算所述第一音乐播放器与第二音乐播放器之间的年龄相似度;
根据所述兴趣相似度与年龄相似度计算用户相似度;所述用户相似度为所述兴趣相似度与年龄相似度的加权平均数;
当检测到所述用户相似度满足预设的阈值条件,使用无监督聚类算法对所述第二音乐播放历史信息对应的各首音乐进行评分;
将所述第二音乐播放历史信息对应的各首音乐中得分最高的部分推送至第一音乐播放器。
进一步地,所述根据所述第一音乐播放历史信息和第二音乐播放历史信息计算所述第一音乐播放器与第二音乐播放器之间的兴趣相似度这一步骤,具体包括:
使用无监督聚类算法分别对所述第一音乐播放历史信息和第二音乐播放历史信息对应的各首音乐进行分类;所述分类用于将各首音乐分别归为相应的类别;
生成第一兴趣向量;所述第一兴趣向量中的元素分别为第一音乐播放历史信息中被分类为各类别的音乐数量占第一音乐播放历史信息对应的音乐总数的比例;
生成第二兴趣向量;所述第二兴趣向量中的元素分别为第二音乐播放历史信息中被分类为各类别的音乐数量占第二音乐播放历史信息对应的音乐总数的比例;
根据所述第一兴趣向量、第二兴趣向量和类别总数计算所述兴趣相似度。
进一步地,所述根据所述第一兴趣向量、第二兴趣向量和类别总数计算所述兴趣相似度这一步骤所用的公式为:
式中,A表示第一音乐播放器,X表示第二音乐播放器,SimIC(A,X)为第一音乐播放器与第二音乐播放器之间的兴趣相似度,vA为第一兴趣向量,vX为第二兴趣向量,distance(vA,vX)为第一兴趣向量与第二兴趣向量之间的距离,K为类别总数。
进一步地,所述根据所述第一年龄信息和第二年龄信息计算所述第一音乐播放器与第二音乐播放器之间的年龄相似度这一步骤所用的公式为:
式中,A表示第一音乐播放器,X表示第二音乐播放器,SimSC(A,X)为第一音乐播放器与第二音乐播放器之间的年龄相似度,αA为第一年龄信息,αX为第二年龄信息,α为预设的阈值。
进一步地,所述使用无监督聚类算法对所述第二音乐播放历史信息对应的各首音乐进行评分这一步骤,具体包括:
对第二音乐播放历史信息对应的各首音乐进行解析,从而获得所述各首音乐的特征向量;
使用无监督聚类算法根据所述各首音乐的特征向量计算出中心特征向量,并将各首音乐的特征向量归类至对应的中心特征向量;
分别计算所述各首音乐的特征向量与对应中心特征向量之间的欧氏距离;所述欧氏距离作为相应音乐的得分。
进一步地,所述使用无监督聚类算法对所述第二音乐播放历史信息对应的各首音乐进行评分这一步骤,具体包括:
对第二音乐播放历史信息对应的各首音乐进行解析,从而获得所述各首音乐的特征向量;
使用无监督聚类算法根据所述各首音乐的特征向量计算出中心特征向量,并将各首音乐的特征向量归类至对应的中心特征向量;
分别计算所述各首音乐的特征向量与对应中心特征向量之间的欧氏距离;
分别统计所述各首音乐的累计被播放次数;
计算所述各首音乐对应的欧氏距离与累计被播放次数的商作为相应音乐的得分。
进一步地,所述特征向量的元素包括过零率、单位功率、低能率、拍子、频谱中心和音调类型。
另一方面,本发明实施例包括一种音乐推送系统,包括:
第一信息获取模块,用于从第一音乐播放器获取第一音乐播放历史信息和第一年龄信息;所述第一音乐播放历史信息为第一音乐播放器在第一天气状况下播放过的音乐的记录;所述第一年龄信息为第一音乐播放器的使用者的年龄;
第二信息获取模块,用于从第二音乐播放器获取第二音乐播放历史信息;所述第二音乐播放历史信息为第二音乐播放器在第一天气状况下播放过的音乐的记录;所述第二年龄信息为第二音乐播放器的使用者的年龄;
兴趣相似度计算模块,用于根据所述第一音乐播放历史信息和第二音乐播放历史信息计算所述第一音乐播放器与第二音乐播放器之间的兴趣相似度;
年龄相似度计算模块,用于根据所述第一年龄信息和第二年龄信息计算所述第一音乐播放器与第二音乐播放器之间的年龄相似度;
用户相似度计算模块,用于根据所述兴趣相似度与年龄相似度计算用户相似度;所述用户相似度为所述兴趣相似度与年龄相似度的加权平均数;
评分模块,用于当检测到所述用户相似度满足预设的阈值条件,使用无监督聚类算法对所述第二音乐播放历史信息对应的各首音乐进行评分;
推送模块,用于将所述第二音乐播放历史信息对应的各首音乐中得分最高的部分推送至第一音乐播放器。
另一方面,本发明实施例还包括一种音乐推送装置,包括存储器和处理器,所述存储器用于存储至少一个程序,所述处理器用于加载所述至少一个程序以执行本发明音乐推送方法。
另一方面,本发明实施例还包括一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行本发明音乐推送方法。
本发明的有益效果是:通过计算第一音乐播放器和第二音乐播放器之间的兴趣相似度和年龄相似度,可以为第一音乐播放器筛选出在相同天气状况下具有相同音乐偏好和相同年龄阶段的第二音乐播放器;通过使用无监督聚类算法对各首音乐进行评分,可以对被筛选出的第二音乐播放器中第二音乐播放历史信息对应的各首音乐进行进一步筛选;通过将进一步筛选出的音乐推送至第一音乐播放器,可以取得精确度更高的推送效果,提高使用体验。
附图说明
图1为本发明音乐推送方法的实施例的流程图。
具体实施方式
实施例1
本实施例包括一种音乐推送方法,参照图1,所述方法包括以下步骤:
S1.从第一音乐播放器获取第一音乐播放历史信息和第一年龄信息;所述第一音乐播放历史信息为第一音乐播放器在第一天气状况下播放过的音乐的记录;所述第一年龄信息为第一音乐播放器的使用者的年龄;
S2.从第二音乐播放器获取第二音乐播放历史信息;所述第二音乐播放历史信息为第二音乐播放器在第一天气状况下播放过的音乐的记录;所述第二年龄信息为第二音乐播放器的使用者的年龄;
S3.根据所述第一音乐播放历史信息和第二音乐播放历史信息计算所述第一音乐播放器与第二音乐播放器之间的兴趣相似度;
S4.根据所述第一年龄信息和第二年龄信息计算所述第一音乐播放器与第二音乐播放器之间的年龄相似度;
S5.根据所述兴趣相似度与年龄相似度计算用户相似度;所述用户相似度为所述兴趣相似度与年龄相似度的加权平均数;
S6.当检测到所述用户相似度满足预设的阈值条件,使用无监督聚类算法对所述第二音乐播放历史信息对应的各首音乐进行评分;
S7.将所述第二音乐播放历史信息对应的各首音乐中得分最高的部分推送至第一音乐播放器。
步骤S1和S2中,所述音乐播放器是指台式电脑、笔记本电脑、平板电脑或手机等可以运行音乐播放软件、读取音乐数据并进行解码、驱动扬声器进行音乐播放的装置;本实施例后,所述音乐播放器除了单独指装置硬件之外,也可以单独指装置硬件上运行的程序软件,还可以指由装置硬件及其运行的程序软件所构成的整体。
步骤S1和S2中,所述音乐播放器的使用者是指操作音乐播放器的人。使用者可以通过账号和密码登录音乐播放器所运行的音乐播放软件,从而控制音乐播放器。本实施例中,音乐播放器与其使用者具有一一对应关系,即一个音乐播放器只被一个使用者使用,一个使用者只使用一个音乐播放器,因此本实施例中不对音乐播放器及其使用者进行区分。
本实施例中,第一音乐播放器是所要进行的音乐推送的目标,第二音乐播放器是所推送的音乐的来源,即本实施例中的步骤S1-S7的目的是将符合要求的第二音乐播放器播放过的音乐推送至第一音乐播放器。所述播放,可以指运行音乐播放软件来驱动扬声器发出声音,也可以指仅将音乐数据文件从互联网下载到音乐播放器。
本实施例中的步骤S1-S7是通过运行在服务器上的服务端程序来执行的。所述第一音乐播放器和第二音乐播放器均接入到互联网,使得第一音乐播放器和第二音乐播放器上运行的音乐播放软件能够访问互联网,并与服务器上的服务端程序进行通信。所述第一音乐播放器和第二音乐播放器向音乐播放软件开放了访问权限,使得音乐播放程序可以读取第一音乐播放器和第二音乐播放器上存储的任何数据并上传到服务端程序。
本实施例中,所述第一音乐播放器和第二音乐播放器还通过操作系统自带的天气预报模块或所安装的第三方天气预报软件来获取使用者所在地的实时天气情况信息。
本实施例中,当检测到触发条件后,开始执行步骤S1。所述触发条件,可以是指第一音乐播放器的使用者执行的特定操作,例如第一音乐播放器的使用者通过第一音乐播放器上运行的音乐播放软件发出获取音乐推送的请求,或者第一音乐播放器的使用者启动了第一音乐播放器上运行的音乐播放软件,或者天气预报软件实时更新了当前天气条件(例如由晴天切换至雨天)等。
本实施例中,音乐播放器上运行的音乐播放软件在每次进行音乐播放时都会对所播放的音乐的歌名、播放起止时间、累计播放次数以及当时的天气状况进行记录,从而形成音乐播放历史信息。所述音乐播放历史信息可以通过清单列表或表格等形式进行存储和显示。所述天气状况是音乐播放软件从天气预报软件获得的。
步骤S1中,第一音乐播放历史信息是指第一音乐播放器在第一天气状况下播放过的音乐的记录。所述第一天气状况可以由使用者进行设定,例如设定为雨天、晴天或阴天等;所述第一天气状况也可以通过从天气预报软件的实时天气状况信息得到。
所述第一年龄信息是一组数据,其存储了第一音乐播放器的使用者的年龄,第一年龄信息可以在使用者注册音乐播放软件的账号时进行登记,当使用者使用账号登录音乐播放软件时,音乐播放软件即可读取第一年龄信息。
步骤S2中的第二音乐播放器可以是一个集合概念,即所述第二音乐播放器是指一个或多个音乐播放器。
步骤S3中,通过对第一音乐播放历史信息和第二音乐播放历史信息中所包含的歌曲进行分析,可以计算出第一音乐播放器与第二音乐播放器之间的兴趣相似度SimIC(A,X)。所述兴趣相似度越高,表明第一音乐播放器与第二音乐播放器所播放过的音乐越相似,即第一音乐播放器的使用者与第二音乐播放的使用者之间对音乐喜好的相似程度越高。由于第一音乐播放历史信息和第二音乐播放历史信息都是相同天气状况下播放过的音乐的记录,因此步骤S3中计算得到的兴趣相似度考虑了天气状况对使用者情绪的影响所产生的对使用者音乐偏好的影响,可以更加精准地进行音乐推送。
步骤S4中计算得到的年龄相似度SimSC(A,X)反映了第一音乐播放器的使用者与第二音乐播放器的使用者之间的年龄差异程度。所述年龄相似度越高,表明第一音乐播放器的使用者与第二音乐播放器的使用者的年龄差异越小。由于使用者对音乐的偏好与其年龄有关,因此所述年龄相似度越高,第一音乐播放器的使用者与第二音乐播放的使用者之间对音乐偏好的相似程度越高。
步骤S5中计算得到的用户相似度是兴趣相似度与年龄相似度的加权平均数,即Sim(A,X)=WICSimIC(A,X)+WSCSimSC(A,X),其中权重WIC和WSC可以自定义设置。所述用户相似度综合考虑了兴趣相似度与年龄相似度的影响,即综合考虑了歌曲播放历史、天气状况和年龄所反映出的使用者对音乐的偏好。
步骤S6中,将第一音乐播放器与第二音乐播放器之间的用户相似度Sim(A,X)与预设的阈值λ进行比较,当Sim(A,X)>λ时将该第二音乐播放器设为第一音乐播放器的邻居。所述邻居是指网上连接关系。在步骤S7中,将第一音乐播放器的每一邻居的第二音乐播放历史信息中符合条件的音乐推送至第一音乐播放器。例如,满足Sim(A,X)>λ条件的第二音乐播放器共有N个,则将这N个第二音乐播放器均作为第一音乐播放器的邻居,将这N个第二音乐播放器的第二音乐播放历史信息中符合条件的音乐推送至第一音乐播放器。
步骤S6中还使用无监督聚类算法对所述第二音乐播放历史信息对应的各首音乐进行评分,然后选出得分最高的那一首或多首,在步骤S7中推送至第一音乐播放器。本实施例中,步骤S7中所推送的音乐的数量是可以自定义设置的,例如将推送的音乐的数量设定为3时,步骤S7将推送通过步骤S6计算得到的得分最高的3首歌曲。
步骤S7中所述推送是指将歌曲的歌名、歌手或编号等信息发送至第一音乐播放器,或者将歌曲的数据文件发送至第一音乐播放器。
通过执行步骤S1-S5,可以为第一音乐播放器筛选出在相同天气状况下具有相同音乐偏好和相同年龄阶段的第二音乐播放器;通过执行步骤S6,可以对被筛选出的第二音乐播放器中第二音乐播放历史信息对应的各首音乐进行进一步筛选;通过执行步骤S7,将进一步筛选出的音乐推送至第一音乐播放器,可以取得精确度更高的推送效果,提高使用体验。
进一步作为优选的实施方式,所述步骤S3,即根据所述第一音乐播放历史信息和第二音乐播放历史信息计算所述第一音乐播放器与第二音乐播放器之间的兴趣相似度这一步骤,具体包括:
S301.使用无监督聚类算法分别对所述第一音乐播放历史信息和第二音乐播放历史信息对应的各首音乐进行分类;所述分类用于将各首音乐分别归为相应的类别;
S302.生成第一兴趣向量;所述第一兴趣向量中的元素分别为第一音乐播放历史信息中被分类为各类别的音乐数量占第一音乐播放历史信息对应的音乐总数的比例;
S303.生成第二兴趣向量;所述第二兴趣向量中的元素分别为第二音乐播放历史信息中被分类为各类别的音乐数量占第二音乐播放历史信息对应的音乐总数的比例;
S304.根据所述第一兴趣向量、第二兴趣向量和类别总数计算所述兴趣相似度。
本实施例中,步骤S3具体是由步骤S301-S304组成的。
步骤S301中,使用无监督聚类算法分别对所述第一音乐播放历史信息和第二音乐播放历史信息对应的各首音乐进行分类。通过对无监督聚类算法进行设置,可以设定所要分成的类别的总数。本实施例中所使用的无监督聚类算法为K-means算法,通过对K-means算法进行设置,可以将音乐分类成类别1、类别2、类别3……类别K中的一种,即此时类别总数为K。
通过步骤S301,第一音乐播放历史信息和第二音乐播放历史信息对应的各首音乐均被分类为类别1、类别2、类别3……类别K中的一种,即各首音乐均被标记上了与类别1、类别2、类别3……类别K中的一种对应的标签。
步骤S302中,生成第一兴趣向量vA。所述第一兴趣向量vA由多个元素组成,每个元素分别为第一音乐播放历史信息中被分类为各类别的音乐数量占第一音乐播放历史信息对应的音乐总数的比例,即其中,s1类别K为第一音乐播放历史信息中被分类为类别K的音乐数量,total1为第一音乐播放历史信息对应的音乐总数。
步骤S303中,生成第二兴趣向量vX。所述第二兴趣向量vX由多个元素组成,每个元素分别为第二音乐播放历史信息中被分类为各类别的音乐数量占第二音乐播放历史信息对应的音乐总数的比例,即其中,s2类别K为第二音乐播放历史信息中被分类为类别K的音乐数量,total2为第一音乐播放历史信息对应的音乐总数。
步骤S304所用的公式为:
式中,A表示第一音乐播放器,X表示第二音乐播放器,SimIC(A,X)为第一音乐播放器与第二音乐播放器之间的兴趣相似度,vA为第一兴趣向量,vX为第二兴趣向量,distance(vA,vX)为第一兴趣向量与第二兴趣向量之间的距离,K为类别总数。
进一步作为优选的实施方式,所述根据所述第一年龄信息和第二年龄信息计算所述第一音乐播放器与第二音乐播放器之间的年龄相似度这一步骤所用的公式为:
式中,A表示第一音乐播放器,X表示第二音乐播放器,SimSC(A,X)为第一音乐播放器与第二音乐播放器之间的年龄相似度,αA为第一年龄信息即第一音乐播放器的使用者的年龄,αX为第二年龄信息即第二音乐播放器的使用者的年龄,α为预设的阈值。
进一步作为优选的实施方式,所述步骤S6,即使用无监督聚类算法对所述第二音乐播放历史信息对应的各首音乐进行评分这一步骤,具体包括:
S601A.对第二音乐播放历史信息对应的各首音乐进行解析,从而获得所述各首音乐的特征向量;
S602A.使用无监督聚类算法根据所述各首音乐的特征向量计算出中心特征向量,并将各首音乐的特征向量归类至对应的中心特征向量;
S603A.分别计算所述各首音乐的特征向量与对应中心特征向量之间的欧氏距离;所述欧氏距离作为相应音乐的得分。
步骤S601A-S603A是步骤S6的第一种具体实施方法。
步骤S601A中,对第二音乐播放历史信息对应的各首音乐的音乐数组进行解析,可以获得由过零率、单位功率、低能率、拍子、频谱中心和音调类型等参量作为元素组成的6维特征向量。
所述音乐数组是指音乐的声音波形文件被加载后转换形成的数据格式,音乐数组中的每元素表示音乐在某一时刻的声音振幅值,由于声音波形文件的加载过程中可能进行了采样操作,音乐数组中各元素的下标不等于音频的实际时刻。音乐数组是一个浮点时间序列,本实施例中,音乐数组中每一个浮点值的元素都是float32类型,存储占4Byte共32bit。
所述过零率的计算公式为式中,x[n]为音乐数组x中第n个元素,N为音乐数组的长度。
所述单位功率的计算公式为
所述低能率的计算公式为式中,M为音乐数组x[n]中满足x[k]2<单位功率条件的元素x[k]的数量。
所述拍子的计算流程包括:
(1)使用以下公式将音乐数组的每一个元素取绝对值,进行下采样,采样率为32;
y=downsample(|x|,32)
(2)对于下采样后的数组,计算其自相关性,限制其最小值为0:
(3)然后在上面计算结果的基础上取大概4秒的分区,其中fs是原始线性间隔,元素下标间隔:
(4)对数据采用峰值选取方法,以最小峰值0.5,最小峰距作为约束。使用缩放因子将当前比例转换为每分钟节拍比例,每分钟节拍比例的第一个峰值就是要求的拍子。
所述频谱中心的计算流程包括:
(1)使用以下公式将音乐数组从时间域转化到频率域,对音乐进行傅立叶变换,得到振幅频谱:
其中,式中,xn为音乐数组x中第n个元素,N为音乐数组的长度。N=2t,t∈Z,2t-1<x数组长度≤2t;通过对前半部分振幅频谱取绝对值计算单边振幅谱中心:
(2)将线性间隔更新为频率间隔:
(3)使用以下公式计算频谱中心:
所述音调类型的计算流程包括:
(1)使用以下公式切割音乐数组中频率低于20Hz振幅频谱区间,将剩下的所有区间的频率维度映射到MIDI数维度:
其中,69是A在中央C(440赫兹)上的MIDI数;
(2)通过对12取模来将MIDI数映射到MIDI音高类别上(MPC):
MPCk=mod(Mk,12)
(3)将类别相同的MPC进行叠加得到音色图;相应地,对应Major、Minor和None三种音调类型:
major[k]=chroma[k]+chroma[(k+2)%12]+chroma[(k+4)%12]+chroma[(k+5)%12]+chroma[(k+7)%12]+chroma[(k+9)%12]+chroma[(k+11)%12]
minor[k]=chroma[k]+chroma[(k+2)%12]+chroma[(k+3)%12]+chroma[(k+5)%12]+chroma[(k+7)%12]+chroma[(k+8)%12]+chroma[(k+10)%12]
其中,chroma是音色图,满足major[(k+3)%12]=minor[k]。当chroma[(k+3)%12]>chroma[k]时,音调类型是Major;当chroma[(k+3)%12]<chroma[k]时,音调类型是Minor;否则,音调类型是None。
步骤S602A中,执行无监督聚类算法,从第二音乐播放历史信息对应的各首音乐中选出聚类中心并进行聚类,即根据所述各首音乐的特征向量计算出中心特征向量,并将各首音乐的特征向量归类至对应的中心特征向量。通过执行步骤S602A,从第二音乐播放历史信息对应的各首音乐中一共选出了K个聚类中心,其中第k个聚类中心对应的特征向量即中心特征向量为fkc。其余未被选定为聚类中心的音乐则被分类至各聚类中心,其中被分类至第k个聚类中心的第i首音乐的特征向量为fki。
步骤S603A中,分别计算所述各首音乐的特征向量与对应中心特征向量之间的欧氏距离;所述欧氏距离作为相应音乐的得分。即步骤S603A中,被分类至第k个聚类中心的第i首音乐的得分为:Ski=Sk·distance(fkc,fki),k∈[1,K],其中distance(fkc,fki)为第k个聚类中心对应的中心特征向量fkc与被分类至第k个聚类中心的第i首音乐的特征向量fki之间的距离,Sk为自定义系数。
进一步作为优选的实施方式,所述步骤S6,即使用无监督聚类算法对所述第二音乐播放历史信息对应的各首音乐进行评分这一步骤,具体包括:
S601B.对第二音乐播放历史信息对应的各首音乐进行解析,从而获得所述各首音乐的特征向量;
S602B.使用无监督聚类算法根据所述各首音乐的特征向量计算出中心特征向量,并将各首音乐的特征向量归类至对应的中心特征向量;
S603B分别计算所述各首音乐的特征向量与对应中心特征向量之间的欧氏距离;
S604B分别统计所述各首音乐的累计被播放次数;
S605B.计算所述各首音乐对应的欧氏距离与累计被播放次数的商作为相应音乐的得分。
步骤S601B-S605B是步骤S6的第二种具体实施方法。
步骤S601B-S603B的效果与步骤S601A-S603A的效果相同,即计算出为第k个聚类中心对应的中心特征向量fkc与被分类至第k个聚类中心的第i首音乐的特征向量fki之间的距离distance(fkc,fki)。
在步骤S6的第二种具体实施方法中,还执行步骤S604B,即统计所述第二音乐播放历史信息对应的各首音乐的累计被播放次数。通过执行步骤S604B,可以得到被分类至第k个聚类中心的第i首音乐的累计被播放次数Nki。
在步骤S6的第二种具体实施方法中,还执行步骤S605B,即计算所述各首音乐对应的欧氏距离与累计被播放次数的商,通过步骤S605B计算得到的商就是相应音乐的得分。即步骤S605B中,被分类至第k个聚类中心的第i首音乐的得分为:k∈[1,K]。
通过执行步骤S6的第二种具体实施方法即步骤S601B-S605B,在考虑无监督聚类算法的分类结果的基础上,还考虑了各首歌曲的累计被播放次数的影响,即歌曲的累计被播放次数越小,该歌曲的得分越高,在其他条件不变的情况下被推送到第一音乐播放器的可能性越大,避免第二音乐播放历史信息中的一些歌曲被反复推送,从而保障推送结果的新颖性和覆盖率。
本实施例中,在执行步骤S301-S304后,第二音乐播放历史信息对应的各首音乐分别被分类为类别1、类别2、类别3……类别K中的一种。在执行步骤S6后,第二音乐播放历史信息对应的各首音乐都具有了相应的得分。在执行步骤S7时,可以对第二音乐播放历史信息对应的各首音乐进行同一类别的内部排序,然后按照设定,将被分类为类别1、类别2、类别3……类别K的音乐中类别内部得分最高的那一首或多首推送至第一音乐播放器。
实施例2
本实施例中一种音乐推送系统,包括:
第一信息获取模块,用于从第一音乐播放器获取第一音乐播放历史信息和第一年龄信息;所述第一音乐播放历史信息为第一音乐播放器在第一天气状况下播放过的音乐的记录;所述第一年龄信息为第一音乐播放器的使用者的年龄;
第二信息获取模块,用于从第二音乐播放器获取第二音乐播放历史信息;所述第二音乐播放历史信息为第二音乐播放器在第一天气状况下播放过的音乐的记录;所述第二年龄信息为第二音乐播放器的使用者的年龄;
兴趣相似度计算模块,用于根据所述第一音乐播放历史信息和第二音乐播放历史信息计算所述第一音乐播放器与第二音乐播放器之间的兴趣相似度;
年龄相似度计算模块,用于根据所述第一年龄信息和第二年龄信息计算所述第一音乐播放器与第二音乐播放器之间的年龄相似度;
用户相似度计算模块,用于根据所述兴趣相似度与年龄相似度计算用户相似度;所述用户相似度为所述兴趣相似度与年龄相似度的加权平均数;
评分模块,用于当检测到所述用户相似度满足预设的阈值条件,使用无监督聚类算法对所述第二音乐播放历史信息对应的各首音乐进行评分;
推送模块,用于将所述第二音乐播放历史信息对应的各首音乐中得分最高的部分推送至第一音乐播放器。
本实施例中的第一信息获取模块、第二信息获取模块、兴趣相似度计算模块、年龄相似度计算模块、用户相似度计算模块、评分模块和推送模块可以是连接到互联网的服务器上具有相应功能的软件或硬件模块。
本实施例中还包括一种音乐推送装置,包括存储器和处理器,所述存储器用于存储至少一个程序,所述处理器用于加载所述至少一个程序以执行实施例1所述方法。
本实施例中还包括一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行实施例1所述方法。
本实施例中的音乐推送系统、装置和存储介质,可以执行本发明的音乐推送方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
以上是对本发明的较佳实施进行了具体说明,但对本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (10)
1.一种音乐推送方法,其特征在于,包括以下步骤:
从第一音乐播放器获取第一音乐播放历史信息和第一年龄信息;所述第一音乐播放历史信息为第一音乐播放器在第一天气状况下播放过的音乐的记录;所述第一年龄信息为第一音乐播放器的使用者的年龄;
从第二音乐播放器获取第二音乐播放历史信息;所述第二音乐播放历史信息为第二音乐播放器在第一天气状况下播放过的音乐的记录;所述第二年龄信息为第二音乐播放器的使用者的年龄;
根据所述第一音乐播放历史信息和第二音乐播放历史信息计算所述第一音乐播放器与第二音乐播放器之间的兴趣相似度;
根据所述第一年龄信息和第二年龄信息计算所述第一音乐播放器与第二音乐播放器之间的年龄相似度;
根据所述兴趣相似度与年龄相似度计算用户相似度;所述用户相似度为所述兴趣相似度与年龄相似度的加权平均数;
当检测到所述用户相似度满足预设的阈值条件,使用无监督聚类算法对所述第二音乐播放历史信息对应的各首音乐进行评分;
将所述第二音乐播放历史信息对应的各首音乐中得分最高的部分推送至第一音乐播放器。
2.根据权利要求1所述的一种音乐推送方法,其特征在于,所述根据所述第一音乐播放历史信息和第二音乐播放历史信息计算所述第一音乐播放器与第二音乐播放器之间的兴趣相似度这一步骤,具体包括:
使用无监督聚类算法分别对所述第一音乐播放历史信息和第二音乐播放历史信息对应的各首音乐进行分类;所述分类用于将各首音乐分别归为相应的类别;
生成第一兴趣向量;所述第一兴趣向量中的元素分别为第一音乐播放历史信息中被分类为各类别的音乐数量占第一音乐播放历史信息对应的音乐总数的比例;
生成第二兴趣向量;所述第二兴趣向量中的元素分别为第二音乐播放历史信息中被分类为各类别的音乐数量占第二音乐播放历史信息对应的音乐总数的比例;
根据所述第一兴趣向量、第二兴趣向量和类别总数计算所述兴趣相似度。
3.根据权利要求2所述的一种音乐推送方法,其特征在于,所述根据所述第一兴趣向量、第二兴趣向量和类别总数计算所述兴趣相似度这一步骤所用的公式为:
式中,A表示第一音乐播放器,X表示第二音乐播放器,SimIC(A,X)为第一音乐播放器与第二音乐播放器之间的兴趣相似度,vA为第一兴趣向量,vX为第二兴趣向量,distance(vA,vX)为第一兴趣向量与第二兴趣向量之间的距离,K为类别总数。
4.根据权利要求1所述的一种音乐推送方法,其特征在于,所述根据所述第一年龄信息和第二年龄信息计算所述第一音乐播放器与第二音乐播放器之间的年龄相似度这一步骤所用的公式为:
式中,A表示第一音乐播放器,X表示第二音乐播放器,SimSC(A,X)为第一音乐播放器与第二音乐播放器之间的年龄相似度,αA为第一年龄信息,αX为第二年龄信息,α为预设的阈值。
5.根据权利要求1所述的一种音乐推送方法,其特征在于,所述使用无监督聚类算法对所述第二音乐播放历史信息对应的各首音乐进行评分这一步骤,具体包括:
对第二音乐播放历史信息对应的各首音乐进行解析,从而获得所述各首音乐的特征向量;
使用无监督聚类算法根据所述各首音乐的特征向量计算出中心特征向量,并将各首音乐的特征向量归类至对应的中心特征向量;
分别计算所述各首音乐的特征向量与对应中心特征向量之间的欧氏距离;所述欧氏距离作为相应音乐的得分。
6.根据权利要求1所述的一种音乐推送方法,其特征在于,所述使用无监督聚类算法对所述第二音乐播放历史信息对应的各首音乐进行评分这一步骤,具体包括:
对第二音乐播放历史信息对应的各首音乐进行解析,从而获得所述各首音乐的特征向量;
使用无监督聚类算法根据所述各首音乐的特征向量计算出中心特征向量,并将各首音乐的特征向量归类至对应的中心特征向量;
分别计算所述各首音乐的特征向量与对应中心特征向量之间的欧氏距离;
分别统计所述各首音乐的累计被播放次数;
计算所述各首音乐对应的欧氏距离与累计被播放次数的商作为相应音乐的得分。
7.根据权利要求5或6所述的一种音乐推送方法,其特征在于,所述特征向量的元素包括过零率、单位功率、低能率、拍子、频谱中心和音调类型。
8.一种音乐推送系统,其特征在于,包括:
第一信息获取模块,用于从第一音乐播放器获取第一音乐播放历史信息和第一年龄信息;所述第一音乐播放历史信息为第一音乐播放器在第一天气状况下播放过的音乐的记录;所述第一年龄信息为第一音乐播放器的使用者的年龄;
第二信息获取模块,用于从第二音乐播放器获取第二音乐播放历史信息;所述第二音乐播放历史信息为第二音乐播放器在第一天气状况下播放过的音乐的记录;所述第二年龄信息为第二音乐播放器的使用者的年龄;
兴趣相似度计算模块,用于根据所述第一音乐播放历史信息和第二音乐播放历史信息计算所述第一音乐播放器与第二音乐播放器之间的兴趣相似度;
年龄相似度计算模块,用于根据所述第一年龄信息和第二年龄信息计算所述第一音乐播放器与第二音乐播放器之间的年龄相似度;
用户相似度计算模块,用于根据所述兴趣相似度与年龄相似度计算用户相似度;所述用户相似度为所述兴趣相似度与年龄相似度的加权平均数;
评分模块,用于当检测到所述用户相似度满足预设的阈值条件,使用无监督聚类算法对所述第二音乐播放历史信息对应的各首音乐进行评分;
推送模块,用于将所述第二音乐播放历史信息对应的各首音乐中得分最高的部分推送至第一音乐播放器。
9.一种音乐推送装置,其特征在于,包括存储器和处理器,所述存储器用于存储至少一个程序,所述处理器用于加载所述至少一个程序以执行权利要求1-7任一项所述方法。
10.一种存储介质,其中存储有处理器可执行的指令,其特征在于,所述处理器可执行的指令在由处理器执行时用于执行如权利要求1-7任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910266748.9A CN110147463A (zh) | 2019-04-03 | 2019-04-03 | 一种音乐推送方法、系统、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910266748.9A CN110147463A (zh) | 2019-04-03 | 2019-04-03 | 一种音乐推送方法、系统、装置和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110147463A true CN110147463A (zh) | 2019-08-20 |
Family
ID=67589442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910266748.9A Pending CN110147463A (zh) | 2019-04-03 | 2019-04-03 | 一种音乐推送方法、系统、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110147463A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110968726A (zh) * | 2019-10-29 | 2020-04-07 | 哈尔滨师范大学 | 一种音乐推送系统 |
CN114117224A (zh) * | 2021-11-29 | 2022-03-01 | 海信集团控股股份有限公司 | 确定知识点的掌握程度的方法、装置及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102650997A (zh) * | 2011-02-25 | 2012-08-29 | 腾讯科技(深圳)有限公司 | 一种元素推荐方法和装置 |
CN103559197A (zh) * | 2013-09-23 | 2014-02-05 | 浙江大学 | 基于上下文预过滤的实时音乐推荐方法 |
CN103678388A (zh) * | 2012-09-19 | 2014-03-26 | 腾讯科技(深圳)有限公司 | 在线音乐推荐方法及装置 |
CN106250545A (zh) * | 2016-08-10 | 2016-12-21 | Tcl集团股份有限公司 | 一种基于用户搜索内容的多媒体推荐方法及系统 |
KR20170107868A (ko) * | 2016-03-16 | 2017-09-26 | (주)멜로다임 | 사용자 맥락, 추천 음악, 이용 행태로 구성된 데이터베이스를 활용한 음악 콘텐츠 추천 방법 및 시스템 |
CN107784066A (zh) * | 2017-08-25 | 2018-03-09 | 上海壹账通金融科技有限公司 | 信息推荐方法、装置、服务器及存储介质 |
CN108197285A (zh) * | 2018-01-15 | 2018-06-22 | 腾讯科技(深圳)有限公司 | 一种数据推荐方法以及装置 |
CN109150817A (zh) * | 2017-11-24 | 2019-01-04 | 新华三信息安全技术有限公司 | 一种网页请求识别方法及装置 |
CN109684538A (zh) * | 2018-12-03 | 2019-04-26 | 重庆邮电大学 | 一种基于用户个人特征的推荐方法及推荐系统 |
-
2019
- 2019-04-03 CN CN201910266748.9A patent/CN110147463A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102650997A (zh) * | 2011-02-25 | 2012-08-29 | 腾讯科技(深圳)有限公司 | 一种元素推荐方法和装置 |
CN103678388A (zh) * | 2012-09-19 | 2014-03-26 | 腾讯科技(深圳)有限公司 | 在线音乐推荐方法及装置 |
CN103559197A (zh) * | 2013-09-23 | 2014-02-05 | 浙江大学 | 基于上下文预过滤的实时音乐推荐方法 |
KR20170107868A (ko) * | 2016-03-16 | 2017-09-26 | (주)멜로다임 | 사용자 맥락, 추천 음악, 이용 행태로 구성된 데이터베이스를 활용한 음악 콘텐츠 추천 방법 및 시스템 |
CN106250545A (zh) * | 2016-08-10 | 2016-12-21 | Tcl集团股份有限公司 | 一种基于用户搜索内容的多媒体推荐方法及系统 |
CN107784066A (zh) * | 2017-08-25 | 2018-03-09 | 上海壹账通金融科技有限公司 | 信息推荐方法、装置、服务器及存储介质 |
CN109150817A (zh) * | 2017-11-24 | 2019-01-04 | 新华三信息安全技术有限公司 | 一种网页请求识别方法及装置 |
CN108197285A (zh) * | 2018-01-15 | 2018-06-22 | 腾讯科技(深圳)有限公司 | 一种数据推荐方法以及装置 |
CN109684538A (zh) * | 2018-12-03 | 2019-04-26 | 重庆邮电大学 | 一种基于用户个人特征的推荐方法及推荐系统 |
Non-Patent Citations (1)
Title |
---|
杨媛媛 等: "融合上下文感知计算的协同过滤算法", 《天 津 师 范 大 学 学 报(自 然 科 学 版)》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110968726A (zh) * | 2019-10-29 | 2020-04-07 | 哈尔滨师范大学 | 一种音乐推送系统 |
CN110968726B (zh) * | 2019-10-29 | 2023-10-31 | 哈尔滨师范大学 | 一种音乐推送系统 |
CN114117224A (zh) * | 2021-11-29 | 2022-03-01 | 海信集团控股股份有限公司 | 确定知识点的掌握程度的方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10803118B2 (en) | Transitions between media content items | |
US12032620B2 (en) | Identifying media content | |
US8642872B2 (en) | Music steering with automatically detected musical attributes | |
CN111400543B (zh) | 音频片段的匹配方法、装置、设备及存储介质 | |
JP4199097B2 (ja) | 楽曲自動分類装置及び方法 | |
Huang et al. | Music genre classification based on local feature selection using a self-adaptive harmony search algorithm | |
CN111309965B (zh) | 音频匹配方法、装置、计算机设备及存储介质 | |
US7805389B2 (en) | Information processing apparatus and method, program and recording medium | |
GB2533654A (en) | Analysing audio data | |
Kostek et al. | Creating a reliable music discovery and recommendation system | |
CN110147463A (zh) | 一种音乐推送方法、系统、装置和存储介质 | |
WO2016102738A1 (en) | Similarity determination and selection of music | |
WO2016185091A1 (en) | Media content selection | |
Nam et al. | Intelligent query by humming system based on score level fusion of multiple classifiers | |
Chordia et al. | Extending Content-Based Recommendation: The Case of Indian Classical Music. | |
Lo et al. | Homogeneous segmentation and classifier ensemble for audio tag annotation and retrieval | |
KR20140129443A (ko) | 적응형 음원 추천 시스템 및 방법 | |
Schmitt et al. | Recognising guitar effects-which acoustic features really matter? | |
Yeh et al. | Improving music auto-tagging by intra-song instance bagging | |
Shen et al. | Effective music tagging through advanced statistical modeling | |
US20230401254A1 (en) | Generation of personality profiles | |
US20230236791A1 (en) | Media content sequencing | |
Wang et al. | Chinese opera genre classification based on multi-feature fusion and extreme learning machine | |
EP4270373B1 (en) | Method for identifying a song | |
Vavaroutsos et al. | HSP-TL: a deep metric learning model with triplet loss for hit song prediction |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190820 |
|
RJ01 | Rejection of invention patent application after publication |