CN108038190A - 基于多层字典树的敏感词过滤方法及系统 - Google Patents
基于多层字典树的敏感词过滤方法及系统 Download PDFInfo
- Publication number
- CN108038190A CN108038190A CN201711307853.XA CN201711307853A CN108038190A CN 108038190 A CN108038190 A CN 108038190A CN 201711307853 A CN201711307853 A CN 201711307853A CN 108038190 A CN108038190 A CN 108038190A
- Authority
- CN
- China
- Prior art keywords
- word
- sentence
- sensitive
- arranged side
- filtered
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/322—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/335—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于多层字典树的敏感词过滤方法及系统,其中方法包括以下步骤:从敏感词库中批量获取敏感词,敏感词包括主敏感词、并列词以及排除词;利用获取到的敏感词构建多层字典树;将待过滤语句输入多层字典树进行匹配,若匹配到待过滤语句中不包含主敏感词、或者匹配到待过滤语句中同时包含主敏感词和排除词,且不包含并列词,则对该语句不进行拦截,释放该语句;否则,对该语句进行拦截。本发明提供的基于多层字典树的敏感词过滤方法及系统,可以大大降低敏感词的误拦截率,从而减少对用户的打扰,极大地提升了用户体验。
Description
技术领域
本发明涉及语言文本处理技术领域,特别涉及一种基于多层字典树的敏感词过滤方法及系统。
背景技术
现有的敏感词过滤方法主要是基于单层字典树这种数据结构来实现的,其过滤敏感词的主要实现步骤如下:首先根据敏感词构建成一颗单层的字典树,然后将待过滤语句依次与构建的敏感词字典树进行匹配,匹配到敏感词则立即返回并拦截该语句,没有匹配到任何敏感词则释放该语句。
这种基于单层字典树的敏感词过滤匹配方式,在一定程度上确实能够高效的匹配到特定敏感词,但是这种匹配方式容易造成误拦截。举个例子,如果敏感词库中有“韩梅梅、小梅、梅梅”等这样的敏感词,现在有一条待过滤的语句如下:“西湖边上盛开了很多小梅花”,那么,如果使用目前现有的单层字典树匹配算法来过滤的话,必然会匹配到“小梅”这个敏感词,且拦截该语句。但是这条语句从整个语境上都是一条非常正常的语句,这样就造成了误拦截。再比如,敏感词库中有“红黄蓝、幼儿园、虐童”等这样的敏感词,现在有这么一条语句:“红黄蓝幼儿园公开课”。这条语句也是非常常见且中性的语句,但是因为在过滤敏感词的过程中,匹配到了“红黄蓝”和“幼儿园”这两个敏感词,因此会被误拦截。
因此,现有的敏感词过滤匹配方式,容易对一些虽然包含个别敏感词但是语境正常的语句进行误拦截,从而频繁地对用户产生打扰,用户体验不好。
发明内容
基于此,本发明提供了一种基于多层字典树的敏感词过滤方法及系统,通过构建多层的字典树,并结合主敏感词、并列词和排除词,能够大大降低敏感词的误拦截率,从而降低了对用户的打扰率,极大地提升了用户体验。
本发明提供的基于多层字典树的敏感词过滤方法,包括以下步骤:
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还包括以下步骤:
向待过滤语句中的主敏感词、并列词、以及排除词的结束符添加标志字符。
相应地,本发明还提供一种基于多层字典树的敏感词过滤系统,包括敏感词获取模块、字典树构建模块以及过滤模块;
所述敏感词获取模块,用于从敏感词库中批量获取敏感词,所述敏感词包括主敏感词、并列词以及排除词;
所述字典树构建模块,用于利用获取到的敏感词构建多层字典树;
所述过滤模块,用于将待过滤语句输入多层字典树进行匹配,若匹配到待过滤语句中不包含主敏感词、或者匹配到待过滤语句中同时包含主敏感词和排除词,且不包含并列词,则对该语句不进行拦截,释放该语句;否则,对该语句进行拦截。
作为一种可实施方式,所述过滤模块包括第一读取单元、第一主敏感词匹配单元、第一并列词匹配单元、第一排除词匹配单元、第一释放单元以及第一拦截单元;
所述第一读取单元,用于读取待过滤语句;
所述第一主敏感词匹配单元,用于判断待过滤语句中是否包含主敏感词,若包含主敏感词,则进入所述第一并列词匹配单元;若不包含主敏感词,则进入所述第一释放单元;
所述第一并列词匹配单元,用于判断待过滤语句中是否包含并列词,若包含并列词,则进入所述第一拦截单元;若不包含并列词,则进入所述第一排除词匹配单元;
所述第一排除词匹配单元,用于判断待过滤语句中是否包含排除词,若包含排除词,则进入第一释放单元;若不包含排除词,则进入第一拦截单元;
所述第一释放单元,用于释放该语句;
所述第一拦截单元,用于拦截该语句。
作为一种可实施方式,所述过滤模块还包括第一标识单元;
所述第一标识单元,用于向待过滤语句中的主敏感词、并列词、以及排除词分别添加标识信息,以用于判断待过滤语句中是否包含主敏感词、并列词、或排除词。
作为一种可实施方式,所述过滤模块包括第二读取单元、第二主敏感词匹配单元、并列词标志字符匹配单元、第二并列词匹配单元、排除词标志字符匹配单元、第二排除词匹配单元、第二释放单元以及第二拦截单元;
所述第二读取单元,用于读取待过滤语句;
所述第二主敏感词匹配单元,用于判断待过滤语句中是否包含主敏感词,若不包含主敏感词,则进入所述第二释放单元;
所述并列词标志字符匹配单元,用于在所述第二主敏感词匹配单元判断待过滤语句中包含主敏感词时,进一步判断主敏感词的最后一个字符是否包含并列词标志字符;若不包含并列词标志字符,则进入所述排除词标志字符匹配单元;
所述第二并列词匹配单元,用于在所述并列词标志字符匹配单元判断待过滤语句中包含并列词标识字符时,以并列词标识字符为根节点,全句过滤以并列词标识字符为根节点的字典树,匹配并列词;若没有匹配到并列词,则进入所述排除词标志字符匹配单元;若匹配到了并列词,则进入第二拦截单元;
所述排除词标志字符匹配单元,用于判断主敏感词的最后一个字符是否包含排除词标志字符;若不包含排除词标志字符,则进入所述第二拦截单元;若包含排除词标志字符,则进入所述第二排除词匹配单元;
所述第二排除词匹配单元,用于以排除词标识字符为根节点,全句过滤以排除词标识字符为根节点的字典树,匹配排除词;若没有匹配到排除词,则进入所述第二拦截单元;若匹配到了排除词,进入所述第二释放单元;
所述第二释放单元,用于释放该语句;
所述第二拦截单元,用于拦截该语句。
作为一种可实施方式,所述过滤模块还包括第二标识单元;
所述第二标志单元,用于向待过滤语句中的主敏感词、并列词、以及排除词的结束符添加标志字符。
本发明相比于现有技术的有益效果在于:
本发明提供的基于多层字典树的敏感词过滤方法及系统,通过将敏感词划分为主敏感词、并列词(相当于黑名单)以及排除词(相当于白名单),并基于主敏感词、并列词以及排除词构建多层字典树,将待过滤语句输入多层字典树进行匹配,在待过滤语句没有出现主敏感词,或者出现了主敏感词,同时也出现排除词,且没有出现并列词这两种情况下,不进行语句拦截,释放该语句。利用本发明提供的基于多层字典树的敏感词过滤方法及系统,可以大大降低敏感词的误拦截率,从而减少对用户的打扰,极大地提升了用户体验。
附图说明
图1为本发明实施例一提供的基于多层字典树的敏感词过滤方法的流程示意图;
图2为本发明实施例一提供的基于多层字典树的敏感词过滤方法中的步骤S300的一实施方式的流程示意图;
图3为本发明实施例一提供的基于多层字典树的敏感词过滤方法中的步骤S300的另一实施方式的流程示意图;
图4为本发明实施例三提供的基于多层字典树的敏感词过滤系统的结构示意图。
具体实施方式
以下结合附图,对本发明上述的和另外的技术特征和优点进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的部分实施例,而不是全部实施例。
本发明提出了一种基于多层字典树的敏感词过滤方法及系统,在原有的单层字典树上进行叠加,构建出一个包含主敏感词、并列词和排除词的多层字典树的数据结构。本发明中首次提出了主敏感词、并列词和排除词的划分,其中主敏感词就是现有方案中提到的敏感词,例如“红黄蓝”;并列词和排除词则是跟主敏感词结合使用的词语,并列词相当于黑名单,例如“虐童”,排除词相当于白名单,例如“开学”、“公开课”等与并列词毫无关联的词。
参见图1,本发明实施例一提供了一种基于多层字典树的敏感词过滤方法,包括以下步骤:
S100、从敏感词库中批量获取敏感词,敏感词包括主敏感词、并列词以及排除词。
敏感词库可以事先存储在本地文件中,也可以从数据库中获取。
S200、利用获取到的敏感词构建多层字典树。
构建好的多层字典树可以存储于内存中。
S300、将待过滤语句输入多层字典树进行匹配,匹配到待过滤语句中不包含主敏感词、或者匹配到待过滤语句中同时包含主敏感词和排除词,且不包含并列词,则对该语句不进行拦截,释放该语句;否则,对该语句进行拦截。
本发明实施例一提供的基于多层字典树的敏感词过滤方法,通过构建多层字典树,将待过滤语句依次与内存中的多层字典树进行匹配,匹配到敏感词则立即返回并拦截该语句,没有匹配到任何敏感词则释放该语句。具体的匹配策略为:当待过滤语句中没有出现主敏感词时,则不进行拦截,释放该语句;当待过滤语句中只出现主敏感词时(没有出现并列词和排除词),对该语句进行拦截;当待过滤语句中出现了主敏感词和并列词(黑名单的词),对该语句进行拦截;当待过滤语句中出现了主敏感词,没有出现并列词,且出现了排除词(白名单的词)时,则不进行拦截,释放该语句。
本发明通过对敏感词进行划分且构建多层字典树,在待过滤语句中没有出现主敏感词,或者同时出现主敏感词和排除词,且没有出现并列词时,对该语句不进行拦截,从而可以大大降低敏感词的误拦截率,减少对用户的打扰,极大地提升了用户体验。
参见图2,作为一种可实施方式,上述步骤S300,具体的匹配过程可通过以下步骤实现:
S310、读取待过滤语句;
S311、判断待过滤语句中是否包含主敏感词,若包含主敏感词,则执行步骤S312;若不包含主敏感词,则执行步骤S314;
S312、判断待过滤语句中是否包含并列词,若包含并列词,则执行步骤S315;若不包含并列词,则执行步骤S313;
S313、判断待过滤语句中是否包含排除词,若包含排除词,则执行步骤S314;若不包含排除词,则执行步骤S315;
S314、释放该语句;
S315、拦截该语句。
在上述步骤S311、S312、S313之前,可以先向待过滤语句中的主敏感词、并列词、以及排除词分别添加标识信息,以用于判断待过滤语句中是否包含主敏感词、并列词、或排除词的步骤。标识信息可以添加在主敏感词、并列词、以及排除词的起始符、结束符等任意位置上。
具体地,参见图3,实施例一中的步骤S300还可通过以下步骤实现:
S320、读取待过滤语句;
S321、判断待过滤语句中是否包含主敏感词,若不包含主敏感词,则执行步骤S326;
S322、若包含主敏感词,则判断主敏感词的最后一个字符是否包含并列词标志字符;若不包含并列词标志字符,则执行步骤S324;
S323、若包含了并列词标识字符,则以并列词标识字符为根节点,全句过滤以并列词标识字符为根节点的字典树,匹配并列词;若没有匹配到并列词,则执行步骤S324;若匹配到了并列词,则执行步骤S327;
S324、判断主敏感词的最后一个字符是否包含排除词标志字符;若不包含排除词标志字符,则执行步骤S327;若包含排除词标志字符,则执行步骤S325;
S325、以排除词标识字符为根节点,全句过滤以排除词标识字符为根节点的字典树,匹配排除词;若没有匹配到排除词,则执行步骤S327;若匹配到了排除词,则执行步骤S326;
S326、释放该语句;
S327、拦截该语句。
在此实施方式中,需要提前向待过滤语句中的主敏感词、并列词、以及排除词的结束符添加标志字符。
本发明实施例二提供了一种基于多层字典树的敏感词过滤方法,在使用多层字典树进行敏感词进行过滤之前,首先对待过滤语句中的主敏感词、并列词和排除词进行标识。具体地,使用“@”符号作为主敏感词的结束符,使用“&”作为并列词的结束符,使用“~”作为排除词的结束符。
具体匹配步骤如下:
步骤(1):读取待过滤语句,判断该语句中是否包含主敏感词,如果不包含主敏感词则直接跳转到步骤(7);
步骤(2):如果匹配到了主敏感词,还需要进一步检查主敏感词的最后一个字符是否包含并列词标识字符“&”;
步骤(3):如果包含了并列词标识字符“&”,则以“&”字符为根节点,继续全句过滤以“&”为根节点的多层字典树,检查是否包含并列词,如果没有匹配到并列词,则直接跳转到步骤(5),否则跳转到步骤(8);
步骤(4):如果不包含并列词标识字符“&”,则执行步骤(5);
步骤(5):继续检查主敏感词最后一个字符是否包含排除词标识字符“~”,如果不包含,则直接跳转到步骤(8),相反则跳转到步骤(6);
步骤(6):如果包含了排除词标识字符“~”,则以“~”字符为根节点,继续全句过滤以“~”为根节点的字典树,检查是否包含排除词,如果没有匹配到排除词,则直接跳转到(8),否则跳转到(7);
(7)该语句通过,不进行拦截;
(8)该语句不通过,进行拦截。
为更好的表达本发明的实施流程,现举例如下:
“红黄蓝”为主敏感词,“虐童”为主敏感词“红黄蓝”的并列词,“公开课”作为主敏感词“红黄蓝”的排除词;
待过滤语句:“红黄蓝幼儿园发布了最新的幼童公开课时间”。
敏感词匹配流程如下:
首先匹配到了“红黄蓝”这个实事类主敏感词,然后检查带有结束符“@”的“蓝”字符子节点中是否包含并列词字符“&”,经遍历“蓝”子节点后发现包含了并列词字符“&”,但是整个语句中并没有任何并列词;
然后继续检查带有结束符“@”的“蓝”字符子节点中是否包含排除词字符“~”,经遍历“蓝”子节点后发现包含了排除词字符“~”,并且在语句中匹配到了排除词“公开课”,因此按照匹配流程图,这条语句是通过不拦截的。
本发明通过将敏感词划分为主敏感词、并列词以及排除词,并基于主敏感词、并列词以及排除词构建多层字典树,将待过滤语句输入多层字典树进行匹配,在待过滤语句中同时出现主敏感词和排除词,且没有出现并列词时,对该语句不进行拦截,从而可以大大降低敏感词的误拦截率,减少对用户的打扰,极大地提升了用户体验。
基于同一发明构思,本发明实施例三还提供了一种基于多层字典树的敏感词过滤系统,该系统与上述于多层字典树的敏感词过滤方法的原理相同,具体可参照上述方法实现,此处不再冗述。
参见图4,实施例三提供的基于多层字典树的敏感词过滤系统,包括敏感词获取模块100、字典树构建模块200以及过滤模块300;
敏感词获取模块100用于从敏感词库中批量获取敏感词,敏感词包括主敏感词、并列词以及排除词;
字典树构建模块200用于利用获取到的敏感词构建多层字典树;
过滤模块300用于将待过滤语句输入多层字典树进行匹配,若匹配到待过滤语句中不包含主敏感词、或者匹配到待过滤语句中同时包含主敏感词和排除词,且不包含并列词,则对该语句不进行拦截,释放该语句;否则,对该语句进行拦截。
具体地,作为一种可实施方式,过滤模块300包括第一读取单元、第一主敏感词匹配单元、第一并列词匹配单元、第一排除词匹配单元、第一释放单元以及第一拦截单元;
第一读取单元用于读取待过滤语句;
第一主敏感词匹配单元用于判断待过滤语句中是否包含主敏感词,若包含主敏感词,则进入第一并列词匹配单元;若不包含主敏感词,则进入第一释放单元;
第一并列词匹配单元用于判断待过滤语句中是否包含并列词,若包含并列词,则进入第一拦截单元;若不包含并列词,则进入第一排除词匹配单元;
第一排除词匹配单元用于判断待过滤语句中是否包含排除词,若包含排除词,则进入第一释放单元;若不包含排除词,则进入第一拦截单元;
第一释放单元用于释放该语句;
第一拦截单元用于拦截该语句。
进一步地,过滤模块300还包括第一标识单元;
第一标识单元用于向待过滤语句中的主敏感词、并列词、以及排除词分别添加标识信息,以用于判断待过滤语句中是否包含主敏感词、并列词、或排除词。
作为另一种可实施方式,过滤模块300包括第二读取单元、第二主敏感词匹配单元、并列词标志字符匹配单元、第二并列词匹配单元、排除词标志字符匹配单元、第二排除词匹配单元、第二释放单元以及第二拦截单元;
第二读取单元用于读取待过滤语句;
第二主敏感词匹配单元用于判断待过滤语句中是否包含主敏感词,若不包含主敏感词,则进入第二释放单元;
并列词标志字符匹配单元用于在第二主敏感词匹配单元判断待过滤语句中包含主敏感词时,进一步判断主敏感词的最后一个字符是否包含并列词标志字符;若不包含并列词标志字符,则进入排除词标志字符匹配单元;
第二并列词匹配单元用于在并列词标志字符匹配单元判断待过滤语句中包含并列词标识字符时,以并列词标识字符为根节点,全句过滤以并列词标识字符为根节点的字典树,匹配并列词;若没有匹配到并列词,则进入排除词标志字符匹配单元;若匹配到了并列词,则进入第二拦截单元;
排除词标志字符匹配单元用于判断主敏感词的最后一个字符是否包含排除词标志字符;若不包含排除词标志字符,则进入第二拦截单元;若包含排除词标志字符,则进入第二排除词匹配单元;
第二排除词匹配单元用于以排除词标识字符为根节点,全句过滤以排除词标识字符为根节点的字典树,匹配排除词;若没有匹配到排除词,则进入第二拦截单元;若匹配到了排除词,进入第二释放单元;
第二释放单元用于释放该语句;
第二拦截单元用于拦截该语句。
进一步地,过滤模块300还包括第二标识单元;
第二标志单元用于向待过滤语句中的主敏感词、并列词、以及排除词的结束符添加标志字符。
本发明提供的基于多层字典树的敏感词过滤方法及系统,通过构建多层字典树,并结合主敏感词、并列词和排除词进行匹配,能够大大降低敏感词的误拦截率,从而减少对用户的打扰,极大地提升了用户体验。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围。特别指出,对于本领域技术人员来说,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
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.一种基于多层字典树的敏感词过滤系统,其特征在于,包括敏感词获取模块、字典树构建模块以及过滤模块;
所述敏感词获取模块,用于从敏感词库中批量获取敏感词,所述敏感词包括主敏感词、并列词以及排除词;
所述字典树构建模块,用于利用获取到的敏感词构建多层字典树;
所述过滤模块,用于将待过滤语句输入多层字典树进行匹配,若匹配到待过滤语句中不包含主敏感词、或者匹配到待过滤语句中同时包含主敏感词和排除词,且不包含并列词,则对该语句不进行拦截,释放该语句;否则,对该语句进行拦截。
7.根据权利要求6所述的基于多层字典树的敏感词过滤系统,其特征在于,所述过滤模块包括第一读取单元、第一主敏感词匹配单元、第一并列词匹配单元、第一排除词匹配单元、第一释放单元以及第一拦截单元;
所述第一读取单元,用于读取待过滤语句;
所述第一主敏感词匹配单元,用于判断待过滤语句中是否包含主敏感词,若包含主敏感词,则进入所述第一并列词匹配单元;若不包含主敏感词,则进入所述第一释放单元;
所述第一并列词匹配单元,用于判断待过滤语句中是否包含并列词,若包含并列词,则进入所述第一拦截单元;若不包含并列词,则进入所述第一排除词匹配单元;
所述第一排除词匹配单元,用于判断待过滤语句中是否包含排除词,若包含排除词,则进入第一释放单元;若不包含排除词,则进入第一拦截单元;
所述第一释放单元,用于释放该语句;
所述第一拦截单元,用于拦截该语句。
8.根据权利要求7所述的基于多层字典树的敏感词过滤系统,其特征在于,所述过滤模块还包括第一标识单元;
所述第一标识单元,用于向待过滤语句中的主敏感词、并列词、以及排除词分别添加标识信息,以用于判断待过滤语句中是否包含主敏感词、并列词、或排除词。
9.根据权利要求6所述的基于多层字典树的敏感词过滤系统,其特征在于,所述过滤模块包括第二读取单元、第二主敏感词匹配单元、并列词标志字符匹配单元、第二并列词匹配单元、排除词标志字符匹配单元、第二排除词匹配单元、第二释放单元以及第二拦截单元;
所述第二读取单元,用于读取待过滤语句;
所述第二主敏感词匹配单元,用于判断待过滤语句中是否包含主敏感词,若不包含主敏感词,则进入所述第二释放单元;
所述并列词标志字符匹配单元,用于在所述第二主敏感词匹配单元判断待过滤语句中包含主敏感词时,进一步判断主敏感词的最后一个字符是否包含并列词标志字符;若不包含并列词标志字符,则进入所述排除词标志字符匹配单元;
所述第二并列词匹配单元,用于在所述并列词标志字符匹配单元判断待过滤语句中包含并列词标识字符时,以并列词标识字符为根节点,全句过滤以并列词标识字符为根节点的字典树,匹配并列词;若没有匹配到并列词,则进入所述排除词标志字符匹配单元;若匹配到了并列词,则进入所述第二拦截单元;
所述排除词标志字符匹配单元,用于判断主敏感词的最后一个字符是否包含排除词标志字符;若不包含排除词标志字符,则进入所述第二拦截单元;若包含排除词标志字符,则进入所述第二排除词匹配单元;
所述第二排除词匹配单元,用于以排除词标识字符为根节点,全句过滤以排除词标识字符为根节点的字典树,匹配排除词;若没有匹配到排除词,则进入所述第二拦截单元;若匹配到了排除词,进入所述第二释放单元;
所述第二释放单元,用于释放该语句;
所述第二拦截单元,用于拦截该语句。
10.根据权利要求9所述的基于多层字典树的敏感词过滤系统,其特征在于,所述过滤模块还包括第二标识单元;
所述第二标志单元,用于向待过滤语句中的主敏感词、并列词、以及排除词的结束符添加标志字符。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711307853.XA CN108038190A (zh) | 2017-12-11 | 2017-12-11 | 基于多层字典树的敏感词过滤方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711307853.XA CN108038190A (zh) | 2017-12-11 | 2017-12-11 | 基于多层字典树的敏感词过滤方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108038190A true CN108038190A (zh) | 2018-05-15 |
Family
ID=62101725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711307853.XA Pending CN108038190A (zh) | 2017-12-11 | 2017-12-11 | 基于多层字典树的敏感词过滤方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108038190A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109145082A (zh) * | 2018-08-09 | 2019-01-04 | 北京中关村科金技术有限公司 | 一种用于智能对话系统的敏感词检测方法 |
CN109284438A (zh) * | 2018-08-15 | 2019-01-29 | 深圳点猫科技有限公司 | 一种利用前端编程语言过滤敏感词的方法以及电子设备 |
CN109766447A (zh) * | 2018-12-25 | 2019-05-17 | 东软集团股份有限公司 | 一种确定敏感信息的方法和装置 |
CN110704861A (zh) * | 2019-08-07 | 2020-01-17 | 荣邦科技有限公司 | 一种基于开放接口实时脱敏的方法、装置及系统 |
CN111159329A (zh) * | 2019-12-24 | 2020-05-15 | 深圳市优必选科技股份有限公司 | 敏感词检测方法、装置、终端设备和计算机可读存储介质 |
CN113157904A (zh) * | 2021-03-30 | 2021-07-23 | 北京优医达智慧健康科技有限公司 | 基于dfa算法的敏感词过滤方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477544A (zh) * | 2009-01-12 | 2009-07-08 | 腾讯科技(深圳)有限公司 | 一种识别垃圾文本的方法和系统 |
CN101888445A (zh) * | 2010-04-30 | 2010-11-17 | 南京邮电大学 | 一种引进查询软件的综合性短信过滤方法 |
CN105574090A (zh) * | 2015-12-10 | 2016-05-11 | 北京中科汇联科技股份有限公司 | 一种敏感词过滤方法及系统 |
CN105843950A (zh) * | 2016-04-12 | 2016-08-10 | 乐视控股(北京)有限公司 | 敏感词过滤方法及装置 |
CN106055541A (zh) * | 2016-06-29 | 2016-10-26 | 清华大学 | 一种新闻内容敏感词过滤方法及系统 |
CN107392433A (zh) * | 2017-06-27 | 2017-11-24 | 北京神州泰岳软件股份有限公司 | 一种提取企业关联关系信息的方法和装置 |
-
2017
- 2017-12-11 CN CN201711307853.XA patent/CN108038190A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477544A (zh) * | 2009-01-12 | 2009-07-08 | 腾讯科技(深圳)有限公司 | 一种识别垃圾文本的方法和系统 |
CN101888445A (zh) * | 2010-04-30 | 2010-11-17 | 南京邮电大学 | 一种引进查询软件的综合性短信过滤方法 |
CN105574090A (zh) * | 2015-12-10 | 2016-05-11 | 北京中科汇联科技股份有限公司 | 一种敏感词过滤方法及系统 |
CN105843950A (zh) * | 2016-04-12 | 2016-08-10 | 乐视控股(北京)有限公司 | 敏感词过滤方法及装置 |
CN106055541A (zh) * | 2016-06-29 | 2016-10-26 | 清华大学 | 一种新闻内容敏感词过滤方法及系统 |
CN107392433A (zh) * | 2017-06-27 | 2017-11-24 | 北京神州泰岳软件股份有限公司 | 一种提取企业关联关系信息的方法和装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109145082A (zh) * | 2018-08-09 | 2019-01-04 | 北京中关村科金技术有限公司 | 一种用于智能对话系统的敏感词检测方法 |
CN109284438A (zh) * | 2018-08-15 | 2019-01-29 | 深圳点猫科技有限公司 | 一种利用前端编程语言过滤敏感词的方法以及电子设备 |
CN109766447A (zh) * | 2018-12-25 | 2019-05-17 | 东软集团股份有限公司 | 一种确定敏感信息的方法和装置 |
CN110704861A (zh) * | 2019-08-07 | 2020-01-17 | 荣邦科技有限公司 | 一种基于开放接口实时脱敏的方法、装置及系统 |
CN110704861B (zh) * | 2019-08-07 | 2023-03-24 | 荣邦科技有限公司 | 一种基于开放接口实时脱敏的方法、装置及系统 |
CN111159329A (zh) * | 2019-12-24 | 2020-05-15 | 深圳市优必选科技股份有限公司 | 敏感词检测方法、装置、终端设备和计算机可读存储介质 |
CN111159329B (zh) * | 2019-12-24 | 2023-09-08 | 深圳市优必选科技股份有限公司 | 敏感词检测方法、装置、终端设备和计算机可读存储介质 |
CN113157904A (zh) * | 2021-03-30 | 2021-07-23 | 北京优医达智慧健康科技有限公司 | 基于dfa算法的敏感词过滤方法及系统 |
CN113157904B (zh) * | 2021-03-30 | 2024-02-09 | 北京优医达智慧健康科技有限公司 | 基于dfa算法的敏感词过滤方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108038190A (zh) | 基于多层字典树的敏感词过滤方法及系统 | |
Fodor | Parsing to learn | |
CN103871407B (zh) | 语音识别错误的纠正方法及装置 | |
Anttila | PROTO-INDO-EUROPEAN SCHWEBEABLAUT. | |
US10796077B2 (en) | Rule matching method and device | |
CN107025239B (zh) | 敏感词过滤的方法和装置 | |
CN104462532B (zh) | 网页正文提取的方法和装置 | |
CN109408811A (zh) | 一种数据处理方法及服务器 | |
CN103853843B (zh) | 一种基于主数据映射实现跨安全域数据集中的方法 | |
CN110120912A (zh) | 富媒体内容处理方法、装置、可读存储介质和计算机设备 | |
CN106547895A (zh) | 一种网页信息的提取方法及装置 | |
Zhang et al. | Towards llm-based fact verification on news claims with a hierarchical step-by-step prompting method | |
CN104516870B (zh) | 一种译文检查方法及其系统 | |
Xu et al. | The Earth is Flat because...: Investigating LLMs' Belief towards Misinformation via Persuasive Conversation | |
CN102207979A (zh) | 一种敏感词匹配方法和系统 | |
CN110909168A (zh) | 知识图谱的更新方法和装置、存储介质及电子装置 | |
CN106874294A (zh) | 一种信息匹配方法及装置 | |
CN112883725A (zh) | 一种文案生成方法、装置、电子设备、存储介质 | |
CN108257014A (zh) | 核保流程创建方法及装置 | |
CN108494613A (zh) | 一种警用数字集群系统间互联互通的测试系统和方法 | |
US20150019382A1 (en) | Corpus creation device, corpus creation method and corpus creation program | |
WO2023103943A1 (zh) | 图片处理方法、装置及电子设备 | |
CN106775914B (zh) | 一种自动生成键值的代码国际化方法及装置 | |
CN110136006A (zh) | 基于应用程序的产品风险提示方法及装置 | |
CN115952201A (zh) | 数据查询方法、装置、系统及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180515 |