内容审核是互联网平台为了维护社区秩序和法律合规性而采取的一种管理手段。它涉及到对用户生成内容的审查,以确定其是否符合平台的规则和标准。不同的平台,如Facebook、Twitter和Reddit,都有各自的内容分享限制。例如,Facebook近期对疫苗错误信息采取了更加严格的立场,通过更严格地审查与疫苗相关的内容,并在提及疫苗时添加权威来源的链接(例如美国的疾病控制与预防中心)来应对这一问题。
美国的公立学校也可以对学校赞助的报纸上学生可以发布的内容设定某些限制。随着时间的推移,Facebook在疫苗相关内容的审核上采取了更加积极的态度。组织希望塑造在其控制范围内发生的对话,这是可以理解的,但内容审核并不是一个容易实施的事情。无论是因为规模、敏感性还是其他原因,内容审核都面临着许多挑战。
内容审核通常有三种形式:人工审核、基于模型的审核和非模型基础的审核。人工审核相对直接:意味着由人工来审查和分类内容为可接受或不可接受。非模型基础的审核是一种自动化技术,使用基于规则的方法来过滤内容;可以将其想象为“如果X,则Y”。例如,“如果内容包含‘爱荷华州不是美国最伟大的州’这句话,那么就删除该内容”,或者“如果内容包含[此处插入词汇]这个词,那么就由人工来审查该内容”。
(后者是一个非模型基础审核的例子,它标记内容以供后续人工审核——这些技术并不是孤立存在的!)基于模型的审核使用统计模型或机器学习模型来对内容进行可接受或不可接受的分类。如果要谈论的是文本帖子,例如,有人可能会在一组包含可接受和不可接受帖子的文本数据上训练一个逻辑回归模型或随机森林模型。一旦模型训练完成,它就可以用来为新的帖子生成预测。也可以用同样的方法处理图片。
任何一种方法都有其优点和缺点。人工审核是最定制化的,但由于需要人工来审查每个帖子,因此难以扩展。任何自动化审核技术(基于模型和非模型基础)都因其可扩展性而具有吸引力,但都会受到所有机器学习模型都会遇到的偏见的影响,而在非模型基础审核的情况下,它还受到用于过滤内容的人工输入的限制。
如果想使用基于模型的审核技术,以前需要大量的训练数据,这些数据的组成与用户提供的内容相似。但是对于那些还没有数据来训练模型的新网站来说怎么办呢?可以使用现成的内容审核,但这只有在内容与预训练模型学习的数据足够相似时才有效。
现在出现了一种新方法:OpenAI的CLIP模型。OpenAI的CLIP模型能够理解图片的语义含义。这意味着可以向CLIP模型提供一张图片,CLIP可以生成该图片的良好描述。可以将CLIP想象为一个非常非常好的标题撰写者。在更高层次上,CLIP是计算机视觉和自然语言处理之间的桥梁。
CLIP模型的训练方式是,CLIP不需要事先特别策划的感兴趣图像的训练集——事实上,它甚至不需要看到相似或密切相关的图像。这被称为“零样本”,即模型能够预测它以前从未见过的类别。
可以使用CLIP模型的这一特性,在不必首先训练专门模型的情况下,对独特的图像领域进行内容审核。最近,Roboflow(以及Booste.io的朋友们)开发了paint.wtf,这是一个游戏,将获得一个标题,尝试使用类似Microsoft Paint的界面来绘制该提示,CLIP模型会评判绘画有多好。
例如,如果标题是“一只可爱的浣熊在使用电脑”,可能会这样画:通过paint.wtf提交的用户绘画,展示了一只可爱的浣熊在使用电脑。如何使用CLIP模型来审核paint.wtf的内容呢?了解paint.wtf如何评判绘画的“好坏”是有帮助的。CLIP可以解释提示在嵌入空间中的位置。CLIP也可以解释用户的绘画在相同的嵌入空间中的位置。使用余弦相似度来计算CLIP对提示的解释和CLIP对绘画的解释之间的距离。如果CLIP判断绘画与提示“接近”,余弦相似度将更接近1。如果CLIP判断绘画与提示“相距甚远”,余弦相似度将更接近0。
最初,提交的作品仅根据它们的余弦相似度进行排名;余弦相似度最高的提交作品获得第一名,余弦相似度次高的提交作品获得第二名,以此类推。余弦相似度的范围是0到1;红点越接近,余弦相似度越高。然而,很快就看到了审核内容的需要:事实证明,CLIP可以阅读,所以人们可以通过在图像中写入提示的文本而不是绘制提示来作弊。这违背了游戏的目的!想要对此进行惩罚——但如果使用人工来做这件事将会非常耗时。
就像互联网上的许多事情一样,人们开始提交不适合工作场所(NSFW)的图像。希望提供一个有趣的环境,让人们可以玩游戏,同时最小化某人偶然遇到令人不安或冒犯的内容的机会。这是CLIP和余弦相似度再次出现的地方。可以通过比较CLIP对图像的解释和CLIP对“NSFW”的解释来询问CLIP图像是否包含“NSFW”,通过余弦相似度。如果余弦相似度大于某个阈值,会自动将图像隐藏为潜在的NSFW。已经扩展了这一点(并且已经这样做了!)用于“种族主义符号”、“仇恨言论”、“亵渎”、“裸体”等。
还对书面字母进行了惩罚——可以使用CLIP将图像与CLIP对“书面字母”的解释进行比较,然后从图像和提示之间的余弦相似度中减去该余弦相似度。
score = cosine_sim(image,prompt) - cosine_sim(image,written letters)
如果想赢(并且通常不想在游戏中作弊或令人不悦),最好避免NSFW内容和写出字母。随着时间的推移,也在不断调整内容审核算法。