本发明涉及数据处理领域,尤其涉及一种视频推荐的方法、装置、电子设备和计算机可读介质。
背景技术:
1、随着大数据信息时代的到来,信息爆炸以及信息过载的问题也随之而来,想要在海量的信息中找到感兴趣的信息十分困难,搜索引擎和推荐系统是信息过载问题的常见解决手段。由于搜索引擎的通用性,无法满足用户的个性化需求,如何设计推荐系统使其实时、高效、准确的为用户提供有价值、感兴趣的信息十分重要。
2、农业视频推荐系统有别于传统推荐系统,其物料具有高时效性的特点。传统推荐系统离线计算用户数据,无法满足实时推荐以及物料高时效性的要求。基于hadoop的分布式推荐系统,对用户行为、用户偏好等计算效率低下,依赖hadoop的mapreduce计算组件,在硬盘上存储中间计算结果以期下次调用,计算效率低下,且计算数据是通过定时任务的方式进行的,对用户行为依旧无法做到实时反馈,导致新发布视频召回率低,对用户实时行为无刻画的问题。
3、此外,根据传统的方法,对新发布视频的召回率低。大部分农产品有上市期和下市期,用户行为会随着农产品的上市和下市而波动,无法对用户行为进行实时响应,推荐给用户的物料准确率就会降低。离线计算的推荐系统,定时计算用户行为来进行个性化推荐,需要同时面临数据爆炸、计算成本高和无法实时响应的情况。
4、为了解决传统的视频推荐方法尤其是针对农产品的视频推荐方法中的技术问题,发明人设想了基于spark的分布式推荐系统,其基于内存计算的方式,在计算效率上优于基于hadoop的分布式推荐系统。因此,利用spark流式处理的特点对用户行为实时反馈的推荐系统是非常有研究意义的。
技术实现思路
1、有鉴于此,本发明实施例提供一种视频推荐的方法,能够解决农业视频高时效性下,新发布视频召回率低,用户行为无法实时响应的问题,从而提升推荐结果的准确性。
2、为实现上述目的,根据本发明实施例的一个方面,提供了一种视频推荐的方法,包括:
3、收集新发布的新视频的视频发布信息,并且对所述视频发布信息进行计算,得到所述新视频的新视频embedding以及新视频标签,
4、收集用户对历史视频的行为的用户行为信息,并且基于spark对用户的预定滑动窗口内的用户行为信息进行实时计算,得到用户的实时的偏好标签以及用户embedding,以及
5、基于所述新视频的新视频embedding和新视频标签以及所述用户的偏好标签和用户embedding,判定是否对所述新视频进行召回并向所述用户推荐。
6、根据第一方面的视频推荐的方法,利用spark进行计算,因此能够对于数据进行更加快速、高效、实时且通用化的处理,利用spark的计算结果,即使对于新发布的视频,由于其也被计算出了embedding和标签等信息,因此,能够根据所实时计算出的用户的偏好标签和embedding来判断该新视频是否为用户偏好的视频,对该新视频进行召回并且向用户进行实时推荐。
7、可选地,在第一方面的视频推荐的方法中,收集新发布的新视频的视频发布信息以及收集用户对历史视频的行为的用户行为信息,包括:将所收集到的所述新视频发布信息和所述用户行为信息通过接口收集的方式通过sqoop打入kafka消费队列中,在spark计算引擎配置kafka消费者来消费kafka消费队列中的信息;以及将所述新视频发布信息和所述用户行为信息储存至目标存储部。
8、根据上述视频推荐的方法,能够快速实时地进行数据处理和分析流程,用于实时处理和分析用户行为和视频发布信息,以便进行后续的数据分析和决策。
9、可选地,在第一方面的视频推荐的方法中,基于spark对所述视频发布信息进行计算包括:对新发布的所述新视频进行抽帧处理得到多个抽取帧的图片,根据各个所述抽取帧的图片得到各个所述抽取帧的图片embedding信息,将所述多个抽取帧的图片embedding取平均,得到所述新视频的视频embedding,并将所述视频embedding储存,和根据所述抽取帧的图片,识别所述新视频中涉及的类目、场景、人物的至少一项的所述标签,将所述标签储存于目标存储部。
10、根据上述视频推荐的方法,可以用于对新发布的视频进行特征提取和标签识别,有助于后续的视频分类、索引、推荐等任务。同时,储存视频嵌入信息和识别到的标签也有助于后续的数据分析和决策。
11、可选地,在第一方面的视频推荐的方法中,基于spark对用户的预定滑动窗口内的用户行为信息进行实时计算,包括:将用户在滑动窗口内行为过的历史视频的历史视频特征信息以及历史视频embedding信息取出;根据用户在滑动窗口内行为过的历史视频的历史视频特征信息,获得用户在视频上的偏好标签,并且实时更新该偏好标签;根据用户在滑动窗口内行为过的历史视频的历史视频embedding,按视频播放时长进行筛选,对选中的历史视频的历史视频embedding按行为时间进行加权取平均数,将得到的平均数作为所述用户embedding;将实时更新的所述用户的偏好标签以及所述用户embedding存储至目标存储部。
12、根据上述视频推荐的方法,能够捕捉用户的实时偏好和长期偏好,同时提供用户的嵌入表示,有助于后续的用户个性化推荐、聚类分析等任务。同时,将实时更新的偏好标签和用户嵌入表示存储到例如redis和数据库的目标存储部中也有助于后续的数据分析和决策。
13、可选地,在第一方面的视频推荐的方法中,还包括:对所述用户的偏好标签进行离线更新,包括以每天为周期,使用hive查询并提取过去预定天数内的所述用户行为信息以及所述偏好标签,并将所提取的数据导入到spark中,并在spark中以所述数据进行离线更新且存储离线更新数据,以及根据所述离线更新数据判定是否对所述新视频进行召回并向所述用户推荐。
14、根据上述视频推荐的方法,避免超过spark滑动窗口没有行为的用户,来到平台没有个性化视频推荐结果。通过离线更新用户偏好标签,可以捕捉用户的长期偏好,有助于提高推荐系统的准确性和个性化程度。同时,离线更新的数据也可以用于后续的数据分析和决策。
15、可选地,在第一方面的视频推荐的方法中,实时更新所述偏好标签包括:实时计算用户偏好,包括用户对视频类目的偏好,用户对视频标签的偏好,并且对齐进行归一化处理,存储到目标存储部中;实时更新用户行为过的历史视频的历史视频特征信息,包括:用户播放量、用户10秒播放量、用户播放过的类目、用户播放过的标签,被播放视频的播放量、被播放视频的播放总用户数量、被播放视频的10s播放量。
16、根据上述视频推荐的方法,对计算得到的用户偏好进行对齐归一化处理,确保不同偏好之间的权重一致。这个步骤可以避免因为不同偏好的量纲不同而导致的计算误差。此外,由于历史特征视频信息除了由用户自身参与的行为特征外,还包含了例如被播放视频的播放量、被播放视频的播放总用户数量、被播放视频的10s播放量等的其他用户也能够参与的特征,因此,针对视频的数据统计,能够区分某些视频是否过热,对于过于热门的视频会有其他策略降热。另外,通过统计视频10秒以上播放次数/视频总的播放次数,得到的视频长播率能作为视频是否优质的特征,如果一个视频的长播率越高说明视频越吸引人,来辅助决策对本用户的推荐。
17、可选地,在第一方面的视频推荐的方法中,基于实时更新的所述用户的偏好标签和所述用户embedding,或者基于实时更新的所述用户的偏好标签和所述用户embedding以及所述离线更新数据,通过用户行为类召回、用户对视频标签或类目偏好召回、用户与视频embedding相似度召回,建立视频的召回列表;将召回列表中的视频进行排序,依次向用户推荐。
18、根据上述视频推荐的方法,根据用户的行为、偏好标签和embedding,以及离线更新的数据(例如其他用户的反馈等),系统通过多种召回方式(如用户行为类召回、用户对视频标签或类目偏好召回、用户与视频embedding相似度召回)建立视频的召回列表,并能够根据一定的排序算法(例如协同过滤、深度学习等),对召回列表中的视频进行排序,使得更符合用户喜好的视频能被优先推荐,能够更好地满足用户的个性化需求,提供更优质的服务。
19、总的来说,本发明技术方案通过spark平台建立了完整的视频实时推荐系统,利用spark在实时方面计算高效的特点,解决了农业视频高时效性带来的推荐系统召回率低、准确性差的问题,提升了用户对推荐系统的推荐满意度。而且,本实施例方法是对用户行为刻画后为用户推荐物料列表,实时刻画用户行为比离线刻画用户行为更准确的满足用户需求;对用户播放视频时长做定义,根据用户对视频的播放时长进行分层打分,更精准的刻画用户行为。
20、本发明实施例第二方面提供了一种视频推荐的装置,包括:
21、数据收集模块:收集新发布的新视频的视频发布信息,以及收集用户对历史视频的行为的用户行为信息;
22、数据处理模块:基于spark对所述视频发布信息进行计算,得到所述新视频的新视频embedding以及新视频标签,以及基于spark对用户的预定滑动窗口内的用户行为信息进行实时计算,得到用户的实时的偏好标签以及用户embedding;和
23、推荐模块:基于所述新视频的新视频embedding和新视频标签以及所述用户的偏好标签和用户embedding,判定是否对所述新视频进行召回并向所述用户推荐。
24、本发明实施例第三方面提供了一种视频推荐的电子设备,其特征在于,包括:
25、一个或多个处理器;
26、存储装置,用于存储一个或多个程序,
27、当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的方法。
28、本发明实施例第四方面提供了一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如第一方面所述的方法。
29、本实施例第二到第四方面能够实现与第一方面同样的技术效果。
30、上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
1.一种视频推荐的方法,其特征在于,包括:
2.根据权利要求1所述的视频推荐的方法,其特征在于,
3.根据权利要求2所述的视频推荐的方法,其特征在于,
4.根据权利要求2或3所述的视频推荐的方法,其特征在于,
5.根据权利要求4所述的视频推荐的方法,其特征在于,还包括:
6.根据权利要求4所述的视频推荐的方法,其特征在于,
7.根据权利要求5所述的视频推荐的方法,其特征在于,基于实时更新的所述用户的偏好标签和所述用户embedding,或者基于实时更新的所述用户的偏好标签和所述用户embedding以及所述离线更新数据,通过用户行为类召回、用户对视频标签或类目偏好召回、用户与视频embedding相似度召回,建立视频的召回列表;以及
8.一种视频推荐的装置,其特征在于,包括:
9.一种视频推荐的电子设备,其特征在于,包括:
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。