CN111552831A - 一种音乐推荐的方法及服务器 - Google Patents

一种音乐推荐的方法及服务器 Download PDF

Info

Publication number
CN111552831A
CN111552831A CN202010320558.3A CN202010320558A CN111552831A CN 111552831 A CN111552831 A CN 111552831A CN 202010320558 A CN202010320558 A CN 202010320558A CN 111552831 A CN111552831 A CN 111552831A
Authority
CN
China
Prior art keywords
song
songs
information
vector
user
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
Application number
CN202010320558.3A
Other languages
English (en)
Other versions
CN111552831B (zh
Inventor
栗波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Music Entertainment Technology Shenzhen Co Ltd
Original Assignee
Tencent Music Entertainment Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Music Entertainment Technology Shenzhen Co Ltd filed Critical Tencent Music Entertainment Technology Shenzhen Co Ltd
Priority to CN202010320558.3A priority Critical patent/CN111552831B/zh
Publication of CN111552831A publication Critical patent/CN111552831A/zh
Application granted granted Critical
Publication of CN111552831B publication Critical patent/CN111552831B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/686Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, title or artist information, time, location or usage information, user ratings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/683Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content

Abstract

本申请实施例公开了一种音乐推荐的方法和服务器,该方法包括:服务器获取用户的画像信息,上述画像信息包括向量信息和标签信息;上述服务器通过远程调用的方式将上述向量信息发送至搜索服务模块,以及通过远程过程调用的方式处理上述搜索服务模块返回的第一歌曲集合;上述服务器通过远程调用的方式将上述标签信息发送至上述搜索服务模块,以及通过远程过程调用的方式处理上述搜索服务模块返回的第二歌曲;上述服务器对上述第一歌曲集合和上述第二歌曲集合进行融合,得到新的歌曲集合;上述服务器将上述新的歌曲集合推荐给用户。采用本申请实施例,得到的新的歌曲集合不仅符合了上述用户的听歌偏好,还丰富了歌曲的多样性。

Description

一种音乐推荐的方法及服务器
技术领域
本申请涉及计算机技术领域,尤其涉及一种音乐推荐的方法及服务器。
背景技术
随着互联网技术的不断发展,信息在很多方面呈现出爆炸式增长,推荐系统的出现使得用户在巨大的信息中能够获取可能感兴趣的信息,因此,推荐系统在很多方面发挥着越来越重要的作用。
推荐方案大部分包括召回、排序和重排的步骤,针对召回步骤目前的一些音乐推荐方法是基于用户收听的歌曲的向量召回,这种召回方式使得符合用户听歌偏好的歌曲的范围较窄。
发明内容
本发明实施例公开了一种音乐推荐的方法及服务器,不仅符合了用户的听歌偏好,还丰富了歌曲的多样性。
第一方面,本申请实施例提供了一种音乐推荐的方法,包括:获取用户的画像信息,上述用户的画像信息包括向量信息和标签信息,上述的向量信息包括用于表征用户喜欢的歌曲的向量和/或用于表征用户喜欢的歌手的向量,上述的标签信息包括用于标记上述用户喜欢的歌手、歌曲流派和歌曲语种中的一项或者多项的标签;通过远程过程调用的方式将上述向量信息发送至搜索服务模块,以及通过远程过程调用的方式处理上述搜索服务模块返回的第一歌曲集合,其中上述第一歌曲集合为上述搜索服务模块根据上述向量信息从歌曲库中搜索歌曲得到的;通过远程过程调用的方式将上述标签信息发送至上述搜索服务模块,以及通过远程过程调用的方式处理上述搜索服务模块返回的第二歌曲集合,其中上述第二歌曲集合为上述搜索服务模块根据上述标签信息从上述歌曲库中搜索歌曲得到的;对上述第一歌曲集合和上述第二歌曲集合进行融合,得到新的歌曲集合,上述新的歌曲集合用于推荐给上述用户。
可以看出,上述方法采用了向量召回和标签召回的多路召回的方法,通过向量召回的歌曲和标签召回的歌曲都符合了上述用户的听歌偏好,经过融合后的新的歌曲集合能够涵盖更多符合用户听歌偏好的歌曲,增加了歌曲的多样性。
在第一方面的一种可选的方案中,上述获取用户的画像信息,包括:获取终端中的用户的资产信息,上述资产信息记录了上述用户的听歌习惯;根据上述资产信息生成上述用户的画像信息
可以看出,利用终端中的用户的资产信息可以计算出上述用户的画像信息,从而使得该画像信息能够反映出该用户的听歌偏好。
在第一方面的又一种可选的方案中,上述获取用户的画像信息,包括:接收终端发送的上述用户的画像信息。
在第一方面的又一种可选的方案中,上述用户喜欢的歌曲包括用户收藏的歌曲、用户标记的歌曲、用户分享的歌曲和用户下载的歌曲中的一项或者多项,从而使得上述新的歌曲集合符合了该用户的听歌偏好。
在第一方面的又一种可选的方案中,上述第一歌曲集合的获得步骤包括:通过上述向量信息中的每个向量从歌曲库中搜索歌曲;将通过上述每个向量搜索到的歌曲进行汇总,得到第一歌曲集合,从而使得上述的第一歌曲集合具有更多种类型的歌曲。
在第一方面的又一种可选的方案中,上述通过上述向量中的每个向量从歌曲库中搜索歌曲,包括:计算上述向量信息中的第一歌曲的向量与上述歌曲库中的每首歌曲的向量的相似度,上述第一歌曲为上述向量信息中的多首歌曲中的任意一首;从上述歌曲库中获取与上述第一歌曲的相似度排在前N位的歌曲,N为预先设置的正整数。
可以看出,上述获取的歌曲为相似度高的歌曲,该歌曲符合了上述用户的听歌偏好。
在第一方面的又一种可选的方案中,上述通过上述向量信息中的每个向量从歌曲库中搜索歌曲,包括:根据向量信息中包含的多个向量训练成目标算法模型;利用上述目标算法模型从歌曲库中召回与第一向量的相似度排在前M位的歌曲,上述第一向量为上述向量信息中的多个向量中的任意一个,M为预先设置的正整数。
可以看出,该方法能够利用训练好的算法模型能够快速直接地召回歌曲。
在第一方面的又一种可选的方案中,上述第一歌曲集合的获得步骤包括:根据上述向量信息中的多个向量生成用于表征上述用户喜好的基准向量;通过上述基准向量从歌曲库中搜索歌曲,得到第一歌曲集合。
可以看出,上述的方法还包括根据多个向量生成一个用户的基准向量,例如,根据上述向量信息利用神经网络的方法计算出一个用户的基准向量,再根据该用户的喜好向量从歌曲库中召回歌曲,从而使得召回的歌曲更加符合上述用户的听歌偏好。
在第一方面的又一种可选的方案中,上述第二歌曲集合的获得步骤包括:根据上述标签信息中的各个标签的喜好权重确定每个标签对应的歌曲数量;从歌曲库中搜索上述每个标签所代表的类型的歌曲,其中,搜索到的上述每个标签所代表的类型的歌曲的数量为上述每个标签对应的歌曲数量;对搜索到的上述每个标签所代表的类型的歌曲进行汇总,得到第二歌曲集合。
可以看出,用户的标签信息中包含了各个标签的权重,该权重反映了用户的对各种类型歌曲的喜欢程度,根据该标签的权重来确定每个标签对应的歌曲数量,从而使得上述第二歌曲集合中的歌曲更加符合上述用户的听歌偏好。
在第一方面的又一种可选的方案中,上述第二歌曲集合的获得步骤包括:根据上述标签信息中的每个标签从上述歌曲库中召回上述每个标签对应的歌曲集合;计算上述每个标签对应的歌曲集合中每首歌曲的歌曲分数;将每个标签对应的歌曲集合进行汇总以得到总集合,并按照歌曲的信息对上述总集合进行分组以得到多组歌曲;从上述多组歌曲中选择第一组歌曲作为第二歌曲集合,其中,上述第一组歌曲中的歌曲的分数之和大于其他任意组歌曲中歌曲的分数之和。
可以看出,上述的标签检索是将标签信息中的标签一个一个地进行召回歌曲,并将所有标签召回的歌曲按照歌曲的信息进行分组,根据歌曲的所属的标签权重和命中标签的个数计算每组歌曲中的每首歌的分数,每组歌曲的最终得分为该组歌曲分数之和,分数越高表明该组越符合用户的听歌偏好。选取最终得分最高的歌曲组合作为第二歌曲集合,符合了上述用户的听歌偏好,也增加了第二歌曲集合的多样性。
在第一方面的又一种可选的方案中,上述通过远程过程调用的方式将上述标签信息发送至上述搜索服务模块,包括:将上述标签信息以RPC形式异步地发送至弹性索引ES的代理模块;根据上述弹性索引ES的代理模块接收到的上述PRC形式的标签信息解析为HTTP形式;将上述HTTP形式的标签信息异步地发送至上述弹性索引ES的搜索服务模块。
可以看出,能够通过增加搜索服务模块的代理模块使得上述标签信息异步地发送给上述搜索服务模块,从而增大了信息的吞吐量。
在第一方面的又一种可选的方案中,上述第一歌曲集合和第二歌曲集合进行融合,得到新的歌曲集合,包括:对上述第一歌曲集合和上述第二歌曲集合按照预设的梯度进行融合,得到新的歌曲集合。
在第一方面的又一种可选的方案中,上述第一歌曲集合和第二歌曲集合进行融合石,得到新的歌曲集合,包括:对上述第一歌曲集合和上述第二歌曲集合按照预设的比例进行融合,得到新的歌曲集合。
在第一方面的又一种可选的方案中,上述第一歌曲集合和第二歌曲集合进行融合石,得到新的歌曲集合,包括:根据上述第一歌曲集合和上述第二歌曲集合的预设权重利用动态调整的方法得到新的歌曲集合,上述动态调整满足Beta分布或者Diriclet分布。
第二方面,本申请实施例还提供了了一种音乐推荐的装置,包括:获取单元,用于获取用户的画像信息,上述用户的画像信息包括向量信息和标签信息,上述的向量信息包括用于表征用户喜欢的歌曲的向量和/或用于表征用户喜欢的歌手的向量,上述的标签信息包括用于标记用户喜欢的歌手、歌曲流派和歌曲语种中的一项或者多项的标签;第一搜索单元,用于通过远程过程调用的方式将上述向量信息发送至搜索服务模块,以及通过远程过程调用的方式处理上述搜索服务模块返回的第一歌曲集合,其中上述第一歌曲集合为上述搜索服务模块根据上述向量信息从歌曲库中搜索歌曲得到的;第二搜索单元,用于通过远程过程调用的方式将上述标签信息发送至上述搜索服务模块,以及通过远程过程调用的方式处理上述搜索服务模块返回的第二歌曲集合,其中上述第二歌曲集合为上述搜索服务模块根据上述标签信息从上述歌曲库中搜索歌曲得到的;处理单元,用于对上述第一歌曲集合和上述第二歌曲集合进行融合,得到新的歌曲集合,上述新的歌曲集合用于推荐给上述用户。
可以看出,上述方法采用了向量召回和标签召回的多路召回的方法,上述通过向量召回的歌曲和标签召回的歌曲都符合了上述用户的听歌偏好,经过融合后的新的歌曲集合,不仅符合了该用户的听歌偏好,还增加了歌曲的多样性。
在第二方面的一种可选的方案中,上述获取单元包括:第一获取子单元,用于获取终端中的用户的资产信息,上述资产信息记录了上述用户的听歌习惯;第一生成子单元,用于根据上述资产信息生成上述用户的画像信息。
可以看出,利用终端中的用户的资产信息可以计算出上述用户的画像信息,从而使得该画像信息能够反映出该用户的听歌偏好。
在第二方面的又一种可选的方案中,上述获取单元具体用于接收终端发送的上述用户的画像信息。
在第二方面的又一种可选的方案中,上述用户喜欢的歌曲具体为用户收藏的歌曲、用户标记的歌曲、用户分享的歌曲和用户下载的歌曲中的一项或者多,从而使得上述新的歌曲集合符合了该用户的听歌偏好。
在第二方面的又一种可选的方案中,上述的第一搜索单元包括:第一搜索子单元,用于通过向量信息中的每个向量从歌曲库中搜索歌曲;第一汇总子单元,用于将通过上述每个向量搜索到的歌曲进行汇总,得到第一歌曲集合,从而使得上述的第一歌曲集合具有更多类型的歌曲。
在第二方面的又一种可选的方案中,上述第一搜索子单元具体用于:计算上述向量信息中的第一歌曲的向量与上述歌曲库中的每首歌曲的向量的相似度,上述第一歌曲为上述向量信息中的多首歌曲中的任意一首;从上述歌曲库中获取与上述第一歌曲的相似度排在前N位的歌曲,N为预先设置的正整数。
可以看出,上述获取的歌曲为相似度高的歌曲,该歌曲符合了上述用户的听歌需求。
在第一方面的又一种可选的方案中,上述通过上述第一搜索子单元还用于:根据向量信息中包含的多个向量训练成目标算法模型;利用上述目标算法模型从歌曲库中召回与第一向量的相似度排在前M位的歌曲,上述第一向量为上述向量信息中的多个向量中的任意一个,M为预先设置的正整数。
在又一种可实施的方案中,上述第一搜索子单元702具体用于:计算上述向量信息中的第一歌曲的向量与上述歌曲库中的每首歌曲的向量的相似度,上述第一歌曲为上述向量信息中的多首歌曲中的任意一首;从上述歌曲库中获取与上述第一歌曲的相似度排在前N位的歌曲,N为预先设置的正整数。
可以看出,上述获取的歌曲为相似度高的歌曲,该歌曲符合了上述用户的听歌需求,提高了上述第一歌曲集合的精准性。
可以看出,该方法能够利用训练好的算法模型能够快速直接地召回歌曲。
在第二方面的又一种可选的方案中,上述第一搜索单元包括:第二生成子单元,用于根据上述向量信息中多个向量生成用于表征上述用户喜好的基准向量;第二汇总子单元,用于通过上述基准向量从歌曲库中搜索歌曲,得到第一歌曲集合。
可以看出,上述的方法还包括根据多个向量生成一个用户的基准向量,例如,根据上述向量信息利用神经网络的方法计算出一个用户的基准向量,再根据该用户的基准向量从歌曲库中召回歌曲,从而使得召回的歌曲更加符合上述用户的听歌习惯。
在第二方面的又一种可选的方案中,上述第二搜索单元包括:确定子单元,用于根据上述标签信息中的各个标签的喜好权重确定对应的歌曲数量;第二搜索子单元,用于从歌曲库中搜索上述每个标签所代表的类型的歌曲,其中,搜索到的上述每个标签多代表的类型的歌曲的数量为上述每个标签对应的歌曲数量;第三汇总子单元,用于对搜索到的上述每个标签所代表的类型的歌曲进行汇总,得到第二歌曲集合。
可以看出,用户的标签信息中包含了各个标签的权重,该权重反映了用户的对各种类型歌曲的喜欢程度,根据该标签的权重来确定每个标签对应的歌曲数量,从而使得上述第二歌曲集合中的歌曲更加符合上述用户的听歌偏好。
在第二方面的又一种可选的方案中,上述第二搜索单元还用于:根据上述标签信息中的每个标签从上述歌曲库中召回上述每个标签对应的歌曲集合;计算上述每个标签对应的歌曲集合中每首歌曲的歌曲分数;将每个标签对应的歌曲集合进行汇总以得到总集合,并按照歌曲的信息对上述总集合进行分组以得到多组歌曲;从上述多组歌曲中选择第一组歌曲作为第二歌曲集合,其中,上述第一歌曲中的歌曲的分数之和大于其他任意组歌曲中歌曲的分数之和。
可以看出,上述方法采用了向量召回和标签召回的多路召回的方法,通过向量召回的歌曲和标签召回的歌曲都符合了上述用户的听歌偏好,经过融合后的新的歌曲集合能够涵盖更多,符合用户听歌偏好的歌曲,增加了歌曲的多样性。。上述在第二方面的又一种可选的方案中,上述处理单元具体用于对上述第一歌曲集合和上述第二歌曲集合按照预设的比例进行融合,得到新的歌曲集合。
在第二方面的又一种可选的方案中,上述处理单元具体用于根据上述第一歌曲集合和上述第二歌曲集合的预设权重利用动态调整的方法得到新的歌曲集合,上述动态调整满足Beta分布或者Diriclet分布。
第三方面,上述服务器还包括收发器、存储器和处理器,其中,上述收发器用于接收和发送数据信息,上述存储器用于存储计算机程序,上述处理器被配置用于计算机程序,以使上述装置执行第一方面的或者第一方面中任意一种可选的方案中所描述的方法。
第四方面,上述服务器还包括一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被配置处理器执行时使上述处理器实现第一方面或者第一方面中任意一种可选的方案中的音乐推荐的方法。
第五方面,本申请实施例提供了一种计算机程序产品,当该计算机程序品在处理器上运行时,实现本申请实施例第一方面或者第一方面的任意一种可选的方案中所描述的音乐推荐的方法。
可以理解地,上述提供的第三方面提供的服务器和第四方面提供的计算机可读存储介质,以及第五方面提供的计算机产品均用于执行第一方面所提供的音乐推荐的方法,因此,其所能达到的有益效果可以参考第一方面所提供的音乐推荐的方法中的有益效果,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图作简单地介绍。
图1是本申请实施例提供的一种音乐推荐的场景示意图;
图2是本申请实施例提供的一种服务器的结构示意图;
图3是本申请实施例提供的又一种音乐推荐的方法的流程示意图;
图4是本申请实施例提供的一种ES索引的结构示意图;
图5是本申请实施例提供的一种显示屏的结构示意图;
图6是本申请实施例提供的又一种显示屏的结构示意图;
图7是本申请实施例提供的一种服务器的结构示意图;
图8是本申请实施例提供的又一种服务器的结构示意图。
具体实施方式
下面将结合附图对本申请实施例中的技术方案进行描述。
请参见图1,图1是本申请实施例提供的一种音乐推荐的场景示意图,该场景示意图包括用户101、终端102和服务器103。
其中,终端102可以为手机1021,车辆1022,或智能音响1023等设备,但不限于此,该终端上可以安装音乐类的客户端。上述终端102向上述服务器103发送用户的资产信息以供服务器生成用户的画像信息或者向上述服务器103发送用户的画像信息,该服务器103对上述用户的画像信息进行处理得到音乐推荐结果,并将该音乐推荐结果返回上述终端102,上述终端102将推荐结果输出(如显示,语音提示等)给用户101。
上述服务器103可以为单个服务器,也可以为由一系列服务器组成的一个或者多个服务器集群,还可以为其他具有计算能力的设备。具体地,请参见图2,图2为本申请实施例列举的一种服务器103的结构示意图,从图2可以看出,该服务器103可以获取终端102中的用户的资产信息201,通过用户的资产信息201计算出上述用户的画像信息202,上述的画像信息202包括向量信息203和标签信息204,其中,上述的向量信息203包含用于表征用户喜欢的歌曲的向量和/或用于表征用户喜欢的歌手的向量,上述的标签信息204用于标记上述用户喜欢的歌手、歌曲流派和歌曲语种中的一项或者多项;根据上述向量信息203从歌曲库的索引统一管理运营池205中通过向量检索207得到第一歌曲集合;根据上述标签信息204从歌曲库206的标签运营池中通过标签检索208得到第二歌曲集合;对上述第一歌曲集合和上述第二歌曲集合按照融合方式209进行融合,得到新的歌曲集合,上述融合包括梯度融合、比例融合、混合融合和其他融合中的一种或者多种融合方式,或者根据上述第一歌曲集合和上述第二歌曲集合的预设权重利用动态调整的方法得到新的歌曲集合,该动态调整满足Beta分布或者Diriclet分布。
可以看出,上述方法采用了向量召回和标签召回的多路召回的方法,通过向量召回的歌曲和标签召回的歌曲都符合了上述用户的听歌偏好,经过融合后的新的歌曲集合能够涵盖更多,符合用户听歌偏好的歌曲,增加了歌曲的多样性。
请参见图3,图3是本申请实施例提供的一种音乐推荐的方法的流程示意图,该方法可以基于图2所示的服务器来实现,该方法包括但不限于如下步骤。
步骤S301:服务器获取用户的画像信息。
例如,上述终端可以为手机,服务器可以获取手机中装载的QQ音乐、百度音乐、酷我音乐或网易云音乐等音乐播放器中用户的画像信息。
可选地,上述服务器可以获取终端中的用户的资产信息,该资产信息记录了上述用户的听歌习惯;根据上述资产信息生成该用户的画像信息。
可选地,上述服务器也可以直接接收终端发送的上述用户的画像信息。
上述用户的画像信息包括向量信息和标签信息。上述的向量信息包括用于表征用户喜欢的歌曲的向量和/或用于表征用户喜欢的歌手的向量,上述的标签信息用于标记上述用户喜欢的歌手、歌曲流派和歌曲语种中的一项或者多项的标签,上述用户喜欢的歌曲包括用户收藏的歌曲、用户标记的歌曲、用户分享的歌曲和用户下载的歌曲中的一项或者多项,例如,向量信息可以为歌手周杰伦的向量(x1,,x2,x3),其中,x1用于表征歌手的年龄,x2用于表征歌手的国籍,x3用于表征歌手的音乐风格;可选的,周杰伦的向量除了x1、x2、x3之外,还可以包括其他表征歌手的特征的因子。或者,歌曲晴天的向量(y1,y2,y3),其中,y1用于表征歌曲的发行年代,y2用于表征歌曲的播放时间,y3用于表征歌曲的语种,歌曲的向量除了y1,y2,y3之外,还可以包括其他表征歌曲的特征的因子;标签信息可以为周杰伦、流行音乐、经典音乐、华语或韩语。
步骤S302:上述服务器通过远程调用的方式将上述向量信息发送至搜索服务模块,以及通过远程调用的方式处理上述搜索服务模块返回的第一歌曲集合。
其中,上述第一歌曲集合为上述搜索服务模块将上述向量信息从歌曲库中搜索歌曲得到的。具体地,上述终端通过连接上述服务器将上述向量信息发送至该服务器的搜索服务模块,该服务器的搜索服务模块通过利用近似最近邻分类算法(Approximate NearestNeighbors Oh Yeah,ANNOY)或者FAISS算法,或者其他搜索算法,能够对海量数据进行高校相似性搜索和密集向量聚类,并能够自动更新。ANNOY、FAISS这些向量检索服务的算法是基于C++和远程过程调用协议(Remote Procedure Call Protocol,RPC)的服务框架的SRF服务来实现的,从而实现了远程调用的方式进行搜索。
可选地,上述服务器根据上述向量信息中的歌手的向量信息从歌曲库中搜索歌曲,上述向量信息中的歌手可以为一个歌手,也可以为多个歌手。具体地,根据每个歌手的向量从歌曲库中直接搜索到该歌手的歌曲和/或与该歌手相似的歌手的歌曲并将所有歌手搜索到的歌曲进行汇总,得到第一歌曲集合。例如,向量信息中的歌手为周杰伦,则可以搜索到周杰伦的歌曲中播放量排在前P位的歌曲,并且搜索到与周杰伦相似的歌手林俊杰的歌曲,召回林俊杰的歌曲的播放量排在前Q位的歌曲,将上述排在前P位的歌曲和前Q位的歌曲召回,得到第一歌曲集合,其中,上述P和Q是预先设置的正整数。
可选地,上述服务器根据上述向量信息中的歌曲的向量信息从歌曲库中搜索歌曲,上述向量信息中歌曲可以为一首歌曲,也可以为多首歌曲。具体地,计算上述向量信息中的第一歌曲的向量与上述歌曲库中的每首歌曲的向量的相似度。若向量信息中的歌曲为一首歌曲时,上述第一歌曲为上述向量信息中的歌曲中一首歌曲。若向量信息中的歌曲为多首歌曲时,上述第一歌曲为该向量信息中的歌曲中多首歌曲中的任意一首歌曲,也就是说,上述向量信息中的多首歌曲中的每一首均满足上述第一歌曲所执行的操作;从上述歌曲库中获取与上述第一歌曲的相似度排在前N位的歌曲,N为预先设置的正整数,将上述每首歌曲计算得到的相似度排在前N位的歌曲进行汇总,得到第一歌曲集合。
可选地,上述服务器根据向量信息中的向量(例如,向量信息中的所有向量)训练成目标算法模型;当输入向量信息中的第一向量时,利用该算法模型从歌曲库中召回与上述第一向量相似的歌曲,上述第一向量为上述向量信息中的多个向量中的任意一个,也就是说,上述向量信息中的多首歌曲中的每一首均满足上述第一歌曲所执行的操作,上述相似的歌曲为与上述第一向量的相似度排在前R位的歌曲,将上述的前R位的歌曲召回,得到第一歌曲集合,其中上述R为预先设置的正整数。
可选地,上述服务器根据上述向量信息中的多个向量生成用于表征上述用户喜好的基准向量;通过上述基准向量从歌曲库中搜索歌曲,得到第一歌曲集合。例如,根据上述向量信息利用神经网络的方法计算出一个用户的基准向量,再根据该用户的基准向量从歌曲库中召回歌曲,利用该用户的基准向量与歌曲库中的所有歌曲计算相似度,召回相似度排在前S位的歌曲,得到第一歌曲集合,上述S为预先设置好的正整数。当利用该用户的喜好向量,通过已经训练好的算法模型来召回相似度排在前T位的歌曲,得到第一歌曲集合,上述T为预先设置好的正整数。
可以看出,该方法基于上述向量信息中的每个向量进行搜索歌曲,扩大了该第一歌曲的选择范围,增加了该第一歌曲集合中的多样性,第一歌曲集合符合了该用户的听歌偏好。
步骤303:上述服务器通过远程调用的方式将上述标签信息发送至上述搜索服务模块,以及通过远程调用的方式处理上述搜索服务模块返回的第二歌曲集合。
其中,上述第二歌曲集合为上述搜索服务模块根据上述标签信息从上述歌曲库中搜索歌曲得到的。
可选地,上述终端通过连接上述服务器将上述标签信息发送至该服务器的搜索服务模块,该服务器的搜索服务模块可以利用弹性索引(elastiocsearch,ES)技术来实现远程调用的方式进行搜索。上述弹性索引ES根据上述标签信息中的各个标签的喜好权重确定每个标签对应的歌曲数量;从歌曲库中搜索上述每个标签所代表的类型的歌曲。请参见图4,图4是本申请实施例提供的一种弹性索引ES技术的示意图。该结构包含终端401,ES-SRF服务402和ES集群403,其中,ES-SRF服务402包括超文本传输协议(hypertext transferprotocol,HTTP)程序包4021和数据格式程序包4022。具体地,终端401向ES-SRF服务402发送RPC请求,然后HTTP请求程序包4021-1将上述的RPC请求解析为HTTP请求,并将RPC报文解析为HTTP报文,HTTP报文异步发送程序包4021-3以传输控制协议(transmission controlprotocol,TCP)方式异步向ES集群发送HTTP报文,大大增加了ES-SRF服务的吞吐量;HTTP解析程序包4021-2解析ES返回的Java脚本对象简谱(java script object notation,JSON)格式的结果,而数据格式程序包4022中的JSON格式解析程序包4022-1是一种高效的JSON数据格式解析库,将从ES集群返回的JSON格式的结果进行解析,JCE格式生成程序包4022-2将上述解析过的JSON结果转化成Java加密拓展(java cryptography extension,JCE)的数据格式。对于ES-SRF服务402在这里是一个代理服务,其优点在于可以适配各种RPC协议,使得终端不用考虑底层服务所满足的各种协议类型,例如,该底层服务中的ES索引技术需要满足的HTTP协议。此外,ES-SRF服务通过动态生成HTTP报文,采用非阻塞的TCP请求发送到ES服务,并在回调接口中增加采用流式解析HTTP报文的模块,大大地增加了ES-SRF服务的吞吐量。
具体地,我们采用ES索引的方法对所有标签同时进行检索。终端401向上述ES-SRF服务402发送关于标签信息的RPC请求和RPC报文,上述ES-SRF服务402将上述关于标签信息的RPC请求和RPC报文解析成关于标签信息的HTTP请求和HTTP报文,ES集群403根据该HTTP请求和HTTP报文进行检索歌曲。例如,若该标签信息中流行音乐、经典音乐和摇滚音乐的权重分别为0.1、0.2和0.3,那么,如果我们对这三种流派的歌曲预设召回的歌曲数量为600首,那么,按照它们对应的权重,流行歌曲召回歌曲的数量为100,经典歌曲召回的数量为200,摇滚歌曲召回的歌曲数量为300。其中,对搜索到的上述每个标签所代表的类型的歌曲进行汇总,得到第二歌曲集合。
可选地该服务器的搜索服务模块也可以利用key-value存储服务的索引方法。对于小流量的业务入口可以使用上述基于ES的标签索引服务来实现,对于流量比较大的入口,在使用ES时会出现瓶颈,这里可以采用多级key的方式来建立索引。上述多级key的方法利用标签信息中的标签来召回歌曲,其中,key代表标签,value为标签所对应的歌曲列表以及对应的分数(如果没有的话,可以直接为1)。在索引时,可以利用用户画像信息中的标签信息从不同的key-value存储中拿到候选列表,对每个候选列表中的每首歌曲计算分数,然后,按照歌曲的身份标识号(identity document,ID)进行分组,根据命中的标签以及标签列表对应的分数,最终得到歌曲分数,将每组中的歌曲分数相加,得分最高的组的歌曲作为候选歌曲列表。请参见表1,表1为我们列举了一些标签以及标签对应的信息。
表1一些标签以及标签对应的信息
Figure BDA0002459705800000121
Figure BDA0002459705800000131
根据表1中的数据,我们可以计算每个标签列表中的歌曲的分数,列表A中的歌曲有S1、S2,则S1=0.1×0.2=0.02,S2=0.1×0.2=0.02;列表B中的歌曲有S2、S3,则S2=0.2×0.3=0.06,S3=0.2×0.3=0.06;列表C中的歌曲有S3和S4,则S3=0.3×0.4=0.12,S4=0.3×0.4=0.12。
计算完每个标签列表中的歌曲分数之后,再将所有标签召回的歌曲重新按照歌曲的ID重新分成两组:第一组和第二组。其中,第一组包括歌曲S2和S3,第二组包括歌曲S1和S4,计算每组歌曲的最终得分。其中,根据ID分组可能是根据ID的数字连续性进行分类的,比如dx001和dx002可以划分为一组,dx005和dx006可以划分为一组。
由于S2不仅属于标签A,也属于标签B,那么S2的最终得分为二者的和,也即是:S2=0.02+0.06=0.08。同样地,由于S3不仅属于标签B,也属于标签C,那么,S3最终得分为二者的和,也即是:S3=0.06+0.12=0.18。因此,第一组的最终得分为S2+S3=0.08+0.18=0.26。同样地,第二组的最终得分为S1+S4=0.02+0.12=0.14。则对比第一组和第二组的得分,最终分数最高的为第一组,因此,将第一组中的歌曲作为召回歌曲的列表,得到第二歌曲集合。
步骤S304:上述服务器对上述第一歌曲集合和上述第二歌曲集合进行融合,得到新的歌曲集合。
可选地,对上述第一歌曲集合和第二歌曲集合按照预设的融合方式进行融合,得到新的歌曲集合,上述预设的融合方式包括梯度融合、比例融合、混合融合(可以为梯度融合和比例融合同时存在的融合方式)和其他融合中的一种或者多种融合方式,并且,上述第一歌曲集合可以为上述一种或者多种可选的方案召回的歌曲,上述第二歌曲集合可以为上述一种或者两种可选的方案召回的歌曲。例如,根据上述步骤302中的通过上述歌手的向量召回的第一歌曲集合为40首,通过歌曲的向量召回的第一歌曲集合为30首,通过目标算法模型召回的第一歌曲集合为20首,通过基准向量召回的第一歌曲集合为20;通过上述步骤303中的通过弹性索引ES召回的第二歌曲集合为20首,通过key-value召回的第二歌曲集合为30首。若根据上述召回的歌曲集合按照比例融合为2:2:1:1:2:2得到新的歌曲集合为100首,则通过上述歌手的向量召回的歌曲为20首,通过歌曲的向量召回的歌曲为20首,通过目标算法模型召回的歌曲为10首,通过基准向量召回的歌曲为10;通过上述步骤303中的通过弹性索引ES召回的歌曲为20首,通过key-value召回的歌曲为20首。
可选地,上述服务器根据上述第一歌曲集合和上述第二歌曲集合的预设权重利用动态调整的方法得到新的歌曲集合,上述动态调整满足Beta分布或者Dirichlet。其中,上述第一歌曲集合可以为上述一种或者多种可选的方案召回的歌曲,上述第二歌曲集合可以为上述一种或者多种可选的方案召回的歌曲。
若上述第一歌曲集合为通过目标算法模型召回的歌曲集合,上述第二歌曲集合为通过弹性索引ES的方法召回的歌曲集合,且设置的上述第一歌曲集合和第二歌曲集合的预设权重分别为0.6和0.4,根据用户对歌曲点击量的变化(例如,上述第一歌曲集合的点击量减少,上述第二歌曲集合的点击量增加),上述服务器对上述预设权重进行动态调整(例如,上述第一歌曲集合的权重变为0.4,上述第二歌曲集合的权重变为0.6),并根据动态调整后的权重进行融合,得到新的歌曲集合,其中,上述动态调整满足Beta分布。
若上述第一歌曲集合为上述多种可选的方案召回的歌曲,上述第二歌曲集合为通过弹性索引ES或者key-value方法召回的歌曲集合,则上述服务器根据预设权重(通过目标算法模型召回的歌曲、基准向量召回的歌曲以及弹性索引ES的权重分别为0.3、0.3、0.4)进行动态调整,并根据动态调整后的权重进行融合,得到新的歌曲集合,其中,上述动态调整满足Dirichlet分布。
步骤305:上述服务器将上述新的歌曲集合推荐给上述用户。
具体地,上述服务器将新的歌曲集合通过终端推荐给用户,上述终端可以通过显示屏来显示推荐结果,或者,也可以通过该服务器来语音播放推荐结果。
请参见图5,图5为本申请实施例提供的一种推荐结果的界面示意图。以终端中的QQ音乐客户端中的显示情况为例,该推荐结果可以应用到音乐中的推荐音乐应用中。从图5中可以看到,上述的界面示意图包括了用户昵称501、歌曲信息502。上述歌曲信息502为上述具有用户昵称501的用户的歌曲推荐结果。可以看出,歌曲信息502则将该推荐结果以列表的形式呈现给用户。
请参见图6,图6为本申请实施例提供的又一种推荐结果的界面示意图,以终端中的QQ音乐客户端中的显示情况为例,该推荐结果可以应用到音乐中的个性电台中。从图6中可以看到,上述结构示意图包括了歌曲信息601、该歌曲的评论信息602。歌曲信息601为推荐结果,它显示了该歌曲的歌名以及歌手,该歌曲信息是以单曲的形式呈现给用户,并且可以根据切割键来选择推荐的歌曲,歌曲的评论信息602显示了其他用户对该歌曲的评论以及该评论的评论量和点赞量。
在图3中的方法的流程中采用了向量召回和标签召回的多路召回的方法,通过向量召回的歌曲和标签召回的歌曲都符合了上述用户的听歌偏好,经过融合后的新的歌曲集合能够涵盖更多符合用户听歌偏好的歌曲,增加了歌曲的多样性。
请参见图7,图7是本申请实施例提供的一种服务器的结构示意图。该服务器的结构示意图包括获取单元701,第一搜索单元702,第二搜索单元703,处理单元704。其中,各单元的详细描述如下:
获取单元701,用于获取用户的画像信息,上述用户的画像信息包括向量信息和标签信息,上述的向量信息包括用于表征用户喜欢的歌曲的向量和/或用于表征用户喜欢的歌手的向量,上述的标签信息包括用于标记上述用户喜欢的歌手、歌曲流派和歌曲语种中的一项或者多项的标签;
第一搜索单元702,用于通过远程过程调用的方式将上述向量信息发送至搜索服务模块,以及通过远程过程调用的方式处理上述搜索服务模块返回的第一歌曲集合,其中上述第一歌曲集合为上述搜索服务模块根据上述向量信息从歌曲库中搜索歌曲得到的;上述第二搜索单元703,用于通过远程过程调用的方式将上述标签信息发送至上述搜索服务模块,以及通过远程过程调用的方式处理上述搜索服务模块返回的第二歌曲集合,其中上述第二歌曲集合为上述搜索服务模块根据上述标签信息从上述歌曲库中搜索歌曲得到的;上述处理单元704,用于对上述第一歌曲集合和上述第二歌曲集合进行融合,得到新的歌曲集合,上述新的歌曲集合用于推荐给上述用户。
在一种可实施的方案中,上述获取单元包括:第一获取子单元701,用于获取终端中的用户的资产信息,上述资产信息记录了上述用户的听歌习惯;第一生成子单元,用于根据上述资产信息生成上述用户的画像信息。
可以看出,利用终端中的用户的资产信息可以计算出上述用户的画像信息,从而使得该画像信息能够反映出该用户的听歌习惯。
在又一种可实施的方案中,上述获取单元具体用于接收终端发送的上述用户的画像信息。
在又一种可实施的方案中,上述用户喜欢的歌曲具体为用户收藏的歌曲、用户标记的歌曲、用户分享的歌曲和用户下载的歌曲中的一项或者多项,从而使得上述新的歌曲集合符合了该用户的听歌偏好。
在又一种可实施的方案中,上述的第一搜索单元包括:第一搜索子单元,用于通过向量信息中的每个向量从歌曲库中搜索歌曲;第一汇总子单元,用于将通过上述每个向量搜索到的歌曲进行汇总,得到第一歌曲集合,从而使得上述的第一歌曲集合具有更多类型的歌曲。
在又一种可实施的方案中,上述通过上述第一搜索子单元还用于:根据向量信息中包含的多个向量训练成目标算法模型;利用上述目标算法模型从歌曲库中召回与第一向量的相似度排在前M位的歌曲,上述第一向量为上述向量信息中的多个向量中的任意一个,M为预先设置的正整数。
可以看出,该方法能够利用训练好的算法模型能够快速直接地召回歌曲。
在又一种可实施的方案中,上述第一搜索子单元702具体用于:计算上述向量信息中的第一歌曲的向量与上述歌曲库中的每首歌曲的向量的相似度,上述第一歌曲为上述向量信息中的多首歌曲中的任意一首;从上述歌曲库中获取与上述第一歌曲的相似度排在前N位的歌曲,N为预先设置的正整数。
可以看出,上述获取的歌曲为相似度高的歌曲,该歌曲符合了上述用户的听歌需求,提高了上述第一歌曲集合的精准性。
在又一种可实施的方案中,上述第一搜索单元702包括:第二生成子单元,用于根据上述向量信息中多个向量生成用于表征上述用户喜好的基准向量;第二汇总子单元,用于通过上述基准向量从歌曲库中搜索歌曲,得到第一歌曲集合。
可以看出,上述的方法还包括根据多个向量生成一个用户的基准向量,例如,根据上述向量信息利用神经网络的方法计算出一个用户的基准向量,再根据该用户的基准向量从歌曲库中召回歌曲,从而使得召回的歌曲符合了上述用户的听歌习惯。
在又一种可实施的方案中,上述第二搜索单元703包括:确定子单元,用于根据上述标签信息中的各个标签的喜好权重确定对应的歌曲数量;第二搜索子单元,用于从歌曲库中搜索上述每个标签所代表的类型的歌曲,其中,搜索到的上述每个标签多代表的类型的歌曲的数量为上述每个标签对应的歌曲数量;第三汇总子单元,用于对搜索到的上述每个标签所代表的类型的歌曲进行汇总,得到第二歌曲集合。
可以看出,用户的标签信息中包含了各个标签的权重,该权重反映了用户的对各种类型的歌曲的喜欢程度,根据该标签的权重来确定每个标签对应的歌曲数量,从而使得上述第二歌曲集合中的歌曲更加符合上述用户的听歌偏好。
在又一种可实施的方案中,上述第二搜索单元还用于:根据上述标签信息中的每个标签从上述歌曲库中召回上述每个标签对应的歌曲集合;计算上述每个标签对应的歌曲集合中每首歌曲的歌曲分数;将每个标签对应的歌曲集合进行汇总以得到总集合,并按照歌曲的信息对上述总集合进行分组以得到多组歌曲;从上述多组歌曲中选择第一组歌曲作为第二歌曲集合,其中,上述第一歌曲中的歌曲的分数之和大于其他任意组歌曲中歌曲的分数之和。
可以看出,上述的标签检索是将标签信息中的标签一个一个地进行召回歌曲,并将所有标签召回的歌曲按照歌曲的信息进行分组,根据歌曲的所属的标签权重和命中标签的个数计算每组歌曲中的每首歌的分数,每组歌曲的最终得分为该组歌曲分数之和,分数越高表明该组越符合用户的听歌偏好。选取最终得分最高的组合作为第二歌曲集合,符合了上述用户的听歌偏好,也增加了第二歌曲集合的多样性。
在又一种可实施的方案中,上述处理单元具体用于对上述第一歌曲集合和上述第二歌曲集合按照预设的梯度进行融合,得到新的歌曲集合。
在又一种可实施的方案中,上述处理单元具体用于对上述第一歌曲集合和上述第二歌曲集合按照预设的比例进行融合,得到新的歌曲集合。
在又一种可实施的方案中,上述处理单元具体用于根据上述第一歌曲集合和上述第二歌曲集合的预设权重利用动态调整的方法得到新的歌曲集合,上述动态调整满足Beta分布或者Diriclet分布。
图7所示的服务器中各个模块的具体实现可以对应参照图3所示的方法实施例的相应描述,此处不再赘述。
在图7所示的服务器中,该服务器采用了向量召回和标签召回的多路召回的方法,通过向量召回的歌曲和标签召回的歌曲都符合了上述用户的听歌偏好,经过融合后的新的歌曲集合能够涵盖更多符合用户听歌偏好的歌曲,增加了歌曲的多样性。
请参见图8,请参见图8,图8是本申请实施例提供的又一种服务器80的结构示意图。该服务器包括收发器801,存储器802和处理器803。其中,上述的通信接口801,存储器802和处理器803可通过总线或其他方式连接,本申请实施例以通过总线连接为例。
其中,收发器801用于接收和发送数据,存储器802可以是随机存储记忆体(randomaccess memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmable read only memory,EPROM)、或便携式只读存储器(compactdisc read-only memory,CD-ROM),不限于此,该存储器902用于存储相关指令及数据;处理器803可以是一个或多个中央处理器(Central Processing Unit,CPU),即可以是诊断设备的计算核心及控制中心,用于解析诊断设备内部的各类指令及数据,在处理器803是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
该服务器的处理器803用于读取上述存储器802中存储的程序代码,执行的操作包括:获取用户的画像信息,上述用户的画像信息包括向量信息和标签信息,上述的向量信息包括用于表征用户喜欢的歌曲的向量和/或用于表征用户喜欢的歌手的向量,上述的标签信息包括用于标记上述用户喜欢的歌手、歌曲流派和歌曲语种中的一项或者多项的标签;通过远程过程调用的方式通过收发器将上述向量信息发送至搜索服务模块,以及通过远程过程调用的方式处理上述搜索服务模块返回的第一歌曲集合,其中上述第一歌曲集合为上述搜索服务模块根据上述向量信息从歌曲库中搜索歌曲得到的;通过远程过程调用的方式通过收发器将上述标签信息发送至上述搜索服务模块,以及通过远程过程调用的方式处理上述搜索服务模块返回的第二歌曲集合,其中上述第二歌曲集合为上述搜索服务模块根据上述标签信息从上述歌曲库中搜索歌曲得到的;对上述第一歌曲集合和上述第二歌曲集合进行融合,得到新的歌曲集合,上述新的歌曲集合用于推荐给上述用户。
在一种可实施的方案中,上述获取用户的画像信息,包括:获取终端中的用户的资产信息,上述资产信息记录了上述用户的听歌习惯;根据上述资产信息生成上述用户的画像信息。
在又一种可实施的方案中,上述获取用户的画像信息,包括:接收终端发送的上述用户的画像信息。
在又一种可实施的方案中,上述用户喜欢的歌曲包括用户收藏的歌曲、用户标记的歌曲、用户分享的歌曲和用户下载的歌曲中的一项或者多项,从而使得上述新的歌曲集合符合了该用户的听歌偏好。
在又一种可实施的方案中,上述通过远程过程调用的方式将上述向量信息发送至搜索服务模块,以及通过远程过程调用的方式处理上述搜索服务模块返回的第一歌曲集合,包括:通过上述向量信息中的每个向量从歌曲库中搜索歌曲;将通过上述每个向量搜索到的歌曲进行汇总,得到第一歌曲集合,从而使得上述的第一歌曲集合具有更多种类型的歌曲。
在又一种可实施的方案中,上述通过上述向量中的每个向量从歌曲库中搜索歌曲,包括:计算上述向量信息中的第一歌曲的向量与上述歌曲库中的每首歌曲的向量的相似度,上述第一歌曲为上述向量信息中的多首歌曲中的任意一首;从上述歌曲库中获取与上述第一歌曲的相似度排在前N位的歌曲,N为预先设置的正整数。
在又一种可实施的方案中,上述通过上述向量信息中的每个向量从歌曲库中搜索歌曲,包括:根据向量信息中包含的多个向量训练成目标算法模型;利用上述目标算法模型从歌曲库中召回与第一向量的相似度排在前M位的歌曲,上述第一向量为上述向量信息中的多个向量中的任意一个,M为预先设置的正整数。
可以看出,该方法能够利用训练好的算法模型能够快速直接地召回歌曲。
在又一种可实施的方案中,上述通过远程过程调用的方式将上述向量信息发送至搜索服务模块,以及通过远程过程调用的方式处理上述搜索服务模块返回的第一歌曲集合,包括:根据上述向量信息中的多个向量生成用于表征上述用户喜好的基准向量;通过上述基准向量从歌曲库中搜索歌曲,得到第一歌曲集合。
可以看出,上述的方法还包括根据多个向量生成一个用户的基准向量,例如,根据上述向量信息利用神经网络的方法计算出一个用户的基准向量,再根据该用户的喜好向量从歌曲库中召回歌曲,从而使得召回的歌曲更加符合上述用户的听歌偏好。
在又一种可实施的方案中,上述通过远程过程调用的方式将上述标签信息发送至上述搜索服务模块,以及通过远程过程调用的方式处理上述搜索服务模块返回的第二歌曲集合,包括:根据上述标签信息中的各个标签的喜好权重确定每个标签对应的歌曲数量;从歌曲库中搜索上述每个标签所代表的类型的歌曲,其中,搜索到的上述每个标签所代表的类型的歌曲的数量为上述每个标签对应的歌曲数量;对搜索到的上述每个标签所代表的类型的歌曲进行汇总,得到第二歌曲集合。
可以看出,用户的标签信息中包含了各个标签的权重,该权重反映了用户的对各种类型歌曲的喜欢程度,根据该标签的权重来确定每个标签对应的歌曲数量,从而使得上述第二歌曲集合中的歌曲更加符合上述用户的听歌偏好。
在又一种可实施的方案中,上述通过远程过程调用的方式将上述标签信息发送至所述搜索服务模块,以及通过远程过程调用的方式处理所述搜索服务模块返回的第二歌曲集合,包括:根据上述标签信息中的每个标签从上述歌曲库中召回上述每个标签对应的歌曲集合;计算上述每个标签对应的歌曲集合中每首歌曲的歌曲分数;将每个标签对应的歌曲集合进行汇总以得到总集合,并按照歌曲的信息对上述总集合进行分组以得到多组歌曲;从上述多组歌曲中选择第一组歌曲作为第二歌曲集合,其中,上述第一组歌曲中的歌曲的分数之和大于其他任意组歌曲中歌曲的分数之和。
可以看出,上述的标签检索是将标签信息中的标签一个一个地进行召回歌曲,并将所有标签召回的歌曲按照歌曲的信息进行分组,根据歌曲的所属的标签权重和命中标签的个数计算每组歌曲中的每首歌的分数,每组歌曲的最终得分为该组歌曲分数之和,分数越高表明该组越符合用户的听歌偏好。选取最终得分最高的歌曲组合作为第二歌曲集合,符合了上述用户的听歌偏好,也增加了第二歌曲集合的多样性。
在又一种可实施的方案中,上述通过远程过程调用的方式将上述标签信息发送至上述搜索服务模块,包括:将所述标签信息以RPC形式异步地发送至弹性索引ES的代理模块;根据所述弹性索引ES的代理模块接收到的所述PRC形式的标签信息解析为HTTP形式;将所述HTTP形式的标签信息异步地发送至所述弹性索引ES的搜索服务模块。
可以看出,能够通过增加搜索服务模块的代理模块使得上述标签信息异步地发送给上述搜索服务模块,从而增大了信息的吞吐量。
在第一方面的又一种可选的方案中,上述第一歌曲集合和第二歌曲集合进行融合石,得到新的歌曲集合,包括:对上述第一歌曲集合和上述第二歌曲集合按照预设的梯度进行融合,得到新的歌曲集合。
在又一种可选的方案中,上述第一歌曲集合和第二歌曲集合进行融合石,得到新的歌曲集合,包括:对上述第一歌曲集合和上述第二歌曲集合按照预设的比例进行融合,得到新的歌曲集合。
在又一种可实施的方案中,上述第一歌曲集合和第二歌曲集合进行融合石,得到新的歌曲集合,包括:根据所述第一歌曲集合和所述第二歌曲集合的预设权重利用动态调整的方法得到新的歌曲集合,上述动态调整满足Beta分布或者Diriclet分布。
图8所示的服务器中各个模块的具体实现可以对应参照图3所示的方法实施例的相应描述,此处不再赘述。
在图8所示的服务器中,该服务器采用了向量召回和标签召回的多路召回的方法,通过向量召回的歌曲和标签召回的歌曲都符合了上述用户的听歌偏好,经过融合后的新的歌曲集合能够涵盖更多符合用户听歌偏好的歌曲,增加了歌曲的多样性。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机或处理器上运行时,使得计算机或处理器执行上述任一个方法中的一个或多个步骤。上述信号处理诊断设备的各组成模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取存储介质中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。上述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行上述计算机程序指令时,全部或部分地产生按照本申请实施例上述的流程或功能。上述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程诊断设备。上述计算机指令可以存储在计算机可读存储介质中,或者通过上述计算机可读存储介质进行传输。上述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。上述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。上述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
综上上述,通过实施本申请实施例,该服务器获取用户的画像信息,上述画像信息包括向量信息和标签信息;根据上述向量信息从歌曲库中搜索歌曲,得到第一歌曲集合;根据上述标签信息从歌曲库中搜索歌曲,得到第二歌曲集合;对上述第一歌曲集合和第二歌曲集合按照梯度融合、比例融合、混合融合和/或其他融合方式进行融合,得到新的歌曲集合。上述方法采用了向量召回和标签召回的多路召回的方法,通过向量召回的歌曲和标签召回的歌曲都符合了上述用户的听歌偏好,经过融合后的新的歌曲集合能够涵盖更多符合用户听歌偏好的歌曲,增加了歌曲的多样性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,该的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可存储程序代码的介质在不冲突的情况下,本实施例和实施方案中的技术特征可以任意组合。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属与本申请所涵盖的范围。

Claims (14)

1.一种音乐推荐的方法,其特征在于,包括:
获取用户的画像信息,所述用户的画像信息包括向量信息和标签信息,所述向量信息包括用于表征用户喜欢的歌曲的向量和/或用于表征用户喜欢的歌手的向量,所述标签信息包括用于标记所述用户喜欢的歌手、歌曲流派和歌曲语种中的一项或者多项的标签;
通过远程过程调用的方式将所述向量信息发送至搜索服务模块,以及通过远程过程调用的方式处理所述搜索服务模块返回的第一歌曲集合,其中所述第一歌曲集合为所述搜索服务模块根据所述向量信息从歌曲库中搜索歌曲得到的;
通过远程过程调用的方式将所述标签信息发送至所述搜索服务模块,以及通过远程过程调用的方式处理所述搜索服务模块返回的第二歌曲集合,其中所述第二歌曲集合为所述搜索服务模块根据所述标签信息从所述歌曲库中搜索歌曲得到的;
对所述第一歌曲集合和所述第二歌曲集合进行融合,得到新的歌曲集合,所述新的歌曲集合用于推荐给所述用户。
2.根据权利要求1所述的方法,其特征在于,所述第一歌曲集合的获得步骤包括:
通过所述向量信息中的每个向量从歌曲库中搜索歌曲;
将通过所述每个向量搜索到的歌曲进行汇总,得到第一歌曲集合。
3.根据权利要求2所述的方法,其特征在于,所述通过所述向量信息中的每个向量从歌曲库中搜索歌曲,包括:
计算所述向量信息中的第一歌曲的向量与所述歌曲库中的每首歌曲的向量的相似度,所述第一歌曲为所述向量信息中的多首歌曲中的任意一首;
从所述歌曲库中获取与所述第一歌曲的相似度排在前N位的歌曲,N为预先设置的正整数。
4.根据权利要求2所述的方法,其特征在于,所述通过所述向量信息中的每个向量从歌曲库中搜索歌曲,包括:
根据向量信息中包含的多个向量训练成目标算法模型;
利用所述目标算法模型从歌曲库中召回与第一向量的相似度排在前M位的歌曲,所述第一向量为所述向量信息中的多个向量中的任意一个,M为预先设置的正整数。
5.根据权利要求1所述的方法,其特征在于,所述通过远程过程调用的方式将所述向量信息发送至搜索服务模块,以及通过远程过程调用的方式处理所述搜索服务模块返回的第一歌曲集合,包括:
根据所述向量信息中的多个向量生成用于表征所述用户喜好的基准向量;
通过所述基准向量从歌曲库中搜索歌曲,得到第一歌曲集合。
6.根据权利要求1所述的方法,其特征在于,所述第二歌曲集合的获得步骤包括:
根据所述标签信息中的各个标签的喜好权重确定每个标签对应的歌曲数量;
从歌曲库中搜索所述每个标签所代表的类型的歌曲,其中,搜索到的所述每个标签所代表的类型的歌曲的数量为所述每个标签对应的歌曲数量;
对搜索到的所述每个标签所代表的类型的歌曲进行汇总,得到第二歌曲集合。
7.根据权利要求1所述的方法,其特征在于,所述第二歌曲集合的获得步骤包括:
根据所述标签信息中的每个标签从所述歌曲库中召回所述每个标签对应的歌曲集合;
计算所述每个标签对应的歌曲集合中每首歌曲的歌曲分数;
将每个标签对应的歌曲集合进行汇总以得到总集合,并按照歌曲的信息对所述总集合进行分组以得到多组歌曲;
从所述多组歌曲中选择第一组歌曲作为第二歌曲集合,其中,所述第一组歌曲中的歌曲的分数之和大于其他任意组歌曲中歌曲的分数之和。
8.根据权利要求6或7所述的方法,其特征在于,通过远程过程调用的方式将所述标签信息发送至所述搜索服务模块,包括:
将所述标签信息以远程过程调用形式异步地发送至弹性索引的代理模块;
根据所述弹性索引的代理模块接收到的所述远程过程调用形式的标签信息解析为超文本传输协议形式;
将所述超文本传输协议形式的标签信息异步地发送至所述弹性索引的搜索服务模块。
9.根据权利要求1所述的方法,其特征在于,对所述第一歌曲集合和所述第二歌曲集合进行融合,得到新的歌曲集合,包括:
对所述第一歌曲集合和所述第二歌曲集合按照预设的梯度进行融合,得到新的歌曲集合。
10.根据权利要求1所述的方法,其特征在于,所述第一歌曲集合和第二歌曲集合进行融合,得到新的歌曲集合,包括:
对所述第一歌曲集合和所述第二歌曲集合按照预设的比例进行融合,得到新的歌曲集合。
11.根据权利要求1所述的方法,其特征在于,所述对所述第一歌曲集合和第二歌曲集合进行融合,得到新的歌曲集合,包括:
根据所述第一歌曲集合和所述第二歌曲集合的预设权重利用动态调整的方法得到新的歌曲集合,所述动态调整满足贝塔分布或者狄利克雷分布。
12.一种服务器,其特征在于,包括:
获取单元,用于获取用户的画像信息,所述用户的画像信息包括向量信息和标签信息,所述的向量信息包括用于表征用户喜欢的歌曲的向量和/或用于表征用户喜欢的歌手的向量,所述的标签信息包括用于标记所述用户喜欢的歌手、歌曲流派和歌曲语种中的一项或者多项的标签;
第一搜索单元,用于通过远程过程调用的方式将所述向量信息发送至搜索服务模块,以及通过远程过程调用的方式处理所述搜索服务模块返回的第一歌曲集合,其中所述第一歌曲集合为所述搜索服务模块根据所述向量信息从歌曲库中搜索歌曲得到的;
第二搜索单元,用于通过远程过程调用的方式将所述标签信息发送至所述搜索服务模块,以及通过远程过程调用的方式处理所述搜索服务模块返回的第二歌曲集合,其中所述第二歌曲集合为所述搜索服务模块根据所述标签信息从所述歌曲库中搜索歌曲得到的;
处理单元,用于对所述第一歌曲集合和所述第二歌曲集合进行融合,得到新的歌曲集合,所述新的歌曲集合用于推荐给所述用户。
13.一种服务器,其特征在于,包括收发器、存储器和处理器,其中,所述收发器用于接收和发送数据信息,所述存储器用于存储计算机程序,所述处理器被配置用于计算机程序,以使所述装置执行如权利要求1至11任一项所述的音乐推荐的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被配置处理器执行时使所述处理器实现权利要求1至11中任一项所述的音乐推荐的方法。
CN202010320558.3A 2020-04-21 2020-04-21 一种音乐推荐的方法及服务器 Active CN111552831B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010320558.3A CN111552831B (zh) 2020-04-21 2020-04-21 一种音乐推荐的方法及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010320558.3A CN111552831B (zh) 2020-04-21 2020-04-21 一种音乐推荐的方法及服务器

Publications (2)

Publication Number Publication Date
CN111552831A true CN111552831A (zh) 2020-08-18
CN111552831B CN111552831B (zh) 2024-03-26

Family

ID=72005840

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010320558.3A Active CN111552831B (zh) 2020-04-21 2020-04-21 一种音乐推荐的方法及服务器

Country Status (1)

Country Link
CN (1) CN111552831B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112287160A (zh) * 2020-10-28 2021-01-29 广州欢聊网络科技有限公司 一种音频数据的排序方法、装置、计算机设备和存储介质
CN113032616A (zh) * 2021-03-19 2021-06-25 腾讯音乐娱乐科技(深圳)有限公司 音频推荐的方法、装置、计算机设备和存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060112098A1 (en) * 2004-11-19 2006-05-25 Microsoft Corporation Client-based generation of music playlists via clustering of music similarity vectors
US20080168059A1 (en) * 2007-01-05 2008-07-10 Kddi Corporation Method, apparatus and computer program for information retrieval
CN102722532A (zh) * 2012-05-18 2012-10-10 山东大学 一种基于内容和用户历史的音乐推荐算法
CN103186527A (zh) * 2011-12-27 2013-07-03 北京百度网讯科技有限公司 建立音乐分类模型的系统、推荐音乐的系统及相应方法
US20140074269A1 (en) * 2012-09-11 2014-03-13 Google Inc. Method for Recommending Musical Entities to a User
CN105893609A (zh) * 2016-04-26 2016-08-24 南通大学 一种基于加权混合的移动app推荐方法
CN110942376A (zh) * 2019-12-02 2020-03-31 上海麦克风文化传媒有限公司 一种音频类产品的实时多召回策略的融合方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060112098A1 (en) * 2004-11-19 2006-05-25 Microsoft Corporation Client-based generation of music playlists via clustering of music similarity vectors
US20080168059A1 (en) * 2007-01-05 2008-07-10 Kddi Corporation Method, apparatus and computer program for information retrieval
CN103186527A (zh) * 2011-12-27 2013-07-03 北京百度网讯科技有限公司 建立音乐分类模型的系统、推荐音乐的系统及相应方法
CN102722532A (zh) * 2012-05-18 2012-10-10 山东大学 一种基于内容和用户历史的音乐推荐算法
US20140074269A1 (en) * 2012-09-11 2014-03-13 Google Inc. Method for Recommending Musical Entities to a User
CN105893609A (zh) * 2016-04-26 2016-08-24 南通大学 一种基于加权混合的移动app推荐方法
CN110942376A (zh) * 2019-12-02 2020-03-31 上海麦克风文化传媒有限公司 一种音频类产品的实时多召回策略的融合方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
华为开发者论坛:后来: "必看深度好文│推荐系统产品与算法概述", pages 1 - 90, Retrieved from the Internet <URL:https://developer.huawei.com/consumer/cn/forum/topic/41598094?fid=18> *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112287160A (zh) * 2020-10-28 2021-01-29 广州欢聊网络科技有限公司 一种音频数据的排序方法、装置、计算机设备和存储介质
CN112287160B (zh) * 2020-10-28 2023-12-12 广州欢聊网络科技有限公司 一种音频数据的排序方法、装置、计算机设备和存储介质
CN113032616A (zh) * 2021-03-19 2021-06-25 腾讯音乐娱乐科技(深圳)有限公司 音频推荐的方法、装置、计算机设备和存储介质
CN113032616B (zh) * 2021-03-19 2024-02-20 腾讯音乐娱乐科技(深圳)有限公司 音频推荐的方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN111552831B (zh) 2024-03-26

Similar Documents

Publication Publication Date Title
US10643610B2 (en) Voice interaction based method and apparatus for generating multimedia playlist
CN107844586B (zh) 新闻推荐方法和装置
CN108804532B (zh) 一种查询意图的挖掘和查询意图的识别方法、装置
US11281620B2 (en) Method of and system for enhanced local-device content discovery
CN109165302B (zh) 多媒体文件推荐方法及装置
US7505956B2 (en) Method for classification
TW201214173A (en) Methods and apparatus for displaying content
CN111680254B (zh) 一种内容推荐方法及装置
KR101909250B1 (ko) 단말의 음성 정보에 기초하여 서비스 타입을 결정하는 음성 인식 서버, 서비스 타입에 따라 단말로 컨텐츠를 제공하는 컨텐츠 서버, 단말 및 방법
CN110909182A (zh) 多媒体资源搜索方法、装置、计算机设备及存储介质
US20170242861A1 (en) Music Recommendation Method and Apparatus
CN111368141B (zh) 视频标签的扩展方法、装置、计算机设备和存储介质
CN110990598B (zh) 资源检索方法、装置、电子设备及计算机可读存储介质
CN111738010B (zh) 用于生成语义匹配模型的方法和装置
CN111753126B (zh) 用于视频配乐的方法和装置
CN111324700A (zh) 资源召回方法、装置、电子设备及计算机可读存储介质
US20240061899A1 (en) Conference information query method and apparatus, storage medium, terminal device, and server
CN111552831B (zh) 一种音乐推荐的方法及服务器
CN112364235A (zh) 搜索处理方法、模型训练方法、装置、介质及设备
CN112364184A (zh) 多媒体数据的排序方法、装置、服务器及存储介质
US20190147053A1 (en) Method and apparatus for updating multimedia playlist
CN114357325A (zh) 内容搜索方法、装置、设备及介质
US20140032537A1 (en) Apparatus, system, and method for music identification
CN113420723A (zh) 获取视频热点的方法、装置、可读介质和电子设备
CN110688508B (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