CN115269939B - 正则表达式生成方法、装置、智能终端及计算机存储介质 - Google Patents
正则表达式生成方法、装置、智能终端及计算机存储介质 Download PDFInfo
- Publication number
- CN115269939B CN115269939B CN202211191349.9A CN202211191349A CN115269939B CN 115269939 B CN115269939 B CN 115269939B CN 202211191349 A CN202211191349 A CN 202211191349A CN 115269939 B CN115269939 B CN 115269939B
- Authority
- CN
- China
- Prior art keywords
- regular expression
- sample data
- population
- positive sample
- regular
- 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
- 230000014509 gene expression Effects 0.000 title claims abstract description 340
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000003860 storage Methods 0.000 title claims abstract description 13
- 238000004422 calculation algorithm Methods 0.000 claims description 12
- 230000002068 genetic effect Effects 0.000 claims description 11
- 238000011156 evaluation Methods 0.000 claims description 10
- 230000015572 biosynthetic process Effects 0.000 claims description 3
- 238000003786 synthesis reaction Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 9
- 230000035772 mutation Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000008520 organization Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000000670 limiting effect Effects 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
Abstract
本发明公开了一种正则表达式生成方法、装置、智能终端及计算机存储介质,正则表达式生成方法包括:获取正样本数据和负样本数据;初始化正样本数据获得正则表达式种群;根据正样本数据和负样本数据评估正则表达式种群中正则表达式的适应度;根据适应度最高的正则表达式在正样本数据上进行样本匹配时的精确率,获得正则表达式集合;根据正则表达式集合获得最终正则表达式。本发明可以根据样本数据自动生成正则表达式,不需要人工编写大量的正则表达式,提高正则表达式的生成效率和准确性。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及的是一种正则表达式生成方法、装置、智能终端及计算机存储介质。
背景技术
数据作为一种新型的生产要素,要求在保障数据安全的前提下充分发挥数据价值,数据安全治理是保障数据安全和释放数据价值的基础。正则表达式是数据安全治理的一个重要技术手段,正则表达式可以用来匹配具有一定模式特点的字符串,通过简单的语法描述复杂的数据特征。但由于正则表达式需要识别的数据类型在不同的组织里有不同自定义的类型,因此不具有通用性。
现有技术中,通常每面对一个新的组织需要人工针对其数据特点进行分析,编写大量的正则表达式,存在效率低、准确性差的问题。
因此,现有技术还有待改进和发展。
发明内容
本发明的主要目的在于提供一种正则表达式生成方法、装置、智能终端及计算机存储介质,旨在解决现有技术中每面对一个新的组织需要人工针对其数据特点进行分析,编写大量的正则表达式,存在效率低、准确性差的问题的技术问题。
为了实现上述目的,本发明第一方面提供一种正则表达式生成方法,正则表达式生成方法包括:获取正样本数据和负样本数据;初始化正样本数据获得正则表达式种群;根据正样本数据和负样本数据评估正则表达式种群中正则表达式的适应度;根据适应度最高的正则表达式在正样本数据上进行样本匹配时的精确率,获得正则表达式集合;根据正则表达式集合获得最终正则表达式。
在一些实施例中,正则表达式生成方法还包括:通过语法树表示正则表达式,其中,通过语法树的叶结点表示正则表达式中的常量符号,通过语法树的非叶节点表示正则表达式中的运算符。
在一些实施例中,初始化正样本数据获得正则表达式种群,具体包括:根据数据集初始化将正样本数据转换成正则表达式,获得第一种群;当第一种群的种群大小小于预设种群大小时,根据随机初始化获得第二种群,直至第一种群的种群大小和第二种群的种群大小之和大于或等于预设种群大小时,根据第一种群和第二种群获得正则表达式种群。
在一些实施例中,在根据数据集初始化将正样本数据转换成正则表达式时,正则表达式生成方法还包括:采用统计字符串的方法提取正样本数据中出现次数大于预设出现次数的字符串,作为频繁字符串;当正样本数据中当前字符所在的位置是频繁字符串所在的位置,则保留对应的频繁字符串到正则表达式中。
在一些实施例中,根据适应度最高的正则表达式在正样本数据上进行样本匹配时的精确率,获得正则表达式集合,具体包括:当适应度最高的正则表达式在正样本数据上进行样本匹配时的精确率大于预设精确率,且演化迭代次数大于预设演化次数时,将适应度最高的正则表达式放入正则表达式合集,并删除与适应度最高的正则表达式相匹配的正样本数据;当与适应度最高的正则表达式不匹配的正样本数据的样本数量小于预设样本数量时,根据正则表达式集合获得最终正则表达式;当与适应度最高的正则表达式不匹配的正样本数据的样本数量大于或等于预设样本数量时,重新执行初始化正样本数据获得正则表达式种群,并更新迭代次数。
在一些实施例中,根据适应度最高的正则表达式在正样本数据上进行样本匹配时的精确率,获得正则表达式集合,具体还包括:当适应度最高的正则表达式在正样本数据上进行样本匹配时的精确率小于或等于预设精确率,或演化迭代次数小于或等于预设演化次数时,通过遗传算法对适应度最高的正则表达式进行演化,获取新的正则表达式种群;根据新的正则表达式种群重新根据正样本数据和负样本数据评估正则表达式种群中正则表达式的适应度,并更新迭代次数,其中,演化迭代次数为通过遗传算法对适应度最高的正则表达式进行演化的次数。
在一些实施例中,在初始化正样本数据获得正则表达式种群之后,正则表达式生成方法还包括:获取迭代次数;当迭代次数小于或等于预设迭代次数时,重新执行根据正样本数据和负样本数据评估正则表达式种群中正则表达式的适应度;根据适应度最高的正则表达式在正样本数据上进行样本匹配时的精确率,获得正则表达式集合;根据正则表达式集合获得最终正则表达式,直到迭代次数大于预设迭代次数。
本发明第二方面提供一种正则表达式生成装置,正则表达式生成装置包括:
获取模块,用于获取正样本数据和负样本数据;
初始化模块,用于初始化正样本数据获得正则表达式种群;
评估模块,用于根据正样本数据和负样本数据评估正则表达式种群中正则表达式的适应度;
判断模块,用于根据适应度最高的正则表达式在正样本数据上进行样本匹配时的精确率,获得正则表达式集合;
合成模块,用于根据正则表达式集合获得最终正则表达式。
本发明第三方面提供一种智能终端,智能终端包括存储器、处理器以及存储在存储器上并可在处理器上运行的正则表达式生成程序,正则表达式生成程序被处理器执行时实现如上述正则表达式生成方法的步骤。
本发明第四方面提供一种计算机存储介质,计算机存储介质上存储有正则表达式生成程序,正则表达式生成程序被处理器执行时实现如上述正则表达式生成方法的步骤。
由上可见,本发明实施例提供一种正则表达式生成方法,正则表达式生成方法包括:获取正样本数据和负样本数据;初始化正样本数据获得正则表达式种群;根据正样本数据和负样本数据评估正则表达式种群中正则表达式的适应度;根据适应度最高的正则表达式在正样本数据上进行样本匹配时的精确率,获得正则表达式集合;根据正则表达式集合获得最终正则表达式。与现有技术相比,本发明中,根据样本数据获得正则表达式种群,根据正样本数据和负样本数据评估正则表达式种群中正则表达式的适应度,根据适应度最高的正则表达式获得正则表达式集合,进而获得最终正则表达式,本发明可以根据样本数据自动生成正则表达式,不需要人工编写大量的正则表达式,提高正则表达式的生成效率和准确性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例提供的一种正则表达式生成方法的流程示意图;
图2是本发明实施例提供的通过语法树表示正则表达式的示意图;
图3是本发明实施例提供的交叉操作示意图;
图4是本发明实施例提供的变异操作示意图;
图5是本发明实施例提供的另一种正则表达式生成方法的流程示意图;
图6是本发明实施例提供的一种正则表达式生成装置的结构示意图;
图7是本发明实施例提供的智能终端的内部结构原理框图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况下,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
下面结合本发明实施例的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
在数据安全治理中需要识别的数据类型通常分为两类:一类是标准通用的类型,在不同的组织之间是相同的,例如身份证号、电话号码等个人隐私信息,对于识别这种类数据的正则表达式,可以一次编写,在不同的组织中使用;另一类是组织自定义类型,在不同的组织中是不同的,例如用户ID,在不同的组织中有不同的编码方式,无法事先编写好一个识别用户ID的正则表达式,每面对一个新的客户组织,需要人工针对其数据特点进行分析,撰写正则表达式,存在效率低、准确性差的问题。
为了解决现有技术中的问题,本发明提供一种正则表达式生成方法,能够提高正则表达式的生成效率,提高生成正则表达式的准确性。
示例性方法
本发明实施例提供一种正则表达式生成方法,如图1所示,包括以下步骤:
步骤S100,获取正样本数据和负样本数据。
需要说明的是,正样本数据和负样本数据为根据数据库表中进行采样得到的样本数据,无需人工进行标注,可以减少人工工作量,降低准备训练数据集的难度,其中,正样本数据为正则表达式匹配成功的样本数据,负样本数据为正则表达式匹配失败的样本数据,举例说明,当学习“身份证号码”正则表达式时,正样本数据为身份证号码,负样本数据为非身份证号码,如手机号、银行卡号码等。
步骤S200,初始化正样本数据获得正则表达式种群。
在一些实施例中,正则表达式生成方法还包括:通过语法树表示正则表达式,其中,通过语法树的叶结点表示正则表达式中的常量符号,通过语法树的非叶节点表示正则表达式中的运算符。
具体地,常量符号如表1所示:
表1
表2
步骤S200具体包括:根据数据集初始化将正样本数据转换成正则表达式,获得第一种群;当第一种群的种群大小小于预设种群大小时,根据随机初始化获得第二种群,直至第一种群的种群大小和第二种群的种群大小之和大于或等于预设种群大小时,根据第一种群和第二种群获得正则表达式种群。
在一些实施例中,在根据数据集初始化将正样本数据转换成正则表达式时,正则表达式生成方法还包括:当正样本数据为等长样本数据时,采用统计字符串的方法提取正样本数据中出现次数大于预设出现次数的字符串,作为频繁字符串;当正样本数据中当前字符所在的位置是频繁字符串所在的位置,则保留对应的频繁字符串到正则表达式中。
在一些实施例中,根据数据集初始化将正样本数据转换成正则表达式,具体包括:当正样本数据为等长样本数据时,若当前位置为频繁字符串所在的位置,则保留对应的频繁字符串到正则表达式中;若当前位置仅出现数字,则替换为“\d”;若当前位置仅出现字母,则替换为“a-z”或“A-Z”;若当前位置仅出现数字或字母,则替换为“\w”;否则替换为正样本数据当前位置的字符;当正样本数据为非等长样本数据时,转换时不需要考虑样本数据中字符的位置,只需考虑样本数据的当前字符。
需要说明的是,现有技术中正则表达式的生成方法是基于字符的,这种方法的缺点在于难以捕获到特征,例如,在18位身份证号码中,第7和第8位是年份的前两位,在当前以及在整个21世纪的只会是19或20,可以将其作为一个可捕获的特征,与其他的18位字符串进行区分。本实施例中,为了能够生成捕获具体特征的正则表达式,采用了统计字符串的方法,将正样本数据中出现次数大于预设出现次数的子字符串提取出来,作为频繁字符串,在生成正则表达式时保留这些频繁出现的字符串。当正样本数据为等长样本数据时,即该类样本数据的长度都是一样的样本数据(如18位身份证号),统计字符串时需要考虑位置信息,比如身份证号中第7、8位出现的19才一起计数,其他位置的19不和第7、8位出现的19一起计数,因为其所在位置不同代表的含义不同。
如此,本实施例中考虑了样本数据中的频繁字符串,并将样本分为等长样本和非等长样本,对于两类样本统计字符串的方法不同,等长样本中考虑了位置信息,能够捕获到正样本数据中的细节特征。
在一些实施例中,根据随机初始化生成语法树表示正则表达式,语法树的叶结点从常量符合中选取,语法树的非叶结点从运算符号中选取。
举例说明,如图2所示,图2为通过语法树表示正则表达式的示意图,图2中实线框表示语法树的叶结点,图2中虚线框表示语法树的非叶结点,其中, “+”表示连接符;“0-9”和“\w”表示常量符号。
步骤S300,根据正样本数据和负样本数据评估正则表达式种群中正则表达式的适应度,具体计算公式如表达式(1):
其中,为正则表达式的适应度,为样本匹配精确率,为字符匹配精确率,P是正样本数据集合,N是负样本数据集合,是指示函数,当正则表达式完全匹配样本i时取值为1,否则为0,表示正则表达式r匹配上样本i中的字符数。
步骤S400,根据适应度最高的正则表达式在正样本数据上进行样本匹配时的精确率,获得正则表达式集合。
需要说明的是,本实施例中,在生成正则表达式时采用分治策略,即不要求生产一个正则表达式能够匹配所有的样本,而是生成多个正则表达式,每个正则表达式能够识别一定比例的正则表达式。
步骤S400具体包括:当适应度最高的正则表达式在正样本数据上进行样本匹配时的精确率大于预设精确率,且演化迭代次数大于预设演化次数时,将适应度最高的正则表达式放入正则表达式合集,并删除与适应度最高的正则表达式相匹配的正样本数据;当与适应度最高的正则表达式不匹配的正样本数据的样本数量小于预设样本数量时,根据正则表达式集合获得最终正则表达式;当与适应度最高的正则表达式不匹配的正样本数据的样本数量大于或等于预设样本数量时,重新执行初始化正样本数据获得正则表达式种群,并更新迭代次数。
需要说明的是,当适应度最佳的正则表达式在正样本上的精确率达到预设精确率、且演化迭代次数达到预设演化次数时,即生成一个子正则表达式,然后把样本数据集中该子正则表达式能够匹配的正样本删除。若剩下的正样本数据量小于或等于预设样本数量(允许存在少量的噪音样本,预设样本数量可以是0,即不认为存在噪音样本),则生成正则表达式过程结束,把各个子正则表达式用“或”运算符连接,得到正则表达式集合,否则重新执行初始化正样本数据获得正则表达式种群这一步骤。
步骤S400具体还包括:当适应度最高的正则表达式在正样本数据上进行样本匹配时的精确率小于或等于预设精确率,或演化迭代次数小于或等于预设演化次数时,通过遗传算法对适应度最高的正则表达式进行演化,获取新的正则表达式种群;根据新的正则表达式种群重新根据正样本数据和负样本数据评估正则表达式种群中正则表达式的适应度,并更新迭代次数,其中,演化迭代次数为通过遗传算法对适应度最高的正则表达式进行演化的次数。
在一些实施例中,通过遗传算法对适应度最高的正则表达式进行演化具体包括:从正则表达式种群中选择(一棵或两棵,此处不做限定)适应度最好的正则表达式的语法树进行变异操作或交叉操作。
通过交叉操作对适应度最高的正则表达式进行演化,如图3所示,“+”表示连接符;“0-9”、“\w”和“A-Z”表示常量符号,在交叉操作过程中,将两棵语法树的其中一个子树进行交换。具体的,选中的两棵正则表达式的语法树交换子树;检查交叉操作后的两棵语法树是否是合法的正则表达式的语法树,若不是,则重新选子树进行交叉操作,直到交叉操作后的正则表达式的语法树是合法的或达到预设最大交叉操作尝试次数。
通过变异操作对适应度最高的正则表达式进行演化,如图4所示,“+”表示连接符;“0-9”、 “\w”、“a-z”和“\d”表示常量符号,在变异操作中,选择一棵正则表达式的语法树的某个子树,替换成随机生成的一棵正则表达式的语法树,然后检查变异操作后的正则表达式的语法树是否是一棵合法的正则表达式的语法树,若不是,则重新进行变异操作,直到变异后的正则表达式的语法树是合法的或达到预设最大变异操作尝试次数。
在一些实施例中,正则表达式生成方法还包括:获取迭代次数;当迭代次数小于或等于预设迭代次数时,重新执行根据正样本数据和负样本数据评估正则表达式种群中正则表达式的适应度;根据适应度最高的正则表达式在正样本数据上进行样本匹配时的精确率,获得正则表达式集合;根据正则表达式集合获得最终正则表达式,直到迭代次数大于预设迭代次数。
需要说明的是,本实施例中获取的迭代次数既包括当适应度最高的正则表达式在正样本数据上进行样本匹配时的精确率大于预设精确率,且演化迭代次数大于预设演化次数时更新的迭代次数,也包括当适应度最高的正则表达式在正样本数据上进行样本匹配时的精确率小于或等于预设精确率,或演化迭代次数小于或等于预设演化次数时更新的迭代次数,即两种情况下的迭代次数既可以分开计数,也可以累加计数。
步骤S500,根据正则表达式集合获得最终正则表达式。
在一些实施例中,如图5所示,获取正样本数据和负样本数据;初始化正样本数据获得正则表达式种群;记录评估次数(初始评估次数默认为1)并判断评估次数是否大于预设评估次数;若是,则结束生成正则表达式,若否,则根据正样本数据和负样本数据评估正则表达式种群中正则表达式的适应度;具体地,判断适应度最高的正则表达式在正样本数上进行样本匹配时的精确率是否大于预设精确率,且演化迭代次数是否大于预设演化次数,若否,则通过遗传算法对适应度最高的正则表达式进行演化,获取新的正则表达式种群,更新迭代次数,并根据新的正则表达式种群重新评估正则表达式种群中正则表达式的适应度,若是,则将适应度最高的正则表达式放入正则表达式合集,并删除与适应度最高的正则表达式相匹配的正样本数据;判断正样本数据中剩下的样本数量是否小于预设样本数量,若是,根据正则表达式集合获得最终正则表达式;若否,则重新初始化正样本数据获得正则表达式种群,并更新迭代次数。
如此,本实施例中,根据预设规则将样本数据转换成正则表达式后,进一步采用遗传算法中的交叉、变异等操作生成更多的正则表达式,通过多轮迭代,扩大了正则表达式的搜索空间,增大了搜索到最佳正则表达式的可能性。同时采用分治策略,允许生成多个子正则表达式,分别识别部分正样本数据,最终合并成一个结果正则表达,降低了目标正则表达式的搜索难度。
由上可见,本发明实施例提供一种正则表达式生成方法,其特征在于,正则表达式生成方法包括:获取正样本数据和负样本数据;初始化正样本数据获得正则表达式种群;根据正样本数据和负样本数据评估正则表达式种群中正则表达式的适应度;根据适应度最高的正则表达式在正样本数据上进行样本匹配时的精确率,获得正则表达式集合;根据正则表达式集合获得最终正则表达式。与现有技术相比,本发明中,根据样本数据获得正则表达式种群,根据正样本数据和负样本数据评估正则表达式种群中正则表达式的适应度,根据适应度最高的正则表达式获得正则表达式集合,进而获得最终正则表达式,本发明可以根据样本数据自动生成正则表达式,不需要人工编写大量的正则表达式,提高正则表达式的生成效率和准确性。
示例性设备
如图6中所示,对应于正则表达式生成方法,本发明实施例还提供一种正则表达式生成装置,正则表达式生成装置包括:
获取模块601,用于获取正样本数据和负样本数据;
初始化模块602,用于初始化正样本数据获得正则表达式种群;
评估模块603,用于根据正样本数据和负样本数据评估正则表达式种群中正则表达式的适应度;
判断模块604,用于根据适应度最高的正则表达式在正样本数据上进行样本匹配时的精确率,获得正则表达式集合;
合成模块605,用于根据正则表达式集合获得最终正则表达式。
本实施例中,通过初始化模块602初始化获取模块601获取的正样本数据获得正则表达式种群,通过评估模块603评估正则表达式种群中正则表达式的适应度,通过判断模块604根据适应度最高的正则表达式获得正则表达式集合,通过合成模块605根据正则表达式集合获得最终正则表达式,本发明可以根据样本数据自动生成正则表达式,不需要人工编写大量的正则表达式,提高正则表达式的生成效率和准确性。
具体地,本实施例中,正则表达式生成装置及其各个模块的具体功能还可以参照正则表达式生成方法中的对应描述,在此不再赘述。
基于实施例,本发明还提供了一种智能终端,其原理框图可以如图7所示。智能终端包括存储器、处理器以及存储在存储器上并可在处理器上运行的正则表达式生成程序,正则表达式生成程序被处理器执行时实现如上正则表达式生成方法的步骤。
本领域技术人员可以理解,图7中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的智能终端的限定,具体地智能终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,正则表达式生成程序被处理器执行时进行以下操作指令:
获取正样本数据和负样本数据;
初始化正样本数据获得正则表达式种群;
根据正样本数据和负样本数据评估正则表达式种群中正则表达式的适应度;
根据适应度最高的正则表达式在正样本数据上进行样本匹配时的精确率,获得正则表达式集合;
根据正则表达式集合获得最终正则表达式。
本发明实施例还提供一种计算机存储介质,计算机存储介质上存储有正则表达式生成程序,正则表达式生成程序被处理器执行时实现如上正则表达式生成方法的步骤。
应理解,实施例中各步骤的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟是以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以由另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
上述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,上述计算机程序可存储于一计算机存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。
以上上述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不是相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (7)
1.一种正则表达式生成方法,其特征在于,所述正则表达式生成方法包括:
获取正样本数据和负样本数据;
初始化所述正样本数据获得正则表达式种群;
所述初始化所述正样本数据获得正则表达式种群,具体包括:
根据数据集初始化将所述正样本数据转换成正则表达式,获得第一种群;
当所述第一种群的种群大小小于预设种群大小时,根据随机初始化获得第二种群,直至所述第一种群的种群大小和所述第二种群的种群大小之和大于或等于所述预设种群大小时,根据所述第一种群和所述第二种群获得所述正则表达式种群;
根据所述正样本数据和所述负样本数据评估所述正则表达式种群中正则表达式的适应度;
根据所述适应度最高的正则表达式在所述正样本数据上进行样本匹配时的精确率,获得正则表达式集合;
所述根据所述适应度最高的正则表达式在所述正样本数据上进行样本匹配时的精确率,获得正则表达式集合,具体包括:
当所述适应度最高的正则表达式在所述正样本数据上进行样本匹配时的精确率大于预设精确率,且演化迭代次数大于预设演化次数时,将所述适应度最高的正则表达式放入正则表达式合集,并删除与所述适应度最高的正则表达式相匹配的所述正样本数据;
当与所述适应度最高的正则表达式不匹配的所述正样本数据的样本数量小于预设样本数量时,根据所述正则表达式集合获得最终正则表达式;
当与所述适应度最高的正则表达式不匹配的所述正样本数据的样本数量大于或等于预设样本数量时,重新执行初始化所述正样本数据获得正则表达式种群,并更新迭代次数;
所述根据所述适应度最高的正则表达式在所述正样本数据上进行样本匹配时的精确率,获得正则表达式集合,具体还包括:
当所述适应度最高的正则表达式在所述正样本数据上进行样本匹配时的精确率小于或等于预设精确率,或演化迭代次数小于或等于预设演化次数时,通过遗传算法对所述适应度最高的正则表达式进行演化,获取新的正则表达式种群;根据新的正则表达式种群重新根据所述正样本数据和所述负样本数据评估所述正则表达式种群中正则表达式的适应度,并更新迭代次数,其中,所述演化迭代次数为通过遗传算法对所述所述适应度最高的正则表达式进行演化的次数;
根据所述正则表达式集合获得最终正则表达式。
2.根据权利要求1所述的正则表达式生成方法,其特征在于,所述正则表达式生成方法还包括:
通过语法树表示所述正则表达式,其中,通过所述语法树的叶结点表示所述正则表达式中的常量符号,通过所述语法树的非叶节点表示所述正则表达式中的运算符。
3.根据权利要求1所述的正则表达式生成方法,其特征在于,所述在根据数据集初始化将所述正样本数据转换成正则表达式时,所述正则表达式生成方法还包括:
采用统计字符串的方法提取所述正样本数据中出现次数大于预设出现次数的字符串,作为频繁字符串;
当所述正样本数据中当前字符所在的位置是所述频繁字符串所在的位置,则保留对应的所述频繁字符串到所述正则表达式中。
4.根据权利要求1任一项所述的正则表达式生成方法,其特征在于,在所述初始化所述正样本数据获得正则表达式种群之后,所述正则表达式生成方法还包括:
获取所述迭代次数;
当所述迭代次数小于或等于预设迭代次数时,重新执行根据所述正样本数据和所述负样本数据评估所述正则表达式种群中正则表达式的适应度;根据所述适应度最高的正则表达式在所述正样本数据上进行样本匹配时的精确率,获得正则表达式集合;根据所述正则表达式集合获得最终正则表达式,直到所述迭代次数大于所述预设迭代次数。
5.一种正则表达式生成装置,其特征在于,所述正则表达式生成装置包括:
获取模块,用于获取正样本数据和负样本数据;
初始化模块,用于初始化所述正样本数据获得正则表达式种群;
所述初始化模块,具体用于:
根据数据集初始化将所述正样本数据转换成正则表达式,获得第一种群;
当所述第一种群的种群大小小于预设种群大小时,根据随机初始化获得第二种群,直至所述第一种群的种群大小和所述第二种群的种群大小之和大于或等于所述预设种群大小时,根据所述第一种群和所述第二种群获得所述正则表达式种群;
评估模块,用于根据所述正样本数据和所述负样本数据评估所述正则表达式种群中正则表达式的适应度;
判断模块,用于根据所述适应度最高的正则表达式在所述正样本数据上进行样本匹配时的精确率,获得正则表达式集合;
所述判断模块,具体用于:
当所述适应度最高的正则表达式在所述正样本数据上进行样本匹配时的精确率大于预设精确率,且演化迭代次数大于预设演化次数时,将所述适应度最高的正则表达式放入正则表达式合集,并删除与所述适应度最高的正则表达式相匹配的所述正样本数据;
当与所述适应度最高的正则表达式不匹配的所述正样本数据的样本数量小于预设样本数量时,根据所述正则表达式集合获得最终正则表达式;
当与所述适应度最高的正则表达式不匹配的所述正样本数据的样本数量大于或等于预设样本数量时,重新执行初始化所述正样本数据获得正则表达式种群,并更新迭代次数;
所述判断模块,具体还用于:
当所述适应度最高的正则表达式在所述正样本数据上进行样本匹配时的精确率小于或等于预设精确率,或演化迭代次数小于或等于预设演化次数时,通过遗传算法对所述适应度最高的正则表达式进行演化,获取新的正则表达式种群;根据新的正则表达式种群重新根据所述正样本数据和所述负样本数据评估所述正则表达式种群中正则表达式的适应度,并更新迭代次数,其中,所述演化迭代次数为通过遗传算法对所述所述适应度最高的正则表达式进行演化的次数;
合成模块,用于根据所述正则表达式集合获得最终正则表达式。
6.一种智能终端,其特征在于,所述智能终端包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的正则表达式生成程序,所述正则表达式生成程序被所述处理器执行时实现如权利要求1-4任意一项所述正则表达式生成方法的步骤。
7.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有正则表达式生成程序,所述正则表达式生成程序被处理器执行时实现如权利要求1-4任意一项所述正则表达式生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211191349.9A CN115269939B (zh) | 2022-09-28 | 2022-09-28 | 正则表达式生成方法、装置、智能终端及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211191349.9A CN115269939B (zh) | 2022-09-28 | 2022-09-28 | 正则表达式生成方法、装置、智能终端及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115269939A CN115269939A (zh) | 2022-11-01 |
CN115269939B true CN115269939B (zh) | 2023-02-17 |
Family
ID=83756413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211191349.9A Active CN115269939B (zh) | 2022-09-28 | 2022-09-28 | 正则表达式生成方法、装置、智能终端及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115269939B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106598827A (zh) * | 2016-12-19 | 2017-04-26 | 东软集团股份有限公司 | 提取日志数据的方法及装置 |
CN109800339A (zh) * | 2018-12-13 | 2019-05-24 | 平安普惠企业管理有限公司 | 正则表达式生成方法、装置、计算机设备及存储介质 |
CN112115313A (zh) * | 2020-09-08 | 2020-12-22 | 北京百度网讯科技有限公司 | 正则表达式的生成、数据提取方法、装置、设备及介质 |
CN112132259A (zh) * | 2020-09-01 | 2020-12-25 | 厦门大学 | 神经网络模型输入参量降维方法及计算机可读存储介质 |
CN114238661A (zh) * | 2021-12-22 | 2022-03-25 | 西安交通大学 | 一种基于可解释模型的文本歧视性样本检测生成系统与方法 |
CN114385868A (zh) * | 2021-12-07 | 2022-04-22 | 广东宜通衡睿科技有限公司 | 一种正则表达式生成方法、装置、介质及设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104537383A (zh) * | 2015-01-20 | 2015-04-22 | 全国组织机构代码管理中心 | 一种基于粒子群的海量组织机构数据分类方法及系统 |
US11086939B2 (en) * | 2019-05-28 | 2021-08-10 | Salesforce.Com, Inc. | Generation of regular expressions |
-
2022
- 2022-09-28 CN CN202211191349.9A patent/CN115269939B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106598827A (zh) * | 2016-12-19 | 2017-04-26 | 东软集团股份有限公司 | 提取日志数据的方法及装置 |
CN109800339A (zh) * | 2018-12-13 | 2019-05-24 | 平安普惠企业管理有限公司 | 正则表达式生成方法、装置、计算机设备及存储介质 |
CN112132259A (zh) * | 2020-09-01 | 2020-12-25 | 厦门大学 | 神经网络模型输入参量降维方法及计算机可读存储介质 |
CN112115313A (zh) * | 2020-09-08 | 2020-12-22 | 北京百度网讯科技有限公司 | 正则表达式的生成、数据提取方法、装置、设备及介质 |
CN114385868A (zh) * | 2021-12-07 | 2022-04-22 | 广东宜通衡睿科技有限公司 | 一种正则表达式生成方法、装置、介质及设备 |
CN114238661A (zh) * | 2021-12-22 | 2022-03-25 | 西安交通大学 | 一种基于可解释模型的文本歧视性样本检测生成系统与方法 |
Non-Patent Citations (3)
Title |
---|
Regular expression grouping optimization based on shuffled frog leaping algorithm;Cai Liangwei et al.;《2016 2nd IEEE International Conference on Computer and Communications》;20170511;1-5 * |
专利权利要求书生成关键技术研究;赵恩博;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;20210115(第1期);I138-2471 * |
基于遗传算法的正则表达式规则分组优化;程璐;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;20151215(第12期);I139-59 * |
Also Published As
Publication number | Publication date |
---|---|
CN115269939A (zh) | 2022-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111460250B (zh) | 用于画像的数据的清洗方法、装置、介质及电子设备 | |
CN111798312A (zh) | 一种基于孤立森林算法的金融交易系统异常识别方法 | |
CN110853648B (zh) | 一种不良语音检测方法、装置、电子设备及存储介质 | |
CN110287311B (zh) | 文本分类方法及装置、存储介质、计算机设备 | |
CN113486664A (zh) | 文本数据可视化分析方法、装置、设备及存储介质 | |
CN112016313A (zh) | 口语化要素识别方法及装置、警情分析系统 | |
CN116881430B (zh) | 一种产业链识别方法、装置、电子设备及可读存储介质 | |
CN117520503A (zh) | 基于llm模型的金融客服对话生成方法、装置、设备及介质 | |
CN116010688A (zh) | 一种用户行为标签识别方法、系统、设备及存储介质 | |
CN114154829A (zh) | 企业的产业链节点确定方法、装置、终端及存储介质 | |
CN113869398B (zh) | 一种不平衡文本分类方法、装置、设备及存储介质 | |
CN108647497A (zh) | 一种基于特征提取的api密钥自动识别系统 | |
CN115859191A (zh) | 故障诊断方法、装置、计算机可读存储介质及计算机设备 | |
CN117235137B (zh) | 一种基于向量数据库的职业信息查询方法及装置 | |
CN115269939B (zh) | 正则表达式生成方法、装置、智能终端及计算机存储介质 | |
CN113886821A (zh) | 基于孪生网络的恶意进程识别方法、装置、电子设备及存储介质 | |
CN115296851B (zh) | 一种基于互信息与灰狼提升算法的网络入侵检测方法 | |
CN115859932A (zh) | 一种日志模板提取方法、装置、电子设备及存储介质 | |
CN115455407A (zh) | 一种基于机器学习的GitHub敏感信息泄露监控方法 | |
CN114530142A (zh) | 基于随机森林的信息推荐方法、装置、设备及存储介质 | |
CN113836300A (zh) | 日志分析方法、系统、设备及存储介质 | |
CN111291376B (zh) | 一种基于众包和机器学习的web漏洞验证方法 | |
CN111191448A (zh) | 词处理方法、装置、存储介质以及处理器 | |
CN113362151B (zh) | 金融业务的数据处理方法、装置、电子设备及存储介质 | |
CN116431355B (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 |