1.一种敏感词检测方法,其特征在于,包括:
从预设的敏感词服务器中获取敏感词库;
构建所述敏感词库对应的谐音词库;
分别根据所述敏感词库以及所述谐音词库构建敏感词索引器以及谐音词索引器;
若接收到待测文本,通过所述敏感词索引器对所述待测文本进行过滤以得到第一敏感词集合;
去除所述待测文本中的非中文字符以得到去冗余文本,并通过所述敏感词索引器对所述去冗余文本进行过滤以得到第二敏感词集合;
通过所述谐音词索引器对所述待测文本进行过滤以得到第三敏感词集合;
通过所述谐音词索引器对所述去冗余文本进行过滤以得到第四敏感词集合;
将所述第一敏感词集合、第二敏感词集合、第三敏感词集合以及第四敏感词集合去重并合并以得到总敏感词集合。
2.根据权利要求1所述的敏感词检测方法,其特征在于,所述构建所述敏感词库对应的谐音词库,包括:
获取所述敏感词库的敏感词的拼音;
将所述敏感词库的敏感词的拼音作为谐音敏感词,并将所述谐音敏感词存入到预设的空白数据库中以得到所述谐音词库。
3.根据权利要求1所述的敏感词检测方法,其特征在于,所述分别根据所述敏感词库以及所述谐音词库构建敏感词索引器以及谐音词索引器,包括:
使用双数组tire树构建所述敏感词库对应的敏感词索引器;
使用双数组tire树构建所述谐音词库对应的谐音词索引器。
4.根据权利要求1所述的敏感词检测方法,其特征在于,所述通过所述谐音词索引器对所述待测文本进行过滤以得到第三敏感词集合,包括:
将所述待测文本中的中文转换为拼音以得到待测谐音文本;
通过所述谐音词索引器对所述待测谐音文本进行过滤以得到第一谐音敏感词集合;
获取所述待测文本中与所述第一谐音敏感词集合中的谐音敏感词相对应的词以得到所述第三敏感词集合。
5.根据权利要求1所述的敏感词检测方法,其特征在于,所述通过所述谐音词索引器对所述去冗余文本进行过滤以得到第四敏感词集合,包括:
将所述去冗余文本中的中文转换为拼音以得到去冗余谐音文本;
通过所述谐音词索引器对所述去冗余谐音文本进行过滤以得到第二谐音敏感词集合;
获取所述去冗余文本中与所述第二谐音敏感词集合中的谐音敏感词相对应的词以得到所述第四敏感词集合。
6.根据权利要求1所述的敏感词检测方法,其特征在于,所述从预设的敏感词服务器中获取敏感词库,包括:
若接收到所述敏感词服务器发送的敏感词库更新提醒消息,从所述敏感词库更新提醒消息中获取更新后的敏感词库的下载地址,所述敏感词库更新提醒消息包含所述下载地址;
从所述下载地址下载更新后的敏感词库。
7.一种敏感词检测装置,其特征在于,包括:
第一获取单元,用于从预设的敏感词服务器中获取敏感词库;
第一构建单元,用于构建所述敏感词库对应的谐音词库;
第二构建单元,用于分别根据所述敏感词库以及所述谐音词库构建敏感词索引器以及谐音词索引器;
第一过滤单元,用于若接收到待测文本,通过所述敏感词索引器对所述待测文本进行过滤以得到第一敏感词集合;
第二过滤单元,用于去除所述待测文本中的非中文字符以得到去冗余文本,并通过所述敏感词索引器对所述去冗余文本进行过滤以得到第二敏感词集合;
第三过滤单元,用于通过所述谐音词索引器对所述待测文本进行过滤以得到第三敏感词集合;
第四过滤单元,用于通过所述谐音词索引器对所述去冗余文本进行过滤以得到第四敏感词集合;
合并单元,用于将所述第一敏感词集合、第二敏感词集合、第三敏感词集合以及第四敏感词集合去重并合并以得到总敏感词集合。
8.根据权利要求7所述的敏感词检测装置,其特征在于,所述第一构建单元包括:
第二获取单元,用于获取所述敏感词库的敏感词的拼音;
储存单元,用于将所述敏感词库的敏感词的拼音作为谐音敏感词,并将所述谐音敏感词存入到预设的空白数据库中以得到所述谐音词库。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-6中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现如权利要求1-6中任一项所述的方法。
邮件营销一直是网络营销一个重要的方式,也很受很多站长青睐。任何有邮箱的人都避不开这些邮件群发。很多人都说邮件营销效果很差,今天打开了自己的邮箱,发现很多邮件根本不堪入目,连最基本的阅读都造成困难,谁还去看你的邮件呢?
用这个方法主要是为了避开反垃圾邮件系统,避免进入垃圾箱。但是,这样确实会造成阅读困难或者直接一眼就觉得是垃圾邮件。与其用拼音代替,不如直接用常见的标点符号吧敏感词隔开,或者直接使用同义词、形容词来描绘更好。
有群发过邮件的人都知道重复发布同样标题的邮件是非常容易进入垃圾箱的。于是现在很多的邮件都有随机字符的功能,有些人为了省事,都直接用多个变量生成毫无意义的长标题。这样做根本就是毫无意义,打开率肯定不到万分之一。何不利用好变量再添加相应的词语,变成一个可以阅读又不重复的标题。这样发一百个都顶的上你发一万个了。
这是邮件群发的一些细节设置。但是这些设置却是非常影响整个邮件形象的东西。假如我看到一篇邮件是同时发给多个人的,基本上我都会直接删掉,群发也不要群发得这么明显吧。这个设置可以在收件人那栏设置好“添加密送”就行了。
这个我就无话可说了。网页一般都有两种编码,GBK和UTF,做网站的人应该都清楚这一点。就算不清楚,无论如何,在群发的时候,要先发送一篇到自己的邮箱试试是什么样子再进行群发,这是最基本的测试。连这一步都不做,我不知道发这个邮件的人是以怎样的心态去做事的。
现在的反垃圾邮件系统非常强大,有很多的字符发送太多都会直接进入垃圾箱,比如“免费”之类的都是比较敏感度词汇。所以有些人为了省事,不去测试怎样的邮件成功率会比较高,直接把东西都放在了附件,发了一篇空白的邮件,心想着收件人去下载附件去看。这更是不可能的,现在的人防御心都逐渐增加了,朋友发个附件,都会问清楚是什么东西才会下载,生怕有病毒,更别说是一个陌生人发的。
从上面总的来看,大多数都是做事的认真程度的问题,真正能成功的邮件营销都是测试了很多次才会成功的,不是以一种随便发发的心态发发就能成功的,不要把时间都花在了收集邮箱的数量上,首先要做好邮件本身的质量,提高转化率才是成功的捷径。本文由发布,转载请注明。
申请创业报道,分享创业好点子。,共同探讨创业新机遇!
项目中需要对敏感词做一个过滤,首先有几个方案可以选择:
首先,项目收集到的敏感词有几千条,使用a方案肯定不行。其次,为了方便以后的扩展性尽量减少对数据库的依赖,所以放弃b方案。然后Lucene本身作为本地索引,敏感词增加后需要触发更新索引,并且这里本着轻量原则不想引入更多的库,所以放弃c方案。于是我们选定d方案为研究目标。
DFA全称为:Deterministic Finite Automaton,即确定有穷自动机。其特征为:有一个有限状态集合和一些从一个状态通向另一个状态的边,每条边上标记有一个符号,其中一个状态是初态,某些状态是终态。但不同于不确定的有限自动机,DFA中不会有从同一状态出发的两条边标志有相同的符号。
简单点说就是,它是是通过event和当前的state得到下一个state,即event+state=nextstate。理解为系统中有多个节点,通过传递进入的event,来确定走哪个路由至另一个节点,而节点是有限的。
以王八蛋和王八羔子两个敏感词来进行描述,首先构建敏感词库,该词库名称为SensitiveMap,这两个词的二叉树构造为:
以上面例子构造出来的SensitiveMap为敏感词库进行示意,假设这里输入的关键字为:王八不好,流程图如下:
对于“王*八&&蛋”这样的词,中间填充了无意义的字符来混淆,在我们做敏感词搜索时,同样应该做一个无意义词的过滤,当循环到这类无意义的字符时进行跳过,避免干扰。
两种解决思路:一种是最简单是遇到这类问题,先丰富敏感词库进行快速解决。第二种是判断时将敏感词转换为拼音进行对比判断。
不过目前这两种方案均不能彻底很好的解决该问题,此类问题还需进一步研究。
到此这篇关于Java DFA算法案例详解的文章就介绍到这了,更多相关Java DFA算法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。