一种音乐推荐方法及装置与流程

文档序号:12667195阅读:151来源:国知局
一种音乐推荐方法及装置与流程

本发明涉及计算机技术领域,具体涉及一种音乐推荐方法及装置。



背景技术:

随着移动网络技术的发展,人们可以通过手机、平板以及可穿戴设备等终端随时随地的享受音乐,为了改善用户的听歌体验,除了可以播放终端中本地的音乐外,还可以生成各种场景下的音乐列表,例如,工作场景对应的音乐列表,运动场景对应的音乐列表。

然而,发明人在实践中发现,上述音乐推荐方法无法体现用户在相应场景下的个性化特点,即所有用户在运动场景下可选择的音乐列表基本相同,导致所推荐音乐的准确率不高。



技术实现要素:

本发明实施例提供一种音乐推荐方法,能够提高所推荐的音乐的准确率。

本发明实施例提供一种音乐推荐方法,包括:

获取目标用户的兴趣模型对应的目标音乐列表;

确定所述目标用户的步频数据以及所选择的跑步模式;所述跑步模式包括激励模式、训练模式和匹配模式中的任一种;

根据所述跑步模式和所述步频数据从所述目标音乐列表中确定待播放的音乐。

相应的,本发明实施例还提供一种音乐推荐装置,包括:

获取单元,用于获取目标用户的兴趣模型对应的目标音乐列表;

确定单元,用于确定所述目标用户的步频数据以及所选择的跑步模式;所述跑步模式包括激励模式、训练模式和匹配模式中的任一种;

所述确定单元,还用于根据所述跑步模式和所述步频数据从所述目标音乐列表中确定待播放的音乐。

本发明实施例可以获取目标用户的兴趣模型对应的目标音乐列表;以及确定所述目标用户的步频数据以及所选择的跑步模式;所述跑步模式包括激励模式、训练模式和匹配模式中的任一种;根据所述跑步模式和所述步频数据从所述目标音乐列表中确定待播放的音乐。可见,实施本发明实施例可以根据用户的步频数据以及选择的跑步模式来为用户提供更匹配的跑步音乐,提高了音乐推荐的准确率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种音乐推荐方法的流程示意图;

图2是本发明实施例提供的一种模式选择界面的示意图;

图3是本发明实施例提供的一种步频数据显示界面的示意图;

图4是本发明实施例提供的另一种步频数据显示界面的示意图;

图5是本发明实施例提供的另一种音乐推荐方法的流程示意图;

图6是本发明实施例提供的一种步频相似用户列表的示意图;

图7是本发明实施例提供的一种已关注用户的提示框的示意图;

图8是本发明实施例提供的又一种音乐推荐方法的流程示意图;

图9是本发明实施例提供的另一种步频相似用户列表的示意图;

图10是本发明实施例提供的一种音乐推荐装置的结构示意图;

图11是本发明实施例提供的一种音乐推荐系统的结构示意图;

图12是本发明实施例提供的一种终端的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了便于理解本发明实施例,现先对本发明实施例涉及的概念、术语进行描述。

本发明实施例提供的音乐推荐方法可以应用于各种终端设备中,例如,手机、平板电脑以及可穿戴设备等。

应理解,兴趣模型也可以称为用户画像,用于表示用户的喜好,从而为用户推荐的音乐为用户感兴趣的音乐。该兴趣模型可以包括各种兴趣标签,将匹配兴趣模型中各兴趣标签的音乐作为目标用户的目标音乐列表。其中,该兴趣模型的创建可以根据用户的历史行为数据来确定,例如,分析用户下载、收藏、评价或爱好的音乐等操作,获取这些操作对应的音乐的标签,将获取的标签或者获取的标签中占比较高的标签作为兴趣模型的兴趣标签。可选的,也可以获取这些操作对应的音乐的节奏、音律等,将这些音乐具有的节奏特点、音律特点作为兴趣模型的兴趣标签。

可选的,也可以获取用户所关注的好友的兴趣模型作为该用户的兴趣模型的一部分。可选的,也可以将关注的好友的兴趣模型对应的目标音乐列表作为该用户的目标音乐列表的一部分。例如,用户A与用户B是互相关注的好友,就可以把向用户A推荐的目标音乐列表推荐给用户B,以及把向用户B推荐的目标音乐列表推荐给用户A。

可选的,该兴趣模型也可以包括步频相似的用户的兴趣模型,或者将步频相似的用户的目标音乐列表作为该用户的目标音乐列表的一部分。例如,在预设范围内,用户A和用户B的步频值的绝对差值小于预设阈值,则可以把向用户A推荐的目标音乐列表推荐给用户B,以及把向用户B推荐的目标音乐列表推荐给用户A。

可选的,该兴趣模型也可以包括品味相似的用户的兴趣模型,或者将品味相似的用户的目标音乐列表作为该用户的目标音乐列表的一部分。例如,根据用户A的历史行为数据(如听歌时长、切歌动作、收藏标注等操作)获取用户A的兴趣模型,根据用户B的历史行为数据(如听歌时长、切歌动作、收藏标注等操作)获取用户B的兴趣模型,若用户A的兴趣模型中各兴趣标签与用户B的兴趣模型中各兴趣标签相差较小,或者大部分的兴趣标签相同,则可以称用户A和用户B为品味相似的用户,就可以把向用户A推荐的目标音乐列表推荐给用户B,以及把向用户B推荐的目标音乐列表推荐给用户A。

作为一种可选的实施方式,根据预设的评分方案确定用户i以及用户j对于同一首歌的打分向量分别为Si=[x1,…,xn],Sj=[y1,…,yn],则用户i与用户j之间的相似度wij:

这样,wij小于预设阈值时,就可以确定用户i和用户j为品味相似的用户。进而,即可确定用户的目标音乐列表。

上述这种依据用户之间的相关性来为用户推荐音乐的方式也可以称为基于用户的协同过滤算法(User-based Collaborative Filtering recommendation,User-based CF)。

应理解,目标用户可以指用户登录音乐播放应用或者包括音乐推荐功能的应用的帐号等标识,也可以指采用了该音乐推荐方法的终端,本发明实施例不做限定。另外,目标用户仅是为了区分其他用户的一种标识,任何用户相对于其他用户都可以称为目标用户,本发明实施例采用“目标”是为了更加清楚的阐述本申请的方案。

本发明实施例中,步频数据可以包括目标用户运动的加速度、运动的起始速度、步长、运动的路程以及运动时长等,根据步频数据来确定用户的当前步频值、未来一段时长的预测步频值、速度变化趋势以及加速度变化趋势等。其中,步频值也可以称为脚步频率,即两腿在单位时间内交替的频率。

例如,用户运动的步速为vt,在时长t内,可以通过如下公式计算该vt

假设用户的步长为L,L*vt即为该用户的当前步频值,其中,时长t越小,通过上述公式计算出的步频值越准确。其中,加速度可以通过终端中设置的加速度传感器等器件来实时测量。

本发明实施例中,音乐的每分钟节拍数BPM通常可以先进行快速傅立叶变换得到音乐的音谱,然后通过波峰、波谷的统计即可得到音乐的BPM。由于音乐的BPM计算涉及到较多算法,故可以选择第三方音乐数据库来计算音乐的BPM,例如Soundtouch音频处理器。计算音乐的BPM可以为非实时的操作,即只要检测到目标音乐列表中有新添加的音乐,就可以调用相应的算法来计算BPM并录入的数据库中。

本申请实施例中,确定所述目标音乐列表中各音乐的每分钟节拍数BPM之后,还可以将所述目标音乐列表按照所述各音乐的BPM从小到大或从大到小的顺序进行排序;以每预设个数个不同的BPM为区间将排序后的所述目标音乐列表划分为多个子音乐列表,每个子音乐列表对应的BPM区间不同。其中,每一个BPM区间的前一个BPM区间为BPM均小于该BPM区间中的BPM且差值最小的BPM区间,每一个BPM区间的后一个BPM区间为BPM均大于该BPM区间中的BPM且差值最小的BPM区间。

本申请实施例中,跑步模式也可以称为运动模式,可以用于跑步、快走等运动中。跑步模式包括激励模式、训练模式和匹配模式中的任一种。

匹配模式是指在此模式下推荐给用户的音乐来自用户的当前步频值所在的BPM区间的前一个BPM区间以及后一个BPM区间对应的子音乐列表,可以帮助用户保持在当前步频值的预设范围内。激励模式是指在此模式下推荐给用户的音乐来自用户的预测步频值所在的BPM区间对应的子音乐列表或者来自用户的预测步频值所在的BPM区间的后一个BPM区间对应的子音乐列表,由于激励模式下推荐的音乐的BPM大于用户的当前步频值,从而可以达到以歌带人的目的,帮助用户达到减肥、瘦身等需求。

训练模式是指当用户进入冲刺阶段的化,可以立即进入激励模式,播放激励模式下的歌曲,从而激励用户进行冲刺。其中,用户进入冲刺阶段之前待播放的音乐是根据训练模式对应的训练举例以及当前步频值来确定的。例如,假设训练距离为800米,跑完400米进入冲刺阶段,则根据用户的当前步频值确定跑完400米需要3分钟,则可以结合匹配模式推荐时长为3分钟的音乐;当该音乐播放完毕时,切换到激励模式,根据激励模式以及步频数据(该步频数据可以以预设周期进行测量以确定用户的当前步频值和预测步频值)确定待播放的音乐,从而,在激励模式下的音乐的激励下完成冲刺。其中,预测步频值是根据步频数据中用户当前的速度以及加速度变化趋势来确定的,以便于自动给用户切换跑步模式。

可选的,训练模式下,也可以根据用户的步频数据来确定用户是否进入冲刺阶段。例如,根据步频数据确定目标用户处于加速运动状态时,将所选择的跑步模式切换到激励模式,从而,根据激励模式和所述步频数据从所述目标音乐列表中确定为所述目标用户待播放的音乐。

本申请实施例不仅可以根据目标用户的步频数据以及所选择的跑步模式从目标音乐列表中确定待播放的音乐,还可以实时根据用户的步频数据来对跑步模式进行切换。例如,根据步频数据确定用户目前为加速运动,则自动切换到激励模式,以带动用户的运动节奏;根据步频数据确定用户目前为近似匀速运动,则可以切换到匹配模式,以帮助用户稳固目前的运动节奏。

可选的,基于运动具有一定程度的社交性,本申请实施例还可以在用户运动时提供步频相似的用户的排名榜,即步频相似用户列表。根据所述步频数据确定所述目标用户的当前步频值;获取预设范围内步频值与所述当前步频值之间的绝对步频差值小于预设阈值的用户集合;根据所述用户集合中每个用户的步频值与所述当前步频值之间的绝对步频差值确定所述用户集合中各用户的排名,获得所述用户集合对应的步频相似用户列表;所述绝对步频差值越大,所述用户的排名越靠后。步频相似用户列表中可以显示与用户步频相似(即预设范围内步频值与所述当前步频值之间的绝对步频差值小于预设阈值)的用户的用户名、运动时长及运动步数等信息,可选的,还可以通过“关注”按钮来关注步频相似的用户,达到社交的目的。

可选的,本申请实施例还可以将步频相似用户列表中与用户的步频值保持相似时间较长的用户的排名调整到前面,可以使得用户想搭讪预设范围内步频相似的用户时,只需尽可能长的与其保持步频相似,从而可以在对方的步频相似用户列表中排名靠前,提供搭讪机会,提高了音乐推荐方法的社交性。具体的,该步频相似用户列表的调整过程包括:根据所述步频相似用户列表中每个用户的步频值与所述目标用户的当前步频值之间的绝对步频差值连续小于预设阈值的时长调整所述步频相似用户列表中各用户的排名,所述保持的时长越长,所述用户的排名越靠前。

基于上述内容,下面将详细介绍本发明实施例提供的音乐推荐方法的相关内容。

请参阅图1,图1是本发明实施例提供的一种音乐推荐方法的流程示意图,如图1所示,该音乐推荐方法可以包括以下步骤:

S101、终端获取目标用户的兴趣模型对应的目标音乐列表;

本申请实施例中,该兴趣模型可以根据用户的历史行为数据来确定,还可以根据用户关注的好友等基于用户的协同过滤算法来确定,还可以根据与目标用户的步频相似的用户的兴趣模型来确定,本发明实施例不做限定。

其中,根据目标用户的兴趣模型来确定目标音乐列表的操作,可以由后台服务器来执行,终端只需从后台服务器获取该目标音乐列表。由于确定目标音乐列表涉及到大量计算,占用过多的CPU等,因此,终端可以将目标用户的历史行为数据以及社交数据发送给后台服务器,由后台服务器基于相关算法,例如基于用户的协同过滤算法来确定目标音乐列表,从而可以降低终端的运行负载,提高目标音乐列表的生成效率。

S102、终端确定所述目标用户的步频数据以及所选择的跑步模式;所述跑步模式包括激励模式、训练模式和匹配模式中的任一种;

本发明实施例中,跑步模式的选择可以通过采用了该音乐推荐方法的终端上的模式选择选项来确定,例如,图2是本发明实施例提供的一种模式选择界面的示意图,如图2所示,匹配模式,可以根据步速自动选歌;激励模式,更快节奏给你动力;训练模式,不同米数有效训练,可以选择800m或者1000m等,可选的,也可以设置其他的训练距离。

可选的,目标用户也可以在运动过程中手动切换跑步模式。例如,图3是本发明实施例提供的一种步频数据显示界面的示意图,该步频数据显示界面可以包括当前步频值55步/秒、已运动里程数(已运动距离)10m以及已运动时长00:03秒,以及提示用户正在根据当前的步频(值)推荐音乐中。目标用户可以直观的根据这些信息来切换跑步模式,如切换到激励模式提高当前步频值,提高运动强度。

可选地,在运动结束后,步频显示界面还可以包括运动全程距离、平均步频值以及运动总时长。图4是本发明实施例提供的另一种步频数据显示界面的示意图,如图4所示,运动结束后,步频显示界面还可以包括运动全程距离5km、平均步频值105步/分钟以及运动总时长27分钟,还可以显示运动中播放的音乐列表,本发明实施例不做限定。

可选的,终端还可以根据目标用户的运动情况自动切换跑步模式。根据所述跑步模式和所述步频数据从所述目标音乐列表中确定为所述目标用户待播放的音乐,包括:当根据所述步频数据确定所述目标用户处于加速运动状态时,将所选择的跑步模式切换到激励模式,根据所述激励模式和所述步频数据从所述目标音乐列表中确定为所述目标用户待播放的音乐;当根据所述步频数据确定所述目标用户处于匀速运动状态时,将所选择的跑步模式切换到匹配模式,根据所述匹配模式和所述步频数据从所述目标音乐列表中确定为所述目标用户待播放的音乐。该实施方式可以在目标用户运动过程中根据运动情况自动切换跑步模式,避免用户手动操作的繁琐性。

S103、根据所述跑步模式和所述步频数据从所述目标音乐列表中确定待播放的音乐。

可选的,跑步模式为匹配模式时,所述根据所述匹配模式和所述步频数据从所述目标音乐列表中确定待播放的音乐,包括:根据所述步频数据确定所述目标用户的当前步频值;从所述当前步频值所在的BPM区间的前一个BPM区间对应的子音乐列表以及后一个BPM区间对应的子音乐列表中确定待播放的音乐;所述前一个BPM区间为BPM均小于所述当前步频值所在的BPM区间中的BPM且差值最小的BPM区间,所述后一个BPM区间为BPM均大于所述当前步频值所在的BPM区间中的BPM且差值最小的BPM区间。实施该实施方式,由于为目标用户推荐的音乐的BPM为大于当前步频值或者小于当前步频值,因此可以使得目标用户保持在当前步频值的前后一定范围内,达到健身或者减肥的目的。

本发明实施例中,终端根据所述激励模式和所述步频数据从所述目标音乐列表中确定待播放的音乐,可以包括:根据所述步频数据确定预设时长内所述目标用户能够达到的预测步频值;从所述预测步频值所在的BPM区间对应的子音乐列表以及后一个BPM区间对应的子音乐列表中确定待播放的音乐;所述后一个BPM区间为BPM均大于所述预测步频值所在的BPM区间中的BPM且差值最小的BPM区间。实施该实施方式,由于为目标用户推荐的音乐为大于当前步频值所在的BPM区间的音乐或者当前步频值所在BPM区间的音乐,因此,使得目标用户可以逐渐大于当前步频值,激励用户跟着音乐的节奏加速,达到健身或者减肥的目的。

可选的,跑步模式为训练模式,终端根据所述跑步模式和所述步频数据从所述目标音乐列表中确定为所述目标用户待播放的音乐,包括:根据所述步频数据确定所述目标用户的当前步频值;根据所述训练模式对应的训练距离以及所述当前步频值确定所述目标用户进入冲刺阶段之前待播放的音乐;当确定的所述目标用户进入冲刺阶段之前待播放的音乐播放完毕时,切换到激励模式,根据所述激励模式和所述步频数据从所述目标音乐列表中确定为所述目标用户待播放的音乐。实施该实施方式,在目标用户进入冲刺阶段之前确定的待播放音乐是根据当前步频值和训练距离确定的,因此,冲刺阶段之前的音乐播放时长可以与冲刺阶段之前的时长相匹配,当进入冲刺阶段时,正好冲刺阶段之前的音乐播放完毕,或者即将播放完毕,待冲刺阶段之前的音乐播放完毕,即可播放激励模式下确定的待播放音乐,从而可以使得用户在快节奏音乐的激励下完成冲刺。

可见,本发明实施例可以获取目标用户的兴趣模型对应的目标音乐列表;确定所述目标用户的步频数据以及所选择的跑步模式;所述跑步模式包括激励模式、训练模式和匹配模式中的任一种;根据所述跑步模式和所述步频数据从所述目标音乐列表中确定待播放的音乐。由于结合目标用户的步频数据和所选择的跑步模式来确定待播放音乐,因此可以提高音乐推荐的准确率。

请参阅图5,图5是本发明实施例提供的另一种音乐推荐方法的流程示意图,与图1所示的音乐推荐方法相比,图5所示的音乐推荐方法可以实时更新预设范围内与目标用户的步频相似的用户信息,具体的,除了上述步骤S101至S103外,图5所示的音乐推荐方法还可以包括以下步骤:

S104、终端根据所述步频数据确定所述目标用户的当前步频值;

S105、终端获取预设范围内步频值与所述当前步频值之间的绝对步频差值小于预设阈值的用户集合;

S106、终端根据所述用户集合中每个用户的步频值与所述当前步频值之间的绝对步频差值确定所述用户集合中各用户的排名,获得所述用户集合对应的步频相似用户列表。

其中,绝对步频差值越大,相应的用户的排名越靠后。

本发明实施例中,步骤S101至S106的执行顺序不做限定,即步骤S104计算当前步频值可以与步骤S103同时执行,也可以在确定步频相似用户列表时根据最近周期的步频数据来确定当前步频值。

本发明实施例中,确定用户集合时的预设阈值可以根据用户集合的规模来确定,该预设阈值越大,用户集合中可包括的用户数就越多。

图6是本发明实施例提供的一种步频相似用户列表的示意图,如图6所示,该步频相似用户列表中可以显示用户集合中每个用户的当前步频值,用户账号,还可以通过“关注”选项关注这些用户,例如,Mike 105步/分钟、Jak 103步/分钟、Lucy 101步/分钟、Lily 98步/分钟。相应的,还可以弹出“已关注该用户”的提示框,如图7所示,图7是本发明实施例提供的一种已关注用户的提示框的示意图,关注某个用户时可以弹出“已关注该用户”提示框。该步频相似用户列表可以在目标用户运动过程中显示,也可以在运动后显示,本发明实施例不做限定。

可见,图5所示的音乐推荐方法提供了音乐社交逻辑,在音乐推荐方法中引入跑步社交的逻辑,可以使得步频相似的用户一起跑步,一方面推广了该实施方式的音乐推荐方法,另一方面可以激励用户坚持运动。

请参阅图8,图8是本发明实施例提供的又一种音乐推荐方法的流程示意图,其中,与图5所示的音乐推荐方法相比,图8所示的音乐推荐方法还可以根据其他用户与目标用户保持步频相似的连续时长来调整步频相似用户列表中各用户的排名,具体的,图8所示的音乐推荐方法除了步骤S101至S106,还可以包括以下步骤:

S107、终端根据所述步频相似用户列表中每个用户的步频值与所述目标用户的当前步频值之间的绝对步频差值连续小于预设阈值的时长调整所述步频相似用户列表中各用户的排名。

其中,保持的时长越大,用户的排名越靠前。

可见,图8所示的音乐推荐方法也可以增加社交逻辑。

图9是本发明实施例提供的另一种步频相似用户列表的示意图,如图9所示,在步频相似用户列表中显示用户集合中与目标用户保持步频相似的时长,保持的时长越大的排名越靠前,如图9所示,“我的步频与TA相似长达”列表中显示了我的步频与Mike相似长达10分钟,与Jak相似长达6分钟,与Lucy相似长达3分钟,与Lily相似长达2分钟;并且还可以通过“关注”按钮关注相应的用户,可见,该实施方式给用户或者目标用户提供搭讪的机会。例如,目标用户想认识旁边步频相似的其他用户时,与其保持尽可能久的步频相似即可在对方的步频相似用户列表中显示目标用户的用户账号等信息。

请参阅图10,图10是本发明实施例提供的一种音乐推荐装置的结构示意图,如图10所示,该音乐推荐装置可以包括以下单元:

获取单元210,用于获取目标用户的兴趣模型对应的目标音乐列表;

确定单元220,用于确定所述目标用户的步频数据以及所选择的跑步模式;所述跑步模式包括激励模式、训练模式和匹配模式中的任一种;

所述确定单元220,还用于根据所述跑步模式和所述步频数据从所述目标音乐列表中确定待播放的音乐。

获取单元210可以根据目标用户的兴趣模型来确定目标音乐列表的操作,也可以由后台服务器来执行,获取单元210只需从后台服务器获取该目标音乐列表。由于确定目标音乐列表涉及到大量计算,占用过多的CPU等,因此,终端可以将目标用户的历史行为数据以及社交数据发送给后台服务器,由后台服务器基于相关算法,例如基于用户的协同过滤算法来确定目标音乐列表,从而可以降低音乐推荐装置的运行负载,提高目标音乐列表的生成效率。

其中,兴趣模型包括所述步频相似列表中各用户的兴趣模型,或者目标用户关注的好友的兴趣模型等,如前所述,该实施方式不再详述。

可选的,确定单元220根据所述跑步模式和所述步频数据从所述目标音乐列表中确定为所述目标用户待播放的音乐,具体为:当根据所述步频数据确定所述目标用户处于加速运动状态时,将所选择的跑步模式切换到激励模式,根据所述激励模式和所述步频数据从所述目标音乐列表中确定为所述目标用户待播放的音乐;当根据所述步频数据确定所述目标用户处于匀速运动状态时,将所选择的跑步模式切换到匹配模式,根据所述匹配模式和所述步频数据从所述目标音乐列表中确定为所述目标用户待播放的音乐。该实施方式中,确定单元220可以根据目标用户的运动状态来自动切换运动模式,从而避免用户手动切换运动模式,降低了操作的繁琐性。

可选的,跑步模式为训练模式时,确定单元220可以根据所述跑步模式和所述步频数据从所述目标音乐列表中确定为所述目标用户待播放的音乐,具体为:根据所述步频数据确定所述目标用户的当前步频值;根据所述训练模式对应的训练距离以及所述当前步频值确定所述目标用户进入冲刺阶段之前待播放的音乐;当确定的所述目标用户进入冲刺阶段之前待播放的音乐播放完毕时,切换到激励模式,根据所述激励模式和所述步频数据从所述目标音乐列表中确定为所述目标用户待播放的音乐。实施该实施方式,确定单元220可以在训练模式为目标用户是否进入冲刺阶段来选择对应得音乐,从而帮助目标用户完成训练并在冲刺阶段激励目标用户进行冲刺。

可选的,确定单元220,还用于根据所述步频数据确定所述目标用户的当前步频值;相应的,获取单元210,还用于获取预设范围内步频值与所述当前步频值之间的绝对步频差值小于预设阈值的用户集合;所述确定单元220,还用于根据所述用户集合中每个用户的步频值与所述当前步频值之间的绝对步频差值确定所述用户集合中各用户的排名,获得所述用户集合对应的步频相似用户列表;所述绝对步频差值越大,所述用户的排名越靠后。实施该实施方式,可以显示与目标用户的步频相似的用户的信息,从而增加音乐推荐装置的社交性,扩大用户群体。

可选的,图10所示的音乐推荐装置还可以包括调整单元230,用于根据所述步频相似用户列表中每个用户的步频值与所述目标用户的当前步频值之间的绝对步频差值连续小于预设阈值的时长调整所述步频相似用户列表中各用户的排名,所述绝对步频差值连续小于预设阈值的时长越大,所述用户的排名越靠前。该实施方式还可以在步频相似用户列表中显示用户集合中与目标用户保持步频相似的时长,并且保持的时长越大的排名越靠前,从而给用户或者目标用户提供搭讪的机会。例如,目标用户想认识旁边步频相似的其他用户时,与其保持尽可能久的步频相似即可在对方的步频相似用户列表中显示目标用户的用户账号等信息。

其中,确定单元220,还用于确定所述目标音乐列表中各音乐的每分钟节拍数BPM;相应的,图10所示的音乐推荐装置还可以包括以下单元:

排序单元240,用于将所述目标音乐列表按照所述各音乐的BPM从小到大的顺序进行排序;

划分单元250,用于以每预设个数个不同的BPM为区间将排序后的所述目标音乐列表划分为多个子音乐列表,每个子音乐列表对应的BPM区间不同。

其中,确定单元220还可以根据所述激励模式和所述步频数据从所述目标音乐列表中确定为所述目标用户待播放的音乐,具体为:根据所述步频数据确定预设时长内所述目标用户能够达到的预测步频值;从所述预测步频值所在的BPM区间对应的子音乐列表以及后一个BPM区间对应的子音乐列表中确定待播放的音乐;所述后一个BPM区间为BPM均大于所述预测步频值所在的BPM区间中的BPM且差值最小的BPM区间。实施该实施方式,由于为目标用户推荐的音乐为大于当前步频值所在的BPM区间的音乐或者当前步频值所在BPM区间的音乐,因此,使得目标用户可以逐渐大于当前步频值,激励用户跟着音乐的节奏加速,达到健身或者减肥的目的。

其中,确定单元220根据所述匹配模式和所述步频数据从所述目标音乐列表中确定待播放的音乐,具体为:根据所述步频数据确定所述目标用户的当前步频值;从所述当前步频值所在的BPM区间的前一个BPM区间对应的子音乐列表以及后一个BPM区间对应的子音乐列表中确定待播放的音乐;所述前一个BPM区间为BPM均小于所述当前步频值所在的BPM区间中的BPM且差值最小的BPM区间,所述后一个BPM区间为BPM均大于所述当前步频值所在的BPM区间中的BPM且差值最小的BPM区间。实施该实施方式,在目标用户进入冲刺阶段之前确定的待播放音乐是根据当前步频值和训练距离确定的,因此,冲刺阶段之前的音乐播放时长可以与冲刺阶段之前的时长相匹配,当进入冲刺阶段时,正好冲刺阶段之前的音乐播放完毕,或者即将播放完毕,待冲刺阶段之前的音乐播放完毕,即可播放激励模式下确定的待播放音乐,从而可以使得用户在快节奏音乐的激励下完成冲刺。

可见,本发明实施例中,获取单元210可以获取目标用户的兴趣模型对应的目标音乐列表;确定单元220可以确定所述目标用户的步频数据以及所选择的跑步模式;所述跑步模式包括激励模式、训练模式和匹配模式中的任一种;进而,确定单元220可以根据所述跑步模式和所述步频数据从所述目标音乐列表中确定待播放的音乐。由于结合目标用户的步频数据和所选择的跑步模式来确定待播放音乐,因此可以提高音乐推荐的准确率。

可选的,请参阅图11,图11是本发明实施例提供的一种音乐推荐系统的结构示意图,如图11所示,该音乐推荐系统可以包括前段业务模块310、后台业务模块320、歌曲BPM计算模块330以及推荐模块340,其中:

前端业务模块310用于直接处理用户交互相关的数据,以及与后台业务模块进行通信,获取用户的步频数据,并进行处理后(例如,用户的当前步频值、已运动时长及距离等)显示给用户。其中,用户的步频数据可以通过加速计来获取各个运动方向上的加速度,从而计算出用户的当前步频值或者预测用户在未来一段预设时长内的预测步频值。其中,预测步频值是根据多个时刻用户的步频值建立用户的步频值变化情况来进行预测的。另一方面,前端业务模块还可以与后台业务模块交互,通过后台业务模块提供的API接口获取确定的待播放音乐的信息,以播放该音乐。

可选的,前端业务模块310还可以将目标用户的用户账号、密码等信息发给后台业务模块320完成校验、鉴权等处理。

后台业务模块320一方面用于基于用户的协同过滤算法来确定目标音乐列表,还可以根据步频相似、品味相似等一起构建推荐给用户的目标音乐列表;另一方面还用于根据当前所处的跑步模式以及用户的步频数据来为用户确定待播放的音乐。

后台业务模块320还可以用于提供一个完整的鉴权体系以及对可能存在的歌曲盗链的保护机制。由于用户可以不登陆即可使用软件的,因此,可以采用一个令牌token机制来对用户的有效性进行校验和认证。一个完整的令牌token获取和交互的机制包括:用户首先通过前端业务模块310向后台业务模块320请求令牌,后台业务模块320返回token,使得用户向后台业务模块320请求服务时可以携带该token实现鉴权机制。

对于歌曲盗链的问题,通过后台业务模块320实时生成的歌曲链接,即控制歌曲链接的有效性以及有效期,从而防止过多的暴露后台对歌曲的实际存储地址以及永久生效的路径所带来的盗链的问题。

另外,后台业务模块320也负责社交化功能的记录和实现,通过Redis临时记录和用户步频相似的用户信息,并在用户运动中或者运动结束后输出给前端业务模块进行显示。其中,后台业务模块320可以执行获取单元210、确定单元220以及调整单元230的相关功能,本发明实施例不再详述。

歌曲BPM计算模块330可以执行确定单元、排序单元以及划分单元的相关功能,即确定目标音乐列表中各个音乐的BPM,并将所述目标音乐列表按照所述各音乐的BPM从小到大的顺序进行排序;以每预设个数个不同的BPM为区间将排序后的所述目标音乐列表划分为多个子音乐列表,每个子音乐列表对应的BPM区间不同。例如,以5个BPM为一个BPM区间,音乐的BPM为这5个BPM的归为一个子音乐列表。

并且,歌曲BPM计算模块330可以在检测到有音乐加入到目标音乐列表时,计算该新添加的音乐的BPM,并将该音乐归到包含该BPM的BPM区间的子音乐列表中。可选的,歌曲BPM计算模块330也可以采用定时机制来定时检测是否有新添加的音乐,以及时更新目标音乐列表划分的各子音乐列表。

推荐模块340,用于基于用户的兴趣模型确定目标音乐列表。具体的可以参考上述关于目标音乐列表创建的相关算法或实施方式。即后台业务模块320可以将“根据步频相似、品味相似等一起构建推荐给用户的目标音乐列表”的操作由推荐模块340来执行。推荐模块340可以每隔预设时长更新用户的兴趣模型,进而,更新目标音乐列表。

请参阅图12,图12是本发明实施例提供的一种终端的结构示意图,如图12所示,该终端可以包括:处理器401、通信接口402、存储器403和通信总线404,其中,通信总线404用于实现这些组件之间的通信连接,通信接口402用于实现各机器之间的通信连接。存储器403可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器403可选的还可以是至少一个位于远离前述处理器401的存储装置。其中,处理器401可以结合图10所示的音乐推荐装置或者图11所示的音乐推荐系统,存储器403中存储一组程序代码,且处理器401调用存储器403中存储的程序代码,用于执行以下操作:

获取目标用户的兴趣模型对应的目标音乐列表;

确定所述目标用户的步频数据以及所选择的跑步模式;所述跑步模式包括激励模式、训练模式和匹配模式中的任一种;

根据所述跑步模式和所述步频数据从所述目标音乐列表中确定待播放的音乐。

本发明实施例中,处理器401调用存储器403中存储的程序代码,根据所述跑步模式和所述步频数据从所述目标音乐列表中确定为所述目标用户待播放的音乐,可以包括以下操作:

当根据所述步频数据确定所述目标用户处于加速运动状态时,将所选择的跑步模式切换到激励模式,根据所述激励模式和所述步频数据从所述目标音乐列表中确定为所述目标用户待播放的音乐;

当根据所述步频数据确定所述目标用户处于匀速运动状态时,将所选择的跑步模式切换到匹配模式,根据所述匹配模式和所述步频数据从所述目标音乐列表中确定为所述目标用户待播放的音乐。

本发明实施例中,处理器401调用存储器403中存储的程序代码,跑步模式为训练模式,根据所述跑步模式和所述步频数据从所述目标音乐列表中确定为所述目标用户待播放的音乐,可以包括以下操作:

根据所述步频数据确定所述目标用户的当前步频值;

根据所述训练模式对应的训练距离以及所述当前步频值确定所述目标用户进入冲刺阶段之前待播放的音乐;

当确定的所述目标用户进入冲刺阶段之前待播放的音乐播放完毕时,切换到激励模式,根据所述激励模式和所述步频数据从所述目标音乐列表中确定为所述目标用户待播放的音乐。

本发明实施例中,处理器401调用存储器403中存储的程序代码,还可以执行以下操作:

根据所述步频数据确定所述目标用户的当前步频值;

获取预设范围内步频值与所述当前步频值之间的绝对步频差值小于预设阈值的用户集合;

根据所述用户集合中每个用户的步频值与所述当前步频值之间的绝对步频差值确定所述用户集合中各用户的排名,获得所述用户集合对应的步频相似用户列表;所述绝对步频差值越大,所述用户的排名越靠后。

本发明实施例中,处理器401调用存储器403中存储的程序代码,还可以执行以下操作:

根据所述步频相似用户列表中每个用户的步频值与所述目标用户的当前步频值之间的绝对步频差值连续小于预设阈值的时长调整所述步频相似用户列表中各用户的排名,所述保持的时长越长,所述用户的排名越靠前。

其中,兴趣模型包括所述步频相似列表中各用户的兴趣模型,或者目标音乐列表中还包括步频相似列表中用户的喜好的目标音乐列表。

本发明实施例中,处理器401调用存储器403中存储的程序代码,还可以执行以下操作:

确定所述目标音乐列表中各音乐的每分钟节拍数BPM;

将所述目标音乐列表按照所述各音乐的BPM从小到大或从大到小的顺序进行排序;

以每预设个数个不同的BPM为区间将排序后的所述目标音乐列表划分为多个子音乐列表,每个子音乐列表对应的BPM区间不同。

本发明实施例中,处理器401调用存储器403中存储的程序代码,根据所述激励模式和所述步频数据从所述目标音乐列表中确定待播放的音乐,可以执行以下操作:

根据所述步频数据确定预设时长内所述目标用户能够达到的预测步频值;

从所述预测步频值所在的BPM区间对应的子音乐列表以及后一个BPM区间对应的子音乐列表中确定待播放的音乐;所述后一个BPM区间为BPM均大于所述预测步频值所在的BPM区间中的BPM且差值最小的BPM区间。

本发明实施例中,处理器401调用存储器403中存储的程序代码,根据所述匹配模式和所述步频数据从所述目标音乐列表中确定待播放的音乐,可以执行以下操作:

根据所述步频数据确定所述目标用户的当前步频值;

从所述当前步频值所在的BPM区间的前一个BPM区间对应的子音乐列表以及后一个BPM区间对应的子音乐列表中确定待播放的音乐;所述前一个BPM区间为BPM均小于所述当前步频值所在的BPM区间中的BPM且差值最小的BPM区间,所述后一个BPM区间为BPM均大于所述当前步频值所在的BPM区间中的BPM且差值最小的BPM区间。

以上对本发明实施例所提供的音乐推荐方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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