一种基于深度神经网络的视频推荐方法、系统及存储介质与流程

文档序号:21408885发布日期:2020-07-07 14:43阅读:143来源:国知局
一种基于深度神经网络的视频推荐方法、系统及存储介质与流程
本发明涉及显示控制
技术领域
,尤其涉及的是一种基于深度神经网络的视频推荐方法、及存储介质。
背景技术
:目前很多网站都会使用推荐系统给用户推荐产品。推荐系统大致可以划分为两个类别:基于浏览信息的上下文推荐和基于用户历史信息的个性化推荐。基于上下文的推荐考虑了上下文信息诸如位置、日期和时间等因素。个性化推荐通常使用协同滤波的方法向用户推荐产品。在这种方法中,用户兴趣的预测是基于对系统中其他用户的品味和偏好的分析,并隐含地推断出两者之间的“相似性”。潜在的假设是当两个人有相似的品味,他们将有更高的可能性对产品保有相同的态度。现今已有不少基于深度学习的协同滤波算法方案,其中,包括:能够根据用户对产品的已知评分信息预测用户对未评分过的产品的评分,以此达到推荐目的的方案。这些方案不少利用gpu性能,使得算法可以适用于用户数量和产品数量都很大的情况,且相对快速地训练模型。现今用户在使用网络电视观看视频节目时,通常只会进行观看的行为,无法或基本不会对视频内容进行评分。这就使得播放平台方无法获得用户对产品的评分信息,也就无法利用评分信息为用户进行个性化视频推荐。但因为我们能够获取用户观看行为的信息,仍然可以通过用户是否观看过某一视频的数据搭建推荐系统。但是考虑到使用网络电视观看视频服务的用户数量庞大,推荐目标视频数量巨大且迭代频率高,现有的基于用户观看行为的推荐系统或是无法提供可观的推荐准确率或是无法解决大数据高频更新的应用需求。因此,现有技术有待于进一步的改进。技术实现要素:鉴于上述现有技术中的不足之处,本发明的目的在于提供一种基于深度神经网络的视频推荐方法、及存储介质,克服现有技术中网络视频观看时缺少用户评分机制导致无法根据用户评分信息为用户进行视频个性化推荐的缺陷。本发明所公开的第一实施例为一种基于深度神经网络的视频推荐方法,其中,应用于网络视频的个性化推荐,包括以下步骤:获取用户的观看视频数据,根据用户的观看视频数据和视频库的视频数据生成正样本数据集和负样本数据集;使用所述正样本数据集和负样本数据集进行基于深度神经网络的自编码器模型训练,得到训练网络模型;将每个用户的观看视频数据和视频库的视频数据输入所述训练网络模型,得到预测出的视频推荐列表;根据预测出的推荐视频列表对各个用户进行视频推荐。可选的,所述根据用户的观看视频数据和视频库的视频数据生成正样本数据集和负样本数据集的步骤包括:将用户的观看视频数据中全部数据作为正样本数据生成正样本数据集,从视频库中抽取多个数据作为负样本数据生成负样本数据集;或者,将用户的观看视频数据中部分数据作为正样本数据生成正样本数据集,将用户的观看视频数据中部分数据作为负样本数据和从视频库中抽取多个数据作为负样本数据生成负样本数据集;将用户的观看视频数据部分数据和从视频库中抽取多个数据作为负样本数据生成负样本数据集;或者将用户的观看视频数据中观看视频完整度超出预定阈值的数据作为正样本数据生成正样本数据集和从正样本数据选取后的用户的观看视频数据中选取多个数据作为负样本数据生成负样本数据集。可选的,所述自编码器模型的结构为:全连接的编码层、特征层和解码层组成的自编码器网络结构;所述编码层和解码层为相对称的2层结构,且所述自编码器网络结构的输出层转变为分类器。可选的,所述自编码器模型的输出层的激活函数为softmax函数,中间层的激活函数为缩放指数线性单元函数。可选的,所述使用所述正样本数据集和负样本数据集进行基于深度神经网络的自编码器模型训练的步骤包括:分别将正样本数据集中的数据和负样本数据集中的数据进行特征向量化,并将特征向量化的数据作为训练样本输入预先建立的基于深度神经网络的自编码器模型,对所述自编码器模型进行训练。可选的,所述负样本数据集中被抽取的视频个数与视频库中全部视频数量相关。本发明提供的第二实施例为一种基于深度神经网络的视频推荐系统,其中,包括:训练集获取模块,用于获取用户的观看视频数据,根据用户的观看视频数据和视频库的视频数据生成正样本数据集和负样本数据集;网络模型训练模块,用于使用所述正样本数据集和负样本数据集进行基于深度神经网络的自编码器模型训练,得到训练网络模型;预测推荐模块,用于将每个用户的观看视频数据和视频库的视频数据输入所述训练网络模型,得到预测出的视频推荐列表;个性推荐模块,用于根据预测出的推荐视频列表对各个用户进行视频推荐。可选的,所述自编码器模型的结构为:全连接的编码层、特征层和解码层组成的自编码器网络结构;所述编码层和解码层为相对称的2层结构,且所述自编码器网络结构的输出层转变为分类器。可选的,所述自编码器模型的输出层的激活函数为softmax函数,中间层的激活函数为缩放指数线性单元函数。可选的,所述自编码器模型的损失函数为交叉熵损失函数。本发明公开的第三实施例为:一种存储介质,其中,所述存储介质上存储有基于深度神经网络的视频推荐的控制程序,所述基于深度神经网络的视频推荐的控制程序被处理器执行时实现项所述的基于深度神经网络的视频推荐方法的步骤。有益效果,本发明提供了一种基于深度神经网络的视频推荐方法、系统及存储介质,通过获取用户的观看视频数据,并将用户的观看视频数据作为训练样本输入预先建立的基于深度神经网络的自编码器模型,得到训练网络模型;将每个用户的观看视频数据和视频库的视频数据进行特征向量化,并将特征向量化的数据输入所述训练网络模型,得到预测出的视频推荐列表;根据预测出的推荐视频列表对各个用户进行视频推荐。本发明所提供的方法实现网络电视条件下的个性化推荐,由于基于深度网络保证了推荐的准确率,为用户观看视频提供了便利。附图说明图1是本发明所提供的基于深度神经网络的视频推荐方法的步骤流程图;图2是本发明所提供的基于深度神经网络的视频推荐方法中典型的4层自编码器网络结构示意图;图3是本发明所提供的所述视频推荐系统的原理示意框图。具体实施方式为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。自编码器是一种实现了两个转换的网络结构,一个转换为编码encode(x):rn→rd另一个为解码decode(x):rd→rn。自编码器的目标是得到维度为d的数据特征使得x和f(x)=decode(encode(x))之间的误差最小化。基于自编码器模型,本发明提供了一种基于深度神经网络的视频推荐方法,使得可以基于用户的观看视频数据准确的为用户进行视频推荐。实施例1本发明所公开的第一实施例为一种基于深度神经网络的视频推荐方法,如图1所示,应用于网络视频的个性化推荐,包括以下步骤:步骤s1、获取用户的观看视频数据,根据用户的观看视频数据和视频库中包括的视频数据生成正样本数据集和负样本数据集。为了给每个用户进行视频个性化推荐,首先需要获取用户的历史观看视频信息,并给从历史观看视频信息中得到其所喜爱的视频类型,其观看视频的情况,并根据历史观看视频信息为其进行视频推荐。因此,本步骤首先需要获取多个用户的观看视频数据,将用户的观看视频数据作为正样本数据集。从视频库中均匀抽取多个用户未观看视频数据作为负样本,组成负样本数据集,得到二分类数据集。具体的,所述负样本数据集中被抽取的视频个数与视频库中全部视频数量相关。为了便于对用户观看信息进行记录,具体的,记录用户的观看视频信息中视频观看完整的数据对应为1,用户观看视频信息中视频未观看完整的数据对应为非1的常数。可以想到的是,在进行正样本数据集和负样本数据集的选择上,为了达到不同的推荐效果,在具体实施例中,还可以选择用户观看完整的视频作为正样本数据集,从视频库中选择用户未观看的视频作为负样本数据集,或者其他正负样本数据的选择方式。所述根据用户的观看视频数据和视频库的视频数据生成正样本数据集和负样本数据集的步骤包括:将用户的观看视频数据中全部数据作为正样本数据生成正样本数据集,从视频库中抽取多个数据作为负样本数据生成负样本数据集;或者,将用户的观看视频数据中部分数据作为正样本数据生成正样本数据集,将用户的观看视频数据中部分数据作为负样本数据和从视频库中抽取多个数据作为负样本数据生成负样本数据集;将用户的观看视频数据部分数据和从视频库中抽取多个数据作为负样本数据生成负样本数据集;或者将用户的观看视频数据中观看视频完整度超出预定阈值的数据作为正样本数据生成正样本数据集和从正样本数据选取后的用户的观看视频数据中选取多个数据作为负样本数据生成负样本数据集。即是,可以将全部的用户的观看视频数据作为正样本数据集,也可以选取其中部分观看时间超出预设完整度的视频作为正样本数据集,比如:选取其中观看完整度为50%的视频作为正样本数据,也可以将观看视频数据中用户观看完整度低于预设完整度阈值的视频数据划分为负样本数据集,比如:观看完整度仅仅为5%的视频。当然也可以从视频库中用户未观看的视频中选取视频数据作为负样本数据。步骤s2、使用所述正样本数据集和负样本数据集进行基于深度神经网络的自编码器模型训练,得到训练网络模型。将正样本数据集中的数据和负样本数据集中的数据均进行特征向量化,并使用特征向量化后的正样本数据集和负样本数据集进行神经网络的训练,得到训练后的网络模型。具体的,结合图2所示,所述自编码器模型的结构为:全连接的编码层、特征层和解码层组成的自编码器网络结构;所述编码层和解码层为相对称的2层结构,且所述自编码器网络结构的输出层转变为分类器,且所述自编码器模型的输出层的激活函数为softmax函数(sigmoid函数),中间层的激活函数为缩放指数线性单元函数。相应的,根据激活函数在输出层选择使用分类器性质的softmax函数(sigmoid函数),因此,较佳的,所述自编码器模型的损失函数为交叉熵损失函数。步骤s3、将各个用户的观看视频数据和视频库的视频数据输入所述训练网络模型,得到预测出的视频推荐列表。将各个用户的观看视频数据和视频库的视频数据按照自编码器网络结构的格式进行特征向量化之后,输入上述步骤中训练得到的网络模型,得到为各个用户预测出的视频推荐列表。步骤s4、根据预测出的推荐视频列表对各个用户进行视频推荐。根据上述步骤s3中为每个用户预测出的推荐列表进行视频推荐。由于在原始模型中,无论是编码还是解码部分使用的都是经典的向前传播的全连接神经网络l=f(w*x+b),这里f表示非线性的激活函数。但是如果激活函数的值域不能包含数据本身的范围,decode的最后一层还是会选择线性函数连接。非线性函数的类型根据目标问题的情况进行选择。因此本发明所提供的方法中,将最后一层的输出层的激活函数设置为softmax函数(sigmoid函数),从而提高了预测信息的准确性。进一步的,因为现有技术中进行个性化预测时,都是通过收集用户对观看视频的打分进行预测,而用户的打分常常是连续的整数,最常对应的损失函数应为均分误差,在计算均分误差时,需要只计算用户有打分记录的部分,而不计算未打分部分的误差,预测的结果存在一定的误差,而本发明所提供的方法,我们的改进方案是在不涉及到打分记录的前提下,从用户未观看视频或观看时间超出预设时间值的视频集中均匀地随机抽取a部视频信息,作为负样本使用,改变其ri=µ。其中a是一个随机整数与数据尺寸相关。µ是一个不等于1的常值,如µ=-1。这样我们就得到了有正负样本的二分类数据,从而提高了预测准确性。实施例2本发明所公开的第二实施例为一种基于深度神经网络的视频推荐系统,如图3所示,包括:训练集获取模块310,用于获取用户的观看视频数据,根据用户的观看视频数据和视频库中包括的视频数据生成正样本数据集和负样本数据集;其功能如步骤s1所述。网络模型训练模块320,用于使用所述正样本数据集和负样本数据集进行基于深度神经网络的自编码器模型训练,得到训练网络模型;其功能如步骤s2所述。预测推荐模块330,用于将每个用户的观看视频数据和视频库的视频数据输入所述训练网络模型,得到预测出的视频推荐列表;其功能如步骤s3所述。个性推荐模块340,用于根据预测出的推荐视频列表对各个用户进行视频推荐,其功能如步骤s4所述。具体的,所述自编码器模型的结构为:预先建立的基于深度神经网络的自编码器模型的结构为:编码层和解码层相对称的4层自编码器网络结构,且所述自编码其网络结构的输出层转变为分类器。所述自编码器模型的损失函数为交叉熵损失函数。为了验证本发明所述方法及系统可以实现为用户进行较为准确的视频推荐,将本方法进行实验验证。具体的,该验证步骤包括:采集部分用户采集的部分用户观看网络电视的数据,整理数据,按照本发明所提供的5层autoencoder网络输入格式需要,将用户观看网络电视的数据整理成特征向量格式并照表格中阐述方法生成正负样本数据。使用采集到的正负样本数据训练网络模型,得到训练后的网络模型。将测试数据输入训练后的网络模型,得到预测结果,并将预测结果与测试数据的正确结果相比较,得到得出测试结果。在本次测试中,针对每个用户从所有的视频中随机抽取99部视频,加上测试目标的一部视频组成100部视频的集合。以这个集合为推荐视频集进行推荐视频目录预测,通过本发明所提供的方法进行预测后,得到目标视频在推荐列表的前10位的比例为0.9499。数据类型用户观看记录假设观看表示用户喜爱,数据不含用户厌恶信息总用户数1,363,129总视频数19,098总记录数121,258,474数据稀疏度99.53%人造负样本根据观看记录等量随机抽取视频训练记录数239,790,690测试抽取每个用户随机抽取一部观看过的视频测试记录数1,363,129测试均分误差0.202目标视频在推荐列表的前10位的比例0.9499实施例3本发明公开的第三实施例为:一种存储介质,其中,所述存储介质上存储有基于深度神经网络的视频推荐的控制程序,所述基于深度神经网络的视频推荐的控制程序被处理器执行时实现项所述的基于深度神经网络的视频推荐方法的步骤。存储介质可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储工业设备管理方法使用或接收的数据等。此外,存储介质可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。上述计算机设备可执行本发明实施例所提供的方法,具备执行该方法相应的功能模块和得到相应的有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。本发明提供了一种基于深度神经网络的视频推荐方法、系统及存储介质,通过获取用户的观看视频数据,并将用户的观看视频数据作为训练样本输入预先建立的基于深度神经网络的自编码器模型,得到训练网络模型;将每个用户的观看视频数据和视频库中的视频数据进行特征向量化,并将特征向量化的数据输入所述训练网络模型,得到预测出的视频推荐列表;根据预测出的推荐视频列表对各个用户进行视频推荐。本发明所提供的方法实现网络电视条件下的个性化推荐,由于基于深度网络保证了推荐的准确率,为用户观看视频提供了便利。可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1