基于多层字典树的敏感词过滤方法及系统技术方案

技术编号:17970617 阅读:4 留言:0更新日期:2018-05-16 11:26
本发明专利技术公开了一种基于多层字典树的敏感词过滤方法及系统,其中方法包括以下步骤:从敏感词库中批量获取敏感词,敏感词包括主敏感词、并列词以及排除词;利用获取到的敏感词构建多层字典树;将待过滤语句输入多层字典树进行匹配,若匹配到待过滤语句中不包含主敏感词、或者匹配到待过滤语句中同时包含主敏感词和排除词,且不包含并列词,则对该语句不进行拦截,释放该语句;否则,对该语句进行拦截。本发明专利技术提供的基于多层字典树的敏感词过滤方法及系统,可以大大降低敏感词的误拦截率,从而减少对用户的打扰,极大地提升了用户体验。

【技术实现步骤摘要】
基于多层字典树的敏感词过滤方法及系统
本专利技术涉及语言文本处理
,特别涉及一种基于多层字典树的敏感词过滤方法及系统。
技术介绍
现有的敏感词过滤方法主要是基于单层字典树这种数据结构来实现的,其过滤敏感词的主要实现步骤如下:首先根据敏感词构建成一颗单层的字典树,然后将待过滤语句依次与构建的敏感词字典树进行匹配,匹配到敏感词则立即返回并拦截该语句,没有匹配到任何敏感词则释放该语句。这种基于单层字典树的敏感词过滤匹配方式,在一定程度上确实能够高效的匹配到特定敏感词,但是这种匹配方式容易造成误拦截。举个例子,如果敏感词库中有“韩梅梅、小梅、梅梅”等这样的敏感词,现在有一条待过滤的语句如下:“西湖边上盛开了很多小梅花”,那么,如果使用目前现有的单层字典树匹配算法来过滤的话,必然会匹配到“小梅”这个敏感词,且拦截该语句。但是这条语句从整个语境上都是一条非常正常的语句,这样就造成了误拦截。再比如,敏感词库中有“红黄蓝、幼儿园、虐童”等这样的敏感词,现在有这么一条语句:“红黄蓝幼儿园公开课”。这条语句也是非常常见且中性的语句,但是因为在过滤敏感词的过程中,匹配到了“红黄蓝”和“幼儿园”这两个敏感词,因此会被误拦截。因此,现有的敏感词过滤匹配方式,容易对一些虽然包含个别敏感词但是语境正常的语句进行误拦截,从而频繁地对用户产生打扰,用户体验不好。
技术实现思路
基于此,本专利技术提供了一种基于多层字典树的敏感词过滤方法及系统,通过构建多层的字典树,并结合主敏感词、并列词和排除词,能够大大降低敏感词的误拦截率,从而降低了对用户的打扰率,极大地提升了用户体验。本专利技术提供的基于多层字典树的敏感词过滤方法,包括以下步骤:S100、从敏感词库中批量获取敏感词,所述敏感词包括主敏感词、并列词以及排除词;S200、利用获取到的敏感词构建多层字典树;S300、将待过滤语句输入多层字典树进行匹配,若匹配到待过滤语句中不包含主敏感词、或者匹配到待过滤语句中同时包含主敏感词和排除词,且不包含并列词,则对该语句不进行拦截,释放该语句;否则,对该语句进行拦截。作为一种可实施方式,所述步骤S300包括以下步骤:S310、读取待过滤语句;S311、判断待过滤语句中是否包含主敏感词,若包含主敏感词,则执行步骤S312;若不包含主敏感词,则执行步骤S314;S312、判断待过滤语句中是否包含并列词,若包含并列词,则执行步骤S315;若不包含并列词,则执行步骤S313;S313、判断待过滤语句中是否包含排除词,若包含排除词,则执行步骤S314;若不包含排除词,则执行步骤S315;S314、释放该语句;S315、拦截该语句。作为一种可实施方式,步骤S300中,还包括以下步骤:向待过滤语句中的主敏感词、并列词、以及排除词分别添加标识信息,以用于判断待过滤语句中是否包含主敏感词、并列词、或排除词。作为一种可实施方式,所述步骤S300包括以下步骤:S320、读取待过滤语句;S321、判断待过滤语句中是否包含主敏感词,若不包含主敏感词,则执行步骤S326;S322、若包含主敏感词,则判断主敏感词的最后一个字符是否包含并列词标志字符;若不包含并列词标志字符,则执行步骤S324;S323、若包含了并列词标识字符,则以并列词标识字符为根节点,全句过滤以并列词标识字符为根节点的字典树,匹配并列词;若没有匹配到并列词,则执行步骤S324;若匹配到了并列词,则执行步骤S327;S324、判断主敏感词的最后一个字符是否包含排除词标志字符;若不包含排除词标志字符,则执行步骤S327;若包含排除词标志字符,则执行步骤S325;S325、以排除词标识字符为根节点,全句过滤以排除词标识字符为根节点的字典树,匹配排除词;若没有匹配到排除词,则执行步骤S327;若匹配到了排除词,则执行步骤S326;S326、释放该语句;S327、拦截该语句。作为一种可实施方式,步骤S300还包括以下步骤:向待过滤语句中的主敏感词、并列词、以及排除词的结束符添加标志字符。相应地,本专利技术还提供一种基于多层字典树的敏感词过滤系统,包括敏感词获取模块、字典树构建模块以及过滤模块;所述敏感词获取模块,用于从敏感词库中批量获取敏感词,所述敏感词包括主敏感词、并列词以及排除词;所述字典树构建模块,用于利用获取到的敏感词构建多层字典树;所述过滤模块,用于将待过滤语句输入多层字典树进行匹配,若匹配到待过滤语句中不包含主敏感词、或者匹配到待过滤语句中同时包含主敏感词和排除词,且不包含并列词,则对该语句不进行拦截,释放该语句;否则,对该语句进行拦截。作为一种可实施方式,所述过滤模块包括第一读取单元、第一主敏感词匹配单元、第一并列词匹配单元、第一排除词匹配单元、第一释放单元以及第一拦截单元;所述第一读取单元,用于读取待过滤语句;所述第一主敏感词匹配单元,用于判断待过滤语句中是否包含主敏感词,若包含主敏感词,则进入所述第一并列词匹配单元;若不包含主敏感词,则进入所述第一释放单元;所述第一并列词匹配单元,用于判断待过滤语句中是否包含并列词,若包含并列词,则进入所述第一拦截单元;若不包含并列词,则进入所述第一排除词匹配单元;所述第一排除词匹配单元,用于判断待过滤语句中是否包含排除词,若包含排除词,则进入第一释放单元;若不包含排除词,则进入第一拦截单元;所述第一释放单元,用于释放该语句;所述第一拦截单元,用于拦截该语句。作为一种可实施方式,所述过滤模块还包括第一标识单元;所述第一标识单元,用于向待过滤语句中的主敏感词、并列词、以及排除词分别添加标识信息,以用于判断待过滤语句中是否包含主敏感词、并列词、或排除词。作为一种可实施方式,所述过滤模块包括第二读取单元、第二主敏感词匹配单元、并列词标志字符匹配单元、第二并列词匹配单元、排除词标志字符匹配单元、第二排除词匹配单元、第二释放单元以及第二拦截单元;所述第二读取单元,用于读取待过滤语句;所述第二主敏感词匹配单元,用于判断待过滤语句中是否包含主敏感词,若不包含主敏感词,则进入所述第二释放单元;所述并列词标志字符匹配单元,用于在所述第二主敏感词匹配单元判断待过滤语句中包含主敏感词时,进一步判断主敏感词的最后一个字符是否包含并列词标志字符;若不包含并列词标志字符,则进入所述排除词标志字符匹配单元;所述第二并列词匹配单元,用于在所述并列词标志字符匹配单元判断待过滤语句中包含并列词标识字符时,以并列词标识字符为根节点,全句过滤以并列词标识字符为根节点的字典树,匹配并列词;若没有匹配到并列词,则进入所述排除词标志字符匹配单元;若匹配到了并列词,则进入第二拦截单元;所述排除词标志字符匹配单元,用于判断主敏感词的最后一个字符是否包含排除词标志字符;若不包含排除词标志字符,则进入所述第二拦截单元;若包含排除词标志字符,则进入所述第二排除词匹配单元;所述第二排除词匹配单元,用于以排除词标识字符为根节点,全句过滤以排除词标识字符为根节点的字典树,匹配排除词;若没有匹配到排除词,则进入所述第二拦截单元;若匹配到了排除词,进入所述第二释放单元;所述第二释放单元,用于释放该语句;所述第二拦截单元,用于拦截该语句。作为一种可实施方式,所述过滤模块还包括第二标识单元;所述第二标志单元,用于向待过滤语句中的主敏感词本文档来自技高网...
基于多层字典树的敏感词过滤方法及系统

【技术保护点】
一种基于多层字典树的敏感词过滤方法,其特征在于,包括以下步骤:S100、从敏感词库中批量获取敏感词,所述敏感词包括主敏感词、并列词以及排除词;S200、利用获取到的敏感词构建多层字典树;S300、将待过滤语句输入多层字典树进行匹配,若匹配到待过滤语句中不包含主敏感词、或者匹配到待过滤语句中同时包含主敏感词和排除词,且不包含并列词,则对该语句不进行拦截,释放该语句;否则,对该语句进行拦截。

【技术特征摘要】
1.一种基于多层字典树的敏感词过滤方法,其特征在于,包括以下步骤:S100、从敏感词库中批量获取敏感词,所述敏感词包括主敏感词、并列词以及排除词;S200、利用获取到的敏感词构建多层字典树;S300、将待过滤语句输入多层字典树进行匹配,若匹配到待过滤语句中不包含主敏感词、或者匹配到待过滤语句中同时包含主敏感词和排除词,且不包含并列词,则对该语句不进行拦截,释放该语句;否则,对该语句进行拦截。2.根据权利要求1所述的基于多层字典树的敏感词过滤方法,其特征在于,所述步骤S300包括以下步骤:S310、读取待过滤语句;S311、判断待过滤语句中是否包含主敏感词,若包含主敏感词,则执行步骤S312;若不包含主敏感词,则执行步骤S314;S312、判断待过滤语句中是否包含并列词,若包含并列词,则执行步骤S315;若不包含并列词,则执行步骤S313;S313、判断待过滤语句中是否包含排除词,若包含排除词,则执行步骤S314;若不包含排除词,则执行步骤S315;S314、释放该语句;S315、拦截该语句。3.根据权利要求2所述的基于多层字典树的敏感词过滤方法,其特征在于,步骤S300中,还包括以下步骤:向待过滤语句中的主敏感词、并列词、以及排除词分别添加标识信息,以用于判断待过滤语句中是否包含主敏感词、并列词、或排除词。4.根据权利要求1所述的基于多层字典树的敏感词过滤方法,其特征在于,所述步骤S300包括以下步骤:S320、读取待过滤语句;S321、判断待过滤语句中是否包含主敏感词,若不包含主敏感词,则执行步骤S326;S322、若包含主敏感词,则判断主敏感词的最后一个字符是否包含并列词标志字符;若不包含并列词标志字符,则执行步骤S324;S323、若包含了并列词标识字符,则以并列词标识字符为根节点,全句过滤以并列词标识字符为根节点的字典树,匹配并列词;若没有匹配到并列词,则执行步骤S324;若匹配到了并列词,则执行步骤S327;S324、判断主敏感词的最后一个字符是否包含排除词标志字符;若不包含排除词标志字符,则执行步骤S327;若包含排除词标志字符,则执行步骤S325;S325、以排除词标识字符为根节点,全句过滤以排除词标识字符为根节点的字典树,匹配排除词;若没有匹配到排除词,则执行步骤S327;若匹配到了排除词,则执行步骤S326;S326、释放该语句;S327、拦截该语句。5.根据权利要求4所述的基于多层字典树的敏感词过滤方法,其特征在于,步骤S300还包括以下步骤:向待过滤语句中的主敏感词、并列词、以及排除词的结束符添加标志字符。6.一种基于多层字典树的敏感词过滤系统,其特征在于,包括敏感词获取模块、字典树构建模块以及过滤模块;所述敏感词获取模块,用于从敏感词库中批量获取敏感词,所述敏感词包括主敏感词、并列词以及排除词;所述字典树构建模块,用于利用获取到的敏感词构建多层字典树;所述过滤模块,用于将待过滤语句输入多层字典树进行匹配,若匹配到待过滤语句中不包含主敏感词、或者匹配到待过滤语句中同时包含主...

【专利技术属性】
技术研发人员:吴容
申请(专利权)人:杭州有赞科技有限公司
类型:发明
国别省市:浙江,33

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

1