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 亿多视频
  • 每小时 2 千多个新视频
  • 每天 1300 万多条推荐
  • 视频包含 300 多种语言
  • 所需响应时间 < 100 毫秒

挑战

  • 改进 Dailymotion 所有 3 个应用程序(移动应用、网站以及所有主要法国和国际网站上的嵌入式视频播放器)的视频推荐,因为它是平台观众参与度和收入流的主要驱动力。
  • 传统的协同推荐模型倾向于只推荐热门视频,新鲜和小众视频因零或极少互动而受苦
  • 基于视频内容的推荐系统需要大规模实时处理所有视频嵌入,只要它们被添加到平台
  • 在 Dailymotion 上大规模实时保持最新视频更新的精确邻居搜索是不合理和不切实际的
  • 预计算的KNN 将是昂贵的,并且可能由于每小时的视频更新而无法工作
  • 平台需要快速推荐 ~ < 100 毫秒
  • 需要向量搜索引擎上快速的 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 索引和相似性搜索算法,支持基于视频特征表示快速准确地检索相似视频,几乎是即时完成(在此用例中为 20 毫秒)。

4. 通过 payloads 进行向量表示和元数据的灵活性

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

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. 对低信号视频的整体巨大性能提升,使推荐视频的互动和点击率(点击次数)增加了 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

开始使用