PCon全球产品创新大会最新日程上线,这里直达 了解详情
写点什么

优酷视频元素内容召回系统:多级多模态引擎探索

  • 2020 年 7 月 19 日
  • 本文字数:4039 字

    阅读完需:约 13 分钟

优酷视频元素内容召回系统:多级多模态引擎探索

导读: 多级多模态引擎是为推荐搜索定制的专业化的召回引擎。优酷视频搜索在基础的文本 Query 搜索系统的基础上,不断探索视频搜索的特色,在多模态输入、多级多模态索引、跨模态检索上积累很多实践经验,在 C 端及 B 端都有线上应用。创新的脚步在持续,多模态图引擎已经研发完成即将应用于线上,此次分享也会揭开面纱。本次分享题目为优酷的视频元素内容召回系统,主要介绍:


  • 搜索多模态输入和人脸搜

  • 多级多模态引擎及应用

  • 多模态图引擎揭秘


01 搜索多模态输入和人脸搜

1. 优酷视频搜索业务介绍


先简单说一下优酷视频搜索的业务,优酷的搜索业务涵盖 APP、WEB、大屏、OTT、 PC 的客户端,还有支付宝、淘宝等应用的小程序,都有优酷搜索的功能。搜索的结果页会根据用户的意图和搜索结果呈现出不同的组织形式。


用户意图以节目为主,会呈现节目的搜索结果页;用户也会搜索宽泛意图的 Query,有聚合类型的结果页;会有 UCG 视频的结果;还会有明星;组织形式会非常多,会根据用户的意图,搜索结果的内容,做不同的呈现。


2. 用户交互形态


优酷视频搜索业务有很多用户交互的形态,在 APP 端大家能看到的就是常用的文本搜索,在大屏端,常用的有首字母搜索的能力,这都属于文本输入的搜索;APP 端、大屏的 OTT 端搜索,还有语音搜索的能力,通过对话语音的录入,获得搜索结果。


现在在大屏端已经有了多轮对话的能力。在右侧的例子里面可以展现出来,如果用户通过语音录入:“我想看刘德华的电影”,就会给出搜索结果,如果继续去讲说"和周润发一起演的电影",这就会在现有的结果基础上再进行筛选。多轮对话的搜索能力,在现有大屏场景上是非常好的体验。当然现在还在设想多模态的搜索,它可以拍摄图像、录入视频,通过各种多模态的输入能力,触发搜索。


3. 视频多级元素内容


介绍一下什么叫做多级的元素内容。简单的去定义一下视频九级的分类等级。


  • 宏观:频道、节目

  • 微观:帧的粒度、帧的区域、对象、由帧和镜头组成的叙事场景、描述的故事等


会把整个的视频分成多个等级。基于现在的 AI 能力的理解,会把不同的对象,镜头,动作等,都能识别处理出来,做为整个视频召回的基础能力。


4. 搜索多模态输入

大家先看关于多模态输入的视频,这是比较有科技感的宣传片。



大家可以看到,在整个的宣传片里面,可以根据录入的视频和图像,识别出来里面的人物,可能和人物相关的作品,与人物有关的新闻的内容。用手机作为载体,输入视频图像等不同模态。


5. 人脸搜


上面这张 PPT 里面展现的是阿里文娱内部在做的人脸搜的产品,它通过手机拍照,从相册里面去选择图片,来搜索和明星相似的人脸。



介绍一下人脸搜的整个系统结构。它作为搜索的多模态输入的基本形态,左侧图展现的是几个模块,首先是有输入端,APP 提供拍照、从相册里选择图片、上传等功能。在端侧会先做图像的初步压缩和裁剪。它的图片不是通过直接请求到后端,先会走图片上传流程。


阿里通用的就是 AUS 服务,把图片上传到服务端,返回 URL, APP 端会把 URL 及其他参数请求搜索服务。通过在线图片计算服务,首先对上传的图片进行包括人脸识别、人脸向量化等图片处理。拿到图片的特征后,到引擎里去做检索,这里会包含向量的检索,识别出来人物的名称做倒排的检索等。


现在 APP 端有很多开源的端智能能力,阿里最近开源的 MMN 框架,在端侧就可以做关键点的识别、分类预测等。这个框架会提高图像处理能力,实现比较好的交互。比如拍海报,上面的人物就可以自动把人脸框出来,并且给出人的名字,类似的能力直接在端上就可以实现。


这是整个的多模态输入的基础框架,在语音的场景,视频录入的场景,都可以沿用这套基础框架进行支持。


02 多级多模态引擎及应用

下面介绍一下多级多模态引擎的设计。


1. 索引结构


索引结构分为三个等级,以视频帧里面的人脸为例,每个视频的索引等级都是单独做分布式的索引,整个索引设计中不仅包括向量的索引结构,还包括倒排的索引结构等。


2. 跨层级跨模态检索


跨层级检索


先讲一下跨层级的检索,一个比较简单的流程是:根据用户输入的层级,比如说用户要检索人脸,最终想拿到包含人脸的视频,用户输入的是一张图片,最终返回结果会是视频的片段。在这套引擎里面会有系统自适应的推理能力,给出整个检索路径。


跨模态检索


另外就是跨模态的检索,主要支持文本和向量间的跨模态。刚才有提到例子通过人脸的向量以及对图片的理解,人脸识别就可以给出来人的名字。可以根据向量和人的名字一起检索,做到从人脸向量到名字文本的跨模态检索的能力。


整个执行流程,右侧图可以看出来它是图的结构,是一个 DAG 的结构,整个引擎底层执行框架的设计,是 DAG 执行框架,在这上面是希望是能做到更高的并行,另外可以更提供更好的扩展性。


最关键的两个步骤


  • 多层级的 Merge:系统自动的做层级之间的检索来组成整个检索路径;

  • 在最上层做多层级排序:根据召回的所有层级,以及关联的层级信息,做最终的排序。


3. 多级多模态引擎的应用


分享一下现在在线应用上的几个例子,对在 2C 端,大家在优酷 APP 中就可以体验,比如搜易烊千玺跳舞,就会有优酷智能搜索的结果,这里面是合集。点进去可以看到包含有易烊千玺跳舞片段的视频,而且检索会把易烊千玺跳舞的时间点都给得出来。


除了 2C 端的智能搜索的应用,在 2B 端也做过很做了很多尝试:


  • 搜镜头。因为对于内容的创作生产,寻找素材是很需要智能搜索,所以在 2B 端,你可以搜类似《长安十二时辰》相关的片段,他对应的就会给出很短的视频片断,基于对视屏内容的解构,给出来的镜头。通过多级多模态检索引擎,就可以检索出来。

  • 搜台词。会给出相关的出现过类似台词的视频,这些台词都是出现在不同剧里的,也是通过多级多模态引擎去检索,检索的是某剧包含该台词的视频片段。


这就是整个的多模态引擎的设计和应用。


03 多模态图引擎

下面也分享一下最近在思考和研发的多模态图引擎。


1. 搜索知识图谱的应用


大家对知识图谱都比较熟悉,尤其是做搜索的或者常用搜索引擎的同学。在搜索引擎里面你可以去搜索问题。比如说:邓超的妻子是谁,在百度和 Google 都会给出对应的卡片,直接就能得到正确答案,并且给出图像的介绍。比如说搜索《重生》电视剧的演员是谁,《重生》有多少集,这些问题都可以直接回答出来,这些就是知识图谱的应用。


2. 文娱行业知识图谱的构建


在对于刚才提到的多模态的信息,是视频行业所涵盖的知识,就会构建出文娱行业的知识图谱。


从宏观讲,视频节目之间都有关联,它可能是与某制作公司或者某大的 IP 相关联同时刚才也有提到,在微观层面它会有场景、事件,还会有里面动作、表情和物体的识别。经过系统的构建,就会生成文娱行业的知识图谱。从这一点做更深入的思考,在原有的引擎上提出,要建设多模态的图引擎。


3. 图引擎


简单的跟大家介绍一下图引擎。在 Apache 里面有个顶级的开源项目 Tinkerpop,它给出了图数据库、图分析系统的标准定义,还给出了通用图数据语言 Gremlin。


现在的图数据库的应用还是非常广泛的,阿里有开源的图数据库 GDB,百度、头条都有推出一些相关的图数据库。


这张图展现的是图数据库的排行。大家都知道 Neo4j,JanusGraph、Titan 等图数据库。在知识图谱的应用上,包括搜索、社交领域等都会有比较丰富的应用。


而 Gremlin 所支持图遍历的能力,其实是一种动态召回的能力。把基本的图遍历过程分成了 filter,map 等 5 种类型,基本上涵盖了所有需要的查询过程。


4. 多模态图遍历应用场景

在刚才讲到从多模态的输入到对于多模态引擎的设计,这基于我们对于视频行业的理解和思考。刚才提到了整个的文娱行业会有比较丰富的知识图谱,需要用图引擎去做检索服务。另外必须要打造的功能点是有多模态的召回能力,这张图里面就很好展现了应用场景。



例如,用户搜索:“和邓超老婆长得像的女演员出演的电视剧”,整个图里面展现的是图遍历的过程,下面是对应的 Gremlin 语句。


通过邓超搜索到人,根据知识关系,可以知道他的老婆是孙俪。同时怎么去描述它长得像?


这要用到多模态向量检索,通过孙俪的人脸向量的表征,进行向量检索,可能会搜出"蒋勤勤"或者"刘涛",直接给出人物的实体 ( entity ),再推理出他们出演的电影作品或电视剧,给出最终的结果。


在此过程中,在图遍历的基础能力上,又扩展了多模态的检索能力,从中间增加了 VectorQuery 的能力。因为在视频行业里面,除了刚才提到的整个知识库以外,多媒体内容需要做表征、检索,这就成为图引擎应用于文娱行业的创新点。


5. 多模态图引擎的索引设计


图引擎一般基于顶点、边去构建整个图谱,通过顶点和边的构建来支持图的多轮检索能力。分布式的索引,在 Searcher 上,会根据主键去做分片,分片上会包含 KV 和 KKV 的索引结构,以及倒排和向量的索引结构。这些会更加方便、高效地支持图遍历能力。


6. 图遍历支持模型服务


在视频元素内容召回能力上,图遍历支持模型服务是强需求。因为在整个召回过程中会做图片的表征,进行实体的打分、排序,在图遍历过程中提供 model 的 step,step 可以调用本地的模型,或者是通过远程访问调用深度模型、需要 GPU 跑的模型,再返回到检索链路中。


04 总结和展望


随着整个人工智能技术的逐渐丰富,视频行业将会把知识库的内容做得更加丰富和完善,刚才也展现了里面的冰山一角。这些都给引擎带来非常大的挑战,也提供了非常大的机会。我们希望通过搜索引擎更深入地迭代,来更好地满足用户交互体验。


在多模态输入能力上,对现有很多智能设备,包括家里的大屏电视、能力非常强大的手机等,都是为用户提供了更好的交互体验场景,这些场景都需要有多模态的搜索能力做为基础。


今天的分享就到这里,谢谢大家。


作者介绍


崇懿,阿里文娱技术专家。多年搜索推荐系统研发经验,目前在阿里巴巴文娱负责搜索工程,致力打造具有视频特色的搜索引擎。


本文来自 DataFunTalk


原文链接


https://mp.weixin.qq.com/s?__biz=MzU1NTMyOTI4Mw==&mid=2247502849&idx=1&sn=a9d6b7f727f99e877cb2a4a601773725&chksm=fbd77e6dcca0f77bb63e12273c5befbe00c24fed18525ee0d040acdb95a84f3a8def26707277&scene=27#wechat_redirect


2020 年 7 月 19 日 10:001656

评论

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

【原创】Spring Boot 如何手写starter

田维常

springboot

【原创】SpringBoot 这几种配置文件方式,你都用过吗?

田维常

springboot

快速掌握并发编程---ArrayBlockingQueue 底层原理和实战 java

田维常

并发编程 LinkedBlockingQueue

【原创】Spring Boot集成Redis的玩法

田维常

spring Boot Starter

追风人与笃行者:云手机的2020风云录

脑极体

4年Java经验,去面试居然10分钟就结束了,现在面试为什么这么难?

Java架构之路

Java 程序员 架构 面试 编程语言

【原创】Spring Boot 集成Spring Data JPA的玩法

田维常

springboot

Spring Boot 集成 Druid 监控数据源

田维常

springboot

Spring Boot 如何快速实现定时任务

田维常

springboot

华为云FusionInsight MRS:助力企业构建“一企一湖,一城一湖”

华为云开发者社区

数据库 云原生 数据

浅析一个较完整的SpringBoot项目

田维常

sping

【原创】Spring Boot终极篇《上》

田维常

springboot

【原创】Spring Boot终极篇《下》

田维常

springboot

Polkadot系列(二)——混合共识详解

QTech

区块链 polkadot

轻松使用TensorFlow进行数据增强

计算机与AI

tensorflow 学习 数据增强

量化交易系统开发、自动对冲策略搭建

薇電13242772558

区块链

快速掌握并发编程---关于乐观锁、悲观锁、可重入锁

田维常

并发编程

如何快速构建Spring Boot基础项目?

田维常

spring Boot Starter

【原创】Spring Boot集成Mybatis的玩法

田维常

springboot

面试官问:你讲讲分布式事务问题的几种方案?

Crud的程序员

分布式

运筹帷幄之后,决胜千里之外!GitHub上标星75k+的《Java面试突击手册》助你拿到满意的offer。

Java架构之路

Java 程序员 架构 面试 编程语言

面试官:Java装箱与拆箱的区别?

田维常

springboot

一期二班 - 吴水金 - 第五课作业

吴水金

【原创】Spring Boot 过滤器、监听器、拦截器的使用

田维常

springboot

【原创】Spring Boot一口气说自动装配与案例

田维常

springboot

【原创】SpringBoot快速整合Thymeleaf模板引擎

田维常

springboot

社会正在惩罚不读书的人!这份程序员进阶书单,值得收藏~

田维常

程序员 电子书

如何将MySQL查询优化到极致?

冰河

MySQL sql 性能优化 查询优化 查询

熟悉又陌生的 k8s 字段:SecurityContext

郭旭东

Kubernetes Kubernetes源码

高防服务器是什么?

德胜网络-阳

送你4句口诀 云存储选型不再犯难

京东科技开发者

云存储

ShadowRealm 与微前端沙箱

ShadowRealm 与微前端沙箱

优酷视频元素内容召回系统:多级多模态引擎探索-InfoQ