Fetch the repository succeeded.
敏感词过滤功能可以对包含敏感词的字符串进行处理,如色情、政治、暴力、人名等特殊字符,防止发表一些不和谐的词条给业务运营带来风险。
对于敏感词过滤有不同的算法,如下为各种算法或方法的简单对比。在本实现中,采用DFA算法。
算法名称 | 算法简介 | 优缺点 |
---|---|---|
match算法 | 暴力、正则、KMP等匹配算法 | 原理简单、实现简单,但运算量大,效率差 |
TrieTree算法 | 通过公共前缀匹配 | 效率相对较高、内存开销较少,但大文本过滤效率稍低 |
AC算法 | 基于Trie树的多模式匹配算法 | 词汇量少时性能较高,大的时候性能一般 |
DFA算法 | 基于确定有穷自动机的多模式匹配算法 | 匹配性能高、适合大批量敏感词,占用内存和敏感词字段成正比 |
BoomFilter | 基于布隆过滤器实现 | 内存消耗少、性能搞,概率性遗漏 |
当前版本为一个简易版本,目前实现了两个功能:
当前版本只是为了验证基础功能,敏感词库使用开源词库,如下所示,可以自行添加更多敏感词,放入工程的resource/wordfiles文件夹下面。
当前版本没有做打包等工作,如需体验,可以通过git下载源码,并用IDE打开后,编译运行,然后在浏览器上输入如下地址,通过网页进行功能体验。
http://localhost:8080/swagger-ui.html#
该工程使用springboot搭建,并集成了swagger工具,可以通过网页端调用RESTApi
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。