CN102682090B - 一种基于聚合词树的敏感词匹配处理系统及方法 - Google Patents
一种基于聚合词树的敏感词匹配处理系统及方法 Download PDFInfo
- Publication number
- CN102682090B CN102682090B CN201210123747.7A CN201210123747A CN102682090B CN 102682090 B CN102682090 B CN 102682090B CN 201210123747 A CN201210123747 A CN 201210123747A CN 102682090 B CN102682090 B CN 102682090B
- Authority
- CN
- China
- Prior art keywords
- word
- sensitive
- target information
- tree
- chain
- 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.)
- Expired - Fee Related
Links
Landscapes
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于聚合词树的敏感词匹配处理系统及方法,该系统包括敏感词库单元、聚合词树算法处理器、语义分析单元、行业领域分析单元。通过聚合词树的方式对敏感词库中的敏感词进行聚合,形成词树结构,使敏感词库的数据结构有序,节省了内存空间,提高了匹配效率。本发明结合了行业规则的运用,并结合语义分析和行业环境进行过滤的方式,排除了那些在相应行业领域不属于敏感词范畴的关键词,减少了敏感词匹配的错误,提高了匹配准确率。
Description
技术领域
本发明涉及信息系统数据处理领域,特别涉及一种基于聚合词树的敏感词匹配处理系统及方法。
背景技术
在互联网应用日益发达的今天,互联网信息越来越丰富,与此同时,带有敏感政治倾向、暴力倾向、不健康内容等不良信息也随之泛滥,为了净化网络环境,因此在需要对外发布信息的互联网场合中,其内容是要经过审查,审查通过后才能在互联网上公开。信息内容审查初期,都是通过人工进行审核,这种审核方式虽然准确,但随着信息的快速增长,这种方式凸显审查效率低、人员负荷重的缺点,在这种情况下,自动化的系统处理方式的需求越来越强烈。
随着各种自动化处理系统的产生,其处理方式都是针对敏感词库,基于敏感词库对目标信息进行敏感词提取操作,而对于敏感词匹配来说,有两个关键点:匹配效率和匹配准确率。匹配效率体现了在对大量敏感词以及大量目标信息处理时的响应时间;匹配准确率体现了对于一个敏感词要尽量区分语境,不能误将非敏感词判断为敏感词而进行处理。
目前较为流行且成熟的处理方法有:
1、简单文本搜索与替换。
这种方式是以敏感词库为主体,对目标信息进行匹配,就是循环把每个敏感词在目标信息中从头到尾搜索一遍,如果在目标信息中有匹配成功的敏感词,那就找到一个就处理一个。
优点:算法简单,实现方法简单。
缺点:(1)匹配效率太低。因为需要遍历敏感词库中的每个敏感词,当敏感词数量很多、目标信息容量很大时,其匹配效率是该算法的致命问题。
(2) 匹配准确率太低。比如,有一个敏感词为as,那目标信息中包含hash、class等词语中的as都会被匹配、处理,导致错误的处理结果。
2、DFA算法
这个算法是以目标信息为主体,将所有敏感词构建为词图,以任意一个字开始,都可以查出以该字为开头的敏感词。对目标信息进行逐一搜索,并判断每个字是否在词图中存在,如果存在看是否有对应的词存在,如果存在,则匹配成功,记录下来,继续往下搜索直到搜索完整个目标信息。
优点:比“简单文本搜索与替换”方法效率高。
缺点:(1)算法复杂,实现成本高。
(2)匹配准确率比较低。
(3)内存占用高,使系统启动速度慢。
现有技术中“一种敏感词匹配方法和系统”(申请号:201110181501.0;公布号:CN102207979A),根据敏感词库中的所有敏感词汇生成多个确定有限自动机DFA图,对于给定的待判定信息,从首字开始,逐字从DFA图的入口开始匹配,直到到达该DFA的出口,则匹配成功。这种技术方案不需要反复遍历,提高了性能。由于生成DFA图消耗大量资源,因此针对敏感词库中的敏感词是动态变化、持续增长的情况,此专利提出的技术方案还是会由于反复重构DFA图,造成大量资源的反复被消耗,还是会造成内存占用高,使系统启动速度慢。
敏感词匹配处理应用的范围很广,包括电子商务平台,企业内部管理系统,企业展示网站等,在这些系统中,敏感词匹配处理都起着重要的作用。因此,如何实现提高敏感词的匹配效率和匹配准确率是一个亟待解决的问题。
发明内容
本发明提供了一种基于聚合词树的敏感词匹配处理的系统及方法,用以解决现有技术方法中在敏感词匹配方面效率低和准确率低的问题。
本发明技术方案如下:一种基于聚合词树的敏感词匹配处理系统,包括敏感词库单元、聚合词树算法处理器、语义分析单元、行业领域分析单元,匹配结果输出单元。
敏感词库单元,用于保存长期积累的各类行业敏感词,以及具有敏感政治倾向、暴力倾向、不健康内容的词语。敏感词库单元由专门的管理系统进行维护。
聚合词树算法处理器,用于对敏感词库进行预处理,形成多棵词树的结构,然后通过词树对目标信息进行敏感词匹配。其中包括聚合词树生成单元、目标信息匹配单元。
聚合词树生成单元,用于将敏感词库中的每个敏感词按照聚合词方式建立词链,词链上的每个结点就是该词的每个字对应的特征码,每个词链的结尾都有一个结尾标志。然后将多条词链聚合成一棵词树,这样,整个敏感词库中的所有敏感词通过聚合词树的方法会聚合成多棵词树。再根据这些词树的根结点特征码算出它们的地址,存入内存地址表中备用。
目标信息匹配单元,用于读入目标信息,进行敏感词查找。扫描目标信息中的每个字,按顺序判断这些字的特征码地址是否在内存地址表中,如果不在,则直接扫描下一个字;如果在,则取出这个字对应的词树,这个字在这棵词树的根结点上。再判断下一个字是否在这棵词树中所有词链的第二个结点上,如果不在,则重新判断这个字的特征码的地址是否在内存地址表中,如果在,则在这棵词树上提取相对应的词链。在提取的这条词链上,判断这个字后是否有结束标志,如果有结束标志,则表示已经在目标信息中成功匹配一个关键词。如果没有结束标志,则按顺序判断目标信息中下一个字是否在这条词链的第三个结点上,如果在,判断这个字后是否有结束标志,如果不在,则表示匹配不成功,重新判断词链上第二个结点的特征码的地址在不在内存地址表中。依此类推,直到目标信息中的字一直能构成这棵词树上的一条完整的词链。
语义分析单元,用于对初步匹配成功的关键词,结合关键词在目标信息中上下文的内容进行语义分析,根据业务规则,判断这个关键词在文中是否是敏感词,例如,尽管“黄色”是敏感词库中的敏感词,但结合目标信息上下文进行语义分析,发现在目标信息中是“黄色的玫瑰”、“淡黄色”,那么这种情况下,“黄色”就不属于敏感词。
行业领域分析单元,用于根据目标信息的属性确定其行业领域,通过事先设置的行业规则,判断初步匹配成功的关键词,在对应的行业领域内是否属于敏感词,例如关键词“黄色”在文化娱乐领域属于敏感词,而在服装领域却不属于敏感词。通过业务规则进行过滤后,排除对于所在领域不属于敏感词的关键词,提高敏感词匹配准确率。
匹配结果输出单元,用于在匹配工作结束后,根据用户事先自定义的标识处理规则,对匹配成功的敏感词确定标识处理方式,并获取敏感词的相关属性,包括敏感词全称、敏感词位置、敏感词长度等,把这些属性以及标识方式作为输出结果传递给信息系统的信息审核子系统,信息审核子系统根据这些输出结果来确定对目标信息中敏感词的处理方式。对于标识处理规则,用户可以进行自定义,包括:对目标信息中的敏感词以特定颜色标出,对敏感词用特定字体标出,或对敏感词以高亮的形式标出等多种方式。本单元输出包括:
(1)布尔数据,表示目标信息中是否含有敏感词。
(2)字符串数据,表示目标信息中所含有的所有敏感词。
(3)整数型数组,表示敏感词的首字在目标信息中的位置,以及敏感词的长度。
一种基于聚合词树的敏感词匹配处理的方法,包括:
将敏感词库中的每个敏感词建立成一条条的词链,词链上的每个点就是该词中每个字对应的特征码,例如hash码或机器码,每个词链的结尾都有一个结束标志。
将多条首字相同的词链聚合成一棵“词树”,这样,整个敏感词库中的所有敏感词会聚合成几十棵,甚至几百棵词树。根据这些词树根结点的特征码算出它们的地址,存入一个内存地址表中。
敏感词库中增加新的敏感词后,这些新的敏感词形成新的词链,添加到所对应的词树中,如果不存在对应的词树,那么具有相同首字的多条新词链就形成新的词树。
读入目标信息进行扫描,按顺序扫描其中的每个字时,判断这个字的特征码地址是否在内存地址表中,如果不在,则直接扫描下一个字;如果在,则取出这个字对应的词树,这个字在这棵词树的根结点上。
再判断目标信息中下一个字是否在这棵词树中所有词链的第二个结点上,如果不在,则重新判断这个字的特征码地址是否在内存地址表中;如果在,则从这棵词树上提取相对应的词链。
在这条被提取的词链上,判断这个字后是否有结束标志,如果有结束标志,则表示已经在目标信息中成功匹配一个关键词,进行后续处理。如果没有结束标志,则在目标信息中按顺序取下一个字,判断是否在这条词链的第三个结点上,如果在,判断这个字后是否有结束标志,如果不在,则表示匹配不成功,重新判断词链上第二个结点的特征码的地址在不在内存地址表中。
依此类推,直到后面的字一直能构成这棵词树上的一条完整的词链,表示找到初步匹配成功的关键词。
初步匹配成功后的关键词需要根据语境以及行业规则进行进一步识别:
对于初步匹配成功的关键词,结合关键词在目标信息中的上下文内容进行语义分析,根据业务规则,判断这个关键词在文中是否是敏感词,例如,尽管“黄色”是敏感词库中的敏感词,但在目标信息中,结合“黄色”的上下文进行语义分析,发现在目标信息中是“黄色的玫瑰”或“淡黄色”,那么这种情况下,“黄色”在目标信息中不属于敏感词。
对于扫描的目标信息,根据其属性确定其行业领域,通过事先设置的行业规则,判断初步匹配成功的敏感词,在所在的行业领域内是否属于敏感词,例如关键词“黄色”在文化娱乐领域属于敏感词,而在服装领域却不属于敏感词。通过业务规则进行过滤后,排除掉那些对于所在领域来说不属于敏感词范畴的关键词。
当完成目标信息的敏感词匹配工作后,匹配结果输出单元开始工作,针对目标信息中包含敏感词,确定专门的标识处理方式,并获取敏感词的相关属性,包括敏感词全称、敏感词位置、敏感词长度等,把这些属性以及标识方式作为输出结果传递给信息系统的信息审核子系统。其中,标识处理规则可以进行用户自定义,包括:对目标信息中的敏感词以特定颜色标出,对敏感词用特定字体标出,或对敏感词以高亮的形式标出等多种方式。匹配结果输出单元输出数据包括:
(1)布尔数据,表示目标信息中是否含有敏感词。用于在信息审核系统的列表中,区分显示含有敏感词的目标信息和不含敏感词的目标信息。
(2)字符串数据,表示目标信息中所含有的所有敏感词。用于在信息审核系统中,显示每条目录信息中包含的敏感词。
(3)整数型数组,表示敏感词的首字在目标信息中的位置,以及敏感词的长度。用于在信息审核系统的目标信息详细页中,以选择好的标识处理方式对目标信息中的敏感词进行标识,以方便快速辨认。
本发明的有益效果如下:
(1)本发明对敏感词库中的敏感词进行聚合,形成词链和词树,使敏感词库的数据结构更加有序,节省了内存空间,提高了敏感词的匹配速度,从而提高了匹配效率。
(2)本发明结合了行业规则的运用,排除了那些在相应行业领域来说不属于敏感词范畴的关键词,并根据关键词的上下文进行语义分析,减少了敏感词匹配的错误,提高了系统的匹配准确率。
(3)本发明可以适应大数量规模的敏感词,并且可以适应不同长度敏感词。
(4)敏感词随着时间的变化会发生变化,随着互联网应用的深入,敏感词的数量不断增加,本发明能够对不断变化着的敏感词库进行快速、实时的聚合词处理,适应性强。
附图说明
图1 为本发明实施例中的系统结构图。
图2 为本发明实施例中的聚合词树算法处理器结构示意图。
图3 为本发明实施例中的词树示意图。
图4 为本发明实施例中的敏感词库预处理流程图。
图5 为本发明实施例中的关键词匹配流程图。
图6 为本发明实施例中关键词过滤处理流程图。
具体实施方式
本发明提供了一种基于聚合词树的敏感词匹配处理的系统及方法,利用聚合词树的算法,提高的敏感词的匹配效率,并结合语义分析和行业规则进行过滤的方式,提升了敏感词匹配准确率。
参阅图1所示,本发明实施例中的系统包括信息系统10、敏感词匹配处理系统11。
所述信息系统10,信息系统的范围比较广,例如电子商务平台,企业展示网站,以及企业内部管理系统等都属于信息系统范畴。它包括信息审核子系统100、信息发布子系统101。
所述信息审核子系统100,用于信息系统的用户输入各类信息,例如在电子商务平台中,输入公司信息、产品信息、商情信息等信息。除此之外,还用于信息系统的管理人员查看目标信息中包含的敏感词情况,其中的敏感词以醒目的方式标识以利于快速辨认。
所述信息发布子系统101,用于在信息系统中,对外公布审核合格的各类目标信息。
所述敏感词匹配处理系统11,包括敏感词库单元110、聚合词树算法处理器111、语义分析单元112、行业领域分析单元113、匹配结果输出单元114。
所述敏感词库单元110,用于保存信息系统运行中长期积累的各类敏感词,包括行业敏感词,以及具有敏感政治倾向、暴力倾向、不健康内容的词语等。敏感词库单元由专门的管理系统进行长期维护。
所述聚合词树算法处理器111,用于对敏感词库进行预处理,以及对目标信息内容进行敏感词匹配的处理工作。
所述语义分析单元112,用于针对初步匹配成功后的关键词,结合关键词在目标信息上下文的内容进行语义分析,根据业务规则,判断这个关键词在文中是否是敏感词,例如,尽管“黄色”是结果敏感词库匹配成功的关键词,但结合上下文进行语义分析,发现在文中是“黄色的玫瑰”、“淡黄色”,那么这种情况下,“黄色”不属于敏感词。
行业领域分析单元113,用于根据目标信息的属性确定其所在的行业领域,根据事先设置的行业规则,对于通过语义分析单元判断的关键词,判断这些关键词在目标信息对应行业领域内是否属于敏感词,例如关键词“黄色”在文化娱乐领域属于敏感词,而在服装领域却不属于敏感词。通过业务规则进行过滤后,排除对于所在领域不属于敏感词的关键词。
匹配结果输出单元114,用于在匹配工作结束后,根据用户事先自定义的处理规则,对匹配成功的敏感词,确定其标识处理方式,并获取敏感词的相关属性,包括敏感词全称、敏感词位置、敏感词长度等,把这些属性和标识处理方式作为输出结果传递给信息系统的信息审核子系统100,由信息审核子系统根据这些输出结果来确定对目标信息中敏感词的处理及表现方式。对于标识处理规则,用户可以进行自定义,包括:对目标信息中的敏感词以特定颜色标出,对敏感词用特定字体标出,或对敏感词以高亮的形式标出等多种方式。本单元输出包括:
(1)布尔数据,表示目标信息中是否含有敏感词。用于在信息审核系统的列表中,区分显示含有敏感词的目标信息和不含敏感词的目标信息。
(2)字符串数据,表示目标信息中所含有的所有敏感词。用于在信息审核系统中,显示每条目录信息中包含的敏感词。
(3)整数型数组,表示敏感词的首字在目标信息中的位置,以及敏感词的长度。用于在信息审核系统的目标信息详细页中,以选择好的标识处理方式对目标信息中的敏感词进行标识,以方便快速辨认。
参阅图2所示,本发明实施例中的的聚合词树算法处理器结构包括聚合词树生成单元20、目标信息匹配单元21。
聚合词树生成单元20,用于将敏感词库中的每个敏感词按照聚合方式建立词链,词链上的每个结点就是该词中每个字对应的特征码,每个词链的结尾都有一个结尾标志。然后将多条词链聚合成一棵词树,这样,整个词库中的所有词会聚合成几十棵,甚至几百棵词树。再根据这些棵词树的根结点特征码算出它们的地址,存入一个内存地址表中备用。
目标信息匹配单元21,用于读入目标信息,按顺序扫描其中每个字,判断这个字的特征码的地址是否在内存地址表中,如果不在,则直接扫描下一个字;如果在,则提取这个字对应的词树,这个字在这棵词树的根结点上。再判断目标信息的下一个字是否在这棵词树中所有词链的第二个结点上,如果不在,则重新判断这个字的特征码的地址是否在内存地址表中;如果在,则在这棵词树上提取相对应的词链。在提取的这条词链上,判断这个字后是否有结束标志,如果有结束标志,则表示已经在目标信息中成功匹配一个关键词,然后进行后续处理。如果没有结束标志,则继续判断目标信息中按顺序后一个字是否在这条词链的第三个结点上,如果在,判断这个字后是否有结束标志,如果不在,则表示匹配不成功,重新判断该词链上第二个结点的特征码的地址是否在内存地址表中。依此类推,直到目标信息中存在连续的字一直能对应构成这棵词树上的一条完整的词链。
参阅图3所示,本发明实施例中的词树包括根结点30,中间结点31、结束标志32,词链33,子词链34。
所述根结点30,是多个敏感词中首字相同的字对应的结点。
所述中间结点31,是指敏感词中除首字外,其他字对应的结点。
所述结束标志32,指对应词链的末尾标志。
所述词链33,是由一个完整敏感词按照顺序形成,由一个根结点30,一个或多个中间结点31、以及一个结束标志32组成。
所述子词链34,对于词树中的词链来说,当前面几个结点相同,而后面的结点不相同时,一条词链上出现了分支,其中的分支就构成了子词链,它由一个或多个中间结点31、以及一个结束标志32组成。
参阅图4所示,本发明实施例中的敏感词库预处理流程如下:
步骤401,根据敏感词库中的敏感词,建立多条词链。
步骤402,将首字相同的词链进行聚合,形成词树。
步骤403,处理整个敏感词库,形成多棵词树。
步骤404,根据每棵词树的根结点特征码,算出它们的地址。
步骤405,把这些地址存入内存地址表中,以备随时调用。
例如,其处理代码如下:
/**
* 初始使用时,构造、聚合生成词库树。并返回所有敏感词中最短的词的长度(文本过短时直接判断是否可能存在敏感词,而不需要查找,以提高效率)。
* param sensitiveWords 词库
* param wordsTree 聚合词库的树
* return 返回所有敏感词中最短的词的长度。
/
public int generalTree(Set<Keyword> sensitiveWords, Map<String, Map> wordsTree) {
int len = 0;
if (wordsTree == null) {
return len;
}
// 如果敏感词表为空,则清空词树
if (sensitiveWords == null || sensitiveWords.isEmpty()) {
wordsTree.clear();
return len;
}
wordsTreeTmp.clear();
for (Keyword w : sensitiveWords) {
if (len == 0) {
len = w.getWordLength();
}
else if (w.getWordLength() < len) {
len = w.getWordLength();
}
Map<String, Map> cateTree = wordsTreeTmp.get(w.getModule().toString());
if (cateTree == null) {
cateTree = new HashMap<String, Map>();
}
AnalysisUtils.makeTreeByWord(cateTree, w.getWord(), w);// 这里将词分解成一个个的词元组成一个链存入树中
wordsTreeTmp.put(w.getModule().toString(), cateTree);
}
wordsTree.clear();
wordsTree.putAll(wordsTreeTmp);
return len;
}
参阅图5所示,本发明实施例中的敏感词匹配流程如下:
步骤500,读入要进行审核的目标信息。
步骤501,对目标信息中的每个字,按顺序进行扫描。
步骤502,判断这个字的特征码地址是否在内存地址表中。如果在,那么进行步骤503,如果不在,返回到步骤501,进行扫描信息内容中的下一个字。
步骤503,提取这个字所对应的词树。
步骤504,按顺序扫描目标信息中的下一个字。
步骤505,判断这个字是否在这棵词树中所有词链的次一级结点上,如果在,进行步骤506,否则,执行步骤502。
步骤506,在这棵词树上提取相对应的词链。
步骤507,判断这个字后面是否有结束标志,如果有,执行步骤514,如果没有,执行步骤508.
步骤508,扫描目标信息内容中的下一个字。
步骤509,判断此结点往下是否有分支,如果没有,执行步骤510,如果有,执行步骤512。
步骤510,判断这个字是否在这条词链的次一级结点上,如果在,执行步骤507,如果不在,执行步骤511。
步骤511,重新提取这条词链的第二结点对应的字,然后执行步骤502.
步骤512,判断这个字是否在这条词链中所有子词链的次一级结点上,如果是,执行步骤513,如果不是,执行步骤511。
步骤513,提取对应的字词链,然后执行步骤507。
步骤514,成功匹配一条敏感词。
参阅图6所示,本发明实施例中的关键词过滤处理流程如下:
步骤601,语义分析单元读取初步匹配成功的关键词。
步骤602,结合关键词在目标信息中的上下文进行语义分析。
步骤603,判断是否符合敏感词条件,如果是,执行步骤604,如果不是,执行步骤608。
步骤604,进入行业领域分析单元。
步骤605,根据目标信息的属性确定行业领域。
步骤606,根据行业特点判断是否是敏感词,如果是,执行步骤607,如果不是,执行步骤608。
步骤607,确认此关键词是一个敏感词。
步骤608,对目标信息中确认后的敏感词进行标识处理,并获取这些敏感词的属性,包括敏感词全称、敏感词在目标信息中的位置,以及敏感词长度等,以便传递给信息审核子系统。
步骤609,结束。
例如,其处理代码如下:
/**
* 根据级别、行业、结合业务的规则等各种匹配方式返回相应的实际敏感词。
* param baseWords 查找到的词库中定义的词!
* param pre 文本中词的前面的内容
* param sufix 文本中词的后面的内容
* param rule 自定义或扩展的验证规则
* return
*/
private static MatchedWord checkAndReturn(List<MatchedWord> baseWords, String pre, String sufix, MatchRule rule) {
// 匹配符合条件,则返回对应的词
return rule.matchWord(baseWords, pre, sufix);
}
本发明提供了一种基于聚合词树的敏感词匹配处理系统及方法,通过聚合词树的方式对敏感词库中的敏感词进行聚合,使敏感词库的数据结构更加有序,节省了内存空间,提高了匹配效率。本发明结合了行业规则的运用,排除了那些在相应行业领域来说不属于敏感词范畴的关键词,并结合语义分析和行业规则进行过滤的方式,减少了敏感词匹配的错误,提高了系统的匹配准确率。
Claims (2)
1.一种基于聚合词树的敏感词匹配处理的方法,其特征在于,包括:
将敏感词库中的每个敏感词建立为词链,词链上的每个点就是该词中每个字对应的特征码,每个词链的结尾都有一个结束标志,将多条首字相同的词链聚合成一棵词树,整个敏感词库中的所有敏感词会聚合成多棵词树;构造、生成词树时,返回词树所包含敏感词中最短敏感词的长度;根据这些词树根结点的特征码算出它们的地址,存入一个内存地址表中备用;
敏感词库中增加新的敏感词后,这些新的敏感词实时形成新的词链,并实时添加到所对应的词树中,如不存在对应的词树,那么具有首字相同的新词链就实时形成新的词树;
读入目标信息进行扫描查找,首先判断文本中所扫描句子的长度,文本句子长度小于词树中最短敏感词的长度,则直接判断其不可能存在敏感词,而跳过此句,不进行匹配操作;按顺序扫描其中的每个字,判断如果目标信息中的字能构成词树上的一条完整的词链,就获得初步匹配成功的关键词;
利用语义分析方法,获得句子中敏感词前面的词语,以及敏感词后面的词语,根据获得的多个词语通过文本聚类的方式确定该文本属于哪个行业内的信息,最后判断这个关键词在目标信息中是否是敏感词;如果是,对目标信息中的敏感词进行处理;
在规定的时间内,没有被使用的词树,将退出内存,保证内存的资源充足;
扫描目标信息中每个字,判断这个字的特征码地址是否在内存地址表中,如果不在,则直接扫描下一个字;如果在,则取出这个字对应的词树,这个字在这棵词树的根结点上;再判断下一个字在不在这棵词树中所有词链的第二个结点上,如果不在,则重新判断这个字的特征码是否在内存地址表中;如果在,则在这棵词树上提取相对应的词链,在提取的这条词链上,判断这个字后是否有结束标志,如果有结束标志,则表示已经成功匹配敏感词;
在这条被提取的词链上,判断这个字后是否有结束标志,如果有结束标志,则表示已经在目标信息中成功匹配一个关键词,进行后续处理;如果没有结束标志,则在目标信息中按顺序取下一个字,判断是否在这条词链的第三个结点上,如果在,判断这个字后是否有结束标志,如果不在,则表示匹配不成功,重新判断词链上第二个结点的特征码的地址在不在内存地址表中;
结合关键词在目标信息上下文的内容进行语义分析,获得句子中敏感词前面的词语,以及敏感词后面的词语,根据获得的多个词语通过文本聚类的方式确定该文本属于哪个行业内的信息,根据业务规则,判断这个关键词在文中是否是敏感词;
根据目标信息属性确定其行业领域,通过事先设置的行业规则,判断初步匹配成功的关键词,在所在的行业领域内是否属于敏感词。
2.如权利要求1所述方法,其特征在于,当完成目标信息的敏感词匹配工作后,针对目标信息中包含敏感词,确定专门的标识处理方式,并获取敏感词的相关属性,把这些属性以及标识方式作为结果输出;输出数据包括:
布尔数据,表示目标信息中是否含有敏感词,用于在信息审核系统的列表中,区分显示含有敏感词的目标信息和不含敏感词的目标信息;
字符串数据,表示目标信息中所含有的所有敏感词,用于在信息审核系统中,显示每条目录信息中包含的敏感词;
整数型数组,表示敏感词的首字在目标信息中的位置,以及敏感词的长度,用于在信息审核系统的目标信息详细页中,以选择好的标识处理方式对目标信息中的敏感词进行标识,以方便快速辨认;
所述敏感词匹配流程如下:
步骤500,读入要进行审核的目标信息;
步骤501,对目标信息中的每个字,按顺序进行扫描;
步骤502,判断这个字的特征码地址是否在内存地址表中;如果在,那么进行步骤503,如果不在,返回到步骤501,进行扫描信息内容中的下一个字;
步骤503,提取这个字所对应的词树;
步骤504,按顺序扫描目标信息中的下一个字;
步骤505,判断这个字是否在这棵词树中所有词链的次一级结点上,如果在,进行步骤506,否则,执行步骤502;
步骤506,在这棵词树上提取相对应的词链;
步骤507,判断这个字后面是否有结束标志,如果有,执行步骤514,如果没有,执行步骤508;
步骤508,扫描目标信息内容中的下一个字;
步骤509,判断此结点往下是否有分支,如果没有,执行步骤510,如果有,执行步骤512;
步骤510,判断这个字是否在这条词链的次一级结点上,如果在,执行步骤507,如果不在,执行步骤511;
步骤511,重新提取这条词链的第二结点对应的字,然后执行步骤502;
步骤512,判断这个字是否在这条词链中所有子词链的次一级结点上,如果是,执行步骤513,如果不是,执行步骤511;
步骤513,提取对应的字词链,然后执行步骤507;
步骤514,成功匹配一条敏感词。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210123747.7A CN102682090B (zh) | 2012-04-26 | 2012-04-26 | 一种基于聚合词树的敏感词匹配处理系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210123747.7A CN102682090B (zh) | 2012-04-26 | 2012-04-26 | 一种基于聚合词树的敏感词匹配处理系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102682090A CN102682090A (zh) | 2012-09-19 |
CN102682090B true CN102682090B (zh) | 2015-09-02 |
Family
ID=46814015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210123747.7A Expired - Fee Related CN102682090B (zh) | 2012-04-26 | 2012-04-26 | 一种基于聚合词树的敏感词匹配处理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102682090B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105868905A (zh) * | 2016-03-28 | 2016-08-17 | 国网天津市电力公司 | 一种基于敏感内容感知的管控系统 |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678356B (zh) * | 2012-09-11 | 2018-05-25 | 北京百度网讯科技有限公司 | 一种用于获取关键词的应用领域属性信息的方法、装置与设备 |
CN102930041A (zh) * | 2012-11-12 | 2013-02-13 | 江苏外博资讯有限公司 | 一种基于用户行为信息的检索结果实时更新方法及其系统 |
CN104050191B (zh) * | 2013-03-14 | 2019-04-12 | 北京百度网讯科技有限公司 | 对推广信息进行监控的方法和设备 |
CN103617251A (zh) * | 2013-11-28 | 2014-03-05 | 金蝶软件(中国)有限公司 | 一种敏感词匹配方法及系统 |
CN105320659A (zh) * | 2014-06-04 | 2016-02-10 | 同程网络科技股份有限公司 | 敏感词过滤方法 |
CN104933025A (zh) * | 2015-06-09 | 2015-09-23 | 小米科技有限责任公司 | 信息显示方法及装置 |
CN105893415A (zh) * | 2015-11-30 | 2016-08-24 | 乐视网信息技术(北京)股份有限公司 | 敏感词验证设备及方法 |
CN106874294A (zh) * | 2015-12-14 | 2017-06-20 | 阿里巴巴集团控股有限公司 | 一种信息匹配方法及装置 |
CN107025239B (zh) * | 2016-02-01 | 2019-12-27 | 博雅网络游戏开发(深圳)有限公司 | 敏感词过滤的方法和装置 |
CN108268551A (zh) * | 2016-12-30 | 2018-07-10 | 北京国双科技有限公司 | 一种广告安全监测方法及装置 |
CN106909630A (zh) * | 2017-01-26 | 2017-06-30 | 武汉奇米网络科技有限公司 | 基于动态词库的敏感词过滤方法及系统 |
CN107066543B (zh) * | 2017-03-14 | 2020-08-07 | 北京潘达互娱科技有限公司 | 敏感词过滤方法和装置 |
CN107895122B (zh) * | 2017-11-08 | 2021-08-27 | 山东大学 | 一种专用敏感信息主动防御方法、装置及系统 |
CN108124191B (zh) * | 2017-12-22 | 2019-07-12 | 北京百度网讯科技有限公司 | 一种视频审核方法、装置及服务器 |
CN109740053B (zh) * | 2018-12-26 | 2021-03-05 | 广州灵聚信息科技有限公司 | 基于nlp技术的敏感词屏蔽方法和装置 |
CN109829043B (zh) * | 2018-12-28 | 2021-07-20 | 广州华多网络科技有限公司 | 词性确认方法、装置、电子设备及存储介质 |
CN110534113B (zh) * | 2019-08-26 | 2021-08-24 | 深圳追一科技有限公司 | 音频数据脱敏方法、装置、设备和存储介质 |
WO2021227059A1 (zh) | 2020-05-15 | 2021-11-18 | 深圳市世强元件网络有限公司 | 一种基于多叉树的搜索词推荐方法及系统 |
CN111737986A (zh) * | 2020-05-15 | 2020-10-02 | 深圳市世强元件网络有限公司 | 一种基于多叉树的搜索词推荐方法及系统 |
CN111914057A (zh) * | 2020-06-01 | 2020-11-10 | 杭州城市大数据运营有限公司 | 客服系统敏感词检测过滤方法和装置 |
CN112926301B (zh) * | 2020-12-28 | 2023-02-14 | 广州坚和网络科技有限公司 | 基于敏感词库构建的敏感词监控方法及装置 |
CN113157904B (zh) * | 2021-03-30 | 2024-02-09 | 北京优医达智慧健康科技有限公司 | 基于dfa算法的敏感词过滤方法及系统 |
CN113704382B (zh) * | 2021-07-28 | 2024-06-07 | 上海销氪信息科技有限公司 | 一种文本匹配方法及装置 |
CN113724735A (zh) * | 2021-09-01 | 2021-11-30 | 广州博冠信息科技有限公司 | 语音流处理方法及装置、计算机可读存储介质、电子设备 |
CN114648027B (zh) * | 2022-05-23 | 2022-09-30 | 每日互动股份有限公司 | 一种文本信息的处理方法、装置、计算机设备及存储介质 |
CN115391524B (zh) * | 2022-08-05 | 2023-04-14 | 昆仑数智科技有限责任公司 | 敏感词检测方法、装置、计算机设备、存储介质及产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101458694A (zh) * | 2008-10-09 | 2009-06-17 | 浙江大学 | 一种基于树形词库的中文分词方法 |
CN101692639A (zh) * | 2009-09-15 | 2010-04-07 | 西安交通大学 | 一种基于url的不良网页识别方法 |
CN102208992A (zh) * | 2010-06-13 | 2011-10-05 | 天津海量信息技术有限公司 | 面向互联网的不良信息过滤系统及其方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101472250A (zh) * | 2007-12-29 | 2009-07-01 | 北京大唐高鸿数据网络技术有限公司 | 针对不良短消息的关键词防范方法 |
-
2012
- 2012-04-26 CN CN201210123747.7A patent/CN102682090B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101458694A (zh) * | 2008-10-09 | 2009-06-17 | 浙江大学 | 一种基于树形词库的中文分词方法 |
CN101692639A (zh) * | 2009-09-15 | 2010-04-07 | 西安交通大学 | 一种基于url的不良网页识别方法 |
CN102208992A (zh) * | 2010-06-13 | 2011-10-05 | 天津海量信息技术有限公司 | 面向互联网的不良信息过滤系统及其方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105868905A (zh) * | 2016-03-28 | 2016-08-17 | 国网天津市电力公司 | 一种基于敏感内容感知的管控系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102682090A (zh) | 2012-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102682090B (zh) | 一种基于聚合词树的敏感词匹配处理系统及方法 | |
US7725466B2 (en) | High accuracy document information-element vector encoding server | |
CN103365992B (zh) | 一种基于一维线性空间实现Trie树的词典检索方法 | |
US20160210333A1 (en) | Method and device for mining data regular expression | |
CN112860727B (zh) | 基于大数据查询引擎的数据查询方法、装置、设备及介质 | |
CN112328732A (zh) | 敏感词检测、敏感词树构建方法及装置 | |
CN103345532A (zh) | 一种网页信息抽取方法及装置 | |
CN111026753A (zh) | 基于树形结构的标签存储方法及装置 | |
CN104834736A (zh) | 构建索引库的方法、装置及检索的方法、装置和系统 | |
CN105260357A (zh) | 基于哈希有向图的敏感词检查方法和设备 | |
GB2536898A (en) | Reconciliation processing system, method, and program | |
CN113806492B (zh) | 基于语义识别的记录生成方法、装置、设备及存储介质 | |
CN107368500B (zh) | 数据抽取方法及系统 | |
US10733213B2 (en) | Structuring unstructured machine-generated content | |
CN116775488A (zh) | 异常数据确定方法、装置、设备、介质及产品 | |
CN112214494B (zh) | 检索方法及装置 | |
CN110765100A (zh) | 标签的生成方法、装置、计算机可读存储介质及服务器 | |
CN112650791B (zh) | 字段处理方法、装置、计算机设备和存储介质 | |
CN114201376A (zh) | 基于人工智能的日志解析方法、装置、终端设备及介质 | |
CN111768767B (zh) | 用户标签提取方法和装置、服务器、计算机可读存储介质 | |
CN114115908A (zh) | 一种指令集生成、程序解析方法装置、设备以及存储介质 | |
CN103870590A (zh) | 具有报错特征的网页识别方法和装置 | |
Wang et al. | A graph-based approach for semantic similar word retrieval | |
CN113138936B (zh) | 数据处理方法、装置、存储介质及处理器 | |
CN112329469B (zh) | 一种行政地域实体识别方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20171127 Address after: Huidalu 210000 Jiangsu province Nanjing Jiangbei District No. 6 Beidou No. 2 building, building 70 room Patentee after: BAIZHUO NETWORK TECHNOLOGY CO.,LTD. Address before: 210061 Nanjing, Jiangsu Province, Nanjing high tech Industrial Development Zone star fire road software building A block 8-12F Patentee before: FOCUS TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150902 |
|
CF01 | Termination of patent right due to non-payment of annual fee |