原创 云未 淘系技术 8月6日
背景介绍
随着5g时代的到来,视频内容形态迸发出勃勃生机,各大短视频app获得的巨大成功、淘宝短视频完成的种草和成交转化都说明短视频承担着商品介绍、图文内容等其他形式不可替代的重要作用。
淘宝内经过多年的沉淀,已经积累了上亿的视频。如何深入理解视频内容,对视频内容完成结构化分析和管理,对海量视频的管理和分发有着重要影响。完成视频内容的算法理解,可以对不同兴趣特点的用户分发符合他们兴趣意向的视频,从而提升用户时长和成交转化。由于视频内容是一种多模态的信息结构,包括视觉、文本、语音、商品等信息,如何提取多模态特征并进行融合理解,这也对内容理解算法提出了极大的挑战。
▐ 为什么要做标签?
在这种亟需深入理解视频内容的大背景下,不同的表征形态涌现。包括:
- embedding表征
- 标签表征
其中embedding表征常用的方法包括多模态预训练模型、基于用户行为的deep match模型等等,集团内在这方面有大量优秀的工作,使用embedding表征视频内容最大的问题在于不可解释性,只能完成机器对视频的理解。
使用标签对内容进行表征的优势在于,标签是一种高度概括的自然语言,不仅完成了机器对视频内容的理解,同时完成了人到视频内容的理解。同时,标签库量级上百万,组合方式多样,保证了内容表征的多样性。
综上,对视频完成了标签挂载,可以完成以下目标:
- 用户可理解
- 算法可解释
- 运营可干预
▐ 我们需要什么样的标签?
为了回答这个问题,需要拆解成两个子问题。
- 我们需要什么样的标签库?
视频是一种分别非常不均匀的数据形态,其拍摄方式、包含物体、拍摄手法、表达重点均非常丰富,为了描述丰富多彩的视频,需要维护海量级、描述维度全面的标签库。由于视频热点更新速度非常快,因此标签库需要自动挖掘、更新,完成标签库的动态扩充。同时,由于标签是一种自然语言,标签和标签之间天然有一种推理关系,因此,标签不应割裂和独立,而是存在一种结构化的数据结构。
因此,标签库需要的特性总结如下:
- 标签量级大、标签维度全面;
- 可动态扩展
- 标签间有关联(结构化)
- 对于一个视频来说,需要打出什么样的标签?
对于一个视频,必然存在拍摄此视频的核心原因,我们将此原因概括为核心主旨标签,给出核心主旨标签,即可联想到此视频大致的描述方向。同时,视频中必然出现很多相关标签,这类标签可帮助了解视频细节内容。结合核心主旨标签和相关标签,就可以对视频内容进行全局到局部、总体到细节的理解,这也是符合人类认知习惯的。
以下面这个淘宝中常见的视频为例,其核心想表达的是一个复古清纯风格的服饰搭配教程,核心主旨为:白月光穿搭、复古清纯穿搭等;而如何穿搭才能展现这种风格?需要穿白色连衣裙、带发箍等等,因此其相关标签应为:白色连衣裙、可爱发箍、vintage等等。
视频1 一种典型的淘内视频打标的结果
标签体系框架设计
按照1.2中的分析,为完成对视频内容全面的理解,我们需要从标签库和打标算法两个大方向对整体标签体系框架进行设计,即:
(1)标签库动态维护,包括标签的动态挖掘和标签结构化
(2)视频内容打标算法
完成标签库维护和打标流程后,即可完成数据服务的对外输出和下游的业务应用。数据的对外输出包括数据生产和实时/离线的服务输出;业务应用包括运营工具、下游投放算法和标签外透等。我们设计的标签体系框架如下图所示。
图2 标签体系设计架构大图
经过标签体系算法流程,内容标签目前对视频内容进行打标、标签库进行动态管理取得的结果如下图所示。在后续章节中,我会根据标签库动态管理、视频内容打标算法流程、下游应用三个大模块进行详细的介绍。
标签库动态管理
▐ 标签挖掘
为保证挖掘标签词的时效性、全面性,我们设计了两套互补的标签挖掘算法流程,再将挖掘出的标签融合起来进行人工审核。
- 基于autophrase的半监督新词挖掘算法流程
如下图所示,将内容语料库和置信的标签集送入autophrase模型,通过半监督的方式获取标签后,再经过一个判别标签是否有效的二分类模型得到最终挖掘出的标签。此方法挖掘标签的特点在于:
- 过审率较高(80%+)
- 新标签和置信集标签pattern相似
- 无法获取热门标签
- 基于标签pattern挖掘的新词挖掘算法流程
如下图所示,这是一种无监督的标签挖掘流程,先从内容语料库中挖掘出标签组合的pattern,再用pattern在语料库中进行匹配,获取挖掘的标签。此方法挖掘标签的特点在于:
- 过审率较低
- 标签pattern更加灵活多样
- 可以获取热门标签
目前,我们基于海量的站内/站外数据挖掘出500w+标签,通过数据清洗后的标签量为110w+,其中原子标签数量90w+,短语标签数量130w+,短语型标签每周增量约5000+。
▐ 标签结构化
高效地维护标签库,不仅在于标签地动态挖掘,更在于挖掘出标签后,如何结构化地管理这些标签。好的标签结构化引入了标签间信息,为标签推理认知的提供了基础知识。首先,我们按照词语粒度将标签分为原子标签和短语标签,其中原子标签是不可继续分词的标签,短语标签为原子标签组合而成的标签。
- 原子标签分类体系
我们首先为原子标签设计了一套分类体系,可对每个原子标签进行树状结构的划分,一级类目包括“时间”、“地点”、“人物/动植物”、“事情”、“物品”、“IP”、“机构名”、“数值”等8个大类,在一级类目中还有二级、三级、四级的树状延伸等50个小类。
通过原子标签分类体系,不仅可以细分管理每个原子标签,将短语标签拆解为原子标签进行理解,同时可以分析每个分类下原子标签情况,如发现短缺的情况可以及时补充,保证标签集合的完整充分。
- 短语标签分维度结构化
由于短语标签包含各种不同的高层语义信息,因此仅通过组成短语标签的原子标签进行理解是远远不够的,基于此,我们从不同语义维度设计了四种不同的短语标签结构化方法,包括:内容/商品标签、热门趋势标签/长期标签、人群兴趣标签/视频内容标签、问题型/陈述型标签。在应用中,可按照不同的需求选取不同类型的短语标签。
图4 短语标签分类体系
▐ 标签管理目前核心进展
目前标签库已实现动态管理、结构化,具体的指标如下图所示。
视频内容打标算法
▐ 视频内容打标算法流程设计
在确定视频内容打标算法流程之前,需要确定目前视频内容打标面临的困难和挑战,我对其总结如下:
- 标签库规模巨大:目前维护的标签库达百万,且长尾分布严重,无法使用多标签分类模型等常规打标签的解决方案。
- 标签库不断增长、动态扩充:目前标签库处在动态扩展的状态,标签经常变动,打标算法需要非常灵活&可扩展。
- 需对多模态信息进行理解:视频是一种多模态的内容形式,包括文本/图像/音频等多种模态的信息。对于不同的视频,不同模态的重要程度也不同,因此需要对多模态的信息进行综合全面的向量表征。
- 需区分不同标签在内容的权重:如上几条中讨论,对于一个视频,需要给出其核心主旨标签和相关标签。对算法来说,即最终标签结果需给出和视频内容的相关性分数排序。
- 人工标注非常困难:一个视频具体改打什么标签是一个非常主观的问题,对于不同的标注者,其对内容标签的标注结果会有巨大的差异。因此在打标算法流程设计中,需减少对标注的依赖。
综合上述对视频内容打标算法流程难点和挑战的分析,我们设计了基于“召回-排序”的两段式算法流程,召回是视频和标签粗粒匹配过程,排序是视频和标签细粒度匹配过程,调整标签的排序。此算法流程可以很好地解决视频内容打标过程中的难点。
图5 视频标签挂载流程大图
- 召回阶段
其的核心目标在于召回尽可能多、尽可能全的候选标签。为保证召回标签的全面,我按照以下四个维度进行召回:
内容信息
即内容自带的信息,包括创作者编辑的文本、语音识别结果(ASR)、文本识别结果(OCR)、画面信息。
以上面这个制作芝士烤土豆片的食谱教程视频为例:
商品信息
由于淘内视频的独特性,视频的目的是为了卖货,因此,商品信息也作为描述视频的一个维度。视频下挂载的商品、商品query、同款商品等信息作为商品信息维度的文本召回。
用户行为信息
淘内视频和用户有着大量的交互,用户行为本身也可以作为标签候选词集。因此内容搜索点击日志清洗出的query可作为表述用户行为的召回候选词。
关联内容信息
候选词集不仅应包括内容自带的信息,还应该包括关联信息,这一路召回主要通过检索方法实现:
- 跨模态检索模型:向量化视频和标签库直接进行跨模态检索,获取最有可能作为视频标签的词。
- 相似视频检索模型:需要打标的视频作为query,在千万级视频库中检索出topN相似视频,将相似视频的候选词共享到query视频。
在后续小节中,会对两种检索方法做更详细的介绍。
- 排序阶段
在排序阶段中,主要目标在于对视频和候选词集进行更细粒度匹配和对齐,完成候选词集的相关性排序,保留和视频相关的标签,去除不相关的词。排序模型的具体建模方式接下去会进行详细的介绍。
▐ 核心技术点
在上一部分中,除了常规模型ASR、OCR等,需要核心解决的技术目标为:
- 召回模块中的相似视频检索
- 召回模块中的跨模态检索模型
- 排序模块中使用的跨模态相关性判别模型
对于这三个需要解决的核心技术目标,我们抽象出三个需攻坚的核心技术点:
- 视频多模态内容表征模型
- 跨模态检索模型
- 跨模态相关性判别模型
在接下去几部分中,会对这三个核心技术点进行详细拆解和介绍。
▐ 视频多模态内容表征
我们目前提取的embedding基于自研的通用视频内容预训练模型。这个视频内容预训练模型借鉴了VilBert的自监督训练方法,继承了更多通用性强的预训练任务,包括内容挂载商品的一级、二级分类,内容的文本和视觉信息是否匹配。同时,由于淘系内容业务与推荐任务息息相关,因此,我们进行了大幅度的改造,对于推荐大场景改良了预训练网络和特异性预训练任务。
参考[5]LXMERT的预训练网络结构,具体输入:
visual branch图文内容:
(1)图文包含的所有图像经过Resnet抽取的1536维特征序列。维度为101536(2)图像帧位置信息序列:维度为110,表示图像处于图像序列位置视频视频:(1)视频关键帧经过Resnet抽取的1536维特征序列。101536(2)图像真位置信息序列:维度为110,表示图像处于帧序列位置
Language branch图文内容:
(1)title+body content经过中文bert编码的字id序列,维度为1128(2)字位置信息序列:维度1128,表示字在句子序列中的位置视频内容:(1)title+summary经过中文bert编码的字id序列,维度为1128(2)字位置信息序列:维度1128,表示字在句子序列中的位置
图6 视频理解基础模型网络框架
目前共5个预训练task:
- 图像序列随机mask掉图像序列的feature,最后用以visual为主的cross-modality feature进行mask掉的feature回归预测。
- 序列随机mask掉字序列的feature,最后用以Language为主的cross-modality feature进行mask掉的文字id分类预测。
- 内容挂载商品的110个一级类目分类
- 内容挂载商品的3807个叶子类目分类
- visual信息和language信息是否匹配的二分类(即图像序列和文字序列是否来自同一内容)
同时,由于同时mask视觉/文本侧特征可能导致信息过度损失,参考[9]UNITER模型中的mask策略,优化训练策略,如下图所示。
经过10个epoch,使用100+块GPU,经过5天的训练,将6000w+淘内视频数据完成训练。预训练模型的参数更新参考了海量的视频数据,被上亿的标注数据进行了约束,最终产出的checkpoint可以作为后续跨模态检索、排序模型的Backbone网络,产出的768维向量可作为相似视频检索的视频向量。在视频内容的标签挂载算法流程中,这个pretrain model发挥了重要的作用。
内容表征的好坏是根据下游算法性能的提高作为衡量指标的,使用视频标题bert向量、LXMERT向量、UNITER向量在下游的跨模态检索模型、跨模态相关性模型中进行对比实验。
跨模态检索模型使用不同向量表征模型的对比结果
跨模态相关性判别模型使用不同向量表征模型的对比结果
相似视频检索模型
视频多模态预训练模型中最后一层768维fc可作为视频内容多模态的表征向量,对视频有很强的表征能力,因此可以使用此向量在视频库中检索出相似视频,用来扩充标签候选集。
使用相似视频检索对视频标签候选集进行扩充是一种非常有效的方式,使用相似视频检索的思路如下图所示,一个视频可以基于相似embedding检索的方法,在上千万的视频库中检索出最相似的N个视频,将这些相似视频的标签扩充此视频候选词集合。
基于相似视频检索方案的视频内容打标case如下所示:
图5 相似视频检索在标签召回的应用流程
▐ 跨模态检索
- 跨模态检索模型
如果视频和话题的向量分布被处理到相同分布空间,那么视频可以直接在标签库中检索到与其最相关的N个标签。因此我们设计了融合Graph的跨模态检索模型结构,完成视频直接到标签的检索。网络结构如下图所示。该模型主要包括文本编码模型、视频多模态编码模型、图网络算法模型、度量学习模型。
图7 融合Graph的跨模态检索模型网络框架
为了环节样本稀疏和均衡问题,单模态和跨模态端到端的度量学习进一步保证不同模态的语义一致性和单模态的判别性,我们引入了图网络构建。
我们根据用户点击行为构建文本-视频、文本-文本、视频-视频的同构图,但考虑到仅使用用户点击行为构建的图较为稀疏,因此同时引入了基于语义相似度建图,将相似的文本和相似的视频之间构建边,最终形成的图结构如下所示。
- 实验结果
检索衡量指标采用检索召回准确率Top1,Top5,Top20 以及Mean Rank值。
1K淘宝样本对检索性能如下:
MSCOCO Retrieval数据集的5K检索任务性能结果对比,其中对比方法主要限定采用双塔模型结构、特征提取无需相互计算,适用于大规模检索的方法。本文工作达到了与同期前沿工作具有竞争力的性能。
- case展示
主题标签在千万级首猜精品视频池进行向量检索,手淘全屏页[3]主题标签召回示例case:
▐ 跨模态相关性判别
完成了最大程度的候选词集召回后,需要一个可以更加更精确判别视频和词语相似度的排序模型,从而将候选词从按照和视频的相关性分数进行排序,剔除掉不相关的词语。
此时的排序模型和上一小节的跨模态检索模型不同之处在于,跨模态检索模型目的是从上百万标签库中快速检索到和视频可能相关的词语,因此在训练过程中,视频侧和标签侧的网络结构不能融合。而在排序模型中,目的在于更精细化判断视频和候选词的相关性,且候选词数量有限,无需过度在乎时间复杂度,因此两模态之间可以进行充分融合,我们设计的网络结构如下图所示。
图8 视频标签排序模型网络框架
可以根据目的将网络结构分成三个较为独立的模块,即:
- 表征模块
如何对视频、候选词进行表征,可以全面刻画视频、候选词内容。这里我们主要讨论和调整了视频侧表征方式,使用视频标题、LXMERT多模态特征、UNITER多模态特征进行了对比实验,实验AUC结果如下所示。
- 融合模块
如何对两路特征进行融合,我们主要使用了两种融合策略,一种是最后一层MLP融合的late fusion策略,一种是使用attention metric进行attention fusion的策略,对比实验AUC如下所示。
- 对齐模块
两路特征表征和充份融合后,需要将两种分布在不同特征空间的模态(视频内容&标签)对齐到相同的空间分布中,才能完成不同模态的相关性度量。在这里,我们使用了融合了难样本挖掘的对比学习TripletLoss,以及将两种模态尽可能混合的Adversarial Loss。
我们对Triplet Loss和Adversarial Loss进行了对比实验,对比实验的AUC结果如下图所示,可以看到加入生成Loss后,由于增加了使两模态尽可能混合的目标,对最终相关性判别能力是有提高的。
- 加入用户反馈数据
由于标签数据在全屏页全量,每天有新增1w的用户点击数据,这部分数据往往更加精准,将这部分数据加入训练数据构造一个动态的训练数据集,相比于不加入这部分数据,相关性判别模型的AUC有将近3%的提升。
▐ 视频标签挂靠结果
通过我们设计的召回+排序的视频标签挂载流程,目前视频内容打标结果的统计数据如下所示。同时我们也按照标签不同分类对打标结果做了更加精细的分析:
业务应用
▐ 下游推荐算法链路
图11 标签在淘宝不同场景投放算法中的应用
- 全屏页召回链路
全屏页召回链路应用(均已全量):
- 冷启动:增加原子标签+短语标签召回路,完播率+18%
- 冷启动:增加短语标签相似关系召回,完播率+3%
- 主链路:增加原子标签+主题标签召回,有效vv+2%, 七天新视频vv+3%
- 主链路:增加短语标签相似关系,有效vv+1.5%, 七天vv提升3%, 商家视频占比+5%
- 逛逛召回链路
语义向量召回(已全量)
使用视频标签、title作为视频侧表征训练视频召回深度语义DeepV2V,指标如下:
pctr +1.04% uctr +0.4% 人均时长持平,人均点击+1.1%,人均曝光+0.5%;
整体指标:pctr +1.2% uctr +0.45% 人均点击+1.36% 人均曝光+0.4%;
新鲜度指标:30d+发布的视频数量 +2%, 1-7d -4%;
曝光度指标:0-200vv视频数量:+16%,200-2k: +4%,20w+: -2%;
多样性指标:唯一视频数量+4.2%。
▐ 标签的前台透出
在首猜全屏页中,我们使用话题对视频进行圈选,在全屏页透出,基于认知主题知识,构建底bar话题标签体系,目前线上投放话题12w,覆盖视频vv58%,覆盖uv 1000w+, uv_ctr 1.4%。目前已全量。
图12 短语标签在淘宝不同场景透出的效果展示
▐ 用户的数据反馈
在完成全屏页全量后,每天会产生10w左右的视频-话题点击pair对,我们将上线后的点击反馈数据收集起来,形成线上透出,线下收集数据重新训练模型。
图13 线上用户数据反馈到排序模型数据流向图
最终在排序模型中,加入线上反馈数据后,AUC有3%的提升。
总结与展望
在视频内容标签接近两年的建设中,完成标签库的结构化管理,维护百万级别标签库,同时形成了“召回+排序”的算法打标流程。在下游搜索推荐算法、标签外透产品、运营圈选工具都取得了不错的业务效果。未来希望完成标签更全面的图谱化结构设计,不仅完成标签的识别,更能做到标签、内容、用户之间的认知和推理,相信有了关系、节点丰富多样的图谱化结构,会使视频内容理解如虎添翼。
Reference
[1] Peter Anderson, Xiaodong He, Chris Buehler, Damien Teney, Mark Johnson, Stephen Gould, andLei Zhang. Bottom-up and top-down attention for image captioning and visual question answering. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp.6077–6086, 2018.
[2] Hao Tan and Mohit Bansal. Lxmert: Learning cross-modality encoder representations from transformers. In Proceedings of the 2019 Conference on Empirical Methods in Natural Language
Processing, 2019.
[3] Liunian Harold Li, Mark Yatskar, Da Yin, Cho-Jui Hsieh, and Kai-Wei Chang. Visualbert: A simple
and performant baseline for vision and language. arXiv preprint arXiv:1908.03557, 2019b.
[4] Gen Li, Nan Duan, Yuejian Fang, Daxin Jiang, and Ming Zhou. Unicoder-vl: A universal encoder
for vision and language by cross-modal pre-training, 2019a.
[5] Su W, Zhu X, Cao Y, et al. Vl-bert: Pre-training of generic visual-linguistic representations[J]. arXiv preprint arXiv:1908.08530, 2019.image-20191107143317330.pngimage-20191107151306644.png
[6] Chen Y C, Li L, Yu L, et al. UNITER: Learning UNiversal Image-TExt Representations[J]. arXiv preprint arXiv:1909.11740, 2019.
[7] Zhou L, Palangi H, Zhang L, et al. Unified Vision-Language Pre-Training
for Image Captioning and VQA[J]. arXiv preprint arXiv:1909.11059, 2019.
[8] Peng, Y. , and J. Qi . "CM-GANs." ACM Transactions on Multimedia Computing, Communications, and Applications (TOMM) 15.1(2019):1-24.
[9] Portillo-Quintero J A , Ortiz-Bayliss J C , H Terashima-Marín. A Straightforward Framework For Video Retrieval Using CLIP[J]. 2021.
[10] Xu, R. , et al. "A Proposal-based Approach for Activity Image-to-Video Retrieval." (2019).
[11] Tan, M. , and Q. V. Le . "EfficientNetV2: Smaller Models and Faster Training." (2021).
[12] Miech, Antoine , et al. "Thinking Fast and Slow: Efficient Text-to-Visual Retrieval with Transformers." (2021).
[13] Li, W. , et al. "UNIMO: Towards Unified-Modal Understanding and Generation via Cross-Modal Contrastive Learning." (2020).
[14] Chen, S. , et al. "Fine-grained Video-Text Retrieval with Hierarchical Graph Reasoning." IEEE (2020).
[15] Wray M , Doughty H , Damen D . On Semantic Similarity in Video Retrieval[J]. 2021.
[16] Yuan, L. , et al. "Tokens-to-Token ViT: Training Vision Transformers from Scratch on ImageNet." (2021).