发布时间:2024 年 11 月 13 日
仇恨言论、骚扰和在线辱骂已成为普遍存在的在线问题。有害评论让重要的声音沉默,并驱赶用户和客户。不良信息检测可以保护您的用户,并创建更安全的在线环境。
在这个分为两部分的系列文章中,我们将探讨如何使用 AI 在源头(用户的键盘)检测和缓解不良信息。
在第一部分中,我们将讨论这种方法的使用场景和优势。
在第二部分中,我们将分享实施方案,包括代码示例和用户体验技巧。
为什么要执行客户端不良信息检测

优势
客户端不良信息检测是有效的首道防线,也是对服务器端检查的绝佳补充。客户端不良信息检测具有多重优势
- 尽早检测不良信息。通过客户端检查,您可以在源头捕获不良信息,而无需接触服务器。
- 启用实时检查。利用客户端速度构建低延迟应用程序,并向用户提供即时反馈。
- 减少或优化服务器端工作负载。减少服务器端工作负载和不良信息检测成本:首先,因为您面向用户的提示可能有助于减少不良评论的数量,其次,因为在某些评论到达服务器之前将其标记为可能有害,有助于您在服务器端检查中优先处理这些评论。
- 减轻人工负担。减轻人工审核员的负担。
使用场景
以下是构建客户端不良信息检测的几个可能原因
- 评论系统中的即时检测。向起草不良评论的用户提供即时反馈,鼓励他们在发布前重新措辞。借助客户端 AI,您无需 API 密钥,无需运行时服务器端分类成本,且延迟低,即可实现此目的。这对于聊天应用来说可能非常理想。
- 实时聊天中的实时审核。快速识别并标记用户的不良信息,以便审核员立即介入。
保留服务器端检查
虽然客户端不良信息检测速度很快,但精通前端的恶意用户可能会禁用它。此外,没有任何不良信息检测系统是 100% 准确的。
由于这些原因,我们强烈建议您仍然实施或保留使用服务器的额外审核,而不是仅依赖客户端不良信息检测。例如,使用 Perspective API,通过异步服务器端审核来补充您的实时客户端检查。对于全面的方法,您可以将这些方法与人工审核相结合。
注意事项
客户端不良信息检测需要将分类模型下载到您的网页中,通常还需要客户端 AI 库。
考虑其影响
- 模型托管和投放成本。模型可能很大。
- 性能和用户体验。库和模型会增加您的捆绑包大小。
在决定这是否适合您的使用场景之前,请考虑其优势。应用客户端 AI 的性能最佳实践并缓存模型,以便下载只是一次性成本。
内容不良信息分类的工作原理
在我们查看完整实施方案之前,先了解一下不良信息检测的要点。
不良信息检测模型分析现有文本,而不是生成新内容(生成式 AI)。这是一项经典的 NLP(自然语言处理)任务。

不良信息检测依赖于文本分类器,这些分类器将文本分类为可能有害或无害。不良信息分类器将文本作为输入,并为其分配各种不良信息标签以及分数。分数范围为 0 到 1。分数越高,表示输入更有可能是有害信息。
不良信息检测依赖于文本分类器,这些分类器将文本分类为可能有害或无害。
以 Xenova/toxic-bert 模型为例,这是 unitary/toxic-bert 的 Web 兼容版本。它提供六个标签
toxic
severe_toxic
insult
obscene
identity_hate
threat
诸如 toxic
和 severe_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 不良信息检测系统。