第 1 部分:利用客户端 AI 打击网络上的恶意评论

Maud Nalpas
Maud Nalpas

发布时间:2024 年 11 月 13 日

仇恨言论、骚扰和网络欺凌已成为网络上普遍存在的问题。恶意评论会扼杀重要声音,并赶走用户和客户。毒性内容检测功能可保护您的用户,并营造更安全的在线环境。

在本系列的第 2 部分中,我们将探讨如何使用 AI 从源头(用户的键盘)检测和减少有害内容。

在本第一部分中,我们将讨论此方法的用例和优势。

在第 2 部分中,我们将分享实现方式,包括代码示例和用户体验提示。

评论发布演示。
客户端毒性检测示例:当用户停止输入评论时,浏览器中会运行毒性分析,并实时显示警告。请参阅演示

优势

客户端毒性检测是一道实用的防线,是服务器端检查的绝佳补充。客户端毒性检测具有多种优势:

  • 尽早检测有毒内容。借助客户端检查,您可以在源头发现有毒内容,而无需接触服务器。
  • 启用实时检查。使用客户端速度构建低延迟应用,并向用户提供即时反馈。
  • 减少或优化服务器端工作负载。减少服务器端的恶意内容检测工作量和费用:首先,面向用户的提示可能会有助于减少恶意评论的数量;其次,在某些评论到达服务器之前将其标记为可能具有恶意有助于您在服务器端检查中优先处理这些评论。
  • 减轻人力负担。减轻人工审核员的负担。

使用场景

以下是构建客户端毒性检测功能的一些可能原因:

  • 在评论系统中立即检测。向起草了恶意评论的用户立即提供反馈,鼓励他们在发布之前改写消息。借助客户端 AI,您无需 API 密钥,无需支付运行时服务器端分类费用,并且延迟时间较短,即可实现此目标。这对于聊天应用来说非常理想。
  • 实时聊天中的实时管理。快速识别和举报用户发送的恶意消息,以便管理员立即进行干预。

保留服务器端检查

虽然客户端毒性检测速度很快,但精通前端的恶意用户可能会停用它。此外,没有任何毒性检测系统能做到 100% 准确。

因此,我们强烈建议您仍通过服务器实现或保留额外的审核,而不是仅依赖于客户端毒性检测。例如,您可以使用 Perspective API 将异步服务器端审核作为实时客户端检查的补充。如需采用全面的方法,您可以将这些方法与人工审核结合使用。

注意事项

若要进行客户端毒性检测,您需要将分类模型下载到网页中,通常还需要下载客户端 AI 库。

请考虑以下影响:

  • 模型托管和服务费用。模型可能较大。
  • 性能和用户体验。该库和模型会增加软件包大小。

在确定此功能是否适合您的用例之前,请考虑其优势。 应用客户端 AI 性能最佳实践缓存模型,以便下载是一次性费用。

内容毒性分类的运作方式

在我们了解完整实现之前,先来了解一下毒性检测的要点。

恶意内容检测模型会分析现有文本,而不是生成新内容(生成式 AI)。这是一个典型的 NLP(自然语言处理)任务。

自然语言处理任务。来源:HuggingFace

恶意检测依赖于文本分类器,后者会将文本分类为可能具有恶意或无害。恶意性分类器将文本作为输入,并为其分配各种恶意性标签以及评分。得分范围为 0 到 1。得分越高,输入内容就越有可能是恶意内容。

恶意检测依赖于文本分类器,后者会将文本分类为可能具有恶意或无害。

系统会对用户输入进行分类,然后进行评分。

Xenova/toxic-bert 模型为例,该模型是 unitary/toxic-bert 的 Web 兼容版本。它提供六个标签:

  • toxic
  • severe_toxic
  • insult
  • obscene
  • identity_hate
  • threat

toxicsevere_toxic 等标签表示总体毒性。

其他标签更精细。它们可识别特定类型的毒性内容,例如 identity_hate(针对个人身份 [例如种族、宗教、性别认同等] 进行欺凌或威胁)或 threat(意图造成伤害的陈述)。

不同的毒性模型采用不同的分类方法。以下是一些代表性的示例。

在此示例中,以下输入包含“hate”(仇恨)一词,并针对某个人,因此 toxicity 得分较高 (0.92)。系统未识别出具体恶意类型,因此其他得分较低。

Input: I hate you
Output of the toxicity classifier:
[
{ label: 'toxic', score: 0.9243140482902527 },
{ label: 'insult', score: 0.16187334060668945 },
{ label: 'obscene', score: 0.03452680632472038 },
{ label: 'identity_hate', score: 0.0223250575363636 },
{ label: 'threat', score: 0.16187334060668945 },
{ label: 'severe_toxic', score: 0.005651099607348442 }
]

在下例中,输入内容的整体语气充满仇恨,因此其 toxicity 得分较高 (0.92)。由于明确提及了伤害,threat 得分也较高 (0.81)。

Input: I hate your garden, and I will kill your plants
Output of the toxicity classifier:
[
{ label: 'toxic', score: 0.9243140482902527 },
{ label: 'insult', score: 0.16187334060668945 },
{ label: 'obscene', score: 0.03452680632472038 },
{ label: 'identity_hate', score: 0.0223250575363636 },
{ label: 'threat', score: 0.819197041168808937 },
{ label: 'severe_toxic', score: 0.005651099607348442 }
]

接下来播放

现在,您已经了解了背景信息,可以开始构建客户端 AI 毒性检测系统了。

阅读第 2 部分