基于异质多兴趣建模的短视频推荐方法及装置

文档序号:33324729发布日期:2023-03-03 22:32阅读:56来源:国知局
基于异质多兴趣建模的短视频推荐方法及装置

1.本发明属于推荐系统领域,特别涉及一种基于异质多兴趣建模的短视频推荐方法及装置。


背景技术:

2.近些年来,短视频平台例如抖音、快手、mx takatak等变得越来越流行,短视频的数量爆炸性增长。整体来说,短视频应用每次以全屏模式展示单个视频,并自动地、重复地播放。通常当用户看到了短视频的封面,用户才能确定其是否对该视频感兴趣。随着短视频数量的增加,平台所推荐的短视频如果不符合用户的兴趣,则用户很可能会离开该应用。所以,高效的短视频推荐成为了一个很重要的任务。
3.为了从百万级以上的候选短视频中快速产生个性化的推荐结果,与现有的其他大规模推荐系统一致,短视频推荐通常包括两个阶段,即,召回阶段和排序阶段。本发明主要关注短视频召回阶段,这要求推荐方法可以快速地从百万级或亿级的候选短视频召回几百或几千的短视频。
4.为了实现面向不同用户的高效个性化推荐,需要解决以下挑战。首先,用户具有多个兴趣,并且兴趣的个数也是个性化的。如用户可能对旅行和宠物类的短视频感兴趣。这些兴趣点在用户决定观看哪些短视频上发挥了隐式的、但非常重要的作用。因此,需要从用户交互序列中解离出多个用户兴趣向量,其中,每个兴趣向量代表用户的一个兴趣点;然后,再根据所学到的多个兴趣点生成推荐。然而,现有的大多数短视频推荐方法没有对用户的多兴趣进行解离,一些方法虽然学习了用户的多个兴趣点,但最终在服务时还是将它们聚合成一个兴趣向量。接着,对每个用户兴趣,兴趣的广度和深度都可能会随着时间发生变化。例如,一个喜欢旅行的用户曾经看了很多欧洲风景相关的短视频,但后来兴趣可能变为亚洲的风景。进一步地,虽然平台会鼓励短视频博主发布视频时添加文本标签,但在短视频中,标签缺失和不准确的问题仍然非常严重。另外,到目前为止,不像电子商务场景中商品通常拥有非常完备的分类体系,短视频尚无完备的分类体系。
5.目前,一些利用了包括视觉、听觉和文本特征的多模态信息的短视频推荐方法被提出(y. wei,x.wang,et.al.mmgcn:multi-modal graph convolution network for personalizedrecommendation of micro-video.in proceedings of the 27th acm international conference onmultimedia,1437-1445)。然而,这些方法更适合排序阶段而不是召回阶段。这是因为多模态信息的获取通常需要大量的计算资源,而在召回阶段就处理数以亿计的短视频是非常昂贵的。
6.迄今为止,人们已经进行了一些研究解决短视频推荐问题,然而没有一种方法在建模用户多兴趣的同时保证推荐准确率、多样性和算法运行效率,以便可以应用于短视频召回阶段。


技术实现要素:

7.本发明技术解决的问题:提供了一种建模异质多兴趣的短视频推荐方法及装置,所述方法可以从用户历史交互序列中挖掘出所蕴含的多个用户兴趣,实现多样化、准确的短视频推荐。
8.本发明的技术内容包括:
9.一种基于异质多兴趣建模的短视频推荐方法,所述方法包括:
10.获取用户的历史交互短视频序列;
11.构造一组互相正交的短视频类别嵌入向量;其中,所述一组互相正交的短视频类别嵌入向量中短视频类别嵌入向量的数量为所述短视频类别的数量;
12.结合所述一组互相正交的短视频类别嵌入向量,计算所述历史交互短视频序列中每一短视频在各短视频类别分类分数,以得到每一短视频在各短视频类别上的分类概率;
13.基于所述分类概率,依次加权汇聚每一短视频类别上的短视频嵌入,得到用户在每一短视频类别上的软兴趣表示;
14.将短视频划分至其所属概率最大的类别,然后根据所述短视频所属类别,切分所述历史交互短视频序列,并通过循环神经网络计算子序列的向量表示,得到用户在每一短视频类别上的硬兴趣表示;
15.基于所述软兴趣表示和所述硬兴趣表示,获取所述用户的短视频推荐结果。
16.进一步地,结合所述一组互相正交的短视频类别嵌入向量,计算所述历史交互短视频序列中每一短视频在各短视频类别上的分类分数,以得到每一短视频在各短视频类别上的分类概率,包括:
17.为所述历史交互短视频序列中的每一短视频,随机化一初始向量v
il
;其中,i表示所述用户的序号,l表示所述短视频的序号;
18.基于一组互相正交的短视频类别嵌入向量{g1,g2,

,gk},计算每一短视频在各短视频类别上的分类分数
19.放大上述短视频分类分数其中,1≤s≤k;
20.通过softmax函数转换放大后的短视频分类分数得到每一短视频在各短视频类别上的分类概率。
21.进一步地,将短视频划分至其所属概率最大的类别,然后根据所述短视频所属类别,切分所述历史交互短视频序列,并通过循环神经网络计算子序列的向量表示,得到用户在每一短视频类别上的硬兴趣表示,包括:
22.将短视频划分至其所属概率最大的类别,然后根据所述短视频所属类别,切分所述历史交互短视频序列,得到k个互不相交的子序列;
23.将每一个非空子序列输入gru神经网络,并将所述gru神经网络的最后一个隐向量作为该非空子序列的向量表示;
24.将非空子序列的向量表示作为用户在每一短视频类别上的硬兴趣表示。
25.进一步地,所述基于所述软兴趣表示和所述硬兴趣表示,获取所述用户的短视频推荐结果,包括:
26.计算所述用户在每一短视频类别上的兴趣向量其中,i表示所
述用户的序号,表示所述用户在短视频类别j上的软兴趣表示,表示所述用户在短视频类别j上的硬兴趣表示;
27.通过计算所述兴趣向量与候选短视频嵌入之间的相似度,得到该兴趣向量的短视频推荐结果;
28.综合所述多个兴趣向量的短视频推荐结果,得到所述用户的短视频推荐结果。
29.一种基于异质多兴趣建模的短视频推荐装置,所述装置包括:
30.短视频获取模块,用于获取用户的历史交互短视频序列;
31.嵌入向量构造模块,用于构造一组互相正交的短视频类别嵌入向量{g1,g2,

,gk},并获取用户交互序列中每个短视频的嵌入{v
i1
,v
i2
,

,v
il
};
32.分类概率计算模块,用于结合所述短视频类别嵌入向量{g1,g2,

,gk},计算所述历史交互短视频序列中每一短视频在各短视频类别上的短视频嵌入向量,以得到每一短视频在各短视频类别上的分类概率;
33.软兴趣计算模块,用于基于所述分类概率,依次汇聚每一短视频类别上的短视频嵌入,得到用户在每一短视频类别上的软兴趣表示;
34.硬兴趣计算模块,根据所述短视频的分类结果,切分所述历史交互短视频序列,并通过计算子序列的向量表示,得到用户在每一短视频类别上的硬兴趣表示;
35.短视频推荐模块,用于基于所述软兴趣表示和所述硬兴趣表示,获取所述用户的短视频推荐结果。
36.进一步地,训练所述嵌入向量构造模块时的正交损失函数
37.进一步地,训练所述分类概率计算模块时的均匀损失函数其中,σw表示短视频数量分布w的标准差,μw表示短视频数量分布w的平均值,短视频数量分布w= [w1,

,wj,

,wk],被划分到短视频类别j上的短视频个数的估计值为被划分到短视频类别j上的短视频个数的估计值为表示用户ui的第l个短视频在短视频类别j上的分类概率,表示训练用户集合。
[0038]
进一步地,训练所述硬兴趣计算模块的独特性损失函数进一步地,训练所述硬兴趣计算模块的独特性损失函数
[0039]
进一步地,训练所述装置的损失其中,交叉熵损失表示从用户i的未来交互短视频序列中随机采样得到的短视频的短视频向量,表示所述用户i对短视频类别j的兴趣向量,∈表示温度系数,表示从全量候选短视频集合中随机采样用户从来没有交互过的短视频形成负样本集合,λo表示第一权重系数,λf表示第二权重系数,λq表示第三权重系数。
[0040]
一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述中任一所述方法。
[0041]
与现有技术相比,本发明具有以下优势和特点:
[0042]
(1)面对没有系统规范类别划分的短视频,本发明提出学习短视频的互相正交的隐式类别信息。在此基础上,以用户兴趣和短视频类别之间的对应关系为桥梁,通过设计视频类别的软分配和硬分配策略,本发明可以识别出用户的多个异质软兴趣和硬兴趣。
[0043]
(2)本发明提出了一种两阶段的训练策略。在第一阶段(预训练阶段)识别出用户的软兴趣,提升了兴趣解离的置信度。在第二阶段(微调阶段)识别用户的硬兴趣,实现了用户兴趣的完全解离,并建模了单个兴趣随时间的演变。
[0044]
(3)本发明在不依赖短视频的多模态信息的情况下,实现了有效且高效的短视频推荐,超越了现有多兴趣方法的召回率,保证了推荐结果的多样性。
附图说明
[0045]
图1为本发明方法对应的流程图。
[0046]
图2为本发明的多兴趣对推荐多样性的影响。
具体实施方式
[0047]
为使本发明的目的、技术方案和优点更加清楚,下面结合附图及实施例对本发明作进一步的详细描述。
[0048]
本发明的短视频推荐方法是将用户历史交互短视频序列输入到用户兴趣抽取模块,输出所学习到的用户多个兴趣向量,并根据用户的每个兴趣向量产生一组短视频推荐结果,选取相关性得分最高的k个短视频作为最终的推荐结果。其中,在预训练阶段,输入用户历史交互的短视频序列到软兴趣抽取模块,得到用户的多个软兴趣向量,在微调阶段,输入用户历史交互的短视频序列分别到软兴趣抽取模块和硬兴趣抽取模块,得到用户的多个软兴趣向量和多个硬兴趣向量。
[0049]
本发明的一种基于异质多兴趣建模的短视频推荐方法,如图1所述,包括以下步骤:
[0050]
步骤1:获取用户的历史交互短视频序列。
[0051]
步骤2:构造一组互相正交的短视频类别嵌入向量。
[0052]
该一组互相正交的短视频类别嵌入向量中短视频类别嵌入向量的数量为短视频类别的数量。具体为设置k个参数化、待学习的短视频类别嵌入{g1,g2,

,gk},其中,且 ||g
*
||2=1。为了保持不同短视频类别之间的异质性,减少多个用户兴趣之间的信息重合,短视频类别嵌入之间保持两两正交。所以,构造正交损失如下:
[0053][0054]
短视频类别的嵌入可以被看作是一组单位正交基。这样,对于每个短视频可以计算短视频向量和短视频类别向量的余弦相似度,得到它在该组正交基下的坐标,记
为其中这个坐标向量衡量了短视频vi与每个短视频类别之间的关联。坐标值越大,关联性越强。
[0055]
步骤3:结合所述一组互相正交的短视频类别嵌入向量,计算所述历史交互短视频序列中每一短视频在各短视频类别上的分类分数,以得到每一短视频在各短视频类别上的分类概率。
[0056]
依次计算用户交互过的任意短视频v
il
在每个短视频类别上的坐标值,即其中然后,坐标值通过除以一个小于1的数字∈来放大差别;接着,通过softmax函数将坐标值转换成类别分配的概率。概率计算式子如下:
[0057][0058]
步骤4:基于所述分类概率,依次汇聚每一短视频类别上的短视频嵌入,得到用户在每一短视频类别上的软兴趣表示。
[0059]
本发明依次汇聚划分到每一类别上的短视频的嵌入,形成用户的多个兴趣,如下:
[0060][0061]
为了避免短视频都聚合到某一个类别中,本方法约束划分到每个类别中的短视频个数尽可能相同。用户的历史交互划分到类别j中的短视频个数的估计值为从而,用户在不同类别上的短视频数量分布为w=[w1,

,wk]。然后,约束该分布向量的离散系数越小越好,并且形成如下均匀损失,如下式:
[0062][0063]
在上式中,σw是向量w的标准差,μw是向量w的平均值。
[0064]
在此阶段用户ui的第j个兴趣向量为
[0065]
步骤5:根据所述短视频类别的数量,切分所述历史交互短视频序列,并通过计算子序列的向量表示,得到用户在每一短视频类别上的硬兴趣表示。
[0066]
硬分类将用户ui的每个历史交互短视频v
il
只划分到分类概率最大的类别,也就是,为了进一步提升类别划分的置信度,本发明基于交叉熵建立一个独特性损失如下式,迫使短视频只划分到一个类别中,并远离其他类别。
[0067][0068]
基于短视频的硬类别,用户ui的历史交互序列si将会被切分成k个互不相交的子序列其中每个长度超过δh的子序列会生成一个对应的用户硬兴趣,因此用户硬兴趣的个数是动态的并且个性化的。如果用户具有非常广泛的兴趣,则可能具有多个硬兴趣;如果用户兴趣比较集中,则可能只有一个或两个硬兴趣。进一步地,
为了捕捉到用户每个兴趣的演化,对于每个非空的子序列都采用序列建模方法来学习到对应的硬兴趣向量这里,为了控制方法的复杂性,使用了gru来建模子序列以生成用户硬兴趣。具体来说,将与每个兴趣对应的短视频子序列输入到gru,将最后一个隐向量经过一个全连接层得到用户硬兴趣
[0069]
步骤6:基于所述软兴趣表示和所述硬兴趣表示,获取所述用户的短视频推荐结果。
[0070]
本发明将上述的用户软兴趣和用户硬兴趣融合,得到用户ui的第j个兴趣向量为的第j个兴趣向量为之后,可以根据用户的每个兴趣向量产生一组短视频推荐结果,选取相关性得分最高的k个短视频作为最终的推荐结果。
[0071]
具体来说,先对于用户的一个兴趣向量,依次计算兴趣向量与候选短视频嵌入之间的余弦相似度,按照从大到小排序,取相似度前k的短视频;再将多路推荐结果在召回时的相似度从高到低排序,将相似度最高的k个元素作为最终推荐结果。
[0072]
基于上述的步骤2-6,本发明构造了一种基于异质多兴趣建模的短视频推荐方法,最终的训练损失如下式,其中λo、λf、λq是正则项系数。
[0073][0074][0075]
其中,交叉熵损失是基于从用户ui未来交互序列中随机采样出一个短视频作为正样本(其中fi为用户在未来交互短视频的个数),以及从全量候选短视频集合中随机采样用户从来没有交互过的短视频形成负样本集合构造。
[0076]
该方法为了避免负采样带来的额外开销,一种通用的常规做法是采用批次内softmax。但是这种方法会使负样本的多样性受限。由于召回的目标是排除大量明显不相关的短视频,因此,需要在所有候选短视频池中随机采样以获得更加丰富的负样本短视频。为了平衡采样开销和负样本多样性,本发明为每条训练样本随机采样一个负样本,对于每个批次的训练样本,在批次内共享负样本。设批次大小为b,便有了b个负样本。所以,通过在b+1个样本中计算采样softmax函数的值来预测多分类概率,其中一个是正样本,其他b个均为负样本。
[0077]
实施例中,采用python程序设计语言,能在主流计算机系统平台上运行。本实施例使用的操作系统为ubuntu 16.04,要求cpu为intel core i7,内存要求8g及以上,硬盘空间要求 16g及以上,gpu为nvidia geforce 3090,显存24g。
[0078]
本发明基于pytorch 1.7.0框架实现了本发明内容,以adam优化算法(kingma d p,baj.2014.adam:a method for stochastic optimization[j].arxiv preprint arxiv:1412.6980.)作为梯度下降算法,求解神经网络中的所有要学习的参数。
[0079]
方法中的短视频和兴趣嵌入矩阵都使用torch.nn.embedding类实现,线性变换使
用 torch.nn.linear类实现,激活函数采用torch.nn.relu类,gru循环神经网络使用 torch.nn.gru类实现,交叉熵损失使用torch.nn.crossentropyloss类实现。当执行前向计算时,首先将短视频和兴趣嵌入向量都进行二范数归一化,从而使短视频和兴趣的相关性使用余弦相似度而不是内积。在预训练阶段,方法只需要计算软兴趣,此时方法会计算用户历史交互短视频和各个兴趣嵌入之间的余弦相似度并除以一个小于1的温度系数,然后通过 torch.softmax()函数计算短视频分配到各个兴趣上的概率,接着基于概率对分配到同一兴趣上的短视频进行加权求和得到用户的各个软兴趣。在微调阶段,方法除了要计算软兴趣以外,还要计算用户硬兴趣。在计算硬兴趣时,使用torch.argmax()获得每个短视频所属概率最大的兴趣编号并统计归属各个兴趣的短视频的个数,然后利用索引和torch.split()函数获取与各兴趣相关的短视频子序列,接着通过pad_sequence()函数和pack_padded_sequence()函数对序列进行补齐,并输入到gru层中获取对应的用户硬兴趣。用户对候选短视频的预测分数计算为用户嵌入和短视频嵌入的内积。将正负样本的预测得分输入到交叉熵损失中得到推荐任务的主损失,主损失与正交损失、均匀损失和独特性损失之和是最终的训练损失。
[0080]
实施例中所采用的配置参数如表1所示。
[0081]
表1配置参数设置
[0082]
名称值描述λo10正交损失的系数λf1均匀损失的系数λq1独特性损失的系数∈0.1温度系数
[0083]
主要的待学习的参数如表2所示。
[0084]
表2主要待学习参数配置
[0085]
名称参数各维度短视频嵌入矩阵157691,64兴趣嵌入矩阵8,64gru参数矩阵64,64全连接层64,64
[0086]
本发明实施例中的数据来源于印度最大的短视频平台之一——mx-takatak。收集了mx-takatak平台上从2021年9月18日到2021年9月28日之间的交互日志,随机采样 50000用户的交互数据用于构造数据集,其中包括短视频157691条,交互33863980条,交互矩阵密度为0.45%。将满足如下条件的交互行为视作一次正向交互:交互行为为一次满意类交互(如点赞、收藏)、重复播放次数》1.8次,或播放时长》15秒。
[0087]
为了防止训练和评估阶段的数据穿透问题,本实施例严格按照时间顺序构造训练集、验证集和测试集。具体来说,利用最后一天的数据构造测试集,利用倒数第二天的数据构造验证集,然后利用其它数据构造训练集。
[0088]
为了评估方法的性能,本实施例利用召回率@k(recall@k)和命中率@k(hitrate@k) 两个指标来评估推荐结果。k的值被设置为50,100和200。
[0089]
本实施例使用均匀分布初始化方法中的所有参数,使用adam优化器优化参数。学习率从[0.1,0.01,0.001,0.0001]中搜索,最终被设置为0.001,λq,λo,λf在 [0.5,1,5,10,20]中搜索,最终被设置为λq=1,λo=10,λf=1,温度系数τ被设置为0.1。本实施例在[1,2,4,8,16]中搜索兴趣个数,并选择在验证集的召回率@200指标上表现最佳的数目,最终确定兴趣数目为8。本实施例设置所有实验的嵌入维度都为64,批次大小为 1024。当指标召回率@200在验证集上连续5轮不再提升的时候停止训练,并在测试集上测试。
[0090]
本实施例在测试集上的最终性能为:召回率@50达到14.24%,召回率@100达到13.73%,召回率@200达到20.21%,命中率@50达到57.44%,命中率@100达到67.36%,命中率 @200达到75.98%,超过了现有的其他多兴趣方法,这表明本发明方法的推荐结果具有较高的准确率。
[0091]
短视频之间被同一用户交互的sppmi值(levy o,goldberg y.neural word embedding asimplicit matrix factorization[j].2014:2177-2185.)可以衡量短视频之间的相似性,本实施例使用设置兴趣数目为1和兴趣数目为4时所推荐短视频之间的sppmi值来衡量推荐结果的多样性,评估结果如图2所示。可以看出在多兴趣方法的推荐结果中,被同一个兴趣向量所召回的短视频之间的sppmi值比较高,而被不同兴趣向量所召回的短视频之间的sppmi值比较低。同时可以看出单兴趣方法的推荐短视频之间的sppmi值普遍比较高,说明所推荐的短视频相似性比较高,推荐结果较为单一。这说明多兴趣方法可以提升推荐结果的多样性。
[0092]
提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1