作者| 阿里文娱高级开发工程师 至德
责编 | 王晓曼
头图 | CSDN 下载自东方 IC
用户在优酷或者其它互联网App上看到的文字、图片、视频等,都可以被称为内容,那么这些内容是如何被生产、管理和组织的?本文将简单介绍阿里文娱是如何利用网状关系组织泛内容,以及如何构建泛内容的网状关系。
泛内容存储管理的挑战
1、数据规模大:在阿里文娱内,泛内容实体类型多,实体数据规模庞大,如何高效存储和管理;
2、兼顾内容生产和分发: 泛内容数据管理方式,既要提供快捷的内容生产模式,又能在分发链路上提效;
3、扩展能力要求: 泛内容实体类型会随着业务发展而不断增加,运营的新玩法也层出不穷,泛内容的存储管理方式,要能够适应和支撑未来的业务发展,必须要具有很强的业务扩展能力。
什么是泛内容的网状关系
标签是被广泛应用于内容管理的一种方式,内容生产链路上,我们会将内容通过机器学习算法或人工标注的方式打上相关标签。通过这些标签,将内容连接并组织成一张网。如图 1所示,以视频为例,独立的视频通过标签被连接成了一张网络。
图 1 视频通过标签连接成网
有了内容的连接关系,内容的组织方式也有了更多样的玩法,运营同学也拥有了更丰富的运营工具进行内容分发。如图 2所示,我们可以根据运营需求,将标签1升级为话题,标签2升级为榜单。运营便可以将视频A、B、E组织成为一个话题,将视频C、D组织成为一个榜单,用于前台运营活动。
图 2 标签升级为话题和榜单
如图 3所示,左图为沉浸式视频播放页,可以通过点击左下角话题标签跳转至右图的话题详情页,详情页列表中则通过 Feeds 流形式展现出该话题下所有视频。
图 3 优酷内标签话题引导形式
泛内容网状关系背后的支撑技术是统一标签服务,其包括标签结构及打标结果的定义、基于媒资平台的核心标签服务、以及面向运营的标签管理工具和打标工具,下面的篇幅中将依次进行介绍。
标签结构及打标结果的设计
用户或运营在为内容打标时,为了提高打标效率,往往会先选择一个分类标签,然后再针对这个分类进行打标。传统设计中,标签结构往往被描述为一颗树,只能描述标签间的父子关系,例如图 4所示的五层标签树。传统的标签结构在描述这种场景时,主要有两个问题:
1. 前三层的标签是父子关系,但是第四层和第三层之间是属性关系,两种关系应区别对待;
2. 第五层和第四层之间是属性值的关系,也应区别对待。
图 4 传统标签结构设计
统一标签服务的标签结构对上述两种关系进行了抽象,如图 5所示。
首先,引入了标签类型的概念,每一个标签类型是个森林,例如图中紫色方框标表示的分类、赛事、技巧标签类型。对于简单的标签场景,例如内容标签、质量标签等场景,只需要使用标签类型即可支持场景。
其次,对于复杂场景,引入了子标签类型和标签分组的概念,图中橙色箭头表示运动分类标签关联了赛事和技巧两个子标签类型,当一个内容被标记为运动或其子分类时,这些内容都可以继续打赛事和技巧两类标签。图中绿色方框表示用篮球、足球对赛事和技巧类型的标签进行了可重叠的分组。
这一套标签结构表述能力十分强大,支撑了目前泛内容的所有标签。
图 5 统一标签服务的标签结构
上述标签结构描述的标签为枚举型标签,除枚举型外,打标结果中还支持保存开放型标签和关联型标签。其他标签类型的方案设计暂且不在本文赘述。
核心标签服务
所有的原始数据,标签库和打标结果,都保存在媒资平台,从理论上说,媒资平台已经具备了内容的打标能力。然而这个读写能力较为原始,业务方使用起来多有不便,所以需要一个系统对原始能力针对标签业务进行业务封装,为业务方提供好用的标签服务,这就是核心标签服务,如图 6所示。
其主要功能包括,对标签按路径进行展开,支持按照标签来源、按照标签类型、按照操作来源进行打标,提供了打标结果横竖转换的能力,同时还具备权限控制和流量控制能力。
为了支持运营和算法不断地对标签体系进行迭代,核心标签服务中还提供标签体系的 ABTest 能力。
图 6 核心标签服务
标签管理工具和打标工具
标签管理工具基于媒资内容管理平台搭建,为运营提供标签体系的查看、审核、新增、修改、下线、删除、批量导入导出等功能。
由于打标流程中涉及机审、人审不同的打标方式,还涉及质量类标签、安全类标签、业务类标签等多种标签类型的打标需求,业务上需要使用打标工作流系统实现流程编排,如图 7举例所示(仅为流程编排示意,非实际业务流程)。通过打标工作流系统,可以按照业务需求实现复杂的打标流程管理。
图 7 举例打标流程(非实际业务流程)
小结和展望
目前,泛内容的网状关系有效组织和管理了阿里文娱内海量的长短视频、节目、人物、角色等泛内容实体,在生产和分发侧,都便捷的支撑了算法和运营需求,并且不断的为运营同学扩展提供了话题、榜片单等多种运营工具用于不同的内容分发场景,产生了极大的业务价值。
未来,泛内容的网状关系也将在数据和算法方面进行深度挖掘,通过算法推动网状关系演进,并且在算法打标、算法推荐等场景,利用网状关系提升算法效果,最终更好地服务用户。
更多推荐阅读
2020 年最厉害的 10 门编程语言
大咖说中台 | 建设数据中台系列(五)——中台架构详解(下)
学会这10大高性能开发技术,轻松躲过裁员名单!
不用鼠标,程序员编程竟能如此高效?“善”用区块链:善是初心,链是保障
用 Python 详解《英雄联盟》游戏取胜的重要因素!