写点什么

优酷速看短视频自动化生产解决方案

  • 2021-03-29
  • 本文字数:2433 字

    阅读完需:约 8 分钟

优酷速看短视频自动化生产解决方案

一、简介

1.1 摘要

随着用户的时间碎片化程度加剧,视频“由长变短”成为一种趋势,信息流场景下的短视频消费需求日益增长,优酷每年为用户提供大量优质视频资源,具备天然的“由长变短”优势,并通过算法研究在速看短视频的自动化生产方面取得突破。


1.2 相关研究

学术界中将该问题命名为 text video alignment:给定 video 的剧本,基于 video shot 和 sentence 的相似度,做两个 sequence 的对齐。 涉及两个任务,第一个任务是计算文本与视频片段的相似性,第二个任务是 text sequence 与 video sequence 的对齐。


video text alignment 与 video text grounding 的区别是其对视频片段边界不敏感,不要求回归边界,只做 shot 与 text 相似度的度量。而与 video text retrieval 的的相同之处是需要计算 video clip 和 text 的特征及相似度,不同之处是 text video alignment 有时序信息,且时序是顺序的,不存在乱序。text video alignment 的相似比对只在指定的 video 当中,不存在跨 video 的检索。


视频中通常会包含多种不同模态的信息,例如光流、人脸、声音等,之前的方法仅考虑了某一模态的特征。文章[1]提出了一个相似度计算框架将所有模态特征纳入视频-文本的相似度计算中,并且可以灵活扩展到更多的模态,也可以处理某一模态特征缺失的情况。



文章[2]将视频和文本的跨模态匹配过程抽象为对视频序列栈和文本序列栈的操作过程。利用 LSTM 对视频序列和文本序列进行建模,构成视频序列栈和文本序列栈,通过循环预测不同的栈顶操作来实现序列匹配。可以满足不同类型的匹配要求。



文章[3]将文章[1]中的相似度计算框架应用在视频文本检索领域。在原有结构基础上增加了信息过滤模块,增加了不同模态之间的信息融合通道,能够更好地融合不同模态的特征。



文章[4]将图神经网络应用在了视频文本检索领域。分别在文本和视频模态提取不同层级的特征,并使用图神经网络进行模态内的特征融合,最后进行相似度计算。相较于其他方法,图结构的表示方式能够更加合理的组织信息,提升模型性能。


二、算法描述

2.1 算法框架概览

2.2 特征设计

2.2.1 视频特征

视频侧特征提取需要首先进行视频结构化(通过对视频中的图像信息进行智能分析,提取出关键信息,并进行文本的语义描述)。


2.2.2 文本特征

文本侧信息的提取包括了几个部分:文本分类、命名实体识别(Named Entity Recognition)、指代消解和依存关系分析。这些技术模块在一起组成完整的文本处理链路,提取出文本的关键特征之后供多模态匹配使用。


文本分类为匹配算法的权重提供重要依据,匹配算法将按照句子的分类结果采用合适的匹配策略。例如对于描述性的文本采用人物、场景、行为的嵌入向量匹配;对于对白的文本采用 ocr 文本匹配。


命名实体识别可以提取出文本中的命名实体,例如人物、行为、场景等关键信息,这些结构化数据可以通过相似度算法与视频的嵌入向量计算语义距离,从而为基于嵌入向量和标签的匹配算法提供重要的打分函数。采用 Bert[1]模型来进行文本分类和命名实体识别的任务,具体来讲,使用在其他的较大的中文语料库上预训练的模型,然后在自己标注的数据集上进行调优。


指代消解和依存关系分析为消除文本特征中的歧义和冗余项提供了工具。剧情文本中的句子存在很多代词指代的情形,无法用 NER 直接推理出关键的人物。例如,陈永仁听说韩琛新进了一批毒品,于是他赶快把这个消息传递给了黄志诚。第二个子句中的他,如果没有指代消解的能力,就无法准确提出。


句子的依存关系分析则在此基础之上提炼出句子中最关键的信息部分,舍弃干扰项,大大提升提取特征的质量。剧情文本当中通常会有不少定语和状语,这对于 text2video 的任务其实帮助很小,而且他们会扰乱句子主体的提取。这个时候,我们使用句子的依存关系分析,提取出最关键的主语、谓语(行为)和宾语,作为句子的主干成分,从而用作匹配的特征。

2.3 跨模态匹配

跨模态匹配解决如何对齐文本中的句子与视频片段的问题。这是一个非常困难的系统性问题。为了解决这个问题,我们设计了一个多层级的匹配算法,主要分为两个语义级别的匹配:嵌入向量级别和标签级别。


针对嵌入向量级别,我们会针对文本和视频分别训练一个语义嵌入向量提取模型,然后对每一个句子和视频的片段计算一个相应的语义嵌入向量,再用一个神经网络来学习这两个向量之间的匹配关系。这部分的数据我们采用人工标注了一部分。


嵌入向量级别可以解决广义上的语义匹配问题,然而有一些简单的逻辑可以低成本地使用标签级别的匹配算法快速、精准地完成。例如,文本中和视频中出现了对应的人物,那么我们可以使用对应的人物标签来过滤到非匹配的片段。针对这个问题,我们设计了一些有效的相似度分数评估函数,用来计算标签之间的语义距离,从而为搜索匹配进行打分排序。

2.4 文本匹配

对于文本的匹配有两种不同的需求:分别是短句级别的短文本匹配和句子级别的匹配,在此采用词向量的方式来计算文本的相似度。在公开的中文语料库(800 万中文词)上训练了词向量模型,用来计算短语的词向量。


对于短语级别的文本匹配,直接根据词向量模型所计算的词向量作为匹配的依据。对于句子级别的文本匹配,对句子中的词语单独计算词向量,然后进行加权平均作为整个句子的词向量。


有了短语和句子的词向量之后,还需要根据词向量计算文本的距离。所使用的基准方法非常简洁:在计算句子中短语的词嵌入的平均值之后计算两个句子的词嵌入的余弦相似性。这个方法虽然简洁但是在大部分场景下表现都符合预期。针对比较困难的场景,使用词移距离,计算其中一文本中的单词在语义空间中移动到另一文本单词所需要的最短距离。

三、效果展示

四、参考文献及备注

[1] Learning a Text-Video Embedding from Incomplete and Heterogeneous Data


[2] A Neural Multi-sequence Alignment TeCHnique (NeuMATCH)


[3] Use What You Have: Video Retrieval Using Representations From Collaborative Experts


[4] Fine-grained Video-Text Retrieval with Hierarchical Graph Reasoning


备注:TTS 语音合成技术由阿里巴巴达摩院语音实验室提供

2021-03-29 10:002685

评论

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

Java王者修炼手册【Spring 篇 - Bean核心原理】:从 Bean 定义注册到动态代理全链路修炼

DonaldCen

bean FactoryBean JDK 动态代理 CGLIB 动态代理 ObjectFactory

ava 王者修炼手册【Spring 篇 - AOP 与事务】:底层原理 + 实战避坑全攻略

DonaldCen

AOP 核心 AOP 底层流程 AOP失效场景 Spring 事务

Java 王者修炼手册【Spring 篇 - 循环依赖 & 三级缓存】:Bean创建流程 + 循环依赖 + 三级缓存原理 大揭秘

DonaldCen

循环依赖 三级缓存 Bean创建流程

BeeWorks Meet:一款支持私有化内网使用的视频会议软件

BeeWorks

即时通讯 IM 私有化部署

CAD怎么添加打印文件PC5

极客天地

拒绝"通灵式调试":用AI重构代码的"尸检报告"

HuiZhuDev

软件工程 研发效能 代码调试 Prompt Engineering AI辅助编程

Java 王者修炼手册【并发篇 - 并发工具】:从 AQS到线程池修炼

DonaldCen

AQS ReentrantLock Condition LockSupport 同步工具

Java 王者修炼手册【并发篇-并发基础】:从线程状态到同步机制的底层修炼

DonaldCen

线程安全 线程状态 线程协作

Java 王者修炼手册【JVM篇 - 底层原理】:从类加载到 JVM 调优与 OOM 诊断修炼

DonaldCen

JVM GC算法 双亲委派模型 垃圾回收器

Java 王者修炼手册【Mysql篇 - SQL执行存储流程】:拆解 InnoDB 存储结构与 SQL 执行流程,吃透 Buffer Pool 和 Change Buffer 核心原理

DonaldCen

Buffer Pool 数据存储机制 Change Buffer SQL 各子句的执行顺序

ava 王者修炼手册【Mysql 篇 - 事务】:吃透 ACID 本质 + 隔离级别底层 + 大事务排查优化方案,掌控事务核心逻辑

DonaldCen

ACID 实现原理 隔离级别底层机制 大事务识别优化

Java 王者修炼手册【MyBatis 篇 - 底层依赖】:吃透 JDBC/MyBatis 核心接口类,掌控全链路整合逻辑

DonaldCen

connection SqlSessionTemplate BoundSql PreparedStatement

Java 王者修炼手册【基础篇-反射机制】:反射让底层操控力直接拉满!

DonaldCen

Class类用法 Constructor类用法 Field用法 Method用法

Java 王者修炼手册【集合篇-HashMap】:HashMap 核心技能 + HashSet 搭档机制全拆解

DonaldCen

HashMap底层原理 HashSet HashMap扩容机制

Java 王者修炼手册【Mysql篇 - 索引+ SQL优化】:拆解 索引 + 执行计划 + SQL优化 核心原理

DonaldCen

B+树 覆盖索引 索引下推 索引合并 索引失效场景

Java 王者修炼手册【Mysql 篇 - 日志】:吃透 MySQL redo log + undo log + binlog 底层机制

DonaldCen

Binlog Redo Log Undo Log 两阶段提交 WAL核心原理

千万 QPS 下的 DNS 治理:从“够用”到“可控”

柯杰

架构 后端 网络

区块链 Web3 外包开发上线流程

北京木奇移动技术有限公司

区块链开发 软件外包公司 web3开发

Java 王者修炼手册【基础篇-异常机制】:Java异常的底层逻辑

DonaldCen

异常底层原理 深入理解异常 异常表 异常最佳实践

Java 王者修炼手册【集合篇-ConcurrentHashMap】 :从分段锁到桶级锁的锁系进化

DonaldCen

ConcurrentHashMap 并发

Java 王者修炼手册【Mysql 篇 - 大表操作】:千万级大表核心操作原理与实战方案

DonaldCen

数据模型与操作 大表删除字段 大表清除数据 大表新增字段

Java 王者修炼手册【Mysql 篇 - 锁】:吃透 MySQL 行锁 + 间隙锁 + 意向锁 底层机制,了解死锁解决方案

DonaldCen

死锁 间隙锁 意向锁 行锁

Java 王者修炼手册【基础篇-泛型机制】:从底层原理到实战应用,核心知识点与面试考点全涵盖

DonaldCen

泛型 java基础 类型擦除

Java 王者修炼手册【集合篇-ArrayList】:从ArrayList数据结构到避坑指南

DonaldCen

线程安全 ArrayList linkedlist 扩容机制

优酷速看短视频自动化生产解决方案_大前端_阿里巴巴文娱技术_InfoQ精选文章