精华内容
下载资源
问答
  • 【Windows必备软件】01 Groupy 实现你所有的窗口标签化管理 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志——苏轼 写在前面 本专栏是用于记录 Windows 上面的一些好用的软件,开此专栏主要有两个目的。 将...

    【Windows必备软件】01 Groupy 实现你所有的窗口标签化管理

    古之立大事者,不惟有超世之才,亦必有坚忍不拔之志——苏轼

    写在前面

    本专栏是用于记录 Windows 上面的一些好用的软件,开此专栏主要有两个目的。

    1. 将好东西拿出来大家一起分享
    2. 避免时间长了以后找不到某也好用的软件了。

    由于博主是 Windows 系统所以只能整理一些 Windows 的软件


    在日常撸代码的过程中,有没有遇到窗口开的太多找到某一个窗口很费劲的情况呢?如下图

    在这里插入图片描述

    在这么多页面中找到我们需要的某个窗口,如果仅仅是通过 Alt + Tab 键的话就已经远远不能解决我们的问题了。

    这篇博客介绍的的 Groupy 就完全可以解决我们的问题。

    软件介绍

    Groupy 是著名的 Stardock 公司开发的一款强大的 Windows 软件,该软件就可以帮助我们将 Windows 众多的窗口组织到一个窗口的选项卡中,如下图所示:

    在这里插入图片描述

    这样我们就可以跟操作浏览器页签似的操作了。

    软件安装

    该软件的安装非常简单,只需要点击下一步就好。

    使用方式

    安装之后会得到如下界面

    在这里插入图片描述

    其中左下角的 Groupy 状态,表示是否开启此软件,默认是打开的。可以根据自己的喜好来配置属于自己的软件外貌。

    在设置选项卡中可以设置 何时启动窗口分组

    在这里插入图片描述

    默认是彼此移动上下窗口时进行分组,第二个选项可以设置延迟来防止意外分组,其他的软件我就不过多介绍了,这个软件对中文还是挺友好的。

    值得说一下的就是该软件也是拥有快捷键的,不过让我感觉跟鸡肋的是智能配合 Win 键来使用,而 Windows 上的 Win 已经默认绑定了好多快捷键,配置起来好不方便。

    写在最后

    该软件不好的一点是并不是免费的的,该软件的价格大概在40元左右,与之类似的软件还有 WindowTabsMultrin 该两款软件,值得一看的是这两款软件是开源的,但是使用起来还是有差别的。

    展开全文
  • matplotlib自定义设置plt.colorbar函数配置颜色条的刻度数实战:自定义设置颜色条刻度、并为刻度值进行命名和标签化 目录 matplotlib自定义设置plt.colorbar函数配置颜色条的刻度数实战:自定义设置颜色条刻度、...

    matplotlib自定义设置plt.colorbar函数配置颜色条的刻度数实战:自定义设置颜色条刻度、并为刻度值进行命名和标签化

    目录

    展开全文
  • 短语标签分维度结构 由于短语标签包含各种不同的高层语义信息,因此仅通过组成短语标签的原子标签进行理解是远远不够的,基于此,我们从不同语义维度设计了四种不同的短语标签结构方法,包括:内容/商品标签、...

    淘宝视频是如何分类的?又是如何保持不同类别视频样本得到相对均衡?又是如何应用的?

     背景介绍 

    随着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 短语标签分类体系

      标签管理目前核心进展


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

     视频内容打标算法 

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


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

    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%

    • 主链路:增加短语标签相似关系,有效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).

    ✿  拓展阅读

    作者|云未

    编辑|橙子君

    出品|阿里巴巴新零售淘系技术

    展开全文
  • 推荐系统之标签体系

    2021-01-23 14:01:13
    为什么要先介绍标签体系? 一个推荐系统效果好与坏最基本的保障、最基础的是什么?如果让我来回答,一定是标签体系。我这里说的标签主要是针对物料的,对于电商平台来说就是商品;对于音乐平台来说就是每一个首歌,...

    为什么要先介绍标签体系?

    一个推荐系统效果好与坏最基本的保障、最基础的是什么?如果让我来回答,一定是标签体系。我这里说的标签主要是针对物料的,对于电商平台来说就是商品;对于音乐平台来说就是每一个首歌,对于新闻资讯平台来说就是每一条新闻。下一篇要介绍的是用户画像,画像中那些用户实时变化的兴趣点大都也是来自于标签体系,依据用户长期和短期行为中对于物料搜索、点击、收藏、评论、转发等事件,将物料的标签传导到用户画像上,就构成了用户的实时画像和离线画像中的各个动态维度。


    标签体系概览

    以京东的标签体系中的京东超市为例用思维导图来拆解,后面我们会详细的介绍如何构建标签体系。

    这里对京东超市标签拆解粒度到三只松鼠年货大礼包的实体级别,实际上各个公司的标签体系大致都是如下构成

    一、二、三级分类体系都很好理解,参考京东超市的拆解,相信大家就会明白。标签体系中实体标签和概念标签不好理解。

    实体标签

    必须是名词,且必须是唯一指代。

    学术性的解释逼格高,但是不容易理解,回答下面的问题

    • 老板问:苹果,是实体标签吗?
    • 给你三秒钟思考
    • 你回答:是!
    • 老板说:错!
    • 你懵逼:靠!为啥不是?

    实体标签的要求:名词,且唯一指代。

    苹果,是名词,但不是唯一指代,苹果 = 科技公司、手机、水果、牛仔裤

    概念标签

    难道我就不能用“苹果”了吗?当然可以用,只不过要给它另外起个名字:概念标签。

    概念标签通常表示的是“一类”或“某种相似”的内容,例如

    主题词

    这里以之家的标签体系举例,要给买车用户推荐评测导购(一级)的文章,用户画像中车的品牌(二级)偏好太粗,而实体标签如奔驰GLC又太细,填补这中间的粒度空白,满足用户购车意图的画像,就加入“代步优选”的主题词,这样不仅保持了推荐的多样性,又不至于过分精准而导致的极度收敛。

    以上大致介绍了一下标签体系,那么我们接下介绍一下如何构建标签体系以及其构建过程中应遵循的一些原则。


    标签体系构建原则

    原则一、放弃⼤而全的框架,以业务场景倒推标签需求

    原则二、标签生成自助化,解决效率和沟通成本

    原则三、有效的标签管理机制

    分别解释以下为什么提炼出这三个原则,分别用于解决什么问题?

    关于第一项原则:

    每个公司的产品、运营、商务对标签的诉求有较大的差异,同时不同的运营团队的诉求也存在很大差异,⼤而全的标签框架实际是站在用户视角搭建的,但是标签的真正应用者是业务方,所以应该从业务视角来实现。

    因此最佳的处理方式是,我们应该放弃顶层的用户抽象视角,针对各业务线或部门的诉求和实际的应用场景,分别将标签聚类起来提供给相应部门。

    之家就是非常典型的情况,商业同学更关心用户的消费能力相关的标签;自驾游负责同学更关心用户的位置和出行相关的标签;车友圈的同学更关注用户的社交活跃相关的标签;所以不可能一套标签覆盖整个运营团队, 这种以业务场景倒推标签需求的方法,能够与业务场景贴合更紧密,可用性上升。

    关于第二项原则:

    1.标签生成的自助化能够让沟通成本降最低。前面讲到各业务线对标签的定义的理解不同,需要标签系统建设团队花费大量的时间沟通。如果能够让业务方自己定义规则,这必然是沟通成本最低的方式。

    2.标签生成的自助化,可重复修改的规则,降低无效标签的堆积。业务一直在发展,如果规则一成不变则很难跟上业务节奏的变化。我曾拜访过一家电商,他们发现半年前定义“母婴客户群”的转化率一直在降低,因此根据实际情况重新修改和定义了“母婴客户群”规则,并命名为“母婴客户群(新)”,这时之前的规则是无效的,且会一直占据计算资源……诸如此类,如果支持规则重复修改的话,这一类无效标签就会大量地消失。

    3.释放数据团队人力,释放业务团队的想象力。数据团队应该花较多的精力在企业的整个数据中台或新业务模型方面,而不是处理各业务线的标签诉求和标签维护上,自动化的标签生成能够极大限度地节省人力和释放团队想象力。

    关于第三项原则:

    1.规则及元信息维护:标签相关的规则和元信息要尽可能的暴露给使用者,让使用者在使用的时候,能清楚知道标签的规则是什么、创建者是谁、维护者是谁、标签的更新频率周期等,而不是没有规则,或者将规则存在标签建设团队内部的一个 word 文档中。

    2.调度机制及信息同步:标签之间有一些关联,标签之间的链条断裂,是否有个调度机制或者信息同步机制让大家的工作不被影响。

    3.高效统一的输出接口:将所有的业务信息和用户数据信息汇总在一起,有统一的输出接口,改变之前需要针对不同的业务系统开发不同接口的情况。

    我们回顾标签体系构建的三原则,本质上是解决了价值、手段、可持续性三方面的问题:以业务场景倒推需求,让业务方用起来作为最终目标,让标签系统价值得以实现;标签生成的自助化,它解决的是我们用什么样的手段去实现价值;有效的标签管理机制,意味着一套标签体系能否可持续性地在一家企业里面运作下去。

    总之,对企业最重要的是:一套标签系统能不能在业务上用起来,能不能覆盖更广泛的需求,而不是一个大而全的框架。


    标签体系构建的方法

    标签体系的实施架构

    标签体系架构可以分为三个部分:数据加工层,数据服务层,数据应用层。每个层面面向用户对象不一样,处理事务有所不同。层级越往下,与业务的耦合度就越小。层级越往上,业务关联性就越强

    以某电商公司为例

    数据加工层。数据加工层收集,清洗和提取来处理数据。M公司有多个产品线:电商交易,电子书阅读,金融支付,智能硬件等等。每个产品线的业务数据又是分属在不同位置。为了搭建完善的用户标签体系,需要尽可能汇总最大范围内的数据。同时每个产品线的也要集合所有端的数据,比如:App,web,微信,其它第三方合作渠道。

    收集了所有数据之后,需要经过清洗:去重,去刷单数据,去无效数据,去异常数据等等。然后再是提取特征数据,这部分就要根据产品和运营人员提的业务数据要求来做就好。

    数据业务层。数据加工层为业务层提供最基础数据能力,提供数据原材料。业务层属于公共资源层,并不归属某个产品或业务线。它主要用来维护整个标签体系,集中在一个地方来进行管理。

    在这一层,运营人员和产品能够参与进来,提出业务要求:将原材料进行切割。主要完成以下核心任务:

    1. 定义业务方需要的标签。
    2. 创建标签实例。
    3. 执行业务标签实例,提供相应数据。

    数据应用层。应用层的任务是赋予产品和运营人员标签的工具能力,聚合业务数据,转化为用户的枪火弹药,提供数据应用服务。

    业务方能够根据自己的需求来使用,共享业务标签,但彼此业务又互不影响。实践中可应用到以下几块:

    1. 智能营销
    2. Feed流推荐
    3. 个性化消息push

    标签体系的设计

    1.业务梳理

    以业务需求为导向,可以按下面的思路来梳理标签体系:

    1. 有哪些产品线?产品线有哪些来源渠道?一一列出。
    2. 每个产品线有哪些业务对象?比如用户,商品。
    3. 最后再根据对象聚合业务,每个对象涉及哪些业务?每个业务下哪些业务数据和用户行为?

    结果类似如下:

    2.标签分类

    按业务需求梳理了业务数据后,可以继续按照业务产出对象的属性来进行分类,主要目的:

    1. 方便管理标签,便于维护和扩展。
    2. 结构清晰,展示标签之间的关联关系。
    3. 为标签建模提供子集。方便独立计算某个标签下的属性偏好或者权重。

    梳理标签分类时,尽可能按照MECE原则,相互独立,完全穷尽。每一个子集的组合都能覆盖到父集所有数据。标签深度控制在四级比较合适,方便管理,到了第四级就是具体的标签实例。

    3.标签的模型

    按数据的实效性来看,标签可分为

    • 静态属性标签。长期甚至永远都不会发生改变。比如性别,出生日期,这些数据都是既定的事实,几乎不会改变。
    • 动态属性标签。存在有效期,需要定期地更新,保证标签的有效性。比如用户的购买力,用户的活跃情况。

    从数据提取维度来看,标签数据又可以分为类型。

    • 事实标签。既定事实,从原始数据中提取。比如通过用户设置获取性别,通过实名认证获取生日,星座等信息。
    • 模型标签。没有对应数据,需要定义规则,建立模型来计算得出标签实例。比如支付偏好度。
    • 预测标签。参考已有事实数据,来预测用户的行为或偏好。比如用户a的历史购物行为与群体A相似,使用协同过滤算法,预测用户a也会喜欢某件物品。

    4.标签的处理

    为什么要从两个维度来对标签区分?这是为了方便用户标签的进一步处理。

    静态动态的划分是面向业务维度,便于运营人员理解业务。这一点能帮助他们:

    • 理解标签体系的设计。
    • 表达自己的需求。

    事实标签,模型标签,预测标签是面向数据处理维度,便于技术人员理解标签模块功能分类,帮助他们:

    • 设计合理数据处理单元,相互独立,协同处理。
    • 标签的及时更新及数据响应的效率。

    以上面的标签图表为例,面临以下问题:

    1. 属性信息缺失怎么办?比如,现实中总有用户未设置用户性别,那怎么才能知道用户的性别呢?
    2. 行为属性,消费属性的标签能不能灵活设置?比如,活跃运营中需要做A/B test,不能将品牌偏好规则写死,怎么办?
    3. 既有的属性创建不了我想要的标签?比如,用户消费能力需要综合结合多项业务的数据才合理,如何解决?

    模型标签的定义解决的就是从无到有的问题。建立模型,计算用户相应属性匹配度。现实中,事实标签也存在数据缺失情况。

    比如用户性别未知,但是可以根据用户浏览商品,购买商品的历史行为来计算性别偏好度。当用户购买的女性化妆品和内衣较多,偏好值趋近于性别女,即可以推断用户性别为女。

    模型计算规则的开放解决的是标签灵活配置的问题。运营人员能够根据自己的需求,灵活更改标签实例的定义规则。比如图表中支付频度实例的规则定义,可以做到:

    1. 时间的开放。支持时间任意选择:昨天,前天,近x天,自定义某段时间等等。
    2. 支付笔数的开放。大于,等于,小于某个值,或者在某两个值区间。

    标签的组合解决就是标签扩展的问题。除了原有属性的规则定义,还可以使用对多个标签进行组合,创建新的复合型标签。比如定义用户的消费能力等级。

    标签最终呈现的形态要满足两个需求:

    1. 标签的最小颗粒度要触达到具体业务事实数据,同时支持对应标签实例的规则自定义。
    2. 不同的标签可以相互自由组合为新的标签,同时支持标签间的关系,权重自定义。
    展开全文
  • 干货,如何建立数据标签体系

    千次阅读 2021-01-15 07:03:00
    公众号推文规则变了,点击上方"数据社"关注,设为星标后台回复【加群】,申请加入数据学习交流群大家好,我是一哥,今天给大家分享一篇标签体系如何建设的干货文章,欢迎转发收...
  • Yolo标签可视

    千次阅读 2021-12-11 19:30:23
    希望能把标签数据绘制到图片上看看效果,代码如下 from pathlib import Path from alphabet import alphabet import pandas as pd import cv2 import matplotlib.pyplot as plt alphabet = alphabet.split("\n") ...
  • 摘要:这种做法引入属于,下语义农田蜜蜂引进,新的环节和农副在简经常引入强对链上来加利用单的的转产品食物,品浆、用花等产产王粉生蜂蜜。...标签如下果是的输程序出结。语句,标主函句是...
  • VOC格式标签与YOLO格式标签可视

    千次阅读 2021-10-22 17:08:12
    VOC格式标签与YOLO格式标签可视 ''' Author: your name Date: 2021-10-22 17:00:38 LastEditTime: 2021-10-22 17:06:32 LastEditors: Please set LastEditors Description: In User Settings Edit FilePath: /my...
  • 用户画像,即用户信息标签化,通过收集用户的社会属性、消费习惯、偏好特征等各个维度的数据,进而对用户或者产品特征属性进行刻画,并对这些特征进行分析、统计,挖掘潜在价值信息,从而抽象出用户的信息全貌,如图...
  • 【深度学习】Labelimg标注

    千次阅读 2021-11-28 08:02:29
    1 VOC标签格式,保存为xml文件。 2 yolo标签格式,保存为txt文件。 3 createML标签格式,保存为json格式。 2 labelimg的安装 这里主要讲的是在window系统中的安装,首先打开cmd命令行(快捷键:win+R)。进入...
  • 区块标签和语义化标签

    千次阅读 2021-07-08 21:49:23
    div标签:分块 需要熟记的常见的其他区块标签 语义化标签
  • 预格式文本pre标签

    千次阅读 2021-09-02 10:07:18
    pre 元素可定义预格式的文本。被包围在 pre 元素中的文本通常会保留空格和换行符。而文本也会呈现为等宽字体。 < pre > 标签的一个常见应用就是用来表示计算机的源代码。 演示 <pre> 此例演示如何使用...
  • ClickHouse Bitmap用户画像存储方案性能测试

    多人点赞 热门讨论 2021-11-15 21:58:08
    造了350个用户标签,用户userId约25亿,从以下几个角度验证计算性能 ┌─ln───────────────────┬─lv───────────┬───────uv─┐ │ 测试 │ 测试1 │ 0 │ │ 手机型号 │ ...
  • 定义这些语义化标签的目的是为了简化代码,不需要整个网页都用div标签定义再class,可以直接写<header></header>。并且这些语义化标签可读性更强,看到这个标签就知道是哪个部分。 注意
  • 很多面试官会问:谈谈你对 HTML5语义化标签的理解。那么本篇博客专门解答一下这个问题。...语义化标签的优点 代码结构: 使页面没有css的情况下,也能够呈现出很好的内容结构 有利于SEO: 爬虫依赖标签来确定关键字的
  • HTML标签语义

    千次阅读 2021-09-02 09:04:10
    所谓标语义,就是指标签的含义 根据标签的语义,在合适的地方给一个最为合理的标签,让结构更清晰 方便代码的阅读和维护 同时让浏览器或网络爬虫可以更好的解析,从而更好的分析其中的内容 使用语义化标签会...
  • 文本格式化标签

    千次阅读 2021-12-15 20:33:05
    在网页中,有时需要为文字设置粗体、斜体和下划线等效果,这时要用到HTML中的文本格式化标签标签语义:突出重要性,比普通文字更重要 1.加粗文字 格式1:<strong></strong> <!DOCTYPE ...
  • html语义化标签 标签用来为标题分组,可以将一组相关的标题同时放入hgroup 在页面中不会独占一行的元素称为行内元素,独占一行的称为块元素,六级标题都是块元素 标签用于表示语音语调的一个加重(网页上表示出来...
  • 在如今这个时间和知识都是碎片的时代,C站根据C1-C4认证的成长路径,进行知识细化整理,形成系统的知识图谱。 通过调研一线互联网大厂的招聘JD,小编对标C站能力认证要求,为大家整理了...常见HTML语义化标签大.
  • vscode Vue格式HTML标签属性换行

    千次阅读 2021-03-30 09:59:38
    打开vscode设置,在上方输入框搜索settings,进入到settings.json文件。添加以下属性: 注: // - auto: 仅在超出行长度时才对属性进行换行。 // - force: 对除第一个属性外的其他每个属性进行换行。...
  • 一、标签语义 以前制作网页布局,我们基本用div来做。div就是一个普通的块级标签,对于搜索引擎来说,是没有语义的。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"&...
  • 多媒体与语义化标签

    千次阅读 2021-08-26 01:01:27
    区块标签 div标签实现文档区块分隔 以前,div标签是文档区块分隔唯一手段,为了区分每个div的功能,程序员会借助div标签的class属性 <body> <div class="header"> <div class="logo"></div...
  • 一般来说数据可视呈现的最基础图形就是:柱状图、水平条形图、折线图等等,在python的matplotlib库中分别可用bar、barh、plot函数来构建它们,再使用xticks与yticks(设置坐标轴刻度)、xlabel与ylabel(设置坐标轴...
  • 以上表格列举的是常见的一些文本格式化标签,接下来,我们用具体的代码做一下演示和补充: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>文本格式化标签</title&...
  • 本篇做一个总起,后面会记录一些语义化标签,以追根溯源的文章形式陆续放出~ 一、什么叫HTML标签的语义 先上MDN的说法吧:HTML中的语义 可能做出来的页面没什么区别,像paragraph标签与division标签 <p><...
  • VScode格式HTML代码保持标签属性不换行 属性自动换行,导致一个文件千百行 ,看着不舒服,最关键的是标签无法折叠了,这是最不能忍的 代码: {"vetur.format.defaultFormatter....
  • HTML5新增的语义化标签

    千次阅读 2021-06-22 19:38:01
    --头部标签--> <header></header> <!--导航标签--> <nav></nav> <!--内容区块表签--> <section></section> <!--页脚标签--> <footer></footer&...
  • #搭建并训练多标签数据集的模型并将结果可视(tensorflow2) 1.数据集的介绍 该数据为拥有颜色与衣服类别两个标签的衣服识别,对于这样的数据集要求我们的神经网络需要两个输出,一个是类别,另一个是颜色。 文章...
  • vscode中格式css代码标签属性不换行,如下图,教程,后将,解决方法,首选vscode中格式css代码标签属性不换行易采站长站,站长之家为您整理了vscode中格式css代码标签属性不换行的相关内容。解决方法:打开 文件=》...
  • 我自己也在网上找过,说是在setting.json里面加了四五行的代码,这里我就不贴出来了,因为没用,后来我发现了,在文档里面鼠标右键有一个“格式...Prettier - code formatter:它把标签上的属性也给格式了 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,130,399
精华内容 452,159
关键字:

标签化

友情链接: BP神经网络.zip