第7章内容发布系统——7.3 内容审核设计

第7章内容发布系统——7.3 内容审核设计
John Yaml7.3 内容审核设计
本节介绍与内容发布系统息息相关的一个周边系统:审核中心。审核中心虽然不属于内容发布系统本身的内容,却是内容发布系统的重要合作方,它或多或少会影响内容发布系统的自身架构设计,其中的一些细节值得我们关注。
7.3.1 内容审核的必要性
有人可能认为把内容存储到存储系统中就算完成内容发布了,其实不然。由于内容是由创作者自由创作的,别有用心的创作者可能会借助社交应用恶意传播暴力、反动、色情、 诈骗、侵权或者其他不良的信息,不但污染了产品的内容生态,引起用户的不适与反感,还可能直接激怒大众,导致产品下架……所以,任何产品,只要为用户提供了相对宽松、自由的可发布内容的权限,对其内容的审核就是重中之重!
7.3.2 内容审核的时机策略
下面设计内容审核的时机策略。
(1)方案一
方案一:只要用户发布和修改内容,就属于内容变更,此时要把最新的内容发送到审核中心进行审核(下文简称“送审”),等待审核通过后再使内容发布生效。
可以说,方案一很保险,因为全部的内容变化都可以被审核中心感知,但是并未考虑互联网应用中海量用户每天发布的内容是什么规模。比如,推特在2022年上半年的每日用户发推量已远远超过3亿条!即每秒3500条发推量。让内容审核团队每天应对这个数量级的新增内容,不仅非常消耗资源和时间,而且很难保证完成全部审核工作。所以,方案一并不可取,不应该在任何用户发布内容时都触发内容审核,而是应该换一种方案。
(2)方案二
方案二:因为审核内容的目的是防止不合规的内容污染产品生态,所以可以从如下角度思考。
- 什么体量的内容更容易造成负面影响?当然是有一定曝光量的内容,比如内容有很高的浏览量/互动量,或者内容发布者有大量粉丝。
- 什么人发布的作品更可能是不合规内容?当然是经常被举报的创作者和其作品经常被审核拒绝的创作者。
于是,对内容审核时机策略的设计就有思路了。
- 粉丝量超过10000人的创作者在发布或修改内容时,由于内容会直接被较多的用户看到,也就是自带一定的传播力、影响力,所以需要先送审后发布。
- 最近一段时间被举报超过100次、最近发布的作品被审核拒绝超过10次的创作者发布或修改的内容,其作品极有可能是负面内容,所以需要先送审后发布。
- 当某条内容的浏览量超过500次,点赞量、点踩量、收藏量或评论量超过300次时,内容已经具备了较大的曝光度,所以需要送审。
- 有3个以上用户投诉的内容,可能包含不健康的信息,也需要送审。
通过上述几种内容审核时机策略的设计,当不健康的内容有广泛传播的苗头时,可及时对其审核,并对曝光量很小的内容放弃主动审核,而是依赖用户举报,这样一来,审核数据量相比方案一大幅度减少。
在内容审核时机策略的设计中所涉及的各种触发条件阈值,会直接影响内容审核的严格程度。
- 阈值越低,被送审的内容越多,内容审核就会显得越严格。
- 阈值越高,被送审的内容越少,内容审核就会显得越宽松。
这里建议把触发条件的阈值尽量设计成可动态配置的形式,这样就可以在不同的时间段对审核力度进行灵活控制:
- 在一些公共事件敏感时期调低阈值,加大对内容发布的审核力度;
- 在日常时间段适度调高阈值,对内容发布的审核适当放宽,缓解内容审核压力,节约审核资源。
7.3.3 如何审核内容
我们已经设计了内容审核的时机策略,假设内容命中该策略,那么在将内容送达审核中心后,审核中心如何判断对一条内容的审核是通过还是不通过?
因为不同的互联网公司对内容的评判有不同的审核标准,审核技术的原理差异较大,且在审核逻辑中包含较多专用的业务逻辑,并不具有通用性的服务设计,所以本节仅讲解基本通识,不做具体设计。
审核一般由人工智能自动审核和人工审核两种方式配合完成。
引入人工智能自动审核的主要目的是节约审核人力成本。对于文本内容,审核中心会对文本进行分词及关键词提取,然后采用自然语言处理技术进行敏感词匹配、情感分析与舆情分析等,进而得出审核结果。
- 对于图片内容,审核中心很可能会采用图像处理与模式识别技术来鉴定图片是否涉及血腥、暴力、色情等元素。
- 对于音频内容,审核中心很可能会采用语音识别算法将音频转换为文本,再采用与文本审核一样的方式进行处理。
- 对于视频内容,在视频转码过程中,会提取视频关键帧作为一组图片执行图片审核流程,也会提取视频中的音频执行音频审核流程。
我们需要知道,无论是何种类型的内容,采用人工智能自动审核都不能保证100%判断正确,所以在给出审核结果的同时给出了审核结果判断的置信度。
- 如果置信度极高,则认为采用人工智能进行判断的结果是可信的,判断为审核通过的内容就通过,判断为审核拒绝的内容就拒绝;
- 如果置信度很低,则属于存疑情况,计算机无法得出明确的结论,需要进一步做人工审核。
人工审核的流程比较简单:一批审核人员人工判断内容是否应该通过审核。审核人员会经过公司的专门培训,在对什么内容不可通过审核有强烈的认知后,进入审核岗位。
审核中心中一种简单的人工审核模块如图7-2所示。
其审核流程如下。
- 如果某内容需要人工审核,则进入待审队列,待审核内容排队等待分配审核人员。
- 根据分配策略,选出一位审核人员为其创建审核任务。
- 将审核任务投递到这位审核人员的个人任务池中。
- 审核人员在个人任务池中逐个完成审核任务,给出审核结果。
总之,从宏观的角度来说,对内容应该优先依赖人工智能自动审核,如果通过人工智能自动审核无法得到高置信度的结果,则人工再介入做第二次审核并得出结论。让人工审核为人工智能自动审核的兜底,能够尽量节约审核人力成本。
需要强调的是,本节内容仅是对审核中心应该怎么做的一种粗略建议。由于各互联网公司产品特性的差异化,实际的内容审核可能涉及更多的人工智能自动审核细节与人工审核细节,所以对本节内容适当参考即可。不过,如何判断内容是否通过审核并不会影响整个内容发布系统的业务架构设计,我们姑且将审核中心的内部逻辑当作一个黑盒。
7.3.4 审核中心的对外交互
内容发布系统需要将内容发送到审核中心,审核中心需要将内容的审核结果返回给内容发布系统,两者之间适合基于消息队列的异步化形式进行交互。
如表7-4所示,内容发布系统与审核中心之间的交互需要两个消息队列主题。
审核中心的对外交互流程如下。
- 产生新的待审核内容的事件对应的消息队列主题被命名为event_audit_content,内容发布系统为其消息生产者,审核中心为其消息消费者。当内容满足审核条件时(比如内容的播放量或互动量达到阈值、内容由粉丝量较大的创作者发布、内容被投诉),内容发布系统向event_audit_content消息队列发送消息,消息内容是item_id(内容唯一标识)和 version (内容版本号), 用于告知审核中心需要审核某内容的某版本。
- 审核中心在收到event_audit_content消息队列中的新消息后,根据itemid获取内容的全部信息,此内容排队等待审核。
- 内容审核完成的事件对应的消息队列主题被命名为event_audit_result,审核中心为其消息生产者,内容发布系统为其消息消费者。
- 当内容通过人工智能自动审核或者人工审核后,审核中心将审核结果发送到event_audit_result消息队列,消息内容是item id(内容唯一标识)、version(内容版本号)、audit result(审核结果)和reason(不通过的原因)(如果最终的审核结果是“拒绝通过”),用于告知内容发布系统某内容的某版本的审核结果。
- 内容发布系统在收到event_audit_result消息队列中的消息后,根据审核结果进行相应的处理(处理细节在7.4节中会涉及,但是需要依赖一些前置设计,这里先一笔带过)。
总结
内容审核的时机策略?
方案一:只要用户发布和修改内容,就属于内容变更,此时要把最新的内容发送到审核中心进行审核,等待审核通过后再使内容发布生效。
方案二:因为审核内容的目的是防止不合规的内容污染产品生态,所以可以从如下角度思考。
- 什么体量的内容更容易造成负面影响?当然是有一定曝光量的内容,比如内容有很高的浏览量/互动量,或者内容发布者有大量粉丝。
- 什么人发布的作品更可能是不合规内容?当然是经常被举报的创作者和其作品经常被审核拒绝的创作者。
内容审核时机策略的设计?
- 粉丝量超过10000人的创作者在发布或修改内容时,由于内容会直接被较多的用户看到,也就是自带一定的传播力、影响力,所以需要先送审后发布。
- 最近一段时间被举报超过100次、最近发布的作品被审核拒绝超过10次的创作者发布或修改的内容,其作品极有可能是负面内容,所以需要先送审后发布。
- 当某条内容的浏览量超过500次,点赞量、点踩量、收藏量或评论量超过300次时,内容已经具备了较大的曝光度,所以需要送审。
- 有3个以上用户投诉的内容,可能包含不健康的信息,也需要送审。
审核中心的对外交互流程如下。
- 产生新的待审核内容的事件对应的消息队列主题被命名为event_audit_content,内容发布系统为其消息生产者,审核中心为其消息消费者。当内容满足审核条件时(比如内容的播放量或互动量达到阈值、内容由粉丝量较大的创作者发布、内容被投诉),内容发布系统向event_audit_content消息队列发送消息,消息内容是item_id(内容唯一标识)和 version (内容版本号), 用于告知审核中心需要审核某内容的某版本。
- 审核中心在收到event_audit_content消息队列中的新消息后,根据itemid获取内容的全部信息,此内容排队等待审核。
- 内容审核完成的事件对应的消息队列主题被命名为event_audit_result,审核中心为其消息生产者,内容发布系统为其消息消费者。
- 当内容通过人工智能自动审核或者人工审核后,审核中心将审核结果发送到event_audit_result消息队列,消息内容是item id(内容唯一标识)、version(内容版本号)、audit result(审核结果)和reason(不通过的原因)(如果最终的审核结果是“拒绝通过”),用于告知内容发布系统某内容的某版本的审核结果。
- 内容发布系统在收到event_audit_result消息队列中的消息后,根据审核结果进行相应的处理。