一种基于向量表征和长短时记忆网络的音乐重复收听行为预测方法技术

技术编号:21547950 阅读:18 留言:0更新日期:2019-07-06 21:28
本发明专利技术涉及一种基于向量表征和长短时记忆网络的音乐重复收听行为预测方法,包括步骤:1)数据预处理得到用户收听音乐的时间序列和音乐字典;2)对用户收听的音乐进行向量表征并转换历史数据序列;3)用向量表征后的序列训练长短时记忆网络并预测,采用长短时记忆网络LSTM来对用户的音乐重复收听行为进行预测。本发明专利技术的有益效果是:提供了一种向量表征和长短时记忆网络的音乐重复收听行为预测方法,把用户收听的音乐进行向量表征,能够利用用户收听音乐行为中的上下文信息,再采用LSTM网络更加准确高效地对音乐重复收听行为进行预测。

A Prediction Method of Music Repeated Listening Behavior Based on Vector Representation and Long-term and Short-term Memory Network

【技术实现步骤摘要】
一种基于向量表征和长短时记忆网络的音乐重复收听行为预测方法
本专利技术涉及一种音乐重复收听行为预测方法,更具体的说,涉及一种基于向量表征和长短时记忆网络的音乐重复收听行为预测方法。
技术介绍
随着网络信息技术的不断发展,用户越来越习惯通过网络来在线收听音乐。在收听音乐室时会产生大量的用户数据,这些数据中包含了很多有用的信息。用户在收听音乐时,存在大量的重复收听行为,有研究指出用户的70%的收听行为都是重复收听之前已经听过的音乐。通过分析用户的历史收听行为数据,可以分析各个用户的重复收听习惯从而预测用户未来可能的重复收听行为,这对给用户提供更好的个性化推荐服务。如何更好的利用用户的历史数据从而有效准确地预测用户未来的重复收听行为,是本领域技术人员急需解决的问题。
技术实现思路
本专利技术的目的在于克服上述不足,提供一种基于向量表征和长短时记忆网络的音乐重复收听行为预测方法。基于向量表征和长短时记忆网络的音乐重复收听行为预测方法,包括如下步骤:步骤一、数据预处理得到用户收听音乐的时间序列和音乐字典:根据时间顺序抽取用户收听音乐的历史数据{music1,music2,…,musicT}并生成用户收听的音乐的字典集;步骤二、对用户收听的音乐进行向量表征并转换历史数据序列:采用skip-gram训练模型来生成歌曲的向量。训练的过程分为两部分,首先用训练数据构建一个神经网络,建立模型生成一个向量空间,然后通过模型来获取歌曲项目在这个空间内的表征向量,网络隐层的权重矩阵就是所需要的向量;步骤三、用向量表征后的序列训练长短时记忆网络并预测:采用长短时记忆网络LSTM来对用户的音乐重复收听行为进行预测;预测的LSTM包括三个控制门层:遗忘门层、输入门层、输出门层;LSTM的训练数据为步骤二中通过表征向量转换后的用户历史收听序列。作为优选:所述步骤二的具体步骤为:1)首先选取序列中的一首音乐作为输入;2)定义一个参数skip_window,代表从当前输入项目的左侧或右侧选取项目的数量,从而得到一个选取窗口;然后定义另一个参数num_skips,代表从整个窗口中取多少个项目作为输出,然后得到(输入项目,输出项目)形式的训练数据;3)最后神经网络基于(输入项目,输出项目)形式的训练数据进行训练并得到一个概率分布,这个概率分布表示当前词典中每个词是输出词的可能性;4)最终在训练好一个skip-gram模型时,会得到隐含层的权重矩阵W;对于一个有N个项目的消费序列,用M维的特征来表示一个项目,神经网络的隐含层就有M个节点,则隐含层的权重矩阵W的维度为N*M维;最后隐含层的权重矩阵W就能转化成N个项目的向量;5)得到每首音乐的向量之后,根据向量再把用户收听音乐的历史序列{music1,music2,…,musicT}转换为{vector1,vector2,…,vectorT}。作为优选:所述步骤三的具体步骤为:定义一个长短时记忆网络,包含三个控制门:遗忘门层:ft=σ(Wf·[ht-1,xt]+bf)遗忘门用来控制要忘记哪些过去的信息,遗忘门会读取上一个细胞的输出ht-1和当前细胞的输入xt,然后输出一个0~1之间的数值ft给上一个时刻的细胞状态Ct-1,其中Wf为遗忘门的权重,bf为遗忘门的偏置值;输入门层:it=σ(Wi·[ht-1,xt]+bi)输入门能决定让多少新的信息加入到当前的细胞状态中来;遗忘门读取上一个细胞的输出ht-1和当前细胞的输入xt,然后输出一个0~1之间的数值it,Wi为遗忘门的权重,bi为遗忘门的偏置值;同时,一个tanh层会生成一个向量作为备选的用来更新的内容,Wc为tanh层的权重,bc为tanh层的偏置值;然后把细胞状态Ct-1更新为Ct,旧的状态Ct-1通过遗忘门丢弃部分不需要的信息,然后加上需要记忆的新输入信息得到新的细胞状态Ct;输出门层:ot=σ(Wo·[ht-1,xt]+bo)ht=ot*tanh(Ct)输出门会决定当前细胞会输出什么值,这个输出是基于当前细胞状态的;输出门读取上一个细胞的输出ht-1和当前细胞的输入xt,然后输出一个0~1之间的数值ot,同时tanh层处理细胞状态然后与输出门的值相乘,得到当前细胞的输出值ht,Wo为输出门门的权重,bo为输出门的偏置值;定义初始LSTM网络之后,把步骤二中转换后的用户数据序列去训练LSTM网络,输入数据为时间窗口内的历史数据{vectori,vectori+1,…,vectori+W},输出数据为i+W+1时刻收听歌曲的one-hot编码;最后用训练好的LSTM网络去预测下一次最后可能收听的音乐。本专利技术的有益效果是:提供了一种向量表征和长短时记忆网络的音乐重复收听行为预测方法,把用户收听的音乐进行向量表征,能够利用用户收听音乐行为中的上下文信息,再采用LSTM网络更加准确高效地对音乐重复收听行为进行预测。附图说明图1是本方法流程图;图2是实验性能比较图;图3是实验性能比较图。具体实施方式下面结合实施例对本专利技术做进一步描述。下述实施例的说明只是用于帮助理解本专利技术。应当指出,对于本
的普通技术人员来说,在不脱离本专利技术原理的前提下,还可以对本专利技术进行若干改进和修饰,这些改进和修饰也落入本专利技术权利要求的保护范围内。如图1所示,本实施方式中的基于向量表征和长短时记忆网络的音乐重复收听行为预测方法,其步骤如下:1.数据预处理得到用户收听音乐的时间序列和音乐字典:根据时间顺序抽取用户收听音乐的历史数据{music1,music2,…,musicT}并生成用户收听的音乐的字典集;2.对用户收听的音乐进行向量表征并转换历史数据序列:采用skip-gram训练模型来生成歌曲的向量。训练的过程分为两部分,首先建立模型生成一个向量空间,然后通过模型来获取歌曲项目在这个空间内的表征向量。具体的做法是先用训练数据构建一个神经网络,当这个神经网络训练好之后,网络隐层的权重矩阵就是所需要的向量。训练神经网络的具体步骤为:1)首先选取序列中的一首音乐作为输入2)定义一个参数skip_window,代表从当前输入项目的一侧(左侧或右侧)选取项目的数量,从而得到一个选取窗口。然后定义另一个参数num_skips,代表从整个窗口中取多少个项目作为输出,然后得到(输入项目,输出项目)形式的训练数据。3)最后神经网络基于(输入项目,输出项目)形式的训练数据进行训练并得到一个概率分布,这个概率分布表示当前词典中每个词是输出词的可能性。最终在训练好一个skip-gram模型时,会得到隐含层的权重矩阵W。如果对于一个有N个项目的消费序列,想用M维的特征来表示一个项目,那么神经网络的隐含层就有M个节点,则隐含层的权重矩阵W的维度为N*M维。最后隐含层的权重矩阵W就能转化成N个项目的向量。得到每首音乐的向量之后,根据向量再把用户收听音乐的历史序列{music1,music2,…,musicT}转换为{vector1,vector2,…,vectorT};3.用向量表征后的序列训练长短时记忆网络并预测:长短时记忆网络(Long-ShortTermModel,LSTM)是一种循环神经网络,其中当前时刻的网络状态Ct也同时取决于当前时刻的网络输入xt和前一个时刻的网络状态Ct-1。LST本文档来自技高网
...

【技术保护点】
1.一种基于向量表征和长短时记忆网络的音乐重复收听行为预测方法,其特征在于,包括如下步骤:步骤一、数据预处理得到用户收听音乐的时间序列和音乐字典:根据时间顺序抽取用户收听音乐的历史数据{music1,music2,...,musicT}并生成用户收听的音乐的字典集;步骤二、对用户收听的音乐进行向量表征并转换历史数据序列:采用skip‑gram训练模型来生成歌曲的向量,训练的过程分为两部分,首先用训练数据构建一个神经网络,建立模型生成一个向量空间,然后通过模型来获取歌曲项目在这个空间内的表征向量,网络隐层的权重矩阵就是所需要的向量;步骤三、用向量表征后的序列训练长短时记忆网络并预测:采用长短时记忆网络LSTM来对用户的音乐重复收听行为进行预测;预测的LSTM包括三个控制门层:遗忘门层、输入门层、输出门层;LSTM的训练数据为步骤二中通过表征向量转换后的用户历史收听序列。

【技术特征摘要】
1.一种基于向量表征和长短时记忆网络的音乐重复收听行为预测方法,其特征在于,包括如下步骤:步骤一、数据预处理得到用户收听音乐的时间序列和音乐字典:根据时间顺序抽取用户收听音乐的历史数据{music1,music2,...,musicT}并生成用户收听的音乐的字典集;步骤二、对用户收听的音乐进行向量表征并转换历史数据序列:采用skip-gram训练模型来生成歌曲的向量,训练的过程分为两部分,首先用训练数据构建一个神经网络,建立模型生成一个向量空间,然后通过模型来获取歌曲项目在这个空间内的表征向量,网络隐层的权重矩阵就是所需要的向量;步骤三、用向量表征后的序列训练长短时记忆网络并预测:采用长短时记忆网络LSTM来对用户的音乐重复收听行为进行预测;预测的LSTM包括三个控制门层:遗忘门层、输入门层、输出门层;LSTM的训练数据为步骤二中通过表征向量转换后的用户历史收听序列。2.根据权利要求1所述的基于向量表征和长短时记忆网络的音乐重复收听行为预测方法,其特征在于,所述步骤二的具体步骤为:1)首先选取序列中的一首音乐作为输入;2)定义一个参数skip_window,代表从当前输入项目的左侧或右侧选取项目的数量,从而得到一个选取窗口;然后定义另一个参数num_skips,代表从整个窗口中取多少个项目作为输出,然后得到(输入项目,输出项目)形式的训练数据;3)最后神经网络基于(输入项目,输出项目)形式的训练数据进行训练并得到一个概率分布,这个概率分布表示当前词典中每个词是输出词的可能性;4)最终在训练好一个skip-gram模型时,会得到隐含层的权重矩阵W;对于一个有N个项目的消费序列,用M维的特征来表示一个项目,神经网络的隐含层就有M个节点,则隐含层的权重矩阵W的维度为N*M维;最后隐含层的权重矩阵W就能转化成N个项目的向量;5)得到每首音乐的向量之后,根据向量再把用户收听音乐的历史序列{music1,mu...

【专利技术属性】
技术研发人员:郑增威周燕真孙霖
申请(专利权)人:浙江大学城市学院
类型:发明
国别省市:浙江,33

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

1