视频推荐方法、装置、设备及存储介质与流程

文档序号:33359511发布日期:2023-03-07 20:18阅读:25来源:国知局
视频推荐方法、装置、设备及存储介质与流程

1.本技术实施例涉及通信技术领域,尤其涉及一种视频推荐方法、装置、设备及存储介质。


背景技术:

2.随着网络技术的发展,越来越多的用户通过视频平台(如视频网站或视频类应用程序)观看视频。由于视频平台提供的视频种类和数量非常多,且各个视频平台不断有新的视频和新用户加入,因此从海量的视频中准确地向用户推荐用户偏好的视频尤为重要。
3.目前,视频平台一般采用基于协同过滤算法的视频推荐方法,该方法是根据已有用户群对已有视频的历史交互行为信息预测当前用户偏好的视频,但是,新用户和新视频分别只有注册和上传时的初始特征,缺乏交互行为信息,因此,该方法在冷启动(即新用户或新视频加入)时为用户推荐的视频并不准确。


技术实现要素:

4.本技术提供一种视频推荐方法、装置、设备及存储介质,以提高冷启动时推荐视频的准确性。
5.第一方面,本技术提供一种视频推荐方法,包括:
6.接收到视频获取请求后,获取候选视频列表;
7.获取用户与所述候选视频列表中每个候选视频的交互概率,所述交互概率根据所述用户的重建嵌入向量和所述候选视频的重建嵌入向量确定,所述用户的重建嵌入向量根据所述用户的嵌入向量、所述用户的特征向量和预先训练的向量重建模型确定,所述候选视频的重建嵌入向量根据所述候选视频的嵌入向量、所述候选视频的特征向量和所述向量重建模型确定,在训练所述向量重建模型时模拟冷启动时样本数据的输入;
8.根据所述用户与所述候选视频列表中每个候选视频的交互概率,从所述候选视频列表中确定出推荐给所述用户的目标视频。
9.第二方面,本技术提供一种视频推荐装置,包括:
10.第一获取模块,用于在接收到视频获取请求后,获取候选视频列表;
11.第二获取模块,用于获取用户与所述候选视频列表中每个候选视频的交互概率,所述交互概率根据所述用户的重建嵌入向量和所述候选视频的重建嵌入向量确定,所述用户的重建嵌入向量根据所述用户的嵌入向量、所述用户的特征向量和预先训练的向量重建模型确定,所述候选视频的重建嵌入向量根据所述候选视频的嵌入向量、所述候选视频的特征向量和所述向量重建模型确定,在训练所述向量重建模型时模拟冷启动时样本数据的输入;
12.确定模块,用于根据所述用户与所述候选视频列表中每个候选视频的交互概率,从所述候选视频列表中确定出推荐给所述用户的目标视频。
13.第三方面,本技术提供一种终端设备,包括:处理器和存储器,该存储器用于存储
计算机程序,该处理器用于调用并运行该存储器中存储的计算机程序,以执行第一方面的方法。
14.第四方面,本技术提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序使得计算机执行第一方面的方法。
15.第五方面,本技术提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现第一方面的方法。
16.综上,在本技术中,接收到视频获取请求后,获取候选视频列表,通过在预先训练向量重建模型时模拟冷启动时样本数据的输入,对于用户或视频,将嵌入向量和特征向量映射到同一向量得到重建嵌入向量,因此,对于新用户或新视频,在嵌入向量缺失时可通过特征向量重建嵌入向量,进而可根据用户的重建嵌入向量和每个候选视频的重建嵌入向量确定用户与每个候选视频的交互概率,并根据用户与候选视频列表中每个候选视频的交互概率,从候选视频列表中确定出推荐给用户的目标视频。从而可以在冷启动时准确地为用户推荐视频,提高冷启动时的视频推荐效果。
17.进一步地,在本技术中,在非冷启动时也可以准确地为用户推荐视频,而且,由于用户的重建嵌入向量可以唯一地表征用户与视频的交互行为信息和用户特征信息,视频的重建嵌入向量可以唯一地表征视频与用户的交互行为信息和视频的特征信息,因此可以节省存储空间,提高推荐的效率。
附图说明
18.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
19.图1为本技术实施例提供的视频推荐方法的一种应用场景示意图;
20.图2为本技术实施例提供的一种视频推荐方法的流程图;
21.图3为本技术实施例提供的一种视频推荐方法中向量重建模型的训练过程的流程图;
22.图4为本技术实施例提供的一种视频推荐方法的流程图;
23.图5为本技术实施例提供的一种视频推荐装置的结构示意图;
24.图6为本技术实施例提供的一种终端设备的结构示意图。
具体实施方式
25.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
26.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或
描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
27.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
28.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
29.自然语言处理(nature language processing,nlp)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
30.机器学习(machine learning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。
31.深度学习是机器学习的核心部分,其通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
32.随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
33.本技术实施例提供的方案涉及人工智能的自然语言处理和深度学习等技术,具体通过如下实施例进行说明。
34.在介绍本技术技术方案之前,下面先对本技术相关知识进行介绍:
35.1、嵌入向量,从用户与视频的交互网络中提取的用于表示单个用户或单个视频的向量,即以向量的形式来描述用户或视频在用户与视频的交互网络中的关系,本技术实施例中涉及用户的嵌入向量和视频的嵌入向量,用户的嵌入向量可以表征用户与视频的交互行为信息,视频的嵌入向量可以表征视频与用户的交互行为信息。
36.2、用户的特征向量,用于表示用户的特征信息的向量,用户的特征信息可以包括性别、年龄、地区和所使用的设备的型号等。用户与特征向量的数量关系是一对多的关系,即一个用户可以由多个特征向量{a
ui
,i=1,2,...,nu}共同描述,其中u为用户编号,i表示
用户u的第i个特征信息,nu为用户特征信息的总个数。
37.3、视频的特征向量,用于表示视频的特征信息的向量,视频的特征信息可以包括长度、标签和多媒体特征等,其中的多媒体标签例如包括背景音乐、剪辑模板以及视频中的对象(如为人或物体)。视频与特征向量的数量关系是一对多的关系,即一个视频可以由多个特征向量{a
vi
,i=1,2,...,nv}共同描述,其中v为视频编号,i表示视频的第i个特征信息,nv为视频的特征信息的总个数。
38.4、用户的重建嵌入向量,是指在用户的嵌入向量缺失时(新用户没有嵌入向量)通过对用户的特征向量中的信息重建嵌入向量得到的向量。
39.5、视频的重建嵌入向量,是指在视频的嵌入向量缺失时(新视频没有嵌入向量)通过对视频的特征向量中的信息重建嵌入向量得到的向量。
40.相关技术中,由于新用户和新视频分别只有注册和上传时的初始特征,缺乏交互行为信息,在冷启动(即新用户或新视频加入)时为用户推荐的视频并不准确。为了解决上述技术问题,由于新用户或新视频没有交互行为信息,就无法得到嵌入向量,本技术中通过在预先训练向量重建模型时模拟冷启动时样本数据的输入,对于用户或视频,将嵌入向量和特征向量映射到同一向量得到重建嵌入向量,因此,对于新用户或新视频,在嵌入向量缺失时可通过特征向量重建嵌入向量,进而可根据用户的重建嵌入向量和每个候选视频的重建嵌入向量确定用户与每个候选视频的交互概率,并根据用户与候选视频列表中每个候选视频的交互概率,从候选视频列表中确定出推荐给用户的目标视频。从而可以在冷启动时准确地为用户推荐视频,提高冷启动时的视频推荐效果。
41.本实施例的方法在非冷启动时也可以准确地为用户推荐视频,而且,由于用户的重建嵌入向量可以唯一地表征用户与视频的交互行为信息和用户特征信息,视频的重建嵌入向量可以唯一地表征视频与用户的交互行为信息和视频的特征信息,因此可以节省存储空间,提高推荐的效率。下面结合附图对本技术提供的技术方案进行详细说明。
42.接下来,对本技术实施例涉及的应用场景进行示例说明。
43.本技术实施例提供的视频推荐方法至少可以应用于下述应用场景中,下面结合附图进行说明。
44.示例性的,图1为本技术实施例提供的视频推荐方法的一种应用场景示意图,如图1所示,本实施例中的应用场景涉及终端设备1和服务器2,其中,本实施例中的终端设备1可以为手机、平板、笔记本电脑等便携式设备,也可以是个人计算机。服务器2可以为任何能够提供互联网服务的设备,终端设备1和服务器2可以通过网络进行通信连接。终端设备1安装和运行有具有视频播放功能的应用程序,用户可通过终端设备1运行的具有视频播放功能的应用程序向服务器2发送视频获取请求,服务器2接收到该视频获取请求后,执行本技术实施例提供的视频推荐方法,得到目标视频推荐给用户,用户可以通过终端设备1运行的上述应用程序播放目标视频,目标视频为用户感兴趣的或偏好的视频。
45.示例性地,本技术实施例提供的视频推荐方法可应用于具有视频播放功能的应用程序有较多新增用户和新增视频的场景。
46.下面以具体的实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
47.图2为本技术实施例提供的一种视频推荐方法的流程图,该视频推荐方法可以由视频推荐装置执行,该视频推荐装置可以通过软件和/或硬件的方式实现。该视频推荐装置可以是服务器。如图2所示,本实施例的方法可以包括:
48.s101、接收到视频获取请求后,获取候选视频列表。
49.具体地,在一种可实施的方式中,终端设备在响应于用户触发的获取推荐视频的操作后,向服务器发送视频获取请求,该视频获取请求可以携带用户的标识。其中,用户触发获取推荐视频的操作,可以是用户打开终端设备安装的具有视频播放功能的应用程序,即触发获取推荐视频,还可以是用户正在通过具有视频播放功能的应用程序观看视频时,点击当前界面上的提示按钮,或者滑动当前界面,即可触发获取推荐视频。
50.可选的,获取候选视频列表可以是从内存中获取,候选视频列表可以包括候选视频的标识(如id或编号),候选视频可以是具有视频播放功能的应用程序中当前时间之前的所有视频,由于视频也有时效性,候选视频还可以是当前时间之前预设时间段内的所有视频,预设时间段例如为一个月、3个月、半年或一年等等。
51.s102、获取用户与候选视频列表中每个候选视频的交互概率,交互概率根据用户的重建嵌入向量和候选视频的重建嵌入向量确定,用户的重建嵌入向量根据用户的嵌入向量、用户的特征向量和预先训练的向量重建模型确定,候选视频的重建嵌入向量根据候选视频的嵌入向量、候选视频的特征向量和向量重建模型确定,在训练向量重建模型时模拟冷启动时样本数据的输入。
52.具体来说,用户与一个候选视频的交互概率根据用户的重建嵌入向量和候选视频的重建嵌入向量确定,可选的,用户与一个候选视频的交互概率可以是用户的重建嵌入向量和候选视频的重建嵌入向量的余弦距离、内积或欧氏距离,交互概率与余弦距离和内积成正比,交互概率与欧氏距离成反比。以交互概率为余弦距离为例,用户的重建嵌入向量eu'和候选视频的重建嵌入向量ev'的余弦距离余弦距离越大,表示交互概率越大,余弦距离越小,表示交互概率越小。
53.s103、根据用户与候选视频列表中每个候选视频的交互概率,从候选视频列表中确定出推荐给用户的目标视频。
54.本实施例中,其中,用户的重建嵌入向量根据用户的嵌入向量、用户的特征向量和预先训练的向量重建模型确定,候选视频的重建嵌入向量根据候选视频的嵌入向量、候选视频的特征向量和向量重建模型确定,本实施例中,通过在训练向量重建模型时模拟冷启动时样本数据的输入,冷启动即新用户或新视频加入,对于新用户而言,新用户的嵌入向量为0向量,可以根据新用户的特征向量和预先训练的向量重建模型确定新用户的重建嵌入向量,对于新视频而言,新视频的嵌入向量为0向量,可以根据新视频的特征向量和预先训练的向量重建模型确定新视频的重建嵌入向量。对于历史用户或历史视频,历史用户或历史视频有交互行为信息,可以确定出历史用户的嵌入向量和历史视频的嵌入向量,可通过向量重建模型分别确定出历史用户的重建嵌入向量和历史视频的重建嵌入向量。进而可根据用户的重建嵌入向量和候选视频的重建嵌入向量确定候选视频的交互概率,有了用户与候选视频列表中每个候选视频的交互概率,就可以从候选视频列表中确定出推荐给用户的目标视频。本实施例中,将用户的嵌入向量和用户的特征向量通过向量重建模型映射到同
一向量中作为用户的重建嵌入向量,将每个候选视频的嵌入向量和每个候选视频的特征向量通过向量重建模型映射到同一向量中作为每个候选视频的重建嵌入向量,在存储用户的重建嵌入向量个候选视频的重建嵌入向量时,可以节省存储空间,提高推荐的效率。
55.本实施例中,作为一种可实施的方式,s102中获取用户与候选视频列表中每个候选视频的交互概率,可以包括:
56.s1021、获取用户的重建嵌入向量。
57.其中,可选的,获取用户的重建嵌入向量,具体可以为:
58.若用户是新用户,则将0向量确定为用户的嵌入向量,并根据用户的特征信息确定用户的特征向量,将0向量与用户的特征向量拼接后输入向量重建模型中,输出用户的重建嵌入向量;
59.若用户是历史用户,根据用户与历史视频的交互网络获取用户的嵌入向量,将用户的嵌入向量与用户的特征向量拼接后输入向量重建模型中,输出用户的重建嵌入向量。
60.其中,用户的嵌入向量为一矩阵,用户的特征向量为一矩阵,两个向量的拼接即为两个矩阵的拼接。
61.s1022、获取每个候选视频的重建嵌入向量。
62.其中,可选的,获取每个候选视频的重建嵌入向量,具体可以为:
63.若候选视频是新视频,则将0向量确定为候选视频的嵌入向量,并根据候选视频的特征信息确定候选视频的特征向量,将0向量与候选视频的特征向量拼接后输入向量重建模型中,输出候选视频的重建嵌入向量;
64.若候选视频是历史视频,根据历史用户与候选视频的交互网络获取候选视频的嵌入向量,将候选视频的嵌入向量与候选视频的特征向量拼接后输入向量重建模型中,输出候选视频的重建嵌入向量。
65.s1023、根据用户的重建嵌入向量和每个候选视频的重建嵌入向量,确定用户与每个候选视频的交互概率。
66.可选的,s1023中根据用户的重建嵌入向量和每个候选视频的重建嵌入向量,确定用户与每个候选视频的交互概率,具体可以为:
67.计算用户的重建嵌入向量和每个候选视频的重建嵌入向量的余弦距离、内积或欧氏距离,将用户的重建嵌入向量和每个候选视频的重建嵌入向量的余弦距离、内积或欧氏距离确定为每个候选视频的交互概率。
68.在本实施例中,作为一种可实施的方式,向量重建模型为对多个样本数据训练得到,每个样本数据包括样本用户的嵌入向量、样本用户的特征向量、样本视频的嵌入向量和样本视频的特征向量。其中的样本用户均是与所有样本视频有交互行为信息的用户,样本视频也是均是与所有样本用户有交互行为的视频。
69.在进行向量重建模型的训练时,向量重建模型的输入为样本用户的嵌入向量、样本用户的特征向量、样本视频的嵌入向量和样本视频的特征向量,向量重建模型的输出为样本用户的重建嵌入向量和样本视频的重建嵌入向量。
70.在训练向量重建模型时模拟冷启动时样本数据的输入,以使得目标函数的值最小,向量重建模型为目标函数的值最小时对应的向量重建模型,目标函数表征样本用户与样本视频的第一交互概率和样本用户与样本视频的第二交互概率的差值,第一交互概率根
据样本用户的嵌入向量与样本视频的嵌入向量确定,第二交互概率根据样本用户的重建嵌入向量与样本视频的重建嵌入向量确定。
71.其中,冷启动时,新用户的嵌入向量为0向量,新视频的嵌入向量也为 0向量,在训练向量重建模型时模拟冷启动时样本数据的输入,即随机设置某些样本用户的嵌入向量为0向量进行多次训练,随机设置某些样本视频的嵌入向量为0向量进行多次训练。
72.可选的,本实施例中,在训练向量重建模型时模拟冷启动时样本数据的输入,可以为:在训练向量重建模型时模拟用户冷启动时样本数据的输入和视频冷启动时样本数据的输入。例如,可以是基于深度学习中的dropout策略模拟冷启动时样本数据的输入。
73.其中,在训练向量重建模型时模拟用户冷启动时样本数据的输入的过程可以包括:根据样本数据进行向量重建模型的多次训练,在每次训练向量重建模型时,从样本用户中随机选择至少一个第一样本用户,将每个第一样本用户的嵌入向量设置为0向量并与每个第一样本用户的特征向量拼接后输入向量重建模型。
74.在训练向量重建模型时模拟视频冷启动时样本数据的输入的过程可以包括:根据样本数据进行向量重建模型的多次训练,在每次训练向量重建模型时,从样本视频中随机选择至少一个第一样本视频,将每个第一样本视频的嵌入向量设置为0向量并与每个第一样本视频的特征向量拼接后输入向量重建模型。
75.作为一种可实施的方式,向量重建模型包括用户侧多层感知机和视频侧多层感知机,用户侧多层感知机的输入为样本用户的嵌入向量与样本用户的特征向量拼接后的第一向量,用户侧多层感知机的输出为样本用户的重建嵌入向量,视频侧多层感知机的输入为样本视频的嵌入向量与样本视频的特征向量拼接后的第二向量,视频侧多层感知机的输出为样本视频的重建嵌入向量。
76.可选的,目标函数l为:
77.l=||(e
uevt-fu(eu||au)fv(ev||av)
t
)||278.其中,eu为样本用户的嵌入向量,ev为样本视频的嵌入向量,au为样本用户的特征向量,av为样本视频的特征向量,fu为用户侧多层感知机,fv为视频侧多层感知机,eu||au为第一向量,ev||av为第二向量,||x||2为x的二范数, fu(eu||au)为样本用户的重建嵌入向量,fv(ev||av)为样本视频的重建嵌入向量。
79.目标函数如上所示时,在训练向量重建模型时模拟冷启动时样本数据的输入,以使得目标函数l的值最小,向量重建模型为目标函数l的值最小时对应的向量重建模型,即为目标函数l的值最小时对应的fu和fv。
80.在训练向量重建模型时模拟用户冷启动时样本数据的输入时,从样本用户中随机选择至少一个第一样本用户,将每个第一样本用户的嵌入向量设置为0向量,得到的目标函数l为:l=||(e
uevt-fu(0||au)fv(ev||av)
t
)2。
81.在训练向量重建模型时模拟视频冷启动时样本数据的输入时,从样本视频中随机选择至少一个第一样本视频,将每个第一样本视频的嵌入向量设置为0向量,得到的目标函数l为:l=||(e
uevt-fu(eu||au)fv(0||av)
t
)||2。
82.在上述实施例中,s103可以为:
83.按照交互概率从大到小的顺序,从候选视频列表中选取预设数量的候选视频作为目标视频。其中,预设数量例如为10个或5个等等,以预设数量为10个为例,即从候选视频列
表中选取交互概率最大的10个候选视频作为目标视频。
84.需要说明的是,在一种可实施的方式中,本实施例的方法也可以由终端设备执行,例如,终端设备具有较强大的存储能力和处理能力时,本实施例的方法也可以由终端设备执行,终端设备在响应于用户触发的获取推荐视频的操作后,执行本技术实施例提供的方法,向用户推荐目标视频,目标视频可以是用户感兴趣的视频。
85.本实施例提供的视频推荐方法,接收到视频获取请求后,获取候选视频列表,通过在预先训练向量重建模型时模拟冷启动时样本数据的输入,对于用户或视频,将嵌入向量和特征向量映射到同一向量得到重建嵌入向量,因此,对于新用户或新视频,在嵌入向量缺失时可通过特征向量重建嵌入向量,进而可根据用户的重建嵌入向量和每个候选视频的重建嵌入向量确定用户与每个候选视频的交互概率,并根据用户与候选视频列表中每个候选视频的交互概率,从候选视频列表中确定出推荐给用户的目标视频。从而可以在冷启动时准确地为用户推荐视频,提高冷启动时的视频推荐效果。
86.进一步地,本实施例提供的视频推荐方法在非冷启动时也可以准确地为用户推荐视频,而且,由于用户的重建嵌入向量可以唯一地表征用户与视频的交互行为信息和用户特征信息,视频的重建嵌入向量可以唯一地表征视频与用户的交互行为信息和视频的特征信息,因此可以节省存储空间,提高推荐的效率。
87.下面详细说明s1021中获取用户的重建嵌入向量时,若用户是历史用户,根据用户与历史视频的交互网络获取用户的嵌入向量的一种具体的可实施方式,具体可以包括:
88.首先,构建用户和候选视频中所有视频的交互矩阵r∈rm×n,其中用户的数量为m,视频的数量为n。r中的每个元素表示用户与视频的交互关系强度。用户与视频的交互行为包括视频曝光(即被用户看见)、视频完播(即用户看完视频)、用户点赞视频、用户分享视频以及用户收藏视频等。具体在构建用户与视频的交互矩阵时,根据用户-视频的历史交互行为,将全网的用户和视频通过交互关系连接成交互网络,用户-视频间的连边及其权值由交互行为的存在强弱决定。具体地,如果一对用户-视频间的交互行为较强,则该对用户-视频的连线权重较高;如果用户-视频间的交互行为较弱,则该对用户
ꢀ‑
视频的连线权重较低;如果用户-视频间没有交互行为,则该对之间没有连线。衡量用户-视频的交互行为的强弱可以通过交互行为的加权和决定。可选的,用户-视频间的交互关系强度其中bi表示用户u和视频v之间的第i种交互行为的次数,wi表示用户u和视频v之间第i种交互行为的权值,本实施例中,对所有交互行为的权重进行了归一化,因此有 k为交互行为的种类总数。
89.接着,根据节点嵌入方法、上述用户与视频的交互矩阵和上述构建的用户与视频的交互网络提取每个用户的嵌入向量和每个视频的嵌入向量。
90.其中,上述节点嵌入方法可以包括矩阵分解(如grmf)、网络嵌入(如 node2vec)和图嵌入(如ngcf)等,以node2vec嵌入方法为例,基于上述构建的用户与视频的交互网络,以交互网络中每个节点(一个用户或一个视频均为一个节点)作为起点,随机游走多条轨迹(例如,每个节点游走100 条轨迹)。由于交互网络中不同用户-视频对的连线权重可能不同,因此在执行随机游走时可以对节点邻接进行概率加权的游走。在随机游走开始前,需要扩展交互矩阵r∈rm×n为邻接矩阵,扩展后如下式所示:
[0091][0092]
接着,将随机游走得到的全部轨迹作为语料输入到word2vec词向量嵌入算法中进行训练,训练结果得到每个用户的嵌入向量eu和每个视频的嵌入向量ev。
[0093]
下面详细说明s1021中根据用户的特征信息确定用户的特征向量的具体实施方式以及s1022中根据候选视频的特征信息确定候选视频的特征向量的具体实施方式。
[0094]
具体来说,用户的特征信息可以包括性别、年龄、地区和所使用的设备的型号等。用户u的嵌入向量为eu,嵌入向量的长度为de;用户u的特征向量集为au={a
ui
,i=1,2,...,nu},其中nu为用户的特征信息的数量,每个特征向量的长度为da。对于用户u的嵌入向量eu,乘以一个可训练的参数矩阵得到查询向量qu=w
qt
·eu
;对于au中的特征向量a
ui
,依次乘以两个可训练的参数矩阵wk和得到键向量k
ui
=w
kt
·aui
和值向量 v
ui
=w
kt
·aui
,dh为查询向量、键向量和值向量的长度。从而,得到每个用户的查询向量qu、键向量k
ui
和值向量v
ui

[0095]
对于用户u,利用查询向量qu依次与该用户的所有特征的键向量 {k
ui
,i=1,2,...,nu}进行内积运算,得到每个特征的注意力分数 {att
ui
|att
ui
=qu·kui
,i=1,2,...,nu}。随后,对注意力分数进行softmax归一化,得到归一化后的注意力分数:
[0096][0097]
以归一化后的注意力分数作为注意力权重,融合用户u的所有特征:
[0098][0099]
到此,用户u基于自注意力机制的特征融合完成,得到融合后的用户的特征向量au'。视频v基于自注意力机制的特征融合过程与上述过程类似,得到融合后的视频的特征向量av'。
[0100]
上述过程是通过单头注意力机制得到的用户的特征向量和视频的特征向量,还可以通过多头注意力机制得到用户的特征向量和视频的特征向量,通过多头注意力机制得到的用户的特征向量和视频的特征向量相比较通过单头注意力机制得到的用户的特征向量和视频的特征向量更为准确。
[0101]
在多头注意力机制下,将构造多个注意力模块,即上述可训练参数矩阵将表示为w
qh
,w
kh
,w
vh
,其中h表示注意力模块的编号,共有h个注意力模块。对应地,通过不同注意力模块下的可训练参数矩阵,将得到用户u的查询向量q
uh
、键向量k
uih
和值向量v
uih
,进而计算出融合特征a
uh
'。在得到所有注意力模块下的融合特征{a
uh
',i=1,2,...,h}后,将其拼接,得到最终的用户的特征向量au=a
u1
'||a
u2
'||...||a
uh
',特征向量的长度为h
×dh
。类似地,可以得到最终的视频的特征向量av=a
v1
'||a
v2
'||...||a
vh
'。
[0102]
下面结合一个具体的实施例,对本技术提供的视频推荐方法进行详细说明。
[0103]
图3为本技术实施例提供的一种视频推荐方法中向量重建模型的训练过程的流程图,如图3所示,本实施例的方法可以包括:
[0104]
s201、获取样本用户的嵌入向量和样本视频的嵌入向量。
[0105]
具体地,样本用户均是与所有样本视频有交互行为信息的用户,样本视频也是均是与所有样本用户有交互行为的视频。
[0106]
作为一种可实施的方式,s201具体以包括:
[0107]
s2011、构建所有样本用户和所有样本视频的交互矩阵r∈rm×n,其中样本用户的数量为m,样本视频的数量为n。
[0108]
r中的每个元素表示样本用户与样本视频的交互关系强度。用户与视频的交互行为包括视频曝光(即被用户看见)、视频完播(即用户看完视频)、用户点赞视频、用户分享视频以及用户收藏视频等。具体在构建样本用户与样本视频的交互矩阵时,根据样本用户-样本视频的历史交互行为,将样本用户和样本视频通过交互关系连接成交互网络,样本用户-样本视频间的连边及其权值由交互行为的存在强弱决定。具体地,如果一对样本用户-样本视频间的交互行为较强,则该对样本用户-样本视频的连线权重较高;如果样本用户
ꢀ‑
样本视频间的交互行为较弱,则该对样本用户-样本视频的连线权重较低;如果样本用户-样本视频间没有交互行为,则该对之间没有连线。衡量样本用户-样本视频的交互行为的强弱可以通过交互行为的加权和决定。可选的,样本用户-样本视频间的交互关系强度其中bi表示样本用户u和样本视频v之间的第i种交互行为的次数,wi表示样本用户u和样本视频v之间第i种交互行为的权值,本实施例中,对所有交互行为的权重进行了归一化,因此有k为交互行为的种类总数。
[0109]
s2012、根据节点嵌入方法、样本用户与样本视频的交互矩阵和上述构建的样本用户与样本视频的交互网络提取每个样本用户的嵌入向量和每个样本视频的嵌入向量。
[0110]
以节点嵌入方法为node2vec嵌入方法为例,基于上述构建的样本用户与样本视频的交互网络,以交互网络中每个节点(一个样本用户或一个样本视频均为一个节点)作为起点,随机游走多条轨迹(例如,每个节点游走100 条轨迹)。由于交互网络中不同样本用户-样本视频对的连线权重可能不同,因此在执行随机游走时可以对节点邻接进行概率加权的游走。在随机游走开始前,需要扩展交互矩阵r∈rm×n为邻接矩阵,扩展后如下式所示:
[0111][0112]
接着,将随机游走得到的全部轨迹作为语料输入到word2vec词向量嵌入算法中进行训练,训练结果得到每个样本用户的嵌入向量eu和每个样本视频的嵌入向量ev。
[0113]
s202、获取样本用户的特征向量和样本视频的特征向量。
[0114]
具体地,获取样本用户的特征向量和样本视频的特征向量的过程可参见上述实施例中描述的s1021的具体实施方式和s1022的具体实施方式。
[0115]
s203、根据样本用户的嵌入向量、样本视频的嵌入向量、样本用户的特征向量、样本视频的特征向量和目标函数训练向量重建模型。
[0116]
本实施例中,向量重建模型包括用户侧多层感知机和视频侧多层感知机,目标函数l为:
[0117]
l=||(e
uevt-fu(eu||au)fv(ev||av)
t
)||2[0118]
其中,eu为样本用户的嵌入向量,ev为样本视频的嵌入向量,au为样本用户的特征
向量,av为样本视频的特征向量,fu为用户侧多层感知机,fv为视频侧多层感知机,||x||2为x的二范数,fu(eu||au)为样本用户的重建嵌入向量,fv(ev||av)为样本视频的重建嵌入向量。
[0119]
在训练向量重建模型时模拟用户冷启动时样本数据的输入以及模拟视频冷启动时样本数据的输入。可选的,可以预设样本数据中用户冷启动样本的数量、视频冷启动样本的数量以及非冷启动样本的数量,然后根据设置好的样本数据进行如下训练。
[0120]
具体地,在训练向量重建模型时模拟用户冷启动时样本数据的输入,具体可以为:根据样本数据进行向量重建模型的多次训练,在每次训练向量重建模型时,从样本用户中随机选择至少一个第一样本用户,将每个第一样本用户的嵌入向量设置为0向量并与每个第一样本用户的特征向量拼接后输入向量重建模型。即,目标函数相应为:l=||(e
uevt-fu(0||au)fv(ev||av)
t
)||2。在训练向量重建模型时模拟视频冷启动时样本数据的输入,具体可以为:根据样本数据进行向量重建模型的多次训练,在每次训练向量重建模型时,从样本视频中随机选择至少一个第一样本视频,将每个第一样本视频的嵌入向量设置为0向量并与每个第一样本视频的特征向量拼接后输入向量重建模型。即,目标函数相应为:l=||(e
uevt-fu(eu||au)fv(0||av)
t
)||2。根据上述过程进行向量重建模型的多次训练,训练直至目标函数的值最小,此时,目标函数的值最小时对应的向量重建模型即为训练结果,可得到fu和fv。
[0121]
通过上述过程,训练得到向量重建模型fu和fv。
[0122]
图4为本技术实施例提供的一种视频推荐方法的流程图,该视频推荐方法可以由视频推荐装置执行,本实施例以视频推荐装置为服务器为例进行说明。如图4所示,本实施例的方法可以包括:
[0123]
s301、接收到视频获取请求后,获取候选视频列表。
[0124]
具体的过程可参见s101的描述,此处不再赘述。
[0125]
s302、获取用户的重建嵌入向量。
[0126]
具体地,若用户是新用户,则将0向量确定为用户的嵌入向量,并根据用户的特征信息确定用户的特征向量,将0向量与用户的特征向量拼接后输入向量重建模型中,输出用户的重建嵌入向量。例如,预先训练的向量重建模型包括fu和fv,用户的特征向量为au,用户的重建嵌入向量eu'=fu(0||au),其中用户的特征向量的获取可参见s1021的具体实施方式的描述,此处不再赘述。
[0127]
若用户是历史用户,根据用户与历史视频的交互网络获取用户的嵌入向量,将用户的嵌入向量与用户的特征向量拼接后输入向量重建模型中,输出用户的重建嵌入向量。例如,预先训练的向量重建模型包括fu和fv,所获取的用户的嵌入向量为eu,用户的特征向量为au,则用户的重建嵌入向量eu'= fu(eu||au)。
[0128]
s303、获取每个候选视频的重建嵌入向量。
[0129]
具体地,针对每个候选视频,若候选视频是新视频,则将0向量确定为候选视频的嵌入向量,并根据候选视频的特征信息确定候选视频的特征向量,将0向量与候选视频的特征向量拼接后输入向量重建模型中,输出候选视频的重建嵌入向量。例如,预先训练的向量重建模型包括fu和fv,候选视频的特征向量为av,候选视频的重建嵌入向量ev'=fv(0||av),其中候选视频的特征向量的获取可参见s1022的具体实施方式的描述,此处不再赘述。
[0130]
若候选视频是历史视频,根据历史用户与候选视频的交互网络获取候选视频的嵌入向量,将候选视频的嵌入向量与候选视频的特征向量拼接后输入向量重建模型中,输出候选视频的重建嵌入向量。例如,预先训练的向量重建模型包括fu和fv,所获取的候选视频的嵌入向量为ev,候选视频的特征向量为av,则用户的重建嵌入向量ev'=fv(ev||av)。
[0131]
s304、根据用户的重建嵌入向量和每个候选视频的重建嵌入向量,确定用户与每个候选视频的交互概率。
[0132]
以用户与候选视频的交互概率为用户的重建嵌入向量和候选视频的重建嵌入向量的余弦距离为例,分别计算用户的重建嵌入向量eu'和每个候选视频的重建嵌入向量eu'的余弦距离即可得到用户与每个候选视频的交互概率{ρ
uv
,v=1,2,...,n},其中n为候选视频的总数量。
[0133]
s305、根据用户与候选视频列表中每个候选视频的交互概率,从候选视频列表中确定出推荐给用户的目标视频。
[0134]
可选的,可以是按照交互概率从大到小的顺序,从候选视频列表中选取预设数量的候选视频作为目标视频。
[0135]
本实施例提供的视频推荐方法,可以在冷启动时准确地为用户推荐视频,提高冷启动时的视频推荐效果,在非冷启动时也可以准确地为用户推荐视频,而且,由于用户的重建嵌入向量可以唯一地表征用户与视频的交互行为信息和用户特征信息,视频的重建嵌入向量可以唯一地表征视频与用户的交互行为信息和视频的特征信息,因此可以节省存储空间,提高推荐的效率。
[0136]
以下为本技术装置实施例,可以用于执行本技术上述方法实施例。对于本技术装置实施例中未披露的细节,可参考本技术上述方法实施例。
[0137]
图5为本技术实施例提供的一种视频推荐装置的结构示意图,如图5所示,本实施例的装置可以包括:第一获取模块11、第二获取模块12和确定模块13,其中,
[0138]
第一获取模块11用于在接收到视频获取请求后,获取候选视频列表;
[0139]
第二获取模块12用于获取用户与所述候选视频列表中每个候选视频的交互概率,所述交互概率根据所述用户的重建嵌入向量和所述候选视频的重建嵌入向量确定,所述用户的重建嵌入向量根据所述用户的嵌入向量、所述用户的特征向量和预先训练的向量重建模型确定,所述候选视频的重建嵌入向量根据所述候选视频的嵌入向量、所述候选视频的特征向量和所述向量重建模型确定,在训练所述向量重建模型时模拟冷启动时样本数据的输入;
[0140]
确定模块13用于根据所述用户与所述候选视频列表中每个候选视频的交互概率,从所述候选视频列表中确定出推荐给所述用户的目标视频。
[0141]
可选的,第二获取模块12用于获取所述用户的重建嵌入向量;
[0142]
获取所述每个候选视频的重建嵌入向量;
[0143]
根据所述用户的重建嵌入向量和所述每个候选视频的重建嵌入向量,确定所述用户与所述每个候选视频的交互概率。
[0144]
可选的,第二获取模块12具体用于:若所述用户是新用户,则将0向量确定为所述用户的嵌入向量,并根据所述用户的特征信息确定所述用户的特征向量;
[0145]
将0向量与所述用户的特征向量拼接后输入所述向量重建模型中,输出所述用户的重建嵌入向量;
[0146]
若所述用户是历史用户,根据所述用户与历史视频的交互网络获取所述用户的嵌入向量;
[0147]
将所述用户的嵌入向量与所述用户的特征向量拼接后输入所述向量重建模型中,输出所述用户的重建嵌入向量。
[0148]
可选的,第二获取模块12具体用于:若所述候选视频是新视频,则将0 向量确定为所述候选视频的嵌入向量,并根据所述候选视频的特征信息确定所述候选视频的特征向量;
[0149]
将0向量与所述候选视频的特征向量拼接后输入所述向量重建模型中,输出所述候选视频的重建嵌入向量;
[0150]
若所述候选视频是历史视频,根据历史用户与所述候选视频的交互网络获取所述候选视频的嵌入向量;
[0151]
将所述候选视频的嵌入向量与所述候选视频的特征向量拼接后输入所述向量重建模型中,输出所述候选视频的重建嵌入向量。
[0152]
可选的,第二获取模块12具体用于:计算所述用户的重建嵌入向量和所述每个候选视频的重建嵌入向量的余弦距离、内积或欧氏距离;
[0153]
将所述用户的重建嵌入向量和所述每个候选视频的重建嵌入向量的余弦距离、内积或欧氏距离确定为所述每个候选视频的交互概率。
[0154]
可选的,所述向量重建模型为对多个所述样本数据训练得到,每个所述样本数据包括样本用户的嵌入向量、样本用户的特征向量、样本视频的嵌入向量和样本视频的特征向量;
[0155]
在进行所述向量重建模型的训练时,所述向量重建模型的输入为所述样本用户的嵌入向量、所述样本用户的特征向量、所述样本视频的嵌入向量和所述样本视频的特征向量,所述向量重建模型的输出为所述样本用户的重建嵌入向量和所述样本视频的重建嵌入向量;
[0156]
在训练所述向量重建模型时模拟冷启动时样本数据的输入,以使得目标函数的值最小,所述向量重建模型为所述目标函数的值最小时对应的向量重建模型,所述目标函数表征样本用户与样本视频的第一交互概率和所述样本用户与所述样本视频的第二交互概率的差值,所述第一交互概率根据所述样本用户的嵌入向量与样本视频的嵌入向量确定,所述第二交互概率根据所述样本用户的重建嵌入向量与样本视频的重建嵌入向量确定。
[0157]
可选的,所述在训练所述向量重建模型时模拟冷启动时样本数据的输入过程包括:
[0158]
在训练所述向量重建模型时模拟用户冷启动时样本数据的输入和视频冷启动时样本数据的输入。
[0159]
可选的,在训练所述向量重建模型时模拟用户冷启动时样本数据的输入的过程包括:
[0160]
根据所述样本数据进行所述向量重建模型的多次训练,在每次训练所述向量重建模型时,从所述样本用户中随机选择至少一个第一样本用户,将每个所述第一样本用户的嵌入向量设置为0向量并与所述每个所述第一样本用户的特征向量拼接后输入所述向量重建模型;
[0161]
在训练所述向量重建模型时模拟视频冷启动时样本数据的输入的过程包括:
[0162]
根据所述样本数据进行所述向量重建模型的多次训练,在每次训练所述向量重建模型时,从所述样本视频中随机选择至少一个第一样本视频,将每个所述第一样本视频的嵌入向量设置为0向量并与所述每个所述第一样本视频的特征向量拼接后输入所述向量重建模型。
[0163]
可选的,所述向量重建模型包括用户侧多层感知机和视频侧多层感知机,所述用户侧多层感知机的输入为所述样本用户的嵌入向量与所述样本用户的特征向量拼接后的第一向量,所述用户侧多层感知机的输出为所述样本用户的重建嵌入向量,所述视频侧多层感知机的输入为所述样本视频的嵌入向量与所述样本视频的特征向量拼接后的第二向量,所述视频侧多层感知机的输出为所述样本视频的重建嵌入向量。
[0164]
可选的,所述目标函数l为:
[0165]
l=||(e
uevt-fu(eu||au)fv(ev||av)
t
)||2[0166]
其中,eu为所述样本用户的嵌入向量,ev为所述样本视频的嵌入向量,au为所述样本用户的特征向量,av为所述样本视频的特征向量,fu为所述用户侧多层感知机,fv为所述视频侧多层感知机,eu||au为所述第一向量,ev||av为所述第二向量,||x||2为x的二范数,所述fu(eu||au)为所述样本用户的重建嵌入向量,fv(ev||av)为所述样本视频的重建嵌入向量。
[0167]
可选的,确定模块13用于按照所述交互概率从大到小的顺序,从所述候选视频列表中选取预设数量的候选视频作为所述目标视频。
[0168]
本技术实施例提供的装置,可执行上述方法实施例,其具体实现原理和技术效果,可参见上述方法实施例,本实施例此处不再赘述。
[0169]
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,处理模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上处理模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
[0170]
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit, asic),或,一个或多个微处理器(digital signal processor,dsp),或,一个或者多个现场可编程门阵列(field programmable gate array,fpga)等。再如,当以上某个模块通过处理元件调度程
序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统 (system-on-a-chip,soc)的形式实现。
[0171]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本技术实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd)) 等。
[0172]
图6为本技术实施例提供的一种终端设备的结构示意图,如图6所示,本实施例的终端设备可以包括处理器21和存储器22,
[0173]
其中,存储器22用于存储处理器21的可执行指令。
[0174]
处理器21配置为经由执行可执行指令来执行上述方法实施例中的视频推荐方法。
[0175]
可选地,存储器22既可以是独立的,也可以跟处理器21集成在一起。
[0176]
当存储器22是独立于处理器21之外的器件时,本实施例的终端设备还可以包括:
[0177]
总线23,用于连接存储器22和处理器21。
[0178]
可选地,本实施例的终端设备还可以包括:通信接口24,该通信接口24 可以通过总线23与处理器21连接。
[0179]
本技术还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当其在计算机上运行时,使得计算机执行如上述实施例的视频推荐方法。
[0180]
本技术实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上实施例中的视频推荐方法。
[0181]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0182]
尽管上面已经示出和描述了本技术的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本技术的限制,本领域的普通技术人员在本技术的范围内可以对上述实施例进行变化、修改、替换和变型。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1