基于用户向量的推荐方法、模型的训练方法及装置与流程

文档序号:23091029发布日期:2020-11-27 12:43阅读:152来源:国知局
基于用户向量的推荐方法、模型的训练方法及装置与流程

本公开涉及视频推荐技术,尤其是一种基于用户向量的推荐方法、模型的训练方法及装置。



背景技术:

在视频网站、移动设备长视频客户端或移动设备短视频客户端中,可根据用户喜好对用户个性化推荐视频、广告、好友。在现有的视频推荐方法中,如何基于用户的兴趣实现个性化推荐,是一个需要解决的技术问题。



技术实现要素:

为了解决如何基于用户的兴趣实现个性化推荐的技术问题,提出了本公开。本公开的实施例提供了一种基于用户向量的推荐和神经语言模型的训练方法及装置。

根据本公开实施例的一个方面,提供了一种基于用户向量的推荐方法,包括:

获取在设定时间内与第一用户存在关联关系的多个第一视频;

确定所述多个第一视频中每个第一视频对应的视频向量,得到多个视频向量;

基于所述多个视频向量确定与所述第一用户相对应的第一用户向量;

基于所述第一用户向量确定与所述第一用户相关的推荐信息。

根据本公开实施例的另一方面,提供了一种神经语言模型的训练方法,包括:

利用神经语言模型对第一视频序列中的每个视频对应的第一视频编号进行处理,获得第一预测相邻视频编号;

从所述第一视频序列对应的视频编号序列中获得与所述第一视频编号相邻的第一相邻视频编号;

基于所述第一预测相邻视频编号与所述第一相邻视频编号,训练所述神经语言模型的网络参数。

根据本公开实施例的又一方面,提供了一种基于用户向量的推荐装置,包括:

视频获取模块,用于获取在设定时间内与第一用户存在关联关系的多个第一视频;

视频向量模块,用于确定所述视频获取模块获取的多个第一视频中每个第一视频对应的视频向量,得到多个视频向量;

用户向量模块,用于基于所述视频向量模块获取的多个视频向量确定所述第一用户相对应的第一用户向量;

推荐模块,用于基于所述用户向量模块确定的第一用户向量确定与所述第一用户相关的推荐信息。

根据本公开实施例的还一方面,提供了一种神经语言模型的训练装置,包括:

模型处理模块,用于利用神经语言模型对第一视频序列中的每个视频对应的第一视频编号进行处理,获得第一预测相邻视频编号;

参考编号模块,用于从所述第一视频序列对应的视频编号序列中获得与所述第一视频编号相邻的第一相邻视频编号;

参数调整模块,用于基于所述模型处理模块获得的第一预测相邻视频编号与所述参考编号模块获得的第一相邻视频编号,调整所述神经语言模型的网络参数。

根据本公开实施例的再一方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述任一实施例所述的基于用户向量的推荐方法,或执行上述任一实施例所述的神经语言模型的训练方法。

根据本公开实施例的再一方面,提供了所述电子设备包括:

处理器;

用于存储所述处理器可执行指令的存储器;

所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述任一实施例所述的基于用户向量的推荐方法,或实现上述任一实施例所述的神经语言模型的训练方法。

基于本公开上述实施例提供的一种基于用户向量的推荐方法、模型的训练方法及装置,获取在设定时间内与第一用户存在关联关系的多个第一视频;基于所述多个第一视频中每个第一视频对应的视频向量,得到多个视频向量;基于所述多个视频向量确定与所述第一用户相对应的第一用户向量,基于所述第一用户向量确定第一用户相关的推荐信息,本公开通过第一用户向量体现了用户对视频的兴趣,实现了根据第一用户的兴趣进行个性化推荐,还可同时为第一用户推荐与第一用户相关联的视频和用户,提高了推荐效率。

下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。

附图说明

通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。

图1是本公开基于用户向量的推荐方法在应用中的一个示例性场景图。

图2为本公开提供的根据视频编号序列构造正训练样本的一个实施例。

图3是本公开涉及到的神经语言模型的一个示例性结构图。

图4是本公开一示例性实施例提供的基于用户向量的推荐方法的流程示意图。

图5是本公开图4所示实施例中步骤403的一个流程示意图。

图6是本公开图4所示实施例中步骤402的一个流程示意图。

图7是本公开图6所示实施例中步骤4022的一个流程示意图。

图8是本公开图4所示实施例中步骤404的一个流程示意图。

图9是本公开图4所示实施例中步骤404的另一个流程示意图。

图10是本公开一示例性实施例提供的神经语言模型的训练方法的流程示意图。

图11是本公开另一示例性实施例提供的神经语言模型的训练方法的流程示意图。

图12是本公开一示例性实施例提供的基于用户向量的推荐装置的结构示意图。

图13本公开另一示例性实施例提供的基于用户向量的推荐装置的结构示意图。

图14是本公开一示例性实施例提供的神经语言模型的训练装置的结构示意图。

图15是本公开一示例性实施例提供的神经语言模型的训练装置的结构示意图。

图16是本公开一示例性实施例提供的电子设备的结构图。

具体实施方式

下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。

应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。

本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。

还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。

还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。

另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。

还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。

终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。

申请概述

在实现本公开的过程中,发明人发现,现有的视频推荐方法主要是为用户推荐热度高的视频,该视频推荐方法至少存在以下问题:不能够结合用户的兴趣实现个性化推荐。

示例性系统

图1是本公开基于用户向量的推荐方法在应用中的一个示例性场景图。如图1所示,在该场景图中包括4个阶段:训练阶段、增量训练阶段(增量训练是指增加新的视频的情况下,无需对神经语言模型全部训练,仅调整部分参数即可)、推荐视频阶段、推荐好友阶段;其中训练阶段包括步骤:101:根据定制的规则(例如,表1所示的规则组等)构建视频编号序列;102:使用视频编号序列训练神经语言模型;103:输出模型隐层得到视频向量。增量训练阶段包括步骤:104:根据定制的规则(例如,表1所示的规则组等)获取更新了的视频编号序列;105:增量训练神经语言模型;106:输出模型隐层得到更新后的视频向量。推荐视频阶段包括步骤:107:根据定制的规则(例如,表1所示的规则组等)对该用户最近一段时间相关联的视频向量求平均得到用户向量;108:为用户推荐与用户向量接近的视频向量对应的视频。推荐好友阶段包括步骤:109:根据定制的规则(例如,表1所示的规则组等)对该用户最近一段时间相关联的视频向量求平均得到用户向量;1010:为用户推荐与用户向量接近的用户向量对应的用户作为好友。

表1构建视频序列的规则组的一个具体实施例

表1为构建视频序列的规则组的一个具体实施例。具体实施如下,将满足表1所示规则组中任意一条的视频编号按照时间顺序排为序列,然后按时间间隔(例如一个月)将其划分为若干个序列,这样,每个用户都可产生若干个序列。需要明确的是,表1所示规则组中的规则可以根据具体情况进行增加、删除、修改以适应具体场景,具有灵活性。根据表1所示的规则组获取一个视频序列的示例包括:用户a观看短视频video_6(已看完);用户a评论视频video_107,“真有意思”;用户a看了video_9572后笑得合不拢嘴;用户a点赞了video_38;用户a点进了视频video_957中的同款商品的购物界面;此时就产生了一个视频序列(video_6,video_107,video_9572,video_38,video_957)。

一个训练样本由一个视频编号组构成,即一个用于输入的视频,和一个用于预测的视频。如果要预测的视频为输入视频在序列中的附近(距离在一个窗口之内,例如窗口设为2),则该样本为正样本,否则为负样本,其中负样本中的预测视频为随机生成产生,每个输入视频产生负样本的数量是一个参数,例如设为5个,图2为本公开提供的根据视频编号序列构造正训练样本的一个实施例。如图2所示,为正样本的构造,窗口大小为5(窗口大小可调整),则每个当前视频前后各考虑两个视频,例如,第一行的(video_6,video_107)就是一个正样本,这是因为video_107在以video_6为中心的窗口为5的窗口中。该正样本表示模型中需要预测与video_6相邻的视频,预测为video_107的label为1,预测为其他视频的label为0。

图3是本公开涉及到的神经语言模型的一个示例性结构图。本公开在应用该神经语言模型之前,需要对神经语言模型进行训练,在训练阶段,根据定制的规则构建若干视频编号序列,将这些序列用来训练神经语言模型,从而通过输出模型的隐藏层得到视频向量;在增量训练过程,首先根据定制的规则获取更新了的视频编号序列,然后在已训练好的神经语言模型的基础上增量训练,然后更新视频向量。例如,以图3提供的神经语言模型为例,训练过程包括:输入向量为作为输入的视频编号对应的独热编码(one-hot),即代表该视频的维度为1,其他维度为0,该输入向量维度等于视频总数(例如,10000个),隐藏层的维度为人为设定,即为想要获得的视频向量和用户向量的维度(其中,隐藏层的维度=视频向量维度=用户向量维度)。最终输出层维度等于视频总数,视频总数为用于训练的所有视频序列中所包含的所有不同的视频的数量;若为负样本,对应维度预测值越接近0越好,若为正样本,对应维度预测值越接近1越好,输出层的每个维度对应一个预测值。在该实施例中,视频总数为10000,视频向量维度为100,最终隐藏层得到的参数矩阵为10000*100,就是这10000个视频的视频向量。

经过训练后的神经语言模型应用在视频推荐时,包括:根据定制的规则对该用户最近一段时间相关联的视频向量求平均得到用户向量,然后为用户推荐与用户向量接近的视频向量对应的视频;在推荐好友过程,根据定制的规则对该用户最近一段时间相关联的视频向量求平均得到用户向量,然后为用户推荐与用户向量接近的用户向量对应的用户作为好友。

示例性方法

图4是本公开一示例性实施例提供的基于用户向量的推荐方法的流程示意图。本实施例可应用在电子设备上,如图4所示,包括如下步骤:

步骤401,获取在设定时间内与第一用户存在关联关系的多个第一视频。

其中,第一视频包括但不限于:长视频、短视频或广告等。其中,关联关系可以包括但不限于:用户对视频进行观看、点赞、收藏、表现出对应表情等等。

步骤402,确定多个第一视频中每个第一视频对应的视频向量,得到多个视频向量。

在一实施例中,每个第一视频对应一个视频向量,视频向量用于对不同视频进行区分,可选地,视频向量对应视频的语义表达。

步骤403,基于多个视频向量确定与第一用户相对应的第一用户向量。

例如,可以将第一用户对应的多个视频向量连接或用其他计算方法获得对应该第一用户的第一用户向量,用于表达第一用户的特性,本公开实施例不限制具体计算方法。

步骤404,基于第一用户向量确定与第一用户相关的推荐信息。

在一实施例中,与第一用户相关的推荐信息可以包括与第一用户向量相关的视频(包括对应视频向量的视频)或用户(包括对应用户向量的用户)。

基于本公开上述实施例提供的一种基于用户向量的推荐方法,获取在设定时间内与第一用户存在关联关系的多个第一视频;基于所述多个第一视频中每个第一视频对应的视频向量,得到多个视频向量;基于所述多个视频向量确定与所述第一用户相对应的第一用户向量,基于所述第一用户向量确定第一用户相关的推荐信息,本公开通过第一用户向量体现了用户对视频的兴趣,实现了根据第一用户的兴趣进行个性化推荐,还可同时为第一用户推荐与第一用户相关联的视频和用户等信息,提高了用户体验。

如图5所示,在上述图4所示实施例的基础上,步骤403可包括如下步骤:

步骤4031,对多个视频向量进行加权平均。

其中,实现多个视频向量进行加权平均的权重可以与用户查看视频向量对应的视频的时间点相关,查看的时间点与当前时间点的间隔时间越短,该视频向量对应的权重越大,查看的时间点与当前时间点间隔时间越长,该视频向量对应的权重越小。

步骤4032,基于加权平均的结果确定第一用户的第一用户向量。

本实施例通过对多个视频向量加权平均获得一个平均向量,以该平均向量作为第一用户向量,即体现了用户在设定时间段内相关联的视频,同时不增加向量的大小,实现基于用户向量对用户观看视频的兴趣的体现。

在一个可选的实施例中,步骤402包括:将多个第一视频分别输入到神经语言模型中,通过神经语言模型获得多个第一视频各自对应的视频向量。

该实施例中的神经语言模型的网络结构,可选地,可参照图3所示的网络结构,通过将多个视频输入到神经语言模型,即可获得每个视频对应的视频向量,例如,以神经语言模型的隐层参数得到视频向量,本公开不限制神经语言模型的具体网络结构。

图6所示,在上述图4所示实施例的基础上,步骤402可包括如下步骤:

步骤4021,基于神经语言模型的网络参数,获得历史视频库中每个历史视频的视频向量。

其中,每个历史视频序列包括具有预设排序关系的多个历史视频,预设排序关系例如可以包括,基于获取视频的时间点对多个历史视频进行排序等。

在一个可选示例中,可以将神经语言模型中隐藏层的网络参数作为历史视频库中所有历史视频对应的视频向量。

可选地,可以通过历史视频库对神经语言模型进行训练,获得训练后的神经语言模型,将训练后的神经语言模型中的隐层参数作为历史视频库中所有历史视频的视频向量,例如,神经语言模型包含输入层、隐藏层和输出层,隐藏层的向量包含了视频的语义表达,而输出层只是在训练时计算损失函数用到的,输出层的结果是预测与当前视频语义相近的视频的概率分布。

步骤4022,从历史视频的视频向量中查找与第一视频的视频编号相同的视频向量,获得多个第一视频各自对应的视频向量。

每个视频(包括历史视频和第一视频)都对应一个视频编号,具体编号方式可以如图2所示的video_107,video_9572,video_38等,本实施例不限制具体编号方式,只需能对不同视频进行区分即可。本实施例实现的是在已知视频向量的多个历史视频中查找与第一视频的视频编号相同的历史视频,将该历史视频的视频向量作为该第一视频的视频向量,而确定历史视频的视频向量可以通过对神经语言模型的训练过程获得,例如,将训练后的神经语言模型中隐层的参数作为历史视频的视频向量。

图7所示,在上述图6所示实施例的基础上,步骤4022可包括如下步骤:

步骤40221,对多个第一视频中的每个第一视频,基于第一视频对应的视频编号在历史视频库中查找获得与其对应的历史视频。

其中,每个历史视频对应一个视频编号。

步骤40222,基于查找获得的历史视频对应的视频向量,确定多个第一视频各自对应的一个视频向量。

本实施例对于多个第一视频中的每个第一视频分别在历史视频库中进行查找,可选地,在历史视频库中还可以包括视频编号和视频向量一一对应的索引,以每个第一视频的视频编号在多个视频编号中查找到相同的视频编号,再以查找到的视频编号在索引中查找到对应的视频向量,将该视频向量作为第一视频的视频向量,本实施例实现了通过查找的方式直接获取视频向量,无需对每个第一视频进行重新计算,提高了视频向量获取的速度。

图8所示,在上述图4所示实施例的基础上,步骤404可包括如下步骤:

步骤4041,基于第一用户向量从历史视频库中获得与第一用户向量相近似的视频向量。

步骤4042,将获得的视频向量对应的历史视频作为第二视频推荐给第一用户。

本实施例中,视频向量与第一用户向量之间是否近似可基于视频向量与第一用户向量之间的余弦相似度或欧式距离等确定,其中,余弦相似度越大越相似;欧氏距离越小越近似;例如,视频向量与第一用户向量之间的余弦相似度大于预设相似度值时,确定该视频向量与第一用户向量相近似;或者,视频向量与第一用户向量之间的欧氏距离小于预设值时,确定该视频向量与第一用户向量相近似。

图9所示,在上述图4所示实施例的基础上,步骤404可包括如下步骤:

步骤4043,获取在设定时间内多个第二用户的多个第二用户向量。

步骤4044,将多个第二用户向量中与第一用户向量相近似的第二用户向量对应的第二用户推荐给第一用户。

本实施例中,第二用户向量与第一用户向量之间是否近似可基于第二用户向量与第一用户向量之间的余弦相似度或欧式距离等确定,其中,余弦相似度越大越相似;欧氏距离越小越近似;例如,第二用户向量与第一用户向量之间的余弦相似度大于预设相似度值时,确定该第二用户向量与第一用户向量相近似;或者,第二用户向量与第一用户向量之间的欧氏距离小于预设值时,确定该第二用户向量与第一用户向量相近似。

还包括另一种实施例,在上述图4所示实施例的基础上,步骤404可上述步骤4041至步骤4044。

图10是本公开一示例性实施例提供的神经语言模型的训练方法的流程示意图。实施例可应用在电子设备上,如图10所示,包括如下步骤:

步骤1001,利用神经语言模型对第一视频序列中的每个视频对应的第一视频编号进行处理,获得第一预测相邻视频编号。

可选地,该神经语言模型的结构可参照图3所示的神经语言模型,但不限于图3所示的网络结构,在进行训练之前,还包括根据定制规则构建用于训练的视频编号序列,本实施例神经语言模型实现的是对每个视频预测与其相邻的视频编号,即获得第一预测相邻视频编号。

步骤1002,从第一视频序列对应的视频编号序列中获得与第一视频编号相邻的第一相邻视频编号。

其中,与第一视频编号相邻的第一相邻视频编号为训练序列中的正样本,与第一视频编号不相邻的视频编号为训练序列中的负样本,对于正样本,对应维度的预测值越接近1越好,对于负样本,对应维度的预测值越接近0越好;输出层的每个维度对应一个预测值。

步骤1003,基于第一预测相邻视频编号与第一相邻视频编号,训练神经语言模型的网络参数。

本实施例通过包括多个第一视频编号的第一视频序列对神经语言模型进行训练,神经语言模型的功能是预测输入视频编号的相邻视频编号,本实施例中,以正样本作为监督信息,对神经语言模型进行训练,调整神经语言模型中的参数,可选地,神经语言模型包含输入层、隐藏层和输出层,隐藏层的向量包含了视频的语义表达,而输出层只是在训练时计算损失函数用到的,输出层的结果是预测与当前视频语义相近的视频的概率分布。

如图11所示,在上述图10所示实施例的基础上,神经语言模型的训练方法还可以包括:

步骤1101,获得第二视频序列。

其中,第二视频序列是相对图10所示的实施例中提供的第一视频序列而言的;第一视频序列是指历史视频序列,而第二视频序列是指新增的视频序列。

步骤1102,利用神经语言模型对第二视频序列中每个视频对应的第二视频编号进行处理,获得第二预测相邻视频编号。

步骤1103,从第二视频序列对应的视频编号序列中获得与第二视频编号相邻的第二相邻视频编号。

步骤1104,基于第二预测相邻视频编号与第二相邻视频编号,调整神经语言模型中的部分网络参数。

可选地,可通过调整学习率来实现调整部分网络参数,即,降低不需要进行调整的网络参数的学习率,使不需要进行调整的网络参数在增量训练过程中不发生变化。

本实施例实现了当基于第一视频序列训练完神经语言模型之后,每次获得新增的视频序列后,只需本实施例提供的步骤,对神经语言模型中的部分参数进行调整,获得新增的视频序列对应的视频向量即可,避免了每次对神经语言模型的所有参数进行调整,加快了训练速度。

本公开实施例提供的任一种基于用户向量的推荐或神经语言模型的训练方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:终端设备和服务器等。或者,本公开实施例提供的任一种基于用户向量的推荐或神经语言模型的训练方法可以由处理器执行,如处理器通过调用存储器存储的相应指令来执行本公开实施例提及的任一种基于用户向量的推荐或神经语言模型的训练方法。下文不再赘述。

示例性装置

图12是本公开一示例性实施例提供的基于用户向量的推荐装置的结构示意图。如图12所示,包括:

视频获取模块121,用于获取在设定时间内与第一用户存在关联关系的多个第一视频。

视频向量模块122,用于确定视频获取模块获取的多个第一视频中每个第一视频对应的视频向量,得到多个视频向量。

用户向量模块123,用于基于视频向量模块获取的多个视频向量确定第一用户相对应的第一用户向量。

推荐模块124,用于基于用户向量模块确定的第一用户向量确定与第一用户相关的推荐信息。

本公开提供的基于用户向量的推荐装置,获取在设定时间内与第一用户存在关联关系的多个第一视频;基于所述多个第一视频对应的视频向量确定所述第一用户的第一用户向量,通过第一用户向量体现了用户对视频的兴趣;基于第一用户向量确定与第一用户相关的推荐信息,实现了根据用户的兴趣的个性化推荐,可同时为第一用户推荐视频和用户等信息,提高了用户体验。

图13本公开另一示例性实施例提供的基于用户向量的推荐装置的结构示意图。如图13所示,在本示例中,视频向量模块122,具体用于将多个第一视频分别输入到神经语言模型中,通过神经语言模型获得多个第一视频各自对应的视频向量。

可选地,视频向量模块122包括:

历史向量获取单元1221,用于基于神经语言模型的网络参数,获得历史视频库中每个历史视频的视频向量。

其中,每个历史视频序列包括具有排序关系的多个历史视频。

在一个可选示例中,历史向量获取单元1221,具体用于获得神经语言模型中隐藏层的网络参数,将隐藏层的网络参数作为历史视频库中所有历史视频对应的视频向量。

向量查找单元1222,用于从历史视频的视频向量中查找与第一视频的视频编号相同的视频向量,获得多个第一视频各自对应的视频向量。

在一个可选示例中,向量查找单元1222,具体用于对多个第一视频中的每个第一视频,基于第一视频对应的视频编号在历史视频库中查找获得与其对应的历史视频,每个历史视频对应一个视频编号;基于查找获得的历史视频对应的视频向量,确定多个第一视频各自对应的一个视频向量。

用户向量模块123,具体用于对多个视频向量进行加权平均;基于加权平均的结果确定第一用户的第一用户向量。

在一些可选实施例中,推荐模块124包括:

近似视频获得单元1241,用于基于第一用户向量从历史视频库中获得与第一用户向量相近似的视频向量;

视频推荐单元1242,用于将获得的视频向量对应的历史视频作为第二视频推荐给第一用户。

在另一些可选实施例中,推荐模块124包括:

第二用户获取单元1243,用于获取在设定时间内多个第二用户的多个第二用户向量;

用户推荐单元1244,用于将多个第二用户向量中与第一用户向量相近似的第二用户向量对应的第二用户推荐给第一用户。

在还一些可选实施例中,推荐模块124可同时包括:近似视频获得单元1241、视频推荐单元1242、第二用户获取单元1243和用户推荐单元1244,通过执行各模块各自对应的功能,从而可同时实现视频和用户的推荐。

图14是本公开一示例性实施例提供的神经语言模型的训练装置的结构示意图。如图14所示,包括:

模型处理模块141,用于利用神经语言模型对第一视频序列中的每个视频对应的第一视频编号进行处理,获得第一预测相邻视频编号。

参考编号模块142,用于从第一视频序列对应的视频编号序列中获得与第一视频编号相邻的第一相邻视频编号。

参数调整模块143,用于基于模型处理模块获得的第一预测相邻视频编号与参考编号模块获得的第一相邻视频编号,调整神经语言模型的网络参数。

本实施例通过包括多个第一视频编号的第一视频序列对神经语言模型进行训练,神经语言模型的功能是预测输入视频编号的相邻视频编号,本实施例中,以正样本作为监督信息,对神经语言模型进行训练,调整神经语言模型中的参数,可选地,神经语言模型包含输入层、隐藏层和输出层,隐藏层的向量包含了视频的语义表达,而输出层只是在训练时计算损失函数用到的,输出层的结果是预测与当前视频语义相近的视频的概率分布。

图15是本公开一示例性实施例提供的神经语言模型的训练装置的结构示意图。如图15所示,本实施例提供的训练装置还包括:

序列获得模块151,用于获得第二视频序列。

第二模型处理模块152,用于利用神经语言模型对第二视频序列中每个视频对应的第二视频编号进行处理,获得第二预测相邻视频编号。

第二参考编号模块153,用于从第二视频序列对应的视频编号序列中获得与第二视频编号相邻的第二相邻视频编号。

部分参数调整模块154,基于第二预测相邻视频编号与第二相邻视频编号,调整神经语言模型中的部分网络参数。

示例性电子设备

下面,参考图16来描述根据本公开实施例的电子设备。该电子设备可以是第一设备100和第二设备200中的任一个或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。

图16图示了根据本公开实施例的电子设备的框图。

如图16所示,电子设备160包括一个或多个处理器161和存储器162。

处理器161可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备160中的其他组件以执行期望的功能。

存储器162可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器161可以运行所述程序指令,以实现上文所述的本公开的各个实施例的基于用户向量的推荐或神经语言模型的训练方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。

在一个示例中,电子设备160还可以包括:输入装置163和输出装置164,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。

例如,在该电子设备是第一设备100或第二设备200时,该输入装置163可以是上述的麦克风或麦克风阵列,用于捕捉声源的输入信号。在该电子设备是单机设备时,该输入装置163可以是通信网络连接器,用于从第一设备100和第二设备200接收所采集的输入信号。

此外,该输入设备163还可以包括例如键盘、鼠标等等。

该输出装置164可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出设备164可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。

当然,为了简化,图16中仅示出了该电子设备160中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备160还可以包括任何其他适当的组件。

示例性计算机程序产品和计算机可读存储介质

除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的基于用户向量的推荐或神经语言模型的训练方法中的步骤。

所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c++等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。

此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的基于用户向量的推荐或神经语言模型的训练方法中的步骤。

所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。

本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。

可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。

还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。

提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。

为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1