CN115840850A - 一种敏感词检测的方法、系统、装置、设备及介质 - Google Patents

一种敏感词检测的方法、系统、装置、设备及介质 Download PDF

Info

Publication number
CN115840850A
CN115840850A CN202211545077.8A CN202211545077A CN115840850A CN 115840850 A CN115840850 A CN 115840850A CN 202211545077 A CN202211545077 A CN 202211545077A CN 115840850 A CN115840850 A CN 115840850A
Authority
CN
China
Prior art keywords
word
sensitive
sensitive word
detected
file
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
Application number
CN202211545077.8A
Other languages
English (en)
Inventor
邢恩凯
肖国颖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Original Assignee
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Topsec Technology Co Ltd, Beijing Topsec Network Security Technology Co Ltd, Beijing Topsec Software Co Ltd filed Critical Beijing Topsec Technology Co Ltd
Priority to CN202211545077.8A priority Critical patent/CN115840850A/zh
Publication of CN115840850A publication Critical patent/CN115840850A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例提供一种敏感词检测的方法、系统、装置、设备及介质,该方法包括:获取待检测文件,其中,所述待检测文件中包括多个字;将待检测文件中的每个字依次输入到敏感词检测模型中,通过所述敏感词检测模型对所述每个字进行匹配,获得所述待检测文件的敏感词检测结果,其中,所述敏感词检测模型中包含由敏感词库构建的至少一组匹配表单。通过本申请的一些实施例能够提高敏感词检测的速度和准确率。

Description

一种敏感词检测的方法、系统、装置、设备及介质
技术领域
本申请实施例涉及网络安全领域,具体涉及一种敏感词检测的方法、系统、装置、设备及介质。
背景技术
随着互联网的高速发展,企业网站和个人网站在网络中使用的越来越广泛,而对于网站的经营者来说,网站中上传的内容审核,尤其是敏感字审核是一件重要的工作。如果采用人工审核的方式,不仅耗时较长,而且容易出现漏查的情况发生。
为了解决上述问题,相关技术中依赖系统内置的敏感字词库,通过读取网页内容,对内容进行分词索引后,根据内置的每一个敏感字与索引进行匹配,从而获得匹配的结果。但是现有网站监控中的敏感字监测方法,由于创建本地索引时,需要进行大量的磁盘操作,磁盘IO性能成为影响效率的一大瓶颈。基于敏感字匹配内容的方式,需要多次匹配网页内容,效率较差,并且由于敏感字词库的匹配方式,主要是通过直接与网页中的内容对比,受限与词语上下文可能的关联性,会存在大量误报的可能。
因此,如何提高敏感字检测的效率成为需要解决的问题。
发明内容
本申请实施例提供一种敏感词检测的方法、系统、装置、设备及介质,通过本申请的一些实施例至少能够提高敏感词检测的速度和准确率。
第一方面,本申请提供了一种敏感词检测的方法,所述方法包括:获取待检测文件,其中,所述待检测文件中包括多个字;将待检测文件中的每个字依次输入到敏感词检测模型中,通过所述敏感词检测模型对所述每个字进行匹配,获得所述待检测文件的敏感词检测结果,其中,所述敏感词检测模型中包含由敏感词库构建的至少一组匹配表单。
因此,与相关技术中使用敏感词多次匹配待检测文件中的内容不同的是,本申请通过为每个敏感词建立一组匹配表单,将待检测文件中的每个字与匹配表单进行匹配,能够快速的获得敏感词匹配结果,并且提升敏感词检测的准确率。
结合第一方面,在本申请的一种实施方式中,所述匹配表单为哈希表,至少一组哈希表中包括第一组哈希表,所述第一组哈希表为所述至少一组哈希表中的任意一个;在所述将待检测文件中的每个字依次输入到敏感词检测模型中之前,所述方法还包括:将第一敏感词中的第一个字作为所述第一组哈希表中的首个索引,其中,所述第一敏感词为所述敏感词库中的任意一个,一个敏感词对应一组哈希表;将所述第一敏感词中除所述第一个字之外的剩余字,作为与所述首个索引对应的值;在所述首个索引对应的值中,基于除所述第一个字之外的剩余字,建立嵌套索引,获得所述第一组哈希表;所述通过所述敏感词检测模型对所述每个字进行匹配,获得所述待检测文件的敏感词检测结果,包括:通过所述至少一组哈希表对所述每个字进行匹配,获得所述待检测文件的敏感词检测结果。
因此,本申请通过将敏感词的第一个字作为首个索引,并且建立嵌套索引,能够在匹配字的时候快速的获得当前字的匹配状态,从而能够提升匹配速度。
结合第一方面,在本申请的一种实施方式中,所述在所述首个索引对应的值中,基于除所述第一个字之外的剩余字,建立嵌套索引,获得所述第一组哈希表,包括:将除所述第一个字之外的所述剩余字中第i个字作为索引,并且将除所述第i个字之前所有字之外的剩余字作为值,其中,i为大于或等于1的整数;将所述第i个字的索引和值嵌套在第i-1个字的对应的值中;重复上述步骤,直至所述第i个字为所述第一敏感词中的最后一个字,将所述第i个字的值设置为预设标识,获得所述第一组哈希表。
因此,本申请通过将将第i个字的索引和值嵌套在第i-1个字的对应的值中,能够依据敏感词必须是连续的字来组合这一特征,获得当前字的匹配状态。
结合第一方面,在本申请的一种实施方式中,所述敏感词检测结果包括所述待检测文件中的敏感词;所述通过所述至少一组哈希表对所述每个字进行匹配,获得所述待检测文件的敏感词检测结果,包括:在所述至少一组哈希表中查找到第j个字所对应的索引,获得与第j个字对应的值,其中,j为大于或等于1的整数;重复上述步骤,直至所述第j个字对应的值为预设标识,则将所述第j个字之前连续匹配成功的多个字组成的词,作为所述敏感词。
因此,本申请通过在匹配到预设标识时,确认连续匹配成功的多个字组成的词为敏感词,能够确定当前字的状态,提升检测稳定性。
结合第一方面,在本申请的一种实施方式中,在所述通过所述敏感词检测模型对所述每个字进行匹配,获得所述待检测文件的敏感词检测结果之后,所述方法还包括:确认所述待检测文件中存在敏感词的情况下,获取所述敏感词在所述待检测文件中的位置,并且将所述位置前后K个字与所述敏感词组成待验证词组;通过敏感词验证模型对所述待验证词组进行进一步的验证,获得所述待验证词组中正常词组;在所述待检测文件的敏感词中删除出现在所述正常词组中的敏感词,获得所述待检测文件的目标敏感词检测结果。
结合第一方面,在本申请的一种实施方式中,在所述通过敏感词验证模型对所述待验证词组进行进一步的验证,获得所述待验证词组中正常词组之前,所述方法还包括:基于所述待验证词组建立至少一组验证哈希表;所述通过敏感词验证模型对所述待验证词组进行进一步的验证,获得所述待验证词组中正常词组,包括:通过所述至少一组验证哈希表对所述待验证词组进行匹配,获得所述待验证词组中正常词组。
因此,本申请通过对检测获得的敏感词进行再一次的验证,能够找到联系上下文之后不是真正敏感词的词组,从而降低敏感词检测的误报率。
第二方面,本申请提供了一种敏感词检测的装置,所述装置包括:文件获取模块,被配置为获取待检测文件,其中,所述待检测文件中包括多个字;敏感词检测模块,被配置为将待检测文件中的每个字依次输入到敏感词检测模型中,通过所述敏感词检测模型对所述每个字进行匹配,获得所述待检测文件的敏感词检测结果,其中,所述敏感词检测模型中包含由敏感词库构建的至少一组匹配表单。
结合第二方面,在本申请的一种实施方式中,所述匹配表单为哈希表,至少一组哈希表中包括第一组哈希表,所述第一组哈希表为所述至少一组哈希表中的任意一个;所述敏感词检测模块还被配置为:将第一敏感词中的第一个字作为所述第一组哈希表中的首个索引,其中,所述第一敏感词为所述敏感词库中的任意一个,一个敏感词对应一组哈希表;将所述第一敏感词中除所述第一个字之外的剩余字,作为与所述首个索引对应的值;在所述首个索引对应的值中,基于除所述第一个字之外的剩余字,建立嵌套索引,获得所述第一组哈希表;通过所述至少一组哈希表对所述每个字进行匹配,获得所述待检测文件的敏感词检测结果。
结合第二方面,在本申请的一种实施方式中,所述敏感词检测模块还被配置为:将除所述第一个字之外的所述剩余字中第i个字作为索引,并且将除所述第i个字之前所有字之外的剩余字作为值,其中,i为大于或等于1的整数;将所述第i个字的索引和值嵌套在第i-1个字的对应的值中;重复上述步骤,直至所述第i个字为所述第一敏感词中的最后一个字,将所述第i个字的值设置为预设标识,获得所述第一组哈希表。
结合第二方面,在本申请的一种实施方式中,所述敏感词检测结果包括所述待检测文件中的敏感词;所述敏感词检测模块还被配置为:在所述至少一组哈希表中查找到第j个字所对应的索引,获得与第j个字对应的值,其中,j为大于或等于1的整数;重复上述步骤,直至所述第j个字对应的值为预设标识,则将所述第j个字之前连续匹配成功的多个字组成的词,作为所述敏感词。
结合第二方面,在本申请的一种实施方式中,所述敏感词检测模块还被配置为:确认所述待检测文件中存在敏感词的情况下,获取所述敏感词在所述待检测文件中的位置,并且将所述位置前后K个字与所述敏感词组成待验证词组;通过敏感词验证模型对所述待验证词组进行进一步的验证,获得所述待验证词组中正常词组;在所述待检测文件的敏感词中删除出现在所述正常词组中的敏感词,获得所述待检测文件的目标敏感词检测结果。
结合第二方面,在本申请的一种实施方式中,所述敏感词检测模块还被配置为:基于所述待验证词组建立至少一组验证哈希表;所述通过敏感词验证模型对所述待验证词组进行进一步的验证,获得所述待验证词组中正常词组,包括:通过所述至少一组验证哈希表对所述待验证词组进行匹配,获得所述待验证词组中正常词组。
第三方面,本申请提供了一种敏感词检测的系统,所述系统包括:客户端,被配置为发送待检测文件;服务器,被配置为获取所述待检测文件,并且根据所述待检测文件执行如第一方面任意实施例所述的方法,获得所述待检测文件的敏感词检测结果。
第四方面,本申请提供了一种电子设备,包括:处理器、存储器和总线;所述处理器通过所述总线与所述存储器相连,所述存储器存储有计算机程序,所述计算机程序由所述处理器执行时可实现如第一方面任意实施例所述方法。
第五方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被执行时可实现如第一方面任意实施例所述方法。
附图说明
图1为本申请实施例示出的一种敏感词检测的系统组成示意图;
图2为现有技术中敏感词检测的方法流程图;
图3为本申请实施例示出的一种敏感词检测的方法流程图之一;
图4为本申请实施例示出的一种敏感词检测的方法流程图之二;
图5为本申请实施例示出的一种敏感词检测的装置组成示意图;
图6为本申请实施例示出的一种电子设备组成示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对附图中提供的本申请的实施例的详情描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护范围。
本申请实施例可以应用于对网页或者文件中的敏感词进行检测的场景,为了改善背景技术中的问题,在本申请的一些实施例中,通过为每一个敏感词建立一组匹配表单,来对敏感词进行匹配获得敏感词检测结果。例如:在本申请的一些实施例中,将待检测文件中的每个字依次输入到敏感词检测模型中,通过敏感词检测模型对每个字进行匹配,获得待检测文件的敏感词检测结果。
下面结合附图详细描述本申请实施例中的方法步骤。
图1提供了本申请一些实施例中的敏感词检测的系统的结构图,该系统包括客户端110和服务器120。具体的,客户端110将网页上的文字或者文件中文字(即待检测文件中的每个字)发送到服务器120中,服务器120将待检测文件中的每个字依次输入到敏感词检测模型中,通过敏感词检测模型对每个字进行匹配,获得待检测文件的敏感词检测结果,之后将敏感词检测结果返回到客户端110中进行展示。
与本申请实施例不同的是相关技术中,依赖系统内置的敏感字词库,通过读取网页内容,对内容进行分词索引后,根据内置的每一个敏感字与索引进行匹配,从而获得匹配的结果。例如,如图2所示,相关技术中进行敏感词检测的方法包括如下步骤:S201读取网页内容,S202进行网页分词,S203建立分词索引,S204获取词库中的敏感字,S205循环判断每一个敏感字是否在索引中,若否,则执行S207结束,若是,则执行S206记录敏感字匹配情况,之后执行S207结束。
而本申请通过为每一个敏感词建立一组匹配表单,来对敏感词进行匹配获得敏感词检测结果,因此本申请能够更稳定和准确的对敏感词进行检测。
下面以服务器为例示例性阐述本申请一些实施例中由服务器执行的一种敏感词检测的方法。
至少为了解决背景技术中的问题,如图3所示,本申请一些实施例提供了一种敏感字检测的方法,该方法包括:
S310,获取待检测文件。
在本申请的一种实施方式中,待检测文件中包括多个字,待检测文件中字可以是网页中的字,也可以是文档中的字。待检测文件可以是任何需要进行敏感字检测和内容监控的文件、网站、页面等。本申请不限于此。
S320,将待检测文件中的每个字依次输入到敏感词检测模型中,通过敏感词检测模型对每个字进行匹配,获得待检测文件的敏感词检测结果。
需要说明的是,敏感词检测模型中包含由敏感词库构建的至少一组匹配表单。
相关技术中,如何高效的进行敏感词监控,则是衡量敏感词监测系统有效性的重要指标,是系统设计的重中之重,直接影响敏感词监测平台的核心竞争力。
本申请利用有限状态机的思想,建立适用于敏感词检测的场景下的有限状态机。有限状态机(finite-state machine,FSM)又称有限状态自动机(finite-stateautomaton,FSA),是表示有限个状态以及在这些状态之间的转移和动作等行为的数学计算模型。一个有限状态机包含一组状态集(states)、一个起始状态(start state)、一组输入符号集(alphabet)、一个映射输入符号和当前状态到下一状态的转换函数(transitionfunction)的计算模型。当输入符号串,模型随即进入起始状态。它要改变到新的状态,依赖于转换函数。
在本申请的一种实施方式中,在S320之前需要为敏感词库中的每一个敏感词对应的建立一组哈希表,获得至少一组哈希表,以至少一组哈希表中的任意一组哈希表(即第一组哈希表)为例,描述建立第一组哈希表的具体过程:
首先,将第一敏感词中的第一个字作为第一组哈希表中的首个索引。
可以理解的是,第一敏感词为敏感词库中的任意一个,一个敏感词对应一组哈希表。
例如,第一敏感词中包括三个字,分别为A、B和C,A为第一敏感词中的第一个字,将A作为第一组哈希表中的首个索引,即key1。
然后,将第一敏感词中除第一个字之外的剩余字,作为与首个索引对应的值。
例如,第一敏感词中除第一个字之外的剩余字为B和C,将B和C作为与key1对应的值,即value1。
最后,在首个索引对应的值中,基于除第一个字之外的剩余字,建立嵌套索引,获得第一组哈希表。
也就是说,在value1中建立B和C的嵌套索引。
具体的,建立嵌套索引的过程包括:
首先,将除第一个字之外的剩余字中第i个字作为索引,并且将除第i个字之前所有字之外的剩余字作为值,其中,i为大于或等于1的整数。
然后,将第i个字的索引和值嵌套在第i-1个字的对应的值中。重复上述步骤,直至第i个字为第一敏感词中的最后一个字,将第i个字的值设置为预设标识,获得第一组哈希表。
也就是说,将除第一个字之外的剩余字中第1个字作为索引,将除第1个字之前所有字之外的剩余字作为值,之后将第1个字的索引和值嵌套在上一个字的值,此时判断当前除第一个字之外的剩余字中第1个字是不是第一敏感词中的最后一个字,如果是最后一个字,那么将第1个字的值设置为预设标识,如果不是,那么就将i+1,并且继续执行上述步骤。
例如,第一敏感词中包括三个字,分别为A、B和C,A为第一敏感词中的第一个字,A的索引为key1,A的值为value1。除第一个字A之外的剩余字B和C中第1个字为B,将B作为索引,即key2,将除第1个字B之前所有字(即A和B)之外的剩余字C作为值,即value2,将第1个字B的索引key2和值value2嵌套在上一个字A的值value1中,此时判断当前除第一个字之外的剩余字中第1个字B不是第一敏感词中的最后一个字,所以将i+1,并且继续执行上述步骤。
接着,i+1=2,此时除第一个字A之外的剩余字B和C中第2个字为C,将C作为索引,即key3,将除第2个字C之前所有字(即A、B和C)之外的剩余字(在此例中C为最后一个字,所以此时的value3中还没有内容,在下一步骤之后将填充上内容)作为值,即value3,将第2个字C的索引key3和值value3嵌套在上一个字B的值value2中,此时判断当前除第一个字之外的剩余字中第2个字C是第一敏感词中的最后一个字,所以将value3中设置一个预设标识,例如,预设标识可以是-1。由此获得敏感词A、B和C的一组哈希表,按照上述方法,为敏感词库中的至少一个敏感词,建立对应的哈希表,获得至少一组哈希表。
敏感词A、B和C的一组哈希表可以由如下所示:
“key1value1[key2value2(key3 value3)]”
也就是说,value1中的内容包括[key2value2(key3value3)],value2中的内容包括(key3 value3)。
简单来说,上述过程为根据敏感词库构建有限状态机,具体的,获取敏感词库中的敏感字,根据每一个敏感词的前缀字(即第一个字)开始构建状态机的初始状态,该阶段主要通过哈希表(key value键值对),存储敏感词的前缀字作为key,然后value嵌套哈希表,分别放入敏感词其余每一个字,最后一层key为末尾字,value为出口标识-1。
在本申请的一种实施方式中,在建立完成至少一组哈希表之后,通过至少一组哈希表对每个字进行匹配,获得待检测文件的敏感词检测结果,的具体过程包括:
首先,在至少一组哈希表中查找到第j个字所对应的索引,获得与第j个字对应的值,其中,j为大于或等于1的整数。
然后,重复上述步骤,直至第j个字对应的值为预设标识,则将第j个字之前连续匹配成功的多个字组成的词,作为敏感词。
例如,当前的待检测文件中的多个字为A、D、F和E,在j=1时,第1个字(A)所对应的索引为key1,值为value1。若value1中的内容不是预设标识,则使j+1,之后继续在至少一组哈希表中查找第2个字D对应的索引。若value1中的内容是预设标识,则判断A为敏感词,之后继续在至少一组哈希表中查找下一个字的索引。
再例如,当前的待检测文件中的多个字为A、B、C和E,在j=1时,第1个字(A)所对应的索引为key1,值为value1,value1中的内容不是预设标识,则使j+1,之后继续在至少一组哈希表中查找第2个字B对应的索引为key2,值为value2,value2中的内容不是预设标识,则使j+1,继续在至少一组哈希表中查找第3个字C对应的索引为key3,值为value3,此时,value3为预设标识,那么将第3个字之前连续匹配成功的多个字组成的词,作为敏感词,即ABC为敏感词。之后继续在至少一组哈希表中查找下一个字的索引,直至待检测文件被检测完成,获得待检测文件中的所有敏感词。
简单来说,在敏感词检测阶段,主要循环读取要检测的内容,输入状态机的入口状态处,按照读取的字符(即待检测文件中的字),根据状态机的状态转换条件(即至少一组哈希表),自动选择下一个状态值,如果读取的字符不满足转换条件(即没有匹配到至少一组哈希表),则回到状态入口状态处,继续读取内容并重新匹配。如果状态机的状态值中间转化为-1(即匹配到预设标识),则确定当前检测内容含有指定的敏感字。标记长度后,继续回到状态入口状态处重新匹配。
在本申请的一种实施方式中,在S320之后检测获得敏感词进行进一步的验证,具体的实施步骤如下所示:
首先,确认待检测文件中存在敏感词的情况下,获取敏感词在待检测文件中的位置,并且将位置前后K个字与敏感词组成待验证词组。
也就是说,为了防止检测出的敏感词,在结合上下文语义的情况下不是真正的敏感词的情况发生,本申请将检测出的敏感词在文中位置的前后K字组成的待验证词组,再次进行敏感词检测。
然后,通过敏感词验证模型对待验证词组进行进一步的验证,获得待验证词组中正常词组。
具体的,基于待验证词组建立至少一组验证哈希表,通过至少一组验证哈希表对待验证词组进行匹配,也就是说,使用与上述建立至少一组哈希表同样的方法,建立至少一组验证哈希表,将待验证词组中的每个字与至少一组验证哈希表进行匹配,在匹配成功的情况下,表示当前敏感词是误报,换句话说,当前匹配的敏感词是正常词组,可以忽略当前敏感词的告警。
最后,在待检测文件的敏感词中删除出现在正常词组中的敏感词,获得待检测文件的目标敏感词检测结果。
也就是说,上一步骤获得正常词组说明检测出的敏感词,在结合上下文语义的情况下不是真正的敏感词,那么将这些正常词组中包括的敏感词进行删除,获得最终的目标敏感词检测结果。
例如,比如前面敏感词状态机检测到的敏感词为AB(即本实施例中的待验证词组),重新进入验证状态机(即至少一组验证哈希表)进行匹配,当匹配到的词为DABF,则表示当前敏感词AB是正常词组,不应该进行告警。可以理解的是,至少一组验证哈希表对应的词组均是正常词语,即白名单词语。
可以理解的是,匹配待验证词组的过程与上述匹配待检测文件中的字的过程方法相同,在此不再赘述。
简单来说,如果匹配到敏感词,则截取前后附近字符,输入验证状态机(即至少一组验证哈希表)进行匹配,如果匹配不成功,则表明当前敏感词不在验证词库中,不存在误报的情况。反之,如果匹配成功,表示当前敏感词是误报,忽略当前敏感词匹配结果。
作为本申请一具体实施例,本申请主要通过对敏感词库构建有限状态机,循环读取匹配的内容,然后依次输入构建的有限状态机,并根据当前状态和读入的字符,按照状态机转换规则,从当前状态转移到下一个状态。当字符串全部读取完毕后,如果自动机处于某个接受状态,则判断该监测字符串含有指定的敏感字,否则,判断该字符串中不含有指定的关键字。然后记录当前匹配状态机的长度,往前截取当前长度的字符,即为当前内容中检测到的敏感字。同时从当前位置回到状态机的入口,继续进行匹配。
例如,如图4所示,起始状态表示输入一个字A,若A与至少一组哈希表匹配上,则进入第一状态,若没有匹配上,则为其他状态,继续返回起始状态;之后获取后一个字B,若B与至少一组哈希表匹配上,则进入第二状态,若没有匹配上,则为其他状态,继续返回起始状态;之后获取后一个字C,若C与至少一组哈希表匹配上,则进入最终状态,表明当前ABC为敏感词。
作为本申请一具体场景,网站监控中内容监控中的敏感词监测功能,需要对网页内容进行敏感词探测,进而检测出对应网站中出现的敏感词,从而即时的对客户进行即时告警通知,减少潜在的网站风险。
因此,本申请提供的方法相较于传统的网站监控敏感词检测方法,由于对检测内容只需要进行一次匹配,并且增加了验证阶段,可以极大的提供敏感词检测的速度与效率,同时提高了敏感词检测的准确性,很大程度上减少或避免了网站监控中敏感词误报错报的可能性,解决了网站敏感词监测过程中,敏感词分析过程的效率相对低的问题,与敏感词告警容易误报的问题。
因此,本申请方案使用了有限状态机进行敏感词匹配,通过对敏感词库构建有限状态机,借助有限状态机进行敏感词匹配,极大的提高了网站监控的敏感词探测的高效性。同时使用了敏感词验证检测功能,使得网站监控敏感词检测告警的准确性大大提高。
上文描述了一种敏感词检测的方法的具体实施例,下文将描述一种敏感词检测的装置。
如图5所示,本申请的一些实施例提供一种敏感词检测的装置500,该装置包括:文件获取模块510和敏感词检测模块520。
文件获取模块510,被配置为获取待检测文件,其中,所述待检测文件中包括多个字。
敏感词检测模块520,被配置为将待检测文件中的每个字依次输入到敏感词检测模型中,通过所述敏感词检测模型对所述每个字进行匹配,获得所述待检测文件的敏感词检测结果,其中,所述敏感词检测模型中包含由敏感词库构建的至少一组匹配表单。
在本申请的一种实施方式中,所述匹配表单为哈希表,至少一组哈希表中包括第一组哈希表,所述第一组哈希表为所述至少一组哈希表中的任意一个;所述敏感词检测模块520还被配置为:将第一敏感词中的第一个字作为所述第一组哈希表中的首个索引,其中,所述第一敏感词为所述敏感词库中的任意一个,一个敏感词对应一组哈希表;将所述第一敏感词中除所述第一个字之外的剩余字,作为与所述首个索引对应的值;在所述首个索引对应的值中,基于除所述第一个字之外的剩余字,建立嵌套索引,获得所述第一组哈希表;通过所述至少一组哈希表对所述每个字进行匹配,获得所述待检测文件的敏感词检测结果。
在本申请的一种实施方式中,所述敏感词检测模块520还被配置为:将除所述第一个字之外的所述剩余字中第i个字作为索引,并且将除所述第i个字之前所有字之外的剩余字作为值,其中,i为大于或等于1的整数;将所述第i个字的索引和值嵌套在第i-1个字的对应的值中;重复上述步骤,直至所述第i个字为所述第一敏感词中的最后一个字,将所述第i个字的值设置为预设标识,获得所述第一组哈希表。
在本申请的一种实施方式中,所述敏感词检测结果包括所述待检测文件中的敏感词;所述敏感词检测模块520还被配置为:在所述至少一组哈希表中查找到第j个字所对应的索引,获得与第j个字对应的值,其中,j为大于或等于1的整数;重复上述步骤,直至所述第j个字对应的值为预设标识,则将所述第j个字之前连续匹配成功的多个字组成的词,作为所述敏感词。
在本申请的一种实施方式中,所述敏感词检测模块520还被配置为:确认所述待检测文件中存在敏感词的情况下,获取所述敏感词在所述待检测文件中的位置,并且将所述位置前后K个字与所述敏感词组成待验证词组;通过敏感词验证模型对所述待验证词组进行进一步的验证,获得所述待验证词组中正常词组;在所述待检测文件的敏感词中删除出现在所述正常词组中的敏感词,获得所述待检测文件的目标敏感词检测结果。
在本申请的一种实施方式中,所述敏感词检测模块520还被配置为:基于所述待验证词组建立至少一组验证哈希表;所述通过敏感词验证模型对所述待验证词组进行进一步的验证,获得所述待验证词组中正常词组,包括:通过所述至少一组验证哈希表对所述待验证词组进行匹配,获得所述待验证词组中正常词组。
在本申请实施例中,图5所示模块能够实现图1至图4方法实施例中的各个过程。图5中的各个模块的操作和/或功能,分别为了实现图1至图4中的方法实施例中的相应流程。具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详细描述。
如图6所示,本申请实施例提供一种电子设备600,包括:处理器610、存储器620和总线630,所述处理器通过所述总线与所述存储器相连,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,用于实现如上述所有实施例中任一项所述的方法,具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详细描述。
其中,总线用于实现这些组件直接的连接通信。其中,本申请实施例中处理器可以是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。存储器中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,可以执行上述实施例中所述的方法。
可以理解,图6所示的结构仅为示意,还可包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。图6中所示的各组件可以采用硬件、软件或其组合实现。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被服务器执行时实现上述所有实施方式中任一所述的方法,具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详细描述。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种敏感词检测的方法,其特征在于,所述方法包括:
获取待检测文件,其中,所述待检测文件中包括多个字;
将待检测文件中的每个字依次输入到敏感词检测模型中,通过所述敏感词检测模型对所述每个字进行匹配,获得所述待检测文件的敏感词检测结果,其中,所述敏感词检测模型中包含由敏感词库构建的至少一组匹配表单。
2.根据权利要求1所述的方法,其特征在于,所述匹配表单为哈希表,至少一组哈希表中包括第一组哈希表,所述第一组哈希表为所述至少一组哈希表中的任意一个;
在所述将待检测文件中的每个字依次输入到敏感词检测模型中之前,所述方法还包括:
将第一敏感词中的第一个字作为所述第一组哈希表中的首个索引,其中,所述第一敏感词为所述敏感词库中的任意一个,一个敏感词对应一组哈希表;
将所述第一敏感词中除所述第一个字之外的剩余字,作为与所述首个索引对应的值;
在所述首个索引对应的值中,基于除所述第一个字之外的剩余字,建立嵌套索引,获得所述第一组哈希表;
所述通过所述敏感词检测模型对所述每个字进行匹配,获得所述待检测文件的敏感词检测结果,包括:
通过所述至少一组哈希表对所述每个字进行匹配,获得所述待检测文件的敏感词检测结果。
3.根据权利要求2所述的方法,其特征在于,所述在所述首个索引对应的值中,基于除所述第一个字之外的剩余字,建立嵌套索引,获得所述第一组哈希表,包括:
将除所述第一个字之外的所述剩余字中第i个字作为索引,并且将除所述第i个字之前所有字之外的剩余字作为值,其中,i为大于或等于1的整数;
将所述第i个字的索引和值嵌套在第i-1个字的对应的值中;
重复上述步骤,直至所述第i个字为所述第一敏感词中的最后一个字,将所述第i个字的值设置为预设标识,获得所述第一组哈希表。
4.根据权利要求2所述的方法,其特征在于,所述敏感词检测结果包括所述待检测文件中的敏感词;
所述通过所述至少一组哈希表对所述每个字进行匹配,获得所述待检测文件的敏感词检测结果,包括:
在所述至少一组哈希表中查找到第j个字所对应的索引,获得与第j个字对应的值,其中,j为大于或等于1的整数;
重复上述步骤,直至所述第j个字对应的值为预设标识,则将所述第j个字之前连续匹配成功的多个字组成的词,作为所述敏感词。
5.根据权利要求1-4任一项所述的方法,其特征在于,在所述通过所述敏感词检测模型对所述每个字进行匹配,获得所述待检测文件的敏感词检测结果之后,所述方法还包括:
确认所述待检测文件中存在敏感词的情况下,获取所述敏感词在所述待检测文件中的位置,并且将所述位置前后K个字与所述敏感词组成待验证词组;
通过敏感词验证模型对所述待验证词组进行进一步的验证,获得所述待验证词组中正常词组;
在所述待检测文件的敏感词中删除出现在所述正常词组中的敏感词,获得所述待检测文件的目标敏感词检测结果。
6.根据权利要求5所述的方法,其特征在于,在所述通过敏感词验证模型对所述待验证词组进行进一步的验证,获得所述待验证词组中正常词组之前,所述方法还包括:
基于所述待验证词组建立至少一组验证哈希表;
所述通过敏感词验证模型对所述待验证词组进行进一步的验证,获得所述待验证词组中正常词组,包括:
通过所述至少一组验证哈希表对所述待验证词组进行匹配,获得所述待验证词组中正常词组。
7.一种敏感词检测的系统,其特征在于,所述系统包括:
客户端,被配置为发送待检测文件;
服务器,被配置为获取所述待检测文件,并且根据所述待检测文件执行如权利要求1-6任一项所述的方法,获得所述待检测文件的敏感词检测结果。
8.一种敏感词检测的装置,其特征在于,所述装置包括:
文件获取模块,被配置为获取待检测文件,其中,所述待检测文件中包括多个字;
敏感词检测模块,被配置为将待检测文件中的每个字依次输入到敏感词检测模型中,通过所述敏感词检测模型对所述每个字进行匹配,获得所述待检测文件的敏感词检测结果,其中,所述敏感词检测模型中包含由敏感词库构建的至少一组匹配表单。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线;
所述处理器通过所述总线与所述存储器相连,所述存储器存储有计算机程序,所述计算机程序由所述处理器执行时可实现如权利要求1-6任一项所述方法。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被执行时可实现如权利要求1-6任一项所述方法。
CN202211545077.8A 2022-11-21 2022-11-21 一种敏感词检测的方法、系统、装置、设备及介质 Pending CN115840850A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211545077.8A CN115840850A (zh) 2022-11-21 2022-11-21 一种敏感词检测的方法、系统、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211545077.8A CN115840850A (zh) 2022-11-21 2022-11-21 一种敏感词检测的方法、系统、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN115840850A true CN115840850A (zh) 2023-03-24

Family

ID=85577977

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211545077.8A Pending CN115840850A (zh) 2022-11-21 2022-11-21 一种敏感词检测的方法、系统、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN115840850A (zh)

Similar Documents

Publication Publication Date Title
CN110162750A (zh) 文本相似度检测方法、电子设备及计算机可读存储介质
CN107025239B (zh) 敏感词过滤的方法和装置
CN111352907A (zh) 流水文件解析方法、装置、计算机设备和存储介质
WO2019148712A1 (zh) 钓鱼网站检测方法、装置、计算机设备和存储介质
CN110162752B (zh) 文章判重处理方法、装置及电子设备
CN111159329A (zh) 敏感词检测方法、装置、终端设备和计算机可读存储介质
CN115438650B (zh) 融合多源特征的合同文本纠错方法、系统、设备及介质
CN110958244A (zh) 一种基于深度学习的仿冒域名检测方法及装置
US11797617B2 (en) Method and apparatus for collecting information regarding dark web
CN110532229B (zh) 证据文件检索方法、装置、计算机设备和存储介质
CN115204889A (zh) 文本处理方法、装置、计算机设备及存储介质
CN113312258A (zh) 一种接口测试方法、装置、设备及存储介质
CN107786529B (zh) 网站的检测方法、装置及系统
CN115982388A (zh) 案件质控图谱建立、案件文书质检方法、设备及存储介质
CN110598115A (zh) 一种基于人工智能多引擎的敏感网页识别方法及系统
CN115840850A (zh) 一种敏感词检测的方法、系统、装置、设备及介质
CN115186240A (zh) 基于关联性信息的社交网络用户对齐方法、装置、介质
CN114996714A (zh) 漏洞检测方法、装置、电子设备及存储介质
CN115883111A (zh) 一种钓鱼网站识别方法、装置、电子设备及存储介质
CN111950037A (zh) 检测方法、装置、电子设备及存储介质
CN114896980B (zh) 军事实体链接方法、装置、计算机设备和存储介质
CN114091435A (zh) 文本内容校验方法、装置、电子设备及存储介质
CN116932781A (zh) 一种基于ac自动机的企业信息匹配方法与系统
CN117743527A (zh) 一种提取用户搜索词路径的方法、系统及存储介质
CN117633796A (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