字典树Trie--实现敏感词过滤】的更多相关文章

序言 Trie树 资料 https://blog.csdn.net/m0_37907797/article/details/103272967?utm_source=apphttps://blog.csdn.net/m0_37907797/article/details/103272967?utm_source=app…
目录 背景 简介 存储结构 PHP 其他语言 字符串分割 示例代码 php 优化 缓存字典树 常驻服务 参考文章 背景 项目中需要过滤用户发送的聊天文本, 由于敏感词有将近2W条, 如果用 str_replace 来处理会炸掉的. 网上了解了一下, 在性能要求不高的情况下, 可以自行构造 Trie树(字典树), 这就是本文的由来. 简介 Trie树是一种搜索树, 也叫字典树.单词查找树. DFA可以理解为DFA(Deterministic Finite Automaton), 即 这里借用一张图…
前几天写好了字典,又刚好重温了KMP算法,恰逢遇到朋友吐槽最近被和谐的词越来越多了,于是突发奇想,想要自己实现一下敏感词屏蔽. 基本敏感词的屏蔽说起来很简单,只要把字符串中的敏感词替换成"***"就可以了.对于子串的查找,就KMP算法就可以了.但是敏感词这么多,总不能一个一个地遍历看看里面有没有相应的词吧! 于是我想到了前几天写的字典树.如果把它改造一下,并KMP算法结合,似乎可以节约不少时间. 首先说明一下思路: 对于KMP算法,这里不过多阐述.对于敏感词库,如果把它存进字典树,并在…
前几天写好了字典,又刚好重温了KMP算法,恰逢遇到朋友吐槽最近被和谐的词越来越多了,于是突发奇想,想要自己实现一下敏感词屏蔽. 基本敏感词的屏蔽说起来很简单,只要把字符串中的敏感词替换成“***”就可以了.对于子串的查找,就KMP算法就可以了.但是敏感词这么多,总不能一个一个地遍历看看里面有没有相应的词吧! 于是我想到了前几天写的字典树.如果把它改造一下,并KMP算法结合,似乎可以节约不少时间. 首先说明一下思路: 对于KMP算法,这里不过多阐述.对于敏感词库,如果把它存进字典树,并在每个节点存…
原文地址:http://blog.11034.org/2012-07/trie_in_php.html 项目需求,要做敏感词过滤,对于敏感词本身就是一个CRUD的模块很简单,比较麻烦的就是对各种输入的敏感词检测了.用Trie树来实现是比较通用的一种办法吧,之前一直没机会用过这种数据结构,正好试着写了一下. 因为用PHP实现,关联数组用的很舒服.第一个要解决的是字符集的问题,如果在Java中就比较好办统一的Unicode,在PHP中因为常用 UTF-8字符集,默认有1-4个字节不同的长度来表示一个…
原文地址:http://blog.11034.org/2012-07/trie_in_php.html 项目需求,要做敏感词过滤,对于敏感词本身就是一个CRUD的模块很简单,比较麻烦的就是对各种输入的敏感词检测了.用Trie树来实现是比较通用的一种办法吧,之前一直没机会用过这种数据结构,正好试着写了一下. 因为用PHP实现,关联数组用的很舒服.第一个要解决的是字符集的问题,如果在Java中就比较好办统一的Unicode,在PHP中因为常用 UTF-8字符集,默认有1-4个字节不同的长度来表示一个…
今天的项目是与完成python开展,需要使用做关键词检查,筛选分类,使用前c语言做这种事情.有了线索,非常高效,内存小了,检查快. 到达python在,第一个想法是pip基于外观的c语言python特里模块.不幸的是,我们没有找到一个合适的,假设我会用c书写python模块的话.就自己写一个了,可惜我还不具备这个能力. 仅仅能用python写了,性能差一点就差点吧,内存多一点也无所谓了. 用搜索引擎看CSDN上的网友的用python实现的DFA,再參照自己曾经用c语言写过的字典树.有些不大对,就…
周末空余时间撸了一个敏感词过滤功能,下边记录下实现过程. 敏感词,一方面是你懂的,另一方面是我们自己可能也要过滤一些人身攻击或者广告信息等,具体词库可以google下,有很多. 过滤敏感词,使用简单的循环str_replace是性能很低效的,还会随着词库的增加,性能指数下降,而且简单的替换,不能解决一些不是完全匹配的词.这时候就需要先构建一个字典树(trie),单纯的字典树占用空间较大,使用Double-Array Trie或者Ternary Search Tree可以在保证性能的同时节省一部分…
转自:http://www.infoq.com/cn/articles/alibaba-broadcast-platform-technology-challenges 鏖战双十一-阿里直播平台面临的技术挑战 作者 陈康贤 发布于 2016年1月28日 | 2 讨论 分享到:微博微信FacebookTwitter有道云笔记邮件分享 稍后阅读 我的阅读清单   前言:一直以来双十一都是以交易为重心,今年当然也是如此,但是这并不妨碍万能的淘宝将双十一打造的让用户更欢乐.体验更丰富.玩法更多样.内容更…
PHP实现敏感词过滤系统 安装说明 安装PHP扩展 trie_filter,安装教程 http://blog.41ms.com/post/39.html 安装PHP扩展 swoole,安装教程 http://www.swoole.com/ 代码说明 1.敏感词库维护更新脚本: reload_dict.php,提供自动更新字典库到trie-tree文件的过程 PHP <?php // 设置内存 ini_set('memory_limit', '128M'); // 读取敏感词字典库 $handle…