CN113961768B - 敏感词检测方法、装置、计算机设备和存储介质 - Google Patents
敏感词检测方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN113961768B CN113961768B CN202111580590.6A CN202111580590A CN113961768B CN 113961768 B CN113961768 B CN 113961768B CN 202111580590 A CN202111580590 A CN 202111580590A CN 113961768 B CN113961768 B CN 113961768B
- Authority
- CN
- China
- Prior art keywords
- character
- sensitive
- matching
- text
- node
- 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.)
- Active
Links
Images
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/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/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/3331—Query processing
- G06F16/334—Query execution
-
- 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/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90348—Query processing by searching ordered data, e.g. alpha-numerically ordered data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Machine Translation (AREA)
Abstract
本申请涉及一种敏感词检测方法、装置、计算机设备和存储介质。方法包括:获取待检测文本和敏感词字典树;敏感词字典树包括有敏感无声调字符;确定与待检测文本相对应的无声调文本,并将无声调文本与敏感无声调字符进行第一匹配处理,得到第一匹配结果;根据第一匹配结果提取无声调文本中的候选字符串、和敏感词字典树中的匹配敏感字符串;确定候选字符串所对应的候选有声调字符串,并确定匹配敏感字符串所对应的匹配有声调字符串;将候选有声调字符串与匹配有声调字符串进行第二匹配处理,得到第二匹配结果,并根据第二匹配结果确定待检测文本中的敏感词。因此本申请大大提升了待检测文本的敏感词查找效率。
Description
技术领域
本申请涉及智能检测技术领域,特别是涉及一种敏感词检测方法、装置、计算机设备和存储介质。
背景技术
随着智能检测技术的发展,越来越多用户通过计算机自动识别文本中的信息。而识别后的文本信息通常需要再进行检测,以避免文本信息中出现违规或者带有负面影响的敏感词,比如,在企业的财务事项中,需要到对扫描后的电子报销单据进行敏感词检测。
目前,主要通过人工方式对待检测的文本信息进行检测,并从文本信息中提取出敏感词,然而在实际情况中,待检测的文本信息中会存在干扰字符、同音字等。因此,通过人工方式在海量文本中逐一审核待检测文本中的敏感词,会导致待检测文本的敏感词查找效率低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高待检测文本的敏感词查找效率的敏感词检测方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种敏感词检测方法。所述方法包括:
获取待检测文本和敏感词字典树;所述敏感词字典树包括有敏感无声调字符;所述敏感无声调字符为与预设敏感词相对应的敏感无声调字符串中的字符;
确定与所述待检测文本相对应的无声调文本,并将所述无声调文本与所述敏感无声调字符进行第一匹配处理,得到第一匹配结果;
根据第一匹配结果提取所述无声调文本中的候选字符串、和所述敏感词字典树中的匹配敏感字符串;
确定所述候选字符串所对应的候选有声调字符串,并确定所述匹配敏感字符串所对应的匹配有声调字符串;
将所述候选有声调字符串与所述匹配有声调字符串进行第二匹配处理,得到第二匹配结果,并根据所述第二匹配结果确定所述待检测文本中的敏感词。
在其中一个实施例中,所述确定与所述待检测文本相对应的无声调文本,包括:对所述待检测文本进行分词检测,得到所述待检测文本中的至少一个待检测分词,并确定各所述待检测分词在所述待检测文本中的位置信息;对于多个待检测分词中的每个待检测分词,均根据当前待检测分词的分词类型,对所述待检测分词进行转换,得到与所述当前待检测分词对应的字符串;根据各所述待检测分词在所述待检测文本中的位置信息,综合各所述待检测分词各自对应的字符串,得到无声调文本。
在其中一个实施例中,所述将所述无声调文本与所述敏感无声调字符进行第一匹配处理,得到第一匹配结果,包括:将所述无声调文本中的每个文本字符均与所述敏感词字典树中的相应节点进行匹配,得到每个所述文本字符各自对应的匹配子结果;综合每个所述文本字符各自对应的匹配子结果,得到第一匹配结果。
在其中一个实施例中,所述敏感词字典树包括节点的参数,所述节点的参数包括敏感无声调字符、字符串结尾标识、以及字符数量中的至少一种;所述将所述无声调文本中的每个文本字符均与所述敏感词字典树中的相应节点进行匹配,得到每个所述文本字符各自对应的匹配子结果,包括:确定所无声调文本中的首个字符,并将所述首个字符与所述敏感词字典树中的首层节点进行匹配,得到与所述首个字符相对应的匹配子结果;当所述首个字符与所述敏感词字典树中的首层节点匹配成功时,确定所述敏感词字典树中与所述首个字符相匹配的匹配首层节点,并确定与所述匹配首层节点关联的目标节点;与所述匹配首层节点关联的目标节点包括所述匹配首层节点的子节点、和所述匹配首层节点指向的指向节点的子节点中的至少一种;获取所述无声调文本中的与所述首个字符相邻、且位于所述首个字符之后的目标字符,并将所述目标字符与所述目标节点的进行匹配,得到与所述目标字符相对应的匹配子结果;当所述目标字符与所述目标节点匹配成功时,确定与所述目标字符相邻且位于所述目标字符之后的后续字符、和与所述目标节点关联的关联节点;所述关联节点包括所述目标节点的子节点、和所述目标节点指向的指向节点的子节点中的至少一种;将所述后续字符作为新的目标字符,并将所述关联节点作为新的目标节点,返回将所述目标字符与所述目标节点进行匹配的步骤继续执行;当所述目标字符与所述目标节点匹配失败时,将所述目标字符作为首个字符,返回将所述首个字符与所述敏感词字典树中的首层级节点进行匹配的步骤继续执行,直至所述无声调文本中的文本字符与所述敏感词字典树匹配完毕;综合所述首个字符的匹配子结果和各所述目标字符各自对应的匹配子结果,得到第一匹配结果。
在其中一个实施例中,还包括:当所述首个字符与所述敏感词字典树中的首层级节点匹配失败时,获取所述无声调文本中与所述首个字符紧邻的下一个字符;将与所述首个字符紧邻的下一个字符作为首个字符,返回将所述首个字符与所述敏感词字典树中的首层节点进行匹配的步骤继续执行,直至所述无声调文本中的文本字符与所述敏感词字典树匹配完毕。
在其中一个实施例中,所述敏感词字典树包括节点的参数,所述节点的参数包括字符串结尾标识和字符数量中的至少一种;所述根据第一匹配结果提取所述无声调文本中的候选字符串、和所述敏感词字典树中的匹配敏感字符串,包括:对于所述无声调文本中的每个文本字符,均基于所述第一匹配结果,确定当前文本字符与所述敏感词字典树中的节点相匹配时,获取与所述当前文本字符相匹配的节点的参数,并将与所述当前文本字符相匹配的节点作为匹配节点,将所获取的参数作为匹配参数;当所述匹配参数包括字符串结尾标识时,提取所述匹配参数中的字符数量,并将所述字符数量减1,得到目标数量;根据所述无声调文本中的位于所述当前文本字符之前的连续目标数量的文本字符、以及所述当前文本字符,确定候选字符串;根据所述敏感词字典树中的位于所述匹配节点之前的连续目标数量的节点、以及所述匹配节点,确定匹配敏感字符串。
在其中一个实施例中,所述第二匹配结果包括匹配程度;所述将所述候选有声调字符串与所述匹配有声调字符串进行第二匹配处理,得到第二匹配结果,包括:确定所述候选有声调字符串与所述匹配有声调字符串之间的匹配程度;所述根据所述第二匹配结果确定所述待检测文本中的敏感词,包括:当所述匹配程度大于或等于预设匹配阈值时,确定所述候选有声调字符串为目标字符串,并将所述待检测文本中的与所述目标字符串对应的分词作为敏感词。
在其中一个实施例中,所述敏感词字典树的更新步骤包括:获取原始敏感词字典树和待添加敏感词的敏感无声调字符串;确定所述敏感无声调字符串中的当前敏感无声调字符,并判断所述原始敏感词字典树中是否包括有与所述当前敏感无声调字符对应的节点;当不包括时,确定所述敏感无声调字符串中的与所述当前敏感无声调字符紧邻的上一个敏感无声调字符,并将所述当前敏感无声调字符所对应的节点作为与所述上一个敏感无声调字符所对应的节点的子节点;确定所述敏感无声调字符串中的与所述当前敏感无声调字符紧邻的下一个敏感词无声调字符,并将所述下一个敏感词无声调字符作为新的当前敏感无声调字符,返回判断所述原始敏感词字典树中是否包括有与所述当前敏感无声调字符对应的节点的步骤继续执行,直至所述敏感无声调字符串中的每个敏感无声调字符均添加至所述原始敏感词字典树中,得到更新后的敏感词字典树。
第二方面,本申请还提供了一种敏感词检测装置。所述装置包括:
字符获取模块,用于获取待检测文本和敏感词字典树;所述敏感词字典树包括有敏感无声调字符;所述敏感无声调字符为与预设敏感词相对应的敏感无声调字符串中的字符;
第一匹配模块,用于确定与所述待检测文本相对应的无声调文本,并将所述无声调文本与所述敏感无声调字符进行第一匹配处理,得到第一匹配结果;根据第一匹配结果提取所述无声调文本中的候选字符串、和所述敏感词字典树中的匹配敏感字符串;
第二匹配模块,用于确定所述候选字符串所对应的候选有声调字符串,并确定所述匹配敏感字符串所对应的匹配有声调字符串;将所述候选有声调字符串与所述匹配有声调字符串进行第二匹配处理,得到第二匹配结果,并根据所述第二匹配结果确定所述待检测文本中的敏感词。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取待检测文本和敏感词字典树;所述敏感词字典树包括有敏感无声调字符;所述敏感无声调字符为与预设敏感词相对应的敏感无声调字符串中的字符;
确定与所述待检测文本相对应的无声调文本,并将所述无声调文本与所述敏感无声调字符进行第一匹配处理,得到第一匹配结果;
根据第一匹配结果提取所述无声调文本中的候选字符串、和所述敏感词字典树中的匹配敏感字符串;
确定所述候选字符串所对应的候选有声调字符串,并确定所述匹配敏感字符串所对应的匹配有声调字符串;
将所述候选有声调字符串与所述匹配有声调字符串进行第二匹配处理,得到第二匹配结果,并根据所述第二匹配结果确定所述待检测文本中的敏感词。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取待检测文本和敏感词字典树;所述敏感词字典树包括有敏感无声调字符;所述敏感无声调字符为与预设敏感词相对应的敏感无声调字符串中的字符;
确定与所述待检测文本相对应的无声调文本,并将所述无声调文本与所述敏感无声调字符进行第一匹配处理,得到第一匹配结果;
根据第一匹配结果提取所述无声调文本中的候选字符串、和所述敏感词字典树中的匹配敏感字符串;
确定所述候选字符串所对应的候选有声调字符串,并确定所述匹配敏感字符串所对应的匹配有声调字符串;
将所述候选有声调字符串与所述匹配有声调字符串进行第二匹配处理,得到第二匹配结果,并根据所述第二匹配结果确定所述待检测文本中的敏感词。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取待检测文本和敏感词字典树;所述敏感词字典树包括有敏感无声调字符;所述敏感无声调字符为与预设敏感词相对应的敏感无声调字符串中的字符;
确定与所述待检测文本相对应的无声调文本,并将所述无声调文本与所述敏感无声调字符进行第一匹配处理,得到第一匹配结果;
根据第一匹配结果提取所述无声调文本中的候选字符串、和所述敏感词字典树中的匹配敏感字符串;
确定所述候选字符串所对应的候选有声调字符串,并确定所述匹配敏感字符串所对应的匹配有声调字符串;
将所述候选有声调字符串与所述匹配有声调字符串进行第二匹配处理,得到第二匹配结果,并根据所述第二匹配结果确定所述待检测文本中的敏感词。
上述敏感词检测方法、装置、计算机设备、存储介质和计算机程序产品,通过获取待检测文本和敏感词字典树,可确定敏感词字典树中的敏感无声调字符,以及确定与待检测文本相对应的无声调文本,如此,便可将无声调文本与敏感无声调字符进行第一匹配处理,得到第一匹配结果;通过确定第一匹配结果,可基于第一匹配结果提取无声调文本中的候选字符串、和敏感词字典树中的匹配敏感字符串,以及确定与候选字符串对应的候选有声调字符串、以及与匹配敏感字符串对应的匹配有声调字符串。通过确定候选有声调字符串和匹配有声调字符串,可将候选有声调字符串与匹配有声调字符串进行第二匹配处理,得到第二匹配结果,并根据第二匹配结果确定待检测文本中的敏感词。由于可直接获取到通过第二匹配结果确定的待检测文本中的敏感词,因此,相比于传统的通过人工方式在海量文本中逐一审核待检测文本中的敏感词,本申请大大提升了待检测文本的敏感词查找效率。
附图说明
图1为一个实施例中敏感词检测方法的应用环境图;
图2为一个实施例中敏感词检测方法的流程示意图;
图3为一个实施例中敏感词字典树结构示意图;
图4为另一个实施例中敏感词字典树结构示意图;
图5为一个实施例中敏感词检测装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的敏感词检测方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。其中,终端102和服务器104均可单独用于执行本申请实施例中提供的敏感词检测方法,也可协同用于执行本申请实施例中提供的敏感词检测方法。以终端102和服务器104协同用于执行敏感词检测方法为例进行说明,终端102用于获取待检测文本,将待检测文本发送至服务器104。服务器104用于根据预设的敏感词字典树无声调文本确定待检测文本中的敏感词,将敏感词检测结果返回给终端102,终端102可用于输出接收到的敏感词检测结果。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种敏感词检测方法,以该方法应用于计算机设备为例进行说明,该计算机设备可为图1中的终端或服务器。敏感词检测方法包括以下步骤:
步骤202,获取待检测文本和敏感词字典树;敏感词字典树包括有敏感无声调字符;敏感无声调字符为与预设敏感词相对应的敏感无声调字符串中的字符。
具体地,计算机设备获取的待检测文本可以是用户在终端输入的文本信息,也可以是预先存储在数据库内的文本信息。敏感词字典树为一种由敏感词所对应的敏感无声调字符组成的结构树,该敏感词字典树可以是在计算机设备中预先设置。当用户在终端触发对待检测文本进行检测的操作时,计算机设备可基于预先设置的敏感词字典树对待检测信息进行检测。
在一个实施例中,敏感词字典树还可以通过用户在终端输入预设敏感词后进行创建,计算机设备可基于新创建的敏感词字典树对待检测信息进行检测。计算机设备用于接收终端发送的多个敏感词,并通过转换算法对每个增敏感词进行转换后,得到与每个敏感词各自对应的敏感无声调字符串。例如,对敏感词“茅台”进行转换,得到敏感无声调字符串为“maotai”。计算机设备根据每个敏感词各自对应的敏感无声调字符串,生成相应的敏感词字典树。
在其中一个实施例中,上述敏感词检测方法还包括敏感词字典树更新的步骤,敏感词字典树更新的步骤包括:获取原始敏感词字典树和待添加敏感词的敏感无声调字符串;确定敏感无声调字符串中的当前敏感无声调字符,并判断原始敏感词字典树中是否包括有与当前敏感无声调字符对应的节点;当不包括时,确定敏感无声调字符串中的与当前敏感无声调字符紧邻的上一个敏感无声调字符,并将当前敏感无声调字符所对应的节点作为与上一个敏感无声调字符所对应的节点的子节点;确定敏感无声调字符串中的与当前敏感无声调字符紧邻的下一个敏感词无声调字符,并将下一个敏感词无声调字符作为新的当前敏感无声调字符,返回判断原始敏感词字典树中是否包括有与当前敏感无声调字符对应的节点的步骤继续执行,直至敏感无声调字符串中的每个敏感无声调字符均添加至原始敏感词字典树中,得到更新后的敏感词字典树。
计算机设备中预先设置有一个原始敏感词字典树,当获取到待添加敏感词,并需要将待添加敏感词添加至原始敏感词字典树,以对原始敏感词字典树进行更新时,计算机设备可确定与待添加敏感词相对应的敏感无声调字符串,并对与待添加敏感词相对应的敏感无声调字符串中的每个敏感无声调字符均进行遍历。对于当前遍历至的当前敏感无声调字符,若当前敏感无声调字符不存在于原始敏感词字典树中,则确定与当前敏感无声调字符紧邻的上一个字符,并将当前敏感无声调字符的节点作为与当前敏感无声调字符紧邻的上一个字符的节点的子节点,从而将当前遍历至的当前敏感无声调字符添加至原始敏感词字典树。当遍历结束时,待添加敏感词的敏感无声调字符可均添加至原始敏感词字典树中,从而得到更新后的敏感词字典树,进而计算机设备可基于更新的敏感词字典树对待检测文本进行检测。
例如,如图3所示,为本发明实施例一种敏感词字典树结构示意图。原始敏感词字典树的根节点为不包含任何无声调字符的节点,该根节点下包括带有敏感无声调字符“m”的子节点和敏感无声调字符“t”的子节点,当获取到待添加敏感词为“茅台”,则需要将“茅台”对应的敏感无声调字符串“maotai”中的每个字符添加至原始敏感词字典树中,计算机设备根据各敏感无声调字符的排列顺序,从首个敏感无声调字符“m”进行判断,此时的敏感无声调字符“m”已存在于原始敏感词字典树中,不再重复进行添加;接着对第二个敏感无声调字符“a”进行判断,此时的敏感无声调字符“a”不存在于原始敏感词字典树中,则确定与当前敏感无声调字符“a”紧邻的上一个敏感无声调字符为“m”,并将当前敏感无声调字符“a”的节点作为敏感无声调字符“m”的节点的子节点,直至所有“maotai”中的敏感无声调字符都添加至原始敏感词字典树中。
本实施例中,通过使用待添加敏感词对原始敏感词字典树进行更新,能使后续通过更新后的敏感词字典树与待检测文本进行匹配,从而减少了因敏感词未添加至敏感词字典树中,而导致漏检测待检测文本中的敏感词的概率,进而提高了敏感词的检测准确性。
步骤204,确定与待检测文本相对应的无声调文本,并将无声调文本与敏感无声调字符进行第一匹配处理,得到第一匹配结果。
具体地,当获取得到待检测文本时,计算机设备可通过预设的转换算法对待检测文本进行转换,得到与待检测文本相对应的无声调文本。例如,对待检测文本“一个红包”进行转换,得到无声调文本为“yigehongbao”,若对待检测文本为带声调的“hongbao”进行转换,得到无声调文本为不带声调的“hongbao”。
计算机设备针对无声调文本中的每个文本字符,均确定当前文本字符是否与敏感词字典树中的相应节点相匹配,直至每个文本字符与敏感无声调字符匹配完毕,得到每个文本字符各自对应的匹配子结果,综合每个文本字符各自对应的匹配子结果得到第一匹配结果。例如上述举例,若敏感词为“红包”,敏感词字典树中包括有“hongbao”,待检测文本为“yigehongbao”,则无声调文本第一匹配结果为“第一至第四个文本字符不匹配,第五至第11个文本字符相匹配”。
在其中一个实施例中,对于无声调文本中的首个文本字符,计算机设备确定敏感词字典树的首层节点中是否存在与首个文本字符相匹配的节点,若存在,则确定首个文本字符与敏感词字典树中的节点相匹配,也即与敏感词字典树中的敏感无声调字符相匹配;若不存在,确定不相匹配。对于无声调文本中的除首个文本字符之外的其余文本字符,计算机设备确定其余文本字符中的当前文本字符,并在位于当前文本字符之前的前一文本字符与敏感词字典树中的节点相匹配时,确定敏感词字典树中与前一文本字符相匹配的目标节点,并将当前文本字符与目标节点的子节点进行匹配,得到与当前文本字符的匹配子结果。其中,当敏感词字典树中的节点所对应的敏感无声调字符与文本字符一致时,在确定该文本字符与敏感词字典树中的节点相匹配。
步骤206,根据第一匹配结果提取无声调文本中的候选字符串、和敏感词字典树中的匹配敏感字符串。
敏感词字典树中的节点具有相应的节点的参数,其中,当节点为敏感字符串的结尾时,该节点的参数中包括有字符串结尾标识和字符数量。其中,符串结尾标识用于标识该节点所对应的敏感无声调字符为一个敏感字符串的结尾,字符数量用于标识以该节点为结尾的敏感字符串所包括的字符数量。例如,参考图3,当敏感词为“茅台”时,由于该敏感词所对应的敏感字符串“mao”中包括3个字符时,节点“o”的参数即可包括字符数量“3”。
具体地,对于多个文本字符中的每个文本字符,计算机设备均基于无声调文本与敏感无声调字符的第一匹配结果,获取与当前文本字符相匹配的匹配节点的参数,若此时匹配节点的参数中具有字符串结尾标识时,计算机设备获取该参数中的字符数量,并将该字符数量减1,得到目标数量,并根据位于匹配节点之前的连续目标数量的节点、以及该匹配节点,确定匹配敏感字符串。
进一步地,计算机设备将无声调文本中的与匹配敏感字符串相同的字符串,作为候选字符串。
步骤208,确定候选字符串所对应的候选有声调字符串,并确定匹配敏感字符串所对应的匹配有声调字符串。
具体地,计算机设备中预存储有待检测文本中各分词各自对应的有声调文本、以及存储有用于构建敏感词字典树的各敏感词各自对应的有声调字符串。当获取得到候选字符串时,计算机设备可从有声调文本中截取与候选字符串相对应的候选有声调字符串;当获取得到匹配敏感字符串,计算机设备可从多个有声调字符串中筛选出与匹配敏感字符串相对应的匹配有声调字符串。
在其中一个实施例中,计算机设备将与匹配敏感字符串的匹配程度达到预设阈值的有声调字符串,作为匹配有声调字符串。例如,当匹配敏感字符串为“hongbao”、用于构建敏感词字典树的敏感词为“哄包”、“红包”、“红薄”时,得到与匹配敏感字符串相对应的匹配有声调字符串为“hong1bao1”、“hong2bao1”、“hong2bao2”等。
在其中一个实施例中,计算机设备通过预设转换算法对待检测文本进行转换,以及对敏感词进行转换。例如,可通过计算机自带的转换算法对待检测文本“毛台”进行转换,得到候选有声调字符串为“mao2tai2”,对待检测文本为带声调的“hongbao ”进行转换,得到“hong2bao1”的候选有声调字符串;对敏感词“茅台”进行转换,得到敏感有声调字符串为“mao2tai2”。其中,候选有声调字符串中的数值为相应字符的声调,比如“mao2”中的2,代表“毛”为第2声。
步骤210,将候选有声调字符串与匹配有声调字符串进行第二匹配处理,得到第二匹配结果,并根据第二匹配结果确定待检测文本中的敏感词。
计算机设备将候选有声调字符串与匹配有声调字符串进行匹配,得到候选有声调字符串的匹配结果,并将该匹配结果作为第二匹配结果。当第二匹配结果表征候选有声调字符串与匹配有声调字符串之间的匹配程度大于或等于预设匹配阈值时,确定该候选有声调字符串为目标字符串,并将所检测文本中的与目标字符串对应的分词作为敏感词。例如上述举例,候选有声调字符串“mao2tai2”与匹配有声调字符串“mao2tai2”的第二匹配结果为100%,则确定待检测文本中的敏感词为与“mao2tai2”相对应的“毛台”。
上述敏感词检测方法中,通过获取待检测文本和敏感词字典树,可确定敏感词字典树中的敏感无声调字符,以及确定与待检测文本相对应的无声调文本,如此,便可将无声调文本与敏感无声调字符进行第一匹配处理,得到第一匹配结果;通过确定第一匹配结果,可基于第一匹配结果提取无声调文本中的候选字符串、和敏感词字典树中的匹配敏感字符串,以及确定与候选字符串对应的候选有声调字符串、以及与匹配敏感字符串对应的匹配有声调字符串。通过确定候选有声调字符串和匹配有声调字符串,可将候选有声调字符串与匹配有声调字符串进行第二匹配处理,得到第二匹配结果,并根据第二匹配结果确定待检测文本中的敏感词。由于可直接获取到通过第二匹配结果确定的待检测文本中的敏感词,因此,相比于传统的通过人工方式在海量文本中逐一审核待检测文本中的敏感词,本申请大大提升了待检测文本的敏感词查找效率。
此外,由于是先对无声调文本进行初步检测,并提取无声调文本中的候选字符串后,再对候选字符串进行有声调检测,因此适用于包含有同音字、字母形式、拼音和文字混合形式的敏感词待检测文本,从而使得可检测的敏感词具有多样性。
在一个实施例中,确定与待检测文本相对应的无声调文本,包括:对待检测文本进行分词检测,得到待检测文本中的至少一个待检测分词,并确定各待检测分词在待检测文本中的位置信息;对于多个待检测分词中的每个待检测分词,均根据当前待检测分词的分词类型,对待检测分词进行转换,得到与当前待检测分词对应的字符串;根据各待检测分词在待检测文本中的位置信息,综合各待检测分词各自对应的字符串,得到无声调文本。
具体地,当计算机设备获取到待检测文本后,并对待检测文本进行分词检测,得到具有不同分词类型的多个待检测分词,其中,分词类型可包括中文分词、英文分词。计算机设备再利用与分词类型相对应的转换算法,对相应待检测分词进行转换,得到与待检测分词相对应的字符串,此时的字符串为无声调拼音的形式。例如,对待检测文本“songli毛台一瓶”进行分词后,得到具有中文分词类型的“毛台”、“一瓶”和具有英文分词类型的“songli”,其中,待检测文本的第一位置为英文分词类型,第二位置和第三位置均为中文分词类型。计算机设备可通过第一转换算法对英文类型的分词进行转换,得到相应的字符串,比如,计算机设备可保持英文分词“songli”不变,得到对应的字符串“songli”。计算机设备可通过第二转换算法对中文类型的分词进行转换,得到相应的字符串比如,计算机设备通过python的第三方库pypinyin对中文分词“毛台”、“一瓶”进行转换,得到各自对应的字符串“maotai”、“yiping”。根据各待检测分词在待检测文本中的位置信息、以及各待检测分词各自对应的字符串,得到无声调文本为“songlimaotaiyiping”。
本实施例中,通过对待检测文本进行分词检测,得到不同分词类型的待检测分词,并对待检测分词进行转换后得到无声调文本,能够达到将不同场景下的文本类型进行高效转换的效果。
在一个实施例中,将无声调文本与敏感无声调字符进行第一匹配处理,得到第一匹配结果,包括:将无声调文本中的每个文本字符均与敏感词字典树中的相应节点进行匹配,得到每个文本字符各自对应的匹配子结果;综合每个文本字符各自对应的匹配子结果,得到第一匹配结果。
具体地,计算机设备在对待检测分词进行转换得到的无声调文本后,无声调文本,针对无声调文本中的每个无声调文本,均基于敏感词字典树中的敏感无声调字符对当前无声调文本进行匹配处理,得到当前文本字符相对应的匹配子结果,综合每个文本字符各自对应的匹配子结果,得到无声调文本的第一匹配结果。
本实施例中,通过将无声调文本中的每个无声调文本与敏感词字典树中的相应节点进行匹配得到第一匹配结果,使得后续能够通过第一匹配结果快速提取无声调文本中的候选字符串、以及敏感词字典树中的匹配敏感字符串。
在一个实施例中,敏感词字典树包括节点的参数,节点的参数包括敏感无声调字符、字符串结尾标识、以及字符数量中的至少一种;将无声调文本中的每个文本字符均与敏感词字典树中的相应节点进行匹配,得到每个文本字符各自对应的匹配子结果,包括:确定所无声调文本中的首个字符,并将首个字符与敏感词字典树中的首层节点进行匹配,得到与首个字符相对应的匹配子结果;当首个字符与敏感词字典树中的首层节点匹配成功时,确定敏感词字典树中与首个字符相匹配的匹配首层节点,并确定与匹配首层节点关联的目标节点;与匹配首层节点关联的目标节点包括匹配首层节点的子节点、和匹配首层节点指向的指向节点的子节点中的至少一种;获取无声调文本中的与首个字符相邻、且位于首个字符之后的目标字符,并将目标字符与目标节点的进行匹配,得到与目标字符相对应的匹配子结果;当目标字符与目标节点匹配成功时,确定与目标字符相邻且位于目标字符之后的后续字符、和与目标节点关联的关联节点;关联节点包括目标节点的子节点、和目标节点指向的指向节点的子节点中的至少一种;将后续字符作为新的目标字符,并将关联节点作为新的目标节点,返回将目标字符与目标节点进行匹配的步骤继续执行;当目标字符与目标节点匹配失败时,将目标字符作为首个字符,返回将首个字符与敏感词字典树中的首层级节点进行匹配的步骤继续执行,直至无声调文本中的文本字符与敏感词字典树匹配完毕;综合首个字符的匹配子结果和各目标字符各自对应的匹配子结果,得到第一匹配结果。
其中,若敏感词字典树中的当前节点为敏感无声调字符串中的结尾,则该节点的参数中包括有敏感无声调字符、字符串结尾标识和字符数量;若敏感词字典树中的当前节点不是敏感无声调字符串的结尾,则该节点的参数中包括有敏感无声调字符。
其中,关联节点包括目标节点的子节点、和目标节点指向的指向节点的子节点中的至少一种,指向节点为指针所指向的节点。在敏感词字典树中,根节点的所有子节点的指针都指向根节点的位置;对于当前目标节点,确定当前目标节点的父节点的指针所指向的节点,将父节点的指针所指向的节点作为父节点的指向节点,计算机设备判断父节点的指向节点下是否有与当前目标节点相同的节点,也即,判断父节点的指向节点的子节点是否与当前目标节点相同,若相同,则将父节点的指向节点的子节点作为当前目标节点的指针所指向的节点,也即将父节点的指向节点的子节点作为当前目标节点的指向节点。若不相同,则将根节点作为当前目标节点的指向节点。例如,参考图4,节点5的父节点为节点2,节点2的指向节点为根节点,查找到根节点下有与节点5相同的节点为节点3,则将节点3作为节点5的指向节点。
例如,如图4所示,为本发明实施例一种敏感词字典树结构示意图。若存在待检测文本的无声调文本为“hiwehi”,计算机设备确定无声调文本中的首个字符为“h”,并将首个字符“h”与敏感词字典树中的首层节点进行匹配,敏感词字典树根节点1的子节点2中包含字符“h”,此时认为匹配成功,并将敏感词字典树中带有字符“h”的节点2作为匹配首层节点。其中,与匹配首层节点关联的目标节点包括匹配首层节点的子节点中的节点4、节点5。计算机设备获取无声调文本中的与首个字符“h”相邻、且位于首个字符“h”之后的目标字符“i”,将目标字符“i”与目标节点中节点5和4进行匹配,得到与目标字符“i”相对应的匹配子结果,其中该匹配子结果表征目标字符“i”与目标节点中节点5匹配成功。
当目标字符“i”与目标节点中的节点5匹配成功后,计算机设备确定与目标字符“i”相邻、且位于目标字符“i”之后的后续字符“w”、和与节点5关联的关联节点,其中,关联节点为节点5指向的指向节点3的子节点6。将后续字符“w”作为新的目标字符,并将节点6作为新的目标节点,对目标字符“w”与目标节点6进行匹配,得到匹配的子结果。
同样,计算机设备确定与目标字符“w”相邻、且位于目标字符“w”之后的后续字符“e”、和与节点6关联的关联节点,其中,关联节点为节点6的子节点7,将后续字符“e”作为新的目标字符,并将节点7作为新的目标节点,对目标字符“e”与目标节点7进行匹配,得到匹配失败的子结果。此时,计算机设备将目标字符“e”作为首个字符,并将首个字符“e”与敏感词字典树中的首层节点进行匹配,直至无声调文本中的文本字符与敏感词字典树匹配完毕。综合首个字符的匹配子结果和各目标字符各自对应的匹配子结果,得到第一匹配结果,根据第一匹配结果中得到无声调文本中的候选字符串为“hi”和“hi”。
在其中一个实施例中,由于是将关联节点作为新的目标节点,而关联节点又包括旧的目标节点的子节点、和旧的目标节点指向的指向节点的子节点中的至少一种。因此,当将新的目标字符与新的目标节点进行匹配时,计算机设备优先将新的目标字符与新的目标节点中的子节点进行匹配,当匹配失败时,再将新的目标字符与新的目标节点中的指向节点进行匹配。比如,在上述举例中,参考图4,当“hiwehi”中的首个字符“h”与节点2匹配成功时,计算机设备可确定与节点2相关联的关联节点为:节点4、节点5以及节点3,当需要对“hiwehi”中“i”进行匹配时,计算机设备可优先将“i”与节点2的子节点进行匹配,也即将“i”与节点4和节点5进行匹配,当“i”与节点4和节点5均匹配失败时,再将“i”与节点2的指向节点的子节点进行匹配,也即再将“i”与节点3进行匹配。如此,避免了从根节点开始重新进行匹配,从而提升了字符的匹配效率。容易理解地,节点2即为上述的旧的目标节点,节点4、节点5以及节点3即为上述的新的目标节点,“h”为旧的文本字符,“i”为新的文本字符。
本实施例中,计算机设备通过确定将无声调文本中的每个文本字符均与相应节点进行匹配,可得到无声调文本第一匹配结果,从而基于第一匹配结果快速确定待检测文本中的敏感词,进而提升敏感词查找效率。
在一个实施例中,当首个字符与敏感词字典树中的首层级节点匹配失败时,获取无声调文本中与首个字符紧邻的下一个字符;将与首个字符紧邻的下一个字符作为首个字符,返回将首个字符与敏感词字典树中的首层节点进行匹配的步骤继续执行,直至无声调文本中的文本字符与敏感词字典树匹配完毕。
例如,参考图4,若无声调文本“abhi”,当获取到无声调文本中的首个字符“a”时,计算机设备可将字符“a”与敏感词字典树中的首层级节点进行匹配,此时敏感词字典树根节点的子节点中不包含字符“a”则认为匹配失败;计算机设备获取无声调文本中与首个字符“a”紧邻的下一个字符“b”,将字符“b”作为首个字符,并继续将首个字符“b”与敏感词字典树中的首层级节点进行匹配,此时敏感词字典树根节点的子节点中不包含字符“b”,认为匹配失败;计算机设备继续获取无声调文本中与首个字符“b”紧邻的下一个字符“h”,将字符“h”作为首个字符,并继续将首个字符“h”与敏感词字典树中的首层级节点进行匹配,此时敏感词字典树根节点的子节点中包含字符“h”则认为匹配成功,此时,计算机设备从首个字符与敏感词字典树中的首层节点匹配成功时,确定敏感词字典树中与首个字符相匹配的匹配首层节点,并确定与匹配首层节点关联的目标节点的步骤继续执行,直至无声调文本中的文本字符与敏感词字典树匹配完毕。
本实施例中,计算机设备通过将无声调文本中的首个字符与敏感词字典树中的首层级节点进行匹配,并在匹配失败后,将与首个字符紧邻的下一个字符作为首个字符,依次筛选出匹配失败的字符后可定位到匹配字符的初始位置,因此能够提高匹配字符的查找效率。
在一个实施例中,敏感词字典树包括节点的参数,节点的参数包括字符串结尾标识和字符数量中的至少一种;根据第一匹配结果提取无声调文本中的候选字符串、和敏感词字典树中的匹配敏感字符串,包括:对于无声调文本中的每个文本字符,均基于第一匹配结果,确定当前文本字符与敏感词字典树中的节点相匹配时,获取与当前文本字符相匹配的节点的参数,并将与当前文本字符相匹配的节点作为匹配节点,将所获取的参数作为匹配参数;当匹配参数包括字符串结尾标识时,提取匹配参数中的字符数量,并将字符数量减1,得到目标数量;根据无声调文本中的位于当前文本字符之前的连续目标数量的文本字符、以及当前文本字符,确定候选字符串;根据敏感词字典树中的位于匹配节点之前的连续目标数量的节点、以及匹配节点,确定匹配敏感字符串。
例如上述举例,参考图3,确定与无声调文本的首个字符“h”相匹配的节点2后,计算机设备获取节点2的参数,并将节点2作为匹配节点,将节点2的参数作为匹配参数,此时,匹配参数中不包括有字符串结尾标识,因此,可认为“h”不是敏感无声调字符串的结尾;进一步地,计算机设备确定与文本字符“i”相匹配的匹配节点为节点5后,将节点5的参数作为匹配参数,此时,匹配参数中包括有字符串结尾标识,因此,可认为匹配节点5对应于敏感字符串的结尾,此时,计算机设备提取匹配参数中字符数量2。计算机设备提取匹配参数中的字符数量“2”,并将字符数量减1,得到目标数量“1”,再根据无声调文本中的位于当前文本字符之前的连续目标数量的文本字符“h”、以及当前文本字符“i”,确定候选字符串为“hi”。计算机设备根据敏感词字典树中的位于匹配节点5之前的连续目标数量的节点、以及匹配节点5,确定匹配敏感字符串为“hi”。
本实施例中,通过对与无声调文本中的每个文本字符相匹配的节点建立不同的匹配参数,能够快速提取出无声调文本中的候选字符串和敏感词字典树中的匹配敏感字符串,使得后续能够通过候选有声调字符串与匹配有声调字符串进行第二匹配处理。
在一个实施例中,第二匹配结果包括匹配程度;将候选有声调字符串与匹配有声调字符串进行第二匹配处理,得到第二匹配结果,包括:确定候选有声调字符串与匹配有声调字符串之间的匹配程度;根据第二匹配结果确定待检测文本中的敏感词,包括:当匹配程度大于或等于预设匹配阈值时,确定候选有声调字符串为目标字符串,并将待检测文本中的与目标字符串对应的分词作为敏感词。
具体地,计算机设备提取出候选字符串对应的候选有声调字符串,以及匹配敏感字符串对应的匹配有声调字符串后,对候选有声调字符串与匹配有声调字符串进行逐一匹配,此时,候选有声调字符串的长度与匹配有声调字符串的长度相同。匹配完成后计算候选有声调字符串与匹配有声调字符串之间的相同字符数量、以及相同字符数量占候选有声调字符串数量的比值,从而得到候选有声调字符串与匹配有声调字符串之间的匹配程度。当匹配程度大于或等于预设匹配阈值时,则将候选有声调字符串作为目标字符串,由此,计算机设备可确定待检测文本中的与目标字符串对应的分词,并将该分词作为检测出敏感词。
例如,对待检测文本为“毛台”对应的候选有声调字符串“mao2tai2”与对敏感词为“茅台”对应的敏感无声调字符串“mao2tai2”进行匹配,并将预设匹配阈值设置为0.5,此时,候选有声调字符串与匹配有声调字符串之间的相同字符数量为8,相同字符数量占候选有声调字符串数量的比值为1,即匹配程度为1,因此,匹配程度大于预设匹配阈值,待检测文本中的分词“毛台”则为检测出敏感词。
容易理解地,从无声调文本中筛选出的候选字符串可以有多个,因此,本申请可确定每个候选字符串各自对应的候选有声调字符串,并判断每个候选有声调字符串与相应匹配有声调字符串之间的第二匹配结果,根据第二匹配结果从待检测文本中筛选出至少一个敏感词。本实施例中,通过候选有声调字符串与匹配有声调字符串进行第二匹配处理,并将候选有声调字符串与匹配有声调字符串之间的匹配程度与预设匹配阈值进行对比,得到待检测文本中的敏感词,能够有效检测出待检测文本中的同音词、带有拼音和文字组合形式的敏感词。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
本申请还另外提供一种应用场景,该应用场景应用上述的敏感词检测方法。具体地,该敏感词检测方法在该应用场景的应用如下:
在企业的财务领域中,当需要对电子报销单据进行敏感词检测时,可获取电子报销单据,并确定与该电子报销单据相对应的无声调文本,通过敏感词字典树确定无声调文本中的目标字符串,并将电子报销单据中的与电子报销单据相对应的分词,作为敏感词。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的敏感词检测方法的敏感词检测装置。该装置提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个敏感词检测装置实施例中的具体限定可以参见上文中对于敏感词检测方法的限定,在此不再赘述。
在一个实施例中,如图5所示,提供了一种敏感词检测装置500,包括:字符获取模块502、第一匹配模块504和第二匹配模块506,其中:
字符获取模块502,用于获取待检测文本和敏感词字典树;敏感词字典树包括有敏感无声调字符;敏感无声调字符为与预设敏感词相对应的敏感无声调字符串中的字符。
第一匹配模块504,用于确定与待检测文本相对应的无声调文本,并将无声调文本与敏感无声调字符进行第一匹配处理,得到第一匹配结果;根据第一匹配结果提取无声调文本中的候选字符串、和敏感词字典树中的匹配敏感字符串。
第二匹配模块506,用于确定候选字符串所对应的候选有声调字符串,并确定匹配敏感字符串所对应的匹配有声调字符串;将候选有声调字符串与匹配有声调字符串进行第二匹配处理,得到第二匹配结果,并根据第二匹配结果确定待检测文本中的敏感词。
在一个实施例中,第一匹配模块504还包括检测模块5041,用于对待检测文本进行分词检测,得到待检测文本中的至少一个待检测分词,并确定各待检测分词在待检测文本中的位置信息;对于多个待检测分词中的每个待检测分词,均根据当前待检测分词的分词类型,对待检测分词进行转换,得到与当前待检测分词对应的字符串;根据各待检测分词在待检测文本中的位置信息,综合各待检测分词各自对应的字符串,得到无声调文本。
在一个实施例中,第一匹配模块504,还用于将无声调文本中的每个文本字符均与敏感词字典树中的相应节点进行匹配,得到每个文本字符各自对应的匹配子结果;综合每个文本字符各自对应的匹配子结果,得到第一匹配结果。
在一个实施例中,敏感词字典树包括节点的参数,节点的参数包括敏感无声调字符、字符串结尾标识、以及字符数量中的至少一种,第一匹配模块504,还用于确定所无声调文本中的首个字符,并将首个字符与敏感词字典树中的首层节点进行匹配,得到与首个字符相对应的匹配子结果;当首个字符与敏感词字典树中的首层节点匹配成功时,确定敏感词字典树中与首个字符相匹配的匹配首层节点,并确定与匹配首层节点关联的目标节点;与匹配首层节点关联的目标节点包括匹配首层节点的子节点、和匹配首层节点指向的指向节点的子节点中的至少一种;获取无声调文本中的与首个字符相邻、且位于首个字符之后的目标字符,并将目标字符与目标节点的进行匹配,得到与目标字符相对应的匹配子结果;当目标字符与目标节点匹配成功时,确定与目标字符相邻且位于目标字符之后的后续字符、和与目标节点关联的关联节点;关联节点包括目标节点的子节点、和目标节点指向的指向节点的子节点中的至少一种;将后续字符作为新的目标字符,并将关联节点作为新的目标节点,返回将目标字符与目标节点进行匹配的步骤继续执行;当目标字符与目标节点匹配失败时,将目标字符作为首个字符,返回将首个字符与敏感词字典树中的首层级节点进行匹配的步骤继续执行,直至无声调文本中的文本字符与敏感词字典树匹配完毕;综合首个字符的匹配子结果和各目标字符各自对应的匹配子结果,得到第一匹配结果。
在一个实施例中,第一匹配模块504,还用于当首个字符与敏感词字典树中的首层级节点匹配失败时,获取无声调文本中与首个字符紧邻的下一个字符;将与首个字符紧邻的下一个字符作为首个字符,返回将首个字符与敏感词字典树中的首层节点进行匹配的步骤继续执行,直至无声调文本中的文本字符与敏感词字典树匹配完毕。
在一个实施例中,敏感词字典树包括节点的参数,节点的参数包括字符串结尾标识和字符数量中的至少一种,第一匹配模块504还包括提取模块5042,用于对于无声调文本中的每个文本字符,均基于第一匹配结果,确定当前文本字符与敏感词字典树中的节点相匹配时,获取与当前文本字符相匹配的节点的参数,并将与当前文本字符相匹配的节点作为匹配节点,将所获取的参数作为匹配参数;当匹配参数包括字符串结尾标识时,提取匹配参数中的字符数量,并将字符数量减1,得到目标数量;根据无声调文本中的位于当前文本字符之前的连续目标数量的文本字符、以及当前文本字符,确定候选字符串;根据敏感词字典树中的位于匹配节点之前的连续目标数量的节点、以及匹配节点,确定匹配敏感字符串。
在一个实施例中,第二匹配结果包括匹配程度,第二匹配模块506,还用于确定候选有声调字符串与匹配有声调字符串之间的匹配程度;根据第二匹配结果确定待检测文本中的敏感词,包括:当匹配程度大于或等于预设匹配阈值时,确定候选有声调字符串为目标字符串,并将待检测文本中的与目标字符串对应的分词作为敏感词。
在一个实施例中,敏感词检测装置500,还用于获取原始敏感词字典树和待添加敏感词的敏感无声调字符串;确定敏感无声调字符串中的当前敏感无声调字符,并判断原始敏感词字典树中是否包括有与当前敏感无声调字符对应的节点;当不包括时,确定敏感无声调字符串中的与当前敏感无声调字符紧邻的上一个敏感无声调字符,并将当前敏感无声调字符所对应的节点作为与上一个敏感无声调字符所对应的节点的子节点;确定敏感无声调字符串中的与当前敏感无声调字符紧邻的下一个敏感词无声调字符,并将下一个敏感词无声调字符作为新的当前敏感无声调字符,返回判断原始敏感词字典树中是否包括有与当前敏感无声调字符对应的节点的步骤继续执行,直至敏感无声调字符串中的每个敏感无声调字符均添加至原始敏感词字典树中,得到更新后的敏感词字典树。
上述敏感词检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储敏感词检测的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种敏感词检测方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (12)
1.一种敏感词检测方法,其特征在于,所述方法包括:
获取待检测文本和敏感词字典树;所述敏感词字典树包括有敏感无声调字符;所述敏感无声调字符为与预设敏感词相对应的敏感无声调字符串中的字符;
确定与所述待检测文本相对应的无声调文本,并将所述无声调文本中的首个字符与所述敏感词字典树中的首层节点进行匹配,得到与首个字符相对应的匹配子结果;
当所述首个字符与所述敏感词字典树中的首层节点匹配成功时,确定所述敏感词字典树中与所述首个字符相匹配的匹配首层节点,并确定与所述匹配首层节点关联的目标节点;与所述匹配首层节点关联的目标节点包括所述匹配首层节点的子节点、和所述匹配首层节点指向的指向节点的子节点中的至少一种;
获取所述无声调文本中的与所述首个字符相邻、且位于所述首个字符之后的目标字符,并将所述目标字符与所述目标节点的进行匹配,得到与所述目标字符相对应的匹配子结果;
当所述目标字符与所述目标节点匹配成功时,确定与所述目标字符相邻且位于所述目标字符之后的后续字符、和与所述目标节点关联的关联节点;所述关联节点包括所述目标节点的子节点、和所述目标节点指向的指向节点的子节点中的至少一种;
将所述后续字符作为新的目标字符,并将所述关联节点作为新的目标节点,返回将所述目标字符与所述目标节点进行匹配的步骤继续执行;
当所述目标字符与所述目标节点匹配失败时,将所述目标字符作为首个字符,返回将所述首个字符与所述敏感词字典树中的首层级节点进行匹配的步骤继续执行,直至所述无声调文本中的文本字符与所述敏感词字典树匹配完毕;
综合所述首个字符的匹配子结果和各所述目标字符各自对应的匹配子结果,得到第一匹配结果;
根据第一匹配结果提取所述无声调文本中的候选字符串、和所述敏感词字典树中的匹配敏感字符串;
确定所述候选字符串所对应的候选有声调字符串,并确定所述匹配敏感字符串所对应的匹配有声调字符串;
将所述候选有声调字符串与所述匹配有声调字符串进行第二匹配处理,得到第二匹配结果,并根据所述第二匹配结果确定所述待检测文本中的敏感词。
2.根据权利要求1所述的方法,其特征在于,所述确定与所述待检测文本相对应的无声调文本,包括:
对所述待检测文本进行分词检测,得到所述待检测文本中的至少一个待检测分词,并确定各所述待检测分词在所述待检测文本中的位置信息;
对于多个待检测分词中的每个待检测分词,均根据当前待检测分词的分词类型,对所述待检测分词进行转换,得到与所述当前待检测分词对应的字符串;
根据各所述待检测分词在所述待检测文本中的位置信息,综合各所述待检测分词各自对应的字符串,得到无声调文本。
3.根据权利要求1所述的方法,其特征在于,所述待检测文本为预先存储在数据库内的文本信息。
4.根据权利要求1所述的方法,其特征在于,所述敏感词字典树包括节点的参数,所述节点的参数包括敏感无声调字符、字符串结尾标识、以及字符数量中的至少一种;所述将所述无声调文本中的首个字符与所述敏感词字典树中的首层节点进行匹配,得到与首个字符相对应的匹配子结果,包括:
确定所述无声调文本中的首个字符,并将所述首个字符与所述敏感词字典树中的首层节点进行匹配,得到与所述首个字符相对应的匹配子结果。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述首个字符与所述敏感词字典树中的首层级节点匹配失败时,获取所述无声调文本中与所述首个字符紧邻的下一个字符;
将与所述首个字符紧邻的下一个字符作为首个字符,返回将所述首个字符与所述敏感词字典树中的首层节点进行匹配的步骤继续执行,直至所述无声调文本中的文本字符与所述敏感词字典树匹配完毕。
6.根据权利要求1所述的方法,其特征在于,所述敏感词字典树包括节点的参数,所述节点的参数包括字符串结尾标识和字符数量中的至少一种;所述根据第一匹配结果提取所述无声调文本中的候选字符串、和所述敏感词字典树中的匹配敏感字符串,包括:
对于所述无声调文本中的每个文本字符,均基于所述第一匹配结果,确定当前文本字符与所述敏感词字典树中的节点相匹配时,获取与所述当前文本字符相匹配的节点的参数,并将与所述当前文本字符相匹配的节点作为匹配节点,将所获取的参数作为匹配参数;
当所述匹配参数包括字符串结尾标识时,提取所述匹配参数中的字符数量,并将所述字符数量减1,得到目标数量;
根据所述无声调文本中的位于所述当前文本字符之前的连续目标数量的文本字符、以及所述当前文本字符,确定候选字符串;
根据所述敏感词字典树中的位于所述匹配节点之前的连续目标数量的节点、以及所述匹配节点,确定匹配敏感字符串。
7.根据权利要求1所述的方法,其特征在于,所述第二匹配结果包括匹配程度;所述将所述候选有声调字符串与所述匹配有声调字符串进行第二匹配处理,得到第二匹配结果,包括:
确定所述候选有声调字符串与所述匹配有声调字符串之间的匹配程度;
所述根据所述第二匹配结果确定所述待检测文本中的敏感词,包括:
当所述匹配程度大于或等于预设匹配阈值时,确定所述候选有声调字符串为目标字符串,并将所述待检测文本中的与所述目标字符串对应的分词作为敏感词。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取原始敏感词字典树和待添加敏感词的敏感无声调字符串;
确定所述敏感无声调字符串中的当前敏感无声调字符,并判断所述原始敏感词字典树中是否包括有与所述当前敏感无声调字符对应的节点;
当不包括时,确定所述敏感无声调字符串中的与所述当前敏感无声调字符紧邻的上一个敏感无声调字符,并将所述当前敏感无声调字符所对应的节点作为与所述上一个敏感无声调字符所对应的节点的子节点;
确定所述敏感无声调字符串中的与所述当前敏感无声调字符紧邻的下一个敏感词无声调字符,并将所述下一个敏感词无声调字符作为新的当前敏感无声调字符,返回判断所述原始敏感词字典树中是否包括有与所述当前敏感无声调字符对应的节点的步骤继续执行,直至所述敏感无声调字符串中的每个敏感无声调字符均添加至所述原始敏感词字典树中,得到更新后的敏感词字典树。
9.一种敏感词检测装置,其特征在于,所述装置包括:
字符获取模块,用于获取待检测文本和敏感词字典树;所述敏感词字典树包括有敏感无声调字符;所述敏感无声调字符为与预设敏感词相对应的敏感无声调字符串中的字符;
第一匹配模块,用于确定与所述待检测文本相对应的无声调文本,并将所述无声调文本中的首个字符与所述敏感词字典树中的首层节点进行匹配,得到与首个字符相对应的匹配子结果;当所述首个字符与所述敏感词字典树中的首层节点匹配成功时,确定所述敏感词字典树中与所述首个字符相匹配的匹配首层节点,并确定与所述匹配首层节点关联的目标节点;获取所述无声调文本中的与所述首个字符相邻、且位于所述首个字符之后的目标字符,并将所述目标字符与所述目标节点的进行匹配,得到与所述目标字符相对应的匹配子结果;当所述目标字符与所述目标节点匹配成功时,确定与所述目标字符相邻且位于所述目标字符之后的后续字符、和与所述目标节点关联的关联节点;将所述后续字符作为新的目标字符,并将所述关联节点作为新的目标节点,返回将所述目标字符与所述目标节点进行匹配的步骤继续执行;当所述目标字符与所述目标节点匹配失败时,将所述目标字符作为首个字符,返回将所述首个字符与所述敏感词字典树中的首层级节点进行匹配的步骤继续执行,直至所述无声调文本中的文本字符与所述敏感词字典树匹配完毕;综合所述首个字符的匹配子结果和各所述目标字符各自对应的匹配子结果,得到第一匹配结果;根据第一匹配结果提取所述无声调文本中的候选字符串、和所述敏感词字典树中的匹配敏感字符串;
第二匹配模块,用于确定所述候选字符串所对应的候选有声调字符串,并确定所述匹配敏感字符串所对应的匹配有声调字符串;将所述候选有声调字符串与所述匹配有声调字符串进行第二匹配处理,得到第二匹配结果,并根据所述第二匹配结果确定所述待检测文本中的敏感词。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
12.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111580590.6A CN113961768B (zh) | 2021-12-22 | 2021-12-22 | 敏感词检测方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111580590.6A CN113961768B (zh) | 2021-12-22 | 2021-12-22 | 敏感词检测方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113961768A CN113961768A (zh) | 2022-01-21 |
CN113961768B true CN113961768B (zh) | 2022-05-13 |
Family
ID=79473457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111580590.6A Active CN113961768B (zh) | 2021-12-22 | 2021-12-22 | 敏感词检测方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113961768B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115391524B (zh) * | 2022-08-05 | 2023-04-14 | 昆仑数智科技有限责任公司 | 敏感词检测方法、装置、计算机设备、存储介质及产品 |
CN116089910B (zh) * | 2023-02-16 | 2023-10-20 | 北京计算机技术及应用研究所 | 一种支持多种格式电子文档的密级检测方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102867049A (zh) * | 2012-09-10 | 2013-01-09 | 山东康威通信技术股份有限公司 | 一种基于单词查找树实现的汉语拼音快速分词方法 |
CN110019649A (zh) * | 2017-12-25 | 2019-07-16 | 北京新媒传信科技有限公司 | 一种建立、搜索索引树的方法及装置 |
CN110941729A (zh) * | 2019-10-30 | 2020-03-31 | 烟台职业学院 | 一种基于敏感标记的内容审查方法 |
CN113627169A (zh) * | 2021-08-23 | 2021-11-09 | 北京明略昭辉科技有限公司 | 一种敏感文本识别方法、系统、电子设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111859914B (zh) * | 2020-07-24 | 2023-07-21 | 中国平安人寿保险股份有限公司 | 敏感信息检测方法、装置、计算机设备及存储介质 |
-
2021
- 2021-12-22 CN CN202111580590.6A patent/CN113961768B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102867049A (zh) * | 2012-09-10 | 2013-01-09 | 山东康威通信技术股份有限公司 | 一种基于单词查找树实现的汉语拼音快速分词方法 |
CN110019649A (zh) * | 2017-12-25 | 2019-07-16 | 北京新媒传信科技有限公司 | 一种建立、搜索索引树的方法及装置 |
CN110941729A (zh) * | 2019-10-30 | 2020-03-31 | 烟台职业学院 | 一种基于敏感标记的内容审查方法 |
CN113627169A (zh) * | 2021-08-23 | 2021-11-09 | 北京明略昭辉科技有限公司 | 一种敏感文本识别方法、系统、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113961768A (zh) | 2022-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021042503A1 (zh) | 信息分类抽取方法、装置、计算机设备和存储介质 | |
CN109933785B (zh) | 用于实体关联的方法、装置、设备和介质 | |
US11544459B2 (en) | Method and apparatus for determining feature words and server | |
WO2022142613A1 (zh) | 训练语料扩充方法及装置、意图识别模型训练方法及装置 | |
CN110348214B (zh) | 对恶意代码检测的方法及系统 | |
US20200184072A1 (en) | Analysis device, log analysis method, and recording medium | |
CN111176996A (zh) | 测试用例生成方法、装置、计算机设备及存储介质 | |
CN111352907A (zh) | 流水文件解析方法、装置、计算机设备和存储介质 | |
CN113961768B (zh) | 敏感词检测方法、装置、计算机设备和存储介质 | |
CN109508458B (zh) | 法律实体的识别方法及装置 | |
CN109858025B (zh) | 一种地址标准化语料的分词方法及系统 | |
CN111831920A (zh) | 用户需求分析方法、装置、计算机设备及存储介质 | |
CN111241496B (zh) | 确定小程序特征向量的方法、装置和电子设备 | |
CN110825840B (zh) | 词库扩充方法、装置、设备及存储介质 | |
CN113688240B (zh) | 威胁要素提取方法、装置、设备及存储介质 | |
CN112817877B (zh) | 异常脚本检测方法、装置、计算机设备和存储介质 | |
CN116955720A (zh) | 数据处理方法、装置、设备、存储介质及计算机程序产品 | |
CN114266046A (zh) | 网络病毒的识别方法、装置、计算机设备及存储介质 | |
CN111723182B (zh) | 一种用于漏洞文本的关键信息抽取方法及装置 | |
CN114201756A (zh) | 一种智能合约代码片段的漏洞检测方法和相关装置 | |
CN114244795A (zh) | 一种信息的推送方法、装置、设备及介质 | |
CN117435189A (zh) | 金融系统接口的测试用例分析方法、装置、设备及介质 | |
CN112579781A (zh) | 文本归类方法、装置、电子设备及介质 | |
CN115809466B (zh) | 基于stride模型的安全需求生成方法、装置、电子设备及介质 | |
CN116756382A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |