CN108932262B - 一种歌曲推荐方法及装置 - Google Patents
一种歌曲推荐方法及装置 Download PDFInfo
- Publication number
- CN108932262B CN108932262B CN201710382131.4A CN201710382131A CN108932262B CN 108932262 B CN108932262 B CN 108932262B CN 201710382131 A CN201710382131 A CN 201710382131A CN 108932262 B CN108932262 B CN 108932262B
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- songs
- song
- determining
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提供了一种歌曲推荐方法及装置,其中歌曲推荐方法包括获取用户的历史演唱歌曲的信息,在预先构建的图数据库中,确定与历史演唱歌曲对应的待查节点,并根据图数据库,确定与待查节点相连的另一端的节点作为备选节点,再将备选节点中除待查节点以外的至少一个节点对应的歌曲,确定为待推荐的歌曲,并将待推荐的歌曲推荐给所述用户。由于该图数据库提供了一种直观的数据结构,因此可以快速确定歌曲之间的相似程度,从而大幅提升了推荐速度,有效改善用户的使用体验。
Description
技术领域
本发明实施例涉及通信领域,尤其涉及一种歌曲推荐方法及装置。
背景技术
数字音乐和互联网技术的蓬勃发展使歌曲的出现和传播速度大大加快,而云服务和智能手机的出现则为人们提供了更加便利的途径来收藏或收听数量庞大的音乐作品。然而,海量的歌曲造成了严重的信息过载问题,导致人们无法快速地从中获取符合自己喜好的歌曲。为了应对这一问题,歌曲推荐方法应运而生。通过为用户推荐符合其喜好和习惯的优质歌曲,帮助用户从不断增长的数据中过滤掉那些不必要的信息。
现有的歌曲推荐方法通常是以关系型数据库为基础,通过音乐标签进行机器学习的方式,构建分类器模型,进而实现歌曲推荐。然而由于关系型数据库结构复杂,在进行歌曲推荐时计算量大,因此存在推荐速度慢的问题,难以满足用户的实际需求,影响用户的使用体验。
发明内容
本发明实施例提供一种歌曲推荐方法,以解决现有技术中歌曲推荐速度慢的问题。
为了解决上述问题,本发明公开了一种歌曲推荐方法,包括:
获取用户的历史演唱歌曲的信息;
在预先构建的图数据库中,确定与所述历史演唱歌曲对应的待查节点;
根据所述图数据库,确定与所述待查节点相连的另一端的节点作为备选节点;
将所述备选节点中除所述待查节点以外的至少一个节点对应的歌曲,确定为待推荐的歌曲;
将所述待推荐的歌曲推荐给所述用户;
其中,所述图数据库包括至少两个节点和至少一条边,每一节点对应一首歌曲,每条边用于连接相似的两首歌曲对应的节点。
本发明还提供了一种歌曲推荐装置,包括:
历史获取模块,用于获取用户的历史演唱歌曲的信息;
待查节点确定模块,用于在预先构建的图数据库中,确定与所述历史演唱歌曲对应的待查节点;
备选节点确定模块,用于根据所述图数据库,确定与所述待查节点相连的另一端的节点作为备选节点;
推荐歌曲确定模块,用于将所述备选节点中除所述待查节点以外的至少一个节点对应的歌曲,确定为待推荐的歌曲;
推荐模块,用于将所述待推荐的歌曲推荐给所述用户;
其中,所述图数据库包括至少两个节点和至少一条边,每一节点对应一首歌曲,每条边用于连接相似的两首歌曲对应的节点。
综上,本发明实施例通过获取用户的历史演唱歌曲的信息,在预先构建的图数据库中,确定与历史演唱歌曲对应的待查节点,并根据图数据库,确定与待查节点相连的另一端的节点作为备选节点,再将备选节点中除待查节点以外的至少一个节点对应的歌曲,确定为待推荐的歌曲,并将待推荐的歌曲推荐给所述用户。由于该图数据库提供了一种直观的数据结构,因此可以快速确定歌曲之间的相似程度,从而大幅提升了推荐速度,有效改善用户的使用体验。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种歌曲推荐方法的流程图;
图2为本发明实施例提供的一种图数据库示意图;
图3为本发明实施例提供的另一种歌曲推荐方法的流程图;
图4为本发明实施例提供的一种歌曲推荐装置的结构框图;
图5为本发明实施例提供的另一种歌曲推荐装置的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
参照图1,给出了本发明实施例提供的一种歌曲推荐方法的流程图。
步骤101,获取用户的历史演唱歌曲的信息。
本实施例的方法,可以应用在用户演唱歌曲场景中。例如,在卡拉OK(KaraokeTelevision,KTV)的点歌系统中,用户通过社交软件账号登陆点歌系统,然后进行点歌操作,用户已经演唱的歌曲会保存在用户的账号下。或者,用户在使用演唱软件演唱歌曲时,也会先登陆自己的账号,演唱软件中也会保存有用户已经演唱的歌曲。用户已经演唱过的歌曲便是用户的历史演唱歌曲。歌曲的信息包括演唱歌曲的艺人、歌曲所属的专辑以及歌曲的标签等信息。
步骤102,在预先构建的图数据库中,确定与历史演唱歌曲对应的待查节点。
其中,图数据库是一种非关系型数据库,它应用图形理论存储实体之间的关系信息。它的数据结构主要是以节点和边来体现,存在关系的两个节点之间通过边相连。具体的,该预先构建的图数据库包括至少两个节点和至少一条边,每一节点对应一首歌曲,每条边用于连接相似的两首歌曲对应的节点,以表现两首歌曲之间的联系。由此可知,该图数据库可以是由一些节点和连接这些节点的边组成的二维关系图,数据结构非常直观、清晰。因此,图数据库在存储歌曲信息后可以方便的查询、调整歌曲之间的联系状态,
由于在图数据库中,每一节点对应一首歌曲。因此,可以根据该对应关系,确定与历史演唱歌曲对应的待查节点。该待查节点是指从图数据库中查询适宜向用户推荐的歌曲时所依据的节点。例如,参照图2,给出了本发明实施例提供的一种图数据库示意图,歌曲a、b、c、d、e、f分别对应节点A、B、C、D、E、F。其中,用户的历史演唱歌曲为歌曲a、b,因此,这两首歌曲分别对应的节点A、B便是该用户的历史演唱歌曲对应的待查节点。
步骤103,根据图数据库,确定与待查节点相连的另一端的节点作为备选节点。
在确定与历史演唱歌曲对应的待查节点后,可以根据图数据库中各节点之间的连接关系,确定与待查节点相连的另一端的节点作为备选节点。其中,连接关系用于表征每两个节点之间是否通过边相连。备选节点是指与用户历史演唱歌曲相近似的歌曲对应的节点。例如,参照图2,由于节点A分别与节点D和E通过边相连,节点B分别与节点A和D通过边相连,而节点F作为孤立的节点,与其它节点均不具有连接关系。因此,可以确定备选节点为节点A、D、E。
步骤104,将备选节点中除待查节点以外的至少一个节点对应的歌曲,确定为待推荐的歌曲。
在确定与待查节点相连的备选节点后,由于这些备选节点中可能包含待查节点,而这些待查节点对应的歌曲为用户的历史演唱歌曲,并不适宜向用户推荐。因此,可以将备选节点中除待查节点以外的至少一个节点对应的歌曲,确定为待推荐的歌曲,从而实现去重的目的。例如,参照图2,由于节点A为待查节点,节点A对应的歌曲为历史演唱歌曲,因此,节点A对应的歌曲不适宜选作待推荐的歌曲。可以将备选节点A、D、E中除待查节点A以外的节点D、E对应的歌曲,确定为待推荐的歌曲,即将歌曲d、e确定为待推荐的歌曲。
步骤105,将待推荐的歌曲推荐给用户。
在确定了待推荐的歌曲后,便可以将待推荐的歌曲推荐给用户。由于在图数据库中与待查节点相连的备选节点通常为多个,因此,待推荐的歌曲通常为多首歌曲,即待推荐的歌曲可以为一个歌曲集。在将多首歌曲同时推荐给用户时,可以根据待推荐的歌曲对应的节点与待查节点的连接关系,确定向用户展示的顺序。例如,参照图2,与节点D相连的待查节点有两个,分别为节点A、B。而与节点E相连的待查节点只有一个,即节点A。因此,可知歌曲d与歌曲a、b均为相似的歌曲,而歌曲e仅与歌曲a为相似的歌曲,相对于歌曲e,用户对歌曲d感兴趣的可能性较大。为了获得更好的展示效果,可以将歌曲d进行优先展示。
综上,本发明实施例通过获取用户的历史演唱歌曲的信息,在预先构建的图数据库中,确定与历史演唱歌曲对应的待查节点,并根据图数据库,确定与待查节点相连的另一端的节点作为备选节点,再将备选节点中除待查节点以外的至少一个节点对应的歌曲,确定为待推荐的歌曲,并将待推荐的歌曲推荐给所述用户。由于该图数据库提供了一种直观的数据结构,因此可以快速确定歌曲之间的相似程度,从而大幅提升了推荐速度,有效改善用户的使用体验。
实施例二
在上述实施例的基础上,本实施例进一步论述歌曲推荐方法。
参照图3,给出了本发明实施例提供的另一种歌曲推荐方法的流程图:
步骤301,构建图数据库。
在利用图数据库进行歌曲推荐之前,可以按照如下步骤构建该图数据库。
步骤3011,统计用户群中各用户对每个节点的偏好,生成每个节点的偏好向量。
在实际应用中,可以根据用户的行为数据,统计用户群中各用户对每个节点的偏好,进而生成每个节点的偏好向量。其中,用户的行为数据可以包括用户群中各用户对歌曲的演唱历史、关注、收藏、评论等行为的相关数据,因此,该行为数据可以用于表征用户对歌曲的偏好情况。根据用户对歌曲的偏好,判断歌曲是否相似的原理在于,若用户群中喜欢歌曲a的用户普遍也喜欢歌曲b,则可以说明歌曲a和歌曲b通常具有某种联系,即歌曲a和歌曲b为相似的两首歌曲。
具体的,用户群中各用户对每个节点的偏好可以通过评分信息进行量化。其中,评分信息可以为二元评分,也可以为多元评分。以二元评分为例,每个用户对一首歌的评分可以分为两种情况,若喜欢该歌曲,则评分为1,若不喜欢该歌曲,则评分为0。在得到各用户对每首歌曲的评分后,便可以生成这些歌曲对应节点的偏好向量。
例如,若图数据库中有a、b、c、d、e这5首歌曲对应的节点,用户群中各用户甲、乙、丙、丁、戊、己对这5首歌曲对应节点的评分结果如下表:
用户甲 | 用户乙 | 用户丙 | 用户丁 | 用户戊 | 用户己 | |
节点A | 1 | 1 | 1 | 1 | 1 | 0 |
节点B | 1 | 1 | 0 | 1 | 0 | 1 |
节点C | 0 | 0 | 1 | 0 | 1 | 1 |
节点D | 0 | 1 | 1 | 1 | 1 | 1 |
节点E | 0 | 1 | 1 | 0 | 1 | 1 |
则节点A的偏好向量为(1,1,1,1,1,0),节点B的偏好向量为(1,1,0,1,0,1),节点B的偏好向量为(0,0,1,0,1,1),节点C的偏好向量为(0,0,1,0,1,1),节点D的偏好向量为(0,1,1,1,1,1),节点E的偏好向量为(0,1,1,0,1,1)。
步骤3012,根据每个节点的偏好向量,确定每两个节点之间的距离。
在生成每个节点的偏好向量后,便实现了对每个节点的量化的描述。在根据每个节点的偏好向量,确定每两个节点之间的距离时,可以采用余弦距离描述两个节点之间的距离,也可以采用欧几里德距离、皮尔逊相关参数等方式描述两个节点之间的距离。以采用余弦距离描述两个节点之间的距离为例,可以先通过如下余弦公式:
计算每两个节点的偏好向量的余弦值,获得每两个节点之间的余弦距离,并将该余弦距离确定为每两个节点之间的距离。其中,x和y为两个节点的偏好向量,xi为偏好向量中用户i对节点x的偏好评分,yi为偏好向量中用户i对节点y的偏好评分,T(x,y)为两个节点的偏好向量的余弦值。
此外,在确定每两个节点之间的距离之后,还可以获取每个节点对应歌曲的信息,并判断每两个节点对应歌曲的各项信息是否相同。其中,歌曲的信息可以包括演唱歌曲的艺人、歌曲所属的专辑以及歌曲的标签等信息。若两个节点对应的歌曲为相同艺人演唱,和/或歌曲属于相同专辑,和/或歌曲具有相同标签,则根据预设的权重调整两个节点之间的距离。从而使得各节点之间的距离更加贴合实际,进而提升向用户推荐歌曲的成功率。其中,预设的权重是指在计算两首歌曲间距离时歌曲的信息所占的权重,在实际应用中,该预设的权重可以根据经验进行设定。例如,若歌曲a和歌曲b为相同艺人演唱,则喜欢歌曲a的用户,可能也会喜欢歌曲b,可以按照预设的权重调整歌曲a和歌曲b对应节点的距离,从而使得歌曲b更容易成为待推荐的歌曲并被推荐给该用户。
步骤3013,将距离大于距离阈值的两个节点进行连接,以构成一条边。
为了使数据库结构更加简单清晰,可以仅将距离大于距离阈值的两个节点进行连接,以构成一条边,从而简化了各节点之间的连接关系,进而可以大幅减少查询图数据库时的计算量,加快推荐的速度。
步骤3014,依据各节点和各节点之间连接的边构成图数据库。
由于图数据库主要是由节点和边构成的数据结构,因此在确定各节点和各节点之间连接的边后,便明确了各节点之间的联系,由此构成的图数据库可以清晰的描述曲库中每首歌曲之间的联系,以便于需要向用户推荐歌曲时进行查询。
步骤302,获取用户的历史演唱歌曲的信息。
其中,该历史演唱歌曲的信息可以从演唱歌曲的客户端中获取,也可以从存储用户信息的服务器中获取。由于历史演唱歌曲均为用户演唱过的歌曲,因此通常可以看作是用户偏好的歌曲,可以用于体现用户偏好的歌曲类型。
步骤303,在预先构建的图数据库中,确定与历史演唱歌曲对应的待查节点。
由于在图数据库中,每一节点对应一首歌曲。因此,可以根据该对应关系,确定与历史演唱歌曲对应的待查节点。
步骤304,根据图数据库,确定与待查节点相连的另一端的节点作为备选节点。
在确定与历史演唱歌曲对应的待查节点后,可以根据图数据库中各节点之间的连接关系,确定与待查节点相连的另一端的节点作为备选节点。
步骤305,将备选节点中除待查节点以外的至少一个节点对应的歌曲,确定为待推荐的歌曲。
在确定与待查节点相连的备选节点后,由于这些备选节点中可能包含待查节点,而这些待查节点对应的歌曲为用户的历史演唱歌曲,并不适宜向用户推荐。因此,可以将备选节点中除待查节点以外的至少一个节点对应的歌曲,确定为待推荐的歌曲。
步骤306,将待推荐的歌曲推荐给用户,并获取对待推荐的歌曲的用户反馈。
具体的,可以向播放歌曲的客户端发送这些待推荐的歌曲,并由客户端展示这些待推荐的歌曲,例如,可以将待推荐的歌曲加入到客户端的推荐歌曲列表中,以供用户选择。在实际应用中,可以将新得到的推荐歌曲插入到客户端的推荐歌曲列表的最前列,使得新得到的推荐歌曲可优先向用户展示。
在将待推荐的歌曲推荐给用户后,还可以获取对待推荐的歌曲的用户反馈,从而可以获知用户对歌曲的实际需求。
步骤307,根据用户反馈,更新图数据库。
由于图数据库提供的是一种直观的数据结构,可以直接将歌曲之间的数据关系转化到二维空间,用户的反馈可以直接作用到图关系上,因此,可以灵活地对图数据库进行更新。
具体的,可以先根据用户反馈,调整图数据库中每两个节点之间的距离,再根据每两个节点之间调整后的距离,更新该图数据库。从而使得应用更新后的图数据库,可以更准确地为用户推荐用户可能喜欢的歌曲。
综上,本发明实施例通过统计用户群中各用户对每个节点的偏好,生成每个节点的偏好向量,根据每个节点的偏好向量,确定每两个节点之间的距离,再将距离大于距离阈值的两个节点通过边进行连接,以构成数据结构直观、便于查询和更新的图数据库。进而可以在向用户推荐歌曲时,能够通过该图数据库快速确定歌曲之间的相似程度,从而大幅提升了推荐速度,有效改善用户的使用体验。而且,由于用户的反馈可以直接作用到图数据库中二维空间的图关系上,因此,可以灵活地对图数据库进行更新,以增强歌曲推荐的准确性。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
实施例三
在上述实施例的基础上,本实施例还提供了一种歌曲推荐装置。
参照图4给出了本发明实施例提供的一种歌曲推荐装置的结构框图,具体可以包括如下模块:
历史获取模块41,用于获取用户的历史演唱歌曲的信息;
待查节点确定模块42,用于在预先构建的图数据库中,确定与所述历史演唱歌曲对应的待查节点;
备选节点确定模块43,用于根据所述图数据库,确定与所述待查节点相连的另一端的节点作为备选节点;
推荐歌曲确定模块44,用于将所述备选节点中除所述待查节点以外的至少一个节点对应的歌曲,确定为待推荐的歌曲;
推荐模块45,用于将所述待推荐的歌曲推荐给所述用户;
其中,所述图数据库包括至少两个节点和至少一条边,每一节点对应一首歌曲,每条边用于连接相似的两首歌曲对应的节点。
综上,本发明实施例通过历史获取模块41模块获取用户的历史演唱歌曲的信息,由待查节点确定模块42在预先构建的图数据库中,确定与历史演唱歌曲对应的待查节点,并由备选节点确定模块43根据图数据库,确定与待查节点相连的另一端的节点作为备选节点,再由推荐歌曲确定模块44将备选节点中除待查节点以外的至少一个节点对应的歌曲,确定为待推荐的歌曲,并通过推荐模块45将待推荐的歌曲推荐给所述用户。由于该图数据库提供了一种直观的数据结构,因此可以快速确定歌曲之间的相似程度,从而大幅提升了推荐速度,有效改善用户的使用体验。
参照图5,在本发明的一个可选实现方式中,在图4的基础上,备选节点确定模块43包括:连接边确定子模块431和备选节点确定子模块432.
其中,连接边确定子模块431,用于根据所述图数据库,确定与所述待查节点连接的边;
备选节点确定子模块432,用于依据所述与待查节点连接的边,确定与所述待查节点相连的另一端的节点作为备选节点。
此外,该歌曲推荐装置还包括:图数据库构建模块46,用于统计用户群中各用户对每个节点的偏好,生成每个节点的偏好向量;根据所述每个节点的偏好向量,确定每两个节点之间的距离;将所述距离大于距离阈值的两个节点进行连接,以构成一条边;依据各节点和各节点之间连接的边构成所述图数据库。
该图数据库构建模块46,包括:距离计算子模块461和距离调整子模块462。
其中,距离计算子模块461,用于计算每两个节点的偏好向量的余弦值,获得每两个节点之间的余弦距离;将所述余弦距离确定为所述每两个节点之间的距离。
距离调整子模块462,用于获取每个节点对应歌曲的信息,其中,所述歌曲的信息包括演唱歌曲的艺人、歌曲所属的专辑以及歌曲的标签;判断每两个节点对应歌曲的各项信息是否相同;若两个节点对应的歌曲为相同艺人演唱,和/或歌曲属于相同专辑,和/或歌曲具有相同标签,则根据预设的权重调整所述两个节点之间的距离。
另外,该歌曲推荐装置还包括:图数据库更新模块47,用于获取对所述待推荐的歌曲的用户反馈;根据所述用户反馈,调整所述图数据库中每两个节点之间的距离;根据每两个节点之间调整后的距离,更新所述图数据库。
综上,本发明实施例通过图数据库构建模块46统计用户群中各用户对每个节点的偏好,生成每个节点的偏好向量,根据每个节点的偏好向量,确定每两个节点之间的距离,再将距离大于距离阈值的两个节点通过边进行连接,以构成数据结构直观、便于查询和更新的图数据库。进而可以在向用户推荐歌曲时,能够通过该图数据库快速确定歌曲之间的相似程度,从而大幅提升了推荐速度,有效改善用户的使用体验。而且,由于用户的反馈可以直接作用到图数据库中二维空间的图关系上,因此,可以通过图数据库更新模块47灵活地对图数据库进行更新,以增强歌曲推荐的准确性。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种歌曲推荐方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (9)
1.一种歌曲推荐方法,其特征在于,所述方法包括:
获取用户的历史演唱歌曲的信息;
在预先构建的图数据库中,确定与所述历史演唱歌曲对应的待查节点;
根据所述图数据库,确定与所述待查节点相连的另一端的节点作为备选节点;
将所述备选节点中除所述待查节点以外的至少一个节点对应的歌曲,确定为待推荐的歌曲;
将所述待推荐的歌曲推荐给所述用户;
其中,所述图数据库包括至少两个节点和至少一条边,每一节点对应一首歌曲,每条边用于连接相似的两首歌曲对应的节点;
所述方法还包括构建图数据库的步骤
统计用户群中各用户对每个节点的偏好,生成每个节点的偏好向量;
根据所述每个节点的偏好向量,确定每两个节点之间的距离;
将所述距离大于距离阈值的两个节点进行连接,以构成一条边;
依据各节点和各节点之间连接的边构成所述图数据库。
2.根据权利要求1所述的方法,其特征在于,所述根据所述图数据库,确定与所述待查节点相连的另一端的节点作为备选节点的步骤,包括:
根据所述图数据库,确定与所述待查节点连接的边;
依据所述与待查节点连接的边,确定与所述待查节点相连的另一端的节点作为备选节点。
3.根据权利要求1所述的方法,其特征在于,所述根据所述每个节点的偏好向量,确定每两个节点之间的距离的步骤,包括:
计算每两个节点的偏好向量的余弦值,获得每两个节点之间的余弦距离;
将所述余弦距离确定为所述每两个节点之间的距离。
4.根据权利要求1所述的方法,其特征在于,所述确定每两个节点之间的距离之后,还包括:
获取每个节点对应歌曲的信息,其中,所述歌曲的信息包括演唱歌曲的艺人、歌曲所属的专辑以及歌曲的标签;
判断每两个节点对应歌曲的各项信息是否相同;
若两个节点对应的歌曲为相同艺人演唱,和/或歌曲属于相同专辑,和/或歌曲具有相同标签,则根据预设的权重调整所述两个节点之间的距离。
5.根据权利要求1所述的方法,其特征在于,在将所述待推荐的歌曲推荐给所述用户之后,还包括:
获取对所述待推荐的歌曲的用户反馈;
根据所述用户反馈,调整所述图数据库中每两个节点之间的距离;
根据每两个节点之间调整后的距离,更新所述图数据库。
6.一种歌曲推荐装置,其特征在于,所述装置包括:
历史获取模块,用于获取用户的历史演唱歌曲的信息;
待查节点确定模块,用于在预先构建的图数据库中,确定与所述历史演唱歌曲对应的待查节点;
备选节点确定模块,用于根据所述图数据库,确定与所述待查节点相连的另一端的节点作为备选节点;
推荐歌曲确定模块,用于将所述备选节点中除所述待查节点以外的至少一个节点对应的歌曲,确定为待推荐的歌曲;
推荐模块,用于将所述待推荐的歌曲推荐给所述用户;
其中,所述图数据库包括至少两个节点和至少一条边,每一节点对应一首歌曲,每条边用于连接相似的两首歌曲对应的节点;
所述装置还包括:
图数据库构建模块,用于统计用户群中各用户对每个节点的偏好,生成每个节点的偏好向量;根据所述每个节点的偏好向量,确定每两个节点之间的距离;将所述距离大于距离阈值的两个节点进行连接,以构成一条边;依据各节点和各节点之间连接的边构成所述图数据库。
7.根据权利要求6所述的装置,其特征在于,所述备选节点确定模块包括:
连接边确定子模块,用于根据所述图数据库,确定与所述待查节点连接的边;
备选节点确定子模块,用于依据所述与待查节点连接的边,确定与所述待查节点相连的另一端的节点作为备选节点。
8.根据权利要求6所述的装置,其特征在于,所述图数据库构建模块包括:
距离计算子模块,用于计算每两个节点的偏好向量的余弦值,获得每两个节点之间的余弦距离;将所述余弦距离确定为所述每两个节点之间的距离;
距离调整子模块,用于获取每个节点对应歌曲的信息,其中,所述歌曲的信息包括演唱歌曲的艺人、歌曲所属的专辑以及歌曲的标签;判断每两个节点对应歌曲的各项信息是否相同;若两个节点对应的歌曲为相同艺人演唱,和/或歌曲属于相同专辑,和/或歌曲具有相同标签,则根据预设的权重调整所述两个节点之间的距离。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
图数据库更新模块,用于获取对所述待推荐的歌曲的用户反馈;根据所述用户反馈,调整所述图数据库中每两个节点之间的距离;根据每两个节点之间调整后的距离,更新所述图数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710382131.4A CN108932262B (zh) | 2017-05-26 | 2017-05-26 | 一种歌曲推荐方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710382131.4A CN108932262B (zh) | 2017-05-26 | 2017-05-26 | 一种歌曲推荐方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108932262A CN108932262A (zh) | 2018-12-04 |
CN108932262B true CN108932262B (zh) | 2020-07-14 |
Family
ID=64451058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710382131.4A Active CN108932262B (zh) | 2017-05-26 | 2017-05-26 | 一种歌曲推荐方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108932262B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110335112B (zh) * | 2019-06-18 | 2024-07-16 | 中国平安财产保险股份有限公司 | 一种产品推荐方法、装置及计算机存储介质 |
CN110321446B (zh) * | 2019-07-08 | 2021-09-14 | 深圳市华云中盛科技股份有限公司 | 相关数据推荐方法、装置、计算机设备及存储介质 |
CN113220930A (zh) * | 2021-05-31 | 2021-08-06 | 平安科技(深圳)有限公司 | 歌曲推荐方法、歌曲推荐装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722532A (zh) * | 2012-05-18 | 2012-10-10 | 山东大学 | 一种基于内容和用户历史的音乐推荐算法 |
CN103473241A (zh) * | 2012-06-07 | 2013-12-25 | 福建星网视易信息系统有限公司 | 多媒体对象的推荐方法与推荐装置 |
CN103678531A (zh) * | 2013-12-02 | 2014-03-26 | 三星电子(中国)研发中心 | 好友推荐方法和装置 |
CN105208409A (zh) * | 2015-08-28 | 2015-12-30 | 北京奇艺世纪科技有限公司 | 一种信息推荐方法及装置 |
CN105718566A (zh) * | 2016-01-20 | 2016-06-29 | 中山大学 | 一种智能音乐推荐系统 |
-
2017
- 2017-05-26 CN CN201710382131.4A patent/CN108932262B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722532A (zh) * | 2012-05-18 | 2012-10-10 | 山东大学 | 一种基于内容和用户历史的音乐推荐算法 |
CN103473241A (zh) * | 2012-06-07 | 2013-12-25 | 福建星网视易信息系统有限公司 | 多媒体对象的推荐方法与推荐装置 |
CN103678531A (zh) * | 2013-12-02 | 2014-03-26 | 三星电子(中国)研发中心 | 好友推荐方法和装置 |
CN105208409A (zh) * | 2015-08-28 | 2015-12-30 | 北京奇艺世纪科技有限公司 | 一种信息推荐方法及装置 |
CN105718566A (zh) * | 2016-01-20 | 2016-06-29 | 中山大学 | 一种智能音乐推荐系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108932262A (zh) | 2018-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105095508B (zh) | 一种多媒体内容推荐方法和多媒体内容推荐装置 | |
AU2016247184B2 (en) | Attribute weighting for media content-based recommendation | |
CN111831911B (zh) | 查询信息的处理方法、装置、存储介质和电子装置 | |
US20140032676A1 (en) | System, apparatus and method for discovery of music within a social network | |
CA3059929C (en) | Text searching method, apparatus, and non-transitory computer-readable storage medium | |
CN105809473B (zh) | 匹配模型参数的训练方法、服务推荐方法及对应装置 | |
CN107301247B (zh) | 建立点击率预估模型的方法及装置、终端、存储介质 | |
CN111209477B (zh) | 一种信息推荐的方法及装置、电子设备、存储介质 | |
CN110197404B (zh) | 可降低流行度偏差的个性化长尾商品推荐方法和系统 | |
CN106951527B (zh) | 一种歌曲推荐方法及装置 | |
CN106339507A (zh) | 流媒体消息推送方法和装置 | |
CN108932262B (zh) | 一种歌曲推荐方法及装置 | |
CN106484777A (zh) | 一种多媒体数据处理方法以及装置 | |
CN112989169B (zh) | 目标对象识别方法、信息推荐方法、装置、设备及介质 | |
KR101804967B1 (ko) | 사용자 맥락, 추천 음악, 이용 행태로 구성된 데이터베이스를 활용한 음악 콘텐츠 추천 방법 및 시스템 | |
US20130212105A1 (en) | Information processing apparatus, information processing method, and program | |
CN110083764A (zh) | 一种协同过滤算法冷启动问题的解决方法 | |
CN105426550A (zh) | 一种基于用户质量模型的协同过滤标签推荐方法及系统 | |
CN105718566A (zh) | 一种智能音乐推荐系统 | |
CN110688565A (zh) | 基于多维霍克斯过程和注意力机制的下一个物品推荐方法 | |
CN113268667A (zh) | 一种基于中文评论情感引导的序列推荐方法及系统 | |
KR102011099B1 (ko) | 이미지 기반 음원 선택 방법, 장치 및 컴퓨터 프로그램 | |
CN107977370B (zh) | 一种歌手推荐方法及系统 | |
CN108416645B (zh) | 一种针对用户的推荐方法、装置、存储介质和设备 | |
CN105893515B (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 |