系列目录:Java内存模型深度解析:基础部分Java内存模型深度解析:重排序Java内存模型深度解析:顺序一致性Java内存模型深度解析:volatileJava内存模型深度解析:锁Java内存模型深度解析:finalJava内存模型深度解析:总结并发编程模型的分类在并发编程中,我们需要处理两个关键...
分类:
编程语言 时间:
2015-01-26 11:46:11
阅读次数:
277
1.DFA算法
DFA算法的原理可以参考这里,简单来说就是通过Map构造出一颗敏感词树,树的每一条由根节点到叶子节点的路径构成一个敏感词,例如下图:
代码简单实现如下:
public class TextFilterUtil {
//日志
private static final Logger LOG = LoggerFactory.getLogger(TextFi...
分类:
编程语言 时间:
2015-01-19 14:28:36
阅读次数:
220
敏感词过滤SensitivewordFilter.javapackage aaa;import java.util.HashSet;import java.util.Iterator;import java.util.Map;import java.util.Set;import java.util...
分类:
其他好文 时间:
2015-01-07 10:33:43
阅读次数:
217
汉字转拼音 敏感词过滤 禁用词查找 这些很常用的互联网需求 大家出道时是怎么做的? 大家偷懒时是怎么做的? 常规算法 - 从数据库到用户提交内容去匹配: 把数据库中所有数据压到大数组中(这时数据越多,与数据库...
分类:
其他好文 时间:
2014-12-16 17:21:49
阅读次数:
286
单词边界断言 \b反向引用ubb替换-敏感词过滤委托理解1通过委托实现窗体回传值委托-匿名方法-lambda表达式
分类:
Web程序 时间:
2014-12-11 15:33:18
阅读次数:
155
无意中发现,正则表达式可以连续选择性匹配多个词,但要求其中的词的连接符必须是|,其他符号均看做是词中的一部分。 string content = Request.Form["content"]; string regex = "杀人|放火|...
分类:
其他好文 时间:
2014-11-20 18:27:54
阅读次数:
311
为了提高查找效率,这里将敏感词用树形结构存储,每个节点有一个map成员,其映射关系为一个string对应一个TreeNode。STL::map是按照operator 2 #include 3 //#include 4 using namespace std; 5 6 7 class Tree...
分类:
编程语言 时间:
2014-08-01 13:31:41
阅读次数:
486
现在做的项目都是用python开发,需要用做关键词检查,过滤关键词,之前用c语言做过这样的事情,用字典树,蛮高效的,内存小,检查快。
到了python上,第一想法是在pip上找一个基于c语言的python字典树模块,可惜没找到合适的,如果我会用c写python模块的话,我就自己写一个了,可惜我还不具备这个能力,
只能用python写了,性能差一点就差点吧,内存多一点也无所谓了。
用搜...
分类:
编程语言 时间:
2014-07-03 17:31:03
阅读次数:
402
敏感词、文字过滤是一个网站必不可少的功能,如何设计一个好的、高效的过滤算法是非常有必要的。前段时间我一个朋友(马上毕业,接触编程不久)要我帮他看一个文字过滤的东西,它说检索效率非常慢。我把它程序拿过来一看,整个过程如下:读取敏感词库、如果HashSet集合中,获取页面上传文字,然后进行匹配。我就想这个过程肯定是非常慢的。对于他这个没有接触的人来说我想也只能想到这个,更高级点就是正则表达式。但是非常...
分类:
编程语言 时间:
2014-05-25 21:26:01
阅读次数:
386