一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于用户多兴趣的推荐方法、装置及计算机设备与流程

2022-09-15 00:26:09 来源:中国专利 TAG:


1.本发明实施例涉及人工智能技术领域,具体涉及一种基于用户多兴趣的推荐方法、基于用户多兴趣的推荐装置、计算机设备及计算机可读存储介质。


背景技术:

2.目前,对于音乐app,推荐系统扮演者举足轻重的作用。一个优秀的推荐系统能够增加用户的粘性,为app带来更丰厚的收益。近年来推荐技术已经取得了长足的进展,在召回算法方面,从最初的协同过滤算法,发展到基于向量检索的双塔模型,近年来再发展到基于序列推荐方法,始终被一个问题困扰,即如何在推荐结果的精准性和多样性之间取得平衡。
3.然而发明人在实施本发明实施例的过程中发现,由于并非每个用户的行为能呈现出明显的兴趣“类簇”,因此现有技术通过聚类确定用户兴趣的方法通常无法适用于所有场景,并且由于得到的多个用户的兴趣向量之间距离较近,会导致歌曲差异较小,无法很好的捕捉用户多方面的兴趣,因此使得推荐的准确性较差。


技术实现要素:

4.鉴于上述问题,本发明实施例提供了一种基于用户多兴趣的推荐方法、基于用户多兴趣的推荐装置、计算机设备及计算机可读存储介质,用于解决现有技术中存在的歌曲推荐的准确性较差的技术问题。
5.根据本发明实施例的一个方面,提供了一种基于用户多兴趣的推荐方法,所述方法包括:
6.获取目标用户的歌曲播放列表中各个已播放歌曲的歌曲向量;
7.将所述各个已播放歌曲的歌曲向量输入歌曲推荐模型中,以得到目标推荐歌曲列表;所述歌曲推荐模型包括推荐模块和至少一个se模块;所述se模块用于确定各个所述歌曲向量对用户兴趣的权重向量,并根据所述权重向量和所述各个已播放歌曲的歌曲向量歌曲向量计算得到用户兴趣向量;所述推荐模块用于将各个所述se模块输出的所述用户兴趣向量分别与待推荐歌曲列表进行相似度匹配,得到所述目标推荐歌曲列表。
8.在一种可选的方式中,所述确定各个所述歌曲向量对用户兴趣的权重向量,并根据所述权重向量和所述各个已播放歌曲的歌曲向量计算得到用户兴趣向量,包括:将各个所述歌曲向量首尾相接得到第一多维向量;将所述第一多维向量输入特征交叉模型,得到第二多维向量;将所述第二多维向量进行归一化处理,得到权重向量;根据所述权重向量和所述各个歌曲向量,计算得到所述用户兴趣向量。
9.在一种可选的方式中,所述将所述各个已播放歌曲的歌曲向量输入歌曲推荐模型中,以得到目标推荐歌曲列表之前,所述方法包括:根据训练样本对初始模型进行训练,得到训练结果;所述训练样本包括样本用户对应的多个样本已播放歌曲向量及多个样本推荐歌曲向量;根据所述训练结果及目标损失函数对所述初始模型进行迭代调整,以得到所述
歌曲推荐模型;所述目标损失函数包括样本用户兴趣向量与样本推荐歌曲向量之间的损失以及样本用户的多个样本用户兴趣向量之间的距离损失。
10.在一种可选的方式中,所述根据所述训练结果及目标损失函数对所述初始模型进行迭代调整,以得到所述歌曲推荐模型,包括:计算所述样本用户的各个样本用户兴趣向量之间的最大余弦值;将各个样本用户兴趣向量之间的最大余弦值进行相加计算,得到所述样本用户的不同样本用户兴趣向量之间的距离损失。
11.在一种可选的方式中,每个样本推荐歌曲向量分别对应一个样本用户兴趣向量;根据所述样本推荐歌曲向量及对应的样本用户兴趣向量对各个所述se模块进行迭代训练,得到训练好的所述se模块。
12.在一种可选的方式中,所述将各个所述se模块输出的所述用户兴趣向量分别与待推荐歌曲列表列表进行相似度匹配,以得到所述目标推荐歌曲列表,包括:将每一个所述用户兴趣向量分别与待推荐歌曲列表中的待推荐歌曲的向量进行相似度计算,分别得到与各个所述用户兴趣向量最相似的目标推荐歌曲及对应的相似度值;根据所述相似度值,对各个目标推荐歌曲进行排序,得到所述目标推荐歌曲列表。
13.根据本发明实施例的另一方面,提供了一种基于用户多兴趣的推荐装置,包括:
14.获取模块,用于获取目标用户的歌曲播放列表中各个已播放歌曲的歌曲向量;
15.推荐模块,用于将所述各个已播放歌曲的歌曲向量输入歌曲推荐模型中,以得到目标推荐歌曲列表;所述歌曲推荐模型包括推荐模块和至少一个se模块;所述se模块用于确定各个所述歌曲向量对用户兴趣的权重向量,并根据所述权重向量和所述各个已播放歌曲的歌曲向量计算得到用户兴趣向量;所述推荐模块用于将各个所述se模块输出的所述用户兴趣向量分别与待推荐歌曲列表进行相似度匹配,得到所述目标推荐歌曲列表。
16.在一种可选的方式中,所述确定各个所述歌曲向量对用户兴趣的权重向量,并根据所述权重向量和所述计算得到用户兴趣向量,包括:将各个所述歌曲向量首尾相接得到第一多维向量;将所述第一多维向量输入特征交叉模型,得到第二多维向量;将所述第二多维向量进行归一化处理,得到权重向量;根据所述权重向量和所述各个歌曲向量,计算得到所述用户兴趣向量。
17.根据本发明实施例的另一方面,提供了一种计算机设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
18.所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行所述的基于用户多兴趣的推荐方法的操作。
19.根据本发明实施例的又一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令在计算机设备上运行时,使得计算机设备执行所述的基于用户多兴趣的推荐方法的操作。
20.本发明实施例通过获取目标用户的歌曲播放列表中各个已播放歌曲的歌曲向量,将所述各个已播放歌曲的歌曲向量输入歌曲推荐模型中,以得到目标推荐歌曲列表。其中,所述歌曲推荐模型包括推荐模块和至少一个se模块;所述se模块用于确定各个所述歌曲向量对用户兴趣的权重向量,并根据所述权重向量和所述各个已播放歌曲的歌曲向量计算得到用户兴趣向量;所述推荐模块用于将各个所述se模块输出的所述用户兴趣向量分别与待
推荐歌曲列表进行相似度匹配,得到所述目标推荐歌曲列表。通过这样的方式,能够有效提高歌曲推荐的准确性。
21.上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
22.附图仅用于示出实施方式,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
23.图1示出了本发明实施例提供的基于用户多兴趣的推荐方法的流程示意图;
24.图2示出了本发明实施例提供的基于用户多兴趣的推荐方法中se模块的结构示意图;
25.图3示出了本发明实施例提供的基于用户多兴趣的推荐方法中歌曲推荐模型训练时的结构示意图;
26.图4示出了本发明实施例提供的基于用户多兴趣的推荐装置的结构示意图;
27.图5示出了本发明实施例提供的计算机设备的结构示意图。
具体实施方式
28.下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。
29.图1示出了本发明实施例提供的基于用户多兴趣的推荐方法的流程图,该方法由计算机设备执行。该计算机设备可以是个人计算机、台式机、平板电脑、智能终端、多媒体播放器等,本发明实施例不做具体限制。如图1所示,该方法包括以下步骤:
30.步骤110:获取目标用户的歌曲播放列表中各个已播放歌曲的歌曲向量。
31.其中,本发明实施例中首先获取目标用户的歌曲播放列表,将歌曲播放列表转化为向量列表,该向量列表中包括各个已播放歌曲的歌曲向量。
32.步骤120:将所述各个已播放歌曲的歌曲向量输入歌曲推荐模型中,以得到目标推荐歌曲列表。
33.其中,本发明实施例预先提取多个待推荐歌曲的歌曲特征,得到多个待推荐歌曲的待推荐歌曲向量。通过歌曲推荐模型将已播放歌曲的歌曲向量与待推荐歌曲向量进行匹配,从而得到目标推荐歌曲列表。具体地,将每一个所述用户兴趣向量分别与待推荐歌曲列表中的待推荐歌曲的向量进行相似度计算,分别得到与各个所述用户兴趣向量最相似的目标推荐歌曲及对应的相似度值;根据所述相似度值,对各个目标推荐歌曲进行排序,得到所述目标推荐歌曲列表。
34.本发明实施例中,所述歌曲推荐模型包括推荐模块和至少一个se模块,还包括共享用户塔、物品塔。其中,共享用户塔和物品塔组成的双塔模型分别用复杂网络对“用户特征”和“歌曲特征”进行了embedding化,在最后的交叉层之前,用户特征和歌曲特征之间没有任何交互,这就形成了两个独立的“塔”,因此称为双塔模型。在完成双塔模型的训练后,
可以把最终的用户embedding和歌曲embedding存入内存数据库。将歌曲侧的模型结构称为“物品塔”。那么,“物品塔”起到的作用本质上是接收物品相关的特征向量,经过“物品塔”内的多层神经网络结构,最终生成一个多维的稠密向量。而用户塔就是接收用户相关的特征向量,最终生成一个多维的稠密向量。已播放歌曲的歌曲向量经过se模块处理后,得到多个用户兴趣向量,将该多个用户兴趣向量输入共享用户塔,得到多个用户向量,该用户向量与物品塔中的待推荐歌曲的待推荐歌曲向量分别进行匹配,得到目标歌曲推荐列表。
35.如图2所示,本发明实施例中,se模块包括特征交叉模型、softmax函数。其中,se模块确定各个所述歌曲向量对用户兴趣的权重向量,并根据所述权重向量和各个已播放歌曲的所述歌曲向量计算得到用户兴趣向量。具体地,将各个所述歌曲向量首尾相接得到第一多维向量,将所述第一多维向量输入特征交叉模型,得到第二多维向量,将所述第二多维向量进行归一化处理,得到权重向量;根据所述权重向量和所述各个歌曲向量,计算得到所述用户兴趣向量。
36.具体地:将n个已播放歌曲的d维歌曲向量{vi|1≤i≤n}依次首尾相接得到一个n*d维的第一多维向量v。其中,d维可以分别表征该已播放歌曲的d个维度的特征,如曲风、歌曲类型、演唱者、作词等维度,本发明实施例不做具体限制。将第一多维向量v输入特征交叉模型,以输出一个n维的第二多维向量s=[s1,s2…
sn]
t
。其中,该特征交叉模型用于对使不同的已播放歌曲之间的特征进行交叉,从而使得各个已播放歌曲之间的特征可以关联组合,该特征交叉模型可以为dnn神经网络。将第二多维向量s经过softmax函数变换得到权重向量w=[w1,w2…
wn]
t
,其中w1 w2

wn=1,可以将权重向量w看作是n个权重值的集合,即{wi|1≤i≤n}。也即通过这种方式,可以确定各个已播放歌曲对于目标用户的某一个兴趣的贡献度。将n个权重值{wi|1≤i≤n}看作是n个输入的已播放歌曲的歌曲向量{vi|1≤i≤n}对应的权重,对该歌曲向量进行加权求和计算,得到用户兴趣向量u,即:
[0037][0038]
其中,每个se模型的初始参数不同,因此通过训练,可以分别得到提取不同兴趣的se模型。不同的se模块用于提取不同的用户兴趣,当需要提取用户的k个兴趣时,则需设定k个se模型。每个se模块负责提取用户某一方面的兴趣,若想提取用户k个方面的兴趣,则可以同时使用k个不同的se模块,分别作用于相同的用户播放序列上。se模块的工作原理其实就是首先计算用户序列中每个播放行为对用户某方面兴趣的贡献程度;通过softmax函数将贡献程度进行锐化,即令大的更大,小的更小;然后将这些贡献程度当做权重与原始播放行为向量相乘后求和得到最终的用户兴趣向量,起到放大重要行为,过滤无效行为的作用;对于同一用户的不同兴趣,同一个播放行为体现的重要程度可能差别很大;se模块的本质是个过滤器,其功能就是要针对同一用户的不同兴趣,将用户播放序列中低价值的播放行为过滤掉,仅保留对此方面兴趣高价值的行为。对于用户不同的兴趣,被过滤掉的行为不同,提取用户不同兴趣源于不同的播放子序列。
[0039]
本发明实施例中,在述将所述各个已播放歌曲的歌曲向量输入歌曲推荐模型中,以得到目标推荐歌曲列表之前,还预先对歌曲推荐模型进行训练。训练过程包括:根据训练样本对初始模型进行训练,得到训练结果;所述训练样本包括样本用户对应的多个样本已
播放歌曲向量及多个样本推荐歌曲向量;根据所述训练结果及目标损失函数对所述初始模型进行迭代调整,以得到所述歌曲推荐模型。如图3所示,在训练时,n个已播放歌曲的歌曲向量分别经过k个se模块后,得到k个用户兴趣向量,该多个用户兴趣向量输入共享用户塔中,得到k个用户向量。本发明实施例中,对于歌曲推荐模型中训练,通过“选择门”结构,计算目标损失函数,从而确定每一个se模块的参数及推荐模块的参数。所述目标损失函数包括样本用户兴趣向量与样本推荐歌曲向量之间的损失以及样本用户的多个样本用户兴趣向量之间的距离损失。
[0040]
其中,歌曲推荐模型的目标损失函数如下定义:
[0041]
loss
total
=loss
main
α*loss
dis
[0042]
其中,样本用户兴趣向量与样本推荐歌曲向量之间的损失通过交叉熵的形式计算。通过以下公式,计算用户向量与样本推荐歌曲向量之间余弦值的最大值,从k个用户向量{uei|1≤i≤k}中选择一个与歌曲向量ie相似得分(余弦值)最高的向量作为最终的用户向量ue:
[0043]
ue=g({uei|1≤i≤k})=uej|j=argmax{cos(uei,ie)|1≤i≤k}
[0044]
每个样本推荐歌曲向量分别对应一个样本用户兴趣向量;根据所述样本推荐歌曲向量及对应的样本用户兴趣向量对各个所述se模块进行迭代训练,得到训练好的所述se模块。根据上述公式可以确定每个se模块对应的用户向量,从而确定se模块及推荐模块的参数。
[0045]
其中,为了使得同一个用户不同的兴趣有足够的差异,希望在最小化原本模型损失的同时,令同一个用户不同兴趣向量之间的距离尽可能大;因此,本发明实施例引入一个辅助距离损失,用来计算样本用户的多个样本用户兴趣向量之间的距离损失,包括:计算所述样本用户的各个样本用户兴趣向量之间的最大余弦值;将各个样本用户兴趣向量之间的最大余弦值进行相加计算,得到所述样本用户的不同样本用户兴趣向量之间的距离损失。具体公式为:
[0046][0047]
该距离损失的含义:该批次(b)样本中包含的每个用户(u)不同兴趣向量之间最大余弦值(最小距离)之和,即令模型每个用户不同的兴趣向量之间最小距离尽可能大。引入的距离损失优化目标是最大化用户兴趣向量之间最小距离而非平均距离,目的是为了防止出现同一用户的部分兴趣间距离十分接近,而部分兴趣之间距离特别远的情况;采用最大化最小距离可以使得不同兴趣向量之间距离更均衡。
[0048]
本发明实施例通过获取目标用户的歌曲播放列表中各个已播放歌曲的歌曲向量,将所述各个已播放歌曲的歌曲向量输入歌曲推荐模型中,以得到目标推荐歌曲列表。其中,所述歌曲推荐模型包括至少一个se模块和推荐模块;所述se模块用于确定各个所述歌曲向量对用户兴趣的权重向量,并根据所述权重向量和所述各个已播放歌曲的歌曲向量计算得到用户兴趣向量;所述推荐模块用于将各个所述se模块输出的所述用户兴趣向量分别与待推荐歌曲列表进行相似度匹配,得到所述目标推荐歌曲列表。通过这样的方式,能够有效提
高歌曲推荐的准确性。
[0049]
图4示出了本发明实施例提供的基于用户多兴趣的推荐装置的结构示意图。如图4所示,该装置300包括:
[0050]
获取模块310,用于获取目标用户的歌曲播放列表中各个已播放歌曲的歌曲向量;
[0051]
推荐模块320,用于将所述各个已播放歌曲的歌曲向量输入歌曲推荐模型中,以得到目标推荐歌曲列表;所述歌曲推荐模型包括至少一个se模块和推荐模块;所述se模块用于确定各个所述歌曲向量对用户兴趣的权重向量,并根据所述权重向量和所述计算得到用户兴趣向量;所述推荐模块用于将各个所述se模块输出的所述用户兴趣向量分别与待推荐歌曲列表进行相似度匹配,得到所述目标推荐歌曲列表。
[0052]
在一种可选的方式中,所述确定各个所述歌曲向量对用户兴趣的权重向量,并根据所述权重向量和所述计算得到用户兴趣向量,包括:将各个所述歌曲向量首尾相接得到第一多维向量;将所述第一多维向量输入特征交叉模型,得到第二多维向量;将所述第二多维向量进行归一化处理,得到权重向量;根据所述权重向量和所述各个歌曲向量,计算得到所述用户兴趣向量。
[0053]
在一种可选的方式中,所述将所述各个已播放歌曲的歌曲向量输入歌曲推荐模型中,以得到目标推荐歌曲列表之前,所述方法包括:根据训练样本对初始模型进行训练,得到训练结果;所述训练样本包括样本用户对应的多个样本已播放歌曲向量及多个样本推荐歌曲向量;根据所述训练结果及目标损失函数对所述初始模型进行迭代调整,以得到所述歌曲推荐模型;所述目标损失函数包括样本用户兴趣向量与样本推荐歌曲向量之间的损失以及样本用户的多个样本用户兴趣向量之间的距离损失。
[0054]
在一种可选的方式中,所述根据所述训练结果及目标损失函数对所述初始模型进行迭代调整,以得到所述歌曲推荐模型,包括:计算所述样本用户的各个样本用户兴趣向量之间的最大余弦值;将各个样本用户兴趣向量之间的最大余弦值进行相加计算,得到所述样本用户的不同样本用户兴趣向量之间的距离损失。
[0055]
在一种可选的方式中,每个样本推荐歌曲向量分别对应一个样本用户兴趣向量;根据所述样本推荐歌曲向量及对应的样本用户兴趣向量对各个所述se模块进行迭代训练,得到训练好的所述se模块。
[0056]
在一种可选的方式中,所述将各个所述se模块输出的所述用户兴趣向量分别与待推荐歌曲列表列表进行相似度匹配,以得到所述目标推荐歌曲列表,包括:将每一个所述用户兴趣向量分别与待推荐歌曲列表中的待推荐歌曲的向量进行相似度计算,分别得到与各个所述用户兴趣向量最相似的目标推荐歌曲及对应的相似度值;根据所述相似度值,对各个目标推荐歌曲进行排序,得到所述目标推荐歌曲列表。
[0057]
本发明实施例中基于用户多兴趣的推荐装置的具体工作过程与上述方法实施例的具体方法步骤大体一致,此处不再赘述。
[0058]
本发明实施例通过获取目标用户的歌曲播放列表中各个已播放歌曲的歌曲向量,将所述各个已播放歌曲的歌曲向量输入歌曲推荐模型中,以得到目标推荐歌曲列表。其中,所述歌曲推荐模型包括至少一个se模块和推荐模块;所述se模块用于确定各个所述歌曲向量对用户兴趣的权重向量,并根据所述权重向量和所述计算得到用户兴趣向量;所述推荐模块用于将各个所述se模块输出的所述用户兴趣向量分别与待推荐歌曲列表进行相似度
匹配,得到所述目标推荐歌曲列表。通过这样的方式,能够有效提高歌曲推荐的准确性。
[0059]
图5示出了本发明实施例提供的计算机设备的结构示意图,本发明具体实施例并不对计算机设备的具体实现做限定。
[0060]
如图5所示,该计算机设备可以包括:处理器(processor)402、通信接口(communications interface)404、存储器(memory)406、以及通信总线408。
[0061]
其中:处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。处理器402,用于执行程序410,具体可以执行上述用于基于用户多兴趣的推荐方法实施例中的相关步骤。
[0062]
具体地,程序410可以包括程序代码,该程序代码包括计算机可执行指令。
[0063]
处理器402可能是中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算机设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
[0064]
存储器406,用于存放程序410。存储器406可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0065]
程序410具体可以被处理器402调用使计算机设备执行以下操作:
[0066]
获取目标用户的歌曲播放列表中各个已播放歌曲的歌曲向量;
[0067]
将所述各个已播放歌曲的歌曲向量输入歌曲推荐模型中,以得到目标推荐歌曲列表;所述歌曲推荐模型包括推荐模块和至少一个se模块;所述se模块用于确定各个所述歌曲向量对用户兴趣的权重向量,并根据所述权重向量和所述各个已播放歌曲的歌曲向量计算得到用户兴趣向量;所述推荐模块用于将各个所述se模块输出的所述用户兴趣向量分别与待推荐歌曲列表进行相似度匹配,得到所述目标推荐歌曲列表。
[0068]
在一种可选的方式中,所述确定各个所述歌曲向量对用户兴趣的权重向量,并根据所述权重向量和所述各个已播放歌曲的歌曲向量计算得到用户兴趣向量,包括:将各个所述歌曲向量首尾相接得到第一多维向量;将所述第一多维向量输入特征交叉模型,得到第二多维向量;将所述第二多维向量进行归一化处理,得到权重向量;根据所述权重向量和所述各个歌曲向量,计算得到所述用户兴趣向量。
[0069]
在一种可选的方式中,所述将所述各个已播放歌曲的歌曲向量输入歌曲推荐模型中,以得到目标推荐歌曲列表之前,所述方法包括:根据训练样本对初始模型进行训练,得到训练结果;所述训练样本包括样本用户对应的多个样本已播放歌曲向量及多个样本推荐歌曲向量;根据所述训练结果及目标损失函数对所述初始模型进行迭代调整,以得到所述歌曲推荐模型;所述目标损失函数包括样本用户兴趣向量与样本推荐歌曲向量之间的损失以及样本用户的多个样本用户兴趣向量之间的距离损失。
[0070]
在一种可选的方式中,所述根据所述训练结果及目标损失函数对所述初始模型进行迭代调整,以得到所述歌曲推荐模型,包括:计算所述样本用户的各个样本用户兴趣向量之间的最大余弦值;将各个样本用户兴趣向量之间的最大余弦值进行相加计算,得到所述样本用户的不同样本用户兴趣向量之间的距离损失。
[0071]
在一种可选的方式中,每个样本推荐歌曲向量分别对应一个样本用户兴趣向量;根据所述样本推荐歌曲向量及对应的样本用户兴趣向量对各个所述se模块进行迭代训练,
得到训练好的所述se模块。
[0072]
在一种可选的方式中,所述将各个所述se模块输出的所述用户兴趣向量分别与待推荐歌曲列表列表进行相似度匹配,以得到所述目标推荐歌曲列表,包括:将每一个所述用户兴趣向量分别与待推荐歌曲列表中的待推荐歌曲的向量进行相似度计算,分别得到与各个所述用户兴趣向量最相似的目标推荐歌曲及对应的相似度值;根据所述相似度值,对各个目标推荐歌曲进行排序,得到所述目标推荐歌曲列表。
[0073]
本发明实施例通过获取目标用户的歌曲播放列表中各个已播放歌曲的歌曲向量,将所述各个已播放歌曲的歌曲向量输入歌曲推荐模型中,以得到目标推荐歌曲列表。其中,所述歌曲推荐模型包括至少一个se模块和推荐模块;所述se模块用于确定各个所述歌曲向量对用户兴趣的权重向量,并根据所述权重向量和所述计算得到用户兴趣向量;所述推荐模块用于将各个所述se模块输出的所述用户兴趣向量分别与待推荐歌曲列表进行相似度匹配,得到所述目标推荐歌曲列表。通过这样的方式,能够有效提高歌曲推荐的准确性。
[0074]
本发明实施例提供了一种计算机可读存储介质,所述存储介质存储有至少一可执行指令,该可执行指令在计算机设备上运行时,使得所述计算机设备执行上述任意方法实施例中的基于用户多兴趣的推荐方法。
[0075]
可执行指令具体可以用于使得计算机设备执行以下操作:
[0076]
获取目标用户的歌曲播放列表中各个已播放歌曲的歌曲向量;
[0077]
将所述各个已播放歌曲的歌曲向量输入歌曲推荐模型中,以得到目标推荐歌曲列表;所述歌曲推荐模型包括推荐模块和至少一个se模块;所述se模块用于确定各个所述歌曲向量对用户兴趣的权重向量,并根据所述权重向量和所述各个已播放歌曲的歌曲向量计算得到用户兴趣向量;所述推荐模块用于将各个所述se模块输出的所述用户兴趣向量分别与待推荐歌曲列表进行相似度匹配,得到所述目标推荐歌曲列表。
[0078]
在一种可选的方式中,所述确定各个所述歌曲向量对用户兴趣的权重向量,并根据所述权重向量和所述各个已播放歌曲的歌曲向量计算得到用户兴趣向量,包括:将各个所述歌曲向量首尾相接得到第一多维向量;将所述第一多维向量输入特征交叉模型,得到第二多维向量;将所述第二多维向量进行归一化处理,得到权重向量;根据所述权重向量和所述各个歌曲向量,计算得到所述用户兴趣向量。
[0079]
在一种可选的方式中,所述将所述各个已播放歌曲的歌曲向量输入歌曲推荐模型中,以得到目标推荐歌曲列表之前,所述方法包括:根据训练样本对初始模型进行训练,得到训练结果;所述训练样本包括样本用户对应的多个样本已播放歌曲向量及多个样本推荐歌曲向量;根据所述训练结果及目标损失函数对所述初始模型进行迭代调整,以得到所述歌曲推荐模型;所述目标损失函数包括样本用户兴趣向量与样本推荐歌曲向量之间的损失以及样本用户的多个样本用户兴趣向量之间的距离损失。
[0080]
在一种可选的方式中,所述根据所述训练结果及目标损失函数对所述初始模型进行迭代调整,以得到所述歌曲推荐模型,包括:计算所述样本用户的各个样本用户兴趣向量之间的最大余弦值;将各个样本用户兴趣向量之间的最大余弦值进行相加计算,得到所述样本用户的不同样本用户兴趣向量之间的距离损失。
[0081]
在一种可选的方式中,每个样本推荐歌曲向量分别对应一个样本用户兴趣向量;根据所述样本推荐歌曲向量及对应的样本用户兴趣向量对各个所述se模块进行迭代训练,
得到训练好的所述se模块。
[0082]
在一种可选的方式中,所述将各个所述se模块输出的所述用户兴趣向量分别与待推荐歌曲列表列表进行相似度匹配,以得到所述目标推荐歌曲列表,包括:将每一个所述用户兴趣向量分别与待推荐歌曲列表中的待推荐歌曲的向量进行相似度计算,分别得到与各个所述用户兴趣向量最相似的目标推荐歌曲及对应的相似度值;根据所述相似度值,对各个目标推荐歌曲进行排序,得到所述目标推荐歌曲列表。
[0083]
本发明实施例通过获取目标用户的歌曲播放列表中各个已播放歌曲的歌曲向量,将所述各个已播放歌曲的歌曲向量输入歌曲推荐模型中,以得到目标推荐歌曲列表。其中,所述歌曲推荐模型包括至少一个se模块和推荐模块;所述se模块用于确定各个所述歌曲向量对用户兴趣的权重向量,并根据所述权重向量和所述计算得到用户兴趣向量;所述推荐模块用于将各个所述se模块输出的所述用户兴趣向量分别与待推荐歌曲列表进行相似度匹配,得到所述目标推荐歌曲列表。通过这样的方式,能够有效提高歌曲推荐的准确性。
[0084]
本发明实施例提供一种基于用户多兴趣的推荐装置,用于执行上述基于用户多兴趣的推荐方法。
[0085]
本发明实施例提供了一种计算机程序,所述计算机程序可被处理器调用使计算机设备执行上述任意方法实施例中的基于用户多兴趣的推荐方法。
[0086]
本发明实施例提供了一种计算机程序产品,计算机程序产品包括存储在计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令在计算机上运行时,使得所述计算机执行上述任意方法实施例中的基于用户多兴趣的推荐方法。
[0087]
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0088]
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0089]
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。
[0090]
本领域技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0091]
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领
域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献