CN1648901A - 大规模关键词匹配的方法和系统 - Google Patents

大规模关键词匹配的方法和系统 Download PDF

Info

Publication number
CN1648901A
CN1648901A CN 200510007089 CN200510007089A CN1648901A CN 1648901 A CN1648901 A CN 1648901A CN 200510007089 CN200510007089 CN 200510007089 CN 200510007089 A CN200510007089 A CN 200510007089A CN 1648901 A CN1648901 A CN 1648901A
Authority
CN
China
Prior art keywords
keyword
grouping
optimum
length
group
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.)
Granted
Application number
CN 200510007089
Other languages
English (en)
Other versions
CN100354863C (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.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CNB2005100070895A priority Critical patent/CN100354863C/zh
Publication of CN1648901A publication Critical patent/CN1648901A/zh
Application granted granted Critical
Publication of CN100354863C publication Critical patent/CN100354863C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

本发明提供针对大规模关键词匹配的方法和系统。按照所提供的方法和系统,首先将给定关键词集合进行规范化,在规范化的关键词集合(也可以直接在原始关键词集合上)上求解一个最优分组和组内最佳匹配方法,这个过程可以使用两种机制:一是使用动态规划的方法计算出一个最优分组,依照此结果将给定的关键词集合划分成若干个组;然后,针对每一个组,通过训练的方式得到一个最佳的匹配方法;一是通过训练建立一个边上带权重的有向图,求解此图的最短路径,得到最优分组和组内最佳匹配方法;然后对所有的组,使用训练的结果依次构造扫描自动机,形成一个扫描自动机序列,使输入的待扫描文本依次通过,得到最终的扫描结果。

Description

大规模关键词匹配的方法和系统
技术领域
本发明涉及文本处理技术领域,特别是一种大规模关键词匹配方法和系统。
背景技术
多关键词匹配的技术已经比较成熟,而且广泛的用于文本处理、内容过滤的各个方面。传统的多关键词匹配算法是将待扫描的文本看成是一维的字符串,充分利用已知关键词串的特征,在扫描过程中尽量向前跳跃,以提高匹配的性能。多关键词匹配算法根据对关键词预处理方法的不同,可以分为三种形式:前缀模式(KMP、AC、Shift-AND、Shift-Or等算法)、后缀模式(Boyer-Moore、Wu-Manber等算法)、子串模式(BDM、BOM、SBDM、SBOM等算法)。多关键词匹配算法的性能主要受一下三个方面的影响:关键词数量、关键词的最小长度、字符集。此外,匹配速度也和待扫描文本中出现关键词的次数有关系。
为了不断的提高关键词匹配的性能,出现了很多新的方法,但都是在对关键词本身的预处理上进行改进,即:尽可能多的利用关键词串的特征,寻求新的数据结构来存储特征和由特征计算出来的跳跃量,改进跳跃方式等,这样的改进方法对匹配速度的提高很有限,通常可以提高20%-40%左右。
发明目的
随着计算机应用和网络应用的普及,数据处理量日益增大。尤其是在网络应用环境中,存在大量的实时数据处理的需求,例如:垃圾邮件的实时过滤,网络内容安全等。在这些应用中,系统因为用户使用习惯和数据处理量的不断增大,关键词数量也会不断的增大,规模常常达到上万级。这时,传统的匹配技术的速度会明显的急剧下降,已经不能很好的满足应用需求,尤其是实时数据处理的需求。
发明内容
为了满足大规模的快速关键词匹配的需求,本发明提供了一种针对大规模的关键词匹配方法,包括步骤:定义关键词匹配时间的评价函数;对给定的关键词进行分组,并通过训练的方法得到每一组的最佳匹配算法;组成关键词匹配的一组算法,然后进行最终的扫描。
为了实现以上目的,本发明还提供了一种大规模关键词匹配的系统(图1),包括:用于规范化给定关键词的装置;用于寻找最优分组和最佳匹配方法的装置,提供两种机制:一是动态规划机制(图2、3),二是最短路径机制(图4、5),此装置将结果以配置文件的形式存储的装置;用于读取最佳结果,并对每个分组创建扫描自动机的装置;用于最终扫描,并将结果存储在指定内存结构或者文件中的装置。
本发明尤其涉及基于内容的文本过滤和网络内容安全。
在大规模关键词匹配方法中,最核心的是怎样求解一个最优的分组,最短路径方法是其中的一种方法,另外一种是动态规划的方法。
本发明解决了针对过滤中关键词大规模(通常关键词数量在5000以上)关键词快速匹配的问题,特别适用于实时网络数据的处理。实验证明,使用本发明给出的系统,平均可以使关键词匹配的速度提高1倍。
一种大规模关键词匹配的方法,包括步骤:
对关键词集合进行规范化;
对关键词集合进行最优分组和寻找最佳匹配方法;
建立一组扫描自动机;
扫描,并返回结果。
附图说明
图1是本发明的大规模关键词匹配的系统示意图。
图2是本发明的动态规划机制求解最优分组的示意图。
图3是本发明的动态规划机制求解最优分组方法的实现流程图。
图4是本发明的最短路径机制求解最优分组的示意图。
图5是本发明的最短路径机制求解最优分组方法的实现流程图。
具体实施方式
如图1所示,本发明的系统包括:
装置(1):规范化关键词装置,作用是:对给定的大量关键词,按照长度进行个数的统计,然后按照长度排序;
装置(2):求解最优分组和最佳匹配方法的装置,作用是:可以使用两种机制求解最优分组:一是采用动态规划机制得到最优分组,然后通过训练的方法得到每组的最佳匹配方法;另一种是使用最短路径机制直接得到分组和每一组的最佳匹配方法;此装置最终以配置文件的方式将分组和最佳匹配方法的结果存储在文件中;
装置(3):建立扫描自动机的装置,作用是:读取配置文件,采用训练后的结果,依次为每一个分组的关键词建立扫描自动机;
装置(4)扫描装置,作用是:使用装置(3)中建立的一组扫描自动机,对输入的文本进行扫描匹配,将结果存储在指定的内存结构或者外部文件中。
各装置的详细操作将在下面分别详细描述。
1.规范化装置
规范化装置是将给定的一组关键词,首先按照长度排序,可以从小到大或者从大到小,然后统计相同长度的关键词个数。
定义一组关键词K={K1,K2,K3,...,Kn},对应的长度L={l1,l2,l3,...,ln}。规范化的过程首先将K排序成为:K’={K1’,K2’,K3’,...,Kn’},使得对应长度L’={l1’,l2’,l3’,...,ln’}满足:l1’<=l2’<=l3’<=...<=ln’(或者是>=)。然后对L’进行统计,计算相同长度的个数,得到统计值序列LN:n1,n2,n3,...,nm。其中,m是关键词的最大长度;ni,l<=i<=m表示长度为i的关键词的个数。
2.求解最优分组和最佳匹配方法的装置
此装置的目的是对规范化后的关键词集合求解一个最优的分组,并且在每个分组上使用最适合的一种匹配方法,从而使整个集合的匹配速度达到最快。为了达到这个目的,此装置可以通过两种机制实现:一是动态规划机制;一是最短路径机制。下面分别进行描述。
2.1动态规划机制
使用动态规划机制分成四个步骤:定义评价函数步骤、分组步骤、训练步骤和存储配置信息步骤。在定义评价函数步骤中,给定一个函数,它是与关键词个数和长度相关的,在分组步骤中使用;在分组步骤中,使用动态规划的方法,利用规范化模块中计算的统计信息,求解一个对给定关键词集合的最优分组方案;训练步骤中,对每一个分组中的关键词,寻找最适合的匹配方法;在存储配置信息步骤中,将分组位置信息和分组内的最佳匹配方法信息记录在磁盘文件中,供最终的扫描自动机读取使用。
(1)、定义评价函数步骤(图3中step1)
根据对传统的关键词匹配算法的分析,我们认为关键词匹配时间在字符集一定的情况下,和关键词的数量成正比,和关键词的最小长度成反比,即:关键词数量越大,匹配的时间就越长;关键词的最小长度越大,匹配的时间就越短。更进一步,如果用F(K)表示文本通过关键词集合K的时间,用G(|K|)表示与关键词集合K的个数的影响关系,用Lmin(K)表示与关键词最小长度的影响关系,我们可以将它们的关系表述成:
F ( K ) = G ( | K | ) × L min ( K ) = | K | min ( K ) (公式1)
即:匹配的时间与关键词个数的开根成正比,与最小长度(ming(K))成反比。
(2)、分组步骤(图3中step2)
第一种分组方法步骤如下:
下面我们描述怎样使用动态规划的方法求解一个最优分组。
动态规划的基本思想是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。它通常可以按照一下几个步骤进行:
a、找出最优解的性质,并刻画其结果特征;
b、递归的定义最优值;
c、以自底向上的方式计算出最优值;
d、根据计算最优值时得到的信息,构造一个最优解。
我们的问题是:找到一种对集合K的分组,使F(K)值最小。最优解的性质见公式1的表述。为了求最优解,实质上,我们是要找一个使F(K)最小的分组。
记对一个有序集合K的分组为F[1:n],如果第一个分组的位置在k处将集合分开,则有F[1:n]=F[1:k]+F[k+1:n],对F[k+1:n]可以依次类推。对于分组求解的递归式为:
F [ k : n ] = min G ( p ) k + F [ k + p : n ] , 1 ≤ p ≤ n - k G ( n - k + 1 ) k , 1 ≤ k ≤ n
计算过程:从F[n:n]开始计算,F[n-1:n],F[n-2:n],...,一直到F[1:n]为止。计算中,使用表来存储中间的计算结果F[k:n],利于后面计算的查找,这也是动态规划算法的核心思想。同时,要使用数组position存储F[k:n]取值处的位置信息。
回溯过程:当F[1:n]的值得到时,计算过程结束,然后由position的值开始进行回溯得到最终解。首先取position[1]的值,它表示对于F[1:n]的分组位置,然后取position[position[1]],它表示下一个位置,直到position[n]为止,这样得到的位置序列就是一个最优的分组位置。
使用动态规划方法对长度为n的序列进行分组,它的时间复杂度为O(n2),空间复杂度为O(n)。
(3)、训练步骤(图3中step3)
第二种分组方法如下:
使用最短路径的方法求解最优分组。对于集合K,可以对它构造一个有向图。节点、有向边、有向图、边的权重定义如下:
点:将规范化后的关键词集合中,相同长度的关键词形成一个分组,作为图的一个点,记为:Ni,i表示此点的关键词长度;
有向边:从点Ni到Nj之间的有向边表示:将长度为i到长度为j-1的所有关键词组成一组,记为:Bij;
有向图:对于给定的一组关键词和一个训练文本,如果关键词的最小长度为p,最大长度为q,p<=q,则它对应的一个有向图为由点集合{Np,Np+1,...,Nq,Nq+1}和有向边集合{Bij},p<=i<=q,p<j<=q+1,组成的一个有向图;
边上的权重:上述有向图中,Bij上的权重表示:由长度为[i,j]的关键词组成的扫描自动机通过训练文本的时间,记为:Tij;
由上面的定义,可以方便的构造一个集合K上的有向图,利用求解有向图上的最短路径方法,可以计算得到分组的位置。
分组完成之后,对于每个分组的关键词使用哪种合适的匹配方法,本发明采用通过训练的方法得到。在前面技术背景中我们对成熟的关键词匹配技术进行了说明,我们可以选择其中几种来进行训练。在本发明的系统中,我们选用了BOM、WuManber、AC三种方法。训练文本的使用根据不通字符集大小生成的随机数据文件。
对分组后的每一组:依次使用训练选用匹配方法A1,A2,..,Ap中每一种,对训练文本进行扫描匹配,记录扫描完成所需要的时间Ti,1<=i<=p。最终计算{T1,T2,..,Tp}中的最小值Tj,则对此分组,使用第j种匹配方法。依次训练所有的分组,并记录每个分组的最佳匹配方法。
(4)、存储配置信息步骤(图3中step4)
训练完成后,将分组结果和训练结果按照指定的格式写入系统的配置文件中,以便后面的建立扫描自动机装置读取使用。本发明的系统中,采用的是整数序列的方式写入配置文件,第一行表示分组结果,第二行表示匹配方法的训练结果。整数中间使用tab键分隔开。
例如:
3   14 40
1   3  2
第一行表示最终分成3组,长度<=3的为一组,长度为4-14的为一组,长度为15-40的为一组;
第二行表示第一组关键词匹配使用方法1,第二组使用方法3,第三组使用方法2。具体方法1、2、3代表哪种方法,系统内部自己约定。
使用动态规划机制的示意图见附图2。图中,没有给出上述步骤1的示例。最顶端给出以长度表示的一组关键词,用虚线表示对它们使用动态规划求出的分组情况,这对应了上述的分组步骤;下面,对于每一个分组中的关键词,使用一个训练文本,在3个候选的扫描匹配自动机中,训练得到一个最佳的自动机,这对应了上述的训练步骤;最后,将分组的信息、每一个分组使用的最佳扫描自动机信息存储在外部存储设备中,这对应了上述的存储配置信息步骤。相应的实现流程见附图3。
2.2最短路径机制
最短路径机制来源于求解一个图的最短路径技术。针对大规模关键词匹配的问题,我们做如下的定义:
定义1:将规范化后的关键词集合中,相同长度的关键词形成一个组,作为图的一个点,记为:Ni,i表示此点的关键词长度。
定义2:从点Ni到Nj之间的有向边表示:将长度为i到长度为j-1的所有关键词组成一组,记为:Bij
定义3:Bij上的权重表示:由长度为[i,j)的关键词组成的扫描自动机对训练文本扫描一遍的时间,记为:Tij
定义4:对于给定的一组关键词和一个训练文本,如果关键词的最小长度为p,最大长度为q,p<=q,则它对应的一个有向图为由点集合{Np,Np+1,...,Nq,Nq+1}和有向边集合{Bij},p<=i<=q,p<j<=q+1,组成的一个有向图。
根据如上的定义,我们对给定的关键词集合建立了有向图,然后可以根据给定的训练文本求出每条边的权重,最后求出图的最短路径,即最优的分组。有向图上求解一个最短路径机制分为以下几步:
(1)、将规范化的关键词集合表示成如上所定义的有向图;(图5中的step1)
(2)、计算每条边上的权重。在计算的过程中,对每一边使用设定的多种匹配方法计算,最终取最小值(扫描时间最短)最为这条边的权重,并记录此边使用的匹配方法;(图5中的step2)
(3)、求出有向图的最短路径,得到最优分组,同时可以得到每一组对应的最佳匹配方法;(图5中的step3)
(4)、将最终的结果存储在系统的配置文件中。配置文件格式同4.2.1中存储配置信息步骤中所述。(图5中的step4)
附图4所示的是一个对给定关键词集合求解最优分组的示意图。图中假设关键词长度为2-7,则根据定义1,有向图有标号为2-8的7个节点,根据定义2每个节点有指向标号大于本身的有向边,根据定义3可以计算出每条边上的权重(图中没有具体标出),然后可以对此图求解它的最短路径。如果最短路径为2-6-8,则分组情况为:长度为2-5的为一组,长度为6-7的为一组。
使用最短路径机制,设关键词长度的个数为n,即有向图中节点的个数n,则单纯计算有向图的最短路径的时间复杂度是O(n2)。如果考虑在计算边的权重过程中带有多个匹配方法的训练过程,设选取的匹配方法有m种,则最短路径机制的时间复杂度为O(n2*m)。作为系统的初始化阶段,这是可以接受的。
3.建立扫描自动机装置
读取配置信息建立扫描自动机的装置:根据系统的配置信息,读取分组的位置(长度分隔位置),然后将相应长度的关键词组成一组,并根据配置信息中记录的本组内最佳的扫描匹配自动机来构造自动机,最终,对原始的关键词集合构造成一个由多个自动机组成的自动机序列。
建立扫描自动机装置读取系统的配置,首先根据分组的情况,对原始的关键词集合进行分组,对每一个组,使用相同的数据结构,存储组内的关键词、关键词的长度、关键词原索引号等信息;然后再根据训练的情况,分别建立不同匹配方法的扫描自动机。系统存储每个扫描自动机的入口地址,以便后面的扫描装置直接使用。
关于怎样建立扫描自动机,不属于本发明的范围,此处不详细叙述。
4.扫描装置
扫描装置读取外界输入的文本数据,这个数据可能是本地磁盘上存储的文件,也可以是网络上传输过来的各种数据。文本数据依次通过系统的各个扫描自动机,当有匹配成功的关键词出现时,系统将记录他们的索引号、出现位置等信息,可以在内存的相应机结构中统计这些信息,供外部的其它应用系统使用,也可以直接将他们存储在磁盘文件中。
5.积极效果
采用以上的处理,我们可以提高大规模关键词匹配的速度。使用动态规划的方法对关键词进行分组,可以保证在系统设定的匹配速度评价函数下,这种分组是理论最优的;对于每个分组,因为组内关键词个数不同,最小长度也不相同,所以系统采用训练的方法找到最佳的匹配方法。使用最短路径机制,将寻找最优分组和最佳匹配方法结合起来,可以在实际系统运行中,保证分组实际运行速度最快。计算最优分组和寻找最佳匹配的过程时间复杂度稍差,但是因为它们都在系统的初始化部分做,所以不影响最终的扫描匹配速度。
分别使用两种不同的分组机制,我们可以保证在给定关键词集合和给定的训练文本下,得到一种扫描速度最快的分组。通过建立一个扫描自动机的序列,我们解决了大规模关键词匹配速度下降严重的问题。试验证明:同样条件下,使用本发明的方法和系统,与传统的成熟的多关键词匹配方法(AC、WuManber、SBOM)相比,匹配速度是最快的单个匹配方法的2倍,是最慢的单个匹配方法的4倍。

Claims (12)

1.一种大规模关键词匹配的方法,包括步骤:
对关键词集合进行规范化;
对关键词集合进行最优分组和寻找最佳匹配方法;
建立一组扫描自动机;
扫描,并返回结果。
2.根据权利要求1的大规模关键词匹配的方法,其特征在于,规范化步骤如下:
定义评价函数步骤;
分组步骤;
训练步骤;
存储配置信息步骤。
3.根据权利要求2的大规模关键词匹配的方法,其特征在于,定义评价函数步骤如下:
根据对传统的关键词匹配算法的分析,关键词匹配时间在字符集一定的情况下,和关键词的数量成正比,和关键词的最小长度成反比,如果用F(K)表示文本通过关键词集合K的时间,用G(|K|)表示与关键词集合K的个数的影响关系,用Lmin(K)表示与关键词最小长度的影响关系,我们可以将它们的关系表述成:
F ( K ) = G ( | K | ) × L min ( K ) = | K | min ( K ) (公式1)
即:匹配的时间与关键词个数的开根成正比,与最小长度(ming(K))成反比。
4.根据权利要求1或2的大规模关键词匹配的方法,其特征在于,分组步骤,第一种分组方法步骤如下::
使用动态规划的方法求解一个最优分组,先求解子问题,然后从这些子问题的解得到原问题的解,通常可以按照一下几个步骤进行:
a、找出最优解的性质,并刻画其结果特征;
b、递归的定义最优值;
c、以自底向上的方式计算出最优值;
d、根据计算最优值时得到的信息,构造一个最优解;
找到一种对集合K的分组,使F(K)值最小,最优解的性质见公式1的表述,为了求最优解,实质上,我们是要找一个使F(K)最小的分组,
记对一个有序集合K的分组为F[1:n],如果第一个分组的位置在k处将集合分开,则有F[1:n]=F[1:k]+F[k+1:n],对F[k+1:n]可以依次类推,对于分组求解的递归式为:
F [ k : n ] = min G ( p ) k + F [ k + p : n ] , 1 ≤ p ≤ n - k G ( n - k + 1 ) k , 1 ≤ k ≤ n
计算过程:从F[n:n]开始计算,F[n-1:n],F[n-2:n],...,一直到F[1:n]为止,计算中,使用表来存储中间的计算结果F[k:n],利于后面计算的查找,同时,要使用数组position存储F[k:n]取值处的位置信息,
回溯过程:当F[1:n]的值得到时,计算过程结束,然后由position的值开始进行回溯得到最终解。
5.根据权利要求1或2的大规模关键词匹配的方法,其特征在于,分组步骤,第二种分组方法如下:
使用最短路径的方法求解最优分组,对于集合K,可以对它构造一个有向图,节点、有向边、有向图、边的权重定义如下:
点:将规范化后的关键词集合中,相同长度的关键词形成一个分组,作为图的一个点,记为:Ni,i表示此点的关键词长度;
有向边:从点Ni到Nj之间的有向边表示:将长度为i到长度为j-1的所有关键词组成一组,记为:Bij;
有向图:对于给定的一组关键词和一个训练文本,如果关键词的最小长度为p,最大长度为q,p<=q,则它对应的一个有向图为由点集合{Np,Np+1,...,Nq,Nq+1}和有向边集合{Bij},p<=i<=q,p<j<=q+1,组成的一个有向图;
边上的权重:上述有向图中,Bij上的权重表示:由长度为[i,j]的关键词组成的扫描自动机通过训练文本的时间,记为:Tij;
由上面的定义,可以方便的构造一个集合K上的有向图,利用求解有向图上的最短路径方法,可以计算得到分组的位置。
6.根据权利要求2的大规模关键词匹配的方法,其特征在于,训练步骤如下:
分组完成之后,对于每个分组的关键词使用的匹配方法采用通过训练的方法得到,选用了BOM、WuManber、AC三种方法,训练文本的使用根据不通字符集大小生成的随机数据文件,
对分组后的每一组:依次使用训练选用匹配方法A1,A2,..,Ap中每一种,对训练文本进行扫描匹配,记录扫描完成所需要的时间Ti,1<=i<=p,最终计算{T1,T2,..,Tp}中的最小值Tj,则对此分组,使用第j种匹配方法,依次训练所有的分组,并记录每个分组的最佳匹配方法。
7.根据权利要求2的大规模关键词匹配的方法,其特征在于,存储配置信息步骤:
训练完成后,将分组结果和训练结果按照指定的格式写入系统的配置文件中,以便后面的建立扫描自动机装置读取使用,采用的是整数序列的方式写入配置文件,第一行表示分组结果,第二行表示匹配方法的训练结果,整数中间使用tab键分隔开。
8.一种大规模关键词匹配的系统,包括:
规范化关键词装置,用于对给定的大量关键词,按照长度进行个数的统计,然后按照长度排序;
求解最优分组和最佳匹配方法的装置,用于使用两种机制求解最优分组:一是采用动态规划机制得到最优分组,然后通过训练的方法得到每组的最佳匹配方法;另一种是使用最短路径机制直接得到分组和每一组的最佳匹配方法;此装置最终以配置文件的方式将分组和最佳匹配方法的结果存储在文件中;
建立扫描自动机的装置,用于读取配置文件,采用训练后的结果,依次为每一个分组的关键词建立扫描自动机;
扫描装置,用于使用建立扫描自动机的装置中建立的一组扫描自动机,对输入的文本进行扫描匹配,将结果存储在指定的内存结构或者外部文件中。
9.根据权利要求8的大规模关键词匹配系统,其特征在于,规范化装置是将给定的一组关键词,首先按照长度排序,可以从小到大或者从大到小,然后统计相同长度的关键词个数,
定义一组关键词K={K1,K2,K3,...,Kn},对应的长度L={l1,l2,l3,...,ln},规范化的过程首先将K排序成为:K’={K1’,K2’,K3’,...,Kn’},使得对应长度L’={l1’,l2’,l3’,...,ln’}满足:l1’<=l2’<=l3’<=...<=ln’(或者是>=),然后对L’进行统计,计算相同长度的个数,得到统计值序列LN:n1,n2,n3,...,nm.,其中,m是关键词的最大长度;ni,l<=i<=m表示长度为i的关键词的个数。
10.根据权利要求8的大规模关键词匹配系统,其特征在于,求解最优分组和最佳匹配方法的装置,对规范化后的关键词集合求解一个最优的分组,并且在每个分组上使用最适合的一种匹配方法,通过两种机制实现:一是动态规划机制;一是最短路径机制。
11.根据权利要求8的大规模关键词匹配系统,其特征在于,读取配置信息建立扫描自动机的装置:根据系统的配置信息,读取分组的位置,然后将相应长度的关键词组成一组,并根据配置信息中记录的本组内最佳的扫描匹配自动机来构造自动机,最终,对原始的关键词集合构造成一个由多个自动机组成的自动机序列。
12.根据权利要求8的大规模关键词匹配系统,其特征在于,扫描装置读取外界输入的文本数据,数据可能是本地磁盘上存储的文件,也可以是网络上传输过来的各种数据,文本数据依次通过系统的各个扫描自动机,当有匹配成功的关键词出现时,系统将记录他们的索引号、出现位置信息,可以在内存的相应机结构中统计这些信息,供外部的应用系统使用,也可以直接将他们存储在磁盘文件中。
CNB2005100070895A 2005-02-03 2005-02-03 大规模关键词匹配的方法和系统 Active CN100354863C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100070895A CN100354863C (zh) 2005-02-03 2005-02-03 大规模关键词匹配的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100070895A CN100354863C (zh) 2005-02-03 2005-02-03 大规模关键词匹配的方法和系统

Publications (2)

Publication Number Publication Date
CN1648901A true CN1648901A (zh) 2005-08-03
CN100354863C CN100354863C (zh) 2007-12-12

Family

ID=34875256

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100070895A Active CN100354863C (zh) 2005-02-03 2005-02-03 大规模关键词匹配的方法和系统

Country Status (1)

Country Link
CN (1) CN100354863C (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100495402C (zh) * 2006-12-31 2009-06-03 中国科学院计算技术研究所 一种构造用于处理大规模词典的完美哈希函数的方法
CN100530194C (zh) * 2007-10-11 2009-08-19 中国科学院计算技术研究所 一种关键词匹配方法和系统
CN102622358A (zh) * 2011-01-27 2012-08-01 天脉聚源(北京)传媒科技有限公司 一种搜索信息的方法和系统
CN103294714A (zh) * 2012-02-28 2013-09-11 阿里巴巴集团控股有限公司 索引字段的字段属性值的存储位置的确定方法以及装置
CN103593800A (zh) * 2013-10-27 2014-02-19 西安电子科技大学 基于派系随机游走的社区发现方法
US8849798B2 (en) 2009-01-22 2014-09-30 Alibaba Group Holding Limited Sampling analysis of search queries
CN105975548A (zh) * 2007-03-29 2016-09-28 亚马逊技术股份有限公司 用户设备上多个内容源的搜索
CN108197470A (zh) * 2008-10-20 2018-06-22 王英 快速特征码扫描
CN110401451A (zh) * 2019-06-12 2019-11-01 中国科学院信息工程研究所 基于字符集变换的自动机空间压缩方法及系统
US10853560B2 (en) 2005-01-19 2020-12-01 Amazon Technologies, Inc. Providing annotations of a digital work
CN113704805A (zh) * 2021-10-27 2021-11-26 华控清交信息科技(北京)有限公司 一种风控规则匹配方法、装置及电子设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000020550A (ja) * 1998-06-30 2000-01-21 Brother Ind Ltd 音声データグループ同定装置および記憶媒体
JP2001060199A (ja) * 1999-08-20 2001-03-06 Toshiba Corp 文書分類装置、文書分類方法および文書分類プログラムを格納したコンピュータ読取り可能な記録媒体
CN1270258C (zh) * 2002-12-20 2006-08-16 中国科学院计算技术研究所 快速内容分析的多关键词匹配方法
CN1510592B (zh) * 2002-12-26 2010-04-28 中国科学院计算技术研究所 快速网络流特征检测的关键词匹配方法说明书
KR100673539B1 (ko) * 2003-10-31 2007-01-24 (주)넷피아닷컴 검색 시스템 및 그 방법

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10853560B2 (en) 2005-01-19 2020-12-01 Amazon Technologies, Inc. Providing annotations of a digital work
CN100495402C (zh) * 2006-12-31 2009-06-03 中国科学院计算技术研究所 一种构造用于处理大规模词典的完美哈希函数的方法
CN105975548A (zh) * 2007-03-29 2016-09-28 亚马逊技术股份有限公司 用户设备上多个内容源的搜索
CN100530194C (zh) * 2007-10-11 2009-08-19 中国科学院计算技术研究所 一种关键词匹配方法和系统
CN108197470A (zh) * 2008-10-20 2018-06-22 王英 快速特征码扫描
US8849798B2 (en) 2009-01-22 2014-09-30 Alibaba Group Holding Limited Sampling analysis of search queries
CN102622358A (zh) * 2011-01-27 2012-08-01 天脉聚源(北京)传媒科技有限公司 一种搜索信息的方法和系统
CN103294714A (zh) * 2012-02-28 2013-09-11 阿里巴巴集团控股有限公司 索引字段的字段属性值的存储位置的确定方法以及装置
CN103294714B (zh) * 2012-02-28 2016-04-27 阿里巴巴集团控股有限公司 索引字段的字段属性值的存储位置的确定方法以及装置
CN103593800B (zh) * 2013-10-27 2016-08-17 西安电子科技大学 基于派系随机游走的社区发现方法
CN103593800A (zh) * 2013-10-27 2014-02-19 西安电子科技大学 基于派系随机游走的社区发现方法
CN110401451A (zh) * 2019-06-12 2019-11-01 中国科学院信息工程研究所 基于字符集变换的自动机空间压缩方法及系统
CN113704805A (zh) * 2021-10-27 2021-11-26 华控清交信息科技(北京)有限公司 一种风控规则匹配方法、装置及电子设备

Also Published As

Publication number Publication date
CN100354863C (zh) 2007-12-12

Similar Documents

Publication Publication Date Title
CN1648901A (zh) 大规模关键词匹配的方法和系统
Wang et al. A cascade ranking model for efficient ranked retrieval
CN1781094A (zh) 用于存储和访问互锁树数据仓库中的数据的系统和方法
US10025773B2 (en) System and method for natural language processing using synthetic text
CN1728114A (zh) 使用页信息的页替换方法
CN1755682A (zh) 使用点击距离对搜索结果分级的系统和方法
Chikhi et al. On the representation of de Bruijn graphs
CN1716256A (zh) 自动分类法的生成
CN1295705A (zh) 基于语言模型的信息检索和语音识别
CN1825308A (zh) 网络搜寻系统及方法
CN1904886A (zh) 在多个文档之间建立链接结构的方法和装置
CN1949211A (zh) 一种新的汉语口语解析方法及装置
CN1858737A (zh) 一种数据搜索的方法和系统
CN103365992A (zh) 一种基于一维线性空间实现Trie树的词典检索方法
WO2008106670A1 (en) Efficient retrieval algorithm by query term discrimination
CN101079072A (zh) 一种文本聚类元学习方法及装置
Sun et al. Find the best path: An efficient and accurate classifier for image hierarchies
CN1794239A (zh) 具有搜索功能的模板式网站自动生成系统及其方法
CN1851706A (zh) 基于本体学习的智能主题式网络爬虫系统构建方法
CN101075239A (zh) 一种复合搜索方法和系统
CN1492361A (zh) 嵌入式数据库查询的处理方法
CN106681981A (zh) 中文词性的标注方法和装置
CN106407184B (zh) 用于统计机器翻译的解码方法、统计机器翻译方法及装置
CN100530194C (zh) 一种关键词匹配方法和系统
CN1959671A (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