扰扰博客

敏感词过滤

敏感词过滤功能在很多地方都会用到,理论上在Web应用中,只要涉及用户输入的地方,都需要进行文本校验,如:IM消息、XSS校验、SQL注入检验、敏感词过滤等。今天着重讲讲如何优雅高效地实现敏感词过滤。敏感词过滤在IM消息、社区发帖、网站检索、短信发送等场景下是很常见的需求,尤其是在高并发场景下如何实现敏感词过滤,都对过滤算法提出了更高的性能要求,几种常见的敏感词过滤方案对比如下:
‌维度‌ 暴力循环 Trie树 AC自动机
‌时间复杂度‌ O(n×m) O(L) O(n)
‌空间占用‌ O(1) 高(GB级) 高(需失败指针)
‌适用规模‌ ≤100词 ≤10万词 ≥10万词
  • 暴力循环‌ → ‌Trie树‌:解决前缀共享问题
  • ‌Trie树‌ → ‌AC自动机‌:通过状态转移消除回溯‌,引入失败指针实现多模式并行匹配

参考文章:https://mp.weixin.qq.com/s/WlSjXgkoQ13SOnPlflJPlQ

posted @ 2025-06-06 14:39  扰扰  阅读(28)  评论(0)    收藏  举报