视频推荐模型的生成方法、视频推荐方法、装置
技术领域
本公开涉及网络数据处理
技术领域
,尤其涉及一种视频推荐模型的生成方法、装置、电子设备及存储介质,以及一种视频推荐方法、装置、电子设备及存储介质。背景技术
目前市场上有很多视频类应用,这些应用通过根据用户的历史行为信息给用户推荐可能符合用户兴趣的视频,以达到提升点击率,延长用户留存的效果。为用户推荐视频,除了“推荐给用户喜欢的作品”的正反馈过程,往往还存在“过滤掉用户不喜欢的作品”的负反馈过程。负反馈过程的产品形态一般是在视频展示页提供负反馈按钮,例如“不喜欢”、“不感兴趣”等按钮,在用户触发负反馈按钮之后,推荐系统将减少或者避免该类型视频的展现。
相关技术中,负反馈过滤的其中一个方式是基于模型进行过滤,可以将用户触发过负反馈按钮的视频作为正样本,其他则作为负样本进行模型训练。然后,使用训练好的模型对每个待推荐视频预测一个负反馈分数,负反馈分数超过阈值的视频将不给用户推荐。这种基于模型的过滤方式仅仅根据用户当前时刻的负反馈视频进行模型训练,容易因为对用户负反馈视频的理解偏差而导致模型对具有负反馈可能性的视频判断不准确,进而导致为用户推荐视频不准确。
发明内容
本公开提供一种视频推荐模型的生成方法、装置、电子设备及存储介质,以及一种视频推荐方法、装置、电子设备及存储介质,以至少解决相关技术中在视频推荐时不准确的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种视频推荐模型的生成方法,包括:
从每个用户历史会话中提取多个正反馈视频和多个负反馈视频;
建立每个用户历史会话对应的多个视频对,每个视频对中包含一个正反馈视频和一个负反馈视频;
根据每个视频对中的正反馈视频的特征、负反馈视频的特征以及用户特征,对待训练视频推荐模型进行训练,得到视频推荐模型。
在本公开的另一个实施例中,视频推荐模型包括第一神经网络和第二神经网络;根据每个视频对中的正反馈视频的特征、负反馈视频的特征以及用户特征,对待训练视频推荐模型进行训练,得到视频推荐模型,包括:
通过第一神经网络对用户特征进行加权求和;
通过第二神经网络对每个视频对中的正反馈视频的特征和负反馈视频的特征进行加权求和;
计算每个视频对中,加权求和后的正反馈视频的特征与加权求和后的用户特征的第一相似度,以及加权求和后的负反馈视频的特征与加权求和后的用户特征的第二相似度;
根据每个视频对对应的第一相似度和第二相似度计算损失函数值,将损失函数值最小的待训练视频推荐模型确定为视频推荐模型。
在本公开的另一个实施例中,建立每个用户历史会话对应的多个视频对,包括:
从每个用户历史会话对应的多个正反馈视频中,随机选择预设数量的正反馈视频,与每个用户历史会话对应的各负反馈视频依次建立视频对,得到多个视频对。
在本公开的另一个实施例中,用户历史会话是从原始历史会话中筛选出的包含有负反馈视频的历史会话。
根据本公开实施例的第二方面,提供一种视频推荐方法,包括:
获取用户特征,以及多个候选推荐视频的特征;
将用户特征和多个候选推荐视频的特征输入至是上述第一方面任一项所述的视频推荐模型,输出多个候选推荐视频中的负反馈目标视频;
推荐多个候选推荐视频中的负反馈目标视频以外的其他视频。
在本公开的另一个实施例中,视频推荐模型包括第一神经网络和第二神经网络;将用户特征和多个候选推荐视频的特征输入至视频推荐模型,输出多个候选推荐视频中的负反馈目标视频,包括:
将用户特征输入第一神经网络,生成第一特征;
将多个候选推荐视频的特征输入第二神经网络,生成多个第二特征;
根据第一特征和多个第二特征,确定多个候选推荐视频中的负反馈目标视频。
在本公开的另一个实施例中,根据第一特征和多个第二特征,确定多个候选推荐视频中的负反馈目标视频,包括:
计算第一特征与各第二特征之间的相似度;
将相似度小于阈值的候选推荐视频,确定为多个候选推荐视频中的负反馈目标视频。
根据本公开实施例的第三方面,提供一种视频推荐模型的生成装置,包括:
视频提取模块,被配置为执行从每个用户历史会话中提取多个正反馈视频和多个负反馈视频;
视频对建立模块,被配置为执行建立每个用户历史会话对应的多个视频对,每个视频对中包含一个正反馈视频和一个负反馈视频;
模型训练模块,被配置为执行根据每个视频对中的正反馈视频的特征、负反馈视频的特征以及用户特征,对待训练视频推荐模型进行训练,得到视频推荐模型。
在本公开的另一个实施例中,视频推荐模型包括第一神经网络和第二神经网络;模型训练模块包括:
第一特征加权单元,被配置为执行通过第一神经网络对用户特征进行加权求和;
第二特征加权单元,被配置为执行通过第二神经网络对每个视频对中的正反馈视频的特征和负反馈视频的特征进行加权求和;
第一相似度计算单元,被配置为执行计算每个视频对中,加权求和后的正反馈视频的特征与加权求和后的用户特征的第一相似度,以及
第二相似度计算单元,被配置为执行计算加权求和后的负反馈视频的特征与加权求和后的用户特征的第二相似度;
模型确定单元,被配置为执行根据每个视频对对应的第一相似度和第二相似度计算损失函数值,将损失函数值最小的待训练视频推荐模型确定为视频推荐模型。
在本公开的另一个实施例中,视频对建立模块,被配置为执行从每个用户历史会话对应的多个正反馈视频中,随机选择预设数量的正反馈视频,与每个用户历史会话对应的各负反馈视频依次建立视频对,得到多个视频对。
在本公开的另一个实施例中,用户历史会话是从原始历史会话中筛选出的包含有负反馈视频的历史会话。
根据本公开实施例的第四方面,提供一种视频推荐装置,包括:
获取模块,被配置为执行获取用户特征,以及多个候选推荐视频的特征;
负反馈目标视频确定模块,被配置为执行将用户特征和多个候选推荐视频的特征输入至上述第一方面任一项所述的视频推荐模型,输出多个候选推荐视频中的负反馈目标视频;
视频推荐模块,被配置为执行推荐多个候选推荐视频中的负反馈可能性视频以外的其他视频。
在本公开的另一个实施例中,视频推荐模型包括第一神经网络和第二神经网络;负反馈目标视频确定模块,包括:
第一特征生成单元,被配置为执行将用户特征输入第一神经网络,生成第一特征;
第二特征生成单元,被配置为执行将多个候选推荐视频的特征输入第二神经网络,生成多个第二特征;
负反馈目标视频确定单元,被配置为执行根据第一特征和多个第二特征,确定多个候选推荐视频中的负反馈目标视频。
在本公开的另一个实施例中,负反馈目标视频确定单元,被配置为执行:
计算第一特征与各第二特征之间的相似度;
将相似度小于阈值的候选推荐视频,确定为多个候选推荐视频中的负反馈目标视频。
根据本公开实施例的第五方面,提供一种电子设备,包括:
处理器;用于存储处理器可执行指令的存储器;
其中,处理器被配置为执行指令,以实现如上述第一方面或者第二方面的任一项实施例中的方法。
根据本公开实施例的第六方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如上述第一方面或者第二方面的任一项实施例中的方法。
根据本公开实施例的第七方面,提供一种计算机程序产品,所述程序产品包括计算机程序,计算机程序存储在可读存储介质中,设备的至少一个处理器从可读存储介质读取并执行计算机程序,使得设备执行第一方面或者第二方面的任一项实施例中的方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
上述技术方案通过使用同一个用户历史会话中的正反馈视频和负反馈视频组成的视频对对视频推荐模型进行训练,充分利用用户历史会话中的相关信息,能够更好地捕捉用户的实际需求,了解用户的真实意图,从而能够对候选推荐视频中的负反馈目标视频达到更好的过滤效果,提高了视频推荐的准确性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种视频推荐模型的生成方法的应用环境图;
图2是根据一示例性实施例示出的一种视频推荐模型的生成方法的流程图;
图3是根据一示例性实施例示出的一种视频推荐模型的训练过程的流程图;
图4是根据一示例性实施例示出的一种训练过程中的视频推荐模型的结构示意图;
图5是根据一示例性实施例示出的一种视频推荐方法的流程图;
图6是根据一示例性实施例示出的一种得到负反馈目标视频的流程图;
图7是根据一示例性实施例示出的一种应用过程中的视频推荐模型的结构示意图;
图8是根据一示例性实施例示出的一种视频推荐方法的流程图;
图9是根据一示例性实施例示出的一种视频推荐模型的生成装置的框图;
图10是根据一示例性实施例示出的一种视频推荐装置的框图;
图11是根据一示例性实施例示出的一种服务器的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开提供的视频推荐模型的生成方法,可以应用于如图1所示的应用环境中。该应用环境包括终端110和服务器120。终端110通过网络与服务器120进行通信。终端110中设置有应用程序,用户可以通过该应用程序进行浏览视频、观看直播等。当用户进行观看视频或直播时,可以通过触发视频反馈按钮对所观看的内容进行反馈,例如,通过触发“喜欢”按钮反馈对该视频内容感兴趣,或者触发“不感兴趣”按钮反馈对该视频的内容不感兴趣。用户的相关行为信息将被实时记录在会话中并上报至服务器。服务器在对视频推荐模型进行训练时,可以从用户的历史会话中提取需要的信息对视频推荐模型进行训练,得到与每个用户相匹配的视频推荐模型,从而能够准确的为每个用户过滤具有负反馈可能性的视频。具体地,服务器120从每个用户历史会话中提取多个正反馈视频和多个负反馈视频;建立每个用户历史会话对应的多个视频对,每个视频对中包含一个正反馈视频和一个负反馈视频;根据每个视频对中的正反馈视频的特征、负反馈视频的特征以及用户特征,对待训练视频推荐模型进行训练,得到视频推荐模型。其中,终端110可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器120可以用独立的服务器或者多个服务器组成的服务器集群来实现。
图2是根据一示例性实施例示出的一种视频推荐模型的生成方法的流程图,如图2所示,视频推荐模型的生成方法用于图1中的服务器120中,包括以下步骤。
在步骤S210中,从每个用户历史会话中提取多个正反馈视频和多个负反馈视频。
其中,负反馈视频是指用户点击了负反馈按钮的视频,负反馈按钮可以是指屏蔽按钮、不感兴趣按钮、差评按钮等。正反馈视频与负反馈视频是一个相对概念,正反馈视频可以是指用户观看的除负反馈视频外的所有视频;也可以根据用户的行为信息确定正反馈视频,例如用户观看超过一定时长的除负反馈视频外的视频;或者用户点击“喜欢”等按钮的视频。用户在打开应用程序到关闭应用程序这一段时间形成一个会话(session),用户在此期间产生的一切浏览、点击、负反馈行为,都属于该一个会话内的行为。用户在每个session内的所有行为都会被记录下来,包括打开应用程序、点击视频进行观看、点击负反馈按钮、关闭应用程序等。客户端可以定时将用户历史行为信息上报到服务端,由服务器将用户历史行为信息记录到日志中并保存。具体地,当服务器需要对视频推荐模型进行训练时,可以以会话为单位,从每个历史会话中提取出多个正反馈视频和多个负反馈视频。以会话为单位,可以更好的兼顾用户在对某个特定视频产生行为前后进行过的各种其他行为,例如对其他视频进行的浏览、点击行为,从而能够更为准确的理解用户的真实意图,使得模型训练更为准确。进一步地,在本实施中,也可以从预设数量的用户历史会话、预设时间段内日志中的历史行为记录中提取多个正反馈视频和多个负反馈视频,在此不做进一步阐述。
可以理解的是,本实施例中的用户历史会话是从原始历史会话中筛选出的包含有负反馈视频的历史会话。原始历史会话是指服务端记录的所有的历史会话。在每一次打开应用程序时,系统会分配一个session id(会话标识)给客户端。由于日志中的记录通常以单条的形式存在,数据分析的时候可以根据session id进行聚合分析,从原始历史会话中得到包含有负反馈视频的历史会话,并使用该包含负反馈视频的历史会话作为本实施例中的用户历史会话。
在步骤S220中,建立每个用户历史会话对应的多个视频对,每个视频对中包含一个正反馈视频和一个负反馈视频。
具体地,针对每个用户历史会话,根据每个用户历史会话中包含的多个正反馈视频和多个负反馈视频生成对应的多个正负视频对,每个视频对中包含一个正反馈视频和一个负反馈视频。例如,可以通过嵌套循环的方式形成包含一个正反馈视频和一个负反馈视频的视频对,或者通过随机选取正反馈视频和负反馈视频生成视频对,在此不做限定。
在步骤S230中,根据每个视频对中的正反馈视频的特征、负反馈视频的特征以及用户特征,对待训练视频推荐模型进行训练,得到视频推荐模型。
具体地,在对每个用户历史会话生成相应的一组视频对后,可以使用建立的多组视频对对视频推荐模型进行训练,使正反馈视频的特征和用户特征更相近,负反馈视频的特征和用户特征更偏离。例如,通过计算一个视频对中正反馈视频的特征和用户特征之间的第一距离,以及和相同视频对中负反馈视频的特征和用户特征之间的第二距离,并根据该第一距离和第二距离控制损失函数值,从而得到需要的视频推荐模型。
上述视频推荐模型的生成方法,由于在同一个历史会话内用户的所处环境、操作习惯甚至心情状态是较为稳定的。因此,通过利用同一个历史会话中的上下文信息,能够更好地捕捉用户的实际需求,了解用户的真实意图。在这种情况下,对两个正负反馈视频分别进行对比分析,能够更加有效地识别出用户对视频反馈的真实意图,从而能够对候选推荐视频中的负反馈目标视频达到更好的过滤效果,提高了视频推荐的准确性。
图3是根据一示例性实施例示出的一种视频推荐模型的训练过程的流程图。视频推荐模型包括第一神经网络和第二神经网络,在步骤S230中,根据每个视频对中的正反馈视频的特征、负反馈视频的特征以及用户特征,对待训练视频推荐模型进行训练,得到视频推荐模型,包括以下步骤。
在步骤S231中,通过第一神经网络对用户特征进行加权求和.
在步骤S232中,通过第二神经网络对每个视频对中的正反馈视频的特征和负反馈视频的特征进行加权求和。
具体地,如图4所示,示出了一个实施例中模型训练过程中的视频推荐模型的结构示意图。其中,第一神经网络NetU可以用于对用户特征进行降低维度,第二神经网络NetV可以用于对正反馈视频的特征和负反馈视频的特征进行降低维度。通过第一神经网络NetU和第二神经网络NetV得到的第一特征可以是一维特征向量,也可以是多维特征向量,在此不做限定。Vp表示正反馈视频的特征,Vn表示负反馈视频的特征,U表示用户特征。第一神经网络NetU和第二神经网络NetV可以由全连接层组成。具体地,用户特征可以是将性别、年龄、地域等类别特征进行onehot编码,连续值特征直接使用原始值,拼接而成的;正反馈视频和负反馈视频的特征可以是将视频类别、关键词标签等类别特征进行onehot编码,连续值特征直接使用原始值拼接而成的。通过第一神经网络NetU对用户特征进行加权求和,通过第二神经网络NetV对正反馈视频和负反馈视频的特征进行加权求和。
在步骤S233中,计算每个视频对中,加权求和后的正反馈视频的特征与加权求和后的用户特征的第一相似度,以及加权求和后的负反馈视频的特征与加权求和后的用户特征的第二相似度。
在步骤S234中,根据每个视频对对应的第一相似度和第二相似度计算损失函数值,将损失函数值最小的待训练视频推荐模型确定为视频推荐模型。
具体地,第一相似度可以根据计算加权和后的正反馈视频的特征和用户特征之间的余弦相似度确定;同理,第二相似度也可以根据计算加权和后的负反馈视频的特征和用户特征之间余弦相似度确定。
假设第一相似度为sim1,第二相似度为sim2,可以通过以下公式定义损失函数值loss:
loss(U,Vp,Vn)=max(sim2-sim1,0)
进行模型训练的目标是让总体的loss最小,即:
最后,可以将训练过程中损失函数值最小对应的视频推荐模型作为最终使用的视频推荐模型。
可以理解的是,上述对视频推荐模型进行训练的过程可以是在离线情况下进行的,通过设定固定时长为单位(例如,天或者小时),定时根据时间段内产生的包含负反馈视频的用户历史行为信息对模型进行训练,从而可以提高该模型进行视频过滤的准确性。
在一个示例性实施例中,建立每个用户历史会话对应的多个视频对,具体包括:从每个用户历史会话对应的多个正反馈视频中,随机选择预设数量的正反馈视频,与每个用户历史会话对应的各负反馈视频依次建立视频对,得到多个视频对。
具体地,假设某个用户历史会话中包含负反馈视频有k个,对该k个负反馈视频进行随机排序,生成id为n1,n2,…,nk;包含正反馈视频有t个,对该t个正反馈视频进行随机排序,生成(id为p1,p2,…,pt)。可以按照如下规则,采样出k*q(q为需要为每个视频对采样的数量)个正负视频对,设该某个用户历史会话产生的一组视频对为pairs。
Pairs=[]
For i in(1,k):
Forj in(1,q):
即,每进行一次循环,从(p1,p2,…,pt)中随机选择一个,设为pc,For i in(1,k);For j in(1,q)表示将(ni,pc)插入pairs。可以理解的是,如果有s个用户历史会话,则可以得到s个pairs。
本实施例中,通过利用同一个历史会话中的上下文信息,能够更好地捕捉用户的实际需求,了解用户的真实意图。使用同一个历史会话中的两个正负反馈视频建立的视频对进行模型训练,从而能够使训练完成的视频推荐模型能够达到更好的负反馈过滤效果,提高了视频推荐的准确性。
图5是根据一示例性实施例示出的一种视频推荐方法的流程图,如图5所示,视频推荐方法用于图1中的服务器120中,包括以下步骤。
在步骤S510中,获取用户特征,以及多个候选推荐视频的特征。
其中,候选推荐视频可以是指服务器从系统中的海量视频中初步筛选得到的待推荐视频,候选推荐视频中可能还存在具有负反馈可能性的视频,因此,需要将候选推荐视频进一步进行过滤。候选推荐视频可以是视频推荐系统通过召回、排序之后得到的视频。具体地,用户在使用应用程序时,通常需要进行账户注册,在注册时需要输入相关的性别、年龄、地域、职业等基本信息,服务器平台可以根据收集到的用户的基本信息、用户观看视频时使用的手机型号、操作系统以及浏览兴趣偏好等设定用户特征。同理,对于视频特征,可以根据视频作者、视频类别、关键词标签、封面图像特征、视频历史点击率等设定每个视频的特征。
在步骤S520中,将用户特征和多个候选推荐视频的特征输入至是上述第一方面任一项所述的视频推荐模型,输出多个候选推荐视频中的负反馈目标视频。
其中,负反馈目标视频是具有负反馈可能性的视频。具体地,服务器通过预训练的视频推荐模型对多个候选推荐视频中具有负反馈可能性的视频进行过滤。与相关技术中只使用负反馈视频对模型进行训练不同的是,该视频推荐模型是通过根据从用户历史会话中提取出的多个正反馈视频和多个负反馈视频的特征,以及用户特征训练得到。同时使用正反馈视频和负反馈视频对视频推荐模型进行训练可以使正反馈视频的特征和用户特征更相近,让负反馈视频的特征和用户特征更偏离。
在步骤S530中,推荐多个候选推荐视频中的负反馈目标视频以外的其他视频。
具体地,在通过视频推荐模型从多个候选推荐视频中得到负反馈目标视频后,服务器将候选推荐视频中的负反馈目标视频进行过滤,即,将多个候选推荐视频中,负反馈目标视频之外的其他视频推荐给用户。
本实施例中,由于在进行视频推荐前,通过使用用户历史会话中的多个正反馈视频和多个负反馈视频的特征对视频推荐模型进行训练,充分利用用户历史会话中的全局信息,能够更好地捕捉用户的实际需求,了解用户的真实意图,从而能够对候选推荐视频中的负反馈目标视频达到更好的过滤效果,提高了视频推荐的准确性。
图6是根据一示例性实施例示出的一种通过视频推荐模型得到负反馈目标视频的流程图。其中,视频推荐模型包括第一神经网络和第二神经网络;在步骤S520中,将用户特征和多个候选推荐视频的特征输入至视频推荐模型,输出多个候选推荐视频中的负反馈目标视频,包括以下步骤。
在步骤S521中,将用户特征输入视频推荐模型中的第一神经网络,生成第一特征。
具体地,如图7所示,示出了一个实施例中应用过程中的视频推荐模型的结构示意图。其中,U表示用户特征,V表示候选推荐视频特征。该视频推荐模型包括第一神经网络NetU和第二神经网络NetV。第一神经网络NetU和第二神经网络NetV可以由全连接层组成。用户特征可以根据用户的基本信息、用户观看视频时使用的手机型号、操作系统以及浏览兴趣偏好等直接确定,例如,将性别、年龄、地域等类别特征进行onehot编码(独热编码),连续值特征直接使用原始值,拼接成用户特征。
在步骤S422中,将多个候选推荐视频的特征输入视频推荐模型中的第二神经网络,生成多个第二特征。
具体地,候选推荐视频的特征可以根据视频类别、关键词标签等直接确定,例如,将视频类别、关键词标签等类别特征进行onehot编码,连续值特征直接使用原始值,拼接成每个候选推荐视频的特征。
在步骤S223中,根据第一特征和多个第二特征,确定多个候选推荐视频中的负反馈目标视频。
具体地,在通过视频推荐模型确定与用户特征对应的第一特征,以及与每个候选视频对应的第二特征后,可以计算得到的第一特征和每个第二特征之间的距离,通过该距离判断用户特征和候选特征视频的特征之间的相似度。距离可以但不限于通过欧式距离、余弦相似度等方式计算得到。以距离为余弦相似度为例,可以采用以下公式计算得到余弦相似度:
sim=cos(NetU(U),NetV(V)
其中,sim表示用户特征和候选推荐视频特征的相似度,NetU(U)表示第一特征向量,NetV(V)表示第二特征。将相似度小于阈值的候选特征视频确定为是具有负反馈可能性视频。
本实施例中,通过根据生成的用户特征对应的第一特征和候选推荐视频特征对应的第二特征之间的距离确定具有负反馈可能性视频,计算过程简单,从而可以加快视频推荐的效率。
图8是根据一示例性实施例示出的一种视频推荐方法的流程图。如图8所示,包括以下步骤。
在步骤801中,从每个用户历史会话中提取多个正反馈视频和多个负反馈视频。其中,用户历史会话是从原始历史会话中筛选出的包含有负反馈视频的历史会话。原始历史会话可以是一定时间段内产生的所有会话。
在步骤802中,建立每个用户历史会话对应的一组视频对,每个视频对中包含一个正反馈视频和一个负反馈视频。若包含负反馈视频的历史会话有S个,那么可以产生S组视频对。
在步骤803中,定义用户特征和每个视频的特征。
具体地,服务器可以收集到用户的特征,包括用户性别、年龄、地域、手机型号、操作系统、浏览兴趣偏好等,设用户特征为U;视频的特征包括视频作者、视频类别、关键词标签、封面图像特征、视频历史点击率等,设视频特征为V。
在步骤804中,通过第一神经网络对用户特征进行加权求和。
在步骤805中,通过第二神经网络对每个视频对中的正反馈视频的特征和负反馈视频的特征进行加权求和。第一神经网络和第二神经网络可以由全连接层构成。
在步骤806中,计算加权求和后的正反馈视频的特征与加权求和后的用户特征的第一相似度。
在步骤807中,计算加权求和后的负反馈视频的特征与加权求和后的用户特征的第二相似度。其中,第一相似度和第二相似度可以是余弦相似度。
在步骤808中,根据每个视频对对应的第一相似度和第二相似度计算损失函数值,将损失函数值最小的待训练视频推荐模型确定为视频推荐模型。
loss(U,Vp,Vn)=max(sim2-sim1,0)
其中,loss(U,Vp,Vn)代表损失函数值,sim1代表第一相似度,sim2代表第二相似度。
进行模型训练的目标是让总体的loss最小,即:
在步骤809中,获取多个候选推荐视频。多个候选推荐视频可以是视频推荐系统基于召回排序原则确定的。
在步骤810中,将用户特征输入视频推荐模型中的第一神经网络,生成第一特征。
在步骤811中,将多个候选推荐视频的特征输入视频推荐模型中的第二神经网络,生成多个第二特征。
在步骤812中,计算第一特征与各第二特征之间的相似度。相似度可以为余弦相似度。
在步骤813中,将相似度小于阈值的候选推荐视频,确定为多个候选推荐视频中的负反馈可能性视频。
在步骤814中,推荐多个候选推荐视频中的负反馈可能性视频以外的其他视频至客户端。
图9是根据一示例性实施例示出的一种视频推荐模型的生成装置900框图。参照图9,该装置包括视频提取模块901、视频对建立模块902和模型训练模块903。
视频提取模块901,被配置为执行从每个用户历史会话中提取多个正反馈视频和多个负反馈视频;
视频对建立模块902,被配置为执行建立每个用户历史会话对应的多个视频对,每个视频对中包含一个正反馈视频和一个负反馈视频;
模型训练模块903,被配置为执行根据每个视频对中的正反馈视频的特征、负反馈视频的特征以及用户特征,对待训练视频推荐模型进行训练,得到视频推荐模型。
在一个示例性实施例中,视频推荐模型包括第一神经网络和第二神经网络;模型训练模块903包括:
第一特征加权单元,被配置为执行通过第一神经网络对用户特征进行加权求和;
第二特征加权单元,被配置为执行通过第二神经网络对每个视频对中的正反馈视频的特征和负反馈视频的特征进行加权求和;
第一相似度计算单元,被配置为执行计算每个视频对中,加权求和后的正反馈视频的特征与加权求和后的用户特征的第一相似度,以及
第二相似度计算单元,被配置为执行计算加权求和后的负反馈视频的特征与加权求和后的用户特征的第二相似度;
模型确定单元,被配置为执行根据每个视频对对应的第一相似度和第二相似度计算损失函数值,将损失函数值最小的待训练视频推荐模型确定为视频推荐模型。
在一个示例性实施例中,视频对建立模块903,被配置为执行从每个用户历史会话对应的多个正反馈视频中,随机选择预设数量的正反馈视频,与每个用户历史会话对应的各负反馈视频依次建立视频对,得到多个视频对。
在一个示例性实施例中,用户历史会话是从原始历史会话中筛选出的包含有负反馈视频的历史会话。
图10是根据一示例性实施例示出的一种视频推荐装置1000框图。参照图10,该装置包括获取模块1001、负反馈目标视频确定模块1002和视频推荐模块1003。
获取模块1001,被配置为执行获取用户特征,以及多个候选推荐视频的特征;
负反馈目标视频确定模块1002,被配置为执行将用户特征和多个候选推荐视频的特征输入至上述第一方面任一项所述的视频推荐模型,输出多个候选推荐视频中的负反馈目标视频;
视频推荐模块1003,被配置为执行推荐多个候选推荐视频中的负反馈可能性视频以外的其他视频。
在一个示例性实施例中,视频推荐模型包括第一神经网络和第二神经网络;负反馈目标视频确定模块1002,包括:
第一特征生成单元,被配置为执行将用户特征输入第一神经网络,生成第一特征;
第二特征生成单元,被配置为执行将多个候选推荐视频的特征输入第二神经网络,生成多个第二特征;
负反馈目标视频确定单元,被配置为执行根据第一特征和多个第二特征,确定多个候选推荐视频中的负反馈目标视频。
在一个示例性实施例中,负反馈目标视频确定单元,被配置为执行:
计算第一特征与各第二特征之间的相似度;
将相似度小于阈值的候选推荐视频,确定为多个候选推荐视频中的负反馈目标视频。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图11是根据一示例性实施例示出的一种用视频推荐的装置1100的框图。例如,装置1100可以被提供为一服务器。参照图11,装置1100包括处理组件1122,其进一步包括一个或多个处理器,以及由存储器1132所代表的存储器资源,用于存储可由处理组件1122的执行的指令,例如应用程序。存储器1132中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1122被配置为执行指令,以执行上述小程序的版本部署方法。
装置1100还可以包括一个电源组件1126被配置为执行装置1100的电源管理,一个有线或无线网络接口1150被配置为将装置1100连接到网络,和一个输入输出(I/O)接口1158。装置1100可以操作基于存储在存储器1132的操作系统,例如Windows ServerTM、MacOS XTM、UnixTM、LinuxTM、FreeBSDTM或类似。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器,上述指令可由装置1100的处理器执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。