CN116756382A - 检测敏感字符串的方法、装置、设置及存储介质 - Google Patents
检测敏感字符串的方法、装置、设置及存储介质 Download PDFInfo
- Publication number
- CN116756382A CN116756382A CN202310780376.8A CN202310780376A CN116756382A CN 116756382 A CN116756382 A CN 116756382A CN 202310780376 A CN202310780376 A CN 202310780376A CN 116756382 A CN116756382 A CN 116756382A
- Authority
- CN
- China
- Prior art keywords
- character
- node
- target
- sensitive
- text
- 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
- 238000000034 method Methods 0.000 title claims abstract description 60
- 230000004044 response Effects 0.000 claims abstract description 35
- 230000011218 segmentation Effects 0.000 claims description 36
- 238000004590 computer program Methods 0.000 claims description 21
- 239000012634 fragment Substances 0.000 claims description 12
- 238000001914 filtration Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 abstract description 23
- 230000008569 process Effects 0.000 abstract description 7
- 238000001514 detection method Methods 0.000 description 41
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 238000013523 data management Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002757 inflammatory effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
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/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- 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/903—Querying
- G06F16/9035—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/289—Phrasal analysis, e.g. finite state techniques or chunking
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
技术领域
本申请涉及文本处理领域,提供一种检测敏感字符串的方法、装置、设置及存储介质。
背景技术
随着互联网中信息化、数字化的深入推进,为人们生活提供便利的同时,越来越多的涉及不健康,或者涉及个人信息的敏感信息也频频未加限制便出现在网络空间的各个角落中。尤其是在各个具体领域中,当这些敏感信息混入业务信息,与业务信息一并通过网络,进入相应领域系统中进行处理时,实际上是加大了业务信息的处理难度。例如,金融领域对于个人信息的处理和保护。
然而,由于敏感信息具备体量大的特点,在根据预先设置的敏感词库中敏感词,对待检测文本所含敏感词进行检索,以确定其中时存在着效率低的问题,尤其是文本长度较长时,而如今对于敏感信息的检测是行业内开展业务处理的先决条件,以便于充分保护或过滤对应业务/场景下的敏感信息。因此,当前亟需一种可高效检测文本中敏感字符串的方法。
发明内容
本发明提供一种检测敏感字符串的方法、装置、设置及存储介质,用以提升在文本中检测敏感词的效率。
第一方面、本申请实施例提供一种检测敏感字符串的方法,包括:
获取待检测文本及前缀树;其中,所述前缀树包括目标路径,所述目标路径的起点为所述前缀树的根节点的子节点,所述目标路径的终点为含目标标识的节点;
响应于所述待检测文本中目标字符串与所述目标路径的节点字符串匹配,确定所述目标字符串为所述敏感字符串;其中,所述节点字符串中的节点字符与所述目标路径上的所述节点一一对应。
一种可能的实施方式,所述响应于所述待检测文本中目标字符串与所述目标路径的节点字符串匹配,确定所述目标字符串为所述敏感字符串,包括:
响应于所述待检测文本中的第一字符与所述前缀树中的第一节点字符匹配,在所述第一节点的子节点中,确定与所述待检测文本中第二字符对应的第二节点字符;其中,所述第一节点字符所对应的第一节点为,所述前缀树中所述根节点的子节点;所述第二字符为,在所述第一字符之后顺序读取到的字符;
响应于所述第二节点字符所对应的第二节点含所述目标标识,确定所述第一字符与所述第二字符所组成的第一目标字符串为所述敏感字符串。
一种可能的实施方式,所述响应于所述第二节点字符所对应的第二节点含所述目标标识,确定所述第一字符与所述第二字符所组成的第一目标字符串为所述敏感字符串,包括;
响应于所述第一节点不含所述目标标识,且所述第二节点含所述目标标识,确定所述第一目标字符串为所述敏感字符串。
一种可能的实施方式,所述响应于所述第二节点字符所对应的第二节点含所述目标标识,确定所述第一字符与所述第二字符组成的第一目标字符串为所述敏感字符串之后,还包括:
响应于所述第二节点含所述目标标识,且所述第二节点非叶子节点,在所述第二节点的子节点中,确定与所述待检测文本中第三字符匹配的第三节点字符;其中,所述第三字符为,在所述第二字符之后顺序读取到的字符;
响应于所述第三节点字符所对应的第三节点含所述目标标识,且所述第三节点为叶子节点,确定所述第一字符、所述第二字符和所述第三字符所组成的第二目标字符串为所述敏感字符串。
一种可能的实施方式,所述响应于所述第二节点字符所对应的第二节点包含所述目标标识,确定所述第一字符与所述第二字符组成的第一目标字符串为所述敏感字符串之后,还包括:
响应于所述第二节点含所述目标标识,且所述第二节点为叶子节点,在所述根节点的子节点中,确定与所述第二字符匹配的第四节点字符;其中,所述第四节点字符与第四节点对应;
在所述待检测文本中,顺序读取位于所述第二字符之后的第四字符,并在所述前缀树中,确定与所述第四字符匹配的第五节点字符,以及所述第五节点字符所对应的第五节点是否含所述目标标识;其中,所述第五节点为第四节点的子节点;
若是,确定所述第二字符与所述第四字符所组成的第三目标字符串为所述敏感字符串。
一种可能的实施方式,所述响应于所述第二节点字符所对应的第二节点包含所述目标标识,确定所述第一字符与所述第二字符组成的第一目标字符串为所述敏感字符串之后,还包括:
响应于所述第二节点含所述目标标识,且所述第二节点为叶子节点,在所述根节点的子节点中,确定与所述待检测文本中第五字符匹配的第六节点字符;其中,所述第五字符为,在所述第二字符之后顺序读取到的字符;所述第六节点字符与第六节点对应;
确定所述第六节点是否含所述目标标识;若是,确定所述第五字符所组成的第四目标字符串为所述敏感字符串。
一种可能的实施方式,所述读取与所述第一字符相邻,且位于所述第一字符之后的第二字符之后,还包括:
响应于所述第二字符与所述第一节点的子节点均不匹配,确定所述第一目标字符为非敏感字符。
一种可能的实施方式,所述前缀树中的所述节点字符为所述敏感字符串中的敏感字符;所述节点字符的类型包括:对应于所述敏感字符的汉字、对应于所述敏感字符的第一字母序列、或对应于所述敏感字符串的第二字母序列;
其中,所述第二字母序列由对应于所述敏感字符的子序列组成,所述第一字母序列和所述子序列指示:所述敏感字符的拼音全拼、所述敏感字符的拼音首字母、或所述敏感字符的英文单词。
一种可能的实施方式,所述待检测文本为基于预设白名单中词组对待处理文本进行过滤所得文本;所述待检测文本不含所述预设白名单中的所述词组;
则所述确定所述目标字符串为所述敏感字符串之后,还包括:
确定所述待处理文本中是否包括所述敏感字符串;若否,确定所述敏感字符串为错误标记的非敏感字符串。
一种可能的实施方式,所述确定所述目标字符串为所述敏感字符串之后,还包括:
利用预设的分词模型对待处理文本进行分词,得到分词集合;其中,所述待处理文本为所述待检测文本的原始文本;
响应于所述分词集合中关键词组的片段为所述敏感字符串,确定所述敏感字符串为错误标记的非敏感字符串。
第二方面、本申请实施例提供一种检测敏感字符串的装置,包括:
获取单元,用于获取待检测文本及前缀树;其中,所述前缀树包括目标路径,所述目标路径的起点为所述前缀树的根节点的子节点,所述目标路径的终点为含目标标识的节点;
匹配单元,用于响应于所述待检测文本中目标字符串与所述目标路径的节点字符串匹配,确定所述目标字符串为所述敏感字符串;其中,所述节点字符串中的节点字符与所述目标路径上的所述节点一一对应。
一种可能的实施方式,所述匹配单元具体用于响应于所述待检测文本中的第一字符与所述前缀树中的第一节点字符匹配,在所述第一节点的子节点中,确定与所述待检测文本中第二字符对应的第二节点字符;其中,所述第一节点字符所对应的第一节点为,所述前缀树中所述根节点的子节点;所述第二字符为,在所述第一字符之后顺序读取到的字符;响应于所述第二节点字符所对应的第二节点含所述目标标识,确定所述第一字符与所述第二字符所组成的第一目标字符串为所述敏感字符串。
一种可能的实施方式,所述匹配单元具体用于响应于所述第二节点含所述目标标识,且所述第二节点非叶子节点,在所述第二节点的子节点中,确定与所述待检测文本中第三字符匹配的第三节点字符;其中,所述第三字符为,在所述第二字符之后顺序读取到的字符;响应于所述第三节点字符所对应的第三节点含所述目标标识,且所述第三节点为叶子节点,确定所述第一字符、所述第二字符和所述第三字符所组成的第二目标字符串为所述敏感字符串。
一种可能的实施方式,所述匹配单元还用于响应于所述第二节点含所述目标标识,且所述第二节点为叶子节点,在所述根节点的子节点中,确定与所述第二字符匹配的第四节点字符;其中,所述第四节点字符与第四节点对应;在所述待检测文本中,顺序读取位于所述第二字符之后的第四字符,并在所述前缀树中,确定与所述第四字符匹配的第五节点字符,以及所述第五节点字符所对应的第五节点是否含所述目标标识;其中,所述第五节点为第四节点的子节点;若是,确定所述第二字符与所述第四字符所组成的第三目标字符串为所述敏感字符串。
一种可能的实施方式,所述匹配单元具体用于响应于所述第二节点含所述目标标识,且所述第二节点为叶子节点,在所述根节点的子节点中,确定与所述待检测文本中第五字符匹配的第六节点字符;其中,所述第五字符为,在所述第二字符之后顺序读取到的字符;所述第六节点字符与第六节点对应;确定所述第六节点是否含所述目标标识;若是,确定所述第五字符所组成的第四目标字符串为所述敏感字符串。
一种可能的实施方式,所述前缀树中的所述节点字符为所述敏感字符串中的敏感字符;所述节点字符的类型包括:对应于所述敏感字符的汉字、对应于所述敏感字符的第一字母序列、或对应于所述敏感字符串的第二字母序列;其中,所述第二字母序列由对应于所述敏感字符的子序列组成,所述第一字母序列和所述子序列指示:所述敏感字符的拼音全拼、所述敏感字符的拼音首字母、或所述敏感字符的英文单词。
一种可能的实施方式,所述待检测文本为基于预设白名单中词组对待处理文本进行过滤所得文本;所述待检测文本不含所述预设白名单中的所述词组;则所述装置还包括第一单元,所述第一单元用于确定所述待处理文本中是否包括所述敏感字符串;若否,确定所述敏感字符串为错误标记的非敏感字符串。
一种可能的实施方式,所述装置还包括第二单元,所述第二单元用于利用预设的分词模型对待处理文本进行分词,得到分词集合;其中,所述待处理文本为所述待检测文本的原始文本;响应于所述分词集合中关键词组的片段为所述敏感字符串,确定所述敏感字符串为错误标记的非敏感字符串。
第三方面、本申请实施例提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,
所述处理器执行所述计算机程序时实现第一方面及任一种可能的实施方式所述方法的步骤。
第四方面、本申请实施例提供一种计算机存储介质,其上存储有计算机程序,
所述计算机程序被处理器执行时实现第一方面及任一种可能的实施方式所述方法的步骤。
第五方面、本申请实施例提供一种计算机程序产品,包括计算机程序,
所述计算机程序被处理器执行时实现第一方面及任一种可能的实施方式所述方法的步骤。
本申请实施例中所提供的一个或多个技术方案中,至少具有以下技术效果:
首先,通过将前缀树中根节点的子节点设置为各个敏感词的首字符,使得在待检测文本中检测敏感字符串时,首字符只需要遍历根节点的子节点,从而减少每个字符所需遍历的字符数量,而不必对敏感词库中所有字符逐一遍历,可达到提升检测效率的目的。并且,以前缀树中节点所含目标标识为敏感字符串结尾的标记,通过前缀树中根节点的子节点,目标标识以及前缀树的树结构,以前缀树中目标路径为匹配单元,实现快速定位敏感字符串的起始字符以及结尾字符,以及高效确定敏感字符串的目的。
其次,通过在前缀树中各节点设置节点字符,而非词组或词块,使得各节点上的字符的粒度最小达到单个汉字,从而使得前缀树中的设置更加灵活,每一层级上的节点可得到降低,因此,实现敏感字符串的高效检测。
复次,本申请实施例中通过为各敏感词根据多种扩展形式设置不同的扩展词,以实现待检测文本中可能包含的敏感字符串的全面覆盖,从而提升了检测结果的准确度。
最后,本申请实施例所设置的白名单过滤后场景还原,以及分词后场景还原的方法,既解决了现有技术利用白名单或分词模型处理待测文本所导致的检测结果准确度下降的问题,还进一步提升了敏感字符串的检测结果。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种检测敏感字符串的方法的流程示意图;
图2为本申请实施例提供的一种前缀树的示意图;
图3为本申请实施例提供的一种检测敏感字符串的方法的示意图;
图4为本申请实施例提供的一种基于敏感词库得到订阅词库的结构示意图;
图5为本申请实施例提供的一种检测敏感字符串的装置的结构示意图;
图6为本申请实施例提供的一种检测敏感字符串的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以按不同于此处的顺序执行所示出或描述的步骤。
本申请的说明书和权利要求书及上述附图中的术语“第一”和“第二”是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的保护。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请中的“多个”可以表示至少两个,例如可以是两个、三个或者更多个,本申请实施例不做限制。
需要说明的是,本申请技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
请参考图1,本申请实施例提供一种检测敏感字符串的方法,用以提升敏感词的检测效率,该方法具体步骤以下实施步骤:
步骤101:获取待检测文本及前缀树。
其中,前缀树包括目标路径,目标路径的起点为前缀树中根节点的子节点,目标路径的终点为含目标标识的节点。
待检测文本中的字符,以及上述敏感字符串中的字符包括字母和/或汉字。待检测文本中还可包括特殊字符,例如,数字,或其它符号;例如,&*等。
本申请实施例中的字符均不包括前述特殊字符,当待检测文本中出现如前所述的特殊字符时,可直接跳过,不对特殊字符进行处理,继续下一字符的读取、处理。上述前缀树与该待检测文本的使用场景(例如可以为业务场景)相对应。
前缀树由多条路径和节点组成的多叉树结构,每条路径的最后一个节点为叶子节点。每条路径的节点顺序连接为一个或多个敏感词。图2为本申请实施例所提供的一种前缀树的结构示意图。以下针对前缀树以及前缀树的设置进行详细说明:
如图2所示,前缀树中包括唯一且公共的根节点:root节点。该根节点的子节点为各路径的起点,每一路径中含多个敏感词,每一节点上单独存储或指示敏感词中一个中文单字。敏感词中第一个字符,均对应于前缀树中根节点的子节点上的字符。
假设“重庆火锅”以及“重庆”为两个敏感词。请继续参考图2,可见目标路径和目标路径之间可部分重合,呈现为一条目标路径被包含在另一条目标路径之中的关系。并且,敏感词中最后一个字符,均对应于前缀树中含目标标识的节点。该目标标识可以为“F”。
进一步地,为了实现敏感词的全面检测,前缀树中的敏感词包括基础敏感词和基础敏感词的扩展词。扩展的方式包括但不限于本申请实施例所提供的以下几种,以下以“重庆”为基础词进行举例说明:
第一种、对基础词进行变形扩展,并对基于该方法扩展的词添加变形扩展的标记。
在一些实施例中,可采用繁体、全拼或者简拼,或者全拼和简拼结合,或者全拼和/或简拼和汉字的结合。例如,“Chongqing”、“CQ”“C庆”等。
第二种,对基础词进行同音扩展,并对基于该方法扩展的词添加同音扩展的标记。
在一些实施例中,可将单字转换为拼音,并利用转换所得的拼音,确定音近字,并与另外的单字构造同音扩展词。例如,“重磬”。
第三种,对基础词进行同义扩展,并对基于该方法扩展的词添加同义扩展的标记。
在一些实施例中,可结合同义词词典,先构造基础词的同义词;再将该同义词进行变形扩展和同音扩展。例如,“山城”、“SC”、“雾都”、“wudu”。
第四种,对基础词进行同形扩展,并对基于该方法扩展的词添加同形扩展的标记。
在一些实施例中,可先将基础词中的单字分为独体字和合体字两类。
其中,独体字为笔画构成的字,例如,“月”、“凹”等;合体字为含偏旁结构的。根据敏感词中各单字的上下结构、左右、内外、框架或独体结构,对单字进行拆分,获取基础词的同形扩展词。例如,“重庆”扩展为“重广大”。又例如,将“踢”扩展为“足易”。
因此,敏感词的构造包括基础词,以及经过同音扩展、同义扩展、同形扩展或变形扩展的一种或多种扩展词。
前缀树中各节点上的节点字符为敏感字符串中的敏感字符,但各节点字符的表现形式并不局限于英文、中文单字或者拼音组合,各节点字符的类型可包括:对应于敏感字符(即敏感词中的单字)的汉字,对应于敏感字符的第一字母序列、或对应于敏感字符串的第二字母序列。
其中,第二字母序列由对应于敏感字符(即前述汉字单字)的子序列组成,则第一字母序列和子序列分别指示其各自对应的敏感字符的拼音全拼、拼音首字母、或敏感字符的英文单词。第二字母序列还可以是敏感字符串作为整体所对应的英文单词或词组。
也就是说,前缀树中每一节点上的节点字符可分为两类,一类为中文简体或繁体,另一类为英文、拼音。当节点字符为汉字时,字符的划分是以单个汉字为最小粒度进行划分,每一节点上只有1个汉字;而当节点字符为字母时,不再以单个汉字为最小粒度划分,而是从第1个字母出现,至最后1个字母结束,该第1个字母至最后1个字母之间可包括不需做处理的特殊字符,但不包括汉字,将第1个字母至该最后1个字母拼接得到的字母序列并不一定对应于某个汉字;继续参考图2,前缀树中连续的字母作为一个整体设置于1个节点上,例如,“重庆”的简拼“CQ”。前述简拼指,拼音首字母缩写。
步骤102:响应于待检测文本中目标字符串与目标路径的节点字符串匹配,确定目标字符串为敏感字符串。
其中,节点字符串中的节点字符分别与目标路径上的各节点一一对应。
具体地,上述目标路径即为前缀树中的目标路径。目标字符串与节点字符串匹配实际上是指,目标字符串中的字符依序与目标路径上的节点字符依序一一匹配。所以,需要先在待检测文本中依序读取待检测字符,并与前缀树中节点字符匹配,每次匹配成功,则确定该节点是否含目标标识,以确定是否已经匹配至一条目标路径的结尾,以便于及时确定待检测文本中的敏感字符串。若不含目标标识,或者含目标标识但非叶子节点,则继续顺序读取待检测文本中的下一字符,在匹配到的节点的子节点中,为该下一字符进行匹配。若在前述节点的子节点中匹配失败,则确定当前待检测字符非目标字符串中的字符,继续读取下一字符,并重新遍历根节点的多个子节点,以进行下一次匹配:确定与该下一字符唯一匹配的节点字符。
由于前缀树中在各节点上设置对应于敏感词(即敏感字符串)多种可能形式,因此上述匹配,实际上是遍历对应节点的子节点,以确定是否包含与待检测字符相一致的节点字符。若是,确定匹配成功;若否,确定匹配失败。每次匹配的起点为在前缀树中根节点的子节点中,匹配到与之相一致的节点字符;每次匹配的目标字符串的终点为匹配到节点含目标标识的节点字符。
因此,可顺序、依次读取待检测文本中的字符,当遇见特殊字符时,跳过该特殊字符,继续读取。否则,将读取到的字符在前缀树中进行匹配:响应于待检测文本中的第一字符与前缀树中的第一节点字符匹配,可记录该第一字符。同时,确定该第一节点字符所对应的第一节点是否含目标标识,若是,确定第一字符单独组成敏感字符串;若否,继续在待检测文本中顺序读取下一字符,将下一字符作为第二字符。在前缀树中第一节点的子节点中,确定与该第二字符对应的第二节点字符。
其中,所述第一节点字符所对应的第一节点为,所述前缀树中所述根节点的子节点,所述第二字符为,在所述第一字符之后顺序读取到的字符。
若未在第一节点的子节点中,匹配到与第二字符对应的第二节点字符,则将该第二字符作为一个新的起始字符,重新与前缀树中根节点的子节点进行匹配。
若在第一节点的子节点中,匹配到与第二字符对应的第二节点字符,即确定与第二字符对应的第二节点字符,则需要判断第二节点字符所在的第二节点对应的第一节点是否含指示敏感词结束的目标标识。即,响应于第二节点包含目标标识,确定第一字符与第二字符组成的第一目标字符串为敏感字符串。
此后,还可进一步对第二节点在前缀树中的位置:是否为叶子节点进行判断,以避免出现例如为“重庆”、“重庆火锅”这种包含关系的敏感字符串漏检。具体地,响应于前缀树中的第二节点含目标标识,且第二节点非叶子节点,则在第二节点的子节点中,继续为待检测文本中顺序读取到的位于第二字符之后的第三字符进行匹配。
若匹配失败,将该第三字符与前缀树中根节点的子节点进行匹配。
若匹配成功,则确定对应节点是否含目标标识,以及在前缀树中的位置。即,在第二节点的子节点中,确定与待检测文本中第三字符匹配的第三节点字符;响应于第三节点字符所对应的第三节点含目标标识,且该第三节点为叶子节点,确定第一字符、第二字符和第三字符所组成的第二目标字符串为所述敏感字符串。
此时,第一字符和第二字符为一组敏感字符串,第一字符、第二字符和第三字符为待检测文本中又一组敏感字符串。第一节点字符和第二节点字符各自在前缀树中所在的节点组成第一目标路径,第二节点字符、第二节点字符、第三节点字符各自的节点为前缀树的第二目标路径。
也就是,为待检测文本中字符,沿前缀树中路径匹配到某一含目标标识的节点时,首先确定该路径为目标路径,该目标路径上的节点字符与待检测文本中目标字符串中字符一一对应,为敏感字符串。然后,进一步通过确定该节点是否为叶子节点,确定是否将在待检测文本中所读取的下一字符又回到根节点的子节点中匹配,或者,继续在该非叶子节点的子节点中进行匹配。
同时,对于匹配到的节点是否为叶子节点的判断还起到了重新定位目标字符串起始字符的作用,倘若非叶子节点,意味着下一字符如果继续匹配成功,新的目标字符串的起始字符与前一目标字符串的起始字符相同,且前一目标字符串所对应的目标路径为新的目标路径的一部分。倘若为叶子节点,则意味着下一字符如果匹配成功,该下一次字符为新的目标字符串的新的起始字符。
值得注意的是,本申请实施例中将待检测文本中字符与前缀树中节点字符匹配的过程中,当读取或遍历遇见字母时,不区分大小写。
进一步地,为了避免漏检情况的出现,每次结束目标字符串的匹配,进行下一目标字符串时,均从最新确定的目标字符串中的第二个字符开始检测;即从前一目标字符串的第一首字符之后的字符,将该第一首字符之后的字符作为第二首字符进行检测。待检测文本中起始字符和起始字符之间,即第一首字符与第二首字符之间可包含也可不包含特殊字符,即可以为连续字符也可以不连续,但起始字符与起始字符之间不含字符,所以在顺序检测所得的连续的目标字符串各自的起始字符在待检测文本中应当为相邻关系的字符。
因此,在确定将新读取到的字符在前缀树根节点的子节点中进行匹配时,应当从最新检测到的目标字符串中的顺序第二个字符,即待检测文本中最新确定的敏感字符串的首字符之后的第一个字符进行匹配。在一些实施例中,响应于第二节点含目标标识,且为叶子节点,在前缀树中根节点的子节点中,确定与第二字符匹配的第四节点字符。该第四节点字符与第四节点对应,第四节点为前缀树根节点的子节点。则将该第四节点作为起始字符记录,同理,在待检测文本中顺序读取位于第二字符之后的第四字符,并在前缀树中进行匹配:确定与所述第四字符匹配的第五节点字符,以及所述第五节点字符所对应的第五节点是否含所述目标标识。该第五节点为第四节点的子节点。
若是,确定第二字符与第四字符组成的第三目标字符串为敏感字符串。若否,则将第四字符与前缀树中根节点的子节点进行匹配,以开始新一轮目标字符串的检测。
除此之外,对应于检测得到的敏感字符串均在文本中进行模糊处理(例如,遮蔽处理),为进一步提升检测效率,每次结束目标字符串的匹配,进行下一目标字符串时,还可直接对目标字符串之后的首个字符进行匹配,如此既可保证目标字符串被模糊处理之后,目标字符串中任何字符或字符串片段都无法与后续字符构成敏感字符串,还可避免对目标字符串中除首字符以外的其余字符逐一匹配、检测,从而使得检测效率得以进一步提升。具体可在响应于所述第二节点字符所对应的第二节点包含目标标识,确定所述第一字符与所述第二字符组成第一目标字符串,以及所述第一目标字符串为前述敏感字符串之后,先响应于所述第二节点含所述目标标识,且所述第二节点为叶子节点,在前缀树中根节点的子节点中,确定与所述待检测文本中第五字符匹配的第六节点字符。其中,第五字符为,在第二字符之后顺序读取到的字符;所述第六节点字符与第六节点对应。然后,确定第六节点是否含目标标识;若是,确定第五字符所组成的第四目标字符串为敏感字符串。若否,则继续执行如前所述的检测目标,即顺序读取待检测文本中位于第五字符之后的字符,与第六节点的子节点进行匹配,直到匹配到含目标标识的节点。
与上文检测到目标字符串之后,直接对目标字符串之后的首字字符进行匹配相反的一种情况是:未与目标字符串匹配成功;则仍然回退到匹配失败的字符串的第二字符,以该第二字符为首字符,在前缀树中根节点进行匹配。例如,目标字符串为“天气很凉爽”,而待检测文本为“天气炎热”,则当匹配至“炎”字符未能匹配成功时,则重新以“气”为首字符在前缀树中根节点进行匹配。
本申请实施例中,第四字符、第五字符由于为新的目标字符串中进行匹配的字符,故而命名,实际上该第四字符、第五字符与第三字符在待检测文本中应当为同一字符,均为第二字符之后的首个字符。相应地,与同一字符匹配的节点,前缀树中的第三节点、第五节点、第六节点也为同一节点。
值得证明的是,如前所述,当读取到字母时,可将连续的字母作为一个字符整体在前缀树中进行匹配。而在结束目标字符串进行下一字符串的匹配时,此时所确定的下一字符应当为,该连续的字母中去除首字母后剩余字母,将剩余的连续字符作为一个字符整体重新再前缀树中的根节点的子节点中进行匹配。
例如;“chong庆”,在完成目标字符串“chong庆”的检测之后,应当将“hong”作为一个字符,在前缀树根节点的子节点中进行匹配。
进一步地,为了避免误检情况的发生,本申请实施例还提供以下两种用于复核前述敏感字符串是否敏感的实施方式,这两种实施方式可分别独立使用,也可结合使用,结合使用时不限制二者的使用次序。
实施方式1
由于不同场景下,词汇的敏感特性会发生变化。某一场景中敏感词在另外场景中使用时,可能已不再为敏感词。因此,本申请实施例为每种场景设置白名单,该白名单为对应场景下,容易被误判的非敏感词汇。
在一些实施例中,针对白名单的设置为:先获取信息样本数据,并利用分词工具(例如,jieba)对信息样本数据中涉敏且非敏片段进行处理,将处理得到的词块/词组纳入白名单;也可将处理得到的词块/词组中的名词、动名词纳入白名单。
在一些实施例中,针对白名单的设置为:在对应场景下确定并分析误检词块/词组纳入,将误检次数超过误检阈值的词块/词组纳入白名单。
在一些实施例中,针对白名单的设置为:根据对应场景的变化规律/趋势,预测容易被误检的词块/词组并纳入白名单。
由此,为提升敏感词的检测结果的准确性,对步骤101中待检测文本应当利用前述预设白名单进行预处理。具体地,可先确定待处理文本所对应的场景,以及该场景所对应的预设白名单。
然后,基于预设白名单中的词组,对待处理文本中的字符串进行过滤,以去除待处理文本中非敏且容易被误检的字符串,得到不含预设白名单中词组的待检测文本。
进一步地,对待处理文本过滤,意味着将待处理文本中出现的白名单中词组直接去除。如此,容易出现的一种情况是,原先两个字符之间为白名单中词组,过滤之后,在待检测文本中为两个相邻的字符;而当这两个相邻的字符组成的字符串,或包含这两个字符的字符串,恰好与前缀树中某一目标路径上的节点字符对应,则将被错误确定为敏感字符串。因此,在步骤102之后,对敏感词检测结果:敏感字符串进行场景还原。具体地,可将敏感字符串作为一个待检测的整体,在未经预处理的原始文本:待处理文本中进行检索,以确定待处理文本中是否包括步骤102中所得到的敏感字符串。
若是,在待处理文本中检测到敏感字符串,即敏感字符串中字符在待处理文本中连续排列,确定敏感字符串检测无误。
若否,在待处理文本中未检测到敏感字符串,则确定该敏感字符串中字符以分散的形式分布其中,而非连续排列。因此该敏感字符串为白名单过滤所导致的误检,则确定该敏感字符串为错误标记的非敏感字符串。
实施方式2
先利用预设的分词模型对待处理文本进行分词,得到分词集合。
然后,将前述检测得到的敏感字符串在分词集合中逐一进行检索,得到的检索结果包括:未检索到、敏感字符串为分词集合中某个词组的片段、敏感字符串的片段为分词集合中的词组、或者敏感字符串与词组对应。
对于敏感字符串与词组完全对应的检测结果,则确定该敏感字符串的检测无误。
对于未检索到的,或者敏感字符串的片段为分词集合中的词组,这两种情况很可能是分词模型的语料库未能及时更新所致,因此不做处理。例如,敏感字符为“重庆火锅”时,分词模型仅检测到“重庆”、“火锅”的情况。
对于检索到敏感字符串为分词集合中某词组的片段的,例如检测到敏感字符串为“火锅”,分词集合中相应词组为“重庆火锅”的,而“重庆火锅”并非敏感词,则可以确定该敏感字符串为误检。
可见,为了避免基于语义进行分词的分词模型因语料库未能及时更新而分词准确率低的影响,在分词之后,响应于分词集合中关键词组的片段为敏感字符串,确定所述敏感字符串为错误标记的非敏感字符串;其余情况则视作敏感字符串的检测正确。
基于上述两种实施方式,或者结合,可对步骤101-102所得的检测结果进一步核验,从而达到提升敏感字符串检测结果准确性的目的。
进一步地,基于步骤101-102,以下以经过预处理的待检测文本进行举例说明,请参考图3。
开始敏感字符串的检测之后,先对待检测文本以及对应检测参数进行设置。将已匹配到的连续字符串标记为cmparTxt。每次匹配到目标字符串或者字符串片段时,将目标字符串或字符串片段的首字符在待检测文本呢中序号标记为startcomparIndex,该startcomparIndex用于标记目标字符串或字符串片段在待检测文本中的起始位置。利用取词序号index实现在待检测文本中字符的顺序读取,每次结束一个目标字符串匹配、每次结束字符串片段之后,都将index重置为null。根据前述startcomparIndex以及取词序号index所读取到的待匹配字符为tempChar,将检测得到的敏感字符串汇总为敏感词结果集:RET。将每次在前缀树中进行比对的节点组成节点集C,为检测到的多个敏感字符串分别设置匹配序号cmparIndex。
订阅词库前缀树,该词库前缀树与待检测文本的使用场景对应。请参考图4,敏感词库含多个敏感词,每一敏感词分别对应基础词,以及通过对应扩展方式得到的含扩展标记的扩展词。则确定使用场景之后,可向敏感词库订阅词库。由此,该订阅词库中包含敏感词库中所有基础词,以及与该使用场景对应的扩展策略所对应的扩展词。前缀树中根据订阅词库进行设置,每一节点含单独汉字(简体或繁体),或者含连续的字母。
同时,对前述各项参数进行初始化:令cmparTxt为空(null);令取词序号index为0;令比对节点集C为前缀树中跟节点的子节点组成集合S;令根据该取词序号index所读取到的待匹配字符tempChar为空(null);令敏感字符串的匹配序号cmparIndex为0。如此,即可从待检测文本中第一个字符开始匹配及检测。以下以index为m时的情形进行详细说明:
根据index在待检测文本中读取字符m,则tempChar=m。判断m是否为特殊字符,若是,则index+1,依序读取m之后的字符。
若非特殊字符,则在节点集C中查询是否含temChar。若否,则index+1,依序读取m之后的字符。若是,可先判断temChar所在节点是否含复用标识F。
若否,先用temChar更新已匹配到的连续字符串cmparTxt:cmparTxt=cmparTxt+temChar。并将temChar所在节点的子节点所组成的节点集K更新C,得到C=K;以及index+1,依序读取待检测文本之后的字符与C中节点字符进行匹配,直到startcomparIndex+index大于待检测文本的长度,确定当前片段字符串未能匹配为敏感字符串;则可继续更新startcomparIndex:startcomparIndex=startcomparIndex+1,使得该片段字符串中第二个字符作为首字符重复前述与C=S节点集合的匹配,以及后续步骤,直到startcomparIndex大于待检测文本的长度。
若是,则仍然用temChar更新已匹配到的连续字符串cmparTxt:cmparTxt=cmparTxt+temChar,并将更新后的cmparTxt作为敏感字符串加入RET结果集。除此之外,还进一步确定检测策略。
若检测策略为快速检测,即检测到敏感字符串即输出,则直接输出结果集RET。反之,若检测策略为全文检测,则进一步判断该temChar节点在前缀树中是否为叶子节点。
若否,则将取词序号index+1,并利用针对基于index所读取到的字符与前述更新得到的节点集C(C=K)的节点字符进行匹配,并在匹配成功之后继续执行前述匹配/判断步骤,直到index大于文本长度。
若是,则以最新更新的cmparTxt的长度(即Index)更新startcomparIndex:startcomparIndex=startcomparIndex+Index。之后,index重置为0,开始新一轮敏感字符串的匹配。读待检测文本中取敏感字符串之后的第一个字符,执行前述步骤:即依次在C=S节点集中匹配,并利用匹配成功的节点的节点集更新C,已进行后一字符的匹配,直到startcomparIndex超过文本长度。输出基于以上方法所检测到的由敏感字符串组成的结果集RET。
基于同一发明构思,本申请实施例中提供一种检测敏感字符串的装置,该装置与前述图1所示检测敏感字符串的方法对应,该装置的具体实施方式可参见前述方法实施例部分的描述,重复之处不再赘述,参见图5,该装置包括:
获取单元501,用于获取待检测文本及前缀树。
其中,所述前缀树包括目标路径,所述目标路径的起点为所述前缀树的根节点的子节点,所述目标路径的终点为含目标标识的节点。
所述前缀树中的所述节点字符为所述敏感字符串中的敏感字符。
所述节点字符的类型包括:对应于所述敏感字符的汉字、对应于所述敏感字符的第一字母序列、或对应于所述敏感字符串的第二字母序列。
其中,所述第二字母序列由对应于所述敏感字符的子序列组成,所述第一字母序列和所述子序列指示:所述敏感字符的拼音全拼、所述敏感字符的拼音首字母、或所述敏感字符的英文单词。
匹配单元502,用于响应于所述待检测文本中目标字符串与所述目标路径的节点字符串匹配,确定所述目标字符串为所述敏感字符串。
其中,所述节点字符串中的节点字符与所述目标路径上的所述节点一一对应。
匹配单元502具体用于响应于所述待检测文本中的第一字符与所述前缀树中的第一节点字符匹配,在所述第一节点的子节点中,确定与所述待检测文本中第二字符对应的第二节点字符。
其中,所述第一节点字符所对应的第一节点为,所述前缀树中所述根节点的子节点。
所述第二字符为,在所述第一字符之后顺序读取到的字符;响应于所述第二节点字符所对应的第二节点含所述目标标识,确定所述第一字符与所述第二字符所组成的第一目标字符串为所述敏感字符串。
匹配单元502具体用于响应于所述第二节点含所述目标标识,且所述第二节点非叶子节点,在所述第二节点的子节点中,确定与所述待检测文本中第三字符匹配的第三节点字符。
其中,所述第三字符为,在所述第二字符之后顺序读取到的字符。
响应于所述第三节点字符所对应的第三节点含所述目标标识,且所述第三节点为叶子节点,确定所述第一字符、所述第二字符和所述第三字符所组成的第二目标字符串为所述敏感字符串。
匹配单元502还用于响应于所述第二节点含所述目标标识,且所述第二节点为叶子节点,在所述根节点的子节点中,确定与所述第二字符匹配的第四节点字符。其中,所述第四节点字符与第四节点对应。
在所述待检测文本中,顺序读取位于所述第二字符之后的第四字符,并在所述前缀树中,确定与所述第四字符匹配的第五节点字符,以及所述第五节点字符所对应的第五节点是否含所述目标标识。
其中,所述第五节点为第四节点的子节点;若是,确定所述第二字符与所述第四字符所组成的第三目标字符串为所述敏感字符串。
匹配单元502还用于响应于所述第二节点含所述目标标识,且所述第二节点为叶子节点,在所述根节点的子节点中,确定与所述待检测文本中第五字符匹配的第六节点字符。
其中,所述第五字符为,在所述第二字符之后顺序读取到的字符;所述第六节点字符与第六节点对应;确定所述第六节点是否含所述目标标识;若是,确定所述第五字符所组成的第四目标字符串为所述敏感字符串。
上述待检测文本为基于预设白名单中词组对待处理文本进行过滤所得文本;所述待检测文本不含所述预设白名单中的所述词组;则所述检测敏感字符串的装置还包括第一单元,所述第一单元用于确定所述待处理文本中是否包括所述敏感字符串;若否,确定所述敏感字符串为错误标记的非敏感字符串。
所述检测敏感字符串的装置还包括第二单元,所述第二单元用于利用预设的分词模型对待处理文本进行分词,得到分词集合;其中,所述待处理文本为所述待检测文本的原始文本;响应于所述分词集合中关键词组的片段为所述敏感字符串,确定所述敏感字符串为错误标记的非敏感字符串。
基于同一发明构思,本申请实施例还提供一种可读存储介质,包括:
存储器,
所述存储器用于存储指令,当所述指令被处理器执行时,使得包括所述可读存储介质的装置完成如上所述的检测敏感字符串的方法。
基于与上述数据管理方法相同的发明构思,本申请实施例中还提供了一种电子设备,所述电子设备可以实现前述一种检测敏感字符串的功能,参考图6,所述电子设备包括:
至少一个处理器601,以及与至少一个处理器601连接的存储器602,本申请实施例中不限定处理器601与存储器602之间的具体连接介质,图6中是以处理器601和存储器602之间通过总线600连接为例。总线600在图6中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线600可以分为地址总线、数据总线、控制总线等,为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。或者,处理器601也可以称为控制器,对于名称不做限制。
在本申请实施例中,存储器602存储有可被至少一个处理器601执行的指令,至少一个处理器601通过执行存储器602存储的指令,可以执行前文论述数据管理方法。处理器601可以实现图5所示的装置中各个模块的功能。
其中,处理器601是该装置的控制中心,可以利用各种接口和线路连接整个该控制设备的各个部分,通过运行或执行存储在存储器602内的指令以及调用存储在存储器602内的数据,该装置的各种功能和处理数据,从而对该装置进行整体监控。
在一种可能的设计中,处理器601可包括一个或多个处理单元,处理器601可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器601中。在一些实施例中,处理器601和存储器602可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器601可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的检测敏感字符串的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器602作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器602可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等。存储器602是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器602还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
通过对处理器601进行设计编程,可以将前述实施例中介绍的数据管理方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行图1所示的实施例的检测敏感字符串的步骤。如何对处理器601进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
基于同一发明构思,本申请实施例还提供一种存储介质,该存储介质存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行前文论述数据管理方法。
在一些可能的实施方式中,本申请提供的检测敏感字符串的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在装置上运行时,程序代码用于使该控制设备执行本说明书上述描述的根据本申请各种示例性实施方式的数据管理方法中的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本发明的实施方式中提供的检测敏感字符串的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算设备上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (17)
1.一种检测敏感字符串的方法,其特征在于,包括:
获取待检测文本及前缀树;其中,所述前缀树包括目标路径,所述目标路径的起点为所述前缀树的根节点的子节点,所述目标路径的终点为含目标标识的节点;
响应于所述待检测文本中目标字符串与所述目标路径的节点字符串匹配,确定所述目标字符串为所述敏感字符串;其中,所述节点字符串中的节点字符与所述目标路径上的所述节点一一对应。
2.如权利要求1所述的方法,其特征在于,所述响应于所述待检测文本中目标字符串与所述目标路径的节点字符串匹配,确定所述目标字符串为所述敏感字符串,包括:
响应于所述待检测文本中的第一字符与所述前缀树中的第一节点字符匹配,在所述第一节点的子节点中,确定与所述待检测文本中第二字符对应的第二节点字符;其中,所述第一节点字符所对应的第一节点为,所述前缀树中所述根节点的子节点;所述第二字符为,在所述第一字符之后顺序读取到的字符;
响应于所述第二节点字符所对应的第二节点含所述目标标识,确定所述第一字符与所述第二字符所组成的第一目标字符串为所述敏感字符串。
3.如权利要求2所述的方法,其特征在于,所述响应于所述第二节点字符所对应的第二节点含所述目标标识,确定所述第一字符与所述第二字符组成的第一目标字符串为所述敏感字符串之后,还包括:
响应于所述第二节点含所述目标标识,且所述第二节点非叶子节点,在所述第二节点的子节点中,确定与所述待检测文本中第三字符匹配的第三节点字符;其中,所述第三字符为,在所述第二字符之后顺序读取到的字符;
响应于所述第三节点字符所对应的第三节点含所述目标标识,且所述第三节点为叶子节点,确定所述第一字符、所述第二字符和所述第三字符所组成的第二目标字符串为所述敏感字符串。
4.如权利要求2所述的方法,其特征在于,所述响应于所述第二节点字符所对应的第二节点包含所述目标标识,确定所述第一字符与所述第二字符组成的第一目标字符串为所述敏感字符串之后,还包括:
响应于所述第二节点含所述目标标识,且所述第二节点为叶子节点,在所述根节点的子节点中,确定与所述第二字符匹配的第四节点字符;其中,所述第四节点字符与第四节点对应;
在所述待检测文本中,顺序读取位于所述第二字符之后的第四字符,并在所述前缀树中,确定与所述第四字符匹配的第五节点字符,以及所述第五节点字符所对应的第五节点是否含所述目标标识;其中,所述第五节点为第四节点的子节点;
若是,确定所述第二字符与所述第四字符所组成的第三目标字符串为所述敏感字符串。
5.如权利要求2所述的方法,其特征在于,所述响应于所述第二节点字符所对应的第二节点包含所述目标标识,确定所述第一字符与所述第二字符组成的第一目标字符串为所述敏感字符串之后,还包括:
响应于所述第二节点含所述目标标识,且所述第二节点为叶子节点,在所述根节点的子节点中,确定与所述待检测文本中第五字符匹配的第六节点字符;其中,所述第五字符为,在所述第二字符之后顺序读取到的字符;所述第六节点字符与第六节点对应;
确定所述第六节点是否含所述目标标识;若是,确定所述第五字符所组成的第四目标字符串为所述敏感字符串。
6.如权利要求1-5任一项所述的方法,其特征在于,所述待检测文本为基于预设白名单中词组对待处理文本进行过滤所得文本;所述待检测文本不含所述预设白名单中的所述词组;
则所述确定所述目标字符串为所述敏感字符串之后,还包括:
确定所述待处理文本中是否包括所述敏感字符串;若否,确定所述敏感字符串为错误标记的非敏感字符串。
7.如权利要求1-5任一项所述的方法,其特征在于,所述确定所述目标字符串为所述敏感字符串之后,还包括:
利用预设的分词模型对待处理文本进行分词,得到分词集合;其中,所述待处理文本为所述待检测文本的原始文本;
响应于所述分词集合中关键词组的片段为所述敏感字符串,确定所述敏感字符串为错误标记的非敏感字符串。
8.一种检测敏感字符串的装置,其特征在于,包括:
获取单元,用于获取待检测文本及前缀树;其中,所述前缀树包括目标路径,所述目标路径的起点为所述前缀树的根节点的子节点,所述目标路径的终点为含目标标识的节点;
匹配单元,用于响应于所述待检测文本中目标字符串与所述目标路径的节点字符串匹配,确定所述目标字符串为所述敏感字符串;其中,所述节点字符串中的节点字符与所述目标路径上的所述节点一一对应。
9.如权利要求8所述的装置,其特征在于,所述匹配单元具体用于响应于所述待检测文本中的第一字符与所述前缀树中的第一节点字符匹配,在所述第一节点的子节点中,确定与所述待检测文本中第二字符对应的第二节点字符;其中,所述第一节点字符所对应的第一节点为,所述前缀树中所述根节点的子节点;所述第二字符为,在所述第一字符之后顺序读取到的字符;响应于所述第二节点字符所对应的第二节点含所述目标标识,确定所述第一字符与所述第二字符所组成的第一目标字符串为所述敏感字符串。
10.如权利要求9所述的装置,其特征在于,所述匹配单元具体用于响应于所述第二节点含所述目标标识,且所述第二节点非叶子节点,在所述第二节点的子节点中,确定与所述待检测文本中第三字符匹配的第三节点字符;其中,所述第三字符为,在所述第二字符之后顺序读取到的字符;响应于所述第三节点字符所对应的第三节点所述含目标标识,且所述第三节点为叶子节点,确定所述第一字符、所述第二字符和所述第三字符所组成的第二目标字符串为所述敏感字符串。
11.如权利要求9所述的装置,其特征在于,所述匹配单元还用于响应于所述第二节点含所述目标标识,且所述第二节点为叶子节点,在所述根节点的子节点中,确定与所述第二字符匹配的第四节点字符;其中,所述第四节点字符与第四节点对应;在所述待检测文本中,顺序读取位于所述第二字符之后的第四字符,并在所述前缀树中,确定与所述第四字符匹配的第五节点字符,以及所述第五节点字符所对应的第五节点是否含所述目标标识;其中,所述第五节点为第四节点的子节点;若是,确定所述第二字符与所述第四字符所组成的第三目标字符串为所述敏感字符串。
12.如权利要求9所述的装置,其特征在于,所述匹配单元还用于响应于所述第二节点含所述目标标识,且所述第二节点为叶子节点,在所述根节点的子节点中,确定与所述待检测文本中第五字符匹配的第六节点字符;其中,所述第五字符为,在所述第二字符之后顺序读取到的字符;所述第六节点字符与第六节点对应;确定所述第六节点是否含所述目标标识;若是,确定所述第五字符所组成的第四目标字符串为所述敏感字符串。
13.如权利要求8-12任一项所述的装置,其特征在于,所述待检测文本为基于预设白名单中词组对待处理文本进行过滤所得文本;所述待检测文本不含所述预设白名单中的所述词组;则所述装置还包括第一单元,所述第一单元用于确定所述待处理文本中是否包括所述敏感字符串;若否,确定所述敏感字符串为错误标记的非敏感字符串。
14.如权利要求8-12任一项所述的装置,其特征在于,所述装置还包括第二单元,所述第二单元用于利用预设的分词模型对待处理文本进行分词,得到分词集合;其中,所述待处理文本为所述待检测文本的原始文本;响应于所述分词集合中关键词组的片段为所述敏感字符串,确定所述敏感字符串为错误标记的非敏感字符串。
15.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,
所述处理器执行所述计算机程序时实现权利要求1-7任一项所述方法的步骤。
16.一种计算机存储介质,其上存储有计算机程序,其特征在于,
所述计算机程序被处理器执行时实现权利要求1-7任一项所述方法的步骤。
17.一种计算机程序产品,包括计算机程序,其特征在于,
所述计算机程序被处理器执行时实现权利要求1-7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310780376.8A CN116756382A (zh) | 2023-06-29 | 2023-06-29 | 检测敏感字符串的方法、装置、设置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310780376.8A CN116756382A (zh) | 2023-06-29 | 2023-06-29 | 检测敏感字符串的方法、装置、设置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116756382A true CN116756382A (zh) | 2023-09-15 |
Family
ID=87951185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310780376.8A Pending CN116756382A (zh) | 2023-06-29 | 2023-06-29 | 检测敏感字符串的方法、装置、设置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116756382A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117892724A (zh) * | 2024-03-15 | 2024-04-16 | 成都赛力斯科技有限公司 | 一种文本检测方法、装置、设备及存储介质 |
CN117892724B (zh) * | 2024-03-15 | 2024-06-04 | 成都赛力斯科技有限公司 | 一种文本检测方法、装置、设备及存储介质 |
-
2023
- 2023-06-29 CN CN202310780376.8A patent/CN116756382A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117892724A (zh) * | 2024-03-15 | 2024-04-16 | 成都赛力斯科技有限公司 | 一种文本检测方法、装置、设备及存储介质 |
CN117892724B (zh) * | 2024-03-15 | 2024-06-04 | 成都赛力斯科技有限公司 | 一种文本检测方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111460787B (zh) | 一种话题提取方法、装置、终端设备及存储介质 | |
US8630841B2 (en) | Regular expression word verification | |
CN106202395B (zh) | 文本聚类方法和装置 | |
CN113158653B (zh) | 预训练语言模型的训练方法、应用方法、装置及设备 | |
US20100125447A1 (en) | Language identification for documents containing multiple languages | |
CN111444330A (zh) | 提取短文本关键词的方法、装置、设备及存储介质 | |
US8639496B2 (en) | System and method for identifying phrases in text | |
CN111079408B (zh) | 一种语种识别方法、装置、设备及存储介质 | |
CN104008093A (zh) | 用于中文姓名音译的方法和系统 | |
WO2008103894A1 (en) | Automated word-form transformation and part of speech tag assignment | |
CN114154487A (zh) | 文本自动纠错方法、装置、电子设备及存储介质 | |
US20200342037A1 (en) | System and method for search discovery | |
CA2523992A1 (en) | Automatic segmentation of texts comprising chunks without separators | |
CN113961768B (zh) | 敏感词检测方法、装置、计算机设备和存储介质 | |
CN111190873B (zh) | 一种用于云原生系统日志训练的日志模式提取方法及系统 | |
CN114329112A (zh) | 内容审核方法、装置、电子设备及存储介质 | |
JP6476886B2 (ja) | キーワード抽出システム、キーワード抽出方法、及び、コンピュータ・プログラム | |
CN110795617A (zh) | 一种搜索词的纠错方法及相关装置 | |
CN116756382A (zh) | 检测敏感字符串的方法、装置、设置及存储介质 | |
CN111078227B (zh) | 一种基于代码特征的二进制代码与源代码相似性分析方法与装置 | |
US20170031892A1 (en) | System and method for representing sequences of bits | |
CN111859089B (zh) | 一种用于互联网信息的错词检测控制方法 | |
CN114091435A (zh) | 文本内容校验方法、装置、电子设备及存储介质 | |
US8560981B2 (en) | Segmenting integrated circuit layout design files using speculative parsing | |
KR100998291B1 (ko) | 키워드 스트링을 구조화하고 검출하는 방법 및 장치 |
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 |