0

Dailymotion 携手 Qdrant 向量数据库,打造终极内容驱动视频推荐引擎之旅

Atita Arora

·

2024 年 2 月 27 日

Dailymotion's Journey to Crafting the Ultimate Content-Driven Video Recommendation Engine with Qdrant Vector Database

Dailymotion 携手 Qdrant 向量数据库,打造终极内容驱动视频推荐引擎之旅

在当今数字时代,视频内容的消费已无处不在,触手可及的选项多得令人应接不暇。然而,在这片浩瀚的视频海洋中,挑战不在于寻找内容,而在于发现真正契合个人喜好和兴趣,同时又足够多样化以避免用户陷入信息茧房的内容。作为观众,我们渴望具有意义和相关性的视频,以丰富我们的体验,引发思考,并激发灵感。

Dailymotion 不仅仅是另一款视频应用;它是选项海洋中的一座精心策划内容灯塔。Dailymotion 坚定地致力于为用户提供有意义且符合道德的观看体验,是真正重要视频的坚实堡垒。

他们旨在推动动态的视觉对话,打破回声室效应,促进内容发现。

规模

  • 4.2 亿+ 视频
  • 每小时 2k+ 新视频
  • 每天 1300 万+ 推荐
  • 视频包含 300+ 种语言
  • 所需响应时间 < 100 ms

挑战

  • 改善视频推荐,覆盖 Dailymotion 的所有 3 个应用(移动应用、网站以及法国和国际主要网站上的嵌入式视频播放器),因为它是平台受众参与度和收入流的主要驱动力。
  • 传统的协同推荐模型倾向于只推荐热门视频,而新的和小众视频由于零互动或极少互动而受到影响
  • 基于视频内容的推荐系统需要大规模实时处理所有视频嵌入,一旦添加到平台就立即进行处理
  • 在 Dailymotion 的规模下,进行精确近邻搜索并实时更新新视频是非常不合理和不现实的
  • 预先计算的KNN将非常昂贵,并且由于视频每小时更新一次而可能不起作用
  • 平台需要快速推荐,约 < 100ms
  • 需要一个向量搜索引擎进行快速 ANN 搜索,该引擎能够支持平台的规模和性能要求

背景 / 历程

Dailymotion 旨在提供一个智能视频推荐引擎,为用户提供精选的视频选择。这项任务始于需要向平台首次用户(冷启动问题)推荐更相关的视频,并实现理想的主页信息流体验,让用户观看预期相关、多样化、可解释且易于调整的视频。
这个目标促使他们付出了努力,正如他们当时专注于优化 Dailymotion 主页信息流的视频推荐器

他们随后继续在使用向量数据库和观点挖掘优化推荐引擎的工作,强调根据新鲜度、真实观看比例、观看完成比例和宽高比等特征对视频进行排序,以增强用户参与度并优化每用户在主页信息流上的观看时长。此外,团队持续关注通过基于兴趣对视频进行分组并使用分层采样来多样化用户兴趣,确保为用户提供平衡的体验。

至此,Dailymotion 团队已清楚,未来的计划将涉及克服数据处理、情感分析和用户体验相关的障碍,以提供有意义和多样化的推荐。主要的挑战仍在于候选生成过程、文本嵌入、观点挖掘,以及优化这些过程的效率和准确性,并应对大规模内容策划的复杂性。

解决方案一览

solution-at-glance

该解决方案涉及实施一个内容驱动的推荐系统,利用 Qdrant 为相似视频提供支持,其特点如下:

用于表示每个视频的字段 -
标题、标签、描述、转录(由OpenAI whisper生成)

使用的编码模型 - MUSE - 多语言通用句子编码器

  • 支持 - 16 种语言

为何选择 Qdrant?

quote-from-Samuel

考虑到所需解决方案的复杂性、规模和适应性,团队决定利用 Qdrant 的向量数据库来实现基于内容的视频推荐,这无疑比其他方法提供了多项优势。

1. 高维数据处理效率

视频内容本质上是高维的,包含音频、视觉、文本和上下文元素等各种特征。
Qdrant 在高效处理高维数据方面表现出色,并提供开箱即用的支持,可处理高达 65536 维度的模型,使其非常适合表示和处理复杂的视频特征,并且可以选择任何嵌入模型。

2. 可伸缩性

随着视频内容和用户互动量的增长,可伸缩性变得至关重要。Qdrant 精心设计,支持垂直和水平扩展,可以在不影响性能的情况下无缝扩展以适应大量数据和用户互动。

3. 快速准确的相似性搜索

高效的视频推荐系统依赖于识别视频之间的相似性以进行相关推荐。Qdrant 利用先进的 HNSW 索引和相似性搜索算法,几乎可以即时(在此用例中为 20ms)根据视频的特征表示快速准确地检索相似视频。

4. 通过 Payload 将向量表示与元数据灵活结合

Qdrant 提供了灵活性,可以以 Payload 的形式存储带有元数据的向量,并支持在相似性搜索期间进行高级元数据过滤,以整合自定义逻辑。

5. 降低维度和存储要求

Qdrant 中的向量表示提供了各种量化和内存映射技术,可以高效地存储和检索向量,与基于内容过滤或协同过滤等替代方法相比,降低了存储要求和计算开销。

6. 令人印象深刻的基准测试结果

Qdrant 的基准测试结果无疑是 Dailymotion 团队尝试该解决方案的关键动力之一,团队评论说,其性能表现甚至比基准测试结果更好。

7. 易用性

与 Google Vertex Matching Engine(Dailymotion 最初的选择)相比,Qdrant 的 API 非常容易上手,并且来自团队的支持对我们非常有价值。

8. 能够按 ID 获取数据

Qdrant 允许通过 ID 检索向量点/视频,而 Vertex Matching Engine 需要向量输入才能搜索其他向量,这是 Dailymotion 的另一个非常重要的功能。

数据处理流水线

data-processing

图显示了数据处理流水线的流式架构,每当上传或更新新视频(标题、描述、标签、转录)时,都会计算更新后的嵌入,并直接馈送到 Qdrant 中。

结果

before-qdrant-results

推荐内容的处理时间和质量有了显著改善,因为现有系统存在以下问题:

  1. 视频推荐效果欠佳,处理时间长达约 5 小时
  2. 协同推荐器倾向于推荐并专注于高信号/热门视频
  3. 基于元数据的推荐器仅关注非常小范围的可信视频来源
  4. 推荐未考虑视频内容本身

after-qdrant-results

利用 Qdrant 和协同推荐器的新推荐系统实现带来了各种优势

  1. 新视频内容的处理时间显著缩短至几分钟,这使得新视频也能参与推荐。
  2. 高性能且可伸缩的视频推荐范围目前处理 2200 万个视频,即使对于互动较少的视频也能提供推荐。
  3. 对低信号视频的整体巨大性能提升使得推荐视频的互动和点击率(点击次数)增加了三倍以上。
  4. 无缝解决了初始冷启动和新鲜内容性能低下的问题。

展望 / 未来计划

团队对其在推荐系统上取得的成果感到非常兴奋,并希望继续在此基础上进行构建。
他们计划接下来开发 Perspective feed,并表示:

“我们最近通过一个名为 Perspective 的功能将这个新的推荐系统集成到我们的移动应用中。此功能的目的是打破垂直信息流算法,让用户发现新视频。当浏览他们的信息流时,用户可能会遇到讨论特定电影的视频。通过 Perspective,他们可以选择探索关于同一主题的不同观点。Qdrant 在此功能中扮演着关键角色,负责生成与主题相关的候选视频,确保用户接触到多样化的视角,并防止他们被局限于只能看到相似观点的回声室。”
Gladys Roch - 机器学习工程师

perspective-feed-with-qdrant

团队还有兴趣利用诸如Qdrant 的 Discovery API 等高级功能来促进内容探索,通过在查询中使用正负向量,不仅能找到相似内容,也能找到不相似内容,并使其与现有的协同推荐模型协同工作。

参考资料

2024 - https://www.youtube.com/watch?v=1ULpLpWD0Aw

2023 - https://medium.com/dailymotion/reinvent-your-recommender-system-using-vector-database-and-opinion-mining-a4fadf97d020

2022 - https://medium.com/dailymotion/optimizing-video-feed-recommendations-with-diversity-machine-learning-first-steps-4cf9abdbbffd

免费开始使用 Qdrant

开始使用