gpt4 book ai didi

php - 你如何实现一个好的脏话过滤器?

转载 作者:可可西里 更新时间:2023-10-31 23:49:57 27 4
gpt4 key购买 nike

我们中的许多人都需要处理用户输入、搜索查询以及输入文本可能包含亵渎或不良语言的情况。这通常需要过滤掉。

在哪里可以找到各种语言和方言的脏话 list ?

是否有 API 可用于包含良好列表的来源?或者可能是一个带有一些参数的简单说“是的,这是干净的”或“不,这是脏的”的 API?

有哪些好方法可以捕捉试图欺骗系统的人,例如 a$$、azz 或 a55?

如果您提供 PHP 解决方案,则可加分。 :)

编辑:对简单地避免编程问题的答案的回应:

我认为当用户可以使用公共(public)图片搜索来查找添加到敏感社区池中的图片时,这种过滤器会有用武之地。如果他们可以搜索“阴茎”,那么他们可能会得到很多照片,是的。如果我们不想要那个的图片,那么阻止这个词作为搜索词是一个很好的守门人,尽管这不是一个万无一失的方法。首先获取单词列表才是真正的问题。

所以我实际上指的是一种方法来判断单个 token 是否脏,然后简单地禁止它。我不会费心阻止像完全搞笑的“长颈长颈鹿”引用这样的情绪。在那里你无能为力。 :)

最佳答案

Obscenity Filters: Bad Idea, or Incredibly Intercoursing Bad Idea?

还有,不能忘记The Untold History of Toontown's SpeedChat ,其中甚至使用“安全词白名单”导致 14 岁的人迅速绕过它:“我想把我的长颈长颈鹿粘在你毛茸茸的白色兔子身上。”

底线:归根结底,对于您实现的任何系统,人工审核(无论是同行还是其他方式)绝对无法替代。随意实现基本工具来摆脱偷渡客,但对于坚定的巨魔,您绝对必须采用非基于算法的方法。

消除匿名并引入问责制的系统(Stack Overflow 做得很好)也很有帮助,特别是为了帮助打击 John Gabriel's G.I.F.T.

您还询问了从哪里可以获得亵渎列表以帮助您入门——一个开源项目是 Dansguardian。 -- 查看其默认亵渎列表的源代码。还有一个额外的第三方Phrase List您可以下载代理,这对您来说可能是一个有用的收集点。

针对问题编辑进行编辑:感谢您澄清您正在尝试做什么。在这种情况下,如果您只是想做一个简单的单词过滤器,有两种方法可以做到。一种方法是创建一个包含所有要审查的禁用短语的长正则表达式,然后仅用它进行正则表达式查找/替换。像这样的正则表达式:

$filterRegex = "(boogers|snot|poop|shucks|argh)"

并使用 preg_match() 在您的输入字符串上运行它进行批发测试,

preg_replace()将它们清空。

您还可以使用数组而不是单个长正则表达式加载这些函数,对于长单词列表,它可能更易于管理。查看preg_replace()有关如何灵活使用数组的一些很好的例子。

有关其他 PHP 编程示例,请参阅此页面以获取 somewhat advanced generic class用于从被审查的单词中过滤出中心字母的单词过滤,以及这个 previous Stack Overflow question还有一个 PHP 示例(其中主要有值(value)的部分是基于 SQL 的过滤词方法——如果您觉得不需要,可以省略 leet-speak 补偿器)。

您还添加了:“首先获取单词列表才是真正的问题。”——除了之前的一些 Dansgaurdian 链接之外,您可能会发现 this handy .zip 458 个单词是有帮助的。

关于php - 你如何实现一个好的脏话过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8483663/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com