视频推荐方法及计算机可读存储介质与流程

文档序号:20216606发布日期:2020-03-31 11:59阅读:136来源:国知局
视频推荐方法及计算机可读存储介质与流程
本申请涉及视频推荐
技术领域
,具体而言,涉及一种视频推荐方法及装置、电子设备、计算机可读存储介质。
背景技术
:在视频推荐系统中,视频通常附有视频标签,这些视频标签从不同的方面和粒度突出了视频的主题内容,基于视频的视频标签可以有效地发现视频之间的关联性,因此根据视频标签可以实现关联视频的推荐,例如推荐含有相同视频标签的视频对于视频推荐系统中的视频,通常是根据视频的内容和标题等信息为视频生成候选标签集,例如视频的内容可以是视频中的图像、音频,然后通过对候选标签集中的候选标签进行排序,将指定排名的候选标签获取为该视频的视频标签。由上可以看出,视频标签的生成过程更侧重于静态的视频内容挖掘,忽略了视频推荐系统中于用户相关的个性化信息,使得在根据视频标签进行的视频推荐过程中难以捕捉用户在不同方面的兴趣度,难以实现精确的个性化视频推荐。技术实现要素:为解决现有技术中难以实现精确的个性化视频推荐的技术问题,本申请的实施例提供了一种视频推荐方法、装置、电子设备以及计算机可读存储介质。本申请基于用户历史观看行为对视频标签进行排序和筛选,并根据筛选得到的视频标签进行视频推荐,在很大程度上提升了个性化视频推荐的准确性。其中,本申请所采用的技术方案为:一种视频推荐方法,包括:根据终端主页上触发选中的目标视频,所述终端跳转至所述目标视频关联的视频页面;获取针对所述目标视频进行视频推荐的推荐标签,所述推荐标签是根据用户历史观看行为数据对所述目标视频含有的候选标签进行排序,并根据排序结果对所述候选标签进行筛选得到的;在所述视频页面展示所述推荐标签;根据所述视频页面上触发选中的所述推荐标签,跳转至所述推荐标签关联的推荐视频页面。一种视频推荐装置,包括:第一页面跳转模块,用于根据终端主页上触发选中的目标视频,使所述终端跳转至所述目标视频关联的视频页面;推荐标签获取模块,用于获取针对所述目标视频进行视频推荐的推荐标签,所述推荐标签是根据用户历史观看行为数据对所述目标视频含有的候选标签进行排序,并根据排序结果对所述候选视频标签进行筛选得到的;推荐标签展示模块,用于在所述视频页面展示所述推荐标签;第二页面跳转模块,用于根据所述视频页面上触发选中的所述推荐标签,跳转至所述推荐标签关联的推荐视频页面。一种电子设备,包括处理器及存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如上所述的视频推荐方法。一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行如上所述的视频推荐方法。本申请所采用的技术方案具有如下有益效果:在上述技术方案中,目标视频对应的视频页面中展示有针对目标视频进行视频推荐的推荐标签,这些推荐标签是根据用户历史观看行为数据对目标视频所含有的候选标签进行排序,并根据排序结果对候选标签进行筛选得到的,因此这些推荐标签能够在很大程度上与用户观看视频的兴趣度相符合,在根据这些推荐标签进行的视频推荐过程中,所得到的推荐视频也能够与用户观看视频的兴趣度相匹配,从而能够实现精确的个性化视频推荐。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:图1是本申请涉及的一种实施环境的示意图;图2是根据一示例性实施例示出的一种视频推荐方法的流程图;图3是根据一示例性实施例示出的一种终端页面示意图;图4是图2所示实施例中步骤120在一个实施例的流程图;图5是图4所示实施例中步骤220在一个实施例的流程图;图6是图2所示实施例中步骤120在另一个实施例的流程图;图7是图6所示实施例中步骤320在一个实施例的流程图;图8是图7所示实施例中步骤322在一个实施例的流程图;图9是图7所示实施例中步骤323在一个实施例的流程图;图10是图7所示实施例中步骤324在一个实施例的流程图;图11是根据本申请涉及的一种示例性实施场景的示意图;图12是根据一示例性实施例示出的一种视频推荐装置的框图;图13是根据一示例性实施例示出的一种电子设备的硬件结构示意图。具体实施方式这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。请参阅图1,图1是本申请所涉及的实施环境的示意图,该实施环境为一视频推荐系统,该视频推荐系统包括终端100和服务器200。其中,终端100和服务器200之间预先通过网络相连接,并通过该网络进行数据传输,例如进行视频推荐过程中所需信息的传输。该网络可以是有线网络或者无线网络,本处不进行限制。终端100中安装有视频推荐客户端,并且视频推荐客户端的主页中展示有若干视频,用户点击主页中的某个视频则跳转至该视频关联的视频页面,该视频页面同时展示有该视频的视频标签,当用户点击某个视频标签,视频推荐客户端则跳转至与该视频标签关联的推荐视频页面,该推荐视频页面中展示有与用户所点击视频标签相关联的推荐视频,用户点击推荐视频即可播放相应的推荐视频。其中,终端100可以是智能手机、平板电脑、计算机等任意能够安装并运行视频推荐客户端的电子设备。服务器200则用于为视频播放客户端中进行的个性化视频推荐提供数据支持。其中,服务器200可以是单独的一台服务器,也可以是由若干服务器构成的服务器集群,本处不进行限制。如前所述的,在现有视频推荐系统中,根据视频标签进行的视频推荐的过程难以捕捉用户在不同方面的兴趣度,难以保证个性化视频推荐中的精确性。为解决此技术问题,本申请的一方面提供一种视频推荐方法,另一方面还提供一种视频推荐装置,用以实现精确的个性化视频推荐。请参阅图2,图2是根据一示例性实施例示出的一种视频推荐方法的流程图,该方法适用于图1所示实施环境中的终端100。如图2所示,在一示例性实施例中,该视频推荐方法至少包括以下步骤:步骤110,根据终端主页上触发选中的目标视频,终端跳转至目标视频关联的视频页面。其中,终端主页上通常展示有视频列表,视频列表可以随着用户触发的翻页操作或者滑动操作进行变化,以为用户展示数量更多的视频。当用户通过点击或者其它操作触发选中视频列表中的其中一个视频,则确定该视频为目标视频,并跳转进入目标视频关联的视频页面。其中,目标视频关联的视频页面通常为目标视频对应的播放页面,当终端跳转至相应播放页面后,可以自动播放目标视频,或者在检测到用户触发的播放操作后播放目标视频,或者是在跳转至该播放页面一段时间后自动播放目标视频,本处不进行限制。步骤120,获取针对目标视频进行视频推荐的推荐标签,推荐标签是根据用户历史观看行为数据对目标视频含有的候选标签进行排序,并根据排序结果对候选标签进行筛选得到的。首先需要说明的是,目标视频的候选标签是目标视频的视频标签,这些视频标签是已知的,并且从不同的方面和粒度来描述目标视频的主要内容,因此,候选标签的数量通常为多个。目标视频的候选标签可以是目标视频的全部视频标签,也可以是采用一定方式对目标视频的全部视频标签进行初步筛选所得到的部分视频标签,本处不进行限制。用户历史观看行为数据是对用户在终端上进行视频观看的历史行为所作记录,因此,根据用户历史观看行为数据可以获取用户观看过的视频,从而可以挖掘得到的用户的视频观看兴趣等个性化信息。由此,根据用户历史观看行为数据对目标视频含有的候选标签进行排序,并根据排序结果对候选标签进行筛选,所得到的推荐标签实质上是目标视频所含有视频标签中的部分视频标签,并且推荐标签在很大程度上能够与用户的视频观看兴趣等个性化信息相匹配。在本实施例中,推荐标签用于为目标视频进行视频推荐。推荐标签可以是从终端自身获取的,即推荐标签是终端根据用户历史观看行为数据对目标视频含有的候选标签进行排序和筛选得到的,或者推荐标签是终端从服务器中获取的,本处也不进行限制。步骤130,在视频页面展示推荐标签。步骤140,根据视频页面上触发选中的推荐标签,跳转至推荐标签关联的推荐视频页面。其中,推荐标签关联的推荐视频页面中展示有若干推荐视频,这些推荐视频中均含有触发选中的推荐标签。如前所述的,由于推荐标签在很大程度上与用户的视频观看兴趣等用户个性化信息相匹配,因此终端所跳转的推荐视频页面中展示的推荐视频能够与用户兴趣相匹配,也即是说,推荐视频页面中展示的推荐视频是用户感兴趣的视频。与现有视频推荐中直接根据目标视频所含有的视频标签为目标视频推荐含有相同视频标签的过程相比,本实施例根据推荐标签进行的视频推荐过程充分考虑了用户兴趣,能够实现精确的个性化视频推荐。还需要提及的是,本实施例通过将推荐标签展示于目标视频所关联的视频页面,使得用户可以触发选中自身感兴趣的推荐标签来获取推荐视频,从而在进行视频推荐的过程中进一步考虑了用户兴趣,进一步提升了视频推荐的准确性。为了更清楚地解释本实施例提供的视频推荐方法,下面以一个示例性的应用场景来对该视频推荐方法进行描述。请参阅图3,图3是根据一示例性实施例示出的一种终端界面示意图。其中,图(3a)为终端主页,其上展示有若干视频。当用户点击终端主页中的“视频4”,终端跳转至图(3b)所示的视频页面,该视频页面同时展示有视频标题和三个推荐标签。这些推荐标签是根据终端所对应用户的用户历史观看行为数据对视频4所含有的全部或者部分视频标签进行排序,然后选取的排名为前三的视频标签。当用户点击图(3b)所示视频页面中的“推荐标签2”,终端跳转至图(3c)所示的视频推荐页面,该视频推荐页面中展示有根据推荐标签2为视频4推荐的若干推荐视频,这些推荐视频均含有推荐标签2,并且与用户兴趣相匹配。需要说明的是,在图(3b)所示视频页面中,用户点击任意一个推荐标签后,都将跳转进入与用户所点击推荐标签对应的视频推荐页面,这些视频推荐页面中展示的视频都是与用户兴趣相匹配的,由此能够实现准确地的个性化视频推荐。请参阅图4,图4是图2所示实施例中步骤120在一个实施例的流程图,获取针对目标视频进行视频推荐的视频标签,可以包括以下步骤:步骤210,确定目标视频中候选标签的特征表示。其中,候选标签的特征表示则是指通过特征向量的形式来表示候选标签的相应特点和内容。在一个实施例中,预先为视频推荐系统构建有异构网络,该异构网络中含有视频推荐系统中全部视频的视频标签的特征表示,因此针对待进行视频推荐的目标视频,可以根据异构网络直接确定每个候选标签的特征表示。当然,目标视频的候选标签的特征表示也可以通过其它方式确定,例如视频推荐系统在为视频生成视频标签的同时,还相应生成每个视频标签的特征表示,因此,针对目标视频可以直接确定目标视频的视频标签和每个视频标签的特征表示。步骤220,根据用户历史观看行为数据获取用户所观看视频中的视频标签,并根据视频标签构建用户特征表示。如前所述,用户历史观看行为数据是对用户在终端上进行视频观看的历史行为所作记录,因此,根据用户历史观看行为数据可以获取用户观看过的视频,并且可以进一步获取用户所观看视频中的视频标签。由于视频标签从不同的方面和粒度对视频的主要内容进行了描述,因此结合用户的历史观看行为,可以从这些视频标签中挖掘隐藏在视频中的用户兴趣,并由此来构建用户特征表示,从而通过所构建的用户特征表示来描述用户的视频观看兴趣。基于用户的视频观看兴趣进行视频推荐,即能够有效提升个性化视频推荐的准确度。步骤230,计算用户特征表示分别与每个候选标签的特征表示之间的相似度。如前所述,用户特征表示和候选标签的特征表示是分别对于用户信息和候选标签信息的特征向量表示,因此本实施例中计算用户特征表示与每个候选标签的特征表示之间的相似度实质是计算两个特征向量之间的相似度。由于用户特征表示中描述了用户的视频观看兴趣,候选标签的特征表示描述了候选标签的特点和内容,因此二者特征表示之间的相似度反映了候选标签所关联视频与用户兴趣之间的匹配程度。其中,候选标签所关联视频是指含有该候选标签的视频。用户特征表示与候选标签的特征表示之间的相似度越高,用户对于该候选标签关联的视频也更感兴趣,若将这些视频推荐给用户,用户对于所推荐视频的感兴趣程度也越高,视频推荐的准确度也就越高。步骤240,根据所得相似度对候选标签进行排序,并根据排序结果对候选标签进行筛选得到推荐标签。如前所述,步骤230中所得相似度越高,针对目标视频的候选标签所关联视频进行视频推荐的准确度也越高,因此需要根据步骤230中所得相似度对目标视频的候选标签排序,并根据所得候选标签的排序结果从候选标签中筛选得到推荐标签,根据所得推荐标签为目标视频进行视频推荐,能够有效提升个性化视频推荐的准确性。示例性的,在图(3b)所示的视频页面中,视频4为待进行视频推荐的目标视频,在确定目标视频中的候选标签的特征表示后,根据用户所观看视频的视频标签构建用户特征表示,然后计算用户特征表示分别与每个候选标签之间的相似度,根据相似度对候选标签进行排序,并获取排名为前三的候选标签为推荐标签进行显示。用户点击图(3b)中显示的任意一个推荐标签均能够获得用户感兴趣的推荐视频,因此,本实施例所提供的视频推荐方法能够为目标视频进行精确的个性化推荐。并且在现有技术实现中,视频标签排序是应用在视频标签生成的过程中,而没有视频标签排序是应用在实际视频推荐中。本实施例旨在基于这些视频标签为视频生成一个精准且个性化的视频标签的排序列表,并吸引用户点击这些视频标签,并跳转至视频标签相应的视频页面,用户可以观看更多与视频标签相关的视频,从而提高整个视频推荐的点击率、播放时长、翻页量等指标。图5是图4所示实施例中步骤220在一个实施例的流程图。如图5所示,在一个示例性实施例中,根据用户历史观看行为数据获取用户所观看视频中的视频标签,并根据视频标签构建用户特征表示,可以包括以下步骤:步骤221,从用户历史观看行为数据中获取用户观看的视频以及所观看视频中的视频标签。步骤222,根据视频标签与用户观看的视频之间的归属关系、用户观看视频的完整程度以及观看时间确定视频标签的权重。其中,视频标签与用户观看的视频之间的归属关系是指视频与视频标签之间的对应关系,并且同一视频标签也可以同时归属于不同视频。示例性的,如果视频a和视频b中都含有视频标签c,视频标签c则同时归属于视频a和视频b。用户观看视频的完整程度是指视频的播放时长与视频总时长之间的比值,用户观看视频的完整程度越高,用户对于该视频的兴趣度也越高。用户观看视频的观看时间则是指视频被用户观看的自然时间,也即视频的历史播放时间。视频的历史播放时间在一定程度上也能够突出用户的短期兴趣,例如,用户对于最近观看过的视频的感兴趣程度通常是大于远期观看过的视频。在用户进行历史视频观看的过程中,用户对于不同视频的兴趣度也不同,而用户对于不同视频的兴趣度可以通过用户观看视频的完整程度和观看时间反映,因此基于视频标签与视频之间的归属关系,不同的视频标签对于用户兴趣的反映程度也不同,因此不同视频标签应该具有不同的权重。由此可以根据视频标签的权重来筛选得到更能够体现用户兴趣的视频标签,并根据筛选得到的这些视频标签更加准确地构建用户特征表示。在一个实施例中,将从用户历史观看行为数据中获取用户观看的视频按照观看时间进行排序得到的视频序列表示为{v1,v2,……,vm},并且对视频序列中所有视频的视频标签去重后将得到若干视频标签,针对某个视频标签的权重的计算公式如下:其中,i表示所得视频标签中的第i个视频标签,j表示视频序列中的第j个视频,只有当第i个视频标签归属于视频vj时,x(ij)的值才为1,反之为0;completej表示用户观看视频vj的完整程度;timej则表示视频vj的时间衰减因子。时间衰减因子timej与用户观看视频vj的观看时间有关,示例性的,时间衰减因子timej的计算公式如下:timej=η*timej+1其中,η表示时间因素,η∈(0,1),并且timem=1。可以看出,视频对应的观看时间越久远,视频对应的时间衰减因子就越小,在一定程度上也会影响视频所含有视频标签的权重,由此能够突出用户的短期兴趣。步骤223,根据所得权重对视频标签进行筛选,得到用户标签集合。如前所述,视频标签的权重体现了用户对于视频观看的兴趣,因此可以根据步骤222所得权重对视频标签进行筛选,以得到用户标签集合。其中,用户标签集合中含有的视频标签均为权重较大的视频标签,这些视频标签也更能够体现用户兴趣,因此根据些视频标签也能够更加准确地构建用户特征表示。示例性的,可以选取权重大于预设权重阈值的视频标签集合作为用户标签集合,或者根据权重大小对视频标签进行排序,选取指定排名的视频标签集合作为用户标签集合,本处不进行限制。步骤224,根据用户标签集合中各视频标签的特征表示以及权重构建用户特征表示。其中,与目标视频的候选标签的特征表示相同,用户标签集合中各视频标签的特征表示可以从预先构建的异构网络中获取,或者可以通过其它方式直接获取,本处不作赘述。针对用户标签集合中的每一个视频标签,需要先根据每一个视频标签的权重计算每一个视频标签的权重因素,计算公式如下:其中,tu表示用户标签集合,ti∈tu表示用户标签集合tu中的第i个视频标签。根据用户标签集合中每一个视频标签的权重因素以及每一个视频标签的特征表示,则可以构建用户特征表示,计算公式如下:其中,ti表示用户标签集合tu中的第i个视频标签的特征表示。由上述计算公式可知,用户特征表示融合了用户标签集合中每个视频标签的特征表示和权重因素,由于视频标签的权重因素反映了用户兴趣,并且视频标签的特征表示从不同的方面和粒度反映了视频的主要内容,因此用户特征表示融合了用户的多样兴趣,从而有利于提升个性化视频推荐过程中的准确度。在另一示例性实施例中,还预先为视频推荐系统构建异构网络,以便于直接从所构建的异构网络中确定目标视频中各个候选标签的特征表示,以及确定用户标签集合中各个视频标签的特征表示。如图6所示,在一示例性实施例中,上述方法还包括以下步骤:步骤310,将视频推荐系统中与视频相关的异构信息作为节点,以及将异构信息之间的关联关系作为边构建异构网络。首先需要说明的是,本实施例描述的视频推荐系统泛指任意支持视频播放的视频系统,并且在进行视频播放的过程中涉及视频推荐,以为用户推荐相关播放视频,例如可以是图1所示实施环境中终端100中安装的视频播放客户端。视频推荐系统中的视频不仅包括步骤210所描述的待进行视频推荐的目标视频,还包括步骤220所描述的根据用户历史观看行为数据获取的用户所观看的视频。在一个实施例中,视频推荐系统中与视频相关的异构信息包括视频推荐系统中发布的视频、视频推荐系统所发布视频的视频标签、发布视频的媒体账户以及视频推荐系统的用户群。由此,本实施例构建的异构网络将包含有视频节点、标签节点、媒体节点、用户群节点这四种不同类型的节点。视频节点为异构网络中的主要节点,异构网络中的其它节点均是通过视频节点进行拓展得到的。标签节点中含有视频的实体内容以及概率内容,其代表了用户对于来自不同方面和粒度的视频的不同潜在兴趣。由于单个用户之间的交互频率较低,为缓解异构网络中用户相关交互的稀疏性问题,本实施例选用用户群作为异构网络中的节点,而不选择单个用户作为节点。用户群是通过对视频推荐系统中的单个用户进行聚类得到的,示例性的,本实施例可以根据用户的性别、年龄和位置这3个条件对视频推荐系统中的单个用户进行聚类得到视频推荐系统的不同用户群。相应的,异构信息之间的关联关系包括视频之间的关联播放关系、视频与视频标签之间的归属关系、视频与媒体账号之间的发布关系、视频与用户群之间的有效观看关系以及视频标签之间的共同归属关系。这些关联关系也体现了异构信息至今的交互性。其中,视频之间的关联播放关系是指在视频播放的过程中不同视频之间存在一定的关联性,例如某两个视频是连续播放的视频,这两个视频之间的关联播放关系在一定程度上反映了用户的偏好行为。在一个实施例中,可以根据以下步骤确定视频之间的关联播放关系:根据视频被观看的完整程度确定视频推荐系统中有效观看的视频,并按照视频被观看的时间对有效观看的视频进行排序,确定相邻排序的两个视频之间具有关联播放关系。例如,将视频推荐系统中被观看超过视频总时长30%的视频确定为有效观看的视频,并按照视频被观看的时间对这些视频排序,得到有效观看的视频序列,由此即可确定在视频序列中彼此相邻出现的两个视频之间具有关联播放关系,异构网络中相应的视频节点之间则应当存在关系边。针对视频推荐系统中的任意一个视频,该视频所含有的每个视频标签与该视频之间都应当具有归属关系,因此异构网络中该视频对应的视频节点分别与这些视频标签对应的标签节点之间具有关系边。同理,视频推荐系统中发布任意一个视频的媒体账号与其所发布视频之间具有发布关系,异构网络中相应的媒体节点和视频节点之间应当具有关系边。视频如果被某个用户群有效观看,异构网络中相应的视频节点与用户群节点之间也应当具有关系边。如果两个视频标签共同归属于同一视频,异构网络中相应的标签节点之间也具有关系边。在一个实施例中,若视频在预设时间长度内被用户群有效观看的次数超过预设值,则表示该视频被该用户群有效观看。在另一个实施例中,用于构建异构网络中节点的异构信息还可以包括更多,例如视频标题中含有的文本信息、用户的画像信息、用户感兴趣的视频类目等,以构建更加复杂的异构网络,本处并不表示对异构信息的具体形式进行限制。本实施例构建的异构网络能够捕捉视频推荐系统中视频、视频标签、用户和媒体之间的交互关系,这些交互关系中也包含了丰富的用户偏好信息,因此基于异构网络确定的视频标签的特征表示也携带有用户偏好信息,进一步为个性化视频推荐的过程贡献准确度。步骤320,根据异构网络中各节点及其邻居节点的特征信息确定各节点的特征表示。邻居节点是指与异构网络中的节点具有关系边的另一节点,对于异构网络中的任一节点,其应当具有至少一个邻居节点。如前所述的,异构网络中各节点之间的交互关系中也包含了丰富的用户偏好信息,因此根据异构网络中各节点及其邻居节点的特征信息所确定的各节点的特征表示将融合有用户偏好信息。对于步骤210从异构网络中直接确定的目标视频的候选标签的特征表示,以及步骤224中从异构网络中直接确定的用户标签集合中各视频标签的特征表示,都将含有用户偏好信息,从而使得步骤240基于这些特征表示所得到的相似度排序中最大可能地考虑了用户的个性化信息,由此实现准确的个性化视频推荐。图7是图6所示实施例中步骤320在一个实施例的流程图。如图7所示,在一示例性实施例中,根据异构网络中各节点及其邻居节点的特征信息确定各节点的特征表示,可以包括以下步骤:步骤321,将异构网络中的各节点投影至同一语义空间,获得各节点在语义空间上的特征编码。其中,将异构网络中的各节点投影至同一语义空间是指通过相同的语义模型对异构网络中各节点的语义特征进行提取,从而获得各节点在同一语义空间上的特征编码。示例性的,各节点在语义空间上的特征编码可以是各节点的one-hot(独热,一种编码模式)向量表示,或者可以是通过其它编码方式编码得到的向量表示,本处不进行赘述。步骤322,通过串联各节点的邻居节点的特征编码,获得各节点的原始特征向量。其中,异构网络中各节点的特征编码携带了各节点的语义信息,因此针对异构网络中的任一节点,通过串联其邻居节点的特征编码所得原始特征向量中携带了所有邻居节点的语义信息。在一个实施例中,如图8所示,步骤322具体可以包括以下步骤:步骤3221,针对异构网络中的各节点,需根据节点的邻居节点对应的节点类型对邻居节点进行分组。首先需要说明的是,本实施例将针对异构网络中其中一个节点的原始特征向量的获取过程进行描述,异构网络中其他节点的原始特征向量的获取过程同理,本实施例不进行赘述。邻居节点对应的节点对应的节点类型对应于异构网络中含有的节点类型,如前所述的,在一个实施例中,邻居节点的节点类型包括视频节点、标签节点、媒体节点和用户群节点。由此,针对异构网络中的节点k,可以确定节点k的n个邻居节点{h1,h2,……,hn},然后根据每个邻居节点对应的节点类型,将同一节点类型对应的邻居节点划分为一组。在一般情况下,这些邻居节点可以被划分为视频节点组、标签节点组、媒体节点组和用户群节点组。步骤3222,通过对各分组中邻居节点的特征编码进行串联,获得各分组对应的串联编码。对各分组中邻居节点的特征编码进行串联,也即将各分组中的每个邻居节点的特征编码进行拼接,以得到各分组对应的串联编码。各分组对应的串联编码可以表示为其中表示邻居节点中视频节点对应的串联编码,表示邻居节点中视频节点对应的串联编码,表示邻居节点中视频节点对应的串联编码,表示邻居节点中视频节点对应的串联编码。步骤3223,串联各分组对应的串联编码,获得节点的原始特征向量。针对异构网络中的节点k,串联各分组对应的串联编码,所获得的原始特征向量表示如下:其中,“||”表示编码之间的串联操作。由上可以得出,本实施例通过对异构网络中的邻居节点进行分组,然后分别针对每个分组中的邻居节点的特征编码进行串联,最后再将每个分组的串联编码进行串联,即可以得到携带了有所有邻居节点的语义信息的原始特征向量。步骤323,聚合各节点的邻居节点的原始特征向量,获得各节点的聚合特征向量。针对异构网络中的各个节点,通过聚合其邻居节点的原始特征向量,所得到的聚合特征向量中含有不同邻居节点之间在不同节点类型下相互影响的信息。在一个实施例中,如图9所示,步骤323可以包括以下步骤:步骤3231,根据预设的第一权重矩阵,计算异构网络中各节点分别相对各节点类型所对应邻居节点的注意力。仍需说明的是,本实施例也将针对异构网络中其中一个节点的聚合特征向量的获取过程进行描述,异构网络中其他节点的聚合特征向量的获取过程同理,本处也不进行赘述。仍针对异构网络中的节点k,预设的第一权重矩阵包含有不同节点类型对应的权重向量,第一权重矩阵可以表示为其中,表示视频节点类型对应的权重向量,表示标签节点类型对应的权重向量,表示媒体节点类型对应的权重向量,表示用户群节点类型对应的权重向量。针对其中一个节点类型,例如视频节点类型,先需要根据视频节点类型对应的权重向量计算节点k与视频节点类型中的第i个邻居节点(即视频vi)相关的重要程度计算公式如下:其中,t表示矩阵的转置操作。然后根据所得重要程度计算节点k相对该视频节点类型中的第i个邻居节点的注意力计算公式如下:根据以上计算过程,即可以计算得到异构网络中各个节点分别相对各个节点类型所对应邻居节点的注意力。步骤3232,聚合同一节点类型所对应注意力和每个邻居节点的原始特征向量,获得各节点在不同节点类型下的类型聚合特征向量。仍以异构网络中的节点k为示例,并且节点k含有n个对应为视频节点类型的邻居节点,聚合视频节点类型中每个邻居节点对应的注意力以及视频节点类型下的每个邻居的原始特征向量的过程可以用如下公式表示:可以看出,通过分别计算视频节点类型中各邻居节点对应的注意力和原始特征向量的乘积,然后对所有邻居节点对应的乘积进行求和,即可得到节点k在视频节点类型下的类型聚合特征向量。同理,可以分别计算得到异构网络中各节点分别在不同节点类型下的类型聚合特征向量。步骤3233,根据预设的第二权重矩阵,对各节点在不同节点类型下的类型聚合特征向量进行聚合,获得各节点的聚合特征向量。聚合特征向量的聚合过程也可以通过如下公式表示:其中,表示节点k的聚合特征向量,relu表示relu非线性激活函数,wneigh表示第二权重矩阵,表示节点k在标签节点类型下的类型聚合特征向量,表示节点k在媒体节点类型下的类型聚合特征向量,表示节点k在用户群节点类型下的类型聚合特征向量。异构网络中其它节点的类型聚合特征向量也通过相同的方式进行获取,本处则不对此进行赘述。步骤324,通过对各节点的聚合特征向量和原始特征向量进行聚合,获得各节点的特征表示。在得到异构网络中各节点的聚合特征向量的,通过对各节点的聚合特征向量和原始特征向量进行聚合,所获得的各节点的特征表示则结合了节点自身的特征信息和邻居节点的特征信息,使得各节点含有更加全面的特征信息,所得各节点的特征表示也更加准确。在一个实施例中,如图10所示,步骤324可以包括以下步骤:步骤3241,根据预设的第三权重矩阵对各节点的原始特征向量进行加权运算,获得各节点的加权特征向量;步骤3242,通过对各节点的加权特征向量和聚合特征向量进行聚合处理,获得各节点的特征表示。其中,仍以节点k为示例,若将第三权重矩阵表示为wself,将节点k的原始特征向量表示为节点k的加权特征向量的计算公式为:针对节点k的加权特征向量和聚合特征向量进行聚合处理的计算公式为:其中,以上针对异构网络中各节点的特征表示的过程为机器学习的过程,λ为超参数,其需要在不断地进行异构网络中各节点的特征表示的学习过程中进行优化,以通过最优的超参数对各节点的加权特征向量和聚合特征向量进行聚合处理,得到各节点的特征表示的最优值。在一示例性实施例中,针对异构网络中各节点的特征表示的学习过程所采用的损失函数j如下:其中异构网络中节点i和节点j互为邻居节点,节点i和节点h互为非邻居节点,f表示最近一次所学习特征表示,ni表示节点i的邻居节点集合,σ(·)表示s型激活函数。根据该损失函数可以得出,所进行机器学习的过程是使节点i聚合后的特征表示与它的邻居节点的特征表示相似,并且与它的非邻居节点的特征表示相异。由此,根据所实施例所得的异构网络中各节点的特征表示结合了节点自身的特征信息和邻居节点的特征信息,各节点的特征表示也将有更加丰富的用户偏好信息,十分有利于实现准确的个性化视频推荐。下面将以一个具体的实施场景来对本申请提供的视频方法进行描述。如图11所示,在一示例性的视频推荐场景中,视频推荐包括离线网络构建和在线标签排序两个过程。其中,离线网络构建过程是指以视频推荐系统中发布的视频、所发布视频的视频标签、发布视频的媒体账户以及采用聚类方式获取的用户群为节点,并以视频之间的关联播放关系、视频与视频标签之间的归属关系、视频与媒体账号之间的发布关系、视频与用户群之间的有效观看关系和视频标签之间的共同归属关系为边构建异构网络,然后采用机器学习模型提取所构建异构网络中各个节点的特征表示,从而得到异构网络对应的特征图,此特征图中应当包含有异构网络中各个节点对应的特征表示。机器学习模型提取异构网络中各个节点的特征表示的过程具体请参见图7至图10所示实施例,本处不对此过程进行赘述。并且由于异构网络的构建和特征图的获取过程中计算量巨大,异构网络的构建和特征图的获取过程需离线进行,以满足个性化视频推荐的实时性要求。在线标签排序过程是指在线进行视频推荐的过程中,需根据用户历史观看行为数据提取用户对应的用户特征表示,该用户特征表示中含有与用户兴趣相关的信息,并计算用户特征表示与目标视频的候选标签的特征表示之间的相似度,从而根据所得相似度为目标视频的候选标签进行排序,以进一步根据排序结果确定为目标视频进行视频推荐的推荐标签。此在线过程中所需使用的视频标签的特征表示均可以从异构网络的特征图中获得。但需要提及的是,本申请中,机器学习模型使用图7至图10所示实施例中描述的方法来提取异构网络中各节点的特征表示,这是通过实验所得到一种最优的实施方式。在实验中,机器学习模型分别采用random(随机)模式、deepwalk(图神经网络中一种算法)模式、graphsage(图神经网络中的另一种算法)模式、hgat+user(是指本申请中图7至图10所示实施例描述的内容)模式为视频推荐系统进行视频推荐,统计所得实验数据如表1和表2所示。实验模式点击率倒排系数random0.4200.210deepwalk0.5930.330graphsage0.5960.335hgat+user0.6320.354表1表1是分别将以上实验模式离线应用于视频推荐系统所得的实验数据,可以看出,hgat+user模式下的点击率和倒排系统均高于其它模式。表2是分别将以上实验模式在线应用于视频推荐系统所得的实验数据,可以看出,hgat+user模式下视频标签的点击数据和视频观看数据均为最优,因此本申请提供的视频推荐方法能够有效提高整个视频推荐的点击率、播放时长、翻页量等指标。表2图12是根据一示例性实施例示出的一种视频推荐装置的框图,该装置适用于图1所示实施环境中的终端100。如图12所示,该装置包括第一页面跳转模块410、推荐标签获取模块420、推荐标签展示模块430和第二页面跳转模块440。第一页面跳转模块410用于根据终端主页上触发选中的目标视频,使终端跳转至所述目标视频关联的视频页面。推荐标签获取模块420用于获取针对目标视频进行视频推荐的推荐标签,推荐标签是根据用户历史观看行为数据对目标视频含有的候选标签进行排序,并根据排序结果对候选视频标签进行筛选得到的。推荐标签展示模块430用于在视频页面展示推荐标签。第二页面跳转模块440用于根据视频页面上触发选中的推荐标签,跳转至推荐标签关联的推荐视频页面。在另一示例性实施例中,推荐标签获取模块420具体包括候选标签特征确定模块、用户特征表示构建模块、相似度计算模块和相似度计算模块。候选标签特征确定模块用于确定目标视频中候选标签的特征表示。用户特征表示构建模块用于根据用户历史观看行为数据获取用户所观看视频中的视频标签,并根据视频标签构建用户特征表示。相似度计算模块用于计算用户特征表示分别与每个候选标签的特征表示之间的相似度。候选标签排序模块用于根据所得相似度对候选标签进行排序,并根据排序结果对候选标签进行筛选得到推荐标签。在另一示例性实施例中,用户特征表示构建模块包括视频标签获取单元、权重获取单元、用户标签集合获取单元和特征构建单元。视频标签获取单元用于从用户历史观看行为数据中获取用户观看的视频以及所观看视频中的视频标签。权重获取单元用于根据视频标签与用户观看的视频之间的归属关系、用户观看视频的完整程度以及观看时间确定视频标签的权重。用户标签集合获取单元用于根据权重对视频标签进行筛选,得到用户标签集合。特征构建单元用于根据用户标签集合中各视频标签的特征表示以及权重构建用户特征表示。在另一示例性实施例中,该装置还包括异构网络构建模块和节点特征确定模块。异构网络构建模块用于将视频推荐系统中与视频相关的异构信息作为节点,以及将异构信息之间的关联关系作为边构建异构网络,异构信息含有候选标签和视频标签。节点特征确定模块用于根据异构网络中各节点及其邻居节点的特征信息确定各节点的特征表示。在另一示例性实施例中,视频推荐系统中与视频相关的异构信息包括视频推荐系统中发布的视频、所发布视频的视频标签、发布视频的媒体账户以及所述视频推荐系统中的用户群,其中,用户群是对视频推荐系统中的用户进行聚类得到的。在另一示例性实施例中,异构信息之间的关联关系包括视频之间的关联播放关系、视频与视频标签之间的归属关系、视频与媒体账号之间的发布关系、视频与用户群之间的有效观看关系和视频标签之间的共同归属关系,其中,视频之间的关联播放关系的确定方式为:根据视频被观看的完整程度确定视频推荐系统中有效观看的视频,并按照视频被观看的时间对有效观看的视频进行排序,确定相邻排序的两个视频之间具有关联播放关系。在另一示例性实施例中,节点特征确定模块包括语义空间映射单元、特征编码串联单元、原始特征向量串联单元和向量聚合单元。语义空间映射单元用于将异构网络中的各节点投影至同一语义空间,获得各节点在语义空间上的特征编码。特征编码串联单元用于通过串联各节点的邻居节点的特征编码,获得各节点的原始特征向量。原始特征向量串联单元用于聚合各节点的邻居节点的原始特征向量,获得各节点的聚合特征向量。向量聚合单元用于通过对各节点的聚合特征向量和原始特征向量进行聚合,获得各节点的特征表示。在另一示例性实施例中,特征编码串联单元包括节点分组子单元、组内特征串联子单元和组外特征串联子单元。节点分组子单元用于针对异构网络中的各节点,根据节点的邻居节点对应的节点类型对所述邻居节点进行分组。组内特征串联子单元用于通过对各分组中邻居节点的特征编码进行串联,获得各分组对应的串联编码。组外特征串联子单元用于串联各分组对应的串联编码,获得节点的原始特征向量。在另一示例性实施例中,原始特征向量串联单元包括注意力计算子单元、类型聚合特征向量获取子单元和聚合特征向量获取子单元。注意力计算子单元用于根据预设的第一权重矩阵,计算异构网络中各节点分别相对各节点类型所对应邻居节点的注意力,第一权重矩阵包括各节点类型对应的权重向量。类型聚合特征向量获取子单元用于聚合同一节点类型所对应注意力和每个邻居节点的原始特征向量,获得各节点在不同节点类型下的类型聚合特征向量。聚合特征向量获取子单元用于根据预设的第二权重矩阵,对各节点在不同节点类型下的类型聚合特征向量进行聚合,获得各节点的聚合特征向量。在另一示例性实施例中,向量聚合单元包括加权运算子单元和特征向量聚合子单元。加权运算子单元用于根据预设的第三权重矩阵对各节点的原始特征向量进行加权运算,获得各节点的加权特征向量。特征向量聚合子单元用于通过对各节点的加权特征向量和所述聚合特征向量进行聚合处理,获得各节点的特征表示。需要说明的是,上述实施例所提供的装置与上述实施例所提供的方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。本申请的另一方面还提供了一种电子设备,包括处理器和存储器,其中,存储器上存储有计算机可读指令,该计算机可读指令被处理器执行时实现如前所述的视频推荐方法。请参阅图13,图13是根据一示例性实施例示出的一种电子设备的硬件结构示意图。需要说明的是,该设备只是一个适配于本申请的示例,不能认为是提供了对本申请的使用范围的任何限制。该设备也不能解释为需要依赖于或者必须具有图13中示出的示例性的电子设备中的一个或者多个组件。该设备的硬件结构可因配置或者性能的不同而产生较大的差异,如图13所示,该设备包括:电源510、接口530、至少一存储器550、以及至少一中央处理器(cpu,centralprocessingunits)570。其中,电源510用于为该设备上的各硬件设备提供工作电压。接口530包括至少一有线或无线网络接口531、至少一串并转换接口533、至少一输入输出接口535以及至少一usb接口537等,用于与外部设备通信。存储器550作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统551、应用程序553或者数据555等,存储方式可以是短暂存储或者永久存储。其中,操作系统551用于管理与控制该设备上的各硬件设备以及应用程序553,以实现中央处理器570对海量数据555的计算与处理,其可以是windowsservertm、macosxtm、unixtm、linuxtm等。应用程序553是基于操作系统551之上完成至少一项特定工作的计算机程序,其可以包括至少一模块,每个模块都可以分别包含有对该设备的一系列计算机可读指令。中央处理器570可以包括一个或多个以上的处理器,并设置为通过总线与存储器550通信,用于运算与处理存储器550中的海量数据555。如上面所详细描述的,适用本申请的视频推荐设备将通过中央处理器570读取存储器550中存储的一系列计算机可读指令的形式来完成如前所述的视频推荐方法。此外,通过硬件电路或者硬件电路结合软件指令也能同样实现本申请,因此,实现本申请并不限于任何特定硬件电路、软件以及两者的组合。本申请的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前所述的视频推荐方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。上述内容,仅为本申请的较佳示例性实施例,并非用于限制本申请的实施方案,本领域普通技术人员根据本申请的主要构思和精神,可以十分方便地进行相应的变通或修改,故本申请的保护范围应以权利要求书所要求的保护范围为准。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1