基于词嵌入的个性化音乐推荐方法技术

技术编号:24938243 阅读:16 留言:0更新日期:2020-07-17 20:59
一种基于词嵌入的个性化音乐推荐方法,由构建音乐会话记录、音乐会话记录预处理、构建音乐词向量提取模型、训练音乐词向量提取模型、音乐推荐五个步骤组成。本发明专利技术结合推荐技术和自然语言处理技术,通过用户行为数据学习会话记录中音乐的词向量表示。学习到的词向量不仅能够反映音乐之间的内在关联,还可作为其他模型的输入数据。本发明专利技术聚焦于用户的短期动态音乐偏好预测,与现有的方法相比,具有运算复杂度低、预测准确率高、泛化能力强等优点,可用于下一首曲目预测推荐。

【技术实现步骤摘要】
基于词嵌入的个性化音乐推荐方法
本专利技术属于音乐推荐
,具体涉及一种基于词嵌入的个性化音乐推荐方法。
技术介绍
现有音乐推荐大多使用基于内容的推荐,主要是通过传统的信号处理方法分析声学元数据来获得音乐的底层信号特征,并依据这些频域上的特征进行相似性度量以得到关联性较强的歌曲。移动互联网时代,人们通过流媒体服务消费音乐内容已成为一种新的趋势。音乐收听序列中蕴含着关于用户收听习惯和歌曲内在关联的丰富信息,这使得基于收听序列的音乐推荐也日益受到关注。现有方法虽然简单直观但效果有限,音乐底层特征和用户真实需求之间往往无法准确对应,即不能有效地反映用户对音乐的主观真实感受。此外复杂度较高的特征处理算法由于计算量大、响应时间长,也很难在各种在线场景中部署应用。
技术实现思路
本专利技术克服上述现有技术的不足,提供一种运算复杂度低、预测准确率高、泛化能力强的基于词嵌入的个性化音乐推荐方法。解决上述技术问题所采用的技术方案由下述步骤组成:(1)构建音乐会话记录设定用户集合U为:U={u1,u2,…,un}其中,ui表示用户集合U中的任意一个用户,ui∈U。设定音乐集合M为:M={m1,m2,…,mn}其中,mi表示音乐集合M中的任意一首音乐,mi∈M。设定用户u的历史音乐收听序列Hu为:其中,表示用户u的历史收听序列Hu中的任意一首歌曲,对于每个用户u,其历史音乐收听序列Hu中的每一首音乐都带有一个相应的时间戳;将每个用户u的历史音乐收听序列Hu中的音乐按照时间戳之间的相近程度组成音乐会话记录。设定用户u的音乐会话记录为:其中,表示用户u的第k个音乐会话记录中ti时刻收听的音乐,用户u的每个音乐会话记录中的第一首音乐的时间戳与最后一首音乐的时间戳之间的时间间隔在30分钟之内。用户u的音乐会话记录的集合Su为:其中,表示用户u的第i个会话记录,i和n为有限的正整数,(2)音乐会话记录预处理1)将音乐会话记录中连续重复的音乐视作一首音乐。2)剔除音乐数量小于5首的音乐会话记录。3)剔除音乐数量大于40首的音乐会话记录。4)对于音乐数量处在20到40之间的音乐会话记录,以音乐会话记录中的第20首音乐为分割点,将原音乐会话记录分割成两个不同的音乐会话记录,从第1首到第20首为一个音乐会话记录,从第21首到最后一首为另一个音乐会话记录。(3)构建音乐词向量提取模型1)确定会话记录的中心词和上下文词设定任意用户u收听历史记录中单个音乐会话记录S为:S={m1,m2,…,mn}其中,mi为单个音乐会话记录S中的每一首音乐,即为中心词,mi∈S。使用大小为w滑动窗口捕获mi的上下文歌曲集合Ci:Ci={mi-w,…,mi-1,mi+1,…,mi+w}其中,mi为上下文歌曲集合Ci中的音乐,即为上下文词。2)初始化中心词和上下文词向量采用独热编码的方法在CBOW神经网络的映射层处对中心词和上下文词进行编码。用户历史收听序列中的歌曲总数量为N,每首音乐与0到N-1之间的连续整数索引一一对应,对于某个具体的音乐,构建一个长度为N的向量,将该音乐索引对应的状态位设置成1,其余状态位设置为0,每个上下文词对应的独热编码向量记为Xi。3)获取上下文词和向量初始化CBOW神经网络的映射层与CBOW神经网络的第一个隐藏层之间的权重矩阵wN×D,wN×D是一个N行D列的矩阵,D为音乐词向量的特征维度,根据需求自行设定。将所有上下文词的独热编码向量Xi送至CBOW神经网络的第一个隐藏层,上下文词和向量h1×D由下式得到:其中,w为滑动窗口的大小,CBOW神经网络的映射层与CBOW神经网络的第一个隐藏层之间为权重矩阵wN×D,Xi为每个上下文词对应的独热编码向量,Xi∈Ci。4)获得预测的中心词音乐初始化CBOW神经网络的第一个隐藏层与CBOW神经网络的第二个隐藏层之间的权重矩阵w′N×D,w′N×D是一个N行D列的矩阵,按下式得到输出向量y1×N:y1×N=h1×D×(w′N×D)T其中,CBOW神经网络的第一个隐藏层与CBOW神经网络的第二个隐藏层之间权重矩阵w′N×D,h1×D为上下文词的和向量。在CBOW神经网络的输出层处采用Softmax函数对输出向量y1×N进行归一化处理,得到一个N维的概率值Softmax(y1×N):其中,yi为输出向量y1×N每一维度的取值,Softmax(y1×N)是一个经由Softmax函数进行归一化处理获得N维的概率值,每一维都代表一首预测音乐,概率最大的那一行为预测出的中心词音乐。5)获得音乐会话记录中每首歌曲的音乐词向量一对训练样本由下式确定:<mi,Ci>对音乐会话记录中的每一对训练样本<mi,Ci>,重复上述步骤直至会话记录末端,即反复凭借上下文词Ci来预测中心词mi,CBOW神经网络最终训练得到的权重矩阵wN×D中的所有行向量,即为音乐会话记录中每首歌曲的音乐词向量。(4)训练音乐词向量提取模型采用负采样优化方法训练构建的音乐词向量提取模型的步骤如下:1)构建正样本训练样本<mi,Ci>构成一个正样本,即当给定上下文词Ci,训练样本中的另一个词为中心词mi时,则标记为正样本。2)构建负样本引入neg(m)个与中心词mi不同的噪声词mk,k为1,2,…,neg,则<mk,Ci>构成了neg(m)个负样本,即当给定上下文词,训练样本中的另一个词为噪声词mk时,标记为负样本,噪声词mk服从概率分布P(m):mk~P(m),表示根据分布P(m)来采样中心词mi的负样本mk,词频越高被选中的概率越大,分布P(m)的计算公式如下:其中,Counter(m)表示音乐m在音乐集合M中出现的频次。3)负采样优化采用Softmax函数处理CBOW神经网络的输出向量y1×N的过程中,以neg(m)个负样本和一个正样本进行反向传播参数迭代。(5)音乐推荐以CBOW神经网络训练得到的所有音乐词向量的均值表示用户向量,衡量用户向量与音乐集合中的每一首歌曲的音乐词向量之间余弦相似度,寻找10个与用户向量最为接近的音乐词向量,这10个音乐词向量所对应的音乐便构成一个推荐列表。判断用户下一首真实收听的音乐是否在此列表中,如果真实收听的音乐处在推荐列表命中,表明推荐结果对用户有效。本专利技术结合推荐技术和自然语言处理技术,通过用户行为数据学习音乐的词向量表示。学习到的词向量不仅能反映音乐间的内在关联,还可作为其他模型的输入。本专利技术用户的音乐会话记录作为模型输入,采用基于CBOW的词向量学习工具,提取会话记录中的音乐内在特征,学习音本文档来自技高网...

【技术保护点】
1.一种基于词嵌入的个性化音乐推荐方法,其特征在于由下述步骤组成:/n(1)构建音乐会话记录/n设定用户集合U为:/nU={u

【技术特征摘要】
1.一种基于词嵌入的个性化音乐推荐方法,其特征在于由下述步骤组成:
(1)构建音乐会话记录
设定用户集合U为:
U={u1,u2,…,un}
其中,ui表示用户集合U中的任意一个用户,ui∈U;
设定音乐集合M为:
M={m1,m2,…,mn}
其中,mi表示音乐集合M中的任意一首音乐,mi∈M;
设定用户u的历史音乐收听序列Hu为:



其中,表示用户u的历史收听序列Hu中的任意一首歌曲,
对于每个用户u,其历史音乐收听序列Hu中的每一首音乐都带有一个相应的时间戳;将每个用户u的历史音乐收听序列Hu中的音乐按照时间戳之间的相近程度组成音乐会话记录;
设定用户u的音乐会话记录为:



其中,表示用户u的第k个音乐会话记录中ti时刻收听的音乐,
用户u的每个音乐会话记录中的第一首音乐的时间戳与最后一首音乐的时间戳之间的时间间隔在30分钟之内;
用户u的音乐会话记录的集合Su为:



其中,表示用户u的第i个会话记录,i和n为有限的正整数,
(2)音乐会话记录预处理
1)将音乐会话记录中连续重复的音乐视作一首音乐;
2)剔除音乐数量小于5首的音乐会话记录;
3)剔除音乐数量大于40首的音乐会话记录;
4)对于音乐数量处在20到40之间的音乐会话记录,以音乐会话记录中的第20首音乐为分割点,将原音乐会话记录分割成两个不同的音乐会话记录,从第1首到第20首为一个音乐会话记录,从第21首到最后一首为另一个音乐会话记录;
(3)构建音乐词向量提取模型
1)确定会话记录的中心词和上下文词
设定任意用户u收听历史记录中单个音乐会话记录S为:
S={m1,m2,…,mn}
其中,mi为单个音乐会话记录S中的每一首音乐,即为中心词,mi∈S;
使用大小为w滑动窗口捕获mi的上下文歌曲集合Ci:
Ci={mi-w,…,mi-1,mi+1,…,mi+w}
其中,mi为上下文歌曲集合Ci中的音乐,即为上下文词;
2)初始化中心词和上下文词向量
采用独热编码的方法在CBOW神经网络的映射层处对中心词和上下文词进行编码。用户历史收听序列中的歌曲总数量为N,每首音乐与0到N-1之间的连续整数索引一一对应,对于某个具体的音乐,构建一个长度为N的向量,将该音乐索引对应的状态位设置成1,其余状态位设置为0,每个上下文词对应的独热编码向量记为Xi;
3)获取上下文词和向量
初始化CBOW神经网络的映射层与CBOW神经网络的第一个隐藏层之间的权重矩阵wN×D,wN×D是一个N行D列的矩阵,D为音乐词向量的特征维度,根据需求自行设定。将所有上下文词的独热编码向量Xi送至CBOW神经网络的第一个隐藏层,上下文词和向量h1×D由下式得到:

【专利技术属性】
技术研发人员:姚若侠姚俣哲
申请(专利权)人:陕西师范大学
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1