敏感词过滤方法及装置制造方法及图纸

技术编号:13876843 阅读:44 留言:0更新日期:2016-10-22 13:19
本发明专利技术实施例公开了一种敏感词过滤方法及装置,在获得待过滤文本后,首先判断待过滤文本是否包含与敏感词字符串中字符相同的字符,如果待过滤文本中包含敏感词字符串中的字符,则表明待过滤文本可能包含敏感词。继续将待过滤文本中的字符与敏感词字典树进行匹配,如果匹配成功,则表明待过滤文本中包含敏感词。最后,将待过滤文本中包含的敏感词过滤掉。利用敏感词字典树进行敏感词匹配能够极大地减少字符比较工作量,降低算法复杂度,提高运算速度和效率。

【技术实现步骤摘要】

本专利技术涉及敏感词检测
,特别是涉及一种敏感词过滤方法及装置
技术介绍
敏感词一般是指带有敏感政治倾向、暴力倾向、不健康色彩的词或不文明词语。多数论坛、网站为了方便管理,都进行了敏感词设定,也有一些网站根据自身实际情况设定一些只适用于本网站的特殊敏感词。比如,要发布的帖子内容包含敏感词时,这个帖子不能发布,或者,这个帖子包含的敏感词被自动替换为“*”或“X”等。现有的敏感词过滤算法,例如KMP单模匹配算法或BM算法,都是针对待过滤文本所包含的字符按顺序依次与敏感词库所包含的敏感词进行比较,如果待过滤文本包括N个字符,敏感词库中包括M个敏感词,则现有的敏感词过滤算法的复杂度为O(N*M),过滤速度慢、效率低。
技术实现思路
本专利技术实施例中提供了一种敏感词过滤方法及装置,以解决现有技术中的敏感词过滤速度慢、效率低的问题。为了解决上述技术问题,本专利技术实施例公开了如下技术方案:第一方面,本专利技术实施例提供一种敏感词过滤方法,包括:获取待过滤文本,将所述待过滤文本中的字符与敏感词字符串中的字符进行匹配,所述敏感词字符串由全部敏感词中的不同首字符组成;当所述待过滤文本中的字符与所述敏感词字符串中的字符匹配成功时,将所述待过滤文本中的字符与敏感词字典树中的所述敏感词进行匹配,所述敏感词字典树是根据所述敏感词的首字符建立的包括所述敏感词的所有字符的三叉搜索树;当所述待过滤文本中的字符与所述敏感词字典树中的敏感词匹配成功时,从所述待过滤文本中过滤掉所述敏感词。可选地,所述将所述待过滤文本中的字符与敏感词字符串中的字符进行匹配,包括:利用分词算法对所述待过滤文本进行分词,得到分词结果;将所述分词结果中每个词语的首字符与所述敏感词字符串中的字符进行匹配;如果所述分词的首字符与所述敏感词字符串中的字符匹配成功,则确定所述待过滤文本中字符包含在所述敏感词字符串中;如果所述分词的首字符与所述敏感词字符串中的字符匹配失败,则确定所述待过滤文本中的字符不包含在所述敏感词字符串中。可选地,所述将所述待过滤文本中的字符与敏感词字典树中的敏感词进行匹配,包括:从所述待过滤文本中获取与所述敏感词字符串中的字符匹配成功的目标字符;将所述目标字符与所述敏感词字典树中间分支的节点进行匹配;当所述目标字符与所述分叉节点的字符匹配成功时,获取所述待过滤文本中与所述目标字符紧邻的下一个字符,并与所述匹配成功的分叉节点的子节点的字符进行匹配;如果匹配成功,则获取所述待过滤文本中与所述下一个字符紧邻的下一个字符与所述敏感词字典树中的节点进行匹配,直到所述待过滤文本中的字符与所述敏感词字典树中的敏感词匹配成功。可选地,利用indexOf方法对所述待过滤文本中的字符与所述敏感词字符串中的字符进行匹配,则所述从所述待过滤文本中获取与所述敏感词字符串中的字符匹配成功的目标字符,包括:当所述待过滤文本中字符与所述敏感词字符串中字符匹配成功时,获取indexOf返回值,所述indexOf返回值表征所述待过滤文本所包含的与所述敏感词字符串中字符相同的字符在所述待过滤文本中的位置;从所述待过滤文本中获取所述indexOf返回值对应位置的字符,作为所述目标字符。可选地,所述方法还包括:当所述待过滤文本中的字符与所述敏感词字符串中的字符或所述敏感词字典树中的敏感词匹配失败时,确定所述待过滤文本中不包含敏感词。第二方面,本专利技术实施例提供一种敏感词过滤装置,包括:获取模块,用于获取待过滤文本;第一匹配模块,用于将所述待过滤文本中的字符与敏感词字符串中的字符进行匹配,所述敏感词字符串由全部敏感词的首字符组成;第二匹配模块,用于当所述第一匹配模块得到匹配成功的结果时,将所述待过滤文本中的字符与敏感词字典树中的所述敏感词进行匹配,所述敏感词字典树是根据所述敏感词的首字符建立的包括所述敏感词字符的三叉搜索树;过滤模块,用于当所述第二匹配模块得到匹配成功的结果时,从所述待过滤文本中过滤掉所述敏感词。可选地,所述第一匹配模块,包括:分词子模块,用于利用分词算法对所述待过滤文本进行分词,得到分词结果;第一匹配子模块,用于将所述分词结果中每个词语的首字符与所述敏感词字符串中的字
符进行匹配。可选地,所述第二匹配模块,包括:第一获取子模块,用于从所述待过滤文本中获取与所述敏感词字符串中的字符匹配成功的目标字符;第二匹配子模块,用于将所述目标字符与所述敏感词字典树中间分支的节点进行匹配;当所述目标字符与所述分叉节点的字符匹配成功时,获取所述待过滤文本中与所述目标字符紧邻的下一个字符,并与所述匹配成功的分叉节点的子节点的字符进行匹配;如果匹配成功,则获取所述待过滤文本中与所述下一个字符紧邻的下一个字符与所述敏感词字典树中的节点进行匹配,直到匹配到叶子节点;第一确定子模块,用于当所述第二匹配子模块得到叶子节点匹配成功的匹配结果时,确定所述待过滤文本中的字符与所述敏感词字典树中的敏感词匹配成功。可选地,利用indexOf方法对所述待过滤文本中的字符与所述敏感词字符串中的字符进行匹配,则所述第一获取子模块,具体用于:当所述待过滤文本中字符与所述敏感词字符串中字符匹配成功时,获取indexOf返回值,所述indexOf返回值表征所述待过滤文本所包含的与所述敏感词字符串中字符相同的字符在所述待过滤文本中的位置;从所述待过滤文本中获取所述indexOf返回值对应位置的字符,作为所述目标字符。可选地,所述装置还包括:确定模块,用于当第一匹配模块或第二匹配模块得到匹配失败的结果时,确定所述待过滤文本中不包含敏感词。由以上技术方案可见,本专利技术实施例提供的敏感词过滤方法,在获得待过滤文本后,首先判断待过滤文本是否包含与敏感词字符串中字符相同的字符,如果待过滤文本中包含敏感词字符串中的字符,则表明待过滤文本可能包含敏感词。继续将待过滤文本中的字符与敏感词字典树进行匹配,如果匹配成功,则表明待过滤文本中包含敏感词。最后,将待过滤文本中包含的敏感词过滤掉。利用敏感词字典树进行敏感词匹配能够极大地降低字符比较工作量,降低算法复杂度,提高运算速度和效率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例一种敏感词过滤方法的流程示意图;图2为本专利技术实施例一种敏感词字典树匹配过程的流程示意图;图3为本专利技术实施例一种敏感词字典树实例的示意图;图4为本专利技术实施例另一种敏感词过滤方法的流程示意图;图5为本专利技术实施例一种敏感词过滤装置的框图;图6为本专利技术实施例一种第二匹配模块的框图;图7为本专利技术实施例另一种敏感词过滤装置的框图。具体实施方式为了使本
的人员更好地理解本专利技术中的技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。参见图1,为本专利技术实施例提供的一种敏感词过滤方法的流程示意图,该方法应用于服务端本文档来自技高网
...

【技术保护点】
一种敏感词过滤方法,其特征在于,包括:获取待过滤文本,将所述待过滤文本中的字符与敏感词字符串中的字符进行匹配,所述敏感词字符串由敏感词中的不同首字符组成;当所述待过滤文本中的字符与所述敏感词字符串中的字符匹配成功时,将所述待过滤文本中的字符与敏感词字典树中的所述敏感词进行匹配,所述敏感词字典树是根据所述敏感词的首字符建立的包括所述敏感词的所有字符的三叉搜索树;当所述待过滤文本中的字符与所述敏感词字典树中的敏感词匹配成功时,从所述待过滤文本中过滤掉所述敏感词。

【技术特征摘要】
1.一种敏感词过滤方法,其特征在于,包括:获取待过滤文本,将所述待过滤文本中的字符与敏感词字符串中的字符进行匹配,所述敏感词字符串由敏感词中的不同首字符组成;当所述待过滤文本中的字符与所述敏感词字符串中的字符匹配成功时,将所述待过滤文本中的字符与敏感词字典树中的所述敏感词进行匹配,所述敏感词字典树是根据所述敏感词的首字符建立的包括所述敏感词的所有字符的三叉搜索树;当所述待过滤文本中的字符与所述敏感词字典树中的敏感词匹配成功时,从所述待过滤文本中过滤掉所述敏感词。2.根据权利要求1所述的方法,其特征在于,所述将所述待过滤文本中的字符与敏感词字符串中的字符进行匹配,包括:利用分词算法对所述待过滤文本进行分词,得到分词结果;将所述分词结果中每个词语的首字符与所述敏感词字符串中的字符进行匹配;如果所述分词的首字符与所述敏感词字符串中的字符匹配成功,则确定所述待过滤文本中字符包含在所述敏感词字符串中;如果所述分词的首字符与所述敏感词字符串中的字符匹配失败,则确定所述待过滤文本中的字符不包含在所述敏感词字符串中。3.根据权利要求1所述的方法,其特征在于,所述将所述待过滤文本中的字符与敏感词字典树中的敏感词进行匹配,包括:从所述待过滤文本中获取与所述敏感词字符串中的字符匹配成功的目标字符;将所述目标字符与所述敏感词字典树中间分支的节点进行匹配;当所述目标字符与所述分叉节点的字符匹配成功时,获取所述待过滤文本中与所述目标字符紧邻的下一个字符,并与所述匹配成功的分叉节点的子节点的字符进行匹配;如果匹配成功,则获取所述待过滤文本中与所述下一个字符紧邻的下一个字符与所述敏感词字典树中的节点进行匹配,直到所述待过滤文本中的字符与所述敏感词字典树中的敏感词匹配成功。4.根据权利要求3所述的方法,其特征在于,利用indexOf方法对所述待过滤文本中的字符与所述敏感词字符串中的字符进行匹配,则所述从所述待过滤文本中获取与所述敏感词字符串中的字符匹配成功的目标字符,包括:当所述待过滤文本中字符与所述敏感词字符串中字符匹配成功时,获取indexOf返回值,所述indexOf返回值表征所述待过滤文本所包含的与所述敏感词字符串中字符相同的字符在所述待过滤文本中的位置;从所述待过滤文本中获取所述indexOf返回值对应位置的字符,作为所述目标字符。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述待过滤文本中的字符与所...

【专利技术属性】
技术研发人员:谢晓静
申请(专利权)人:乐视控股北京有限公司乐视网信息技术北京股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1