CN100452055C - 一种用于文本或网络内容分析的大规模多关键词匹配方法 - Google Patents
一种用于文本或网络内容分析的大规模多关键词匹配方法 Download PDFInfo
- Publication number
- CN100452055C CN100452055C CNB200710065392XA CN200710065392A CN100452055C CN 100452055 C CN100452055 C CN 100452055C CN B200710065392X A CNB200710065392X A CN B200710065392XA CN 200710065392 A CN200710065392 A CN 200710065392A CN 100452055 C CN100452055 C CN 100452055C
- Authority
- CN
- China
- Prior art keywords
- window
- keyword
- list
- text
- character
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 79
- 238000004458 analytical method Methods 0.000 title claims abstract description 17
- 230000008878 coupling Effects 0.000 claims description 15
- 238000010168 coupling process Methods 0.000 claims description 15
- 238000005859 coupling reaction Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 14
- 230000002596 correlated effect Effects 0.000 abstract 1
- 230000006835 compression Effects 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 241000700605 Viruses Species 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000000840 anti-viral effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- ZPUCINDJVBIVPJ-LJISPDSOSA-N ***e Chemical compound O([C@H]1C[C@@H]2CC[C@@H](N2C)[C@H]1C(=O)OC)C(=O)C1=CC=CC=C1 ZPUCINDJVBIVPJ-LJISPDSOSA-N 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000003612 virological effect Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本方法涉及一种文本或网络内容分析的大规模多关键词匹配方法,属于计算机数据处理技术领域。本方法包括关键词集预处理和文本或网络内容匹配两个阶段。关键词集预处理阶段建立跳跃表和关键词表,计算各表项的跳跃值,并将关键词关联到关键词表的相应表项。匹配阶段将一个窗口置于待分析的文本或网络内容的开始处,对窗口内的数据块进行哈希运算,检索跳跃表中对应跳跃值,若不为零,则按此值移动窗口,若为零,则对该数据块再进行哈希运算,检索关键词表,根据该表项中的跳跃值移动窗口,并将该表项中关联的关键词依次与文本中相应字段进行比较,确认是否匹配。本发明方法的优点是算法评测性能优异,满足实用要求,硬件可扩展性好。
Description
技术领域
本发明涉及一种用于文本或网络内容分析的大规模多关键词匹配方法,尤其涉及大规模关键词集背景下的文本或者网络内容的处理技术,属于计算机数据处理技术领域。
背景技术
多关键词匹配是计算机科学领域中的基本问题之一。其解决的问题是快速准确地判断某一文本或者数据块中是否包含给定的关键词集合中的某个或者某些关键词。多关键词匹配技术现在已经广泛应用到防火墙、病毒检测、入侵检测与防御、内容过滤等网络安全的各个领域,同时还可以扩展到其他学科,比如说信息管理***,网络搜索引擎,生物信息学中的基因序列检测等等。因此对于多关键词匹配方法的研究和改进是很有实际意义的。
解决多关键词匹配问题的经典方法之一是基于哈希跳跃表的方法。该方法最早由***立中正大学的Sun Wu和美国亚利桑那州立大学的Udi Manber于1994年提出,通常以发明者的名字命名,以下简称“WM方法”。WM方法的基本思路是匹配时计算文本中大小为B字节(B一般为2或3)的数据块对应跳跃值,按照跳跃值移动文本或者是进一步验证丁能匹配的关键词。WM方法通过一定的启发式规则来确定数据块跳跃值,避开一些不必要的验证,同时在跳跃值表的建立中采用了哈希散列的方法,加快了匹配速度。
和一般多关键词匹配方法一样,WM方法也分为预处理和匹配两个阶段。预处理阶段中WM方法会建立三张表:哈希表、跳跃表和前缀表。其中,跳跃表中存储了对应数据块的跳跃值,它被用来决定当扫描文本的时候,文本中有多少个字符可以被跳过。哈希表和前缀表是在跳跃表值为0的时候用来决定关键词集合中哪一个关键词有可能和文本产生匹配并确认是否匹配。如果给定关键词集合为{her,his,she,kiss}并取数据块大小B=2,则对应的跳跃表、哈希表和前缀表如图1所示。在文本匹配过程中,长度为B的窗口置于文本开始处,WM方法计算当前窗口中B个字符的哈希值并检索跳跃表中相应表项,如果表项中跳跃值不为零则移动窗口,为零时则再用同样的哈希值检索哈希表,找到可能匹配的关键词,用前缀表过滤掉其中的一部分,无法过滤掉的关键词再用逐个字符匹配的方法并判断是否在该位置出现匹配。
WM方法具有很优秀的平均性能,匹配速度快,占用的内存空间较小,是目前多关键词匹配领域中在时间和空间上表现最好的一种方法,因而得到了广泛的应用,例如Linux命令agrep,以及著名开源入侵检测***Snort中的关键词匹配模块。
值得注意的是,伴随互联网技术的飞速发展,多关键词匹配方法的研究遇到了新的挑战。网络攻击行为的日益复杂化,网络安全应用的关键词规模也随之不断扩大。根据CNCERT/CC的信息,现在网络内容及敏感信息过滤所用到的规则集一般是几万条,甚至达到十几万条。著名的开源反病毒软件clamAV的病毒特征库条目达到了49644条,而且还在不断地增长。基于和谐现状,本发明所定义的大规模关键词集指的是集合中关键词数达到1万以上。同时,随着网络带宽也不断增长,网络安全防御***的处理能力也必须不断提高。作为核心技术,这也意味着多关键词匹配性能也要不断提高。事实是大多数网络安全***的性能,尤其是一些实时处理***,如病毒检测、流量统计分析、敏感信息过滤等等,还没有办法满足应用需求。以上两个现状揭示了进行面向大规模关键词集的高速多关键词匹配方法研究的必要性。
但是,通过对于WM算法流程的分析可以知道,关键词数量增加后,WM方法的跳跃表中跳跃值为零的项数会增多,平均跳跃值会随之减小,从而无法有效地避免匹配过程中大量不必要的字符比较,导致文本或者网络内容的匹配速度下降。实验结果表明,WM方法在关键词数达到10万的时候,匹配速度下降非常明显,极低的吞吐量已经很难满足文本或者网络内容处理的实用要求。
发明内容
本发明的目的是提出一种用于文本或网络内容分析的大规模多关键词匹配方法。该方法首次提出动态切割关键词的思想,充分挖掘关键词集合的启发式信息,克服WM方法在大规模关键词集下跳跃表中跳跃值为零的项过多的缺点,大幅提高大规模关键词集下的匹配速度。同时该方法通过引入两级压缩哈希表,以及在维持匹配性能的前提下去掉WM方法中用到的前缀表,降低了内存空间的消耗,保证了良好的硬件可扩展性,提升了实用价值。
本方法用于文本或网络内容分析的大规模多关键词匹配方法,包括以下各步骤:
(1)确定关键词集合中最短关键词的长度m,m为大于或等于4的正整数,建立跳跃表和关键词表;
(2)将一个大小为m的窗口置于上述关键词集合中第一个关键词的开始处,对进入窗口内的最后B个字符组成的数据块进行第一哈希运算,其中B为3或4,用得到的哈希值检索上述跳跃表,若对应表项的跳跃值不为零,则将窗口移动一个字符,重复步骤(2),若为零,则进入步骤(3);
(3)对上述窗口中最后B个字符组成的数据块进行第二哈希运算,用得到的哈希值检索上述关键词表,若对应表项的关键词数不为零,则将窗口移动一个字符,重复步骤(2),若为零,则当前窗口为最优m窗口,并记录最优m窗口与该关键词开始处之间的偏移量P,P的值等于窗口移动次数,若窗口到达第一个关键词最右端,则指定该关键词的前m个字符为最优m窗口,记录偏移量为零;
(4)重复步骤(2)和(3),得到每个关键词中的最优m窗口及其相应的偏移量;
(5)根据上述关键词集合中所有关键词的最优m窗口及每个窗口中所有长度为B的数据块,修改上述跳跃表和关键词表中的跳跃值,并将关键词关联到关键词表表项中,得到分析用跳跃表和分析用关键词表;
(6)将一个大小为B的窗口置于待分析的文本或网络内容的开始处,对窗口内的数据进行第三哈希运算,用得到的哈希值检索上述分析用跳跃表,若对应表项的跳跃值不为零,则按照跳跃值移动窗口,若跳跃值为零,则对该数据块进行第四哈希运算,用得到的哈希值检索上述分析用关键词表,若对应表项中关联有一个或多个可能匹配的关键词,则依次将关键词与待分析的文本或网络内容中的相应字段进行字符比较,并根据该关键词表表项中的跳跃值移动窗口,直到窗口到达待分析的文本或网络内容的最末端。
上述方法中,依次将关键词与待分析的文本或网络内容中的相应字段进行字符比较的过程,包括以下步骤:
(1)设当前B窗口的第一个字符与待分析的文本或网络内容开始处的距离为T,得到待分析的文本或网络内容中待比较字段的开始处与待分析的文本或网络内容开始处的距离T-L,即为待比较字段开始处的位置,其中L=m-B-P,P为第一个关键词最优m窗门的偏移量;
(2)将第一个关键词的第一个字符与待比较字段开始处对齐后逐个字符进行比较,若匹配,则输出匹配位置T-L以及该关键词的关键词号,并进入步骤(3),若不匹配,则直接进入步骤(3);
(3)重复步骤(1)、(2),直到所有关联的关键词比较完毕。
本发明提出的用于文本或网络内容分析的大规模多关键词匹配方法,其优点如下:
1、算法评测性能优异:经过实验,本发明提出的高速大规模多关键词匹配方法,和已有的WM方法相比,空间和时间性能都比较优异。在关键词数1万到10万的情况下,该方法的匹配速度比WM方法快2到4倍,占用的内存空间同B=2情况下的WM方法基本持平,但是比B=3情况下的WM方法要少75%到90%。
2、满足实用要求:实际应用中,该发明提出的方法在关键词数10万情况下可以达到600Mbps的吞吐量(即每秒钟匹配75MB的文本或网络内容),而占用的内存空间仅仅只有5MB左右,可以很好地满足现在大多数本文或网络内容处理的性能要求。
3、硬件可扩展性好:较低的内存空间消耗保证了本发明提出的方法有可能被加载到硬件加速***上,或者是开发成为专用片上***,从而进一步提高匹配速度,而且具有很好的市场前景。
附图说明
图1是已有的WM方法中,以{her,his,she,kiss}关键词集合为例,相对应的跳跃表,哈希表和前缀表。
图2是本发明方法中,在设定关键词为“cooperation”的最优m窗口位置前的跳跃表和关键词表。
图3是设定关键词“cooperation”的最优m窗口位置的流程图。
图4是设定关键词“cooperation”的最优m窗口位置后的跳跃表和关键词表。
图5是设定关键词“cooperation”的最优m窗口中长度为B的数据块对应跳跃值前的跳跃表和关键词表。
图6是设定关键词“cooperation”的最优m窗口中长度为B的数据块对应跳跃值的流程图。
图7是设定关键词“cooperation”的最优m窗口中长度为B的数据块对应跳跃值后的跳跃表和关键词表。
具体实施方式
本方法用于文本或网络内容分析的大规模多关键词匹配方法,首先确定关键词集合中最短关键词的长度m,m为大于或等于4的正整数,建立跳跃表和关键词表;将一个大小为m的窗口置于上述关键词集合中第一个关键词的开始处,对进入窗口内的最后B个字符组成的数据块进行第一哈希运算,其中B为3或4,用得到的哈希值检索上述跳跃表,若对应表项的跳跃值不为零,则将窗口移动一个字符,重复上述步骤,若为零,则进入以下步骤,对窗口中最后B个字符组成的数据块进行第二哈希运算,用得到的哈希值检索上述关键词表,若对应表项的关键词数不为零,则将窗口移动一个字符,重复上述步骤,若为零,则当前窗口为最优m窗口,并记录最优m窗口与该关键词开始处之间的偏移量P,P的值等于窗口移动次数,若窗口到达第一个关键词最右端,则指定该关键词的前m个字符为最优m窗口,记录偏移量为零;重复以上步骤,得到每个关键词中的最优m窗口及其相应的偏移量;根据上述关键词集合中所有关键词的最优m窗口及每个窗口中所有长度为B的数据块,修改上述跳跃表和关键词表中的跳跃值,并将关键词关联到关键词表表项中,得到分析用跳跃表和分析用关键词表;将一个大小为B的窗口置于待分析的文本或网络内容的开始处,对窗口内的数据进行第三哈希运算,用得到的哈希值检索上述分析用跳跃表,若对应表项的跳跃值不为零,则按照跳跃值移动窗口,若跳跃值为零,则对该数据块进行第四哈希运算,用得到的哈希值检索上述分析用关键词表,若对应表项中关联有一个或多个可能匹配的关键词,则依次将关键词与待分析的文本或网络内容中的相应字段进行字符比较,并根据该关键词表表项中的跳跃值移动窗口,直到窗口到达待分析的文本或网络内容的最末端。
上述方法中,依次将关键词与待分析的文本或网络内容中的相应字段进行字符比较的过程为,设当前B窗口的第一个字符与待分析的文本或网络内容开始处的距离为T,得到待分析的文本或网络内容中待比较首先字段的开始处与待分析的文本或网络内容开始处的距离T-L,即为待比较字段开始处的位置,其中L=m-B-P,P为第一个关键词最优m窗口的偏移量;将第一个关键词的第一个字符与待比较字段开始处对齐后逐个字符进行比较,若匹配,则输出匹配位置T-L以及该关键词的关键词号,并进入以下步骤,若不匹配,则直接进入以下步骤;重复以上步骤,直到所有关联的关键词比较完毕。
具体说来,本发明方法和已有的WM方法相比较,在关键技术上有三个重大的改进:
(1)本发明采用两级压缩哈希表对WM方法中的跳跃表进行了优化。首先取长度为B字节的数据块(B可以取3或者4)中的20位二进制数来构建第一压缩哈希表(以下也称为跳跃表,无特殊说明,跳跃表均指的是本发明中的跳跃表),然后对于跳跃表中跳跃值为零的数据块,引入第二哈希函数,在数据块中另外取17位二进制数来构建第二压缩哈希表,称为关键词表。该表不同于WM方法的哈希表,表项中不但关联有可能匹配的关键词,还存有跳跃值,这是因为该方法跳跃表的哈希冲突概率比较大,有很多具有正跳跃值的数据块经过哈希运算后映射到了跳跃值为零的表项中,而通过关键词表的第二哈希可以将这些数据块和跳跃值真正为零的数据块区分开来。两级压缩哈希表可以有效地减少在大规模关键词集下跳跃值为零的项数,增大文本或者网络内容匹配时的平均跳跃值,从而提高了多关键词匹配的速度,同时,压缩和分级的思想也可以减少了内存空间的消耗。
(2)动态切割方法通过挖掘关键词集中蕴含的信息来提高匹配速度。当关键词集中最小关键词长度为m时,原有WM方法只是简单地考虑每个关键词前m个字符,并没有对关键词中其他字符进行预处理,这样的话就可能会漏掉关键词集中一些有利于提升匹配速度的信息。基于这样的观察,本发明采用了一种动态切割的思想来对关键词集进行预处理,考察每个关键词中所有长度为m的数据块,利用启发式规则来选择这些数据块的最佳组合(每个关键词中选一个数据块)。经过研究分析,该方法采用了以下两条启发式规则,一是跳跃表中跳跃值为零的项数尽量少,二是关键词表中每个表项中关联的关键词平均个数尽量少。
(3)本发明在不影响匹配速度的前提下,去掉了WM方法中的前缀表,进一步减少了内存消耗。因为上述动态切割思想中采用的启发式规则二,关键词表中每个表项关联的关键词平均个数减少,这意味着每一次命中关键词表表项后需要进行字符比较确认匹配的关键词数就减少了。综合考虑对匹配速度的贡献和需要的空间消耗后,前缀表在本方法中可以去掉。
以下结合附图,详细介绍本发明的内容。本发明方法包括关键词集预处理和文本或网络内容匹配两个阶段。
预处理阶段中首先应该扫描整个关键词集合,确定其中最短关键词的长度m,m要求要大于或者等于4,并设定数据块大小B,B可以取3或者4,将跳跃表和关键词表中所有表项的跳跃值初始化为m-B+1,关键词表中所有表项的关键词数置为零。
然后根据前面提到的两条启发式规则动态切割关键词,依次确定每个关键词中对提高匹配速度最有利的m个连续字符数据块(称为最优m窗口)的位置。现在以设定关键词“cooperation”的最优m窗口位置为例,说明动态切割方法的具体流程。图2所示为设定前跳跃表和关键词表的情况。关键词集的最小规则长度m为8,数据块大小B为4。注意跳跃表中“~ti”表示数据块最后两个字节(16位二进制数)是ti,~表示4位二进制数,也就是说以这20位二进制数结尾的长度为B的数据块经过第一哈希运算得到的哈希值就是该跳跃表表项的索引值。同理,在关键词表中“?ti”表示的是以这17位二进制数结尾的长度为B的数据块经过第二哈希运算得到的哈希值就是该关键词表项的索引值。图3所示的是确定“cooperation”最优m窗口的流程。将一个长度为m的窗口从关键词最左边开始,窗口内最后B个字符组成的数据块经过第一哈希运算,用得到的哈希值检索跳跃表,若对应跳跃表表项的跳跃值不为零的话,则将窗口向右移动一个字节,重复前面的过程,若为零,则对这个数据块进行第二哈希运算,用得到的哈希值检索关键词表,若对应关键词表表项的关键词数为零,则确定当前窗口为最优m窗口,并记录当前窗口与该关键词开始处之间的偏移量P。若关键词数不为零,则将窗口向右移动一个字节,重复前面的过程。若窗口到达关键词的末端,且还没有按照前面的条件确定最优m窗口,则直接指定该关键词的前m个字符为最优m窗口,记录偏移量P为零。偏移量P会用于计算匹配阶段时确定文本对应字段开始处的调整量L。图4所示是确定完关键词“cooperation”的最优m窗口后跳跃表和关键词表的情况。可以看出,最优m窗口确定的同时,该窗口中最后B个字符组成的数据块对应的跳跃表表项和关键词表表项中的跳跃值已经被置零,该关键词也已经被关联到相应的关键词表表项中。
确定完所有关键词的最优m窗口之后,还需要逐个处理每一个关键词中在最优m窗口内的其他所有长度为B的数据块,修改它们在跳跃表和关键词表对应表项中的跳跃值。图5所示是设定关键词“cooperation”最优m窗口中其他数据块跳跃值之前的跳跃表和关键词表,图6所示是设定关键词“cooperation”最优m窗口中其他数据块跳跃值的流程。“peration”的下划线表示这是该关键词的最佳m窗口。该方法将一个大小为B的数据块窗口从最优m窗口的最左边开始,对B窗口内数据进行第一哈希运算,用得到的哈希值检索跳跃表,并修改相应的跳跃表表项的跳跃值。跳跃值计算方法是:设该B字节数据块与最优m窗口开始处之间的偏移量为j,该数据块的跳跃值为m-B-j,对应跳跃表表项的跳跃值则取的是这个值与该表项原值中较小的一个。若该表项的跳跃值为零,则将上述B字节数据块进行第第二哈希运算,用得到的哈希值检索跳跃表,并修改相应的跳跃表表项的跳跃值。跳跃值计算方法和上面跳跃表跳跃值的计算方法相同。图7所示是确定完关键词“cooperation”最优m窗口中其他数据块跳跃值后跳跃表和关键词表的情况。按照上面的方法处理完所有的关键词后,就生成了完整的跳跃表和关键词表,关键词预处理阶段结束。
在匹配过程中,本发明首先将一个大小为B的窗口置于文本或者网络内容的开始处,对窗口内的数据块进行第三哈希运算,这里的第三哈希运算和预处理阶段的第一哈希运算使用的是同样的哈希函数,用得到的哈希值检索跳跃表,若对应的跳跃表表项跳跃值不为零,则根据此跳跃值移动窗口并重复以上匹配过程;若跳跃值为零,则对该数据块进行第四哈希,这里的第四哈希运算和预处理阶段的第二哈希运算使用的是同样的哈希函数,用得到的哈希值检索关键词表,如果该表项关联有一个或者多个可能匹配的关键词,则依次将这些关键词和文本中相应的字段进行匹配,匹配时先计算调整量L,L=m-B+P,P为当前被比较的关键词的最优m窗口偏移量。设当前文本中B窗口与文本开始处之间的距离为T,则将被比较的关键词第一个字符与文本中偏移量为T-L处的字符对齐,逐个比较。匹配则输出匹配位置即偏移量T-L,以及匹配的关键词号。所有关联的关键词均比较完后,按照该表项的跳跃值来移动B窗口,直到B窗口到达文本的最末端,匹配过程结束。
Claims (2)
1、一种用于文本或网络内容分析的大规模多关键词匹配方法,其特征在于该方法包括以下各步骤:
(1)确定关键词集合中最短关键词的长度m,m为大于或等于4的正整数,建立跳跃表和关键词表;
(2)将一个大小为m的窗口置于上述关键词集合中第一个关键词的开始处,对进入窗口内的最后B个字符组成的数据块进行第一哈希运算,其中B为3或4,用得到的哈希值检索上述跳跃表,若对应表项的跳跃值不为零,则将窗口移动一个字符,重复步骤(2),若为零,则进入步骤(3);
(3)对上述窗口中最后B个字符组成的数据块进行第二哈希运算,用得到的哈希值检索上述关键词表,若对应表项的关键词数不为零,则将窗口移动一个字符,重复步骤(2),若为零,则当前窗口为最优m窗口,并记录最优m窗口与该关键词开始处之间的偏移量P,P的值等于窗口移动次数,若窗口到达第一个关键词最右端,则指定该关键词的前m个字符为最优m窗口,记录偏移量为零;
(4)重复步骤(2)和(3),得到每个关键词中的最优m窗口及其相应的偏移量;
(5)根据上述关键词集合中所有关键词的最优m窗口及每个窗口中所有长度为B的数据块,修改上述跳跃表和关键词表中的跳跃值,并将关键词关联到关键词表表项中,得到分析用跳跃表和分析用关键词表;
(6)将一个大小为B的窗口置于待分析的文本或网络内容的开始处,对窗口内的数据进行第三哈希运算,用得到的哈希值检索上述分析用跳跃表,若对应表项的跳跃值不为零,则按照跳跃值移动窗口,若跳跃值为零,则对该数据块进行第四哈希运算,用得到的哈希值检索上述分析用关键词表,若对应表项中关联有一个或多个可能匹配的关键词,则依次将关键词与待分析的文本或网络内容中的相应字段进行字符比较,并根据该关键词表表项中的跳跃值移动窗口,直到窗口到达待分析的文本或网络内容的最末端。
2、如权利要求1所述的方法,其特征在于其中所述的依次将关键词与待分析的文本或网络内容中的相应字段进行字符比较的过程,包括以下步骤:
(2-1)设当前B窗口的第一个字符与待分析的文本或网络内容开始处的距离为T,得到待分析的文本或网络内容中待比较字段的开始处与待分析的文本或网络内容开始处的距离T-L,即为待比较字段开始处的位置,其中L=m-B-P,P为第一个关键词最优m窗口的偏移量;
(2-2)将第一个关键词的第一个字符与待比较字段开始处对齐后逐个字符进行比较,若匹配,则输出匹配位置T-L以及该关键词的关键词号,并进入步骤(2-3),若不匹配,则直接进入步骤(2-3);
(2-3)重复步骤(2-1)、(2-2),直到所有关联的关键词比较完毕。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200710065392XA CN100452055C (zh) | 2007-04-13 | 2007-04-13 | 一种用于文本或网络内容分析的大规模多关键词匹配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200710065392XA CN100452055C (zh) | 2007-04-13 | 2007-04-13 | 一种用于文本或网络内容分析的大规模多关键词匹配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101030221A CN101030221A (zh) | 2007-09-05 |
CN100452055C true CN100452055C (zh) | 2009-01-14 |
Family
ID=38715567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200710065392XA Expired - Fee Related CN100452055C (zh) | 2007-04-13 | 2007-04-13 | 一种用于文本或网络内容分析的大规模多关键词匹配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100452055C (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101398820B (zh) * | 2007-09-24 | 2010-11-17 | 北京启明星辰信息技术股份有限公司 | 一种大规模关键词匹配方法 |
CN101329680B (zh) * | 2008-07-17 | 2010-12-08 | 安徽科大讯飞信息科技股份有限公司 | 句子层面的大规模快速匹配方法 |
CN101420440B (zh) * | 2008-12-05 | 2011-08-24 | 华为技术有限公司 | 字符串匹配处理方法及装置 |
CN101714166B (zh) * | 2009-10-30 | 2011-12-28 | 清华大学 | 一种大规模多关键词精确匹配算法的性能测试方法及*** |
CN101754151B (zh) * | 2009-12-08 | 2013-07-10 | 武汉虹信通信技术有限责任公司 | 一种基于滑动窗口的双向循环查找、显示装置及方法 |
US9330085B2 (en) | 2010-12-15 | 2016-05-03 | International Business Machines Corporation | Assisting users to generate desired meme in document |
CN103186669B (zh) * | 2013-03-21 | 2018-07-06 | 厦门雅迅网络股份有限公司 | 关键词快速过滤方法 |
CN103793474B (zh) * | 2014-01-04 | 2017-01-11 | 北京理工大学 | 一种面向知识管理的自定义知识分类方法 |
CN105468597B (zh) * | 2014-08-14 | 2020-09-25 | 腾讯科技(北京)有限公司 | 一种获取跳转距离的方法及装置 |
CN105574038B (zh) * | 2014-10-16 | 2019-03-01 | 阿里巴巴集团控股有限公司 | 基于反识别渲染的文本内容识别率测试方法及装置 |
CN109643309B (zh) * | 2016-09-08 | 2021-02-12 | 华为技术有限公司 | 用于对跳跃表数据结构执行范围查询的***和方法 |
CN109145283B (zh) * | 2017-06-17 | 2022-03-15 | 黄冈 | 一种人工智能的敏感信息检测方法 |
CN110543548B (zh) * | 2019-08-20 | 2022-08-19 | 国网江苏省电力有限公司电力科学研究院 | 物联网设备通信内容的多关键词快速匹配方法及匹配*** |
CN111476037B (zh) * | 2020-04-14 | 2023-03-31 | 腾讯科技(深圳)有限公司 | 文本处理方法、装置、计算机设备和存储介质 |
CN112836008B (zh) * | 2021-02-07 | 2023-03-21 | 中国科学院新疆理化技术研究所 | 基于去中心化存储数据的索引建立方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1027183A (ja) * | 1997-04-11 | 1998-01-27 | Hitachi Ltd | データ登録方法および装置 |
US20030084298A1 (en) * | 2001-10-25 | 2003-05-01 | Messerges Thomas S. | Method for efficient hashing of digital content |
CN1489087A (zh) * | 2002-08-23 | 2004-04-14 | ��ʽ���綫֥ | 检索关键字分析程序、***和方法 |
CN1492359A (zh) * | 2002-04-10 | 2004-04-28 | 深圳市中兴通讯股份有限公司 | 一种多关键字自动状态机查找匹配方法 |
-
2007
- 2007-04-13 CN CNB200710065392XA patent/CN100452055C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1027183A (ja) * | 1997-04-11 | 1998-01-27 | Hitachi Ltd | データ登録方法および装置 |
US20030084298A1 (en) * | 2001-10-25 | 2003-05-01 | Messerges Thomas S. | Method for efficient hashing of digital content |
CN1492359A (zh) * | 2002-04-10 | 2004-04-28 | 深圳市中兴通讯股份有限公司 | 一种多关键字自动状态机查找匹配方法 |
CN1489087A (zh) * | 2002-08-23 | 2004-04-14 | ��ʽ���綫֥ | 检索关键字分析程序、***和方法 |
Non-Patent Citations (2)
Title |
---|
一种改进的多关键字匹配算法. 代六玲,王树梅,黄河燕,陈肇雄.南京理工大学学报(自然科学版),第29卷第6期. 2005 |
一种改进的多关键字匹配算法. 代六玲,王树梅,黄河燕,陈肇雄.南京理工大学学报(自然科学版),第29卷第6期. 2005 * |
Also Published As
Publication number | Publication date |
---|---|
CN101030221A (zh) | 2007-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100452055C (zh) | 一种用于文本或网络内容分析的大规模多关键词匹配方法 | |
CN101398820B (zh) | 一种大规模关键词匹配方法 | |
CN108829658B (zh) | 新词发现的方法及装置 | |
CN109241274B (zh) | 文本聚类方法及装置 | |
CN101359325B (zh) | 一种快速内容分析的多关键词匹配方法 | |
CN106528599B (zh) | 一种海量音频数据中的字符串快速模糊匹配算法 | |
CN103186669B (zh) | 关键词快速过滤方法 | |
CN102184197B (zh) | 基于智能有限自动机的正则表达式匹配方法 | |
CN107918604B (zh) | 一种中文的分词方法及装置 | |
US20020007446A1 (en) | Range content-addressable memory | |
CN102750379B (zh) | 一种基于过滤型的字符串快速匹配方法 | |
CN102333036B (zh) | 一种实现高速路由查找的方法和*** | |
CN103412858B (zh) | 用于文本或网络内容分析的大规模特征匹配的方法 | |
US20140019486A1 (en) | Logic Content Processing for Hardware Acceleration of Multi-Pattern Search | |
CN101149739A (zh) | 一种面向互联网的有意义串的挖掘方法和*** | |
CN101369278B (zh) | 一种近似匹配方法和装置 | |
CN106708956B (zh) | 一种基于多url规则集的http数据匹配方法 | |
CN109299235A (zh) | 知识库搜索方法、装置及计算机可读存储介质 | |
CN107515931A (zh) | 一种基于聚类的重复数据检测方法 | |
CN108509505A (zh) | 一种基于分区双数组Trie的字符串检索方法及装置 | |
CN106649338B (zh) | 信息过滤策略生成方法及装置 | |
CN103324886A (zh) | 一种网络攻击检测中指纹库的提取方法和*** | |
CN101901257A (zh) | 一种多字符串匹配方法 | |
CN103593338A (zh) | 一种信息处理方法及装置 | |
CN102955812A (zh) | 一种构建索引库的方法、装置及查询方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090114 Termination date: 20110413 |