CN112100361B - 一种基于ac自动机的字符串多模模糊匹配方法 - Google Patents

一种基于ac自动机的字符串多模模糊匹配方法 Download PDF

Info

Publication number
CN112100361B
CN112100361B CN202011259026.XA CN202011259026A CN112100361B CN 112100361 B CN112100361 B CN 112100361B CN 202011259026 A CN202011259026 A CN 202011259026A CN 112100361 B CN112100361 B CN 112100361B
Authority
CN
China
Prior art keywords
node
character
string
pattern
pointer
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
Application number
CN202011259026.XA
Other languages
English (en)
Other versions
CN112100361A (zh
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.)
Nanjing Zhongfu Information Technology Co Ltd
Original Assignee
Nanjing Zhongfu Information Technology 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 Nanjing Zhongfu Information Technology Co Ltd filed Critical Nanjing Zhongfu Information Technology Co Ltd
Priority to CN202011259026.XA priority Critical patent/CN112100361B/zh
Publication of CN112100361A publication Critical patent/CN112100361A/zh
Application granted granted Critical
Publication of CN112100361B publication Critical patent/CN112100361B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9532Query formulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于AC自动机的字符串多模模糊匹配方法,该方式包括以下步骤:利用规则对多组带有标签的模式串集合进行定义,将定义后的带有标签的模式串加入数据库;判断文本内容是否为首次查询;若文本内容为首次查询,则将数据库中所有带有标签的模式串读取,并通过预先配置的方法实现对Trie树的构建;在Trie树上采用预设规则完成fail指针的构建;采用预设方法实现文本内容与多组带有标签的模式串集合之间的查询匹配。有益效果:本发明在AC自动机的基础上加入模糊匹配的功能,不仅能够有效利用到多模字符串中的公共前缀,减少比较次数,而且能支持模糊匹配,具有一定的鲁棒性,简单高效。

Description

一种基于AC自动机的字符串多模模糊匹配方法
技术领域
本发明涉及字符串多模模糊匹配领域,具体来说,涉及一种基于AC自动机的字符串多模模糊匹配方法。
背景技术
互联网中充斥着大量的文本数据,从文本中快速提取到关键信息有助于文本的快速定位、查找并且方便用户进行决策。文本的标签往往是对于文本信息的高度概括,用于呈现出文本中的关键信息。文本标签化是一个从非结构化文本转化成结构化的标签的过程,对于文本处理系统至关重要。一篇文本可能存在多个标签,所以文本标签化过程中需要将文本与大量的自定义的规则字符串进行多模匹配,而且为了实现较强的鲁棒性,字符串匹配时需要实现模糊匹配的功能,所以急需一种快速的字符串多模模糊匹配方法。
字符串匹配方法中比较经典的是KMP(Knuth-Morris-Pratt)算法和BM(Boyer-Moore)算法,在此基础上有很多变体,虽然KMP算法和BM算法能够比较高效的实现字符串的匹配,但是不支持多模的字符串匹配,而多模字符串匹配方法中比较经典的AC(Aho-Corasick)自动机,不支持模糊匹配。现有的模糊匹配算法大多要进行文本的相似度计算,比如基于编辑距离的字符串模糊匹配算法,以编辑距离作为相似度的指标,编辑距离越小,代表相似程度越高,编辑距离越大,代表相似程度就越低。对于海量字符串来讲,相似度计算需要匹配时,进行与数据库中字符串数量相等的计算次数,具有较低的实时性,并且相似度的计算没有充分利用到多模字符串中存在相等的部分的特性,重复且低效。因此需要一种快速的字符串多模模糊匹配方法去克服这些缺点。
针对相关技术中的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中的问题,本发明提出一种基于AC自动机的字符串多模模糊匹配方法,以克服现有相关技术所存在的上述技术问题。
为此,本发明采用的具体技术方案如下:
一种基于AC自动机的字符串多模模糊匹配方法,该方式包括以下步骤:
S1、利用规则对多组带有标签的模式串集合进行定义,将定义后的带有标签的模式串加入数据库;
S2、判断文本内容是否为首次查询;
S3、若文本内容为首次查询,则将数据库中所有带有标签的模式串读取,并通过预先配置的方法实现对Trie树(字典树)的构建;
S4、在Trie树上采用预设规则完成fail(失败)指针的构建;
S5、采用预设方法实现文本内容与多组带有标签的模式串集合之间的查询匹配;
其中,若所述S2中的文本内容不是首次查询,则判断数据库是否有更新;
若数据库更新,则执行所述S3中的步骤,若数据库没有更新,则执行所述S5中的步骤。
进一步的,所述S1中利用规则对多组带有标签的模式串集合进行定义具体包括以下步骤:
S101、设置多组模式串的内容分别为j1、j2、j3……,定义n个模式串;
S102、设置n个模式串的输出标签内容分别为e1、e2、e3……;
S103、将所有定义完成的模式串和标签导入数据库中。
进一步的,所述模式串包括但不限于完整的字符串内容或带有若干个通配符的模式串。
进一步的,所述S3中通过预先配置的方法实现对Trie树的构建具体包括以下步骤:
S301、将模式串i中的每个字符作为一个节点依次加入Trie树中;
S302、将根节点到任一节点路径上所有的字符连接起来,作为该节点对应的字符串;
S302、在依次加入字符时,若当前字符与Trie树中的字符相同,则将当前字符的后一个字符加入Trie树中该字符的子节点中,若该子节点与该后一个字符相同,则继续判断下一个加入的字符与Trie树中该字符的子节点是否相同,直到加入的字符与Trie树中的字符不同或执行到加入字符串的结尾。
进一步的,所述S302步骤执行时,将模式串的最后一个字符存储为emit。
进一步的,所述S4中在Trie树上采用预设规则完成fail指针的构建具体包括以下步骤:
S401、从根节点开始借助广度优先算法遍历Trie树的每一个节点;
S402、对根节点的子节点进行入栈,并依次将每个字符出栈;
S403、取出一个字符之后,将该节点的所有子节点进行入栈,依次类推。
进一步的,所述S401中遍历时,具体包括以下步骤:
若n节点的父节点为f,则查找f的fail指针的子节点中是否有与n节点字符相等或者字符为#的节点m,若有,则将n节点的失败指针指向m节点,否则,查找f节点的父节点的fail指针,依次类推,若最终没有查找到相等的字符串,则使节点f的fail指针指向根节点。
进一步的,所述S5中采用预设方法具体包括以下步骤:
S501、实现当前节点的fail指针指向Trie根节点;
S502、完成文本串中一个待匹配字符C的读取;
S503、完成一个待匹配字符C与模式串的查询匹配;
S504、取出文本串中的下一个字符,将步骤S503中所有节点当作当前节点,重复步骤S503,直到该文本串的最后一个字符。
进一步的,所述S503具体包括以下步骤:
在当前节点的所有子节点中寻找与待匹配字符C相同的节点;
若找到相同的节点,则将待匹配的节点加入集合中,若当前节点的子节点中有#,则将匹配的#节点加入集合中,若当前节点是#字符,则将当前节点加入集合中,若当前节点的子节点中没有与待匹配字符C相等的节点,则当前节点指向当前节点的fail指针;
判断fail指针指向的节点的子节点中是否有与待匹配字符C相等的节点或#节点,若有则将此节点加入集合中,若此时fail指针指向的节点是#,则将fail指针指向的节点加入集合中,若都不满足,则继续查找fail指针,直到fail指针指向根节点为止。
进一步的,所述S504后还具体包括以下步骤:
对集合中所有节点进行遍历,若节点是某个模式串的最后一个节点,则将该字符串的emit加入到结果中,并实现所有emit结果的返回。
本发明的有益效果为:
(1)本发明在AC自动机的基础上加入模糊匹配的功能,不仅能够有效利用到多模字符串中的公共前缀,减少比较次数,而且能支持模糊匹配,具有一定的鲁棒性,简单高效。
(2)本发明对于海量字符串来讲,在相似度计算需要匹配时,具有较高的实时性,并且相似度的计算时充分利用到多模字符串中存在相等的部分的特性,简洁且高效。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的一种基于AC自动机的字符串多模模糊匹配方法的流程图;
图2是根据本发明实施例的一种基于AC自动机的字符串多模模糊匹配方法的Trie树构建示意图。
具体实施方式
为进一步说明各实施例,本发明提供有附图,这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理,配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点,图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。
根据本发明的实施例,提供了一种基于AC自动机的字符串多模模糊匹配方法。
现结合附图和具体实施方式对本发明进一步说明,如图1所示,根据本发明实施例的基于AC自动机的字符串多模模糊匹配方法,该方式包括以下步骤:
S1、利用规则对多组带有标签的模式串集合进行定义,将定义后的带有标签的模式串加入数据库;
S2、判断文本内容是否为首次查询;
S3、若文本内容为首次查询,则将数据库中所有带有标签的模式串读取,并通过预先配置的方法实现对Trie树的构建;
S4、在Trie树上采用预设规则完成fail指针的构建;
S5、采用预设方法实现文本内容与多组带有标签的模式串集合之间的查询匹配;
其中,若所述S2中的文本内容不是首次查询,则判断数据库是否有更新;
若数据库更新,则执行所述S3中的步骤,若数据库没有更新,则执行所述S5中的步骤。
再次查询时不再构建Trie树和fail指针,只有当新的模式串加入到数据库时才重新构建Trie树和fail指针。
在一个实施例中,所述S1中利用规则对多组带有标签的模式串集合进行定义具体包括以下步骤:
S101、设置多组模式串的内容分别为j1、j2、j3……,定义n个模式串;
S102、设置n个模式串的输出标签内容分别为e1、e2、e3……;
S103、将所有定义完成的模式串和标签导入数据库中。
在一个实施例中,所述模式串包括但不限于完整的字符串内容(如表1中的序号5表示的文本内容)或带有若干个通配符的模式串(如表1中的序号1-4表示的文本内容)。这里以#通配符为例,#的位置代表与i进行匹配时,i字符串中此位置可以是空也可以是任意其他的字符串。将所有的模式串和标签都加入到数据库中,数据库中有两列,第一列是模式串的内容,第二列是标签内容。
在一个实施例中,所述S3中通过预先配置的方法实现对Trie树的构建具体包括以下步骤:
S301、(从数据库中读取所有的模式串和标签,构建成Trie树。在Trie树中,根节点不包含字符,Emit为空)将模式串i中的每个字符作为一个节点依次加入Trie树中;
S302、将根节点到任一节点路径上所有的字符连接起来,作为该节点对应的字符串;
S302、(Trie树中每一个节点的子节点都不同)在依次加入字符时,若当前字符与Trie树中的字符相同,则将当前字符的后一个字符加入Trie树中该字符的子节点中,若该子节点与该后一个字符相同,则继续判断下一个加入的字符与Trie树中该字符的子节点是否相同,直到加入的字符与Trie树中的字符不同或执行到加入字符串的结尾。表1的5个模式串构建好的Trie树如图2所示。
在一个实施例中,所述S302步骤执行时,将模式串的最后一个字符存储为emit。
在一个实施例中,在Trie树上构建fail指针,fail指针的意思是如果一个点n的fail指针指向m,那么从根节点到m的字符串是根节点到n的字符串的一个后缀,所述S4中在Trie树上采用预设规则完成fail指针的构建具体包括以下步骤:
S401、从根节点开始借助广度优先算法遍历Trie树的每一个节点;
S402、对根节点的子节点进行入栈,并依次将每个字符出栈;
S403、取出一个字符之后,将该节点的所有子节点进行入栈,依次类推。首先遍历深度为1的节点,也就是每个字符串首字母,把每个字符串首字母的fail指针都指向根节点,然后依次其他深度的节点。
在一个实施例中,所述S401中遍历时,具体包括以下步骤:
若n节点的父节点为f,则查找f的fail指针的子节点中是否有与n节点字符相等或者字符为#的节点m,若有,则将n节点的失败指针指向m节点,否则,查找f节点的父节点的fail指针,依次类推,若最终没有查找到相等的字符串,则使节点f的fail指针指向根节点。因为通配符#可代表任意字符或者字符串,在进行比较时,不管n节点中是什么字符,回溯时父节点失败指针中有#子节点,也可代表相等,则最终n节点的fail指针指向#节点。
在一个实施例中,在构建好Trie树后,将待匹配字符串与模式串进行查询匹配。遍历待匹配字符串中的每一个字符,所述S5中采用预设方法具体包括以下步骤:
S501、实现当前节点的fail指针指向Trie根节点;
S502、完成文本串中一个待匹配字符C的读取;
S503、完成一个待匹配字符C与模式串的查询匹配;
S504、取出文本串中的下一个字符,将步骤S503中所有节点当作当前节点,重复步骤S503,直到该文本串的最后一个字符。
在一个实施例中,所述S503具体包括以下步骤:
在当前节点的所有子节点中寻找与待匹配字符C相同的节点;
若找到相同的节点,则将待匹配的节点加入集合中,若当前节点的子节点中有#,则将匹配的#节点加入集合中,若当前节点是#字符,则将当前节点加入集合中,若当前节点的子节点中没有与待匹配字符C相等的节点,则当前节点指向当前节点的fail指针;
判断fail指针指向的节点的子节点中是否有与待匹配字符C相等的节点或#节点,若有则将此节点加入集合中,若此时fail指针指向的节点是#,则将fail指针指向的节点加入集合中,若都不满足,则继续查找fail指针,直到fail指针指向根节点为止。
在一个实施例中,所述S504后还具体包括以下步骤:
对集合中所有节点进行遍历,若节点是某个模式串的最后一个节点,则将该字符串的emit加入到结果中,并实现所有emit结果的返回。
本方法以如下内容为例,“关于举办第一届编程大赛的通知”作为待匹配的字符串,将此字符串与表1中五个字符串进行匹配,其中Emit是模式串代表的标签,如果待匹配的字符串与模式串匹配,则可以打上Emit所在的标签。表1中序号为1,2,3的模式串都与待匹配字符串匹配。
表1多模串举例
Figure GDA0002903025880000071
Figure GDA0002903025880000081
综上所述,借助于本发明的上述技术方案,本发明在AC自动机的基础上加入模糊匹配的功能,不仅能够有效利用到多模字符串中的公共前缀,减少比较次数,而且能支持模糊匹配,具有一定的鲁棒性,简单高效。本发明对于海量字符串来讲,在相似度计算需要匹配时,具有较高的实时性,并且相似度的计算时充分利用到多模字符串中存在相等的部分的特性,简洁且高效。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种基于AC自动机的字符串多模模糊匹配方法,其特征在于,该方法包括以下步骤:
S1、利用规则对多组带有标签的模式串集合进行定义,将定义后的带有标签的模式串加入数据库;
S2、判断文本内容是否为首次查询;
S3、若文本内容为首次查询,则将数据库中所有带有标签的模式串读取,并通过预先配置的方法实现对Trie树的构建;
S4、在Trie树上采用预设规则完成fail指针的构建;
S5、采用预设方法实现文本内容与多组带有标签的模式串集合之间的查询匹配;
其中,若所述S2中的文本内容不是首次查询,则判断数据库是否有更新;
若数据库更新,则执行所述S3中的步骤,若数据库没有更新,则执行所述S5中的步骤;
所述S1中利用规则对多组带有标签的模式串集合进行定义还包括以下步骤:
S101、设置多组模式串的内容分别为j1、j2、j3……,定义n个模式串;
S102、设置n个模式串的输出标签内容分别为e1、e2、e3……;
S103、将所有定义完成的模式串和标签导入数据库中;
所述S5中采用预设方法还包括以下步骤:
S501、实现当前节点的fail指针指向Trie根节点;
S502、完成文本串中一个待匹配字符C的读取;
S503、完成一个待匹配字符C与模式串的查询匹配;
S504、取出文本串中的下一个字符,将步骤S503中所有节点当作当前节点,重复步骤S503,直到该文本串的最后一个字符。
2.根据权利要求1所述的一种基于AC自动机的字符串多模模糊匹配方法,其特征在于,所述模式串包括但不限于完整的字符串内容或带有若干个通配符的模式串。
3.根据权利要求1所述的一种基于AC自动机的字符串多模模糊匹配方法,其特征在于,所述S3中通过预先配置的方法实现对Trie树的构建还包括以下步骤:
S301、将模式串i中的每个字符作为一个节点依次加入Trie树中;
S302、将根节点到任一节点路径上所有的字符连接起来,作为该节点对应的字符串;
S303、在依次加入字符时,若当前字符与Trie树中的字符相同,则将当前字符的后一个字符加入Trie树中该字符的子节点中,若该子节点与该后一个字符相同,则继续判断下一个加入的字符与Trie树中该字符的子节点是否相同,直到加入的字符与Trie树中的字符不同或执行到加入字符串的结尾。
4.根据权利要求3所述的一种基于AC自动机的字符串多模模糊匹配方法,其特征在于,所述S302步骤执行时,将模式串的最后一个字符存储为emit。
5.根据权利要求1所述的一种基于AC自动机的字符串多模模糊匹配方法,其特征在于,所述S4中在Trie树上采用预设规则完成fail指针的构建还包括以下步骤:
S401、从根节点开始借助广度优先算法遍历Trie树的每一个节点;
S402、对根节点的子节点进行入栈,并依次将每个字符出栈;
S403、取出一个字符之后,将该节点的所有子节点进行入栈,依次类推。
6.根据权利要求5所述的一种基于AC自动机的字符串多模模糊匹配方法,其特征在于,所述S401中遍历时,还包括以下步骤:
若n节点的父节点为f,则查找f的fail指针的子节点中是否有与n节点字符相等或者字符为#的节点m,若有,则将n节点的失败指针指向m节点,否则,查找f节点的父节点的fail指针,依次类推,若最终没有查找到相等的字符串,则使节点f的fail指针指向根节点。
7.根据权利要求1所述的一种基于AC自动机的字符串多模模糊匹配方法,其特征在于,所述S503还包括以下步骤:
在当前节点的所有子节点中寻找与待匹配字符C相同的节点;
若找到相同的节点,则将待匹配的节点加入集合中,若当前节点的子节点中有#,则将匹配的#节点加入集合中,若当前节点是#字符,则将当前节点加入集合中,若当前节点的子节点中没有与待匹配字符C相等的节点,则当前节点指向当前节点的fail指针;
判断fail指针指向的节点的子节点中是否有与待匹配字符C相等的节点或#节点,若有则将此节点加入集合中,若此时fail指针指向的节点是#,则将fail指针指向的节点加入集合中,若都不满足,则继续查找fail指针,直到fail指针指向根节点为止。
8.根据权利要求7所述的一种基于AC自动机的字符串多模模糊匹配方法,其特征在于,所述S504后还包括以下步骤:
对集合中所有节点进行遍历,若节点是某个模式串的最后一个节点,则将该字符串的emit加入到结果中,并实现所有emit结果的返回。
CN202011259026.XA 2020-11-12 2020-11-12 一种基于ac自动机的字符串多模模糊匹配方法 Active CN112100361B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011259026.XA CN112100361B (zh) 2020-11-12 2020-11-12 一种基于ac自动机的字符串多模模糊匹配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011259026.XA CN112100361B (zh) 2020-11-12 2020-11-12 一种基于ac自动机的字符串多模模糊匹配方法

Publications (2)

Publication Number Publication Date
CN112100361A CN112100361A (zh) 2020-12-18
CN112100361B true CN112100361B (zh) 2021-02-26

Family

ID=73785095

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011259026.XA Active CN112100361B (zh) 2020-11-12 2020-11-12 一种基于ac自动机的字符串多模模糊匹配方法

Country Status (1)

Country Link
CN (1) CN112100361B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112953852A (zh) * 2021-01-27 2021-06-11 上海商米科技集团股份有限公司 一种基于TCP协议payload特征的应用识别方法
CN116260995A (zh) * 2021-12-09 2023-06-13 上海幻电信息科技有限公司 媒体目录文件的生成方法和视频呈现方法
CN114861216B (zh) * 2022-03-18 2024-05-17 浪潮卓数大数据产业发展有限公司 一种基于ac自动机的sql注入检测方法、设备、存储介质
CN117113436B (zh) * 2023-10-16 2024-01-26 中电科大数据研究院有限公司 一种基于区块链的数据可信确权方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109918548A (zh) * 2019-04-08 2019-06-21 上海凡响网络科技有限公司 一种自动检测文档敏感信息的方法和应用
CN110851590A (zh) * 2019-09-11 2020-02-28 上海爱数信息技术股份有限公司 一种通过敏感词检测与非法内容识别进行文本分类的方法
CN111680128A (zh) * 2020-06-16 2020-09-18 杭州安恒信息技术股份有限公司 一种网页敏感词检测方法、检测系统及相关装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7784094B2 (en) * 2005-06-30 2010-08-24 Intel Corporation Stateful packet content matching mechanisms

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109918548A (zh) * 2019-04-08 2019-06-21 上海凡响网络科技有限公司 一种自动检测文档敏感信息的方法和应用
CN110851590A (zh) * 2019-09-11 2020-02-28 上海爱数信息技术股份有限公司 一种通过敏感词检测与非法内容识别进行文本分类的方法
CN111680128A (zh) * 2020-06-16 2020-09-18 杭州安恒信息技术股份有限公司 一种网页敏感词检测方法、检测系统及相关装置

Also Published As

Publication number Publication date
CN112100361A (zh) 2020-12-18

Similar Documents

Publication Publication Date Title
CN112100361B (zh) 一种基于ac自动机的字符串多模模糊匹配方法
US8473501B2 (en) Methods, computer systems, software and storage media for handling many data elements for search and annotation
US6470347B1 (en) Method, system, program, and data structure for a dense array storing character strings
CN109670163B (zh) 信息识别方法、信息推荐方法、模板构建方法及计算设备
US10055439B2 (en) Fast, scalable dictionary construction and maintenance
Apostolico The myriad virtues of subword trees
Sadakane Succinct representations of lcp information and improvements in the compressed suffix arrays
CN107153647B (zh) 进行数据压缩的方法、装置、系统和计算机程序产品
US20100325136A1 (en) Error tolerant autocompletion
CN103365992B (zh) 一种基于一维线性空间实现Trie树的词典检索方法
JPH08241335A (ja) ファジー非決定性有限オートマトンを使用したあいまいな文字列検索方法及びシステム
Lin Binary search algorithm
CN109800337B (zh) 一种适用于大字母表的多模式正则匹配算法
EP3702937B1 (en) Fuzzy searching and applications therefor
Bannai et al. Computing all distinct squares in linear time for integer alphabets
Navarro Document listing on repetitive collections with guaranteed performance
Amir et al. Managing unbounded-length keys in comparison-driven data structures with applications to online indexing
CN111753534A (zh) 标识文档中的序列标题
Díaz-Domínguez et al. An LMS-based grammar self-index with local consistency properties
CN113642320A (zh) 文档目录结构的提取方法、装置、设备和介质
CN113407693B (zh) 一种用于全媒体审读的文本相似度比对方法及装置
CN117763077A (zh) 数据查询方法及装置
Nellore et al. An invertible transform for efficient string matching in labeled digraphs
CN114896469A (zh) 一种正则表达式引擎的构造方法、装置、存储介质及设备
Sherkat et al. A new approach for multi-pattern string matching in large text corpora

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