一、关键词
知乎、舰桥、内容池、内容管理平台、内容分析平台、内容监控&报警、内容干预、Doris、Elasticsearch(ES)、DOE(Doris On ES)、Spark、Flink、Golang
二、背景和由来
1、介绍
舰桥平台是一站式内容&用户&创作者管理、运营、分析平台。它包括筛选、打包、分析、监控、营销、投放、干预等多种能力,专注于内容运营、内部营销、创作者运营、内容供应链、数据中心和内容分层运营等场景。为市场感知与前瞻预判、内容和创作者生态调节、头部创作者关系维护、营销和促进公司业务发展,知识分享和交流创造无限可能。本篇文章重点介绍舰桥产品体系中的内容运营平台,下一篇会介绍内部营销平台。
2、由来
知乎社区产品系统,归根结底,是一个以推荐算法和搜索引擎相结合的方式来匹配用户与内容的平台。这样的平台经济是在市场经济模型上运作,具备灵活高效的优点,同时也存在一定的盲目性和滞后性。在这一系统中,推荐策略充当着市场调节器的角色。然而,单靠流通侧的调整,往往难以迅速和有效地使平台朝向我们期望的方向发展。因此,运营系统的加入至关重要。
运营系统在产品系统之外工作,主要目标是构建和维护一个健康的内容生态。这一系统在内容生态中起着多个关键作用:
- 内容质量维护:运营系统通过设置并维护内容标准,鼓励优质内容的生成,同时抑制或减少低质量或有害内容的传播。
- 用户引导:通过对用户行为的分析与理解,运营可以有效引导用户产生有价值的交互,促进优质内容的发现和分享。
- 创作者培育与支持:运营系统提供对创作者的支持与培训,尤其是新兴和有潜力的创作者,以促进其成长和对平台的内容贡献。
- 竞争机制优化:通过设计合理的奖励和激励机制,运营可以调节内容的竞争环境,激发创作活力和用户参与。
- 社区氛围塑造和提升:运营团队专注于激励和鼓励社区中的积极和健康行为。赞扬和奖励良好行为,进一步推动社区的积极环境。同时任何可能破坏社区和谐或健康氛围的行为,我们不予支持或提倡,并积极寻找解决方案,保持社区环境的良好运作。
- 市场趋势感知与反应:运营团队需要对市场趋势保持敏感,并能够迅速调整平台策略以顺应变化,确保内容的时效性和相关性。
- 除了以上所述的职责,运营团队还负责品牌塑造、扩大规模等等多方面的工作,对这些点不在本文中详细介绍。
3、能力地图
本期文章中,我们介绍的重点是舰桥产品体系中的内容运营平台。
三、解决方案和落地
1、业务架构
2、业务层拆解
为了更好地满足当前的业务需求,我们在最顶层的业务结构上细化出了四类产品和对应的产品接口,以便与各团队进行高效协同工作。
- 内容池,该平台接口层面向的是分发团队。它具备多种实用的功能,包括点查、检索召回、多特征粗排等。在使用时,团队可以把它作为分发的召回源和粗排工具,或者仅作为召回源。供业务侧根据实际需要调整和修改召回源和粗排逻辑。
- 内容管理平台,这是专门为运营团队设计的。该平台具备丰富的基础功能,如内容筛选、整理打包等,还允许团队对内容进行一系列操作,例如编辑内容、调整内容优先级(提升或降低权重),以及投放内容等。
- 内容分析平台,旨在为运营团队提供分析工具。这个平台可以进行单篇内容和内容集合的趋势分析、构成分析,还能进行消费者画像分析等深层次挖掘。根据不同的分析方式,可以获得不同的数据结论,以帮助理解和优化业务运营效果。
- 内容监控&报警,目标是为运营团队提供及时的业务监控和报警能力。这个平台通过内容和用户的多种事件触发,通过多种业务模版和灵活的配置,可快速搭建业务报警能力,比如关键词舆情报警、发布&定级监控报警等。帮助运营团队快速发现具有某种特征的业务表现。
- 内容干预:运营使用做标记、打标签等手段,将信号传递到分发渠道。通过对创作者以及内容打压与推优的策略,筛选出优质的内容并将其优先推送给用户,让真正有价值、高质量的内容能够被更多的目标用户看见。
四、业务能力效果及架构
1、内容池
内容池:该平台接口层面向的是分发团队。它具备多种实用的功能,包括点查、检索召回、多特征粗排等。在使用时,团队可以把它作为分发的召回源和粗排工具,或者仅作为召回源。供业务侧根据实际需要调整和修改召回源和粗排逻辑。
2、内容管理平台
内容管理平台,这是专门为运营团队设计的。该平台具备丰富的基础功能,如内容筛选、整理打包等,还允许团队对内容进行一系列操作,例如编辑内容、调整内容优先级(提升或降低权重),以及投放内容等。
3、内容分析平台
内容分析平台,旨在为运营团队提供分析工具。这个平台可以进行单篇内容和内容集合的趋势分析、构成分析,还能进行消费者画像分析等深层次挖掘。根据不同的分析方式,可以获得不同的数据结论,以帮助理解和优化业务运营效果。
4、内容监控&报警
内容监控&报警,目标是为运营团队提供及时的业务监控和报警能力。这个平台通过内容和用户的多种事件触发,通过多种业务模版和灵活的配置,可快速搭建业务报警能力,比如关键词舆情报警、发布&定级监控报警等。帮助运营团队快速发现具有某种特征的业务表现。
5、内容干预
内容干预:运营使用做标记、打标签等手段,将信号传递到分发渠道。通过对创作者以及内容打压与推优的策略,筛选出优质的内容并将其优先推送给用户,让真正有价值、高质量的内容能够被更多的目标用户看见。
五、支撑层的选型和落地
根据我们面临的不同业务场景,如内容池的构建、内容管理平台的运行、内容分析平台的发展,以及对内容的监控和报警等多元需求,我们总结出三种通用的底层支持设施,它们分别是流式内容定向及打包,批式内容定向及打包,和内容分析及预处理。通过这三种基础设施,我们可以在上层搭建我们的业务模块,以满足具体业务需求。具体如下:
流式内容定向及打包以其“及时、快速”为主要特点,在秒级别的时间内完成内容打包的更新。然而,这种模式需要在生成内容包之前先详细定义好检索条件。
批式内容定向及打包提供了更为多元的设定条件,适合那些对自由度要求更高的业务场景。尽管如此,此种模式的时效性相对较低,需要“次日更新”的方式进行合适的调整和配合。
内容分析&预处理,在将这两种内容打包方式与内容分析及预处理联系起来时,我们的目标是保证分析能力的正常运行,并确保内容事实、用户事实、流量事实等不同类型的特征口径一致,链路对齐。
1、流式内容定向及打包选型
流式内容检索利用消息队列作为数据源,以内容的属性、特征变更作为事件的触发源。其复杂性主要体现在实时计算和处理方面。
为了解决内容重复计算的问题,我们采用了 Flink 对消息源进行聚合操作。通过使用窗口机制,同一窗口内的内容只会被计算一次,从而避免了短时间内同一内容的多次变更导致的重复计算。
为了提高内容出入池的性能,我们对已经满足规则的内容进行了缓存处理,避免了频繁的数据库操作。这种优化策略可以显著提升系统的响应速度和吞吐量。
2、批式内容定向及打包选型
不同于流式检索,批式检索的特点是条件更多,更适合探索性质的检索。批式检索需要在离线进行特征和属性的计算与构造,然后再提供相应的检索能力,因此时效性较低(T+1)。
鉴于批式内容检索条件复杂且涉及正文等要素,我们选择了 Elasticsearch(ES)作为实现方案。然而,由于 ES 在文档更新时性能较差,为了解决这个问题,我们采用了每日新建索引并滚动切换索引的策略。通过利用 ES 的 Alias 特性,我们实现了无缝的索引切换。
3、内容分析&预处理选型
(1)个体分析
在对单篇内容进行分析时,舰桥提供了以下相关能力:
- 内容基础信息和内容画像:站内各个业务方内容信息的集合,由业务方以在线接口的形式提供。这些信息包括内容的基本信息、标签信息等。
- 内容分发数据:每天离线计算内容截止到上一日的分日、分端、分渠道分发量和互动量。帮助了解内容的分发情况和受众的互动情况。
- 内容生命周期:采集各个业务方生产的内容信号,包括内容生产、打标签、治理信号以及各个渠道的分发信号。这些信号贯穿内容从生产到消费的整个生命周期,方便了解内容的生命周期特征和趋势。
- 阅读者画像:利用 DMP 已有的用户标签能力,使用内容的分发历史数据和用户标签关联,分析内容的阅读者偏好。包括性别、年龄比例、阅读者兴趣偏好等信息,可以了解不同阅读者群体对内容的偏好和需求。
(2)群体分析
内容的群体分析是一种通过计算一组内容的数据统计信息来获取洞察力的方法。在舰桥平台中,根据不同的业务视角,可以采用领域分析、活动内容统计和 theme 信息画像等方法进行群体分析。这些方法的共同点是将内容按照不同的角度进行分组,并分别计算各组内容的观察指标,如曝光数、PV(页面浏览量)和内容覆盖数等。
为了实现从不同角度进行内容分组和群体分析的目的,使用了以下所示的架构:
- 内容维度宽表建设:特点是大而全,覆盖内容各个角度的属性;
- 内容的业务领域定义:使用统一 DSL,业务可以按需进行定义自己业务范围内的内容;
- 内容打包:按照领域定义,将内容进行分组打包;
- 内容分析:使用内容指标叉乘内容分组信息,得到各个组的内容表现;对计算得到的观察指标进行可视化展示。
六、未来趋势
1、业务能力发展趋势
(1)运营流程自动化&策略化
在舰桥产品体系的内容运营平台中,目前所有的功能都基于原子化能力搭建,并且配备相应的接口。这种方式赋予了平台灵活且强大的能力,但我们对未来有更大的期待。
我们计划开发一个类似于上图的策略化流程画布的系统,通过这个系统,运营流程将被准确而高效地编排。这不仅意味着我们将进行自动化的调度和执行,更进一步地,我们能够跟踪每一次运营的效果,进行细致入微的观察和分析。我们也将 AB 实验引入到系统中,通过简洁的实验结果,为策略提供指导,以便在更广阔的视野中找出最佳运行方案。
未来的运营流程将实现策略化的配置、流程的自动化、效果的可跟踪可监控,以及实验的数字化。这样一套策略运营流程自动化和策略化编排的功能,将使我们的业务决策更加精准,并有助于提升公司的运营效率和业务表现。我们秉持对技术进步的信心,期待通过改变,开启新的可能。
(2)运营流程 AI 化
借鉴 OpenAI 所倡导的 Assistants API 模式,并结合模型能力的不断提升,使得 Assistants 加上 Function Call 的模式已经逐步变为可能。这为我们提供了一个全新的视角去思考如何使用人工智能技术去优化业务流程并提升运营效率。在这个原型上,我们期待构建出一种全新的、AI 化的运营流程模式。
这样的模式会基于上述理念,构建属于自身的 Assistants API,而底层则通过使用特定的数据和 Function 来提供基本的流程原子 API。这些原子 API 可以构建连贯的工作流,满足不同场景下的丰富需求。
在这个架构中,Assistants 会扮演关键的角色,它需要循环地评估运营团队所提出的问题和需求,并找出具有最优成效的解决方案。为了实现这一目标,Assistants 会不断地通过 Function Call 来获取和理解外部环境的信息和知识。下图中,执行动作包括模型的思考、外部的 Function Call、本地沙箱运行 python 代码等。
最终,Assistants 将应用这些知识,提供满足运营团队需求的方案和策略,以解决各类运营问题,并帮助运营团队提升效率与成果。这样的运营方式不仅提高了运营效率,同时也减轻了运营团队的工作压力,使他们可以更专注于策略性的工作和决策。
2、支撑层发展趋势
(1)Doris + ES + DOE(Doris on ES)-> Doris 2.0 倒排索引
首先,倒排索引,也被称为 inverted index,是信息检索领域常用的一种索引技术。它将文本分割为许多单词,然后构建从词到文档编号的索引,借此可以快速查询某个词项在哪些文档中出现。
在 Doris 的倒排索引实现中,表的一行被视为一个文档,列则对应文档中的一个字段,所以可以利用倒排索引根据关键词快速定位包含它的行,实现 WHERE 子句的高效检索。
与 Doris 中的其他索引形式不同,倒排索引在存储层面是使用独立的文件,它与 segment 文件逻辑对应但存储的文件是相互独立的。这种设计的优点在于,我们在创建或删除索引时无需重写 tablet 和 segment 文件,因此大大降低了处理过程的开销。
Doris 2.0 版本引入了新的特性 - 倒排索引,这具有很高的工程实践价值。在此之前,我们使用 Elasticsearch(ES) 处理全文特征,指标特征则使用 Doris,二者以 Doris On ES 的方式结合。不过,随着 Doris 倒排索引的引入,我们可以直接使用 Doris 进行处理,简化了工程实施的复杂性。
(2)流式内容定向 + 批式内容定向的困境 -> 基于 Doris 的微批内容定向+打包
在目前内容运营的支撑层落地过程中,我们往往会面临一个难题——如何找到最有效的方式以定向投递内容?常见的策略有流式内容定向和批式内容定向,然而,这两种方法各自存在一些限制。
流式内容定向:适用于对实时性要求高的业务场景,使得内容可以在用户产生对应的行为后即时调整,以适应高时效性召回源的业务场景,进而解决实时策略和用户的个性化需求。然而,这种方式目前面临的情况就是服务器的负载大,特别是在用户数据变化频繁、内容信息和统计信息也有频繁的变动性的情况下,数据流会比较大,计算压力也较高。此外,由于实时变化的特性,流式内容定向需要持续不断的投入,这样也会使得整体成本显著提高。
批式内容定向:适用于批量操作的方式进行,将大量的内容预先打包,然后定时推送。虽然这样可以节省处理资源,降低运行成本,但缺乏实时性以及对用户行为和内容信息变化感知低,无法满足用户对精准和即时内容的需求。批量推送的内容也无法紧跟用户的实时行为变化,从而减低营销效率。
目前从业务场景中出发,无论是用户数据变化频繁还是内容信息和统计信息也有频繁的变动性,在实际的情况下并不是所有的业务场景都需要做到秒级别的更新,排除掉冷启动、高转高召等对时效性要求高的场景,多数的业务场景保持每 10 分钟 ~ 20 分钟更新一批就能很好的满足业务需求。
面对流式内容定向和批式内容定向的挑战,我们的解决方案是采用微批内容定向+打包的模式。使用 Doris 提供的微批内容定向 + 打包的解决方案,可以在流式内容定向与批式内容定向的困境中找到一个最优路径。在这种模式下,我们可以利用 Doris 强大的实时数据查询能力和索引支持,以细小的批次来处理和投递内容,实时调整内容以适应用户需求,同时降低服务器负载,优化资源运用。通过打包方式,我们可以有效地组织和发送内容,增加运行效率,降低运行成本。