2019.04.04 丨 网易传媒技术团队

基于视频主题聚类的相关视频召回

2019.04.04 丨 网易传媒技术团队


一、推荐系统框架与推荐召回


当前业界主流的推荐系统其核心模块一般分召回和排序两个部分。召回模块负责从数百万乃至数十亿数据里以一定的策略或算法模型过滤出量级在数百的相关数据,而后由排序模块结合用户画像、上下文等特征进行精排序,确定最终展示给用户的内容。

1  Google 的推荐系统架构[1]


如图1所示的是一个来源于 Google 研究论文的视频推荐系统的框架图。User History and Context 即用户的历史观看行为和用户当前使用 App 的上下文信息,上下文信息即地理位置、网络状况、时间信息等等,这些信息构成了用户画像的基础。Video Corpus 即我们的物料库,包含我们所有可推荐给用户的视频。Other Candidate Sources 为以其他方式召回的数据,Video Features 为对应 Video Corpus 的特征库。架构图中间两个蓝色的梯形表示的即核心的召回和排序模块。图中 Video Corpus 视频池中存储的为视频的 IDVideo Features 特征池中则包含视频元数据和其他以各种方式抽取的特征。在 Google 的框架里,从视频 ID 到候选池生成,用的是协同过滤的方法。


在视频推荐上,传统的召回主要分为几种:

  • 行为召回

  • 语义召回

  • 视觉召回

 

行为召回是指使用对用户历史行为建模的协同过滤方法进行召回。冷启动问题是推荐系统的一个经典难题,其一方面指的是对于新用户,我们不能确认其喜好,没有历史数据可以参考来推荐内容;另一方面指的是对于用户分享的新视频、内容,同样因为缺少用户交互数据,我们不能确定可以将其推荐给哪些用户。协同过滤方法依赖用户的历史数据,在交互数据足够多的时候,能够取得非常好的效果,但无论是用户还是数据的冷启动问题都无法解决。

 

语义召回是指利用视频相关的元数据作为视频特征,用于内容召回。元数据是指标题、副标题、分类、tag 等等,如果是影视类的,还可能有导演、演员等信息。元数据是高度语义相关的信息,能和用户的兴趣直接关联起来,用于推荐会有很好的效果。其问题在于元数据缺失或者不可信。

 

视觉召回是指对视频内容进行建模,计算视频之间的相似性,从而参照用户的历史观看数据,推荐相似的视频。其问题在于可能召回语义上不相关的内容,降低用户体验。

 

如前文所述,经典的召回方法各有其缺陷,我们尝试提供一种召回方法,兼顾语义相关和视觉相似,用于解决 CF 方法无法解决的 数据冷启动 问题。


二、视频主题聚类


主题聚类是 NLP 领域的经典问题,有很多成熟技术方案。而视频的主题聚类,现有方案或者是基于视觉特征聚类,或者是基于视频的元数据借用 NLP 的主题聚类方案。基于视觉聚类的方案可以做到视觉相似却缺少语义相关,基于 NLP 主题聚类无法克服元数据缺失和虚构的问题。

 

针对视频主题聚类,我们的期望包括几个方面:

一是主题能够尽量原子化,能够体现用户的个性化需求

二是主题能够基本覆盖推荐池的所有数据

三是聚类的结果能够有良好的语义相关性和视觉相似性


2  视频主题聚类流程图


我们的方案如图2所示,使用多个基础模型对视频的多模态数据分别处理抽取音频、视频的帧级特征、文本的词向量以后,对特征进行聚合,形成单模态的视频级特征,而后对多个模态的特征进行 Concate,经 Fully Connect Layer 融合成为单一的的视频级特征。


3 NeXtVLAD 算法流程图[2]


而图中多模态学习部分我们使用 NeXtVLAD 算法对各个模态的特征进行聚合。NeXtVLAD 算法的框架如图3所示,该算法的流程是先用基础网络抽取视频帧的特征和音频帧的特征,然后使用 NeXtVLAD 模块聚合帧的特征形成视频级的特征,再经全连层输出最终的分类。该算法在 YouTube 8M 分类比赛上取得了相当好的效果,当前排名靠前的算法都是基于NeXtVLAD 框架的算法,充分证明了该算法的实力。



基于 NeXtVLAD 框架的多模态特征抽取网络


与论文算法的一个不同之处在于我们同时也用了视频标题的信息,如上图所示。首先我们使用网易新闻的数据训练词向量模型,对视频标题进行分词以后,使用词向量进行向量化,然后多个词向量同样经 NeXtVLAD 进行特征融合,并 Concate 到最终的视频特征向量里去。通过这种方式我们使训练的模型融合了视频标题的语义信息。

 

在视频主题聚类环节,我们先对特征进行 PCA 降维,然后使用普通的 K-Means 聚类,先期设定的聚类目标数为 5000,然后对聚类的结果进行人工核查,剔除了部分无意义类别后,得到 3600 多个类别作为我们的视频主题库,经过评估,我们的主题能够有效覆盖 96% 的网易新闻推荐池里的视频。


三、相关视频召回


如图5所示,我们点击播放视频以后,视频下方会出现相关视频的一个列表,展示相关视频。即相关视频推荐。




5  相关视频示例,上图中红色框区域即相关视频推荐列表


相关视频即属于同一个视频主题聚类的视频。在 AB 实验中,相关视频的实验组的整体人均点击数提升 1.58%,人均播放时长提升 0.99%,推荐点击率提升 0.65%,同时对应的视频主题聚类召回模块的曝光点击率和推荐点击率相比 baseline 均有大幅提升。证明了视频主题聚类算法的有效性。


四、存在问题与后续规划


通过对数据的观察,我们发现目前存在的主要问题有两方面:一是视觉相似,但实际内容大不相关;二是同一主题下内容涵盖的过于宽泛。经过分析,确认以上问题出现的原因一方面是模型里引入的语义信息太少,视觉相似在模型里占据了更大的权重;另一方面是当前方案里聚类个数的选择逻辑是先选一个较大的聚类数量,然后人工淘汰没有明确语义内容的少数类别,对于聚类结果没有做进一步细分。

对于存在的问题,后续我们计划一方面引入更多的语义信息,使得模型在语义和视觉上有更好的权衡,另一方面结合层次聚类,使主题聚类更精细。



题图来源: 维基百科


参考文献


1 Covington, Paul, Jay Adams, and Emre Sargin. "Deep neural networks for youtube recommendations." Proceedings of the 10th ACM conference on recommender systems. ACM, 2016.

2 Lin, Rongcheng, Jing Xiao, and Jianping Fan. "NeXtVLAD: an efficient neural network to aggregate frame-level features for large-scale video classification." European Conference on Computer Vision. Springer, Cham, 2018.

3 https://research.google.com/youtube8m/

4 Abu-El-Haija, Sami, et al. "Youtube-8m: A large-scale video classification benchmark." arXiv preprint arXiv:1609.08675 (2016).

文章来源:网易传媒技术团队微信公众号,欢迎大家前去关注

文章作者:汤泽胜

文章地址:基于视频主题聚类的相关视频召回

媒体联系

票务咨询:赵丹丹 15802217295

赞助咨询:郭艳慧 13043218801

媒体支持:景    怡 13920859305

提交需求