在信息爆炸的时代,垃圾消息不断充斥着我们的信息接受场景。这时候,搭建反垃圾系统就成了迫在眉睫的事情,而笔者也结合自己的思考给出了几点实施建议。
一、前言
1.1 反垃圾概念
反垃圾,通常是对由用户生产的内容,进行敏感、垃圾信息的过滤系统。主要有:垃圾邮件拦截、微博广告过滤、弹幕、直播等场景。反垃圾,又分为人工反垃圾和机器反垃圾。我们这里说的反垃圾,特指机器反垃圾。
机器反垃圾的意义,有以下几点:
(1)净化社区环境
过滤社区中的垃圾信息(违法、广告、色情、恶意灌水等)。这是文本反垃圾最基础、最重要的工作。如果这块做不好,对整个产品影响非常大。比如:之前有过新闻报道,微博、贴吧中存在太多的淫秽色情信息,被网信办给予了行政处罚和整顿处理;再有,小密圈(现改名为知识星球)因为涉黄,被停止运营了一个星期,影响非常大,尤其是对于一个在高速发展中的新产品。
(2)减少人工审核工作量
在很多大型公司,都有着非常庞大的人工审核团队。像头条、微博等,都至少是上千规模的人工审核团队,其他直播类的网站,也都基本接近1000人的规模。这么大的团队规模,对于每个公司,其实都是一个比较大的开支。而且,人工审核不仅效率低下,也会产生一定的误伤、漏删情况。机器自动反垃圾,在很大程度是减少人工审核工作量,提高审核效率,节省公司开支。
(3)配合社区运营
机器反垃圾,有着各式各样、松紧不同的策略,也是社区运营的一个重要手段。比如,当前社区用户活跃较少时,可能需要通过配置策略,整体管控放松;如果社区用户活跃较多,就需要适当收紧反垃圾策略,确保社区质量,避免水化。有时候,可能也会屏蔽竞品讨论等,也可以算作反垃圾的内容。当然,这里除了反垃圾,通常还需要一定的精彩文本提取的策略。在这里不进行讨论,有空的时候,我会单独拿出来说。
1.2 目前市面上反垃圾产品的现状
由前文所述,可见反垃圾对于社区的重要性。那么,目前市面上的反垃圾产品,是个什么现状呢?
反垃圾技术,在90年代的垃圾邮件过滤系统产生的时候,就已经开始发展。到现在,按理说是十分成熟。但是,通过我对各大互联网公司,像腾讯的qq、微信,阿里的淘宝、微博,百度的贴吧,头条的头条、抖音等,发现效果其实并不尽如人意;其他第三方服务,像数美、网易易盾、百度审核、达观等,也都只能做到基本达标,甚至在某些场景下,会频频失效。
这主要是因为:
(1)反垃圾是一个与黑产的攻防系统
黑产在巨额利益的诱惑下,会不断提升攻击的技术水平。反垃圾的系统,需要不断的更新迭代,一刻也不能停歇。而且,在与黑产的斗争中,很多时候处于劣势,很多策略都有滞后性。
(2)反垃圾系统的建立与迭代,需要很大的投入
反垃圾系统的建立和维护,需要很多的人力投入,NLP算法工程师、前后端开发、产品经理、语料标注团队等,对于很多中小型公司根本养不起这样的团队。对于提供反垃圾服务的第三方公司,又面临着同行竞争、资金投入等压力。而且,业内也缺乏对反垃圾效果的行业评测,第三方公司在效果方面不太好评估,基本都是靠销售驱动。
二、反垃圾系统的设计思路
2.1 反垃圾流程设计
反垃圾系统的设计,需要涉及到机审、人审、审核系统、风控安全、标注系统、人工标注等团队。理想状态下,在一个公司中,这些团队都在一个部门下,由同一个leader进行负责,会减少很多不必要的沟通上的工作量。
用户在app中发布一条消息内容,通常会是这样的流程:
反垃圾系统,对垃圾信息的拦截,是通过多种类型的策略组合,才能达到最佳的效果。主要有关键词策略、规则策略、模型策略、风控策略几种。下面,逐一介绍。
2.2.1 关键词策略
关键词策略,顾名思义,是通过添加关键词,达到拦截垃圾内容的目的。
最基础的关键词,就是关键词的硬匹配。比如,我添加“会员,联系”这样的组合关键词,就可以拦截“需要xx会员的,请联系我,微信号:abcd123”。
除此之外,关键词策略通常还包括,拼音关键词策略(huiyuan –> 买会员的找我)、跳字匹配(会员 –> 买?会?员的找我)等。
关键词策略,是反垃圾策略中,最基础、最暴力、最有效的策略。词库维护的权限,我们通常会开放给业务方的运营人员。在遇到垃圾信息的时候,这也是最快速应对的方式。
关键词策略,虽然可以基本解决问题,但是他的缺点也非常明显。主要有:
容易有误伤。毕竟是通过关键词硬匹配来拦截。
关键词难以穷举,造成很多运营人员的工作量。
2.2.2 规则策略
关键词策略,有明显的缺点,它只能是一个基础的手段。再往上一层,我们就产生了规则策略、
规则策略,是可以来解决一类问题的。
举个简单的case,比如广告文本中,留手机号的联系方式。我们就可以产出一个识别手机号的正则策略。
但是,用户留手机号,就都是广告么?并非全是如此。这个时候,可能需要在这个手机号的规则上面,再叠加一层广告特征的规则,比如提到具体商品这种特征。
这样的规则,相比关键词来说,确实有一定的泛化能力,不再需要业务运营来维护,他们只需要反馈badcase就可以,而且在解决这类问题的时候,通常都是针对性的规则,有比较好的解决问题能力。
万事都有个但是,事实上,针对同一种类型的垃圾信息拦截,可能有很多种规则。规则策略,就暴露了几个问题:
规则,只能来解决一类问题,作用其实很有限。
规则,很容易被黑产绕过,会经常失效。开发同学需要花时间和精力,来观察badcase更新迭代规则。
规则过多,管理起来就会非常麻烦。很多规则的拦截界限,变得非常不明显。
2.2.3 模型策略
模型,相比规则,它的泛化能力就变得非常强大了。以前的规则策略,都是针对某个类别下的子类,进行针对性拦截。比如,广告类型下面,可能有十几个规则。但是,对于模型来说,通常只需要1-2个就可以了。
模型策略的好处,毋庸置疑。强大的识别能力,无需运营接入(甚至运营不需要过多的反馈badcase)。你喂什么语料进来,它就能识别什么样的内容。
依然有但是,模型虽好,也有缺点:
(1)高度依赖于语料标注质量的好坏
模型算法本身不重要,重要的是语料标注质量。而语料标注,又是一个繁琐的过程。可能需要组建标注团队,搭建标注系统,制定可执行的标注标准,培训标注人员,评估标注质量。是一个很花时间和精力的事情。
(2)通用性存疑
在识别微博广告中优秀的模型,可能在识别直播广告时,效果非常差,差到没法用。这个时候,可能需要针对直播,再训练一个模型。
2.2.4 风控策略
上面的三种策略,都是针对内容本身进行识别,正常情况下,可能识别80%的垃圾内容。达到一定程度的时候,就很难再往上提升。
这个时候,就需要从用户行为来进行识别,需要风控策略的接入。针对风控策略,主要有以下几种:
高危账号的识别。没什么好说的,这是纯风控的操作。是非常有必要的操作。
发帖频率控制。需要从时间周期、内容相似度、业务类型几个方面来考虑。
黑名单控制。反垃圾系统,通常都有一个针对账号、手机号、设备ID、ip地址等维度的名单list。这个是需要花时间去积累的,可以是人工搜集、风控判断、数据交换得到的。
用户属性信息辅助。比如,用户是否是vip会员(我们认为会员是黑产的概率较小,需要进行数据分析后得出),用户角色、账号注册时间等,来结合上述三种策略来进行判断。
3. 反垃圾系统的评估
如何评判一个反垃圾系统的好坏。我认为有以下几个指标:
准确率:这是最基础的指标。业内反垃圾系统的准确率,普遍在96 – 99%之间。
召回率:用来评判可以找到多少垃圾信息,也是非常关键的一个指标,根据经验,这个指标通常在30 – 80%之间。不同的业务,召回数量差别会比较大。
unknown占比:这个指标是用来评估,反垃圾系统的不确定性。如果存在过多的unknown文本,可能会对人工审核造成比较大的压力。这个指标,通常在10%以下为佳,理论上是越低越好。有些业务,对实时性要求比较高的业务,通常没有unknown,也就不需要评估这个指标,比如直播场景下。
报警次数:这里的报警,主要是业务运营反馈的被黑产攻击的次数,需要人工来记录。越是优秀的业务,被黑产利用的价值就越高,因此被攻击的次数,可能也就越多。
这是整体上,需要观察的指标。实际工作中,我们需要分策略来进行具体观察。比如,需要了解广告模型的准确率怎么样,召回率如何。
三、反垃圾的难点
反垃圾难点,在前文【目前市面上反垃圾产品现状】部分中,聊过一些。下面再继续谈谈:
3.1 来自于黑产
黑产,是一波隐藏在暗处,通过非法手段进行攻击各公司的产品或服务,来谋取利益的团体。在反垃圾中,他们通常是在各大社区,发布广告(这里以色情广告居多)。他们通常有:
丰富的资源池。可以是账号、手机号、ip代理等。
多样的攻击手段。有些黑产,可能是通过电脑脚本,来模拟用户,发布垃圾信息;还有些黑产,是通过群控真机。此外,还会有各种辅助工具,像云控、汉字变体等。
与时俱进的意识。现在很多黑产,也在进行深度学习等技术,来进行黑产攻击。
与黑产的斗争,本身就是不平等的一场攻防战。我在明,敌在暗,我们上什么策略,进行任何操作,黑产很容易猜出来,试出来。而且,互联网本身是一个交流频繁的行业,会有很多的技术沙龙、研讨会。每个公司、第三方公司,都会时不时的举办风控、安全、反垃圾的行业交流会,这无疑也是给黑产提供了一个了解防守方策略的好机会。但是,我们从来没有听说过黑产会举办这些沙龙,甚至在网上都很难搜到相关黑产的内容。
这就使得反黑工作,非常艰难。
笔者在工作中,曾经观察过一些黑产的行为。比较有趣的是,有一些黑产,每天早上9点开始攻击,晚上6点停止攻击,非常像职业的工作人员,按时打卡上班。
3.2 来自于公司
如前文所述,反垃圾系统的搭建,需要很多的人力投入,成本非常高。我们按照团队的最低配置,2个算法工程师,5个标注人员,其他岗位假设跟其他团队共享,可以算下人力成本。2个算法工程,如果1个是应届生,1个是3年工作经验的员工,那么按照市场价工资(不算企业社保等支出),每年至少需要80万;5个标注人员25万,加起来至少需要100万,还没有算审核系统搭建、人工审核、反垃圾系统的前后端开发。小公司,是难以承受的。
更为重要的是,反垃圾本身,并不产生业务价值,并不能直接给公司带来收入。如果部门领导、公司领导,了解相关领域的话,那可能对于反垃圾从业者或者反垃圾业务来说,会稍微好一些;但是这个领域,毕竟是一个比较窄的领域,上级领导可能大部分都不清楚这块业务情况,相关从业者可能就会比较惨,做的好可能没法升职加薪。一旦出事了,还需要背锅。相关团队资源,也就会向其他业务倾斜。
四、扩展
《反垃圾江湖风云纪事》:这篇文章,是笔者在公司与相关算法同学协作产出的一篇对外文章,在技术方面会有比较多的讲述,可以参考https://mp.weixin.qq.com/s/VWxZ217_QL2vRpjdnVFocQ