一种多模式匹配方法、装置、电子设备和存储介质制造方法及图纸

技术编号:30020126 阅读:24 留言:0更新日期:2021-09-11 06:38
本发明专利技术涉及一种多模式匹配方法、装置、电子设备和存储介质,该方法包括:获取待匹配文本;将待匹配文本符号化转化成符号序列;从字典树的根节点开始依次匹配所述符号序列中每个符号对应的子节点,在匹配过程中,根据符号序列中的每个符号类型确定匹配策略;依次匹配结束后得到匹配结果。本申请通过将待匹配文本符号化转化为符号序列,能够对正则表达式转化为符号序列,然后将符号序列在字典树上依次进行匹配,对不同的符号类型采取不同的匹配策略进行匹配,如区间节点、活动节点等类型的匹配策略,与正则语法完全一致,不仅匹配速度快,而且基于字典树的表达能力进行匹配,大大增强了模式的表达能力,减少了模式的维护成本。减少了模式的维护成本。减少了模式的维护成本。

【技术实现步骤摘要】
一种多模式匹配方法、装置、电子设备和存储介质


[0001]本专利技术涉及多模式匹配
,具体涉及一种多模式匹配方法、装置、电子设备和存储介质。

技术介绍

[0002]目前,多模式匹配是一项非常重要的基础工作,应用范围很广,可以应用在文本分词、文本匹配、对话系统等方向。多模式匹配是指对于给定的一个输入文本T,如:”ABCDEF”,同时提供一些字符串模式,如”ABC”,“CD”,“FG”,从这些模式中找到能匹配文本T的模式,如示例中可以看到”ABC”,“CD”都是匹配T的模式。当输入文本T很长,模式很多时,就需要有一定的方法去解决了。目前比较好解决方法有AC方法、Wu Manber方法等。
[0003]目前的多模式匹配算法,主要是优化效率,但不支持正则表达式。

技术实现思路

[0004]本专利技术提供一种多模式匹配方法、装置、电子设备和存储介质,能够解决上述多模式匹配中的技术问题。
[0005]本专利技术解决上述技术问题的技术方案如下:
[0006]第一方面,本专利技术实施例提供了一种多模式匹配方法,包括:
[0007]获取待匹配文本;
[0008]将待匹配文本符号化转化成符号序列;
[0009]从字典树的根节点开始依次匹配所述符号序列中每个符号对应的子节点,在匹配过程中,根据符号序列中的每个符号类型确定匹配策略;
[0010]从所述根节点到所述子节点的路径中得到匹配结果。
[0011]在一些实施例中,上述多模式匹配方法中,将待匹配文本符号化转化成符号序列,包括:
[0012]通过符号化工具对所述待匹配文本的字符表达进行字符切分,形成不同的符号类型;
[0013]符号序列中每个符号用第一分隔符隔开;
[0014]每个符号均包括两部分,第一部分是符号本身,第二部分是符号类型,所述第一部分和第二部分用第二分隔符隔开;
[0015]其中,符号类型包括:文字类型、数字类型、区间类型或者活动节点。
[0016]在一些实施例中,上述多模式匹配方法中,从字典树的根节点开始依次匹配符号序列中每个符号对应的子节点,包括:
[0017]从字典树的根节点开始匹配符号序列中第一个符号对应的子节点;
[0018]当匹配到第一个符号对应的子节点后,从子节点开始匹配符号序列中第二个符号的子节点;
[0019]依次匹配直到匹配完符号序列中最后一个符号对应的子节点后得到匹配结果。
[0020]在一些实施例中,上述多模式匹配方法中,根据符号序列中的每个符号类型确定匹配策略,包括:
[0021]当符号类型是活动节点时,如果当前字符和活动节点匹配成功,仍然在所述活动节点匹配下一个字符;
[0022]当符号类型是区间节点时,当前字符与区间节点中的每一个字符进行匹配。
[0023]当符号类型包括至少两种时,对当前字符进行转写或者保留,进行匹配。
[0024]在一些实施例中,上述多模式匹配方法中,将待匹配文本符号化转化成符号序列后,符号序列通过树构建工具放在字典树上。
[0025]在一些实施例中,上述多模式匹配方法中,从所述根节点到所述子节点的路径中得到匹配结果后,还包括:通过结果选择单元确定最终匹配结果。
[0026]在一些实施例中,上述多模式匹配方法中,从字典树的根节点开始依次匹配所述符号序列中每个符号对应的子节点,包括:通过字典树匹配逻辑单元进行匹配。
[0027]第二方面,本专利技术实施例提供了一种多模式匹配装置,包括:
[0028]获取模块:用于获取待匹配文本;
[0029]转化模块;用于将所述待匹配文本符号化转化成符号序列;
[0030]匹配模块:用于从字典树的根节点开始依次匹配所述符号序列中每个符号对应的子节点,在匹配过程中,根据符号序列中的每个符号类型确定匹配策略;
[0031]得到模块:用于从所述根节点到所述子节点的路径中得到匹配结果。
[0032]第三方面,本专利技术实施例还提供了一种电子设备,包括:处理器和存储器;
[0033]所述处理器通过调用所述存储器存储的程序或指令,用于执行如上所述任一项一种多模式匹配方法。
[0034]第四方面,本专利技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行如上所述任一项所述一种多模式匹配方法。
[0035]本专利技术的有益效果是:通过获取待匹配文本;将待匹配文本符号化转化成符号序列;从字典树的根节点开始依次匹配所述符号序列中每个符号对应的子节点,在匹配过程中,根据符号序列中的每个符号类型确定匹配策略;依次匹配结束后得到匹配结果。本申请通过将待匹配文本符号化转化为符号序列,能够对正则表达式转化为符号序列,然后将符号序列在字典树上依次进行匹配,对不同的符号类型采取不同的匹配策略进行匹配,如区间节点、活动节点等类型的匹配策略,与正则语法完全一致,不仅匹配速度快,而且基于字典树的表达能力进行匹配,大大增强了模式的表达能力,减少了模式的维护成本。
附图说明
[0036]图1为本专利技术实施例提供的一种多模式匹配方法图一;
[0037]图2为本专利技术实施例提供的一种多模式匹配方法图二;
[0038]图3为本专利技术实施例提供的一种多模式匹配方法图三;
[0039]图4为本专利技术实施例提供的一种多模式匹配装置图;
[0040]图5为本专利技术实施例提供的一种电子设备的示意性框图。
具体实施方式
[0041]以下结合附图对本专利技术的原理和特征进行描述,所举实例只用于解释本专利技术,并非用于限定本专利技术的范围。
[0042]为了能够更清楚地理解本申请的上述目的、特征和优点,下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。此处所描述的具体实施例仅仅用于解释本公开,而非对本申请的限定。基于所描述的本申请的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
[0043]需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
[0044]图1为本专利技术实施例提供的一种多模式匹配方法图一;
[0045]第一方面,本专利技术实施例提供了一种多模式匹配方法,结合图1,包括:
[0046]S101:获取待匹配文本。
[0047]具体的,本申请实施例中的待匹配文本可以是正则表达式如:BCD。
[0048]S102:将待匹配文本符号化转化成符号序列。
[0049]示例性的,将待匹配文本BCD符号化后转化成符号序列,如S=[B|文字,C|文字,D|文字]。
[0050]S103:从字典树的根节点开始依次匹配所述符号序列中每个符号对应的子节点,在匹配过程中,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多模式匹配方法,其特征在于,包括:获取待匹配文本;将所述待匹配文本符号化转化成符号序列;从字典树的根节点开始依次匹配所述符号序列中每个符号对应的子节点,在匹配过程中,根据所述符号序列中的每个符号类型确定匹配策略;从所述根节点到所述子节点的路径中得到匹配结果;其中,所述符号类型包括:文字类型、数字类型、区间类型或者活动节点。2.根据权利要求1所述的多模式匹配方法,其特征在于,将所述待匹配文本符号化转化成符号序列,包括:通过符号化工具对所述待匹配文本的字符表达进行字符切分,形成不同的符号类型;所述符号序列中每个符号用第一分隔符隔开;每个符号均包括两部分,第一部分是符号本身,第二部分是符号类型,所述第一部分和第二部分用第二分隔符隔开。3.根据权利要求1所述的多模式匹配方法,其特征在于,所述从字典树的根节点开始依次匹配所述符号序列中每个符号对应的子节点,包括:从字典树的根节点开始匹配所述符号序列中第一个符号对应的子节点;当匹配到第一个符号对应的子节点后,从所述子节点开始匹配所述符号序列中第二个符号的子节点;依次匹配直到匹配完符号序列中最后一个符号对应的子节点后得到匹配结果。4.根据权利要求1所述的多模式匹配方法,其特征在于,根据所述符号序列中的每个符号类型确定匹配策略,包括:当符号类型是活动节点时,如果当前字符和所述活动节点匹配成功,仍然在所述活动节点匹配下一个字符;当符号类型是区间节点时,当前字符与所述区间节点中的每一个字符...

【专利技术属性】
技术研发人员:任禾刘升平梁家恩
申请(专利权)人:云知声智能科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1