摘要:序本文简单介绍下敏感词或者脏词检测算法。经典算法经典的算法由三部分构成,表,表和表,共包含四种具体的算法,分别是计算三张查找表的算法以及算法本身。表是由模式集合中的所有模式构成的状态转移自动机。
序
本文简单介绍下敏感词或者脏词检测算法。
经典AC算法经典的AC算法由三部分构成,goto表,fail表和output表,共包含四种具体的算法,分别是计算三张查找表的算法以及AC算法本身。
goto表是由模式集合P中的所有模式构成的状态转移自动机。(goto表就是一棵trie树)
failure表作用是在goto表中匹配失败后状态跳转的依据,这点与KMP中next表的作用相似。(这个表是trie树没有的,加了这个表,AC自动机就看起来不像一棵树,而像一个图)
output表示输出,又称:emits,即代表到达某个状态后某个模式串匹配成功
普通DFA算法AC自动机本质上来说是一种基于trie树的kmp算法,AC算法需要三个函数来进行字符串匹配,而且这三个函数的求解都和一个确定的DFA(有限状态自动机)有关。
使用hashmap确定性有穷自动机,用于正则表达式的匹配,最长左子式匹配
public void createKeyWord(String keyWord) { Map nowMap = sensitiveWordMap; for (Character c : keyWord.toCharArray()) { Object obj = nowMap.get(c); if (obj == null) { Map使用自定义数据结构childMap = new HashMap<>(); childMap.put("isEnd", "false"); nowMap.put(c, childMap); nowMap = childMap; } else { nowMap = (Map) obj; } } nowMap.put("isEnd", "true"); }
public class WordNode { private int value; // 节点名称 private ListdocsubNodes; // 子节点 private boolean isLast;// 默认false public WordNode(int value) { this.value = value; } public WordNode(int value, boolean isLast) { this.value = value; this.isLast = isLast; } //...... }
字符串多模式匹配:AC算法
Java实现DFA算法对敏感词、广告词过滤功能
敏感词过滤的算法原理之 Aho-Corasick 算法
敏感词过滤的算法原理之DFA算法
AC自动机和Fail树
基于双数组的AC匹配算法学习
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/70247.html
摘要:人工智能技术的初步应用随着网络强国战略思想加强网络内容建设等指导思想的推出和强化,内容安全已经成为互联网企业生存和发展的生命线。 欢迎访问网易云社区,了解更多网易技术产品运营经验。 10月16日,2018年 AIIA人工智能开发者大会在苏州举办。会议邀请了国内外人工智能产业知名人物、国家政府主管部门、行业内顶尖企业、知名学者代表、开源社区优秀贡献团队及个人,共同交流了技术现状趋势、生态...
摘要:基于深度学习的语义匹配语义匹配技术,在信息检索搜索引擎中有着重要的地位,在结果召回精准排序等环节发挥着重要作用。在美团点评业务中主要起着两方面作用。 写在前面美团点评这两年在深度学习方面进行了一些探索,其中在自然语言处理领域,我们将深度学习技术应用于文本分析、语义匹配、搜索引擎的排序模型等;在计算机视觉领域,我们将其应用于文字识别、目标检测、图像分类、图像质量排序等。下面我们就以语义匹配、图...
摘要:在树中,每个节点表示一个状态,每条边表示一个字符,从根节点到叶子节点经过的边即表示一个词条。查找一个词条最多耗费的时间只受词条长度影响,因此的查找性能是很高的,跟哈希算法的性能相当。 Last-Modified: 2019年5月10日15:25:35 参考文章 c++ 使用map实现Trie树 关键词过滤扩展,用于检查一段文本中是否出现敏感词,基于Double-Array Trie...
摘要:异步事件处理本项目涉及到多种异步事件的处理。即是的粉丝,是的关注对象。模式定义优缺点推事件触发后广播给所有粉丝。具体来说,推模式就是事件触发后产生,触发事件的用户下所有粉丝的实现中都存入该的。 项目源代码已托管在 Github,欢迎 Star、Fork。 Q & A 问答社区 QA 是一个基于 B/S 架构而设计开发的社区网站。 showImg(https://segmentfault...
阅读 632·2021-11-24 09:39
阅读 3477·2019-08-30 15:53
阅读 2508·2019-08-30 15:44
阅读 3236·2019-08-30 12:54
阅读 2205·2019-08-29 12:23
阅读 3303·2019-08-26 14:05
阅读 2100·2019-08-26 13:36
阅读 3428·2019-08-26 13:33