[0035] 为了进一步理解本发明,下面结合具体实施方式对本发明提供的一种基于非局部网络和局部网络的短视频推荐方法进行具体描述,但本发明并不限于此,该领域技术人员在本发明核心指导思想下做出的非本质改进和调整,仍然属于本发明的保护范围。
[0036] 短视频点击率预测任务是建立一个模型去预测用户点击短视频的概率。用户的历史交互短视频序列表示为 其中,xj代表第j个短视频,l是序列的长度。用户的交互行为有很多种,包括“点击”、“喜欢”和“收藏”。不同的交互行为代表不同的喜欢程度。“点击”表示该用户愿意观看该短视频,但情感不强烈;而“喜欢”和“收藏”都属于用户强烈和确切的情感,“喜欢”表示用户喜欢该短视频,愿意再观看同类的视频,“收藏”表示用户不仅当前喜欢该短视频,还希望以后能再看到该视频。被用户“喜欢”和“收藏”的短视频也同时被用户“点击”。因此,短视频点击率预测问题可以表示成:输入用户多行为交互序列以及目标短视频xnew,来预测用户对目标短视频xnew的点击率。
[0037] 为此,本发明提出了一种基于非局部网络和局部网络的短视频推荐方法。它根据用户对短视频的多行为交互序列,预测用户对目标短视频的点击率。这里的多行为包括用户的“点击”、“喜欢”和“收藏”行为。在本方法中,将“喜欢”和“收藏”归纳为同一类型的行为,即“肯定”行为。此时,用户的交互序列具有两种交互行为,一种是“点击”行为,另一种是“肯定”行为。原始的序列推荐方法都是针对一种交互行为的序列。Li等人分别将序列推荐方法应用于“点击”行为序列和“肯定”行为序列,最后实验表明,基于“肯定”行为序列的用户兴趣表征对提升推荐效果的作用很不明显。原因有两个:用户的“肯定”行为序列时间相隔较长,序列性不强;将“肯定”行为序列单独建模,忽视了“肯定”行为对后续“点击”行为的作用。本方法创新性地提出多行为交互序列建模方法,将“点击”和“肯定”这两种行为序列放到一个行为序列中处理,生成用户兴趣向量表征。其中,“点击”行为是有序列性的,而“肯定”行为因为行为事件间隔较大,是无序的。本方法将非局部网络(non‑local network)和局部网络(local network)结合起来,其中,非局部网络采用的是注意力机制(attention mechanism),学习过去一段时间内“肯定”行为对“点击”行为的影响;局部网络采用的是门控循环神经网络(GRU),学习“点击”行为的序列性。本方法同时是一种基于非局部注意力机制的循环神经网络,改进了原始神经网络的结构,使得网络可以同时学习到“肯定”行为对“点击”行为的影响以及“点击”行为对“点击”行为的影响。
[0038] 本方法主要由三个部分组成,如图2所示。第一部分是采用注意力机制方法,得到用户的短视频多行为交互序列中“肯定”行为对每个“点击”行为的影响。第二部分是采用基于非局部注意力机制的循环神经网络生成用户兴趣表征。第三部分是根据用户兴趣表征,预测用户对目标短视频的点击率。
[0039] 如图1所示,按照本发明的一个实施例,本方法包括如下步骤:
[0040] S100,采用注意力机制方法,得到用户的短视频多行为交互序列中“肯定”行为对每个“点击”行为的影响。对于一个用户的交互行为序列 可以表示为X=[x1,…,xl],其中是短视频的封面图特征向量,d是特征向量长度。其中,“肯定”行为序列表示为*且X 是X的子集。“点击”行为序列即是X=[x1,…,xl]。用非局部网络方法
中的注意力机制方法,得到“肯定”行为序列对“点击”行为的影响。通常,序列中最后点击短视频(last‑click)用于代表用户的当前点击兴趣,所以注意力机制是基于最后点击短视频的:
[0041]
[0042]
[0043] 其中, 和 是模型需要训练的参数。xt表示点击序列中的最后一个短视频向量表征,代表当前“点击”序列中“肯定”序列的第i个短视频向量表征。σ为sigmoid函数。 代表当前“点击”序列中“肯定”序列的第i个短视频向量表征 的重要程度。 是以xt为结尾的“点击”行为序列中“肯定”行为对当前点击兴趣的影响。
[0044] S200,采用基于非局部注意力机制的循环神经网络生成用户兴趣表征。原始的门控制循环神经网络(GRU)只能处理单行为序列,结构如下:
[0045] zt=σ(Wxz·xt+Whz·ht‑1)
[0046] rt=σ(Wxr·xt+Whr·ht‑1)
[0047]
[0048]
[0049] 其中,rt是重置门(reset gate),zt为更新门(update gate),这两个门控向量决定了哪些信息能作为门控循环单元的输出。 是当前记忆内容。xt是当前层的节点输入。和 分别是控制更新门zt和重置门rt的参数。
和 是控制前记忆内容 的参数。⊙是元素级别的矩阵相乘,σ是
sigmoid函数。
[0050] 然而门控制循环神经网络不适用多行为序列。为了适用于多行为序列,本方法改进原始的门控制循环神经网络,使得门控制循环神经网络单元(unit)对信息的选择不仅考虑当前序列中短视频和上一个门控制循环神经网络单元的状态,还考虑“肯定”行为的影响,如下:
[0051]
[0052]
[0053]
[0054]
[0055] 其中,zt为更新门(update gate),rt是重置门(reset gate),这两个门控向量决定了哪些信息能作为门控循环单元的输出。 是当前记忆内容。xt是当前层的节点输入, 是“肯定”行为的影响。 和分别是控制更新门zt和重置门rt的参数。 和 是控制前记忆
内容 的参数。⊙是元素级别的矩阵相乘,σ是sigmoid函数。门控制循环神经网络最后一层的隐藏状态ht的输出就是用户兴趣表征v。
[0056] S300,根据用户兴趣表征,预测用户对目标短视频xnew的点击率:
[0057]
[0058] 其中,v是用户兴趣表征,xnew是目标短视频。是用户对目标短视频的点击率预测值。 和 是转移矩阵, 是偏置向量,b2是偏置标量。σ是sigmoid激活函数。
[0059] S400,根据模型特性,设计损失函数。通过用户对目标短视频的点击率预测值 计算预测值 和真实值y之间的误差,进而使用误差来更新模型参数。我们采用交叉熵损失函数来指导模型参数的更新过程:
[0060]
[0061] 其中,y∈{0,1}是真实值,代表用户是否点击了目标短视频。σ是sigmoid函数。我们采用Adam优化器更新模型参数。
[0062] 上述对实施例的描述是为方便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。