基于标签主题模型的歌曲推荐方法、装置及存储介质与流程

文档序号:15047463发布日期:2018-07-27 23:00阅读:169来源:国知局

本发明涉及多媒体技术领域,具体涉及一种基于标签主题模型的歌曲推荐方法、装置及存储介质。



背景技术:

随着网络的迅猛发展,人们的日常生活越来越离不开网络,通过网络听歌、看视频以及看新闻等等以及成为了人们的日常生活习惯,以音乐为例,随着音乐数据的爆炸性增长,用户越来越难以从众多音乐数据中挑选自己喜欢的音乐,因此,给用户主动推荐感兴趣的音乐,俨然成为了一种可行且高效的方案。

现在主要的推荐方案是以协同过滤和lda(latentdirichletallocation,主题模型)为主,其中协同过滤是以用户的听歌行为作为输入的数据来源,容易受到流水的影响,通过协同过滤方法推送出来的歌曲往往偏向于热门;而传统的lda模型虽然能够得到用户的主题分布和主题的歌曲列表,但是lda模型非常容易受到语料训练数据的影响而导致训练的时候出现偏差,导致推荐结果不准确。



技术实现要素:

本发明实施例提供了一种基于标签主题模型的歌曲推荐方法、装置及存储介质,可以大大的提高歌曲推荐的准确性。

本发明实施例提供了一种基于标签主题模型的歌曲推荐方法,包括:

获取歌单集合,所述歌单集合包括多个歌单,所述歌单包括主题信息;

根据所述主题信息构建所述歌单的标签集合,所述标签集合包括至少一个主题标签;

将所述标签集合内的主题标签分配给所述歌单中的歌曲;

获取所述歌曲的新主题概率分布,所述新主题概率分布包括所述歌曲当前分配到各个所述主题标签的概率分布;

根据所述新主题概率分布确定所述歌单中歌曲分配到的目标主题标签;

根据所述歌单中歌曲分配到的目标主题标签生成相应的歌曲推荐列表,并基于所述歌曲推荐列表进行歌曲推荐。

本发明实施例还提供了一种基于标签主题模型的歌曲推荐装置,包括:

第一获取单元,用于获取歌单集合,所述歌单集合包括多个歌单,所述歌单包括主题信息;

构建单元,用于根据所述主题信息构建所述歌单的标签集合,所述标签集合包括至少一个主题标签;

分配单元,用于将所述标签集合内的主题标签分配给所述歌单中的歌曲;

第二获取单元,用于获取所述歌曲的新主题概率分布,所述新主题概率分布包括所述歌曲当前分配到各个所述主题标签的概率分布;

确定单元,用于根据所述新主题概率分布确定所述歌单中歌曲分配到的目标主题标签;

推荐单元,用于根据所述歌单中歌曲分配到的目标主题标签生成相应的歌曲推荐列表,并基于所述歌曲推荐列表进行歌曲推荐。

此外,本发明实施例还提供一种存储介质,其内存储有处理器可执行指令,该处理器通过执行所述指令提供如上述的歌曲推荐方法。

本发明实施例,首先获取歌单集合,所述歌单集合包括多个歌单,所述歌单包括主题信息,然后根据所述主题信息构建所述歌单标签集合,所述标签集合包括至少一个主题标签,再然后将所述标签集合内的主题标签分配给所述歌单中的歌曲,接着获取所述歌曲的新主题概率分布,根据所述新主题概率分布确定所述歌单中歌曲分配到的目标主题标签,最后根据所述歌单中歌曲分配到的目标主题标签生成相应的歌曲推荐列表,并基于所述歌曲推荐列表进行歌曲推荐。即本发明实施例通过利用歌单的主题标签,将无监督的lda模型转化为有监督的主题模型进行训练,生成最终歌曲推荐列表,从而提高了歌曲推荐的准确性。

附图说明

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

图1是本发明实施例提供的歌曲推荐方法的场景示意图;

图2是本发明实施例提供的歌曲推荐方法的流程示意图;

图3是本发明实施例提供的标签集合的形成示意图;

图4是本发明实施例提供的主题歌曲分布示意图;

图5是本发明实施例提供的标签主题模型的概率图模型;

图6是本发明实施例提供的训练数据汇总示意图;

图7是本发明实施例提供的吉布斯采样过程示意图;

图8是本发明实施例提供的歌曲推荐装置的结构示意图;

图9是本发明实施例提供的歌曲推荐装置的另一结构示意图;

图10是本发明实施例提供的服务器的结构示意图。

具体实施方式

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

参见图1,该图是本发明实施例提供的歌曲推荐方法的场景示意图,该场景中可以包括歌曲推荐装置,该歌曲推荐装置具体可以集成在服务器等网络设备中,所述服务器可以由若干服务器组成的服务器集群,或者是一个云计算服务中心。

如图1所示,该场景中可以包括服务器a、服务器b、和终端c,其中终端c可以为智能手机、个人计算机等。例如,服务器b先从服务器a中获取歌单集合,所述歌单集合包括多个歌单,所述歌单包括主题信息。然后,根据所述主题信息构建所述歌单的标签集合,所述标签集合包括至少一个主题标签。将所述标签集合内的主题标签分配给所述歌单中的歌曲。再然后,获取所述歌曲的新主题概率分布,所述新主题概率分布包括所述歌曲当前分配到各个所述主题标签的概率分布。最后,根据所述新主题概率分布确定所述歌单中歌曲分配到的目标主题标签,根据所述歌单中歌曲分配到的目标主题标签生成相应的歌曲推荐列表,并基于所述歌曲推荐列表进行歌曲推荐。进一步的,服务器b可以将生成的歌曲推荐列表发送给终端c,推荐给用户选择收听。此外,该场景中还可以包括多个客户端。

本发明实施例提供一种基于标签主题模型的歌曲推荐方法、装置及存储介质。

其中,该标签主题模型的概率图模型如图5所示。

实施例一、

在本发明实施例中,将从歌曲推荐装置的角度进行描述,该歌曲推荐装置具体可以集成在服务器中。

一种基于标签主题模型的歌曲推荐方法,包括:获取歌单集合,所述歌单集合包括多个歌单,所述歌单包括主题信息;根据所述主题信息构建所述歌单的标签集合,所述标签集合包括至少一个主题标签;将所述标签集合内的主题标签分配给所述歌单中的歌曲;获取所述歌曲的新主题概率分布,所述新主题概率分布包括所述歌曲当前分配到各个所述主题标签的概率分布;根据所述新主题概率分布确定所述歌单中歌曲分配到的目标主题标签;根据所述歌单中歌曲分配到的目标主题标签生成相应的歌曲推荐列表,并基于所述歌曲推荐列表进行歌曲推荐。

请参见图2,图2是本发明实施例提供的歌曲推荐方法的流程示意图,该方法可以包括:

s101,获取歌单集合,所述歌单集合包括多个歌单,所述歌单包括主题信息。

可以理解的是,该歌单集合是服务器从音乐库中训练出来的,服务器需要选取该歌单集合中的歌曲,生成个性推荐列表,推荐给用户收听和收藏等等。

进一步的,在获取歌单集合之前,还可以包括:获取音乐库中所有歌曲,并对其进行训练,生成训练数据,该训练数据为歌单集合。

优选的,该歌单集合可以由两部分构成,一是优质歌单,数量大约为90万左右,二是人造歌单,该人造歌单由用户最近收听和收藏的音乐数据组成,数量大约为1亿左右,具体如图6所示。

s102,根据所述主题信息构建所述歌单的标签集合,所述标签集合包括至少一个主题标签。

本实施例中,每一个歌单均对应一个标签集合,其中该标签集合中包括一个或多个主题标签。如图3所示,从歌单中提取出“粤语”、“经典”、“沧桑”和“深情”等主题标签构建标签集合。

其中,歌单中的每一首歌曲均对应标签集合中的一个主题标签,后面会通过训练为每一首歌曲选取一个最适合的主题标签。

s103,将所述标签集合内的主题标签分配给所述歌单中的歌曲。

在具体实施过程中,基于gibbs(gibbssample,吉布斯)采样,从标签集合中提取主题标签,随机分配给该标签集合对应的歌单中的每一首歌曲,每一次分配,每一首歌曲,有且仅有一个主题标签。

其中,利用主题模型进行个性化推荐的关键是将歌单看成文档,构建歌单-文档模型,然后根据该歌单-文档模型构建文档的词频矩阵。

可选的,在为每一首歌曲分配主题标签之前,还可以将该歌单集合中的每一个歌单看成以个文档,构建词频矩阵doc,把这个词频矩阵doc作为输入的语料库,然后设置几个统计量以及狄利克雷超参数。

其中,可以设置以下几个统计量,比如:

nm,z=t:表示在文档m中,被分配到主题z的单词一共有t个。

nz,t=k:表示在单词t被分配到主题k的次数。

zm,n=k:表示文档m中,单词n被分配到主题k。

并且,将上述几个统计量的值初始化为0。

优选的,基于主题模型,可以从该歌单-文档模型中学习得到两个变量α和β,变量α表示主题对应的狄利克雷超参数,变量β表示歌曲对应的狄利克雷超参数。

当为第m个歌单中的歌曲t分配到一个主题z时,初始化矩阵,即:

zm,t=z

nm,z=nm,z+1

nz,t=nz,t+1

s104,获取所述歌曲的新主题概率分布,所述新主题概率分布包括所述歌曲当前分配到各个所述主题标签的概率分布。

在具体实施过程中,可以根据剩余歌曲的主题标签分配信息生成所述歌曲的新主题概率分布,具体步骤如下:

根据剩余歌曲的主题标签分配信息获取歌单主题概率分布和主题歌曲概率分布。

根据所述歌单主题概率分布和主题歌曲概率分布,生成所述歌曲的新主题概率分布。

具体的,可以根据如下公式计算歌单主题概率分布θ和主题歌曲概率分布

其中,其中,nm,z表示在歌单m中被分配到主题z的歌曲数量,所述nz,t表示歌曲t被分配到主题z的次数。

可以理解的,所述根据剩余歌曲的主题标签分配信息获取歌单主题概率分布和主题歌曲概率分布,可以包括:

获取当前的nm,z和nz,t以及预设的α和β;

根据获取当前的nm,z和nz,t以及预设的α和β生成歌单主题概率分布和主题歌曲概率分布。

优选的,在生成歌单主题概率分布θ和主题歌曲概率分布之后,可以根据该歌单主题概率分布θ和主题歌曲概率分布生成该歌曲的新主题概率分布。

具体的,可以根据如下公式计算该歌曲的新主题概率分布:

其中,p(z|d,w)是一个大小为k维的向量,其中k是的总的主题数。

需要说明的是,在生成该歌曲的新主题概率分布之前,还可以包括:

将之前分配给所述歌曲的主题标签去掉,并更新nm,z和nz,t。

即:

nm,z=nm,z-1

nz,t=nz,t-1

s105,根据所述新主题概率分布确定所述歌单中歌曲分配到的目标主题标签。

在具体实施过程中,还可以根据该新主题概率分布,为该歌曲采样一个新主题,新主题的采样限制在该歌曲对应歌单的标签集合内部。

具体的,可以根据如下公式生成新主题:

znew=label*numpy.random.multinomial(p(z|d,w))

其中,label是一个大小为k维的0-1向量,因此,采样的结果也将在原有的先验标签内采样,采样后得到的新的主题znew,同时更新zm,n,nm,z,nz,t,即:

zm,t=znew

上述过程为一次gibbs(吉布斯)采样,对所有歌单中的所有歌曲都执行了上述操作后,就完成了一次迭代,其具体过程如图7所示。

不断重复上述过程,通常采用困惑度perplexity来衡量主题模型,perplexity的计算公式为:

perplexity=e-loglikelihood/n

其中,n表示所有歌单包含的歌曲数量,loglikelihood是最大似然,其计算公式为:

综上所述,新主题求解过程为:初始化时随机给歌单中的每首歌曲分配主题,然后统计nm,z和nz,t,每一轮计算p(z|d,w),即排除当前歌曲的主题分配,然后根据其他歌曲的主题分配估计当前歌曲属于各个主题的概率分布,再然后根据这个概率分布为该歌曲采样一个新主题。用同样的方法不断更新下一首歌曲的主题,直到发现歌单主题概率分布θ和主题歌曲概率分布的markov链收敛,停止迭代,输出待估计的参数歌单主题概率分布θ和主题歌曲概率分布最终每首歌曲的主题也同时得出。

因此,通过上述操作,可以得到具体的主题歌曲分布列表,每一个主题标签下都可以包括一首或多首歌曲,当然,也有可能是零首歌曲。

s106,根据所述歌单中歌曲分配到的目标主题标签生成相应的歌曲推荐列表,并基于所述歌曲推荐列表进行歌曲推荐。

在具体实施过程中,该步骤具体可以包括:

基于所述歌曲最终分配的主题标签生成用户主题概率分布和主题歌曲概率分布;

根据所述用户主题概率分布、主题歌曲概率分布以及预设推荐条件生成歌曲推荐列表,并基于所述歌曲推荐列表进行歌曲推荐。

其中,该预设推荐条件可以是小众歌曲和长尾歌曲,该长尾歌曲也就是需求量小和销量差的歌曲。

例如,现今的推荐方案推荐的歌曲一般都是偏热门的,而符合小众口味的歌曲,却不能被推荐,所以也难以被用户发现。而通过本方案可以发现和发掘小众歌曲以及长尾歌曲。通过本方案推荐出来的歌曲,能够适合喜欢小众流派的用户。

由上述可知,本发明实施例的歌曲推荐方法,通过先获取歌单集合,所述歌单集合包括多个歌单,所述歌单包括主题信息,然后根据所述主题信息构建所述歌单的标签集合,所述标签集合包括至少一个主题标签,再然后将所述标签集合内的主题标签分配给所述歌单中的歌曲,接着获取所述歌曲的新主题概率分布,根据所述新主题概率分布确定所述歌单中歌曲分配到的目标主题标签,最后根据所述歌单中歌曲分配到的目标主题标签生成相应的歌曲推荐列表,并基于所述歌曲推荐列表进行歌曲推荐。即本发明实施例通过利用歌单的主题标签,将无监督的lda模型转化为有监督的主题模型进行训练,生成最终歌曲推荐列表,从而提高了歌曲推荐的准确性。

实施例二、

利用主题模型进行个性化推荐的关键是将歌单看成文档,歌单中的歌曲相当于单词,每一个歌单通常都有特定的风格,比如不同的流派等,这些风格就是歌单的主题标签,每一种风格(主题标签)下面都有特定的歌曲,如图4所示。

为了更好的说明以上实施例所描述的方法,本实施例将把歌单作为文档举例说明。

s201,提取训练数据。

其中,该训练数据包括多个文档,每一个文档中都包括多个单词以及一个或者多个主题标签。将每一个文档的主题标签提取出来,构成标签集合,作为标签主题先验分配,即分配主题标签时,为每一个文档分配对应标签集合中的主题标签。

s202,构建词频矩阵。

可以理解的是,构建词频矩阵之后,还可以设置以下几个统计量,并初始化为0。

nm,z=t:表示在文档m中,被分配到主题z的单词一共有t个。

nz,t=k:表示在单词t被分配到主题k的次数。

zm,n=k:表示文档m中,单词n被分配到主题k。

然后,设置变量α和变量β,变量α是文档-主题的先验dirichlet分布的参数,变量β是主题-歌曲的先验dirichlet分布的参数。

s203,分配主题标签。

优选的,初始化,为每一个单词分配一个主题标签,与lda不同的是,标签主题模型初始化时,不是随机分配一个主题,而是以文档的主题标签作为先验数据,文档下面的单词在该文档标签集合内随机分配,当为第m篇文档中的单词t分配一个主题标签z时,初始化矩阵zm,n,nm,z,nz,t,有:

zm,t=z

nm,z=nm,z+1

nz,t=nz,t+1

s204,迭代。

具体的,每一次迭代,通过gibbs采样来重新分配主题,分别迭代每一个文本中的每一个单词,首先需要将分配给该单词的主题去掉,并且修改nm,z和nz,t,使得:

nm,z=nm,z-1

nz,t=nz,t-1

然后按照如下公式求取新主题的分布:

其中:

p(z|d,w)是一个大小为k维的向量,其中k是总的主题标签数,当得到p(z|d,w)向量后,就可以按照这个概率分布进行采样,与lda不同的是,标签主题模型会将数据的采样限制在对应的文档标签集合内部,即

znew=label*numpy.random.multinomial(p(z|d,w))

其中,label是一个大小为k维的0-1向量,因此,采样的结果也将在原有的标签集合内采样,采样后得到的新的主题znew,同时更新zm,n,nm,z,nz,t:

zm,t=znew

上述过程为一次gibbs采样,对所有文档中的所有单词都执行上述操作后,就完成一次迭代,其过程具体可以用7图来表示。不断重复s204的过程,通常采用困惑度perplexity来衡量主题模型,perplexity的计算公式为:

perplexity=e-loglikelihood/n

其中,n表示所有文档包含的单词数,loglikelihood是最大似然,其计算公式为:

其中θ和请参考上述表达。

综上所述,采样过程具体为:初始化时随机给文档中的每个单词分配主题,然后统计nm,z和nz,t,每一轮计算p(z|d,w),即排除当前单词的主题分配,然后根据其他单词的主题分配估计当前单词属于各个主题的概率分布,再然后根据这个概率分布为该单词采样一个新主题。用同样的方法不断更新下个单词的主题,直到发现文档主题概率分布θ和主题单词概率分布的markov链收敛,停止迭代,输出待估计的参数文档主题概率分布θ和主题单词概率分布最终每个单词的主题也同时得出。

本实施例通过将主题模型的采样限制在对应文档的标签集合内,把无监督的主题模型,变成了有监督的主题模型来训练。模型在初始化时,能够根据先验的标签数据为每一个单词分配一个较为合理的主题,并且能在训练过程中,逐步修正错误,使得最终得到的数据更加准确。

实施例三、

为了更好地实施以上方法,本发明实施例还提供一种基于标签主题模型的歌曲推荐装置,该歌曲推荐装置具体可以集成在服务器,比如业务服务器等设备中,其中名词的含义与上述歌曲推荐方法中相同,具体实现细节可以参考方法实施例中的说明。

例如,如图8所示,该歌曲推荐装置可以包括第一获取单元301、构建单元302、分配单元303、第二获取单元304、确定单元305以及推荐单元306,如下:

(1)第一获取单元301;

第一获取单元301,用于获取歌单集合,所述歌单集合包括多个歌单,所述歌单包括主题信息。

其中,该歌单集合为从服务器a提取出来的训练数据,该训练数据由两个部分构成,一是优质歌单,数量大约为90万左右;二是人造歌单,数量大概在1亿左右,该人造歌单由用户最近收听和收藏的音乐数据组成,具体如图6所示。

(2)构建单元302;

构建单元302,根据所述主题信息构建所述歌单的标签集合,所述标签集合包括至少一个主题标签。

本实施例中,每一个歌单均对应一个标签集合,其中该标签集合中包括一个或多个主题标签。如图3所示,从歌单中提取出“粤语”、“经典”、“沧桑”和“深情”等主题标签构建标签集合。

其中,歌单中的每一首歌曲均对应标签集合中的一个主题标签,后面会通过训练为每一首歌曲选取一个最适合的主题标签。

(3)分配单元303;

分配单元303,用于将所述标签集合内的主题标签分配给所述歌单中的歌曲。

可以理解的是,该主题分配单元303,具体用于为每一个歌单中的每一首歌曲分配主题,其中,在进行多项式分布分配主题标签时,将主题标签的采样限制在先验的标签内部,使得无监督的主题模型变为有监督的主题模型。

(4)第二获取单元304;

第二获取单元304,用于获取所述歌曲的新主题概率分布,所述新主题概率分布包括所述歌曲当前分配到各个所述主题标签的概率分布。

如图9所示,该第二获取单元304可以包括:

第一生成子单元3041,用于根据剩余歌曲的主题标签分配信息获取歌单主题概率分布和主题歌曲概率分布,所述剩余歌曲为所述歌单中除所述歌曲以外的歌曲。

具体的,该第一生成子单元3041具体的,该第一生成子单元可以根据如下公式计算歌单主题概率分布θ和主题歌曲概率分布

其中,其中,nm,z表示在歌单m中被分配到主题z的歌曲数量,所述nz,t表示歌曲t被分配到主题z的次数。

第二生成子单元3042,用于根据所述歌单主题概率分布和主题歌曲概率分布,生成所述歌曲的新主题概率分布。

具体的,该第二生成子单元3042可以根据如下公式计算新主题概率分布:

可选的,该第二生成子单元3042还可以用于:

获取当前的nm,z和nz,t以及预设的α和β。

根据获取当前的nm,z和nz,t以及预设的α和β生成歌单主题概率分布和主题歌曲概率分布。

比如,第一生成子单元3041可以根据歌曲当前的主题标签分配信息,生成歌单主题概率分布和主题歌曲概率分布,第二生成子单元3042从第一生成子单元3041中获取该歌单主题概率分布和主题歌曲概率分布,生成该歌曲的新主题分布概率。

(5)确定单元305;

确定单元305,用于根据所述新主题概率分布确定所述歌单中歌曲分配到的目标主题标签。

可以理解的是,该确定单元305基于gibbs(吉布斯)采样,分别迭代每一个歌单中的每一首歌曲,每一轮都计算当前新主题分布概率,然后根据这个概率采样新主题标签。直到发现歌单主题概率分布θ和主题歌曲概率分布的markov链收敛,停止迭代,输出期望的参数歌单主题概率分布θ和主题歌曲概率分布最终每首歌曲的主题标签也同时得出。

具体的,如图9所示,该确定单元305可以包括:

循环子单元3061,用于根据所述新主题概率分布从所述标签集合中选取相应的主题标签,并返回执行将选取的主题标签分配给所述歌单中相应的歌曲步骤,直到满足预设条件时终止。

确定子单元3062,用于将最终分配给所述歌单中歌曲的主题标签作为所述歌曲的目标主题标签。

(6)推荐单元306。

推荐单元306,用于根据所述歌单中歌曲分配到的目标主题标签生成相应的歌曲推荐列表,并基于所述歌曲推荐列表进行歌曲推荐。

如图9所示,该推荐单元306可以包括:

第三生成子单元3061,用于基于所述歌曲最终分配的主题标签生成用户主题概率分布和主题歌曲概率分布;

推荐子单元3062,用于根据所述用户主题概率分布、主题歌曲概率分布以及预设推荐条件生成歌曲推荐列表,并基于所述歌曲推荐列表进行歌曲推荐。

可一并参考图9,为该歌曲推荐装置的另一结构示意图。可具体的,该装置还可以包括:

更新单元307,用于基于所述歌曲当前的主题标签分配信息,对nm,z和nz,t进行更新。

清除单元308,用于将之前分配给所述歌曲的主题标签去掉,并更新nm,z和nz,t。

具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。

由上述可知,本发明实施例的歌曲推荐装置,通过先获取歌单集合,所述歌单集合包括多个歌单,所述歌单包括主题信息,然后根据所述主题信息构建所述歌单的标签集合,所述标签集合包括至少一个主题标签,再然后将所述标签集合内的主题标签分配给所述歌单中的歌曲,接着获取所述歌曲的新主题概率分布,根据所述新主题概率分布确定所述歌单中歌曲分配到的目标主题标签,最后根据所述歌单中歌曲分配到的目标主题标签生成相应的歌曲推荐列表,并基于所述歌曲推荐列表进行歌曲推荐。即本发明实施例通过利用歌单的主题标签,将无监督的lda模型转化为有监督的主题模型进行训练,生成最终歌曲推荐列表,从而提高了歌曲推荐的准确性。

实施例四、

相应的,本发明实施例还提供一种服务器,如图10所示,该图为本发明实施例提供的服务器的结构示意图,具体来讲:

该服务器可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图10中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

处理器401是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器402内的软件程序和/或子单元,以及调用存储在存储器402内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。

存储器402可用于存储软件程序以及子单元,处理器401通过运行存储在存储器402的软件程序以及子单元,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。

服务器还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

该服务器还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。

尽管未示出,服务器还可以包括显示单元等,在此不再赘述。具体在本实施例中,服务器中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:

取歌单集合,所述歌单集合包括多个歌单,所述歌单包括主题信息;

根据所述主题信息构建所述歌单的标签集合,所述标签集合包括至少一个主题标签;

将所述标签集合内的主题标签分配给所述歌单中的歌曲;

获取所述歌曲的新主题概率分布,所述新主题概率分布包括所述歌曲当前分配到各个所述主题标签的概率分布;

根据所述新主题概率分布确定所述歌单中歌曲分配到的目标主题标签;

根据所述歌单中歌曲分配到的目标主题标签生成相应的歌曲推荐列表,并基于所述歌曲推荐列表进行歌曲推荐。

该服务器可以实现本发明实施例所提供的任一种歌曲推荐装置所能实现的有效效果,详见前面的实施例,在此不再赘述。

本发明实施例的服务器,通过先获取歌单集合,所述歌单集合包括多个歌单,所述歌单包括主题信息,然后根据根据所述主题信息构建所述歌单的标签集合,所述标签集合包括至少一个主题标签,再然后将所述标签集合内的主题标签分配给所述歌单中的歌曲,接着获取所述歌曲的新主题概率分布,根据所述新主题概率分布确定所述歌单中歌曲分配到的目标主题标签,最后根据所述歌单中歌曲分配到的目标主题标签生成相应的歌曲推荐列表,并基于所述歌曲推荐列表进行歌曲推荐。即本发明实施例通过利用歌单的主题标签,将无监督的lda模型转化为有监督的主题模型进行训练,生成最终歌曲推荐列表,从而提高了歌曲推荐的准确性。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对歌曲推荐方法的详细描述,此处不再赘述。

需要说明的是,对本发明所述的歌曲推荐方法而言,本领域普通测试人员可以理解实现本发明实施例所述的歌曲推荐方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述计算机程序可存储于一计算机可读取存储介质中,如存储在终端的存储器中,并被该终端内的至少一个处理器执行,在执行过程中可包括如所述会话密钥的生成方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)等。

对本发明实施例所述的歌曲推荐装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中,所述存储介质譬如为只读存储器,磁盘或光盘等。

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

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