最全淘宝视频内容标签的结构化分析和管理,数据库性能优化面试题

最后

针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。

下面的面试题答案都整理成文档笔记。也还整理了一些面试资料&最新2021收集的一些大厂的面试真题(都整理成文档,小部分截图)

在这里插入图片描述

最新整理电子书

在这里插入图片描述

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  • 标签pattern更加灵活多样

  • 可以获取热门标签

目前,我们基于海量的站内/站外数据挖掘出500w+标签,通过数据清洗后的标签量为110w+,其中原子标签数量90w+,短语标签数量130w+,短语型标签每周增量约5000+。

  标签结构化
高效地维护标签库,不仅在于标签地动态挖掘,更在于挖掘出标签后,如何结构化地管理这些标签。好的标签结构化引入了标签间信息,为标签推理认知的提供了基础知识。首先,我们按照词语粒度将标签分为原子标签和短语标签,其中原子标签是不可继续分词的标签,短语标签为原子标签组合而成的标签。
  • 原子标签分类体系

我们首先为原子标签设计了一套分类体系,可对每个原子标签进行树状结构的划分,一级类目包括“时间”、“地点”、“人物/动植物”、“事情”、“物品”、“IP”、“机构名”、“数值”等8个大类,在一级类目中还有二级、三级、四级的树状延伸等50个小类。

通过原子标签分类体系,不仅可以细分管理每个原子标签,将短语标签拆解为原子标签进行理解,同时可以分析每个分类下原子标签情况,如发现短缺的情况可以及时补充,保证标签集合的完整充分。

  • 短语标签分维度结构化

由于短语标签包含各种不同的高层语义信息,因此仅通过组成短语标签的原子标签进行理解是远远不够的,基于此,我们从不同语义维度设计了四种不同的短语标签结构化方法,包括:内容/商品标签、热门趋势标签/长期标签、人群兴趣标签/视频内容标签、问题型/陈述型标签。在应用中,可按照不同的需求选取不同类型的短语标签。

图4 短语标签分类体系

  标签管理目前核心进展

目前标签库已实现动态管理、结构化,具体的指标如下图所示。

视频内容打标算法

  视频内容打标算法流程设计

在确定视频内容打标算法流程之前,需要确定目前视频内容打标面临的困难和挑战,我对其总结如下:

  1. 标签库规模巨大:目前维护的标签库达百万,且长尾分布严重,无法使用多标签分类模型等常规打标签的解决方案。

  2. 标签库不断增长、动态扩充:目前标签库处在动态扩展的状态,标签经常变动,打标算法需要非常灵活&可扩展。

  3. 需对多模态信息进行理解:视频是一种多模态的内容形式,包括文本/图像/音频等多种模态的信息。对于不同的视频,不同模态的重要程度也不同,因此需要对多模态的信息进行综合全面的向量表征。

  4. 需区分不同标签在内容的权重:如上几条中讨论,对于一个视频,需要给出其核心主旨标签和相关标签。对算法来说,即最终标签结果需给出和视频内容的相关性分数排序。

  5. 人工标注非常困难:一个视频具体改打什么标签是一个非常主观的问题,对于不同的标注者,其对内容标签的标注结果会有巨大的差异。因此在打标算法流程设计中,需减少对标注的依赖。

综合上述对视频内容打标算法流程难点和挑战的分析,我们设计了基于“召回-排序”的两段式算法流程,召回是视频和标签粗粒匹配过程,排序是视频和标签细粒度匹配过程,调整标签的排序。此算法流程可以很好地解决视频内容打标过程中的难点。

图5 视频标签挂载流程大图

  • 召回阶段

其的核心目标在于召回尽可能多、尽可能全的候选标签。为保证召回标签的全面,我按照以下四个维度进行召回:

内容信息

即内容自带的信息,包括创作者编辑的文本、语音识别结果(ASR)、文本识别结果(OCR)、画面信息。

以上面这个制作芝士烤土豆片的食谱教程视频为例:

商品信息

由于淘内视频的独特性,视频的目的是为了卖货,因此,商品信息也作为描述视频的一个维度。视频下挂载的商品、商品query、同款商品等信息作为商品信息维度的文本召回。

用户行为信息

淘内视频和用户有着大量的交互,用户行为本身也可以作为标签候选词集。因此内容搜索点击日志清洗出的query可作为表述用户行为的召回候选词。

关联内容信息

候选词集不仅应包括内容自带的信息,还应该包括关联信息,这一路召回主要通过检索方法实现:

  1. 跨模态检索模型:向量化视频和标签库直接进行跨模态检索,获取最有可能作为视频标签的词。

  2. 相似视频检索模型:需要打标的视频作为query,在千万级视频库中检索出topN相似视频,将相似视频的候选词共享到query视频。

在后续小节中,会对两种检索方法做更详细的介绍。

  • 排序阶段

在排序阶段中,主要目标在于对视频和候选词集进行更细粒度匹配和对齐,完成候选词集的相关性排序,保留和视频相关的标签,去除不相关的词。排序模型的具体建模方式接下去会进行详细的介绍。

  核心技术点

在上一部分中,除了常规模型ASR、OCR等,需要核心解决的技术目标为:

  1. 召回模块中的相似视频检索

  2. 召回模块中的跨模态检索模型

  3. 排序模块中使用的跨模态相关性判别模型

对于这三个需要解决的核心技术目标,我们抽象出三个需攻坚的核心技术点:

  1. 视频多模态内容表征模型

  2. 跨模态检索模型

  3. 跨模态相关性判别模型

在接下去几部分中,会对这三个核心技术点进行详细拆解和介绍。

  视频多模态内容表征

我们目前提取的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:

  1. 图像序列随机mask掉图像序列的feature,最后用以visual为主的cross-modality feature进行mask掉的feature回归预测。

  2. 序列随机mask掉字序列的feature,最后用以Language为主的cross-modality feature进行mask掉的文字id分类预测。

  3. 内容挂载商品的110个一级类目分类

  4. 内容挂载商品的3807个叶子类目分类

  5. 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%

最后的话

无论是哪家公司,都很重视Spring框架技术,重视基础,所以千万别小看任何知识。面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。
同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,好了希望这篇文章对大家有帮助!

部分截图:
在这里插入图片描述

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

48f521b52a84.png)

图11 标签在淘宝不同场景投放算法中的应用

  • 全屏页召回链路

全屏页召回链路应用**(均已全量)**:

  • 冷启动:增加原子标签+短语标签召回路,完播率+18%

  • 冷启动:增加短语标签相似关系召回,完播率+3%

  • 主链路:增加原子标签+主题标签召回,有效vv+2%, 七天新视频vv+3%

最后的话

无论是哪家公司,都很重视Spring框架技术,重视基础,所以千万别小看任何知识。面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。
同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,好了希望这篇文章对大家有帮助!

部分截图:
[外链图片转存中…(img-eT93xdTs-1715607941180)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>