首页> 中国专利> 一种基于用户长短期偏好的音乐列表推荐方法及系统

一种基于用户长短期偏好的音乐列表推荐方法及系统

摘要

本发明提供了基于用户长短期偏好的音乐列表推荐方法及一个数据驱动的两段式框架系统,该系统可以基于音乐信息获得用户的长短期偏好,以此给用户推荐合适的音乐列表。所述两段式框架系统包括分别是特征提取单元和音乐推荐单元。在特征提取阶段,我们使用矩阵分解MF方法,根据用户喜欢的音乐列表获取用户的长期偏好,并根据歌曲的音乐信息使用段落向量PV获得歌曲的特征。在音乐推荐单元,提出两种注意力机制的长短期记忆模型来提取用户对歌曲的短期偏好,并结合用户的长期偏好,生成用户的个性化音乐列表推荐。

著录项

  • 公开/公告号CN110377840A

    专利类型发明专利

  • 公开/公告日2019-10-25

    原文格式PDF

  • 申请/专利号CN201910686859.5

  • 发明设计人 郑凯;杨慧萍;赵艳;

    申请日2019-07-29

  • 分类号

  • 代理机构成都正华专利代理事务所(普通合伙);

  • 代理人李蕊

  • 地址 611731 四川省成都市高新区(西区)西源大道2006号

  • 入库时间 2024-02-19 14:58:18

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-04-17

    授权

    授权

  • 2019-11-19

    实质审查的生效 IPC(主分类):G06F16/9535 申请日:20190729

    实质审查的生效

  • 2019-10-25

    公开

    公开

说明书

技术领域

本发明属于网络技术领域,尤其涉及一种基于用户长短期偏好的音乐列表推荐方法及系统。

背景技术

随着有损压缩技术和移动设备的快速发展,用户能够方便的通过其个人计算机和移动设备从互联网下载或接收音乐,然而,数以千计的在线服务平台提供了大量的音乐选择,信息过载问题日益严重,这使得找到“正确的”音乐成为一种挑战。当前的各大音乐流媒体服务平台也越来越重视有效的音乐列表推荐技术,其可以为用户推荐合适的音乐列表,提升用户体验,提高商业利益。近年来,数据存储技术有了进一步飞跃,大量的音乐数据和用户数据被收集,基于这些数据,人们打算研发更优越的个性化推荐系统。一个优秀的音乐推荐系统,能够匹配用户的兴趣,给用户推荐符合其口味的歌曲,推荐音乐的原因有多种,如用户的性格、情绪状态、地理位置,社交环境,音乐的作者、风格、歌词等因素。

传统的音乐推荐系统基于音乐和用户的信息,设计和提取用户特征和歌曲特征等,通过对特征进行分析来做到音乐推荐,并没有考虑到用户对歌曲存在一个长期的、稳定的偏好;用户对音乐的长期偏好决定了其整体的音乐播放行为,但在任何给定时间,由于即时事件(例如某一首歌曲突然火爆全球)的产生,用户也受到即时偏好即短期偏好的影响。

发明内容

针对现有技术中的上述不足,本发明提供的一种基于用户长短期偏好的音乐列表推荐方法及系统可以基于音乐信息获得用户的长短期偏好,以此给用户推荐合适的音乐列表。

为了达到以上目的,本发明采用的技术方案为:

本方案提供一种基于用户长短期偏好的音乐列表推荐方法,包括如下步骤:

S1、根据用户喜欢的歌曲列表提取用户对音乐的长期偏好;

S2、根据用户的历史播放记录提取用户对音乐的短期偏好;

S3、根据所述用户对音乐的长期偏好以及对音乐的短期偏好分别利用基于注意力的长短期记忆模型AB-LSTM和IAB-LSTM向用户推荐喜欢歌曲,从而完成音乐列表的推荐。

进一步地,所述步骤S1包括如下步骤:

A1、根据用户喜欢的歌曲列表利用矩阵分解法MF得到用户对音乐的偏好特征;

A2、根据用户喜欢的歌曲列表中歌曲的歌词和评论以及歌曲列表中的公开歌单提取音乐特征;

A3、根据所述用户对音乐的偏好特征以及所述音乐特征得到用户对音乐的长期偏好。

再进一步地,所述步骤A1包括如下步骤:

B1、根据用户喜欢的歌曲列表生成一个N×M的用户歌曲评分矩阵eS,其中,N表示用户数量,M表示歌曲数量;

B2、利用矩阵分析法MF将所述用户歌曲评分矩阵eS投射至一个隐空间中,得到用户特征矩阵eU和歌曲特征矩阵eS的内积;

B3、根据用户特征矩阵eU和歌曲特征矩阵eS的内积,利用梯度下降算法计算得到用户特征矩阵eU和歌曲特征矩阵eS,其表达式如下:

其中,K表示用户喜欢的音乐列表中<用户,歌曲>对的数量,ru,s表示用户u对歌曲s的评分,表示用户u对音乐的偏好特征,表示歌曲s的潜在特征的转置,表示歌曲s的潜在特征,λ为正则化系数

B4、根据所述用户特征矩阵eU得到用户对音乐的偏好特征。

再进一步地,所述步骤A2具体为:

根据用户喜欢的歌曲列表中歌曲的歌词和评论分别提取歌曲的潜在特征歌词和评论的语义特征,并根据用户喜欢的歌曲列表中所属的公开歌单提取音乐的类别特征,将所述歌曲的潜在特征歌词和评论的语义特征以及音乐的类别特征合并为音乐特征。

再进一步地,根据用户喜欢的歌曲列表中歌曲的歌词和评论提取歌词和评论的语义特征,包括如下步骤:

C1、根据歌曲的歌词和评论的文本信息构建单词向量矩阵W和段落向量矩阵D;

C2、利用段落向量技术PV对所述单词向量矩阵W和段落向量矩阵D进行训练,得到训练后的单词向量矩阵W和段落向量矩阵D;

C3、将下一个歌词或评论组成新的段落;

C4、根据所述训练后的单词向量矩阵W以及所述新的段落,利用梯度下降算法优化所述训练后的段落向量矩阵;

C5、根据所述训练后的段落向量矩阵D得到歌词向量s·v(l)和评论向量s·c(c),从而完成对歌词和评论的语义特征的提取。

再进一步地,根据用户喜欢的歌曲列表中的公开歌单提取音乐的类别特征,包括如下步骤:

D1、根据用户的公开歌单pl中的歌词向量s·v(l)和评论向量s·c(c)计算得到公开歌单pl的向量pl·v,所述公开歌单pl的向量pl·v的表达式如下:

其中,n表示公开歌单pl中歌曲的数量,g表示拼接函数,i表示第i首歌曲;

D2、根据所述向量表示pl·v计算得到歌曲s在所有公开歌单中的类别向量s.v(ca),所述类别向量s.v(ca)的表达式如下:

其中,P(s)表示所有包含歌曲s的公开歌单的集合,|P(s)|表示P(s)的大小;

D3、根据公开歌单pl中的歌词向量s·v(l)、评论向量s·c(c)以及所述类别向量得到歌曲s的分布式特征s.v;

D4、根据所述分布式特征s.v以及歌曲的潜在特征得到音乐的类别特征。

再进一步地,所述步骤S3中利用基于注意力的长短期记忆模型AB-LSTM向用户推荐喜欢歌曲,包括如下步骤:

E1、根据用户的历史播放记录以及用户对音乐的长期偏好构建长短期记忆模型AB-LSTM;

E2、根据每个时间步t用户的历史播放记录中歌曲的潜在特征分布式向量St.v∈Rk以及用户的特征矩阵eU得到长短期记忆模型AB-LSTM的隐藏层中时间步t的隐藏状态ht,所述隐藏状态ht的表达式如下:

ht=LSTM(ht-1,xt)

其中,xt表示时间步t时刻输入的对应歌曲s的歌曲特征和用户u在时间步t时刻的上下文信息,LSTM(·)表示长短期记忆模型AB-LSTM公式。

E3、根据所述隐藏状态ht得到每个时间步t用户喜欢的歌曲的概率向量所述概率向量的表达式如下:

其中,W和b分别表示单层神经网络g的参数,softmax(·)归一化指数函数;

E4、选择最后一个时间步输出的概率向量作为用户的喜欢的歌曲的概率向量pu

E5、根据所述概率向量pu将用户喜欢的歌曲的概率最高的前k首歌曲作为用户的推荐音乐列表,从而完成利用基于注意力的长短期记忆模型AB-LSTM向用户推荐喜欢的歌曲。

再进一步地,所述步骤S3中利用基于注意力的长短期记忆模型IAB-LSTM向用户推荐喜欢歌曲,包括如下步骤:

F1、根据用户的历史播放记录以及用户对音乐的长期偏好构建长短期记忆模型IAB-LSTM;

F2、根据每个时间步t用户的历史播放记录中歌曲的潜在特征分布式向量St.v∈Rk得到长短期记忆模型IAB-LSTM的隐藏层中时间步t的隐藏状态ht

F3、将所述隐藏层的隐藏状态ht输入至长期短期记忆模型IAB-LSTM的注意力层得到用户u的隐藏状态hu,所述隐藏状态hu的表达式如下:

其中,m表示隐藏层中隐藏状态的数量,表示用户u在时间步t的隐藏状态下的注意力权重,g表示单层神经网络,Cu表示用户u的历史播放列表记录中查询用户喜欢的歌曲,T表示矩阵的转置,tanh(·)表示激活函数,ht'表示t'时间步的隐藏状态。

F4、根据所述用户u的隐藏状态hu以及用户的特征矩阵eU计算得到用户u的概率向量pu,从而完成对用户推荐音乐列表,所述概率向量pu的表达式如下:

其中,表示向量的拼接函数,表示用户u对音乐的偏好特征,W'和b'分别表示单层神经网络g'的参数。

基于上述方法,本发明还提供了一种基于用户长短期偏好的音乐列表推荐系统,包括特征提取单元以及与所述特征提取单元连接的音乐列表推荐单元,其中:

所述特征提取单元用于根据用户喜欢的歌曲列表得到用户对音乐的长期偏好特征,以及用于根据用户喜欢的歌曲列表中歌曲的歌词和评论以及所属公开歌单提取音乐特征;

所述音乐列表推荐单元用于根据用户对音乐的长期偏好以及用户对音乐的的短期偏好特征向用户推荐其喜欢的概率最高的歌曲。

本发明的有益效果:

(1)本发明提供了基于用户长短期偏好的音乐列表推荐方法及一个数据驱动的两段式框架系统,该系统可以基于音乐信息获得用户的长短期偏好,以此给用户推荐合适的音乐列表。所述两段式框架系统包括分别是特征提取单元和音乐推荐单元。在特征提取阶段,我们使用矩阵分解MF方法,根据用户喜欢的音乐列表获取用户的长期偏好,并根据歌曲的音乐信息使用段落向量PV获得歌曲的特征。在音乐推荐单元,提出结合注意力机制的长短期记忆网络(Attention-based Long Short-Term Memory)来提取用户对歌曲的短期偏好,并结合用户的长期偏好,生成用户的个性化音乐列表推荐;

(2)本发明引入了段落向量方法,基于音乐信息能有效地提取歌曲的语义特征和类别特征,段落向量是一种无监督学习算法,该方法可以给文档预测出一个向量,并且不受段落长度的影响,可以对不用长度的文档预测向量。通过段落向量方法,可以获得高质量的段落向量,精准的表示歌曲的语义信息,并提高基于语义信息计算出的类别特征的准确性;

(3)本发明提出了基于注意力机制的长短期记忆模型,能在提取用户的短期偏好,以便为其找到最合适的音乐列表,本发明中提出了两种新颖的注意力机制,用于基于歌曲序列的用户偏好提取,这两种注意力机制能够从多种角度有效的提取用户对歌曲的偏好,从而提高音乐列表推荐效果。

附图说明

图1为本发明的方法流程图。

图2为本实施例中特征提取单元的框架图。

图3为本实施例中长短期记忆模型AB-LSTM的结构示意图。

图4为本实施例中长短期记忆模型IAB-LSTM的结构示意图。

图5为本发明的框架图。

图6为本实施例中本发明与现有方法的实验结果对比图。

图7为本实施例中本发明与现有方法的召回歌曲实验结果对比图。

具体实施方式

下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

实施例

给定一组用户,一组歌曲和公开歌单,每一个用户由用户喜欢的歌单和用户历史播放记录组成,每一首歌曲由歌词和评论组成,每一个公开歌单由一组存在一定相似度的歌曲组成。本发明为每个用户提供理想的播放列表,其中,包含被用户喜欢的概率最高的k首歌曲。

如图1所示,本发明提供了一种基于用户长短期偏好的音乐列表推荐方法,其实现方法如下:

S1、根据用户喜欢的歌曲列表提取用户对音乐的长期偏好,其实现方法如下:

A1、根据用户喜欢的歌曲列表利用矩阵分解法MF得到用户对音乐的偏好特征,其实现方法如下:

B1、根据用户喜欢的歌曲列表生成一个N×M的用户歌曲评分矩阵eS,其中,N表示用户数量,M表示歌曲数量;

B2、利用矩阵分析法MF将所述用户歌曲评分矩阵eS投射至一个隐空间中,得到用户特征矩阵eU和歌曲特征矩阵eS的内积;

B3、根据用户特征矩阵eU和歌曲特征矩阵eS的内积,利用梯度下降算法计算得到用户特征矩阵eU和歌曲特征矩阵eS,其表达式如下:

其中,K表示用户喜欢的音乐列表中<用户,歌曲>对的数量,ru,s表示用户歌曲评分矩阵中用户u对音乐的偏好特征和歌曲s的特征向量的内积,表示歌曲s的潜在特征,λ为正则化系数;

B4、根据所述用户特征矩阵eU得到用户对音乐的偏好特征。

本实施例中,首先,我们基于用户喜欢的音乐列表生成一个N×M的用户-歌曲评分矩阵R,该矩阵包含N个用户和M首歌曲,其中的每个评分项ru,s表示用户u对歌曲s的评分。如果歌曲s存在于用户u喜欢的音乐列表中,那么我们置评分项ru,s为1,反之置0。基于用户歌曲评分矩阵R,计算出两个隐向量矩阵来分别描述用户和歌曲,命名为用户特征矩阵eU∈RN×D和歌曲特征矩阵eS∈RM×d,其中d是特征的维度。矩阵分解将用户和歌曲投射到一个隐空间中,在该隐空间中,用户和歌曲的评分ru,s被表示为用户u对音乐的偏好特征和歌曲s的潜在特征的转置的内积,用户特征矩阵eU和歌曲特征矩阵eS的计算问题被转化为求最近似用户评分矩阵的优化问题,见公式:

其中,K表示用户喜欢的音乐列表中<用户,歌曲>对的数量,ru,s表示用户u对歌曲s的评分,表示用户u对音乐的偏好特征,表示歌曲s的潜在特征的转置,表示歌曲s的潜在特征,λ为正则化系数,其中λ用于解决过拟合问题,本实施例中使用梯度下降算法来上式中的优化问题,并获得用户特征矩阵eU∈RN×D和歌曲特征矩阵eS∈RM×d

A2、根据用户喜欢的歌曲列表中歌曲的歌词和评论以及歌曲列表中的公开歌单提取音乐特征,其具体为:根据用户喜欢的歌曲列表中歌曲的歌词和评论分别提取歌曲的潜在特征歌词和评论的语义特征,并根据用户喜欢的歌曲列表中所属的公开歌单提取音乐的类别特征,将所述歌曲的潜在特征歌词和评论的语义特征以及音乐的类别特征合并为音乐特征。

本实施例中,音乐特征全面的描述了每首歌的潜在特征,语义特征和类别特征,如图2所示,提取的音乐特征由三部分组成:歌曲的潜在特征;歌词和评论的语义特征以及类别特征,其中,可以通过矩阵分析MF获得歌曲s的潜在特征

根据用户喜欢的歌曲列表中歌曲的歌词和评论提取歌词和评论的语义特征,包括如下步骤:

C1、根据歌曲的歌词和评论的文本信息构建单词向量矩阵W和段落向量矩阵D;

C2、利用段落向量技术PV对所述单词向量矩阵W和段落向量矩阵D进行训练,得到训练后的单词向量矩阵W和段落向量矩阵D;

C3、将下一个歌词或评论组成新的段落;

C4、根据所述训练后的单词向量矩阵W以及所述新的段落,利用梯度下降算法优化所述训练后的段落向量矩阵;

C5、根据所述训练后的段落向量矩阵D得到歌词向量s·v(l)和评论向量s·c(c),从而完成对歌词和评论的语义特征的提取。

本实施例中,我们使用段落向量技术PV来获得歌曲的歌词和评论的文本信息。段落向量技术PV构建出一个单词向量矩阵W和一个段落向量矩阵D,每个单词都会被映射为单词向量矩阵W中的一行(一个向量),每个段落都会被映射为段落向量矩阵D中的一行(一个向量)。例:一首歌的评论可以为视为一个段落中的一条由单词组成的序列,表示为(w1,w2,...wT),T表示单词的数量,这个评论段落被映射为段落向量矩阵D中的一个向量,其中的每个单词也都被映射为单词向量矩阵W中的一个向量。在段落向量技术PV中,上一个单词的单词向量能够有助于对下一个单词向量的预测任务中,同理,当给出上下文(从段落中采样)时,该评论段落的段落向量也应该有助于下一个单词的预测任务。因此,PV的目标是如下最大化平均对数概率:

其中,T是当前段落的长度(即段落中的单词数),k是上下文窗口大小,p(wt|wt-k,...wt+k)表示下一个单词是wt的概率。

对下一个单词的预测任务可以通过一个多分类器来完成,如softmax方法:

其中,exp(·)是指数函数,y是概率向量,yi是预测单词i的非标准化对数概率。

概率向量y的计算过程如下:

y=b+Uh(wt-k,...wt+k;W;D)

其中,U和b分别是softmax函数中的参数,h是单词向量(wt-k,...wt+k)的拼接,段落向量可以从单词向量矩阵W和段落向量矩阵D中获得。

完成训练之后,我们获得了单词向量矩阵W、softmax参数U和b,以及段落向量矩阵D。然后我们将新的歌词或评论组成段落,作为段落向量矩阵D中的一行。接着在单词向量矩阵W、softmax函数中的参数U和b不变的情况下使用梯度下降作为优化算法来计算段落向量矩阵D。最后,我们可以从段落向量矩阵D中获得歌词向量s·v(l)和评论向量s·c(c)。

A3、根据所述用户对音乐的偏好特征以及所述音乐特征得到用户对音乐的长期偏好,其实现方法如下:

D1、根据用户的公开歌单pl中的歌词向量s·v(l)和评论向量s·c(c)计算得到公开歌单pl的向量pl·v,所述公开歌单pl的向量pl·v的表达式如下:

其中,n表示公开歌单pl中歌曲的数量,g表示拼接函数,i表示第i首歌曲;

D2、根据所述向量表示pl·v计算得到歌曲s在所有公开歌单中的类别向量s.v(ca),所述类别向量s.v(ca)的表达式如下:

其中,P(s)表示所有包含歌曲s的公开歌单的集合,|P(s)|表示P(s)的大小;

D3、根据公开歌单pl中的歌词向量s·v(l)、评论向量s·c(c)以及所述类别向量得到歌曲s的分布式特征s.v;

D4、根据所述分布式特征s.v以及歌曲的潜在特征得到音乐的类别特征。

在本实施例中,一个公开歌单由一组存在一定相似度的歌曲组成,这些歌曲可以被视为是相同类别的歌曲,可通过公开歌单来获得歌曲的类别属性。

根据公开歌单pl中的歌曲的语义特征,即歌词向量s·v(l)和评论向量s·c(c)计算出歌单pl的向量表示pl·v,计算过程如下:

其中,n表示公开歌单pl中歌曲的数量,g表示拼接函数,i表示第i首歌曲,用于拼接相应歌曲的歌词向量s·v(l)和评论向量s·c(c)。

一首歌曲有可能被多个公开歌单所收集,所以我们需要合并歌曲所属的所有公开歌单的歌单向量表示,来获得歌曲s的类别向量s.v(ca),计算过程如下:

其中,P(s)表示所有包含歌曲s的公开歌单的集合,|P(s)|表示是P(s)的大小。

将歌词向量s·v(l)、评论向量s·c(c)和类别向量s.v(ca)结合,作为歌曲s的分布式特征s.v。最后,我们将歌曲的潜在特征和分布式向量s.v结合,作为歌曲的特征表示;

S2、根据用户的历史播放记录提取用户对音乐的短期偏好;

S3、根据所述用户对音乐的长期偏好以及对音乐的短期偏好分别利用基于注意力的长短期记忆模型AB-LSTM和IAB-LSTM向用户推荐喜欢歌曲,从而完成音乐列表的推荐。

本实施例中,在音乐播放列表推荐阶段,本实施例中使用两个基于注意力的长期短期记忆(AB-LSTM)模型,根据用户对音乐的长短期偏好,向用户推荐被其喜欢的概率最高的k首歌曲。我们将在第一阶段中提取的用户偏好特征表示用户对音乐的长期偏好,而将以用户历史播放记录作为输入的基于注意力的长期短期记忆(AB-LSTM)模型中的隐藏状态作为用户对音乐的短期偏好。本实施例中,提出两种AB-LSTM模型,即典型的AB-LSTM模型和改进的AB-LSTM(IAB-LSTM)模型,以向用户推荐合适的播放列表,其中,

使用典型的AB-LSTM模型输出用户的推荐音乐列表包括如下步骤:

E1、根据用户的历史播放记录以及用户对音乐的长期偏好构建长短期记忆模型AB-LSTM;

E2、根据每个时间步t用户的历史播放记录中歌曲的潜在特征分布式向量St.v∈Rk以及用户的特征矩阵eU得到长短期记忆模型AB-LSTM的隐藏层中时间步t的隐藏状态ht,所述隐藏状态ht的表达式如下:

ht=LSTM(ht-1,xt)

其中,xt表示时间步t时刻输入的对应歌曲s的歌曲特征和用户u在时间步t时刻的上下文信息,LSTM(·)表示长短期记忆模型AB-LSTM公式。

E3、根据所述隐藏状态ht得到每个时间步t用户喜欢的歌曲的概率向量所述概率向量的表达式如下:

其中,W和b分别表示单层神经网络g的参数,softmax(·)归一化指数函数;

E4、选择最后一个时间步输出的概率向量作为用户的喜欢的歌曲的概率向量pu

E5、根据所述概率向量pu将用户喜欢的歌曲的概率最高的前k首歌曲作为用户的推荐音乐列表,从而完成利用基于注意力的长短期记忆模型AB-LSTM向用户推荐喜欢的歌曲。

在本实施例中,如图3所示,长短期记忆模型AB-LSTM的结构主要包含输入层、隐藏层和输出层。输入层包含用户集U的用户特征矩阵eU∈RN×d(其中,N是用户的数量,d是用户偏好特征维度)和用户的历史播放记录u·h=(S1,..St,...,Sm)。在每一个时间步t,我们将对应歌曲St的歌曲特征(潜在特征分布式向量St.v∈Rk)和用户特征矩阵eU作为隐藏层的输入。

隐藏层由长短期记忆网络细胞组成,是长短期记忆模型AB-LSTM的核心部分,其中,所述隐藏状态ht的表达式如下:

ht=LSTM(ht-1,xt)

其中,xt表示时间步t时刻输入的对应歌曲s的歌曲特征和用户u在时间步t时刻的上下文信息。其中,上下文信息是基于用户偏好特征和前一时间步中的隐藏状态使用注意力机制计算出的结果,其可以被视为一种额外输入,用于帮助长短期记忆模型AB-LSTM更好的获得用户的长期偏好,计算过程如下:

其中,是用户u在时间步t时的注意力权重,表示用户u的偏好特征。

用户u在时间步t时的注意力权重的计算过程如下:

其中,δ是一个前馈神经网络,用于生成一个实值的分数,用户u在时间步t时的注意力权重决定了应该选择哪个用户的偏好特征来生成用户u的用户生成推荐音乐列表的概率向量。

在长短期记忆模型AB-LSTM的输出层中,每个时间步t都会输出一个用户u的概率向量其中,M是被预测的歌曲的数量。

概率向量是通过一个使用softmax激活函数的单层神经网络计算出的,过程如下:

其中,W和b分别表示单层神经网络g的参数,softmax(·)归一化指数函数softmax函数用于将概率向量压缩到一个每个条目在范围(0,1)中,并且所有条目加起来为1的向量中。

在这个模型中,我们使用最后一个时间步m的输出作为用户的概率向量pu,最后,使用用户喜欢的概率最高的前k首歌曲作为用户的推荐音乐列表。如上所述,用户的概率向量pu的长度为M,其中,M是被预测歌曲的数量,的值对应于用户u喜欢第j首被预测歌曲的预测概率。给定列表长度k,从用户u的概率向量pu中选择k个值最大(概率最大)的歌曲作为用户的推荐音乐列表。

使用改进的IAB-LSTM模型输出用户的推荐音乐列表,包括如下步骤:

F1、根据用户的历史播放记录以及用户对音乐的长期偏好构建长短期记忆模型IAB-LSTM;

F2、根据每个时间步t用户的历史播放记录中歌曲的潜在特征分布式向量St.v∈Rk得到长短期记忆模型IAB-LSTM的隐藏层中时间步t的隐藏状态ht

F3、将所述隐藏层的隐藏状态ht输入至长期短期记忆模型IAB-LSTM的注意力层得到用户u的隐藏状态hu,所述隐藏状态hu的表达式如下:

其中,m表示隐藏层中隐藏状态的数量,表示用户u在时间步t的隐藏状态下的注意力权重,g表示单层神经网络,Cu表示用户u的历史播放列表记录中查询用户喜欢的歌曲,T表示矩阵的转置,tanh(·)表示激活函数,ht'表示t'时间步的隐藏状态。

F4、根据所述用户u的隐藏状态hu以及用户的特征矩阵eU计算得到用户u的概率向量pu,从而完成对用户推荐音乐列表,所述概率向量pu的表达式如下:

其中,表示向量的拼接函数,表示用户u对音乐的偏好特征,W'和b'分别表示单层神经网络g'的参数。

本实施例中,如图4所示,改进的长短期记忆模型IAB-LSTM主要由输入层、隐藏层、注意力层和输出层组成。输入层包含用户的特征矩阵eU∈RN×d(其中,N是用户的数量,d是用户偏好特征维度)和用户的历史播放记录u·h=(S1,..St,...,Sm)。在每一个时间步t,我们将对应歌曲st的歌曲特征(潜在特征分布式向量St.v∈Rk)作为隐藏层的输入。

改进的长短期记忆模型IAB-LSTM的隐藏层由长短期记忆网络细胞组成,也是改进的长短期记忆模型IAB-LSTM的重要部分,其中,隐藏状态ht的计算过程如下:

ht=LSTM(ht-1,xt)

其中,ht是隐藏层中时间步t的隐藏状态,xt是t时刻的输入(对应歌曲st的歌曲特征)。

注意力层是长短期记忆模型IAB-LSTM的核心部分,在该层中,我们基于隐藏层中的所有隐藏状态计算出用户u的隐藏状态hu,计算过程如下:

其中,m表示隐藏层中隐藏状态的数量,表示用户u在时间步t的隐藏状态的注意力权重,W和b分别表示单层神经网络g的参数,Cu表示被视为用户u的历史播放列表记录中查询“什么是有用的(用户喜欢)歌曲”的高级表示,T表示矩阵的转置,tanh(·)表示激活函数。

输出层输出一个用户u的概率向量pu∈RM,其中,M是被预测的歌曲的数量。概率向量pu是通过一个使用softmax激活函数的单层神经网络计算出的,过程如下:

其中,表示向量的拼接函数,表示用户对音乐的偏好特征。

最终我们获得了用户的概率向量,用与长短期记忆模型AB-LSTM相同的方式为用户生成合适的推荐音乐列表。

如图5所示,基于上述方法,本发明还公开了一种基于用户长短期偏好的音乐列表推荐系统,包括特征提取单元以及与所述特征提取单元连接的音乐列表推荐单元,其中:

所述特征提取单元用于根据用户喜欢的歌曲列表得到用户对音乐的长期偏好特征,以及用于根据用户喜欢的歌曲列表中歌曲的歌词和评论以及所属公开歌单提取音乐特征;

所述音乐列表推荐单元用于根据用户对音乐的长期偏好以及用户对音乐的的短期偏好特征向用户推荐其喜欢的概率最高的歌曲。

本实施例中,本发明提出一个数据驱动的两段式框架,该框架可以基于音乐信息获得用户的长短期偏好,以此给用户推荐合适的音乐列表。所提出的推荐系统的基本思想可以分为两段,分别是特征提取和音乐推荐。在特征提取阶段,我们使用矩阵分解(MF)方法。根据用户喜欢的音乐列表获取用户的长期偏好,并根据歌曲的音乐信息使用段落向量(PV)获得歌曲的特征。在音乐推荐阶段,我们提出结合注意力机制的长短期记忆网络(Attention-based Long Short-Term Memory)来提取用户对歌曲的短期偏好,并结合用户的长期偏好,生成用户的个性化音乐列表推荐。

如图2所示,特征提取阶段提取歌曲的特征和用户对音乐的长期偏好。考虑的特征可以分为两个主要部分:1)用户偏好特征,其描述用户对音乐的长期偏好;2)音乐特征,描述音乐信息。用户偏好特征表示用户对音乐的长期偏好,其可以通过基于用户歌曲评分矩阵的矩阵分解(MF)来获得,该矩阵由用户喜欢的播放列表生成。音乐特征全面描述了歌曲的潜在特征,以及歌词,评论和类别信息。具体来说,我们工作中提取的音乐特征由三部分组成:潜在特征,歌词和评论的语义特征,以及类别特征。其中,潜在特征由通过基于用户歌曲评分矩阵的矩阵分解(MF)来获得。歌词和评论的语义特征是使用段落向量(PV)从歌曲的歌词和评论中获得的。而用户的类别特征是使用一种均值方法,从用户所属公开歌单中获得。

在音乐播放列表推荐阶段,我们使用两个基于注意力的长期短期记忆(AB-LSTM)模型,根据用户对音乐的长短期偏好,向用户推荐被其喜欢的概率最高的k首歌曲。我们认为用户近期的历史播放记录反映了用户对音乐的即时偏好,即短期偏好,而用户喜欢的歌单中的歌曲反映了用户对音乐的长期偏好。于是我们将在第一阶段中提取的用户偏好特征表示用户对音乐的长期偏好,而将以用户历史播放记录作为输入的基于注意力的长期短期记忆(AB-LSTM)模型中的隐藏状态作为用户对音乐的短期偏好。我们提出两种AB-LSTM模型,即典型的AB-LSTM模型和改进的AB-LSTM(IAB-LSTM)模型,以向用户推荐合适的播放列表。

下面对本发明作进一步地说明。

我们使用从网易云音乐得到的真实数据集,这是一个免费音乐流媒体服务,网易云音乐拥有3亿用户和一个包含超过1000万首歌曲的音乐数据库。具体来说,我们提取一个包含35365个用户,1496个公共播放列表,35469个歌曲和377194个评论的数据集。

首先,如图6所示,将我们提出的模型与两种基线方法进行比较(包括CF和BPR)。我们的模型以明显的优势始终优于基线方法,以指标P@10(基于十首歌曲的Precision)为例,我们的长短期记忆模型IAB-LSTM实现了最准确的推荐结果,与CF相比,其精度提高了约83%,与BPR相比提高了152%。

在图7中,我们提供了为从数据集中随机选择两个用户,使用一些算法(即CF,AB-LSTM和IAB-LSTM)生成的推荐音乐播放列表(长度为10首中英文歌曲)。用户的真实播放列表记录中存在的被预测到的歌曲将在表4中用√标记,图中表明我们提出的长短期记忆模型IAB-LSTM可以比其他方法更好地捕获用户的偏好。以用户16596为例,长短期记忆模型IAB-LSTM召回了4首歌曲,AB-LSTM召回2首歌曲,而CF召回0首歌曲,这意味着本发明可以根据用户的长/短期偏好和音乐特征生成更好的音乐列表推荐。

以下为上述中参数的说明:

CF:基于模型的协同过滤方法,它利用矩阵分解来计算所有用户和歌曲之间的评分,并为每个用户推荐具有最高评级值的前k首曲。

BPR:贝叶斯个性化排名,对每个用户对歌曲的偏好进行排名,并提供前k首歌曲推荐。

P-AB-LSTM:基于偏好的AB-LSTM,没有歌曲的分布式表示的AB-LSTM(即,歌曲的语义和类别信息)。

P-IAB-LSTM:基于偏好的IAB-LSTM,没有歌曲的分布式表示(即,歌曲的语义和类别信息)。

AB-LSTM:基于注意力机制的长短期记忆模型(基于用户的偏好和歌曲的分布式表示)。

AB-LSTM:改进的基于注意力机制的长短期记忆模型(基于用户的偏好和歌曲的分布式表示)。

本发明通过能上设计可以基于音乐信息获得用户的长短期偏好,以此给用户推荐合适的音乐列表。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号