CN101425084A - 基于有序二叉树的模式匹配方法 - Google Patents
基于有序二叉树的模式匹配方法 Download PDFInfo
- Publication number
- CN101425084A CN101425084A CNA2008102030082A CN200810203008A CN101425084A CN 101425084 A CN101425084 A CN 101425084A CN A2008102030082 A CNA2008102030082 A CN A2008102030082A CN 200810203008 A CN200810203008 A CN 200810203008A CN 101425084 A CN101425084 A CN 101425084A
- Authority
- CN
- China
- Prior art keywords
- node
- state
- binary tree
- depth
- degree
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种信息技术领域的基于有序二叉树的多模式匹配方法,包括如下步骤:步骤一、对二叉树按NLR方式遍历,设定遍历二叉树时的顺序,得到一系列的模式串,如果这些模式串得到的先后顺序和它们的字典序相同,即获得有序二叉树,同时在有序二叉树上构造出失败指针,以重复利用已经匹配成功的模式串子串信息;步骤二、根据构造的有序二叉树及goto函数和失败指针对源字串进行一次查找,定位出模式串在源字串中的位置,查找的过程如下:从有序二叉树的根节点出发,逐个取出源字串中的字符,根据goto函数和失败指针确定状态之间的转换,当源字串的所有字符都被取出后,查找过程就结束。本发明特别适用于模式串集合动态变化的情况。
Description
技术领域
本发明涉及的是一种信息技术领域的方法,具体是一种基于有序二叉树的模式匹配方法。
背景技术
在信息技术领域,如何在一个动态字符串中定位指定的模式串是一个非常典型的问题。该技术的应用范围非常广泛,例如,信息抽取、文本编辑、恶意代码查找、DNA序列匹配等等。当前,基于普通树型结构的有限状态自动机(DFSA,Deterministic Finite State Automaton)方法是解决多模式匹配问题的常用方法。基于树型结构的有限自动机在应用程序中构造一次,就可以随时在应用程序中使用,应用非常广泛。在实际应用中,有一些新的问题逐渐受到重视。在线更新的模式串集合查找的需求(实现编辑软件中多字符串的查找和替换功能);内存节约的需求(使方法方便应用于PDA、潜入式系统软件等);同时要求匹配速度不能降低。然而基于树型结构的有限自动机由于构造速度慢、内存空间耗费大的缺点,不能很好地满足这些要求。
经对现有技术文献的检索发现,论文:Efficient string matching:An aidto bibliographic search(高效字符串匹配方法:目录查找的辅助手段),引文出处:Communications of the ACM,1975,18(6):333-340(ACM通讯,1975年,18卷,6期,333-340页)。该文献是多模式匹配的奠基,其核心方法是基于普通树型结构的有限状态自动机(DFSA)方法,该方法是解决多模式匹配问题的常用方法。DFSA方法在匹配前对模式串集合进行预处理,转换成树型有限状态自动机,然后只需对文本串进行一次扫描就可找出所有模式串,其查找时间复杂度是0(n)。但该方法的不足之处在于:基于树型结构的有限自动机特别适用于模式串集合相对稳定的情况,例如,词典是一个相对稳定的模式串集合,只需在应用程序中构造一次,就可以随时在应用程序中使用。
经检索还发现,An efficient algorithm for match multiple patterns(匹配多模式串的高效方法),IEEE Transaction on Knowledge and Data Engineering,1993,5(2):339-351(IEEE知识和数据工程通讯,1993年,5卷,2期,339-351页)。该文献在经典DFSA方法的基础上增加了跳跃式查找的思想,也可以简单理解为DFSA和经典BM单模式匹配方法的结合。由此可知,该技术根本没有改变DFSA方法。
发明内容
本发明的目的在于克服上述现有技术的不足,提供了一个基于有序二叉树的模式匹配方法,使其能够经过一次扫描源字符串就能够定位多个不同模式串在源字符串中的位置。本发明改变了传统DFSA方法,提高了构造速度;提高了查找速度;支持动态增删模式串;不需要额外的转向、失败和输出表示。
本发明是通过以下技术方案实现的,本发明包括如下步骤:
步骤一、构造有序二叉树:对二叉树按NLR(Node-Left-Right,前序遍历)方式遍历,设定遍历二叉树时的顺序,得到一系列的模式串,如果这些模式串得到的先后顺序和它们的字典序相同,即获得有序二叉树,同时在有序二叉树上构造出失败指针,以重复利用已经匹配成功的模式串子串信息;
步骤二、查找阶段:根据构造的有序二叉树及goto函数和失败指针对源字串进行一次查找,定位出模式串在源字串中的精确位置,查找的过程如下:从有序二叉树的根节点出发,逐个取出源字串中的字符,根据goto函数和失败指针确定状态之间的转换,当源字串的所有字符都被取出后,查找过程就结束。
所述的设定遍历二叉树时的顺序,具体如下:设置栈s用来存放模式串,指针p用来跟踪节点,当指针p指向当前节点的右子树时,栈s的栈顶元素出栈,右子树上的元素入栈;当指针p指向当前节点的左子树时,左子树上的元素直接入栈,重复上述过程直到p指向叶子节点,此时,栈内的元素就是某一个模式串。
所述的失败指针,是指为了重复利用已经匹配成功的子字串信息而使用的一种指针,具体是指:在有序二叉树的某个状态s1时,应用goto函数将达到一个新的状态,如果goto函数调用正确,则到达状态s1某一个子状态节点,如果调用错误,则由失败指针指向一个固定的节点状态,以避免重新回到根节点重新匹配,合理利用了已经成功匹配的子字串信息,从而就节约了查找阶段的时间。
所述失败指针,其构造方式具体如下:
(1)根节点的失败指针指向根节点;
(2)状态深度为1的节点的失败指针指向根节点;
(3)对于状态深度大于等于2的节点s,若其父状态为r且goto(r,a)=s,s的失败指针指向的确定是一个递归过程,具体如下:
①如果goto(s的父状态的失败指针指向的状态,a)的运算结果不是一个实际存在的状态时,s重新被赋值为s的父状态;
②依次循环步骤a,直到goto(s的父状态的失败指针指向的状态,a)的运算结果为一个实际存在的状态;
③s的失败指针被赋值为s的父状态。
所述goto函数是指根据设定的遍历二叉树时的顺序,构造状态转化的函数,具体如下:按照设定的遍历二叉树的顺序,从节点s1出发到其任一子状态节点的过程中,如果到达了子状态节点s2并且此时栈中有且仅有字符c,则goto函数被构造为goto(s1,c)=s2,也就是,在状态节点s1,输入字符c后,将转向状态s2。
所述的状态深度是指节点在构造过程中的深度,具体如下:节点的状态深度不同于二叉树的节点深度,二叉树的节点深度是该节点到根节点的路径,而状态深度反映了字符在相应的模式串中的位置,状态深度按如下方式设定:根节点的状态深度设置为0,如果某节点的状态深度是h,则它的左子节点的状态深度设置为h+1,右子节点的状态深度设置为h,依次类推可以确定所有节点的状态深度。
所述的父、子状态节点是指节点之间的父子关系,具体如下:如果节点1是节点f的左子树,节点集合R={r|r是1的右子树上的节点并且具有和1相同的状态深度},则f是1和R中所有节点的父状态节点,1和R中所有节点是f的子状态节点。
与现有技术相比,本发明具有如下有益效果:
本发明构造出了有序二叉树(sequential binary tree),并用有序二叉树来代替普通树型结构实现了一种新的多模式匹配方法,即基于有序二叉树的多模式匹配方法。本发明的构造速度快,便于动态增删节点(模式串),同时不用额外的转向、失败和输出表,查找效率和传统方法一样高,具体如下:
1、相对于传统的多叉树结构而言,本发明提高了构造速度,二叉树只有左右两棵子树,实现时不用预测有几个子节点,避免了内存的浪费和频繁的内存分配和释放操作;
2、相对于传统的DFSA方法而言,本发明提高了查找速度,由于有序二叉树结构体现了模式串的字典序,状态转向的速度得到了提高;
3、相对于传统DFSA方法而言,本发明支持动态增删模式串,采用二叉树结构使节点的增删更加方便,所以,本发明的方法易于实现模式串的动态增删,特别适应于需要动态调整模式串的一类应用需求;
4、相对于传统DFSA方法而言,本发明不需要额外的转向、失败和输出表示,本发明用指针代替了额外的转向、失败和输出表,节省了内存开销。
附图说明
图1是本发明构造出的有序二叉树结构示意图;
图2是本发明中状态深度和各节点之间的父子关系示意图;
图3是本发明中构造了失败指针的有序二叉树的示意图。
具体实施方式
结合附图对本发明的实施例作详细说明。本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
本实施例包括如下步骤:
步骤一、构造有序二叉树:对二叉树按NLR方式遍历,设定遍历二叉树时的顺序,得到一系列的模式串,如果这些模式串得到的先后顺序和它们的字典序相同,即获得有序二叉树,同时在有序二叉树上构造出失败指针,以重复利用已经匹配成功的模式串子串信息,如图1所示;
步骤二、查找阶段:根据构造的有序二叉树及goto函数和失败指针对源字串进行一次查找,定位出模式串在源字串中的精确位置,查找的过程如下:从有序二叉树的根节点出发,逐个取出源字串中的字符,根据goto函数和失败指针确定状态之间的转换,当源字串的所有字符都被取出后,查找过程就结束。
所述的设定遍历二叉树时的顺序,具体如下:设置栈s用来存放模式串,指针p用来跟踪节点,当指针p指向当前节点的右子树时,栈s的栈顶元素出栈,右子树上的元素入栈;当指针p指向当前节点的左子树时,左子树上的元素直接入栈,重复上述过程直到p指向叶子节点,此时,栈内的元素就是某一个模式串。
例如,访问模式串“our”的过程如下:
第一步:s=Φ;p=0;(根节点)
第二步:s={h};p=1;(左子树)
第三步:h出栈,o入栈,s={o};p=10;(右子树)
第四步:u入栈,s={o,u};p=11;(左子树)
第五步:r入栈,s={o,u,r};p=12;(左子树)
当指针p指向叶子节点结束。
此时栈s中的字符即为模式串“our”。
本实施例中根据模式串集合{he,hers,his,hour,she,our}构造有序二叉树,构造过程涉及1个节点数据结构和3个子过程。
所述的节点数据结构如下:
Structure Node{
Node*Lchild;
Char Lchar;
Node*Rchild;
Char Rchar;
Node*fatherstate;
Node*failstate;
Boolean output;
};
所述的有序二叉树的构造过程如下:
输入信息:模式串集合
输出结果:有序二叉树、输出节点和父状态节点指针
Begin
for each pattern do{
p=root;i=0;
while((p=goto(p,pattern[i]))!=NULL)i++;
在p处插入相应的pattern[i:strlen(pattern)];
}
End.
所述的goto(state,character)函数构造过程如下:根据设定的访问有序二叉树的顺序,从状态节点state出发到其任一子状态节点的过程中,如果到达了子状态节点child并且此时栈中有且仅有字符char,则goto(state,char)=child,否则goto(state,char)=NULL。该过程的描述如下:
输入信息:节点p,字符char
输出结果:相应的子状态
Begin
if((char<p.Lchar)||(p.Lchild==NULL)){
return NULL;
}else if(char==p.Lchar){
returnp.Lchild
}else{
p=p.Lchild;
while((pattern[i]>p.Rchar)&&(p!=NULL))p=p.Rchild;
if(pattern[i]==p.Rchar)
return p.Rchild;
else
return NULL;
}
End.
所述的失败指针构造过程如下:失败指针表示在状态state时,如果goto(state,char)=NULL(也就是说,从状态state经过字符char不可能到达state的任一个子状态节点),当前状态应改为state.failstate。失败指针的构造方式如下:
根节点的失败指针指向根节点;
状态深度为1的节点的失败指针指向根节点;
对于状态深度大于等于2的节点s,若其父状态为r且goto(r,a)=s。经过下列运算:
while(goto((s.fatherstate).failstate,a)==NULL)s=s.fatherstate;
则s的失败指针指向状态节点s.fatherstate。
如图3所示,失败指针用点线标出。每一个状态节点都有一个指针指向一个失败状态节点。例如,状态节点2的失败指针指向状态节点0。
失败指针的构造过程如下:
输入信息:有序二叉树,根节点是root;
输出结果:标注了失败指针的右序二叉树
Build_Fail_Func(Structure Node s)
Begin
按上述原则标注节点s的失败指针;
Build_Fail_Func(s.Lchild);
Build_Fail_Func(s.Rchild);
End
所述的状态深度是指节点在构造过程中的深度,具体如下:节点的状态深度不同于二叉树的节点深度,二叉树的节点深度是该节点到根节点的路径,而状态深度反映了字符在相应的模式串中的位置,状态深度按如下方式设定:根节点的状态深度设置为0,如果某节点的状态深度是h,则它的左子节点的状态深度设置为h+1,右子节点的状态深度设置为h,依次类推可以确定所有节点的状态深度。图2示意了各节点的状态深度。图2中,圆圈内的阿拉伯数字表示该节点的状态深度。
所述的父、子状态节点是指节点之间的父子关系,具体如下:如果节点1是节点f的左子树,节点集合R={r|r是1的右子树上的节点并且具有和1相同的状态深度}。则f是1和R中所有节点的父状态节点,1和R中所有节点是f的子状态节点。图2示意了父子状态节点的关系。图2中,带箭头的点线描述了状态节点的父子关系,箭头端的节点是末端节点的父状态节点,末端节点是箭头端节点的子状态节点。
本实施例中查找阶段的操作如下:有序二叉树构造完成以后,从字符串中经过一次扫描查出一切与给定模式串集中任何模式串相同的子字符串。查找的过程如下:从有序二叉树的根节点出发,逐个取出文本串中的字符,根据goto函数和失败指针的确定下一个状态节点。当某状态节点的output域为真值时,输出结果。以本实施例构成的有序二叉树为例,查找文本串”ushers”的过程如下:
从根root开始,goto(root,u)=0.goto(0,s)=13.goto(13,h)=14.goto(14,e)=15.此时输出节点15,也就是输出she,同时输出节点2,也就是输出he.
接下来,状态节点15的失败指针指向状态节点2.goto(2,r)=3.goto(3,s)=4.此时输出状态节点4,也就是输出hers.此时查找过程结束。
上述过程可以形式化描述如下:
输入信息:字串string=a1a2…an.
根为root的有序二叉树。
输出结果:各个模式以及它们在文本string中出现的位置
p←root;
for i←1until n{
while((p=goto(p,ai))==NULL)do p←p.failstate;
if(p.output){
print i;print p;
if(p.failstate.output)
print p.failstate
}
}
本实施例方法构造出了有序二叉树,并用有序二叉树来代替普通树型结构实现了一种新的多模式匹配方法,即基于有序二叉树的多模式匹配方法。本实施例方法的构造速度快,便于动态增删节点(模式串),同时不用额外的转向、失败和输出表,查找效率和传统方法一样高。
Claims (7)
1、一种基于有序二叉树的模式匹配方法,其特征在于,包括如下步骤:
步骤一、构造有序二叉树:对二叉树按NLR方式遍历,设定遍历二叉树时的顺序,得到一系列的模式串,如果这些模式串得到的先后顺序和它们的字典序相同,即获得有序二叉树,同时在有序二叉树上构造出失败指针,以重复利用已经匹配成功的模式串子串信息;
步骤二、查找阶段:根据构造的有序二叉树及goto函数和失败指针对源字串进行一次查找,定位出模式串在源字串中的位置,查找的过程如下:从有序二叉树的根节点出发,逐个取出源字串中的字符,根据goto函数和失败指针确定状态之间的转换,当源字串的所有字符都被取出后,查找过程就结束。
2、根据权利要求1所述的基于有序二叉树的模式匹配方法,其特征是,所述的设定遍历二叉树时的顺序,具体如下:设置栈s用来存放模式串,指针p用来跟踪节点,当指针p指向当前节点的右子树时,栈s的栈顶元素出栈,右子树上的元素入栈;当指针p指向当前节点的左子树时,左子树上的元素直接入栈,重复上述过程直到p指向叶子节点,此时,栈内的元素就是某一个模式串。
3、根据权利要求1所述的基于有序二叉树的模式匹配方法,其特征是,所述的失败指针,是指为了重复利用已经匹配成功的子字串信息而使用的一种指针,具体是指:在有序二叉树的某个状态s1时,应用goto函数将达到一个新的状态,如果goto函数调用正确,则到达状态s1某一个子状态节点,如果调用错误,则由失败指针指向一个固定的节点状态,以避免重新回到根节点重新匹配,利用了已经成功匹配的子字串信息。
4、根据权利要求1所述的基于有序二叉树的模式匹配方法,其特征是,所述失败指针,其构造方式具体如下:
(1)根节点的失败指针指向根节点;
(2)状态深度为1的节点的失败指针指向根节点;
(3)对于状态深度大于等于2的节点s,若其父状态为r且goto(r,a)=s,s的失败指针指向的确定是一个递归过程,具体如下:
①如果goto(s的父状态的失败指针指向的状态,a)的运算结果不是一个实际存在的状态时,s重新被赋值为s的父状态;
②依次循环步骤a,直到goto(s的父状态的失败指针指向的状态,a)的运算结果为一个实际存在的状态;
③s的失败指针被赋值为s的父状态。
5、根据权利要求4所述的基于有序二叉树的模式匹配方法,其特征是,所述的状态深度是指节点在构造过程中的深度,具体如下:节点的状态深度不同于二叉树的节点深度,二叉树的节点深度是该节点到根节点的路径,而状态深度反映了字符在相应的模式串中的位置,状态深度按如下方式设定:根节点的状态深度设置为0,如果某节点的状态深度是h,则它的左子节点的状态深度设置为h+1,右子节点的状态深度设置为h,依次类推确定所有节点的状态深度。
6、根据权利要求4所述的基于有序二叉树的模式匹配方法,其特征是,所述的父状态节点、子状态节点之间有节点之间的父子关系,具体如下:如果节点l是节点f的左子树,节点集合R={r|r是l的右子树上的节点并且具有和l相同的状态深度},则f是l和R中所有节点的父状态节点,l和R中所有节点是f的子状态节点。
7、根据权利要求1所述的基于有序二叉树的模式匹配方法,其特征是,所述goto函数是指根据设定的遍历二叉树时的顺序,构造状态转化的函数,具体如下:按照设定的遍历二叉树的顺序,从节点s1出发到其任一子状态节点的过程中,如果到达了子状态节点s2并且此时栈中有且仅有字符c,则goto函数被构造为goto(s1,c)=s2,即在状态节点s1,输入字符c后,将转向状态s2。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008102030082A CN101425084A (zh) | 2008-11-20 | 2008-11-20 | 基于有序二叉树的模式匹配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008102030082A CN101425084A (zh) | 2008-11-20 | 2008-11-20 | 基于有序二叉树的模式匹配方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101425084A true CN101425084A (zh) | 2009-05-06 |
Family
ID=40615697
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008102030082A Pending CN101425084A (zh) | 2008-11-20 | 2008-11-20 | 基于有序二叉树的模式匹配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101425084A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102156759A (zh) * | 2011-05-25 | 2011-08-17 | 华为技术有限公司 | 二叉树并行查找方法和设备 |
CN102184245A (zh) * | 2011-05-18 | 2011-09-14 | 华北电力大学 | 一种海量文本数据关键词的快速查找方法 |
CN102486787A (zh) * | 2010-12-02 | 2012-06-06 | 北大方正集团有限公司 | 用于提取文档结构的方法和装置 |
CN102685098A (zh) * | 2012-02-24 | 2012-09-19 | 华南理工大学 | 一种乱序数据包流免重组多模式匹配方法 |
CN102693309A (zh) * | 2011-05-26 | 2012-09-26 | 中国科学院计算技术研究所 | 用于计算机辅助翻译的候选短语查询方法及辅助翻译系统 |
CN105373601A (zh) * | 2015-11-09 | 2016-03-02 | 国家计算机网络与信息安全管理中心 | 一种基于关键字词频特征的多模式匹配方法 |
CN105468597A (zh) * | 2014-08-14 | 2016-04-06 | 腾讯科技(北京)有限公司 | 一种获取跳转距离的方法及装置 |
CN110222143A (zh) * | 2019-05-31 | 2019-09-10 | 北京小米移动软件有限公司 | 字符串匹配方法,装置,存储介质及电子设备 |
CN108255869B (zh) * | 2016-12-29 | 2020-10-30 | 中移(杭州)信息技术有限公司 | 一种室内地图绘制方法及装置 |
CN112508440A (zh) * | 2020-12-18 | 2021-03-16 | 深圳市赛为智能股份有限公司 | 数据质量评估方法、装置、计算机设备及存储介质 |
CN112712850A (zh) * | 2020-12-29 | 2021-04-27 | 中南大学 | 一种可应用于传染病病原体测序读段映射的种子序列定位方法 |
CN113469183A (zh) * | 2020-03-31 | 2021-10-01 | 同方威视技术股份有限公司 | 光学字符序列识别方法以及装置 |
-
2008
- 2008-11-20 CN CNA2008102030082A patent/CN101425084A/zh active Pending
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102486787A (zh) * | 2010-12-02 | 2012-06-06 | 北大方正集团有限公司 | 用于提取文档结构的方法和装置 |
CN102486787B (zh) * | 2010-12-02 | 2014-01-29 | 北大方正集团有限公司 | 用于提取文档结构的方法和装置 |
CN102184245A (zh) * | 2011-05-18 | 2011-09-14 | 华北电力大学 | 一种海量文本数据关键词的快速查找方法 |
CN102184245B (zh) * | 2011-05-18 | 2013-03-06 | 华北电力大学 | 一种海量文本数据关键词的快速查找方法 |
CN102156759B (zh) * | 2011-05-25 | 2013-12-18 | 华为技术有限公司 | 二叉树并行查找方法和设备 |
CN102156759A (zh) * | 2011-05-25 | 2011-08-17 | 华为技术有限公司 | 二叉树并行查找方法和设备 |
CN102693309A (zh) * | 2011-05-26 | 2012-09-26 | 中国科学院计算技术研究所 | 用于计算机辅助翻译的候选短语查询方法及辅助翻译系统 |
CN102693309B (zh) * | 2011-05-26 | 2014-08-06 | 中国科学院计算技术研究所 | 用于计算机辅助翻译的候选短语查询方法及辅助翻译系统 |
CN102685098A (zh) * | 2012-02-24 | 2012-09-19 | 华南理工大学 | 一种乱序数据包流免重组多模式匹配方法 |
CN102685098B (zh) * | 2012-02-24 | 2015-04-22 | 华南理工大学 | 一种乱序数据包流免重组多模式匹配方法 |
CN105468597B (zh) * | 2014-08-14 | 2020-09-25 | 腾讯科技(北京)有限公司 | 一种获取跳转距离的方法及装置 |
CN105468597A (zh) * | 2014-08-14 | 2016-04-06 | 腾讯科技(北京)有限公司 | 一种获取跳转距离的方法及装置 |
CN105373601A (zh) * | 2015-11-09 | 2016-03-02 | 国家计算机网络与信息安全管理中心 | 一种基于关键字词频特征的多模式匹配方法 |
CN105373601B (zh) * | 2015-11-09 | 2019-05-21 | 国家计算机网络与信息安全管理中心 | 一种基于关键字词频特征的多模式匹配方法 |
CN108255869B (zh) * | 2016-12-29 | 2020-10-30 | 中移(杭州)信息技术有限公司 | 一种室内地图绘制方法及装置 |
CN110222143A (zh) * | 2019-05-31 | 2019-09-10 | 北京小米移动软件有限公司 | 字符串匹配方法,装置,存储介质及电子设备 |
CN113469183A (zh) * | 2020-03-31 | 2021-10-01 | 同方威视技术股份有限公司 | 光学字符序列识别方法以及装置 |
CN112508440A (zh) * | 2020-12-18 | 2021-03-16 | 深圳市赛为智能股份有限公司 | 数据质量评估方法、装置、计算机设备及存储介质 |
CN112508440B (zh) * | 2020-12-18 | 2024-06-07 | 深圳市赛为智能股份有限公司 | 数据质量评估方法、装置、计算机设备及存储介质 |
CN112712850A (zh) * | 2020-12-29 | 2021-04-27 | 中南大学 | 一种可应用于传染病病原体测序读段映射的种子序列定位方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101425084A (zh) | 基于有序二叉树的模式匹配方法 | |
Chang et al. | Automatic information extraction from semi-structured web pages by pattern discovery | |
Amir et al. | Faster algorithms for string matching with k mismatches | |
Abboud et al. | Tight hardness results for LCS and other sequence similarity measures | |
Arasu et al. | Extracting structured data from web pages | |
Crescenzi et al. | Automatic information extraction from large websites | |
Lerman et al. | Automatic data extraction from lists and tables in web sources | |
US6606625B1 (en) | Wrapper induction by hierarchical data analysis | |
CN104899264B (zh) | 一种多模式正则表达式匹配方法及装置 | |
CN103823814B (zh) | 一种信息处理方法及装置 | |
CN106067039A (zh) | 基于决策树剪枝的模式匹配方法 | |
WO2015010509A1 (zh) | 一种基于一维线性空间实现Trie树的词典检索方法 | |
Chang et al. | Applying pattern mining to Web information extraction | |
Navarro | Pattern matching | |
CN104268176A (zh) | 一种基于搜索关键词的推荐方法及系统 | |
Idury et al. | Multiple matching of parameterized patterns | |
Lind | Computing in logarithmic space | |
Boughamoura et al. | A fuzzy approach for pertinent information extraction from web resources | |
CN116860991A (zh) | 面向api推荐的基于知识图谱驱动路径优化的意图澄清方法 | |
CN102521357A (zh) | 一种利用自动机实现文本精确匹配的系统和方法 | |
Idury et al. | Multiple matching of parameterized patterns | |
Gao et al. | A hybrid semantic parsing approach for tabular data analysis | |
Wang et al. | Wrapper induction based on nested pattern discovery | |
CN100483402C (zh) | 用于执行高速上下文检索和数据模式特征描述的可编程规则处理设备 | |
Amir et al. | Pattern matching in hypertext |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090506 |