本发明涉及网络视频和推荐系统技术领域,具体涉及一种基于多模态视频内容和多任务学习的视频推荐方法。
背景技术:
随着智能移动端的快速普及和多媒体技术的发展,视频逐渐成为信息传播的载体,近年来短视频迅速兴起,视频已经成为人们娱乐的一种主要方式,用户的兴趣也表现的更广。短视频数量的暴增,带来了严重的信息过载问题,如何能从海量的数据中找到用户感兴趣的视频成为一个热门的话题和研究对象。一个好的推荐系统不仅能够帮助消费者更快更便捷的发现感兴趣甚至潜在感兴趣的视频,还能帮助内容提供商提升利润和用户粘性,因此近十年来,推荐系统成了各大视频平台衡量的一个重要标准。
目前短视频推荐技术面临两个重要的挑战:(1)目前大多数推荐算法都是基于用户的喜好、用户行为来进行推荐,忽视了物品的内容,也存在严重的冷启动问题,从而导致大多数视频被忽视,即使是传统的基于内容的推荐方法也并没达到很好的效果,因为它们依赖于元数据而不是原始视频内容。然而,微视频的元数据是由用户上传的,这对于视频来说可能是不准确的,如何有效的利用视频的多模态信息成为视频推荐的一个重要挑战。(2)单任务的推荐模型无法满足目前对多任务的需求,视频推荐中不仅要预测用户是否观看,还需预测用户对视频的评分、是否点赞、是否转发等行为。有效的多任务模型不仅可以减少模型训练成本,还能改进所有任务的模型预测。
技术实现要素:
本发明的目的是为了解决现有技术中的上述缺陷,提供一种基于多模态视频内容和多任务学习的视频推荐方法,通过融合多模态视频内容实现更加具有个性化的推荐。本发明注重视频本身的内容,多模态内容使得用户和短视频之间的信息关系变得更加复杂,同时短视频的多模态信息也为整个的推荐系统提供了更为丰富的信息,能够有效的避免冷启动问题。
本发明的目的可以通过采取如下技术方案达到:
一种基于多模态视频内容和多任务学习的视频推荐方法,该视频推荐方法包括以下步骤:
s1、采用深度学习技术对视频内容进行分析,通过inception-v3模型、3维卷积神经网络分别提取视频静态特征、动态特征构成视觉特征,通过vggish模型提取音频特征;通过统计视频标题中每个词在该视频文本词库中出现的频率获得视频文本特征;
s2、采用注意力机制学习视频各模态特征(包括视觉特征、音频特征、视频文本特征)的权重,最后将各模态特征进行加权和获得视频特征表示;
s3、将用户和视频作为节点构成用户-视频社交网络,通过深度游走方法学习网络中顶点(即用户)的向量表示,并作为用户社会关系的特征表示;
s4、在多领域中,基于注意力机制学习有效的特征组合,并与原始特征进行拼接融合作为深度神经网络的输入,学习多域特征表示;
s5、基于上述步骤生成的特征嵌入作为多任务学习中各任务之间共享的部分,同时保留各任务特定的输出层生成预测结果。
进一步地,所述的步骤s1包括:
s11、对视频抽帧,利用经过预训练的经典图像处理模型inception-v3模型提取每一帧视频的静态特征,最后通过平均池化层融合每一帧的信息作为视频的静态特征;利用3维卷积神经网络提取视频的动态特征;
s12、提取音频信息,利用经过预训练的vggish模型提取视频的音频特征;
s13、提取视频标题信息,统计每个词在该视频文本词库中出现的频率作为视频文本特征;
s14、采用pca(principalcomponentanalysis,主成分分析)方法对视频静态特征、视频动态特征、音频特征进行降维,同时视频静态特征与视频动态特征两者拼接成视觉特征。
进一步地,所述的步骤s2中,通过注意力机制学习用户和视频各模态之间的依赖关系,给各模态分配相应的权重,对各模态特征进行加权求和得到该视频最终的特征表示,具体过程如下:
s21、融合用户特征,通过注意力机制学习用户与视频各模态之间的依赖关系,即学习用户分配视觉特征、音频特征、视频文本特征的权重,由以下公式计算:
其中m∈{v,a,t}分别表示视觉模态、听觉模态和文本模态,
s22、视频各模态特征进行加权和获得该视频最终的特征表示。
进一步地,所述的步骤s3中,利用深度游走方法学习各用户社会的潜在特征表示,具体有:将用户和视频作为节点构成用户-视频网络,用户节点与视频节点之间的连线表示该用户观看过该视频,在用户-视频网络中随机游走生成的节点序列比作一个句子(单词序列),通过自然语言处理中经典的word2vec模型学习每个单词的特征表示,即该节点(用户)的社会关系特征表示。
进一步地,所述的步骤s4中,提出一种基于注意力机制的深度神经网络模型,嵌入原始多域特征和基于注意力的交互特征作为深度神经网络的输入,丰富神经网络高阶特征的学习,具体过程如下:
s41、多域特征中的离散数据进行独热编码后经过嵌入矩阵降维,所有连续特征拼接后,通过一层全连接转换成同等维度的向量;
s42、采用注意力机制学习有效的特征组合,通过注意力机制学习不同特征之间交互的权重,权重计算公式如下:
einter=[a0,0e0e0,a0,1e0e1,…ai,jeiej],
其中ei为第i个特征,eiej为特征元素级别相乘,相乘后维度不变,
s43、原始特征及其基于注意力的交叉特征进行拼接融合后作为输入,通过多层感知机输出的结果作为多域特征最终的表示。
进一步地,所述的步骤s5中,将步骤s2中学习的多模态视频特征、步骤s3中学习的社交特征、步骤s4中学习的多域特征拼接后作为多任务学习中各任务共享的部分,再分别通过各任务对应的多层感知机训练不共享的参数,最后经过sigmoid函数输出该任务预测结果。
本发明相对于现有技术具有如下的优点及效果:
本发明方法利用注意力机制结合用户特征对视频多模态特征进行融合,使得整个推荐更加丰富和具有个性化;同时,针对多域特征,考虑到交互特征在推荐学习中的重要性,本发明提出了一种基于注意力机制的深度神经网络模型丰富了高阶特征的学习,为用户提供更加精准的个性化视频推荐;在多任务学习中,多任务共享上述学习到的特征表示,各任务共同学习,减少整体的参数规模,从而更好的适应工业和生活领域中对多任务推荐的需求
附图说明
图1是本发明公开的基于多模态视频内容和多任务学习的视频推荐方法的流程图;
图2是本发明中视频多模态特征提取以及引入注意力机制融合特征的结构示意图;
图3是本发明中用户和视频之间的图结构示意图;
图4是本发明中基于注意力机制的深度神经网络预估模型示意图;
图5是本发明中多任务学习的视频推荐结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
图1给出本发明公开的基于多模态视频内容和多任务学习的视频推荐方法流程图,具体包括以下步骤:
t1、视频多模态特征提取:
a、视频帧的抽取,通过opencv视频读取类cv2.videocapture截取视频帧图片,保存在该路径文件夹下,帧数从0开始,考虑短视频短而精的特性,截取视频的每一帧图片,不采用跳帧截取。
b、视频静态特征提取,将视频的每一帧图片的尺寸调为[299,299]后分别输入经过预训练的inception-v3网络,如附图1所示,将输入映射成2048维的特征向量,作为该视频帧的静态原始特征向量,为保留视频各帧的信息,各视频帧经过平均池化层提取该视频的静态特征表示。
c、视频动态特征提取,3d-cnn(3维卷积神经网络)非常适合时空特征学习,每个视频随机抽取连续的16帧组成输入样本,通过五组卷积层和池化层,卷积核大小都为3×3×3,池化核大小都为2×2×2,通过两层全连接输出4096维特征,最后经过一层全连接输出487维动态视频特征。
d、音频特征提取:将音频信息从视频中抽离,经过预训练的vggish网络模型提取出128维特征向量,经过平均池化层融合每一帧的音频信息输出该视频的音频特征。
e、文本特征提取:提取该视频的文本信息,通过常用的中文分词工具jieba进行分词并赋予每个词汇独立的编号,统计每个词在该视频文本词库中出现的频率,最后对特征标准化处理。
其中id为该词汇设置的编号,nij为第j个视频文本中第i个词出现的次数,分母为该视频文本中所有词汇出现的次数总和。
f、将提取后的视频静动态特征和视频动态特征经pca降维为32维特征,两者进行拼接后构成视觉特征;将提取后的音频特征经pca降维为64维特征。
t2、视频多模态特征融合:
本发明将注意力机制融合用户特征来学习用户与各模态之间的依赖关系,分配各模态不同的权重。整个多模态特征提取以及融合结构如附图2所示,提取的视觉特征、音频特征、文本特征通过注意力机制进行特征融合,特征融合过程如下:
a、学习用户分配视觉特征、音频特征、视频文本特征的权重,am表示用户对每个模态下偏好(即权重)的学习,计算流程如下:
其中ev表示视频特征,eu是用户特征,m∈{v,a,t}代表视觉模态、听觉模态和文本模态,
b、该视频的特征表示为各个模态特征的加权和:
实验证明融合视频多模态特征会比只采用用户特征、上下文特征等的效果更好,而在此基础上通过注意力机制分配不同模态特征权重,使得整个推荐模型更加具有个性化。
t3、社交特征学习:
通过deepwalk(深度游走方法)学习图中各用户和各视频的社会关系的潜在表示,例如附图3所示,将用户和视频作为节点构成用户-视频网络,节点之间的线表示用户观看过视频,借助网络中随机游走的分布规律和nlp自然语言处理中句子序列在语料库中出现的规律有着类似的幂律分布特征,将nlp自然语言处理中词向量模型word2vec用在网络表示中。
在用户-视频网络中以ui为根节点随机游走生成节点序列,每一个序列为一个句子(sentence),如下所示:
其中ui表示第i个用户,vi表示第i个视频。
采用经典自然语言处理中word2vec模型学习用户的社交特征表示为:es=word2vec([sentence1,sentence2…,sentencem],size=64)。
t4、多域特征学习:
多域特征包括用户侧信息如用户id、用户性别、用户年纪等;物品侧信息如用户观看的视频id、视频作者id、是否点击等基本特征,为充分利用用户侧和物品侧信息,本发明提出了一种基于注意力的深度神经网络预估模型,模型如图4所示,具体步骤包括:
a、特征嵌入:特征分为两类,一类是将类别、id类特征用独热编码生成的稀疏特征,一类是数值型的连续特征。各稀疏特征esparse,i通过embedding嵌入方法转换为维度为n的特征向量ei;各连续特征edense,i被拼接后,通过一层全连接转换成同等维度的向量edense。特征嵌入计算过程如下所示:
ei=wiesparse,i,
edense=fc([edense,0,edense,1,…]),
其中参数wi为嵌入矩阵,fc(·)代表全连接函数,各特征嵌入后拼接成原始特征eorigin。
b、初始特征提取:除了嵌入原始特征表示eorigin之外,特征交互信息对于点击预测也是非常重要的,因此采用注意力机制为深度神经网络底层提供有效的特征交互表示,具体计算过程如下:
einter=[a0,0e0e0,a0,1e0e1,…ai,jeiej],
其中ei为第i个特征,eiej为特征元素级别相乘,相乘后维度不变,
c、全连接神经网络:原始特征及其交叉特征作为全连接神经网络的输入层,并通过多层感知机输出的结果表示为多域特征。
t5、多任务排序学习:
图5所示,为多任务学习的视频推荐结构示意图,基于以上步骤t1中生成的视频特征ev、步骤t2中生成的社交特征es和步骤t3中生成的多域特征ef,作为多任务模型的共享层,共享不同任务已学到的特征表示,各任务再分别通过多层感知机训练各任务间不共享的参数,计算流程如下所示:
预测概率的计算公式如下:
其中einput为多任务模型中共享的特征输入,σ为sigmoid函数,函数定义为
计算损失函数如下所示:
模型训练通过反向传播,使用adam优化算法调整整个网络参数,每一次正向传播和反向传播定义为一个epoch,迭代直到输出的预测结果不再发生明显的变化或者达到规定的迭代次数。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。