视频推送方法、设备及介质
技术领域
本申请涉及视频技术领域,尤其涉及人工智能技术领域,提供一种视频推送方法、设备及介质。
背景技术
用户在观看视频时,会先关注视频标题,如果视频标题对用户吸引力较大,那么用户播放视频的可能性会较大,因此各个视频平台较为关注如何生成更具吸引力的视频标题。
目前,通常是根据视频的关键词生成视频标题,在推送视频时,会显示该视频的视频标题。然而按照这种方式生成的视频标题虽是与视频相关的,但视频标题仅涵盖视频的部分看点,而某些用户对该看点可能并不感兴趣,因此用户在看到该视频标题后,则可能放弃观看该视频。可见,目前生成的视频标题对用户的吸引力较低。
发明内容
本申请实施例提供一种视频推送方法、设备及介质,用于精准地定位用户的兴趣点,为用户推送其感兴趣的视频标题,以提升视频标题以及视频对用户的吸引力,提高推送视频标题及视频的准确性。
一方面,一种视频推送方法,包括:
确定目标用户的待推送视频;
获得预先为所述待推送视频配置的至少两个视频标题;
从所述至少两个视频标题中,确定与所述目标用户的用户兴趣匹配的目标标题;
以所述目标标题作为所述待推送视频的标题,向所述目标用户推送所述待推送视频。
又一方面,提供一种视频推送方法,包括:
响应于目标用户的目标操作,获得与所述目标操作相关的待推送视频;并,
展示所述待推送视频,以及所述待推送视频的目标标题;其中,所述目标标题是所述待推送视频的至少两个视频标题中与所述目标用户的用户兴趣匹配的视频标题。
本申请实施例中提供一种视频推送装置,该装置包括:
第一确定模块,用于确定目标用户的待推送视频;
获得模块,用于获得预先为所述待推送视频配置的至少两个视频标题;
第二确定模块,用于从所述至少两个视频标题中,确定与所述目标用户的用户兴趣匹配的目标标题;
推送模块,用于以所述目标标题作为所述待推送视频的标题,向所述目标用户推送所述待推送视频。
在一种可能的实施例中,所述第二确定模块具体用于:
分别确定各个视频标题与用户兴趣之间的相关度;
在相关度满足相关度阈值的视频标题中选择所述目标标题。
在一种可能的实施例中,所述第二确定模块具体用于:
将所述任一视频标题转换为序列表示,获得第一标题序列,并对所述第一标题序列进行编码,获得标题深度表示;
将所述目标用户的各个兴趣标签转换为序列表示,获得兴趣标签序列,并对所述兴趣标签序列进行编码,获得兴趣深度表示;
对所述兴趣深度表示与所述标题深度表示进行变换,获得所述任一视频标题与用户兴趣之间的相关度。
在一种可能的实施例中,所述任一视频标题与用户兴趣之间的相关度是通过已训练的匹配模型获得的,所述匹配模型包括第一编码器、第二编码器和第一全连接网络,所述已训练的匹配模型是通过如下方式训练得到的:
获得第一样本数据;其中,所述第一样本数据包括样本视频的样本视频标题、所述目标用户的各个兴趣标签、以及所述目标用户和样本视频的相关度标签;
将样本视频的样本视频标题转换为序列表示,获得样本标题序列,并将所述目标用户的各个兴趣标签转换为序列表示,获得兴趣标签序列;
通过所述第一编码器,对兴趣标签序列进行编码,获得兴趣深度表示;以及,通过所述第二编码器对样本标题序列进行编码,获得样本标题深度表示;
通过所述第一全连接网络,对所述兴趣深度表示和样本标题深度表示进行变换,预测所述目标用户与样本视频的相关度;
根据预测出的相关度和相关度标签,调整所述匹配模型的参数,直到所述匹配模型收敛,获得已训练的匹配模型。
在一种可能的实施例中,所述获得模块具体用于:
根据所述待推送视频的关键信息,获得至少两个视频标题。
在一种可能的实施例中,所述获得模块具体用于通过如下一种或两种方式获得视频标题:
根据所述关键信息,对所述待推送视频的预设原始标题进行改写,生成视频标题;或,
根据所述关键信息和预设标题模板,生成视频标题。
在一种可能的实施例中,所述获得模块具体用于:
将所述关键信息转换为序列表示,获得关键信息序列;以及,将预设原始标题转换为序列表示,获得第二标题序列;
对所述关键信息序列和所述第二标题序列进行编码,获得输入隐状态序列;
对所述输入隐状态序列进行解码,获得输出隐状态序列;
根据复制注意力权重矩阵对所述输入隐状态序列进行转换,并根据转换后的输入隐状态序列,调整所述输出隐状态序列,得到标题改写序列;
根据所述标题改写序列,生成视频标题。
在一种可能的实施例中,对所述预设原始标题进行改写是通过标题改写模型实现的,所述标题改写模型包括第三编码器、注意力单元和第二解码器,所述标题改写模型是通过如下方式训练得到的:
获得第二样本数据;其中,所述第二样本数据包括样本视频的样本关键信息和样本视频的至少两个样本视频标题;
将样本关键信息转换为序列表示,获得样本关键信息序列;以及,将样本视频的至少两个样本视频标题中各个样本视频标题分别转换为序列表示,获得样本标题序列;
通过所述第三编码器,对样本关键信息序列和任一样本标题序列进行编码,获得样本输入隐状态序列;
通过所述第二解码器,对所述样本输入隐状态序列进行编码,获得样本输出隐状态序列;
根据复制注意力单元,对所述样本输入隐状态序列进行转换,并根据转换后的样本输入隐状态序列,对所述样本输出隐状态序列进行调整,得到样本标题改写序列;
根据样本标题改写序列,以及所述至少两个样本视频标题中除了所述任一样本标题序列之外的标题序列,调整所述标题改写模型,直到所述标题改写模型收敛,获得已训练的标题改写模型。
在一种可能的实施例中,样本视频的至少两个样本视频标题通过如下方式获得的:
确定至少两个预存视频中每个预存视频的指纹序列;每个预存视频的指纹序列是根据预存视频中视频帧的特征值得到的;
确定指纹序列与样本视频的指纹序列重复度大于或等于重复度阈值的预存视频;
将确定出的预存视频的视频标题确定为样本视频的样本视频标题。
在一种可能的实施例中,所述获得模块具体用于:
将所述关键信息写入预设标题模板,生成视频标题;或,
将知识图谱中与所述关键信息中的角色对应的对象,替换到预设标题模板中,生成视频标题;其中,所述知识图谱存储有各视频中每个角色关联的对象。
在一种可能的实施例中,所述获得模块还用于:
确定每个视频标题与所述关键信息的关联度;
将关联度满足关联度阈值的视频标题确定为所述待推送视频的至少两个视频标题。
在一种可能的实施例中,所述每个视频标题与所述关键信息的关联度是通过关联度判别模型获得的,所述关联度判别模型包括第四编码器和第二全连接网络,所述关联度判别模型是通过如下方式训练得到的:
获得第三样本数据;其中,所述第三样本数据包括样本视频的样本视频标题、样本视频的关键信息、以及样本视频和样本标题的关联度标签;
将样本视频的关键信息转换为序列表示,获得关键信息序列表示;以及,将样本视频的样本视频标题转换为序列表示,获得样本标题序列表示;
通过所述第四编码器,对关键信息序列和样本标题序列进行编码,获得编码输出;
通过所述第二全连接网络,对所述编码输出进行变换,预测样本视频标题与样本视频的关联度;
根据预测出的关联度和关联度标签,调整所述关联度判别模型的参数,直到所述关联度判别模型收敛,获得已训练的关联度判别模型。
本申请实施例提供一种视频推送装置,该装置包括:
获得模块,用于响应于目标用户的目标操作,获得与所述目标操作相关的待推送视频;并,
展示模块,用于展示所述待推送视频,以及所述待推送视频的目标标题;其中,所述目标标题是所述待推送视频的至少两个视频标题中与所述目标用户的用户兴趣匹配的视频标题。
本申请实施例提供一种计算机设备,包括:
至少一个处理器,以及
与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如一方面中任一项所述的视频推送方法。
本申请实施例提供一种存储介质,所述存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如一方面中任一项所述的视频推送方法。
由于本申请实施例采用上述技术方案,至少具有如下技术效果:
本申请实施例中,在为某个用户推送视频时,会选择与该用户的用户兴趣匹配的视频标题,在推送视频时,将该用户感兴趣的视频标题一并推送给用户。如此一来,推送的视频标题更符合用户的兴趣偏好,增加了视频标题对用户的吸引力,也增加了视频对用户的吸引力,提高了用户点击或播放该视频的可能性,由于推送的视频标题更符合用户的兴趣,因此能够提高确定的视频标题的准确性,如此一来,推送的视频必然是包括用户感兴趣的内容,进而使得推荐的视频更准确,从而提升了视频播放的点击率以及播放率等。且,视频标题直接地展示了用户感兴趣的视频中的看点,提升用户观看视频的体验。
附图说明
图1为本申请实施例提供的一种应用场景示意图;
图2为本申请实施例提供的一种推送视频的原理示意图;
图3为本申请实施例提供的一种标题改写模型的结构示意图;
图4为本申请实施例提供的一种关联度判别模型的结构示意图;
图5为本申请实施例提供的一种匹配模型的结构示意图;
图6为本申请实施例提供的一种视频推送方法的流程图;
图7为本申请实施例提供的一种各设备间的交互示意图一;
图8为本申请实施例提供的一种视频展示界面的示例图一;
图9A为本申请实施例提供的针对用户A展示的视频展示界面的示例图;
图9B为本申请实施例提供的针对用户B展示的待推送视频的示例图;
图9C为本申请实施例提供的针对用户C展示的待推送视频的示例图;
图10为本申请实施例提供的一种各设备间的交互示意图二;
图11为本申请实施例提供的一种视频推送装置的结构示意图一;
图12为本申请实施例提供的一种视频推送装置的结构示意图二;
图13为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了更好的理解本申请实施例提供的技术方案,下面将结合说明书附图以及具体的实施方式进行详细的说明。
为了便于本领域技术人员更好地理解本申请的技术方案,下面对本申请涉及的名词进行介绍。
人工智能(Artificial Intelligence,AI):是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
自然语言处理(Nature Language processing,NLP):是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。本申请涉及到文本处理、知识图谱等技术,将在下文中进行介绍。
视频:本申请中的视频泛指各类视频,包括但不限于短视频。
待推送视频:是指根据设定规则确定的向用户推送的视频。
视频标题和目标标题:又可以简称为标题,用于直观地展示视频的主要看点。视频标题的内容一般包括文字,还可以包括表情或标点符号等。在本申请中,每个视频可以有多个视频标题。目标标题为用户推送视频时,从视频的多个标题中选出的视频标题。目标标题可以是一个或多个,本申请不限制目标标题的数量。
用户兴趣:是指用户对视频的兴趣偏好。用户兴趣例如根据用户画像、用户对视频的实时操作行为、用户当前所处场景中的一种或多种生成的。由于用户画像、实时操作行为或用户当前所处场景在不同时刻会不同,因此用户兴趣在不同时刻也会发生变化。用户对视频的实时操作行为包括对视频的点击操作操作、播放操作行为等。用户当前所处场景例如用户当前处于办公场景、学习场景等,可以通过声音检测或用户的行为习惯确定用户当前所处场景。用户兴趣可以以实时兴趣向量表示,或者可以以一个或多个兴趣标签表示。例如,用户A的用户兴趣通过90后、娱乐综艺类、追星族三个兴趣标签表示。
序列:是指将文本转换为序列表示后得到序列,转换为序列表示属于对文本进行浅层编码,可以利用基本的编码技术实现,例如利用嵌入(embedding)学习将文本转换为序列、或者独热(one-hot)编码、或者例如根据预存的序列映射数据库将文本转换为序列,其中,序列映射数据库包括各个词语与其对应的序列。例如视频标题为《XX剧》,将该文本转换为序列后可以表示为“010111”。
视频的关键信息:是指与视频相关的信息。关键信息可以包括视频关联的字幕中的关键信息、视频关联的音频中的关键信息、视频帧中的关键信息等、视频的弹幕中的关键信息、视频的评论信息中的关键信息等中的一种或多种的组合。视频关联的音频包括但不限于视频的配音、插曲或旁白等。
预设标题模板:是指预存的用于生成标题的模板,预设标题模板包括需要的信息项的集合,将视频对应的信息写入预设标题中的信息项中,从而生成视频标题。例如,预设标题模板例如:《剧名》+主演姓名。
预设原始标题:是指已获得的视频的视频标题,可以包括数据库存储的视频的标题,例如预设原始标题为“《剧A》中角色A和角色C撒糖”。应当区分的是,预设标题模板是标题所需的信息项的集合,而预设原始标题是具体的视频标题。
Transformer:一种网络模型,被应用于NLP技术领域。Transformer包括编码器和解码器,编码器包括六个编码单元,每个编码单元包括自注意力层(self-attention)和全连接层。自注意力层是根据当前待处理序列与上一个编码单元的输出序列进行输出。解码器包括六个解码单元,每个解码模块包括标记自注意力层(masked self-attention)、编解码注意力层(encoder-Decoder-Attention)和全连接网络层。标记自注意力层是计算当前待处理的序列和已经处理的序列之间的关系,编解码注意力层是计算当前处理序列和编码器输出的序列之间的关系,再经过全连接层输出解码结果。
应当说明的是,本申请实施例中涉及的“至少一个”表示一个或一个以上,“多个”表示两个或两个以上。
为提升视频的吸引力,本申请实施例提供一种视频推送方法,该方法适用于各类需推送视频的场景,包括但不限于视频推荐场景或视频播放场景等,在该方法中,预先为视频生成多个视频标题,在需要为某个用户推送视频时,根据该用户的用户兴趣从多个视频标题中匹配出用户感兴趣的视频标题,在推送视频时,将该视频标题一并推送给用户。如此一来,推送的视频标题更符合用户的兴趣偏好,即相当于通过视频标题向用户展示了视频中用户感兴趣的看点,增加了视频标题以及视频对用户的吸引力,增加了用户点击或播放该视频的可能性,提高了推送的视频的点击率和播放率等。
进一步地,需要考虑如何生成视频的多个视频标题,如果是手动生成视频的多个视频标题,工作量较大。因此,本申请实施例中提取视频中的关键信息,利用视频的关键信息生成各视频标题。这样,生成的视频标题必然是与视频有关联的内容,另外,视频的关键信息包括视频各方面的信息,能够生成更为丰富且全面的视频标题。进一步地,在根据关键信息,生成视频标题时,可以依据关键信息改写预设原始标题,具体可以通过标题改写模型进行改写,通过标题改写模型自动生成视频标题,提高改写标题的效率。另外,还可以根据关键信息写入预设标题模板,从而简单快速地生成视频标题。
基于上述设计思想,下面对本申请实施例的视频推送方法的应用场景进行介绍。
请参照图1,表示一种视频推送方法的应用场景图,该应用场景包括终端110、服务器120和数据库130。
其中,终端110可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能电视、智能手表等,但并不局限于此。终端以及服务器可以通过通信网络进行通信,本申请在此不做限制。终端中可以设置有客户端,客户端包括预装在终端的客户端、网页版的客户端或嵌入在第三方应用中客户端。服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器120可以对数据库130进行数据读写,数据库130设置在服务器120中,或者与服务器120相互独立设置。终端110、服务器120和数据库130的数量也不做限制。
下面对图1所示的各设备之间的可能的交互进行示例说明。
第一种可能的实施场景:
服务器120从多个视频标题中确定出目标标题,并将目标标题发送给终端110。
具体的,数据库130预存有多个视频,多个视频可以是从网络资源获得的,或者各用户上传等,具体不限制多个视频的来源。服务器120可以为每个视频生成多个视频标题,数据库130还存储有各视频的多个视频标题。数据库130可以将视频以及其对应的多个视频标题进行关联存储等。
例如,用户请求推荐视频时,可以在终端110中进行请求推荐视频的目标操作。或者例如,用户请求某个视频时,可以在终端110中进行获取某个视频的目标操作,终端110响应于目标操作,生成视频推送请求,并将该视频推送请求发送给服务器120。
服务器120接收该视频获取请求后,确定待推送视频,并从数据库130中获取待推送视频的多个视频标题,并从多个视频标题中匹配出与该用户的用户兴趣相符的目标标题,并将该目标标题以及待推送视频一并推送给终端110。服务器120在推送视频时,可以推送该视频,或者推送该视频的资源地址等,具体不限制推送视频的方式。其中,服务器120确定目标标题的方式将在下文中介绍。
终端110在接收待推送视频以及目标标题后,可以关联显示目标标题和待推送视频,例如将目标标题显示在待推送视频的视频画面中。
第二种可能的实施场景:
终端110从多个视频标题中确定出目标标题。
具体的,服务器120在接收该视频推送请求后,视频推送请求的生成过程可以参照前文论述的内容,此处不再赘述。服务器120在确定待推送视频,并从数据库130获取待推送的多个视频标题,将该待推送视频和待推送视频的多个视频标题一并推送给终端110,终端110从多个视频标题中确定出目标标题,并显示该待推送视频以及目标标题。
或者,服务器120提前将各视频的多个视频标题发送给终端110,也就是说,在终端110接收到待推送视频时,终端110已缓存有各视频的多个视频标题,终端110在接收待推送视频之后,直接从多个视频标题中确定出与该用户匹配的目标标题,从而显示该目标标题以及待推送视频。基于上述论述场景,下面对本申请实施例涉及的视频推送方法的原理进行介绍。请参照图2,为一种视频推送方法的原理图,该方法可以由终端或服务器执行,也可以由终端和服务器协同执行,本申请实施例以该方法由服务器执行为例进行说明。该原理包括:
S201,获得视频的多个视频标题。
服务器120可提前获得视频的多个视频标题,例如服务器120获取到一个新的视频,服务器120生成该视频的多个视频标题,并将视频的多个视频标题存储至数据库130中。
其中,每个视频对应的多个视频标题,多个视频标题中任意两个视频标题的关注点不同,不同是指不完全一样。信息关注点可以理解为视频标题突显的信息,任意两个视频标题例如包括视频中不同层面的信息,或者包括视频中同一层面不同对象的信息。不同层面的信息例如视频标题A侧重于视频的音频信息,而视频标题B侧重于视频的字幕信息。同一层面的不同对象的信息例如视频标题C侧重于视频的角色A的信息,视频标题D侧重于视频的角色B的信息。
S202,确定与用户的用户兴趣匹配的目标标题。
在服务器120确定某个用户的用户兴趣后,服务器120可以确定与用户的用户兴趣匹配的目标标题,从而展示用户感兴趣的目标标题。由于为不同用户展示的目标标题可能不同,或者在不同时刻为用户展示的目标标题不同,因此达到了动态地展示视频标题的效果。
下面以一个视频为例,示例性介绍S201获得该视频的多个视频标题的方式。
方式一:
服务器120根据预设标题模板生成视频标题。
服务器120可以预存一个或多个预设标题模板,或数据库130中预存有一个或多个预设标题模板,或服务器120从网络资源获取预设标题模板。预设标题模板的含义可以参照前文论述的内容,此处不再赘述。
预设标题模板对应有需要写入的信息项,服务器120可以根据预设标题模板中所需的信息项,提取视频中与各信息项对应的关键信息,将关键信息写入预设标题模板中的对应的信息项中,生成视频标题。
例如预设标题模板中包括知识产权(Intellectual Property,IP)对应的信息项,那么按照该方式可以突出视频的知识产权(Intellectual Property,IP)信息,IP信息例如剧名、游戏名、综艺节目、栏目、演员或角色等中的一种或多种的组合。具体例如预设标题模板为《{剧名}》{主要演员姓名},服务器120可以根据获得的视频的IP信息,将视频的IP信息写入该预设标题模板,生成视频标题,比如《XX剧》演员A。
由于预设标题模板中的信息项可能包括视频各方面的信息,因此服务器120可能需要提取视频各方面的关键信息,将这些关键信息写入预设标题模板。例如预设标题模板中的信息项对应的信息可以包括从视频帧、音频、字幕、弹幕或评论中的一种或多种中提取得到的关键信息,下面提取关键信息分别进行示例介绍。
(1)从视频帧中提取关键信息:
服务器120可以对视频帧进行目标识别,识别出视频帧中的目标,将视频帧中的目标作为视频帧的关键信息。目标包括视频帧中的人物姓名或物品名称等。
(2)从音频中提取关键信息:
服务器120将音频转换为文本,提取文本中的关键信息,以获得音频中的关键信息。
(3)从字幕中提取关键信息:
对视频画面中字幕进行光学字符识别(Optical Character Recognition,OCR),获得字幕中的关键信息。
或者,服务器120从数据库130中,获得视频关联的字幕文件,从字幕文件中提取出关键信息,以获得字幕中的关键信息。
(4)从评论或弹幕中提取关键信息:
其中,评论或弹幕中的关键信息的获取方式也可以参照获取字幕中的关键信息的方式,此处不再赘述。
该方式一中是受限于预设标题模板生成视频标题,生成视频标题简单和快速。且,预设标题模板包括哪种信息项,则该方式生成的视频标题则可以突出对应的信息。
由于上述方式是采用填写预设标题模板的方式生成视频标题,可能会生成某些重复度较高的视频标题,在本申请实施例中,服务器120在生成多个视频标题之后,可以确定每两个视频标题之间的重复度,如果两个视频标题的重复度大于或等于预设重复度,则删除两个视频标题中的任一视频标题。重复度例如确定两个视频标题的向量表示之间的相似度获得,视频标题的向量表示例如通过嵌入学习得到。
例如,服务器120中存储有预设标题模板为《{剧名}》{角色}{插曲名称}{故事情节},服务器120可以根据上述方式获得的视频的剧名为XX,角色为A,插曲名称为C,以及故事情节为喝酒,服务器120获得的信息写入该预设标题模板,生成视频标题,其具体为:《XX剧》角色A插曲C喝酒。
或者,服务器120预先获得了各视频的知识图谱,知识图谱中存储有多个视频中每个视频各角色关联的对象,对象例如角色对应的演员,角色对应的演员的粉丝昵称,角色对应的昵称等。服务器120提取包括视频的角色的关键信息后,服务器120通过查找知识图谱,获得该视频中角色关联的对象,再将获得的对象替换到预设标题模板中,从而获得视频标题。该方式能够生成数量更多且内容更丰富的视频标题。
方式二:
对预设原始标题进行改写,生成视频标题。
预设原始标题例如数据库130中已存储的视频的视频标题,或通过上述方式一获得任意的视频标题等。服务器120根据视频的关键信息,对预设原始标题进行改写,从而生成更多的视频标题。视频的关键信息的获得方式可以参照前文方式一中论述的内容,此处不再赘述。
例如,预设原始标题为《XX剧》角色A,服务器120获得该视频中的主角还包括角色C,因此服务器120可以将预设原始标题中的“角色A”改写为“角色C”,从而获得该视频的另一视频标题。
在一种可能的实施例中,服务器120可以将预设原始标题中的部分或全部信息替换为该视频的对应类型的关键信息,以达到改写的目的,这种改写方式简单直接。
在另一种可能的实施例中,服务器120对视频的关键信息和预设原始标题进行深度学习,达到对预设原始标题改写的目的,生成更为丰富的视频标题。具体通过深度学习后的标题改写模型对预设原始标题进行改写,以生成更多的视频标题,下面对标题改写模型改写预设原始标题的过程进行示例介绍:
由于视频的关键信息和预设原始标题的形式通常为文本,而标题改写模型通常无法直接处理文本,因此服务器120在对关键信息和预设原始标题进行深度学习之前,可以将关键信息以及预设原始标题转换为序列表示。转换为序列表示的方式例如嵌入学习或其它任意方式。为了便于描述,将关键信息转换为序列表示后的结果称为关键信息序列,将预设原始标题转换为序列表示后的结果称为第二标题序列。序列以及转换为序列表示的方式可以参照前文论述的内容,此处不再赘述。
进一步地,服务器120对关键信息序列和第二标题序列进行深度学习,获得输入隐状态序列。
具体地,服务器120可以对通过编码器对关键信息序列和第二标题序列进行编码。编码器编码时,编码器可以包括一个编码单元,或者编码器包括多个编码单元,当编码器包括多个编码单元时,各个编码单元之间的输入和输出之间存在一定的关联,各个编码单元的处理过程可以视为多个离散的小过程,每一个小过程所需的时间可以理解为时间步,例如各个编码单元输出各个时间步上的输入隐状态,各个时间步上的输入隐状态组合成输入隐状态序列。
例如,关键信息序列和第二标题序列组成的序列为{x1,…,xt},例如xt是组合后的序列中的第t个。在t个时间步,将输入xt和上个时间步的隐状态ht-1变换为当前时间步的隐状态ht。依次类推,获得各个时间步上的隐状态,隐状态又可以称为隐藏状态。
在编码器输出输入隐状态序列之后,解码器可以对输入隐状态序列进行解码,获得输出隐状态序列。
具体地,解码器中各个解码单元可以基于隐状态序列,预测各个时间步的输出隐状态,各个时间步的输出隐状态组成输出隐状态序列。
示例性地,解码器将上一时间步的输出、对应的输入隐状态作为输入、以及上一时间步的隐状态进行变换,输出当前时间步的隐状态。依次类推,获得各个时间步上的隐状态。
在一种可能的实施例中,可以直接基于解码器输出的输出隐状态序列预测各个位置上的字符串,从而获得标题改写模型输出的标题改写序列。
但是由于解码器解码的过程中,会具有一定的随机性,可能导出输出的结果与编码器的输出的关联性不大,因此在本申请实施例中,服务器120可以根据复制注意力权重矩阵和输入隐状态序列,对输出隐状态序列进行调整,得到标题改写序列。
具体地,服务器120根据复制注意力权重矩阵对输入隐状态序列进行转换,转换例如用复制注意力权重矩阵乘以输入隐状态序列,再利用转换后的输入隐状态序列,调整输出隐状态序列,调整例如利用输入调整后的输入隐状态序列乘以输出隐状态序列,或者是利用输入调整后的输入隐状态序列加上输出隐状态序列。调整输出隐状态序列后,可以预测各个位置上的字符串,组合各位置上的字符串,进而获得标题改写序列。
在本申请实施例中,由于复制注意力权重矩阵学习有输入隐状态和输出隐状态之间的关联属性,因此复制注意力权重矩阵对输入隐状态序列和输出隐状态序列进行处理,可以约束解码器的输出,增强编码器的输出和解码器的输出之间关联,提高解码器输出结果的准确性。且,能够在处理过程中,增加复制注意力权重矩阵,相当于增加了一个随机扰动,有利于生成区别度更高的视频标题。
解码器在输出标题改写序列时,实际上是预测各个位置上的字符串,解码器可以直接输出各个位置上概率最大的字符串,或者解码器采用束搜索(BeamSearch),输出每个位置上概率阈值范围内的多个字符串,这样一来,每个位置上都能输出一个或多个字符串,将这些位置上的字符串进行组合,解码器一次性就可以输出多个标题改写序列,从而提高生成视频标题的效率。
在服务器120获得标题改写序列,可以将标题改写序列转换为文本,获得视频标题。将序列转换为文本的方式与文本转换为序列的过程相反,可以利用序列映射数据库实现。
作为一种实施例,标题改写模型例如采用Transformer实现。请参照图3,为Transformer的一种结构示意图,该标题改写模型包括第三编码器310、复制注意力单元320和第二解码器330。
第三编码器310用于对关键信息序列和第二标题序列进行编码,获得输入隐状态序列。第二解码器330用于对输入隐状态序列进行解码,获得输出隐状态序列。复制注意力单元320用于对输入隐状态序列进行转换。第二解码器330根据转换后的输入隐状态序列,调整输出隐状态序列,得到标题改写序列。
上述的任一的标题改写模型是服务器120从网络资源获得的,或从其他设备获得的,或通过样本数据进行训练得到的,下面对服务器120训练标题改写模型的过程进行介绍:
第一步:获得第二样本数据。
第二样本数据包括样本视频的样本关键信息、样本视频的多个样本视频标题。其中,样本视频的样本关键信息的获取方式可以参照前文获取视频的关键信息的方式,此处不再赘述。
其中涉及到如何获得样本视频的多个样本视频标题。服务器120可以通过人工获得样本视频的视频标题,具体通过获取人工输入的针对一个视频的多个视频标题。或者,服务器120可自动获得样本视频的多个样本视频标题。
具体的,服务器120可以检测数据库130中的多个预存视频与样本视频的重复度,确定与样本视频的重复度较高的预存视频,将确定出的预存视频的视频标题确定为该样本视频的样本视频标题。重复度可以理解为两个视频的视频内容之间的相同程度。
由于每个预存视频包括的视频内容主要是由视频帧体现,因此在本申请实施例中可以组合视频帧的特征值来表示视频内容,确定两个视频之间的重复度时,直接计算各视频帧之间的特征值之间的重复度。
示例性地,服务器120可以组合预存视频中各视频帧的特征值,获得预存视频的指纹序列。各视频帧可以采用预存视频中的关键帧,或者按照固定帧数间隔采集预设视频中的视频帧。获得视频帧的特征值有多种方式,下面对获得视频帧的特征值的方式进行示例说明:
1、获取视频帧的特征向量。
视频帧的特征向量可以是对视频帧的特征值进行组合得到的,比如组合视频帧的灰度值,或者例如可以通过特征提取模型对视频帧进行特征提取得到的。特征提取模型例如ResNet或InceptionNet等特征模型。
2、通过预设算法,将特征向量转换为特征值。
服务器120将获得的视频帧的特征向量通过预设函数转换为值,从而获得视频帧的特征值,预设算法比如各种加密算法等,具体例如哈希(hash)算法。该特征值又可以称为指纹值,指纹值相同的两个视频帧的内容相近或相同。
在服务器120获得各视频帧的特征值之后,可以组合各视频帧的特征值,从而获得视频的指纹序列。进而服务器120计算预存视频的指纹序列和样本视频的指纹序列的重复度,将满足重复度阈值的预存视频的视频标题确定为样本视频的视频标题。
需要说明的是,样本视频泛指任意视频,样本视频可以是数据库130中的一个或多个预存视频。样本视频的指纹序列的获得方式可以参照预存视频的指纹序列的获得方式,此处不再赘述。
下面对确定样本视频的视频标题的方式进行示例说明:服务器120对预存视频进行抽帧,如每1秒抽取一视频帧,以获得预存视频的多个视频帧。将多个视频帧中各个视频帧通过ResNet模型提取特征,获得视频帧的特征向量,特征向量具体例如为1024维浮点数的向量,再将特征向量通过Hash函数转换为整数值特征,将该整数值特征作为该视频帧的特征值,又可以称为视频帧的指纹值。组合多个视频帧中各视频帧的指纹值,从而获得该预存视频的指纹序列。确定该预存视频和样本视频的指纹序列的重复度,如果该重复度大于或等于重复度阈值,则将该预存视频的视频标题确定为样本视频的样本视频标题。
作为一种实施例,服务器120根据预存视频和样本视频的指纹序列,以及根据各视频的唯一标识,生成倒排索引。
具体的,数据库130中存储有视频标识,以及视频对应的视频标题等,在生成视频的指纹序列后,服务器120可以将视频对应的指纹序列关联存储对应的视频标识,并构建倒排索引,即将视频的指纹序列作为索引,而视频的视频标识或是视频的其它信息作为被索引的内容。
服务器120在构建倒排索引之后,在需要确定样本视频的多个视频标题时,服务器120可以利用基于通过弹性搜索(ElasticSearch)快速检索出与样本视频的指纹序列重复度较高的预存视频。由于ElasticSearch可以基于输入,从数据库130中检索出与输入相似度较高的结果,在本申请实施例中利用ElasticSearch进行检索,可快速地检索出于样本视频的指纹序列相近的预存视频。
上述实施例中。可通过查询样本视频的指纹序列,如果找到指纹序列重复度满足阈值的预存视频,保留与样本视频的视频标题不一样的视频标题,从而获得样本视频的多个样本视频标题。
为了便于更清楚地理解第二样本数据,一种第二样本数据的示例如下表1:
表1
视频 |
视频标题 |
视频v1 |
1,2,3 |
视频v2 |
1,2,3,4 |
视频v3 |
1,2 |
视频vn |
1,2,3,4,5 |
第二步:将样本视频的样本关键信息转换为序列表示,获得样本关键信息序列;以及将样本视频的多个样本视频标题转换为序列表示,获得样本标题序列。
转换为序列表示的方式可以参照前文论述的内容,此处不再赘述。为了便于表示,下面对以样本视频的多个样本视频标题包括第三样本视频标题和第四样本视频标题。为了便于描述,第三样本视频标题的序列表示称为第三样本标题序列,第四样本视频标题的序列表示称为第四标题序列。
第三步:通过第三编码器310对样本关键信息序列,以及第三标题序列进行编码,获得样本输入隐状态序列。
对样本关键信息序列以及第三标题序列进行编码的方式可以参照前文论述的对关键信息序列以及第二标题序列进行编码的的内容,此处不再赘述。
第四步:通过第二解码器330对样本输入隐状态序列进行解码,获得样本输出隐状态序列。
对样本输入隐状态进行编码的内容可以参照前文对输入隐状态进行解码的内容,此处不再赘述。
第五步:根据复制注意力单元320,对样本输入隐状态序列进行转换,并根据转换后的样本输入隐状态序列,对样本输出隐状态序列进行调整,得到样本标题改写序列。
对样本输入隐状态序列进行转换,以及对样本输出隐状态序列进行调整的方式可以参照前文论述的内容,此处不再赘述。
第六步:根据样本标题改写序列和第四标题序列,调整标题改写模型,直到标题改写模型收敛,获得已训练的标题改写模型。
根据样本标题改写序列,以及第四标题序列之间的误差,调整标题改写模型中第三编码器310、第二解码器330以及复制注意力单元320的参数,直到标题改写模型的损失满足目标损失,或标题改写模型的学习率达到预设条件,或标题改写模型的训练次数达到预设次数等,获得已训练的标题改写模型。
通过上述一种或多种方式获得的部分视频标题可能与视频的内容的关联性不大,关联性不大的视频标题可能会误导用户点击视频,但用户因标题与视频的内容不符,进而放弃观看视频,影响视频的完播率以及用户体验,因此本申请实施例中根据视频标题与视频之间的相关性,筛选出与视频关联度较大的视频标题,服务器120保留多个视频标题中与视频关联度较高的视频标题。
具体的,服务器120将每个视频标题转换为序列表示,获得第五标题序列,并将视频的关键信息转换为序列表示,获得关键信息序列,计算第五标题序列和关键信息序列之间的相似度,将该相似度满足相似度阈值的视频标题确定为该视频的视频标题。
或者,服务器120通过关联度判别模型确定第五标题序列和关联信息序列之间的关联度。请参照图4,为关联度判别模型的一种结构示意图,该关联度判别模型包括第四编码器410和第二全连接网络420。
第四编码器410对第五标题序列和关键信息序列进行编码,第二全连接网络420对该编码输出进行变换,变换比如线性变换或非线性变换,从而输出视频标题和关键信息之间的关联度。该方式中确定视频标题和关键信息的深层次关联性,而不是局限与文字表面的关联性,有利于提高确定关联度的准确性,筛选出更准确的视频标题。
进一步的,图4中的关联度判别模型可以从网络资源或其它设备获得的,或者服务器120通过提前训练得到的,下面对服务器120训练该关联度判别模型的过程进行说明。
S1.1,服务器120获得第三样本数据。
第三样本数据包括各样本视频样本的视频标题、本视频的关键信息、以及样本视频与样本视频标题的关联度标签。应当说明的是,第三样本数据中包括的样本视频、第二样本数据中包括的样本视频和第一样本数据中包括的样本视频可以是相同的视频,或也可以是不同的视频。
作为一种实施例,第三样本数据包括正样本视频和负样本视频,正样本视频例如可选用点击率和播放完成度较高的视频,负样本例如可选用点击率低和播放完成度较低的视频。
例如一种第三样本数据具体示例如下表2:
表2
视频 |
视频标题 |
关联度标签 |
视频v1 |
1 |
1 |
视频v1 |
2 |
0 |
视频v2 |
3 |
1 |
视频v2 |
4 |
0 |
视频v2 |
5 |
0 |
视频vn |
6 |
1 |
视频vn |
7 |
0 |
S1.2,将样本视频标题转换为序列表示,获得样本标题序列,以及将样本视频的样本关键信息转换为序列表示,获得样本关键信息序列。
S1.3,服务器120训练关联度判别模型。
服务器120通过第四编码器410对样本视频标题和样本关键信息序列输入第四编码器410进行编码,获得编码输出。
通过第二全连接网络420,对编码输出进行变换,获得样本视频标题和样本视频之间的关联度。
根据预测出的关联度和关联度标签,调整关联度判别模型的参数,直到关联度判别模型收敛,获得已训练的关联度判别模型。
服务器120根据预测出的关联度和关联度标签之间的误差,确定关联度判别模型的损失,损失例如可以用交叉熵损失等表示,根据损失,调整参数,直到损失满足目标损失,获得已训练的关联度判别模型。或者训练次数达到设定次数,视为关联度判别模型收敛。
在获得视频的多个视频标题后,由于各视频标题对应的信息关注点不同,而各个用户感兴趣的内容也不同,因此本申请实施例中在向用户展示视频时,从当前视频动态标题候选中选择最符合用户兴趣的标题进行展示,下面对S202中确定与用户兴趣匹配的目标标题进行示例说明。
服务器120分别确定用户兴趣标签与各视频标题之间的相关度,将相关度满足相关度阈值的视频标题确定为目标标题。用户兴趣标签可以参照前文论述的内容,此处不再赘述。
其中,确定用户兴趣标签与每个视频标题之间的相关度的方式相同,下面以确定用户兴趣标签与一个视频标题间的相关度为例进行介绍。
例如,服务器120可以将用户兴趣标签转换为序列表示,获得兴趣标签序列,将视频标题转换为标题序列表示,获得第一标题序列。服务器120确定兴趣标签序列和第一标题序列之间的相似度,将确定出的相似度确定为用户兴趣标签与该视频标题的关联度。
或者例如,服务器120对标题序列和兴趣标签序列进行深度学习,再确定二者之间的相关度。
具体的,将视频标题转换为序列表示,获得第一标题序列,并对第一标题序列进行编码,获得标题深度表示。
将目标用户的各个兴趣标签转换为编码序列表示,获得兴趣标签序列,并对兴趣标签序列进行编码操作,获得兴趣深度表示。
对兴趣深度表示与标题深度表示进行变换,获得视频标题与用户兴趣之间的相关度。变换例如非线性变换或线性变换。
上述过程可以通过匹配模型实现。请参照图5,表示一种匹配模型的结构示例图,该匹配模型包括第一编码器510、第二编码器520和第一全连接网络530。第一编码器510和第二编码器520例如采用transformer中的编码器结构。
第一编码器510对第一标题序列进行深度编码,获得标题深度表示。
同理,第二编码器520对兴趣标签序列进行深度编码,获得兴趣深度表示。
第一全连接网络530对兴趣深度表示与标题深度表示进行变换,获得视频标题与用户兴趣之间的相关度。
匹配模型根据兴趣标签序列和标题序列,输出用户对此标题的相关度,该相关度可以进一步理解为用户对该视频标题的感兴趣程度。
在确定用户与各视频标题的相关度之后,可以从满足相关度阈值的视频标题中选择目标标题,例如可选择相关度最高的视频标题作为目标标题,或者例如选择相关度大于或等于相关度阈值的视频标题作为目标标题。
上述的匹配模型可以是服务器120通过其它设备或网络资源获得的,或服务器120提前训练得到的,下面对服务器120训练得到该匹配模型的过程进行示例说明。
S2.1,获得第一样本数据。
第一样本数据包括各样本视频的样本视频标题、用户的兴趣标签、以及用户与样本视频的相关度标签。
例如,这里的样本视频可以根据用户的播放行为相关的视频,包括正样本和负样本,正样本例如用户点击过的视频的视频标题,负样本例如用户没有点击过的视频的视频标题。
S2.2,将样本视频标题转换为序列表示,获得样本标题序列;以及,将兴趣标签转换为序列表示,获得兴趣标签序列。
S2.3,通过第一编码器510对兴趣标签序列进行编码操作,获得兴趣深度表示;以及,通过第二编码器520对样本标题序列进行编码操作,获得样本标题深度表示。
S2.4,通过第一全连接网络530,对兴趣深度表示和样本标题深度表示进行变换,预测用户与样本标题的相关度。
S2.5,根据预测出的相关度和相关度标签,调整匹配模型的参数,直到匹配模型收敛,获得已训练的匹配模型。匹配模型收敛例如匹配模型的损失达到目标损失,或训练次数达到预设次数等。
应当说明的是,用户兴趣在不同时间用户兴趣不同,因此在训练个模型过程中的用户兴趣和在使用各模型时的用户兴趣可能是不完全相同的。
应当说明的是,上述图2是对视频推荐过程中各类数据的获取方式进行介绍,在执行视频推荐过程中,并不一定会执行上述图2中的各个步骤。
基于上述论述场景以及图2论述的原理,下面对本申请实施例涉及的视频推送方法进行示例介绍,请参照图6所示的方法流程图,该方法可以由终端或服务器执行,也可以由终端和服务器协同执行,本申请实施例以该方法由服务器执行为例进行说明。该方法包括:
S601,确定目标用户的待推送视频。
当用户想要查看某个视频或请求推荐视频时,服务器120确定为用户推送的待推送视频。
S602,获得预先为待推送视频配置的至少两个视频标题。
服务器120可以通过图2论述的任一方式实时获得待推送视频的至少两个视频标题,或者从数据库130中获得与待推送视频对应的至少两个视频标题。
S603,从至少两个视频标题中,确定与目标用户的用户兴趣匹配的目标标题。
服务器120可以从两个视频标题中,匹配出该目标用户感兴趣的目标标题,匹配方式可以参照前文论述的任一方式,此处不再赘述。
S604,以目标标题作为待推送视频的标题,向目标用户推送待推送视频。
服务器120在确定目标标题以及待推送视频之后,服务器120以该目标标题作为待推送视频的标题,并向目标用户推送该待推送视频。
在图6所示的实施例中,通过为用户推荐该用户感兴趣的标题,一则提升视频标题的吸引力,二则能增加视频的吸引力,使得推荐的视频标题及视频更准确,进而提升用户点击视频的可能性,进一步提升视频的点击率和完播率等。
在图2论述的处理原理的基础上,并结合上述第一种可能的实施场景,下面结合图7所示的为服务器120和终端110之间的交互示意图,对本申请实施例中的视频推送方法进行示例说明:
S701,终端110响应于目标用户的目标操作,生成视频推送请求。
例如当目标用户想要被推荐视频,可进行下拉操作或下滑操作等,相当于目标用户进行了目标操作,或者例如目标用户想要观看某个视频时,可以进行获取该视频的操作,该操作相当于目标操作,终端110响应于该目标操作,确定需要为目标用户推送视频,生成视频推送请求。
视频推送请求用于请求为该目标用户推送视频。该视频获取请求包括该目标用户的用户标识,或该终端110的设备标识等。当用户是针对某个视频进行的获取的操作时,该视频推送请求还包括该视频的视频标识等。
例如,请参照图8,表示终端110的视频展示界面,目标用户在该显示界面沿着图8所示的虚线方向进行下滑操作,终端110响应于该下滑操作,生成视频推送请求。
S702,终端110将视频推送请求发送给服务器120。
S703,服务器120确定待推送视频。
服务器120在接收视频推送请求之后,根据该目标用户的用户画像,确定待推送视频,或者根据该目标用户的用户兴趣,确定待推送视频。待推送视频可以是一个或多个。或者如果视频推送请求中携带有视频标识,则该视频标识对应的视频即为待推送视频。
S704,服务器120获得待推送视频的多个视频标题。
服务器120可以在获得待推送视频之后,可以从数据库130获得该待推送视频的多个视频标题,数据库130中视频的多个视频标题的来源方式可以参照前文图2论述的任意一种或多种方式,此处不再赘述。
S705,服务器120确定与目标用户的用户兴趣匹配的目标标题。
用户兴趣的含义、确定目标标题的方式可以参照前文论述图2论述的内容,此处不再赘述。
S706,服务器120将待推送视频以及目标标题推送给终端110。
服务器120将待推送视频发送给终端110,或将待推荐视频的视频标识发送给终端110。
S707,终端110显示待推送视频和目标标题。
终端110可以关联显示待推送视频和目标视频,例如将目标标题显示在待推送视频中的视频画面中。
作为一种实施例,目标用户对应的目标标题包括多个时,终端110可以将设置多个目标标题的显示时长,实现动态地显示多个目标标题。或者终端110在一个视频画面中同时显示多个目标标题。
例如,继续参照图8所示的例子,当用户A进行目标操作后,客户端可以为该用户推荐视频,客户端接收待推荐视频以及目标标题后,显示如图9A所示的客户端的视频展示界面,该视频展示界面中包括待推荐视频910和该待推荐视频的目标标题920,具体如图9A中的“《剧XX》角色A来送酒,用避尘敲门这个动作超级萌”。
例如,当用户B进行目标操作后,客户端为该用户B推荐如图9B中待推荐视频910,以及在该视频画面中展示的如图9B中所示的目标标题930,具体如图9B中所示的“《剧XX》角色A与角色B饮酒,萌翻了”。
例如,当用户C进行目标操作后,客户端为该用户C推荐待推荐视频910,以及在该视频画面中展示的如图9C中所示的目标标题940,具体如图9C中所示的“《剧XX》演员C与演员D两翩翩少年把酒言欢”。
在图7论述的实施例中,服务器120基于数据库130中存储的视频对应的多个视频标题,为用户确定出其感兴趣的目标标题,再将目标标题以及待推荐视频一并反馈给终端110,一方面由于目标标题与用户的兴趣相匹配,能够提升视频标题对该用户的吸引力,也能提升视频对该用户的吸引力,有利于提高视频的点击率。且终端110只需显示视频以及标题,可减少终端110的处理量。
在图2论述的处理原理的基础上,并结合上述第二种可能的实施场景,下面结合图10所示的服务器120和终端110之间的交互示意图,对本申请实施例涉及的视频推送方法进行示例介绍:
S1001,响应于目标用户的目标操作,生成视频推荐请求。
目标操作、视频推荐请求可以参照图7论述的内容,此处不再赘述。
S1002,终端110将视频推荐请求发送给服务器120。
S1003,服务器120确定待推荐视频。
服务器120确定本次为目标用户的待推荐视频。确定待推荐视频的方式可以参照图7论述的内容,此处不再赘述。
S1004,服务器120将待推荐视频发送给终端110。
服务器120发送待推荐视频时,可以将待推荐视频的多个视频标题一并发送给终端110,终端110接收并存储至缓存。或者,服务器120定时会同步每个视频的多个视频标题至终端110的缓存中。
S1005,终端110获得待推荐视频的多个视频标题。
终端110可从缓存中获得待推荐视频的多个视频标题,或者终端110可以基于图2论述的任一方式获得视频的多个视频标题。
S1006,终端110确定与目标用户的用户兴趣匹配的目标标题。
终端110可以存储有用户兴趣,按照前文图2论述的任一方式确定出与该用户兴趣匹配的目标标题。
S1007,终端110显示待推荐视频和目标标题。
显示方式可以参照前文论述的内容,此处不再赘述。
图10论述的实施例中,终端110确定出的目标标题是与目标用户的用户兴趣匹配的,提升了视频标题以及视频的吸引力。且,由终端110确定该目标用户的目标标题,可以简化服务器120的处理量。
基于同一发明构思,本申请实施例中提供一种视频推送装置,请参照图11,该装置1100包括:
第一确定模块1101,用于确定目标用户的待推送视频;
获得模块1102,用于获得预先为待推送视频配置的至少两个视频标题;
第二确定模块1103,用于从至少两个视频标题中,确定与目标用户的用户兴趣匹配的目标标题;
推送模块1104,用于以目标标题作为待推送视频的标题,向目标用户推送待推送视频。
在一种可能的实施例中,第二确定模块1103具体用于:
分别确定各个视频标题与用户兴趣之间的相关度;
在相关度满足相关度阈值的视频标题中选择目标标题。
在一种可能的实施例中,第二确定模块1103具体用于:
将任一视频标题转换为序列表示,获得第一标题序列,并对第一标题序列进行编码,获得标题深度表示;
将目标用户的各个兴趣标签转换为序列表示,获得兴趣标签序列,并对兴趣标签序列进行编码,获得兴趣深度表示;
对兴趣深度表示与标题深度表示进行变换,获得任一视频标题与用户兴趣之间的相关度。
在一种可能的实施例中,任一视频标题与用户兴趣之间的相关度是通过已训练的匹配模型获得的,匹配模型包括第一编码器、第二编码器和第一全连接网络,已训练的匹配模型是通过如下方式训练得到的:
获得第一样本数据;其中,第一样本数据包括样本视频的样本视频标题、目标用户的各个兴趣标签、以及目标用户和样本视频的相关度标签;
将样本视频的样本视频标题转换为序列表示,获得样本标题序列,并将目标用户的各个兴趣标签转换为序列表示,获得兴趣标签序列;
通过第一编码器,对兴趣标签序列进行编码,获得兴趣深度表示;以及,通过第二编码器对样本标题序列进行编码,获得样本标题深度表示;
通过第一全连接网络,对兴趣深度表示和样本标题深度表示进行变换,预测目标用户与样本视频的相关度;
根据预测出的相关度和相关度标签,调整匹配模型的参数,直到匹配模型收敛,获得已训练的匹配模型。
在一种可能的实施例中,获得模块1102具体用于:
根据待推送视频的关键信息,获得至少两个视频标题。
在一种可能的实施例中,获得模块1102具体用于通过如下一种或两种方式获得视频标题:
根据关键信息,对待推送视频的预设原始标题进行改写,生成视频标题;或,
根据关键信息和预设标题模板,生成视频标题。
在一种可能的实施例中,获得模块1102具体用于:
将关键信息转换为序列表示,获得关键信息序列;以及,将预设原始标题转换为序列表示,获得第二标题序列;
对关键信息序列和第二标题序列进行编码,获得输入隐状态序列;
对输入隐状态序列进行解码,获得输出隐状态序列;
根据复制注意力权重矩阵对输入隐状态序列进行转换,并根据转换后的输入隐状态序列,调整输出隐状态序列,得到标题改写序列;
根据标题改写序列,生成视频标题。
在一种可能的实施例中,对预设原始标题进行改写是通过标题改写模型实现的,标题改写模型包括第三编码器、注意力单元和第二解码器,标题改写模型是通过如下方式训练得到的:
获得第二样本数据;其中,第二样本数据包括样本视频的样本关键信息和样本视频的至少两个样本视频标题;
将样本关键信息转换为序列表示,获得样本关键信息序列;以及,将样本视频的至少两个样本视频标题中各个样本视频标题分别转换为序列表示,获得样本标题序列;
通过第三编码器,对样本关键信息序列和任一样本标题序列进行编码,获得样本输入隐状态序列;
通过第二解码器,对样本输入隐状态序列进行编码,获得样本输出隐状态序列;
根据复制注意力单元,对样本输入隐状态序列进行转换,并根据转换后的样本输入隐状态序列,对样本输出隐状态序列进行调整,得到样本标题改写序列;
根据样本标题改写序列,以及至少两个样本视频标题中除了任一样本标题序列之外的标题序列,调整标题改写模型,直到标题改写模型收敛,获得已训练的标题改写模型。
在一种可能的实施例中,样本视频的至少两个样本视频标题通过如下方式获得的:
确定至少两个预存视频中每个预存视频的指纹序列;每个预存视频的指纹序列是根据预存视频中视频帧的特征值得到的;
确定指纹序列与样本视频的指纹序列重复度大于或等于重复度阈值的预存视频;
将确定出的预存视频的视频标题确定为样本视频的样本视频标题。
在一种可能的实施例中,获得模块1102具体用于:
将关键信息写入预设标题模板,生成视频标题;或,
将知识图谱中与关键信息中的角色对应的对象,替换到预设标题模板中,生成视频标题;其中,知识图谱存储有各视频中每个角色关联的对象。
在一种可能的实施例中,获得模块1102还用于:
确定每个视频标题与关键信息的关联度;
将关联度满足关联度阈值的视频标题确定为待推送视频的至少两个视频标题。
在一种可能的实施例中,每个视频标题与关键信息的关联度是通过关联度判别模型获得的,关联度判别模型包括第四编码器和第二全连接网络,关联度判别模型是通过如下方式训练得到的:
获得第三样本数据;其中,第三样本数据包括样本视频的样本视频标题、样本视频的关键信息、以及样本视频和样本标题的关联度标签;
将样本视频的关键信息转换为序列表示,获得关键信息序列表示;以及,将样本视频的样本视频标题转换为序列表示,获得样本标题序列表示;
通过第四编码器,对关键信息序列和样本标题序列进行编码,获得编码输出;
通过第二全连接网络,对编码输出进行变换,预测样本视频标题与样本视频的关联度;
根据预测出的关联度和关联度标签,调整关联度判别模型的参数,直到关联度判别模型收敛,获得已训练的关联度判别模型。
除此之外,上述视频推送装置1100还可以执行上述任一的视频推送方法,此处不再赘述。
本申请实施例中视频推送装置1100通过为用户推送用户感兴趣的视频标题,提高了用户对推送的视频的感兴趣的可能性,推荐更准确,有利于提高视频的吸引力。
基于同一发明构思,本申请实施例提供一种视频推送装置,请参照图12,该视频推送装置1200包括:
获得模块1201,用于响应于目标用户的目标操作,获得与目标操作相关的待推送视频;并,
展示模块1202,用于展示待推送视频,以及待推送视频的目标标题;其中,目标标题是待推送视频的至少两个视频标题中与目标用户的用户兴趣匹配的视频标题。
除此之外,上述视频推送装置1200还可以执行上述任一的视频推送方法,此处不再赘述。
本申请实施例中的视频推送装置1200可以直接向用户展示与用户兴趣匹配的视频标题,提高了用户对视频的感兴趣程度,推荐更准确,进而有利于提升视频的点击率等。
基于同一发明构思,本申请实施例还提供了一种计算机设备。该计算机设备可以是前文描述的服务器或终端。
请参照图13,计算机设备1300以通用计算机设备的形式表现。计算机设备1300的组件可以包括但不限于:至少一个处理器1310、至少一个存储器1320、连接不同系统组件(包括处理器1310和存储器1320)的总线1330。
总线1330表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储器1320可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)1321和/或高速缓存存储器1322,还可以进一步包括只读存储器(ROM)1323。存储器1320还可以包括具有一组(至少一个)程序模块1325的程序/实用工具1326,这样的程序模块1325包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。处理器1310用于执行存储器1320存储的程序指令等实现前文论述的视频推送方法,还可以用于实现图10或图11中装置的功能。
计算机设备1300可以与一个或多个外部设备1340(例如键盘、指向设备等)通信,和/或也可以通过其它设备与任何进设备进行通信。其它设备例如路由器或调制解调器等。这种通信可以通过输入/输出(I/O)接口1350进行。并且,计算机设备1300还可以通过网络适配器1360与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1360通过总线1330与用于计算机设备1300的其它模块通信。应当理解,尽管图中未示出,可以结合计算机设备1300使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
基于同一发明构思,本申请实施例提供一种存储介质,所述存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行前文论述的视频推送方法。
基于同一发明构思,本申请实施例提供一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一的视频推送方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。