当前位置: 首页 > 网络应用技术

Python实现了敏感单词的4个解决方案(带有代码的示例)

时间:2023-03-06 16:29:17 网络应用技术

  在我们的生活中,通常不应该出现敏感的词。我们通常使用*阻止它,例如:nima-> **,一些责骂敏感的单词和某些政治敏感的单词不应出现,不应出现在某些公共场所中,目前我们需要某种方法来阻止这些敏感词。让我介绍一些敏感单词的简单版本。

  (我试图在图片的形式中宣誓单词,否则文章无法发表)

  替换是最简单的字符串更换。当字符串可能出现敏感的单词时,我们可以使用相应的替换方法将敏感单词替换为*。

  缺点:

  当文本和敏感的单词较小时,有很多次时会有更高的效率。

  如果是多个敏感的单词,您可以使用列表来一个替换

  正则表达式是一种很好的匹配方法。在每日查询中,机会将使用正则表达式,包括我们的爬行者,他们经常使用正则表达式。在这里,我们主要使用“ |”匹配,“ |”表示从多个目标字符串中选择一个以匹配。编写一个简单的示例:

  DFA算法(即确定性有限自动机算法)转化为中文,以确定有一个差的自动机器算法。基本思想是基于状态转移来检索敏感词。它只需要扫描文本一次即可检测到所有敏感单词。(实现代码注释)

  AC自动机器需要具有前面知识:Trie Tree(简短简介:也称为前面的树,字典树,是一个用于快速处理字符串的问题,可以快速在某些字符串上找到一些信息。

  详细参考:https://www.luogu.com.cn/blog/juruohfhaha/trie-xue-xue-xi-zong-jie-jie

  AC自动机器将根据轮胎树添加失败指针。如果当前点匹配失败,则指针将转移到失败指导的位置。

  我不能在这里重复此操作以获得详细的匹配机制。有关交流自动机器,请参阅本文:https://www.jb51.net/article/128711.htmm

  Python可以使用Ahocoraaack模块快速实施:

  当然,我们还可以编写AC自动机器,以供特定参考:

  以上是使用Python实现敏感单词的四个解决方案。前两种方法相对简单。后两个偏差算法需要首先了解。您需要了解该算法的具体实现。之后,可以理解代码。(DFA是一种常用的过滤方法,建议您掌握它?)

  最终附加了敏感短语:https://github.com/qloog/sensive_words

  以上是Python的4种实现敏感单词的方法的详细内容。有关Python敏感单词过滤器的更多信息,请注意CTO主要注释中的其他相关文章!