报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

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

  • 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:003312

评论

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

2022年移动应用运营增长洞察白皮书:流量红利消退时代的“破局”之道

科技汇

基于 SPICE 协议的硬编推流整合方案在云游戏中的应用

字节跳动视频云技术团队

视频编解码 云游戏

论文领读|面向机器翻译的多语言预训练技术哪家强?最新进展一睹为快!

澜舟孟子开源社区

人工智能 自然语言处理 机器学习 后端 机器翻译

面试官:Redis&MySQL的三种缓存更新策略是怎样的?

Java全栈架构师

Java MySQL redis 程序员 程序人生

接口调试还能这么玩?

Liam

前后端分离 Postman API 接口开发 前后端

开源轻量级 IM 框架 MobileIMSDK v6.2 发布

JackJiang

网络编程 Netty 即时通讯 im开发 开源im

50个名额限量开放|带着OceanBase年度发布会的消息走来了!

OceanBase 数据库

BigQuery和Snowflake谁更适合你?两大数据仓库8个角度逐一对比

雨果

数据中台 数据仓库 DaaS DaaS数据即服务 数据即服务

百度、阿里、腾讯,谁最先倒下?

雨果

数据中台 数据服务

我有 7种 实现web实时消息推送的方案,7种!

程序员小富

Java springboot websocket 消息系统

【Docker 那些事儿】容器监控系统,来自Docker的暴击

Albert Edison

Docker 云计算 Kubernetes 云原生 7月月更

文档协同工具推荐

Baklib

Docker 搭建 MySQL 主从复制

宁在春

MySQL Docker 主从复制 7月月更

话实践,行实干,成实事:“巡礼”数字化的中国大地

脑极体

C2B模式下优惠券架构演进

转转技术团队

Java 架构 Elastic Search

STEPN链游系统开发模式详解(运动赚钱模式)

开发微hkkf5566

连续最大和与判断回文

未见花闻

7月月更

Python网页解析库:用requests-html爬取网页

和牛

测试

Baklib:分享一些关于建设企业知识管理(KM)的方法

Baklib

关于研发效能(41/100)

hackstoic

团队管理

物联网技术在物联网产业格局的分布与应用

AIRIOT

低代码 物联网 低代码,项目开发

你的技术leader不懂这个?没有它就是没有设计的完成思考过程

田晓亮

方法论 架构设计

教你使用CANN将照片一键转换成卡通风格

华为云开发者联盟

人工智能 CANN 昇腾 卡通

Ceph在手天下我有!

穿过生命散发芬芳

Ceph 7月月更

云服务器ECS老用户专享,10余款实例新购低至3.6折

阿里云弹性计算

阿里云 云服务器 ECS

Paper Time 回顾|MB2:为自治数据库建立行为模型

OceanBase 数据库

融云推出实时社区解决方案,垂直兴趣社交「高级玩家」上线

融云 RongCloud

社交网络 即时通讯IM

网易游戏 Flink SQL 平台化实践

Apache Flink

大数据 flink 编程 流计算 实时计算

数据治理新动态:欧盟发布数据治理研究报告,对国内有何影响

雨果

数据治理

力扣第三题——无重复字符的最长子串

为自己带盐

力扣

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