写点什么

解读优酷视频多级多模态搜索引擎的关键技术

  • 2020-06-11
  • 本文字数:1759 字

    阅读完需:约 6 分钟

解读优酷视频多级多模态搜索引擎的关键技术

优酷在文本搜索系统的基础上,不断探索视频搜索的方案,在多模态输入、多级多模态索引、跨模态检索上做了大量工作,本次分享将揭开优酷多模态图引擎的面纱。

背景

随着智能手机及移动互联网的快速发展,人们接触到的多模态数据不管是数量还是类别都在飞速增长。



优酷作为视频平台,拥有海量 OGC、UGC 视频内容,而视频内容数据是高维度多模态数据,有标题、简介、评论等文本信息,有视频帧的图像信息,有声音,也有连贯的动作视频片段。传统的基于倒排索引的搜索引擎只适合检索文本信息,对于多媒体内容检索能力不足。


为了让用户更便捷地找到多媒体内容,增加多模态搜索能力,优酷视频搜索团队设计并研发了多级多模态搜索引擎(MMS),可以提供分布式大规模多层级多模态索引能力,低延时跨模态级联检索能力,多层级检索、融合、排序能力。

系统概况


MMS 基于阿里平台的 Hippo(在线服务调度)、SAP(应用服务框架)等基础设施开发部署,主要在索引结构、检索控制、执行框架、部署等方面做了系统设计和选型。

关键技术

1 分布式多级多模态索引结构设计

每层级独立构建分布式索引,索引类型包括倒排及向量索引。以视频、帧(图片)、人脸为例,索引结构如下:



视频、帧、人脸存在层级关系;同时帧图片及人脸都有表征向量建的向量索引,支持亿级别规模,分 10 个分片,Top10 的召回率 90%以上。

2 检索调度

MMS 的复杂性在于其在线检索逻辑,即在支持层级及多模态 query 输入的基础上,如何控制跨层级、跨模态的检索。通过定义标准的跨层级和跨模态准则,根据用户的输入形成在线检索逻辑。


基本的检索流程如下图:



由 multi-call 进行多层级、多模态扩展查询逻辑,其中关键是多级、跨模态的扩展查询逻辑。


1)跨层级


跨层级的检索由用户输入的层级作为起始检索点,用户想要的输出作为终点作为扩展,系统具有自适应推理能力。


2)跨模态


跨模态检索会有两种形式的解决方案,使用不同场景,索引构建前,不同模态数据做统一表征,映射到统一空间,在线进行向量检索,此处内容表征的占主要,MMS 主要解决是在文本、向量间进行跨模态检索。

3 图化执行引擎

复杂检索逻辑及低延迟服务能力要求,需要有高效的执行框架,图化执行引擎具备最大限度并行能力。同时对算子进行抽象,可以更自由编排及复用。


MMS 选择 Suez 图化执行引擎,采用 DAG 执行引擎+业务逻辑算子的实现方式。

4 通用性算子实现

搜索逻辑中会设计 query parser、merge、sort 通用逻辑,基于图化执行引擎接口实现通用算子:


1)query parser 算子负责解析请求,查询串使用简单文本方式,相对于 pb/binary 方式,可视化的查询串更加直观,同时查询语法简单且强大。查询串支持查询文本查询,向量查询,或者同时有两者,支持高级语法,可以控制的查询参数粗排精排等;


2)merge 融合多层级 doc,补全所需要的正排、summary 信息;


3)sort 是搜索排序逻辑,排序后选取 Top N 返回;


4)result 是结果返回和处理逻辑,基于查询使用文本方式,我们希望结果也是直接可视化,所以在构建结果的时候支持了 json/xml,同时为了兼顾性能,我们也支持 protobuf 的返回格式,同时还加入 snappy/lz4 方式压缩,使返回结果集更小,传输效率更高;为了方便调试,我们加入了调试参数,可以保存聚合调试参数,输出引擎内部的调试内容。

产品应用

1 优酷智能搜索

采用 MMS 对视频、帧、元素(人物、动作)等多级内容进行索引,召回出视频解构后的信息,可以实现定帧播放,支持用户对于精准视频内容片断的需求。


2 以图搜剧

用户可以通过拍照、上传图片搜索人物及节目、相似画面的视频。输入态丰富为图像,召回系统采用 MMS,既具备传统的通过人脸识别后用人名召回节目,又可直接通过图片向量进行召回。


总结 &展望

多媒体信息不断丰富,直播、小视频等相关应用增长迅猛,5G 移动通信技术的进一步普及,多媒体信息的生产、传播将会持续爆发式增长。人工智能技术日臻成熟,对于多模态内容理解、表征会进一步加强。多模态的人机交互体现会渗透到生活、生产各个环节。多级多模态的检索能力是必须要面临的核心问题。


优酷的多级多模态搜索引擎(MMS)提供了低延迟的跨模态、跨层级搜索能力,支持大规模多模态的索引。在视频分发、视频创作中都有着十分关键的应用场景。MMS 技术在更多的智能交互场景也将发挥更广泛的应用场景。


作者介绍:阿里文娱开发专家 崇懿,阿里文娱开发专家 慧善


2020-06-11 09:003487

评论

发布
暂无评论
发现更多内容

网络调试利器:Chrome Network工具的详细指南

霍格沃兹测试开发学社

2024-06-19:用go语言,给定一个起始下标为 0 的整数数组 nums 和一个整数 k, 可以执行一个操作将相邻两个元素按位AND后替换为结果。 要求在最多执行 k 次操作的情况下, 计算数组

福大大架构师每日一题

福大大架构师每日一题

深入分析四层/七层网关

不在线第一只蜗牛

网关

使用 Apache JMeter 调度器的详细指南

霍格沃兹测试开发学社

数据虚拟化和 Data Fabric(数据编织)对企业数据管理意味着什么?

Aloudata

数据管理 数据孤岛 数据虚拟化 Data Fabric 数据编织

使用Python获取HTTP请求头数据

霍格沃兹测试开发学社

技术加持、产品立身“商查利器”爱企查持续助力诚信社会建设

科技热闻

为什么选择SD-WAN进行企业异地组网?

Ogcloud

SD-WAN 企业组网 SD-WAN组网 异地组网 SDWAN

使用 Apache JMeter 事务控制器的详细指南

霍格沃兹测试开发学社

使用 Apache JMeter 吞吐量控制器的详细指南

霍格沃兹测试开发学社

多环境镜像晋级/复用最佳实践

阿里巴巴云原生

阿里云 云原生 云效

快速掌握 WinRAR:详细安装与使用指南

霍格沃兹测试开发学社

报名参加通义灵码高校训练营,领 300 元阿里云产品通用抵扣金

阿里云云效

阿里云 云原生

抑制告警风暴,我们可以做些什么

乘云数字DataBuff

云原生 可观测 告警风暴

淘宝、1688海外站与外贸站搭建:全面解析与代购系统源码探讨

技术冰糖葫芦

API 安全 API 开发 API 策略 pinduoduo API

云原生技术实践营 · 深圳站:Serverless + AI 专场开启报名!

阿里巴巴云原生

阿里云 Serverless AI 云原生

SD-WAN远程监控异地组网方案

Ogcloud

SD-WAN 远程监控 企业组网 SD-WAN组网 异地组网

使用 Apache JMeter Flexible File Writer 插件的详细指南

霍格沃兹测试开发学社

Postman 集合变量使用详解

霍格沃兹测试开发学社

利用JAVA语言调用GLM-4接口实战指南

幂简集成

Java API 大模型

今日分享丨点亮这四个技能,你也可以成为可视化专家

inBuilder低代码平台

设计 设计开发

构建多模态模型,生成主机观测指标,欢迎来战丨2024天池云原生编程挑战赛

阿里巴巴云原生

阿里云 微服务 云原生

中国首例!「DataKit」上架亚马逊云科技 Marketplace add-ons

观测云

AWS

解决 JMeter 返回内容中文乱码问题的详细指南

霍格沃兹测试开发学社

使用Python获取HTTP请求头数据

霍格沃兹测试开发学社

破除“数据孤岛”新策略:Data Fabric(数据编织)和逻辑数据平台

Aloudata

数据管理 数据孤岛 数据虚拟化 Data Fabric 数据编织

解读优酷视频多级多模态搜索引擎的关键技术_语言 & 开发_阿里巴巴文娱技术_InfoQ精选文章