-
java sensitive-word 敏感词之 DFA 双数组实现源码学习
开源地址
为了便于大家学习,项目开源地址如下,欢迎 fork+star 鼓励一下老马~
sensitive-word
双数组实现原理
双数组Tire树是Tire树的升级版,Tire取自英文Retrieval中的一部分,即检索树,又称作字典树或者键树。
下面简单介绍一下Tire树。
1.1 Tire树
Trie是一种高效的索引方法,它实际上是一种确定有限自动机(DFA),...
2020-01-07 02:09:32 |
Java
-
An Efficient Implementation of Trie Structures 双数组实现 Trie 论文翻译
summary
提出了一种新的内部数组结构,称为双数组,实现了 trie 结构。
双数组结合了矩阵形式的快速访问和列表形式的紧凑性。
通过实例介绍检索、插入和删除的算法。
虽然插入比较慢,但还是很实用的,删除和检索的时间都比列表形式有所提升。
通过与各种大key集合列表的比较,双数组的大小可以比列表小17%左右,双数组的检索速度可以从 比列表快3·1到5·1倍。
介绍
在很多信...
2020-01-07 02:09:32 |
Java
-
java sensitive-word 敏感词之字典瘦身
开源地址
为了便于大家学习,项目开源地址如下,欢迎 fork+star 鼓励一下老马~
sensitive-word
背景
默认收集的敏感词字典,实际上有非常多的重复信息。
比如说:
兼职
兼!职
兼@职
兼#职
兼¥职
这种最核心的内容其实只有一个,如果将全部的停止词进行穷尽的话,将会使得敏感词构建的 Map 变得非常大,而且也没办法穷尽。
这种全部存储的方式非常...
2020-01-07 02:09:32 |
Java
-
sensitive-word 敏感词之 StopWord 停止词优化与特殊符号
开源地址
为了便于大家学习,项目开源地址如下,欢迎 fork+star 鼓励一下老马~
sensitive-word
背景
默认收集的敏感词字典,实际上有非常多的重复信息。
比如说:
兼职
兼!职
兼@职
兼#职
兼¥职
这种最核心的内容其实只有一个,如果将全部的停止词进行穷尽的话,将会使得敏感词构建的 Map 变得非常大,而且也没办法穷尽。
这种全部存储的方式非常...
2020-01-07 02:09:32 |
Java
-
sensitive-word java 如何实现一个敏感词工具?违禁词实现思路梳理
开源地址
为了便于大家学习,项目开源地址如下,欢迎 fork+star 鼓励一下老马~
sensitive-word
敏感词
我们只要是涉及到用户可以自由发表言论的网站,或者说收集对应的信息。
都会涉及到用户的输入词敏感问题。
敏感类别
类似于直接给敏感词打一个标签。(label)
内容安全
内容暴露个人信息。
身份证,密码,手机号。银行卡号。
用户名,...
2020-01-07 02:09:32 |
Java
-
各大平台连敏感词库都没有的吗?sensitive-word java 开源敏感词工具入门使用
拓展阅读
01-开源敏感词工具入门使用
02-如何实现一个敏感词工具?违禁词实现思路梳理
03-敏感词之 StopWord 停止词优化与特殊符号
04-敏感词之字典瘦身
05-敏感词之 DFA 算法(Trie Tree 算法)详解
06-敏感词(脏词) 如何忽略无意义的字符?达到更好的过滤效果
v0.10.0-脏词分类标签初步支持
v0.11.0-敏感词新特性:忽略无意义的字...
2020-01-07 02:09:32 |
Java
-
Regex 正则表达式原理-03-NFA 转 DFA
绕不过去的坎
原来尝试学习写 Regex,写了一半都来放弃了。
最近在看《编译原理》,发现书中提到了正则表达式。
最近在刷 leetcode,刚好到 regular-expression-matching。
可见困难是必须要面对的。
本篇文章转载自 CSDN,感觉写的很好,此处仅作为记录。
为什么需要 NFA 转 DFA
Regex 正则表达式原理及如何从零实现 中我们已经构建...
2020-01-07 02:09:32 |
Java
-
Regex 正则表达式原理及如何从零实现
有限状态机
有限状态机(Finite-state machine),也被称为有限状态自动机(finite-state automation),是表示有限个状态以及在这些状态之间的转移和动作等行为的数学计算模型(From 维基百科 状态机) 。
听起来晦涩难懂,我用大白话描述一遍,状态机其实就是用图把状态和状态之间的关系描述出来,状态机中的一个状态可以在某些给定条件下变成另外一种状态。
...
2020-01-07 02:09:32 |
Java