天天看点

审核平台在知乎商业广告的探索与实践

作者:闪念基因

一、背景与挑战

1.1、引言

1、目前,在商业广告审核领域,分为几大类审核项:内容审核,创意审核,资质审核,产品审核等。

所采用的技术方案,根据审核量级与分类的不同,也有一定的区别。以知乎为例,对于海量的内容数据,一般采用机器审核为主,人工为辅,再结合用户举报,反垃圾等机制,共同来完成审核工作。

而对于,创意、资质、产品类的审核,则以人工为主,机器为辅。机审侧重于一些可衡量因子,如行业法规,企业认证信息,违规词,内容长度等等。

2、审核不是最终的目的,只是一种手段。它可以帮助创作者,广告主,持续输出优质内容、创意,以达到价值最大化。如内容ranking,曝光,点击率等等。

就审核功能建设本身而言,无论是人工审核,还是机器审核并不是一件复杂的事情。平台化的目的,就是为了提效“节能减排”。

1.2、挑战分析

1、目前知乎商广,人工审核方面,日审单量过万,机审单量则以海量来计,审核已成为商广最重要的业务之一。需要审核的业务线,也从最初的一条业务线,发展到现在的十余条。

2、原审核功能,每条业务线单独进行维护。随着审核单量的增加和业务的发展,每条业务线不得不背负极其重的技术债务进行迭代,以满足发展的需要。

3、本文主要分享,审核平台在落地中的探索与实践。

审核平台在实际落地中,面临着多方面的挑战与问题,例如:

  • 问题一:在知乎内部存在多套审核系统,几乎每条业务线都有自己的一套玩法和规则,如何进行整合。
  • 问题二:每条业务线,都存在一定的技术债务,是否要进行消解,再接入审核平台。
  • 问题三:是自研审核平台,还是选择采购或使用开源的审核系统。
  • 问题四:如何保证,在不影响正常业务需求迭代的情况下,让各条业务线接入审核平台。
  • 问题五:新的审核平台上线,是否能够完成提效“节能减排”的目标。

二、解决方案

2.1、前期调研与总结

1、市面上的系统(网易易盾,华为,七牛)等,可提供内容、图片、视频审核功能,具体的接入方式可以查看各家开放平台的接入文档。对于这类系统我们可选择它们做为支持子域来使用。

2、知乎社区的天玑系统,偏向于进行风控和内容审核。

3、知乎商广各业务线的审核系统,业务定制化程度高,只能满足各自业务线的需求。

系统 所属团队
效果、知+、品牌、芝士、三方创意,知盟配图 知乎商广
天玑 知乎内部
网易易盾 https://dun.163.com/
华为内容审核系统 https://www.huaweicloud.com/product/vcm.html
七牛内容审核 https://developer.qiniu.com/censor
字节、腾讯审核平台 字节、腾讯

4、各业务线都存在技术债务,经多次讨论决定,先不消解原有的技术债务,采用埋点通知式 或 异步监听式两种办法进行的消息交互。

5、审核平台在前期建设时,收益难以体现,所以对于优先级较低的业务系统选择延后接入。

6、审核平台如何短期完成一个提效的小目标?我们采用的办法是,收集广告审核部门目前最痛的需求点优先进行解决,并且定期进行沟通和反馈意见收集。

7、选择开源系统还是自研系统?虽然不想重复造轮子,但仍需要把轮子组装起来。

8、项目开展理论依据是什么?严格遵循项目五大过程组 + 宣讲。

2.2、广告审核平台的本质

透过现象看本质,广告业务这件事整体来看,分为3层:业务层、审核层、广告展示层。

审核平台在知乎商业广告的探索与实践
  • 广告展示层:负责广告的流量分发,确定什么样的广告投放给什么样的用户。
  • 审核层:承接公司各条业务线的审核任务,包含资质、产品、广告创意、插件、落地页、内容、视频、电商产品审核等。
  • 业务层:根据广告主的需求进行商业化的广告设计,帮助广告主快速投放广告,提升品牌影响力以及推广效率。

业内无论是,字节,腾讯,阿里这样的大型广告平台,还是其他厂商,都脱离不了这3个层面。

而就广告审核部门而言,每个厂商内部都有自己的SOP。审核的维度也脱离不了资质、产品、创意、内容这几个方面。另外审核的方式主要包含:人工+机器审核、初审、复审、巡检、治理等方式。

围绕着这些原则,我们决心自研知乎自己广告审核平台,我们叫它 【alice】。

2.3、审核平台架构搭建

基于上述调研的一些情况,我们初步构建出审核平台的技术架构如下图:

审核平台在知乎商业广告的探索与实践

完成架构搭建后,我们就可以基于此思路,进行模型的建立。

2.4、审核平台模型建立

自计算机体系建立以来,就围绕输入,输出,这两个点来进行。那什么是审核平台的输入与输出呢?

审核平台的输入和输出很直观就可得到,输入:待审核的任务;输出:任务的审核结果、通过/拒绝。

基于此原则的前提下,我们对审核平台,进行了建模,如下图所示。

分为3个领域:核心领域、通用领域、支撑领域;在各个域下再细分为多个子域进行建模。

审核平台在知乎商业广告的探索与实践

1、基础服务子域:分为系统配置,审核模版,审核组件,文件服务。

  • 系统配置,根据审核项的不同,构建出,系统菜单,列表页面,搜索项,工作流等。
  • 审核模版,根据审核项的不同,由多个审核组件,组装成一个模版。
  • 审核组件,包含基础的kv组件,广告创意类组件,内容组件等等,是构建审核页面的基石。
  • 文件服务,负责系统内,所有文件类存取。

2、用户子域:

  • 用户数据:分为内部员工、外包审核员等用户。
  • 用户权限:包含操作权限、数据权限。数据权限通过用户所在部门来进行控制。

3、审核项管理子域:对不同性质的审核领域进行划分,与基础服务子域和用户子域配合使用。

4、审核准入子域:

  • 任务提审
  • 任务撤销
  • 任务修改
  • 历史任务同步

5、审核通知子域:

  • 广播通知:广播审核结果,业务线自行订阅。
  • 个性化触达:独立消息通知,企业微信机器人通知等。

6、工作流子域:可配置工作流,初审、质检、巡查等等,均可自定义。

7、机审子域:

  • 内容类,可进行内容黑灰词,高亮标注。
  • 图片识别:内容,创意等,使用知乎自研图片识别技术,进行违规图片识别。
  • 视频审核:对视频,进行截图,进行人审+机审。
  • AI辅助审核:分析可衡量因子,建立特征工程,AI给出审核辅助提示。

2.5、任务提审--输入层

1、输入层的设计,就数据传输的方式上,我们考虑过以RPC方式或消息中间件的方式,进行通讯。

为什么放弃了RPC而采用了消息中间件,有以下几点的考量。

  • RPC的方式,对于使用方需要特别关注RPC调用失败的情况,如何进行补偿。
  • 对于有顺序类的操作请求,例如提审,撤销,修改等情况。审核平台需要保证消息的顺序性处理,以满足要求。
  • 考虑到审核平台负载问题,消息中间件可以天然的成为应该流量的屏障。
  • 在处理提审逻辑的过程当中,发生错误的情况,可以使用消息队列重新进行消费以避免繁杂的补偿逻辑代码编写。

2、在传输的数据结构上,主要考虑的点有以下几个。

  • 尽量简单,减少业务线接入的理解成本。
  • 设计一个传输的数据结构,相当于设计一个协议。市面上常见的协议分为:请求头+请求数据。在此基础上我们把数据结构体拆分为几部分【消息类型+基础信息】==请求头;【业务数据】==请求数据。
审核平台在知乎商业广告的探索与实践

3、详细的数据结构如下

  • msgType:采用了标准的CURD思想,可灵活的完成对审核任务的操作。
  • baseInfo:审核任务的基础信息,通过【审核项类型】确定审核任务的大类;【任务唯一ID】标识审核任务唯一,不可重复。
  • businessInfo:这里放置的数据,与业务系统提前配置在审核平台里的数据字典一一对应,在下文2.7章节【审核模版与组件】中进行详细的介绍。
字段定义 字段描述
msgType 消息类型:提审,撤销,修改,历史任务同步
baseInfo 基础信息:审核项类型,任务唯一ID,任务名称,提审时间,推送时间,模版ID
businessInfo 业务系统自定义信息,与审核模版和组件配合使用

2.6、审核工作流设计

1、在审核工作流的设计上,借鉴了OA系统的工作流设计,目前分为:初审、质检、巡查、治理等工作流。

2、多个工作流之间,可串行,或者并行的进行流转。下图主要介绍了初审与质检工作流,流转过程。

审核平台在知乎商业广告的探索与实践

2.7、审核模版与组件

1、模版与组件概念,并不是一个新奇的思想。从早期的smart模版、IOS的可视化编程,到现在的微信公众平台消息模版组件、前端Vue框架等开发,无不体现了模版与组件的思想。

组件化的方式可独立、可完整、也可自由组合。目标就是把元素进行独立化、使其完成局部功能、又可通过自由组合,构成整个模版或产品。审核平台正是借鉴的此思想,来完成对应的设计与开发工作。

2、上文2.5章节【任务提审--输入层】介绍到的【业务信息:businessInfo】就在此处进行了使用,下面为模版与组件的创建步骤:

  1. 业务线同学,在审核平台申请接入,审核平台为其分配对应的【审核项唯一标识】。
  2. 在对应的审核项下,创建数据字典。
  3. 数据字典的内容包括:数据key、名称、数据类型,枚举值、远程数据源、数据操作类型。
  4. 创建数据组件、在组件中勾选要展示的数据字典项,并为该数据字典项分配样式包括:html、text、link、image、creative等。
  5. 再选择单个组件的样式包括:container、qualification、keyValue,article,answer、video等进行保存。
  6. 创建审核模版、在模版上添加该模版要展示的组件,选择模版样式以及其布局样式进行保存。

3、创建完成就要进行渲染,审核模版当中数据组件的渲染步骤如下:

  1. 任务提审输入的businessInfo数据结构示例:

{

"orderId":"订单ID",

"logo":"图片地址",

}

  1. 审核平台定义的组件【数据字典key:orderId】数据结构示例:

{

"name": "",//显示名称

"focus": "",//聚焦

"style": "",//样式html、text、link、image、creative等等

"id": "",//数据字典key值

"value": "@{orderId}"//数据字典value值

}

  1. 根据组件中的【id】找到对应的数据字典的key,并完成value的替换,结果如下:

[{

"name": "订单ID",

"focus": "true",

"style": "text",

"id": "orderId",

"value": "订单ID的值"

},

{

"name": "品牌logo",

"focus": "true",

"style": "image",

"id": "logo",

"value": "[{\"image\":\"图片地址\"}]"

}]

4、数据字典、组件、模版关系如下图所示:

审核平台在知乎商业广告的探索与实践

2.8、系统可配置化建设

1、系统可配置化,包括,数据字典管理,审核组件管理,审核模版管理,菜单页面配置,工作流配置等等。

2、数据字典,与提审过来的businessInfo进行映射,完成字典建设。

3、审核组件,在数据字典的基础上,进行个性化配置,字段映射。

4、审核模版,由一个个审核组件,组装而成。

2.9、角色与权限控制

1、权限控制,分为页面级的操作权限、API接口权限、数据权限。

2、支持知乎自研内网帐号体系,SSO账户登陆。

3、支持外网知乎APP扫码授权登陆。

2.10、智能审核

1、文字方面,采用敏感词识别,运营/审核人员一般会预设一批关键词入库,通过关键词分类,排列组合,完成机器审核。

2、反垃圾机制,通过机器识别的手段,对各种以机器发布的垃圾内容以及广告,进行判断过滤。

3、图片识别,图片不同于文字,无法进行关键字的提取工作,我们通过知乎自研的图片识别技术,对违规图片进行过滤。

4、视频方面,通过对视频分段截图,在配合图片识别,以及人工辅助审核,完成该项工作。

5、早期使用,优秀的第三方公司API,例如网易易盾等公司,完成智能审核工作。

2.11、任务审核结果--输出层

审核结果产生以后,同样使用消息中间件进行消息广播,各业务线自行进行监听,完成审核的后续动作。

三、应用实践

经过4个月左右的建设,广告审核平台完成了基础功能的建设;已接入知乎商广的效果广告、知+、品牌广告、芝士、商业会员等多条业务线;

3.1、广告审核部门对接

在对接广告审核部门的过程当中,能否切实解决对方的需求,获得审核团队的认可尤为重要。这里我们分为如下几个步骤去开展工作:

  • 项目启动前组织沟通会,收集审核团队的目前遇到的问题,以及原审核系统使用的情况。
  • 针对审核团队遇到的问题,进行需求拆解形成文档。
  • 经过需求拆解过后,对需求进行分类,主要分为:风控、提效、辅助三大类。
  • 对需求进行优先级排序,提效=>风控=>辅助。
  • 再次进行沟通,确认未来一个季度的目标是否一致并达成共识,共同完成业务指标。在解决审核团队现实问题的前提下,完成审核平台能力建设。
  • 在实际使用审核平台过程中,建立专项沟通群第一时间,解决审核团队遇到的问题。
  • 定期进行数据统计,分析审核时效,审核单量等指标。

3.2、业务线接入对接

1、业务线接入过程,采用标准的项目五大过程组,进行工作的开展。

2、在技术方案对接过程中,为了快速完成业务线原有审核模块的迁移,审核平台进行了兼容处理,具体举措如下:

  • 业务线复用原审核模块返回给PC端的结构体,原样传输到businessInfo当中,由审核平台完成解析入库。
  • 审核平台审核结果的同步,采用方式为:调用业务线原审核模块提供给PC端的http接口,由审核平台组装该http接口所需的数据,完成审核结果的同步。
  • 业务线提审过程当中,由于网络问题,时序问题、提审埋点逻辑缺失等问题,由审核平台采用定时任务的方式,扫描业务线数据库,完成补偿逻辑。
  • 后续再有新的模块接入,不再采用兼容方案。

3.3、收益概要

上线前后,单审核模块,效率提升对比如下:

数据 1小时覆盖率 2小时覆盖率 3小时覆盖率 全天平均时效 人均审核量(日均)
系统上线前日均 74.68% 93.27% 99.15% 00:41:53 411
11月系统使用 93.91% 99.17% 99.79% 00:21:28 429
环比提升效率 25.76% 6.33% 0.64% 47.72% 4.30%

四、未来规划

4.1、审核组件渲染统一化

1、在各业务线接入审核平台的过程中,广告创意的组件渲染,占整体工作量30~40%以上。上百种的广告创意,在原有业务线已经可以进行渲染,但搬到审核平台,就需要重新进行开发。

  • 图例一:为广告创意在业务线系统渲染的样式。
  • 图例二:为该创意在审核平台渲染的样式。
审核平台在知乎商业广告的探索与实践

(图例一:原业务线广告创意)

审核平台在知乎商业广告的探索与实践

(图例二:审核平台对应的广告创意)

2、广告创意的渲染,不仅仅在PC端的运营系统存在。在进行广告投放的过程当中,对应的知乎PC端与知乎APP端,也要进行该广告创意的渲染。各端在进行创意渲染时,使用的渲染组件与数据结构,均不统一;存在或多或少的数据结构兼容转换逻辑。

3、基于以上问题,审核平台决定推动渲染组件的统一化建设。实现一处编码,各端各系统通用化渲染的目的。

4.2、智能审核建设

经过4个月左右的建设,我们其实只完成了第一步,明确了广告审核的重要性以及标准流程的建设。在如今各大APP,动辄上亿的广告请求下,对广告审核的要求,已经变的越来越高。广告创意的数据,也以海量来计。在如此海量数据面前,人工审核是完全不现实的,基于AI算法的机器审核才是最后解决问题的根本方案。

4.3、广告风控

从知乎APP长远健康发展的角度来考虑,风控环节都应受到严格的重视,在面临监管的压力下,需要更加精细化的审核风控。

作者:刘小川

出处:https://zhuanlan.zhihu.com/p/455446275

继续阅读