CN1317114A - 一种用于数据检索的搜索系统和方法及其在搜索引擎中的应用 - Google Patents

一种用于数据检索的搜索系统和方法及其在搜索引擎中的应用 Download PDF

Info

Publication number
CN1317114A
CN1317114A CN99810507A CN99810507A CN1317114A CN 1317114 A CN1317114 A CN 1317114A CN 99810507 A CN99810507 A CN 99810507A CN 99810507 A CN99810507 A CN 99810507A CN 1317114 A CN1317114 A CN 1317114A
Authority
CN
China
Prior art keywords
word
sequence
text
search
suffix
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
Application number
CN99810507A
Other languages
English (en)
Inventor
K·M·里斯维克
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.)
Altaba Inc
Original Assignee
Fast Search and Transfer AS
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 Fast Search and Transfer AS filed Critical Fast Search and Transfer AS
Publication of CN1317114A publication Critical patent/CN1317114A/zh
Pending legal-status Critical Current

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/3331Query processing
    • G06F16/334Query execution
    • G06F16/3346Query execution using probabilistic model
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99935Query augmenting and refining, e.g. inexact access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern matching access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99937Sorting

Abstract

一种用于信息检索的搜索系统包含一个用于存储正文T中的数据结构,一个包含分别关于正文T字和/或符号及其序列和序列P中的字和/或符号之间的匹配的近似程度的编辑距离尺度的组合尺度M,对将序列S的字或符号转换成序列P的编辑操作的成本函数进行加权;和用于分别确定分别在正文T和查询Q的后缀树表示中的字或字序列之间的匹配程度的搜索算法。该算法以查询Q搜索该数据结构,以与该查询的具体匹配检索信息。该搜索系统的一种用于信息检索的方法生成字间隔稀疏后缀树用于存储正文T中的字的后缀作为字序列信息,以及一个用于字序列S和P的与字的大小有关的编辑距离尺度,并且包括编辑距离的字加权成本函数,以及通过计算关于所有匹配的编辑距离确定字序列SR或被检索的信息R与一个查询Q的字序列PQ之间的匹配程度。还公开了该搜索算法在近似搜索引擎中的应用。

Description

一种用于数据检索的搜索系统和方法 及其在搜索引擎中的应用
本发明涉及一种用于信息(特别是以正文T的形式存储的信息)检索的搜索系统,其中,信息检索以查询Q与被检索信息R之间的给定或不同程度的匹配而发生,其中搜索系统包含一个用于存储正文(T)的数据结构,一个测量查询Q与被检索信息R之间匹配程度的尺度M和一个用于执行搜索-特别是根据关键字的全文搜索的搜索算法;本发明还涉及该信息(特别是以正文T的形式存储的信息)检索的搜索系统中的一种方法,其中将正文T划分成单词和单词序列,单词是符号的序列,其中每个单词被构造为一个或多个后缀,后缀是构成序列的单词中的符号的子集;本发明还涉及该搜索系统的使用。
人类知识的各个领域中的巨量信息被收集和存储在计算机存储系统中。随着计算机存储系统越来越多地连接到公共的数据通信网络,人们越来越努力地开发搜索和检索信息的系统和方法供公众或个人使用。然而,目前的数据搜索方法还有局限,这些局限严重降低了有效检索和使用以这种方式存储的信息的可能性。
信息能以不同数据类型的形式存储,在信息搜索和检索的意义上,区别动态数据和静态数据是有用的。动态数据是经常不断改变的数据,因此有效数据的集合总是在变化;而静态数据则不大改变,或者根本不变。例如,诸如股票值的经济数据或气象数据的变化很快,所以是动态的。另一方面,档案式存储的书籍和文献一般是永久性的,所以是静态的。数据易失性的概念涉及信息在多长时间里有效。数据易失性对应当如何搜索和检索信息有一定影响。大量的数据要求有便于搜索的某种结构,但是建立这种结构的时间成本决不能高于数据有效的时间。建立一个结构的成本取决于数据量,因此为检索信息而建立数据结构时应当考虑数据量和易失性两个方面。所收集的信息被存储在数据库中,这些数据库可能是结构化的,也可能是非结构化的。此外,数据库可能含有数种类型的文件,包括含有图象、影像、声音和格式化或带注释正文的复合文件。特别结构化的数据库通常具有便于搜索和检索数据的索引。万维网(WWW)的成长提供了稳定增长的复合文件和超链接文件的收集。这些文件许多都没有收集在结构化数据库中,没有便于快速搜索的索引。然而,对搜索万维网中的文件的需求是显而易见的,由于已经开发了许多所谓的搜索引擎,至少能搜索万维网中信息的一部分。
搜索引擎一般被理解为用于搜索和检索信息的一个或多个工具。除了适当的搜索系统,搜索引擎也含有一个例如包含来自大量统一资源定位器(URL)的正文的索引。这种搜索引擎的例子是Alta Vista、Inktomy技术公司的Hotbot、Infoseek、Excite和Yahoo。所有这些搜索引擎都提供在万维网中进行信息的搜索和检索的便利条件。然而,它们的速度和效率确实与万维网上提供的海量信息不般配,所以这些搜索引擎的搜索和检索效率有很大的改进空间。
搜索大量的正文文件一般能用几个查询类型(query type)完成。最普通的查询类型是对比(matching)和对比的变异(variants)。搜索系统通过指定必须在被查询信息中出现的一个关键字或关键字集合,检索满足这个要求的所有文件。基本搜索方法根据的是所谓的单关键字对比。检索关键字p,将含有该字的所有文件检索出来。也可能搜索关键字前缀p,将文件中任何关键字中出现这个前缀的所有文件检索出来。与关键字搜索不同的是,有时搜索根据的是所谓的精确短语对比,其中,搜索使用特定顺序的几个单关键字。正如本领域的熟练人员熟知的那样,在许多搜索系统中,关键字短语的精确对比可以用布尔运算符来执行,例如根据诸如AND、OR、NOT,它们能筛选信息,即,如果使用AND短语,则返回所有含有由AND运算符连接的两个关键字的所有文件。也用过NEAR运算符,以返回只有在文件正文中有关键字匹配并且位置互相“接近”的文件。在许多结构化数据库中,数据库中含有的文件已被注释过,即具有解释文件中某些部分或某些类型的信息的字段。这就允许只在文件的局部搜索匹配,在事先知道所查询信息的类型时是有用的。
当在正文文件中搜索时,数据是结构化的,很可能是以某种自然语言(如英语、挪威语等)的形式出现的。当检索带有一定上下文的文件时,有可能用近似尺度(proximity metrics)来比较与该查询近似匹配的关键字或短语。允许关键字和短语中有差错是近似搜索(proximity)的常用方法,使用近义词是另一种常用方法。近似搜索只要求被检索信息与查询之间有部分匹配。国际公开的申请WO96/00945,名称为“可变长数据序列匹配方法和设备”(Doringer等人),已转让给IBM公司,该申请披露了一种具有像特里树的(trie-like)结构的数据库的建立、维护和使用,该数据库用于存储表目和从表目中检索至少部分的匹配,最好是搜索参数(输入键)的最长或所有部分匹配。
本发明的主要目的是提供一种搜索系统和方法,用于在大量的数据中快速有效地搜索和检索信息。本发明的目的特别是为了提供一种适合用搜索引擎搜索带有分布式大容量数据存储的信息系统(例如因特网)的搜索系统。应当明白,按照本发明的搜索系统决不限于搜索和检索以字母数字符号的形式存储的信息,而是能同样很好地应用于搜索和检索以数字化的图形和图象符号的形式存储的信息,因为这里所使用的字正文也可以被解释为图象-当这些图象全部或部分地被表示为符号的集合时。也应当明白,按照本发明的搜索系统能以用商家提供的计算机系统上的合适的高级语言编写的软件的形式实现,但是它也能以用于搜索和检索上述种类的信息的专用处理器设备的形式实现。
按照本发明,上述目的和优点是用一种搜索系统实现的,该搜索系统的特征在于,数据结构包含以后缀树ST(T)为形式的树结构,用于存储正文T中的字的后缀、字序列和符号序列;尺度M包含关于正文T中的字或符号与查询Q之间匹配的近似度的编辑距离尺度与关于正文T中的字或符号的序列S与查询序列P之间匹配的近似度的编辑距离尺度的组合,后一个编辑距离尺度包括关于将一种字或符号的序列S转换成另一种字或符号的序列P的加权成本函数;搜索算法包含用于确定正文T与查询Q各自的后缀树表示中的字之间的匹配程度的第一算法,和/或用于确定正文T与查询Q各自的后缀树表示中的字的序列之间的匹配程度的第二算法,所述第一和/或第二算法用以字、字的序列或符号的序列或者它们的组合为形式的查询Q搜索数据结构,使得信息R被根据查询Q而检索出来,前者与后者之间具有规定的匹配程度。
在按照本发明的搜索系统的一个有益的实施例中,后缀树ST(T)是一个只包含正文T中后缀的一个子集的字间隔稀疏后缀树SSTWS(T)。
按照本发明,上述目的和优点也是用一种方法实现的,该方法的特征在于,生成正文T的字间隔稀疏后缀树SSTWS(T),以代表正文T中所有从一个字分隔符起始的后缀;在字间隔稀疏后缀树SSTWS(T)中存储正文T中的字的序列信息;为字序列S、P生成一个编辑距离尺度D(S,P),作为将序列S转换成序列P的编辑操作的最小总成本,最小总成本是每个编辑操作的成本函数的总和;为字序列S、P生成一个与字大小有关的编辑距离尺度DWS(S,P),作为将序列S转换成序列P的最小总成本,该最小总成本是由代表编辑操作中所涉及的字大小的参数加权的每个编辑操作的成本函数的总和;通过计算所有匹配的编辑距离D(SR,PQ)而分别地确定所检索信息R的字序列SR、PQ与查询Q之间的匹配。
按照本发明的方法最好还包含对把序列S变为另一个序列P的编辑操作以代表序列S、P的符号之间的近似性的参数进行加权,由此在确定有关编辑操作的成本时,将序列S、P之间的相似性考虑在内。
在按照本发明的方法中,最好通过计算查询字序列PQ中限定数量的字的编辑距离D(SR,PQ)来限制匹配的数目。
上述目的和优点也以按照本发明的搜索系统在近似搜索引擎中的使用而实现。
以下将参照各附图更详细地讨论按照本发明的搜索系统和方法,附图中:
图1表示一例后缀树;
图2是如本发明所使用的字间隔稀疏后缀树的例子;
图3是现有技术中已知的所谓的PATRICIA特里树的一个例子;
图4是如本发明所使用的字间隔稀疏后缀树的另一个例子;
图5是如本发明所使用的显式(explicitly)存储的字序列信息的一个例子;
图6是如本发明所使用的叶节点结构;
图7是按照本发明的搜索系统所用的搜索引擎的结构的示意图。
按照本发明的搜索系统主要由三个部分组成,即数据结构、近似性匹配的尺度和搜索算法。在目标是全文检索时-对于按照本发明的搜索系统来说主要将是这样,则将是可检索的整个数据集合将被存储在支持高查询效率的数据结构中。
首先将对构成本发明基础的基本概念作较详细的讨论。以正文T的形式存储的信息被划分成字和字序列。字是由字边界项分隔的整个正文的子串。把字边界项的集合记为BTword。字边界项的一个常用集合可能是{”,’:’,’\t’,’\n’,’\0’,’.’,’;’,’?’},其中\t表示制表符,\n表示换行符,\0表示文件结束标记。有些关于串和序列的定义就本发明的以下说明来说将是有用的。
定义1:串
串是从字母表中提取的诸如ASCII字符的符号的一个序列。于是串的长度就是组成串的符号或字符的实例的数目,记为|x|。如果x的长度是m,则也可以将串写成x1x2xi...xm,其中xi代表串中的第i个符号。
x的子串是由x内的一组相邻的符号给出的一个串。所以,可以通过从串的开始或结尾删除一个或多个字符而由x获得一个子串。
定义2:子串,后缀和前缀
x的子串是串x/=xixi+1…xj,1<=i<=j<=n。串xi=xi n=xi...xn是串x的一个后缀,串xj=x1 j=x1x2...xj是串x的一个前缀。
也用到字序列的概念。
定义3:字序列
字序列是一序列分离的、连续的字。字序列S=s1s2…sn由n个单词(或串)s1、s2、至sn组成。
字序列是用序列边界项分隔的。把序列边界项的集合记为BTseq。序列边界项的一个常用集合可能是{’\0’},其中\0表示文件结束标记。
现在可以将近似词匹配的概念描述如下。
给定串s=s1s2…sn和查询项q=q1q2…qm。任务是寻找g在s中与原始查询项q最多有k个误差(error)的q的所有出现(occurrences)。近似性尺度确定如何计算q与潜在的匹配si...sj之间的误差。
关于近似词匹配的常用尺度是莱文斯坦距离(Levensteindistance)或编辑距离(参看V.I.Levenstein的“Binary codescapable of correcting deletions,insertions,and reversals”(俄语版),Doklady Akademii nauk SSSR,卷163,第4号,页845-848,1965年;以及“Cybernetics and Control Theory”,卷10,第8号,页707-710,1966年)。这个尺度被定义为将一个串转换成另一个串所需的最小编辑操作数。一个编辑操作是由任何重写规则给出的,例如:
●(a→ε),删除
●(ε→a),插入
●(a→b),修改
假设p和m是两个大小分别为i和j的词。则D(i,j)代表p的第i个前缀与m的第j个前缀之间的编辑距离。编辑距离被递归地定义为:D(i,0)=D(0,i)=i
其中,如果pi=mj则δ(i,j)=0,否则δ(i,j)=1
也有可能定义一个字序列中的字的水平上的近似匹配,这可作如下描述。
给定一个由n个字w1,w2…wn组成的正文T,其中每个字是字符串。序列模式P由m个字p1,p2,…pm组成。如果对于使得1<=i<=j<=n的某对i,j,序列p1,p2,…,pm与序列wi,wi+1,…,wj的不同最多有k个误差,则说序列模式P在T中有一个近似的出现。还是用近似性尺度确定如何计算两个序列之间的误差。
要在搜索系统中被检索的正文必须以便于搜索数据的方式被标引。所以按照本发明,数据结构是本发明的搜索系统的核心数据结构,是在所谓的后缀树,特别是稀疏后缀树的基础上建立的。下文将定义这两种结构。后缀树S(T)是正文T中所有可能的后缀的树表示。将后缀树S(T)中所有一元节点(unary node)与其子节点并置时,产生一个紧致变体(compact variant)。
图1表示关于正文T=“structure”的后缀树。
本发明更特别地是在稀疏后缀树的基础上建立的。J.Kaerkkaeinen和E.Ukkonen在“Sparse Suffix Trees”(稀疏后缀树)中介绍了这些稀疏后缀树(第二届国际计算与组合数学年会(COCOON’6)论文集,Springer Verlag,219-230页),该文还是根据D.R.Morrison发表的“PATRICIA-Practical Algorithm toRetrieve Information Coded in Alphanumeric”(检索以字母数字编码的信息的实用算法)(ACM杂志第15期,514-534页,1968)的概念。稀疏后缀树的定义如下。
定义4:稀疏后缀树
正文T的稀疏后缀树SST(T)是一个只含有该正文的后缀树ST(T)中出现的后缀的一个子集的后缀树。
在用按照本发明的搜索系统搜索全部字时,最好通过只存储在字边界起始的后缀来建立一个非均匀间隔的(non-evenly spaced)稀疏后缀树。字间隔稀疏后缀树的概念的定义如下。
定义5:字间隔稀疏后缀树
正文T的字间隔稀疏后缀树SSTWS(T)是一个只含有该正文中在字分隔符起始的后缀的稀疏后缀树SST(T)。
图2表示字间隔稀疏后缀树的两个例子。为加强可读性,部分后缀被省略。图2中,关于T=“to be the best”的字间隔稀疏后缀树是左结构的,关于T=“to make the only major modification”的字间隔稀疏后缀树是右结构的。
在本发明的搜索系统中,将正文自然地划分成字,独立地存储在字间隔稀疏后缀树中。由于用于搜索的原子搜索词项字本身,最好每个后缀在字的结尾终止。这就把稀疏后缀树缩减为一个所谓的PATRICIA特里树(见所引用的Morrison的文章)。文献中将特里树定义为一个有根树,其特点是,除根节点外的每个节点都含有一个字母符号,同一节点任何两个子节点都不含相同的符号。应当注意到,单词trie(特里树)是从单词“retrieval”(检索)派生的,因此表明特里树是一种适合数据检索的树结构。PATRICIA特里树被定义成一个键字间隔稀疏后缀树(KWS树),其中在叶节点中存储的后缀由键字定界符限制。图3表示的一例PATRICIA特里树代表键字集合{“avoid”,”abuse”,”become”,”breathe”,”say”}。本发明的搜索系统所用的结构与PATRICIA特里树不同,因为该搜索系统显式地存储字的序列信息。要缩短后缀长度,就要求改变叶节点的表示法。用后缀串本身代替指向原始正文的指针。图4表示对如图2中所示的相同的两个串的这种后缀长度缩短。换言之,图4表示的是具有在字边界处切断的后缀的字间隔稀疏后缀树。图中,代表T=“to be the best”的字间隔稀疏后缀树显示在左边,关于T=“to make the only majormodification”的字间隔稀疏后缀树显示在右边。叶节点将含有出现该叶节点所代表的字的所有位置的列表。
本发明不是用原始正文中发现的信息的隐式序列(implicitsequence),而是显式地在字间隔稀疏后缀树中存储序列信息。这是用代表原始正文中相邻字的叶节点之间的指针完成的。因为至少能得到特定叶节点所代表的字的所有出现,所以必须向下一个相邻叶添加一个指针。
叶节点只含有它代表的字的后缀,在遍历出现列表(occurrencelist)中的序列指针时,只揭示每个相邻字的后缀。这是通过存储叶节点中的整个字而不是仅仅存储后缀来处理的,因此本发明的数据结构在这方面也不同于PATRICIA特里树。图5表示用于显式存储的字序列信息的数据结构,该结构具有一个出现列表,列表带有指向下一个相邻字和指向其出现的指针。
按照本发明的搜索系统用一个PATRICIA特里树来组织该出现列表(见所引用的Morrison的文章)。PATRICIA特里树使搜索系统能访问在时间0(|p2|)内符合串p2的所有相邻字的列表,其中|p2|当然是p2的长度。通过用PATRICIA特里树来组织出现的列表(list ofoccurrence),能获得一个用于存储来自正文的字并保存序列信息的完整定义的树结构。图6表示的典型的叶节点,既有一个代表所组织的出现列表的PATRICIA特里树,又有额外的未排序的出现的列表。作为本发明的搜索系统中所用的出现列表的存储要求的例子,一个有约742358个文件的数据库共有333856744个单词和一个有538244个不同单词的词汇表。数据库的总量是2054.52MB。因此平均单词长是6.45个字节。采用32位指针的稀疏后缀树的每个内部节点使用8个字节。假设每个字平均占用3个内部节点。那么叶节点就需要6.45个字节来存储整个字,加上用于指向出现列表的指针的32位。每个字共占用34.45个字节,则总量为18.108MB。此外,出现列表的大小是每项4个字节,如果要用完整形式的(full version),则每项12个字节。所以出现列表的总存储要求的变动范围是1273MB至3820MB。采用稀疏后缀树的数据结构具有的大小将在原始正文的60%至200%之间。这与一个倒置文件(inverted file)的要求是可比的,但是按照本发明的搜索系统中所用的稀疏后缀树提供更快的搜索,能进行近似对比,并易于进行序列对比。
在近似搜索中,用尺度来给出一个可能匹配的误差度量(errormeasure)。按照本发明的搜索系统采用几种尺度,特别是各尺度的独特组合。这些尺度与组合尺度将在下文中作讨论。
如上定义的编辑距离尺度允许直观地应用于字及字符的删除、插入和修改操作。在比较短语时的常见误差是缺失、多余或变化的字。所以,要对前文所定义的编辑距离尺度进行修改和扩充,以便适合于近似字序列对比的问题。对关于序列的编辑操作定义如下。
定义6:序列的编辑操作
为了将一个字序列S转换成另一个字序列P,可以按以下重写规则书写对序列中的字所允许的编辑操作:
●(a→ε),从序列中删除字a
●(ε→a),向序列中插入字a
●(a→b),将字a修改为字b
●(ab→ba),相邻字a和b的置换
按照本发明的搜索系统不是以字符作为基本单位,而是对字进行编辑操作,所以应当把字视为操作的基本单位。
成本函数Cedit(x→y)是一个常量,其定义为:其中,如果x=y则δ(x,y)=0,否则δ(x,y)=1                (3)现在就能用以上所定义的编辑操作来定义序列的编辑距离。定义7:序列的编辑距离序列的编辑距离尺度定义将序列S=s1,s2,…,sn与序列P=p1,p2,…,pm之间的距离Dseq(S,P)定义为将序列S转换成序列P的一系列编辑操作的成本c(x→y)的最小和。
按照本发明的搜索系统对编辑操作的成本用所操作的字的大小进行加权,加强序列的编辑距离尺度。
定义8:与字大小有关的序列的编辑距离
与字大小有关的序列的编辑距离尺度被定义为将一个序列转换成另一个所需的编辑操作的成本的最小总额。成本函数与操作数的字大小有关。
在按照本发明的搜索系统中,成本函数的定义由下列方程给出:
Cinsert(ε→a)=|a|/1
Cdelete(a→ε)=|a|/1
Ctranspose(ab→ba)=1                          (4)
Cchange(a→b)=max(||a|-|b||,1)/1
其中1代表所比较的两个序列中的字的平均长度。每个编辑操作的成本,由一个与序列的总长度的变化成比例的大小加权,或者由当前字长与有关序列中的平均字长的比例加权。
现在的距离尺度反映的是对该字长度与该字对该字序列的语义上下文的重要性之间的某种关系的假设。此外,按照本发明的搜索系统在使用修改编辑操作(a→b)时在利用字符级的相似性。将字a替换为另一个字b要涉及到这两个字之间的相似性。因此将修改编辑操作的新的成本函数定义为: c change ( a → b ) = ∂ apprpx ( a , b ) max ( | | a | - | b | | , i ) i - - - - ( 5 )
其中
δapprox(a,b)= D(a,b)                   (6)
其中D(a,b)是字的归一化编辑距离测量函数,0意味全相似,1意味无相似。
按照本发明的搜索系统将序列的编辑距离尺度与公式(4)、(5)和(6)所给出的成本函数结合起来,其中,字的编辑距离尺度由公式(1)给出。这意味着仅当正在对比的字互相的误差超过k时才使用序列编辑操作。
按照本发明的搜索系统中所使用的算法,对所述结构进行高效的搜索。匹配是按照以上给出的尺度来寻找的。
字间隔稀疏后缀树中的近似词对比是通过编辑距离尺度的计算与后缀树的遍历的结合而进行的。用伪码编写的一个这样的算法在表Ⅰ中给出。
该算法改编自H.Shang和T.H.Merrettal提出的特里树对比算法(trie-matching algorithm)(“Tries for Approximate StringMatching”(用于近似串对比的特里树),IEEE Transactions onKnowledge and Data Engineering(IEEE知识与数据工程学报),1996年,卷5,号4,540-547页)。按照Shang和Merrettal(在所引用文章中)的说法,该算法最坏情况下的期望运行时间是0(k|∑|k)。
近似字序列对比要求计算所有可能的匹配的字序列编辑距离。然而,可以通过只对可能的字开始计算编辑距离来限制可能的匹配的数量。从序列中删除一个字的成本决定可能的开始字的数量。如果删除查询序列PQ中前i个字的累积成本超过给定的误差阈值(errorthreshold),则以该查询的自第i个字开始的候选序列就不可能是个匹配。因此对于i个字的查询序列PQ来说,最多要试试i个可能的开始字。由于树的序列结构中没有后向指针(backpointer),所以将不能保证能获得所有的匹配。增加后向指针则会解决这个问题。下面的表Ⅱ中以伪码的形式给出了按照本发明的搜索系统所使用的近似字序列对比的算法。这个算法试图以p1,p2…顺序地对比第一个键字,测试所有可能的起始位置。
表Ⅱ中的ApproxSequenceMatch算法中的ApproxMatchRest函数由下面的表Ⅲ中的算法定义。该函数用一个初始误差值对比剩下的序列。
                    表Ⅰ
 FindApproximate(root,p,k)node←root;i←1;nodes←Children(node);//节点的堆栈for all v∈nodes doif IsLeaf(v)thenfor j←i to length(Suffix(node))dowj←Suffix(node)j-i;if wj=′$′then //′$′是一个停止字符output w1...j;return;if EditDist(i)=∞thenbreak;else       //内部节点i←i+1;wi←label(v)if EditDist(i)=∞ thenbreak;nodes←Children(v)∪ nodes;//end forEditDistance(j) //计算第j行for i←1 to length(P)doif pi=wj then ←O else ←1;c1=D[i-1,j]+Cins(mj);c2=D[i,j-1]+Cdel(pi);c3=D[i-1,j-1]+Cchange(pi,mj);c4=D[i-2,j-2]+Ctranspose(pi,mj-1);D[i,j]←Cfraction(j/1)·min(c1,c2,c3,c4);if D[i,j]>kreturn ∞;//没有小于k的距离return D[i,j]
                        表Ⅱ
ApproxSequenceMatch_ED(root,P(=p1,p2,...,Pm),k)m←|p|matches←φstartError←0startIndex←1while startError≤k OR startIndex≤m dostartNode←FindExact(pstartInfdex);list←UnorderedOccurrenceList(startNode);for all v∈lists doif ApproxMatchRest2(v,P,K,startError)thenmatches←∪ v;startError←startError+cdel(pstartIndex);startIndex←startIndex+1;
                  表Ⅲ
 ApproxMatchRest(u,P,K,startError)error←startError;lastError←startError;column←O;node←u;for v ←p2 to p|p|donode←NextOccurrence(node);word←Keyword(node);lastError←error;error←startError+EditDistance(column);if error>k AND lastError>k thenreturn false;return true;EditDistance(j)  //计算第j行for i←1 to length(P)doif pi=wj then ←0 else ←1;c1=D[i-1,j]+cins(mj);c2=D[i,j-1]+cdel(pi);c3=D[i-1,j-1]+cchange(pi,mj);c4=D[i-2,j-2]+ctranspose(pi,mj-1);D[i,j]←cfraction(j/1)·min(c1,c2,c3,c4);if D[i,j]>kreturn ∞;//没有小于k的距离return D[i,j]
表Ⅱ和Ⅲ中的算法是用与表Ⅰ中的算法相同的伪码编写的。
用于寻找符合序列中第一个字的叶节点的FindExact函数,执行对树的简单遍历,其运行时间是0|p1|,其中p1代表查询序列PQ中的第一个字。编辑距离的计算,如果用直接的动态程序,能在|P|2时间内完成,如果用该计算算法的改进版本,则能在0(k)时间内完成(其中k代表误差阈值),参看E.Ukkonen的“Finding ApproximatePatterns in Strings”(查找串中的近似结构)(Journal ofAlgorithms,1985,卷6,132-137页)。
如果∑nocc(pi)代表每个字pi在字序列中出现的次数的总数,则最坏情况的运行时间是0(k∑nocc(pi))。
最后将简要地讨论在按照本发明的搜索系统的基础上实现的一个搜索引擎。具体来说,以按照本发明的搜索系统为基础的搜索引擎是按近似搜索引擎(ASE)实现的,目的是作为一个索引大量文件集合和提供用于这些文件集合的精确和近似搜索的算法的搜索引擎。ASE将提供一个用于存储大型正文或文件的集合的数据结构。应当明白,该数据结构可以从含有如图形、影像、声音的其它信息的文件生成,并且正文可以是格式化的和/或带注解的。该数据结构与以上讨论的字间隔稀疏后缀树完全相同,当然也应当明白,这些字是搜索系统的关键字,所以也可以将字间隔稀疏后缀树称作键字间隔稀疏后缀树(KWS树)。ASE将含有在KWS树中索引文件的算法。当然,这些算法不构成按照本发明的搜索系统的一部分,但是它们是本领域的熟练人员所熟知的,在文献中有描述,例如参看J.Kaerkkaeinen和E.Ukkonen(的所引用的文章)和D.R.Morrison(的所引用的文章)。
按照本发明和在ASE中所使用的搜索系统采用的算法在KWS树中既能进行模式(pattern)的精确对比又能进行近似对比。以上在表Ⅰ和表Ⅱ中给出的算法用于以非统一的编辑距离作为尺度的近似字和近似字序列对比。在KWS树中查找长度m的键字p的精确匹配,在本领域中是已知的,容易以对树结构的简单遍历的方式来实现。表Ⅳ给出一个用伪码编写的用于精确键字对比的适当算法。按照本发明的搜索系统将也能支持用于精确键字序列对比的算法。精确键字序列对比的算法在本领域中是已知的,容易以例如表Ⅴ中所示的用伪码编写的方式来实现。这里所给出的算法将查找第一个键字的精确匹配,如果有的话。然后它将对第一个键字的所有出现,查看第二个键字是否符合查询的第二个键字。如果符合,就用表Ⅴ中的MatchRest过程判断这头两个键字的出现是否在整个序列中匹配。对于KWS树中的近似键字对比,搜索系统执行上述表Ⅰ中的算法。对于近似键字序列对比,搜索系统执行上述表Ⅱ中的算法,以p1,p2…顺序地对比第一个键字,测试所有可能的起始位置,用表Ⅲ中所给出的ApproxMatchRest函数去对比在特定位置起始的序列和处理初始误差值。
最后,ASE将需要一个简单的前端来赋予用户对索引和查询文件集合的控制。该前端也应当能提供文件集合的统计并提供一个用于例如通过WWW远程接入的网络接口和一个本地服务器用户接口。
按照本发明的搜索系统所用的ASE应当在便于容易地增加新的索引和搜索算法方面具有通用性。也应当有可能以容易的方式实现对有关每个文件的额外信息或键字的存储。特别是,前端应当独立于数据结构和搜索算法,使得这些中的内部交换对前者的设计没有影响。
按照本发明的搜索系统的使用,应当将ASE设计得在数据结构中有尽可能低的存储开销。也应当将搜索设计得尽可能地快。然而,这两个因素之间一般要有个折衷。
                          表Ⅳ
  FindExact(root,p)i←1;node←Find Child(root,pi);while node AND i≤length(p)doif IsLeaf(node)AND Suffix(node)=pi…pm thenreturn node;i←i+1node←FindChild(node,pi);return NIL:
                        表Ⅴ
 MatchSequenceExact(p,root)matches←φ;v←FindExact(p1,root);if|p|>1 thenif v≠NIL thenlist←UnorderedoccurrenceList(v);for all u∈list doif NextKeyword(u)=p2 thenif MatchRest(p3…pm,u)thenmatches←matches ∪ Occurrence(u);return matches;MatchRest(P,u)node←u;for v←p1 to p|p|donode←NextOccurrence(node);word←Keyword(node);if v≠word thenreturn false;
总之,具有用于按照本发明的搜索系统的ASE将包含四个主要模块。
1.用于在KWS树中索引文件的文件索引模块DIM。该模块也应当含有支持几种文件类型的扩展。
2.以键字间隔稀疏后缀树(KWS树)为基础的数据存储模块DSM。
3.用于搜索KWS树的搜索算法模块SAM,包含分别用于字和字序列的精确和/或近似对比的算法。
4.既包含本地服务器用户接口又包含用于远程查询的网络接口的用户接口前端模块FEM。
ASE的这四个模块共同配合,提供一个完整的搜索引擎功能。图7表示不同模块之间的数据流。索引文件集合的工作在由包含索引算法的文件索引模块DIM中完成。当然,该模块并不是按照本发明的搜索系统的一部分,但是能被使用的索引算法在本领域是众所周知的。文件中找到的正文被传送到数据存储模块DSM上存储。数据存储模块当然是按照本发明的搜索系统的一部分,已经申明是建立在KWS树结构的基础上的。搜索算法模块SAM含有用于搜索位于数据存储模块中的数据的算法。该模块执行按照本发明的搜索系统,允许搜索过程查询树和节点信息的数据结构,同时保存状态变量。前端模块例如可以在工作站或个人电脑等等的上面实现,提供如上所述的功能。
正如介绍中已经申明的那样,应当明白,按照本发明的搜索系统能以用商业上提供的计算机系统(包括工作站)上的合适的高级语言编写的软件的形式来实现。它也如所申明的那样,能以专用处理器设备的形式实现,它最好能包含大量并行处理器,能并行处理大的字序列,用大量的查询字序列进行近似对比。然后可以将处理器的固定操作参数以低级代码的形式输入,而从KWS树结构输入的键字序列便于极快地处理大量数据的查询,按照本发明的搜索系统由此将高度适合在例如万维网上进行搜索,所搜索的KWS树结构甚至大得足以索引万维网上目前提供的所有文件,还能处理将来在万维网上预期的数据量的增长。

Claims (6)

1.一种用于信息-特别是以正文T的形式存储的信息-检索的搜索系统,其中,信息检索以查询Q与被检索信息R之间的给定或不同程度的匹配而发生,其中,该搜索系统包含一个用于存储正文T的数据结构,一个测量查询Q与被检索信息R之间匹配程度的尺度M,以及用于执行搜索-特别是以键字为基础的全文搜索-的搜索算法,其特征在于,该数据结构包含一个以后缀树ST(T)为形式的树结构,用于存储正文T中的字、字序列和符号序列的后缀;尺度M包含关于正文T中的字或符号与查询Q之间匹配的近似度的编辑距离尺度与关于正文T中的字或符号的序列S与查询序列P之间匹配的近似度的编辑距离尺度的组合,后一个编辑距离尺度包括对将一种字或符号的序列S转换成另一种字或符号的序列P的编辑操作的成本函数进行加权,该搜索算法包含用于确定正文T与查询Q各自的后缀树表示中的字之间的匹配程度的第一算法和/或用于确定正文T与查询Q各自的后缀树表示中的字的序列之间的匹配程度的第二算法,所述第一和/或第二算法用以字、字序列、符号序列或者它们的组合为形式的查询Q搜索数据结构,使得信息R被根据查询Q而检索出来,前者与后者之间具有规定的匹配程度。
2.按照权利要求1的搜索系统,特征在于,该后缀树ST(T)是一个只包含正文T中一个后缀子集的字间隔稀疏后缀树SSTWS(T)
3.一种用于信息-特别是以正文T的形式存储的信息-检索的搜索系统中的方法,其中,正文T被分成多个字和字序列,一个字是符号的一个序列,并且其中每个字被结构化为一个或者多个后缀,后缀是字中形成序列的符号的子集,该方法的特征在于,生成正文T的字间隔稀疏后缀树SSTWS(T),以代表正文T中所有从一个字分隔符起始的后缀;在字间隔稀疏后缀树SSTWS(T)中存储正文T中的字的序列信息;生成一个字序列S和P的编辑距离尺度D(S,P),作为将序列S转换成序列P的编辑操作的最小总成本,总成本是对于每个编辑操作的成本函数的总和;对于字序列S和P生成一个与字大小相关的编辑距离尺度DWS(S,P),作为将序列S转换成序列P的最小总成本,该总成本是对于每个编辑操作的成本函数由关于在编辑操作中涉及的字大小的参数进行加权的总和;以及通过对于所有匹配计算编辑距离D(SR,PQ),分别确定被检索信息R和查询Q的字序列SR和PQ之间的匹配。
4.按照权利要求3的方法,特征在于,还对把序列S变为序列P的编辑操作,用一个代表序列S和P的符号之间的近似性的参数进行加权,由此在确定有关编辑操作的成本时,将序列S和P之间的相似性考虑在内。
5.按照权利要求3的方法,特征在于,通过计算查询字序列PQ中限定数量的字的编辑距离D(SR,PQ)来限制匹配的数目。
6.按照权利要求1或2的搜索系统在近似搜索引擎中的使用。
CN99810507A 1998-07-10 1999-07-09 一种用于数据检索的搜索系统和方法及其在搜索引擎中的应用 Pending CN1317114A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NO983175A NO983175L (no) 1998-07-10 1998-07-10 Soekesystem for gjenfinning av data
NO19983175 1998-07-10

Publications (1)

Publication Number Publication Date
CN1317114A true CN1317114A (zh) 2001-10-10

Family

ID=19902243

Family Applications (1)

Application Number Title Priority Date Filing Date
CN99810507A Pending CN1317114A (zh) 1998-07-10 1999-07-09 一种用于数据检索的搜索系统和方法及其在搜索引擎中的应用

Country Status (20)

Country Link
US (1) US6377945B1 (zh)
EP (1) EP1095326B1 (zh)
JP (1) JP3581652B2 (zh)
KR (1) KR100414236B1 (zh)
CN (1) CN1317114A (zh)
AT (1) ATE212736T1 (zh)
AU (2) AU772525B2 (zh)
BR (1) BR9912015B1 (zh)
CA (1) CA2337079C (zh)
DE (1) DE69900854T2 (zh)
DK (1) DK1095326T3 (zh)
ES (1) ES2173752T3 (zh)
HK (1) HK1040784A1 (zh)
HU (1) HUP0201630A2 (zh)
IL (1) IL140606A0 (zh)
IS (1) IS5796A (zh)
NO (1) NO983175L (zh)
PL (1) PL345714A1 (zh)
PT (1) PT1095326E (zh)
WO (1) WO2000003315A2 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100401300C (zh) * 2006-04-29 2008-07-09 上海世纪互联信息系统有限公司 具有自动分类功能的搜索引擎
CN101246501B (zh) * 2008-03-27 2010-06-23 腾讯科技(深圳)有限公司 一种聚合相同主题网络文档的方法及系统
CN101409624B (zh) * 2007-10-09 2010-12-15 凹凸电子(武汉)有限公司 规则匹配装置和方法
CN1614607B (zh) * 2004-11-25 2011-08-31 中国科学院计算技术研究所 垃圾邮件过滤的方法和系统
CN103282902A (zh) * 2010-11-09 2013-09-04 泰必高软件公司 字尾数组候选选择和索引数据结构
CN103339624A (zh) * 2010-12-14 2013-10-02 加利福尼亚大学董事会 支持地理结构数据的交互式模糊搜索的高效前缀搜索算法
CN110517050A (zh) * 2019-08-12 2019-11-29 太平洋医疗健康管理有限公司 一种医保反欺诈串换编码挖掘系统及方法
CN111415708A (zh) * 2020-03-24 2020-07-14 山东大学 双缓冲模型实现大规模数据库聚类方法及系统

Families Citing this family (114)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6564206B1 (en) * 1998-10-05 2003-05-13 Canon Kabushiki Kaisha Information search apparatus and method, and storage medium
US6584465B1 (en) * 2000-02-25 2003-06-24 Eastman Kodak Company Method and system for search and retrieval of similar patterns
US6711561B1 (en) * 2000-05-02 2004-03-23 Iphrase.Com, Inc. Prose feedback in information access system
US7127450B1 (en) * 2000-05-02 2006-10-24 International Business Machines Corporation Intelligent discard in information access system
US6704728B1 (en) * 2000-05-02 2004-03-09 Iphase.Com, Inc. Accessing information from a collection of data
US6745181B1 (en) * 2000-05-02 2004-06-01 Iphrase.Com, Inc. Information access method
US8478732B1 (en) 2000-05-02 2013-07-02 International Business Machines Corporation Database aliasing in information access system
US6718325B1 (en) * 2000-06-14 2004-04-06 Sun Microsystems, Inc. Approximate string matcher for delimited strings
US6408277B1 (en) 2000-06-21 2002-06-18 Banter Limited System and method for automatic task prioritization
US9699129B1 (en) 2000-06-21 2017-07-04 International Business Machines Corporation System and method for increasing email productivity
US8290768B1 (en) 2000-06-21 2012-10-16 International Business Machines Corporation System and method for determining a set of attributes based on content of communications
US7103838B1 (en) * 2000-08-18 2006-09-05 Firstrain, Inc. Method and apparatus for extracting relevant data
US6915294B1 (en) 2000-08-18 2005-07-05 Firstrain, Inc. Method and apparatus for searching network resources
US7080073B1 (en) 2000-08-18 2006-07-18 Firstrain, Inc. Method and apparatus for focused crawling
US20020152202A1 (en) * 2000-08-30 2002-10-17 Perro David J. Method and system for retrieving information using natural language queries
GB2368414B (en) * 2000-10-27 2002-09-11 One Stop To Ltd Searching procedures
US7644057B2 (en) * 2001-01-03 2010-01-05 International Business Machines Corporation System and method for electronic communication management
US6681219B2 (en) * 2001-03-29 2004-01-20 Matsushita Electric Industrial Co., Ltd. Method for keyword proximity searching in a document database
US6976016B2 (en) * 2001-04-02 2005-12-13 Vima Technologies, Inc. Maximizing expected generalization for learning complex query concepts
US7136846B2 (en) 2001-04-06 2006-11-14 2005 Keel Company, Inc. Wireless information retrieval
US7054855B2 (en) * 2001-07-03 2006-05-30 International Business Machines Corporation Method and system for performing a pattern match search for text strings
US7209913B2 (en) * 2001-12-28 2007-04-24 International Business Machines Corporation Method and system for searching and retrieving documents
US7343372B2 (en) * 2002-02-22 2008-03-11 International Business Machines Corporation Direct navigation for information retrieval
US7287026B2 (en) * 2002-04-05 2007-10-23 Oommen John B Method of comparing the closeness of a target tree to other trees using noisy sub-sequence tree processing
US6928445B2 (en) * 2002-06-25 2005-08-09 International Business Machines Corporation Cost conversant classification of objects
FI121583B (fi) * 2002-07-05 2011-01-14 Syslore Oy Symbolijonon etsintä
US6983280B2 (en) * 2002-09-13 2006-01-03 Overture Services Inc. Automated processing of appropriateness determination of content for search listings in wide area network searches
US7970621B2 (en) * 2002-10-18 2011-06-28 Cerner Innovation, Inc. Automated order entry system and method
US8495002B2 (en) * 2003-05-06 2013-07-23 International Business Machines Corporation Software tool for training and testing a knowledge base
US20050187913A1 (en) 2003-05-06 2005-08-25 Yoram Nelken Web-based customer service interface
CA2429909A1 (en) * 2003-05-27 2004-11-27 Cognos Incorporated Transformation of tabular and cross-tabulated queries based upon e/r schema into multi-dimensional expression queries
CN1567303A (zh) * 2003-07-03 2005-01-19 富士通株式会社 结构文档信息块的自动分割方法和装置
US7165119B2 (en) 2003-10-14 2007-01-16 America Online, Inc. Search enhancement system and method having rankings, explicitly specified by the user, based upon applicability and validity of search parameters in regard to a subject matter
US7640232B2 (en) 2003-10-14 2009-12-29 Aol Llc Search enhancement system with information from a selected source
US7657423B1 (en) 2003-10-31 2010-02-02 Google Inc. Automatic completion of fragments of text
US7418455B2 (en) * 2003-11-26 2008-08-26 International Business Machines Corporation System and method for indexing weighted-sequences in large databases
US7343378B2 (en) * 2004-03-29 2008-03-11 Microsoft Corporation Generation of meaningful names in flattened hierarchical structures
IL161874A (en) * 2004-05-07 2012-09-24 Yves Villaret System and method for searching strings of records
US20080077570A1 (en) * 2004-10-25 2008-03-27 Infovell, Inc. Full Text Query and Search Systems and Method of Use
EP1825395A4 (en) * 2004-10-25 2010-07-07 Yuanhua Tang FULL TEXT INTERROGATION AND RESEARCH SYSTEMS AND METHODS OF USE
US20070266406A1 (en) * 2004-11-09 2007-11-15 Murali Aravamudan Method and system for performing actions using a non-intrusive television with reduced text input
US20060101504A1 (en) * 2004-11-09 2006-05-11 Veveo.Tv, Inc. Method and system for performing searches for television content and channels using a non-intrusive television interface and with reduced text input
US7895218B2 (en) * 2004-11-09 2011-02-22 Veveo, Inc. Method and system for performing searches for television content using reduced text input
CA2509496A1 (en) * 2005-06-06 2006-12-06 3618633 Canada Inc. Search-enhanced trie-based syntactic pattern recognition of sequences
US9041744B2 (en) 2005-07-14 2015-05-26 Telecommunication Systems, Inc. Tiled map display on a wireless device
US7788266B2 (en) 2005-08-26 2010-08-31 Veveo, Inc. Method and system for processing ambiguous, multi-term search queries
US7779011B2 (en) 2005-08-26 2010-08-17 Veveo, Inc. Method and system for dynamically processing ambiguous, reduced text search queries and highlighting results thereof
US7644054B2 (en) * 2005-11-23 2010-01-05 Veveo, Inc. System and method for finding desired results by incremental search using an ambiguous keypad with the input containing orthographic and typographic errors
US7882119B2 (en) * 2005-12-22 2011-02-01 Xerox Corporation Document alignment systems for legacy document conversions
US7664343B2 (en) * 2006-01-23 2010-02-16 Lockheed Martin Corporation Modified Levenshtein distance algorithm for coding
US7774341B2 (en) 2006-03-06 2010-08-10 Veveo, Inc. Methods and systems for selecting and presenting content based on dynamically identifying microgenres associated with the content
US8073860B2 (en) 2006-03-30 2011-12-06 Veveo, Inc. Method and system for incrementally selecting and providing relevant search engines in response to a user query
EP2911071A1 (en) 2006-04-20 2015-08-26 Veveo, Inc. User interface methods and systems for selecting and presenting content based on user navigation and selection actions associated with the content
US20070260595A1 (en) * 2006-05-02 2007-11-08 Microsoft Corporation Fuzzy string matching using tree data structure
US7849078B2 (en) * 2006-06-07 2010-12-07 Sap Ag Generating searchable keywords
US8577328B2 (en) 2006-08-21 2013-11-05 Telecommunication Systems, Inc. Associating metro street address guide (MSAG) validated addresses with geographic map data
CA2663222C (en) * 2006-09-14 2018-01-16 Veveo, Inc. Methods and systems for dynamically rearranging search results into hierarchically organized concept clusters
JP4274221B2 (ja) * 2006-10-02 2009-06-03 ソニー株式会社 情報処理装置および方法、プログラム、並びに記録媒体
WO2008045690A2 (en) 2006-10-06 2008-04-17 Veveo, Inc. Linear character selection display interface for ambiguous text input
US8078884B2 (en) 2006-11-13 2011-12-13 Veveo, Inc. Method of and system for selecting and presenting content based on user identification
US8131722B2 (en) * 2006-11-20 2012-03-06 Ebay Inc. Search clustering
US20080172380A1 (en) * 2007-01-17 2008-07-17 Wojciech Czyz Information retrieval based on information location in the information space.
WO2008104621A1 (es) 2007-02-28 2008-09-04 Classe Qsl, S.L. Sistema para la recuperación de unidades de información
WO2008148012A1 (en) 2007-05-25 2008-12-04 Veveo, Inc. System and method for text disambiguation and context designation in incremental search
US20090055436A1 (en) * 2007-08-20 2009-02-26 Olakunle Olaniyi Ayeni System and Method for Integrating on Demand/Pull and Push Flow of Goods-and-Services Meta-Data, Including Coupon and Advertising, with Mobile and Wireless Applications
US20090055242A1 (en) * 2007-08-24 2009-02-26 Gaurav Rewari Content identification and classification apparatus, systems, and methods
US20090098889A1 (en) * 2007-09-11 2009-04-16 Bob Barcklay Wireless device location alerts on battery notification events
US7716228B2 (en) * 2007-09-25 2010-05-11 Firstrain, Inc. Content quality apparatus, systems, and methods
EP2220457B1 (en) * 2007-11-09 2016-06-22 TeleCommunication Systems, Inc. Points-of-interest panning on a displayed map with a persistent search on a wireless phone
US20090265340A1 (en) * 2008-04-07 2009-10-22 Bob Barcklay Proximity search for point-of-interest names combining inexact string match with an expanding radius search
US8027990B1 (en) * 2008-07-09 2011-09-27 Google Inc. Dynamic query suggestion
US8027973B2 (en) * 2008-08-04 2011-09-27 Microsoft Corporation Searching questions based on topic and focus
US9424339B2 (en) 2008-08-15 2016-08-23 Athena A. Smyros Systems and methods utilizing a search engine
US7882143B2 (en) * 2008-08-15 2011-02-01 Athena Ann Smyros Systems and methods for indexing information for a search engine
US9092517B2 (en) * 2008-09-23 2015-07-28 Microsoft Technology Licensing, Llc Generating synonyms based on query log data
US8594627B2 (en) 2008-10-06 2013-11-26 Telecommunications Systems, Inc. Remotely provisioned wirelessly proxy
WO2010042172A1 (en) 2008-10-06 2010-04-15 Telecommunication Systems, Inc. Probabilistic reverse geocoding
DE102008062830B3 (de) * 2008-12-23 2010-07-22 Cerebrix Gmbh Vorrichtung und Verfahren zum Speichern, Suchen und Darstellen von Informationen
US20100287177A1 (en) * 2009-05-06 2010-11-11 Foundationip, Llc Method, System, and Apparatus for Searching an Electronic Document Collection
US20100287148A1 (en) * 2009-05-08 2010-11-11 Cpa Global Patent Research Limited Method, System, and Apparatus for Targeted Searching of Multi-Sectional Documents within an Electronic Document Collection
US20100293179A1 (en) * 2009-05-14 2010-11-18 Microsoft Corporation Identifying synonyms of entities using web search
US8533203B2 (en) * 2009-06-04 2013-09-10 Microsoft Corporation Identifying synonyms of entities using a document collection
US9166714B2 (en) 2009-09-11 2015-10-20 Veveo, Inc. Method of and system for presenting enriched video viewing analytics
US8364679B2 (en) * 2009-09-17 2013-01-29 Cpa Global Patent Research Limited Method, system, and apparatus for delivering query results from an electronic document collection
US20110082839A1 (en) * 2009-10-02 2011-04-07 Foundationip, Llc Generating intellectual property intelligence using a patent search engine
WO2011056086A2 (en) * 2009-11-05 2011-05-12 Google Inc. Statistical stemming
US20110119250A1 (en) * 2009-11-16 2011-05-19 Cpa Global Patent Research Limited Forward Progress Search Platform
US8244754B2 (en) 2010-02-01 2012-08-14 International Business Machines Corporation System and method for object searching in virtual worlds
US20110191330A1 (en) 2010-02-04 2011-08-04 Veveo, Inc. Method of and System for Enhanced Content Discovery Based on Network and Device Access Behavior
US8339094B2 (en) * 2010-03-11 2012-12-25 GM Global Technology Operations LLC Methods, systems and apparatus for overmodulation of a five-phase machine
US8805840B1 (en) 2010-03-23 2014-08-12 Firstrain, Inc. Classification of documents
US10546311B1 (en) 2010-03-23 2020-01-28 Aurea Software, Inc. Identifying competitors of companies
US10643227B1 (en) 2010-03-23 2020-05-05 Aurea Software, Inc. Business lines
US8463790B1 (en) 2010-03-23 2013-06-11 Firstrain, Inc. Event naming
US9600566B2 (en) 2010-05-14 2017-03-21 Microsoft Technology Licensing, Llc Identifying entity synonyms
EP2423830A1 (de) 2010-08-25 2012-02-29 Omikron Data Quality GmbH Verfahren zum Suchen in einer Vielzahl von Datensätzen und Suchmaschine
US9846688B1 (en) 2010-12-28 2017-12-19 Amazon Technologies, Inc. Book version mapping
US9069767B1 (en) 2010-12-28 2015-06-30 Amazon Technologies, Inc. Aligning content items to identify differences
US8798366B1 (en) * 2010-12-28 2014-08-05 Amazon Technologies, Inc. Electronic book pagination
US9881009B1 (en) 2011-03-15 2018-01-30 Amazon Technologies, Inc. Identifying book title sets
US8782042B1 (en) 2011-10-14 2014-07-15 Firstrain, Inc. Method and system for identifying entities
US8745019B2 (en) 2012-03-05 2014-06-03 Microsoft Corporation Robust discovery of entity synonyms using query logs
US8977613B1 (en) 2012-06-12 2015-03-10 Firstrain, Inc. Generation of recurring searches
US10032131B2 (en) 2012-06-20 2018-07-24 Microsoft Technology Licensing, Llc Data services for enterprises leveraging search system data assets
US9594831B2 (en) 2012-06-22 2017-03-14 Microsoft Technology Licensing, Llc Targeted disambiguation of named entities
US9229924B2 (en) 2012-08-24 2016-01-05 Microsoft Technology Licensing, Llc Word detection and domain dictionary recommendation
KR101355254B1 (ko) * 2012-10-22 2014-01-28 인하대학교 산학협력단 접미사 트리의 병렬 생성을 위한 트라이 자료구조 기반 접미사 병렬 분할 방법
US9256593B2 (en) 2012-11-28 2016-02-09 Wal-Mart Stores, Inc. Identifying product references in user-generated content
US10592480B1 (en) 2012-12-30 2020-03-17 Aurea Software, Inc. Affinity scoring
US8996559B2 (en) 2013-03-17 2015-03-31 Alation, Inc. Assisted query formation, validation, and result previewing in a database having a complex schema
US9589074B2 (en) 2014-08-20 2017-03-07 Oracle International Corporation Multidimensional spatial searching for identifying duplicate crash dumps
CN105446957B (zh) 2015-12-03 2018-07-20 小米科技有限责任公司 相似性确定方法、装置及终端
CN108595584B (zh) * 2018-04-18 2022-06-07 卓望数码技术(深圳)有限公司 一种基于数字标记的汉字输出方法和系统
US10761965B2 (en) * 2018-09-28 2020-09-01 Atlassian Pty Ltd. Detecting method calls based on stack trace data

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU620994B2 (en) * 1989-07-12 1992-02-27 Digital Equipment Corporation Compressed prefix matching database searching
AU1640992A (en) * 1991-03-08 1992-10-06 Red Brick System Compaction of a querying in relational databases
US5511159A (en) * 1992-03-18 1996-04-23 At&T Corp. Method of identifying parameterized matches in a string
US5953006A (en) * 1992-03-18 1999-09-14 Lucent Technologies Inc. Methods and apparatus for detecting and displaying similarities in large data sets
US5412807A (en) * 1992-08-20 1995-05-02 Microsoft Corporation System and method for text searching using an n-ary search tree
JPH07210569A (ja) * 1994-01-19 1995-08-11 Oki Electric Ind Co Ltd 情報検索方法および情報検索装置
WO1996000945A1 (en) * 1994-06-30 1996-01-11 International Business Machines Corp. Variable length data sequence matching method and apparatus
JP2829259B2 (ja) * 1994-09-14 1998-11-25 株式会社東芝 データ処理装置、データ検索装置、データ処理方法及びデータ検索方法
US5724571A (en) * 1995-07-07 1998-03-03 Sun Microsystems, Inc. Method and apparatus for generating query responses in a computer-based document retrieval system
KR980004154A (ko) * 1996-06-29 1998-03-30 김광호 접두어를 이용한 전자 사전 및 그에 접합한 압축 및 검색 방법
KR100284777B1 (ko) * 1997-11-19 2001-03-15 정선종 지도 용어 사전을 위한 트라이 사전과 그 등록 및 검색 방법

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1614607B (zh) * 2004-11-25 2011-08-31 中国科学院计算技术研究所 垃圾邮件过滤的方法和系统
CN100401300C (zh) * 2006-04-29 2008-07-09 上海世纪互联信息系统有限公司 具有自动分类功能的搜索引擎
CN101409624B (zh) * 2007-10-09 2010-12-15 凹凸电子(武汉)有限公司 规则匹配装置和方法
CN101246501B (zh) * 2008-03-27 2010-06-23 腾讯科技(深圳)有限公司 一种聚合相同主题网络文档的方法及系统
CN103282902A (zh) * 2010-11-09 2013-09-04 泰必高软件公司 字尾数组候选选择和索引数据结构
CN103339624A (zh) * 2010-12-14 2013-10-02 加利福尼亚大学董事会 支持地理结构数据的交互式模糊搜索的高效前缀搜索算法
CN110517050A (zh) * 2019-08-12 2019-11-29 太平洋医疗健康管理有限公司 一种医保反欺诈串换编码挖掘系统及方法
CN111415708A (zh) * 2020-03-24 2020-07-14 山东大学 双缓冲模型实现大规模数据库聚类方法及系统
CN111415708B (zh) * 2020-03-24 2023-05-05 山东大学 双缓冲模型实现大规模数据库聚类方法及系统

Also Published As

Publication number Publication date
PL345714A1 (en) 2002-01-02
IS5796A (is) 2000-12-29
JP2002520712A (ja) 2002-07-09
IL140606A0 (en) 2002-02-10
HK1040784A1 (zh) 2002-06-21
KR100414236B1 (ko) 2004-01-07
KR20010071841A (ko) 2001-07-31
AU772525B2 (en) 2004-04-29
WO2000003315A3 (en) 2000-02-24
NO983175L (no) 2000-01-11
BR9912015B1 (pt) 2011-12-13
HUP0201630A2 (en) 2002-08-28
DK1095326T3 (da) 2002-05-13
WO2000003315A2 (en) 2000-01-20
ES2173752T3 (es) 2002-10-16
BR9912015A (pt) 2001-04-10
EP1095326A1 (en) 2001-05-02
ATE212736T1 (de) 2002-02-15
US6377945B1 (en) 2002-04-23
DE69900854D1 (de) 2002-03-14
DE69900854T2 (de) 2002-08-22
AU2004203480A1 (en) 2004-08-26
CA2337079A1 (en) 2000-01-20
JP3581652B2 (ja) 2004-10-27
PT1095326E (pt) 2002-07-31
EP1095326B1 (en) 2002-01-30
AU4937099A (en) 2000-02-01
CA2337079C (en) 2006-07-04

Similar Documents

Publication Publication Date Title
CN1317114A (zh) 一种用于数据检索的搜索系统和方法及其在搜索引擎中的应用
US9792304B1 (en) Query by image
Navarro Spaces, trees, and colors: The algorithmic landscape of document retrieval on sequences
CN102142038B (zh) 用于记号空间资料库的多级查询处理系统与方法
Munro et al. Space-efficient construction of compressed indexes in deterministic linear time
Hon et al. Space-efficient frameworks for top-k string retrieval
CN107153647B (zh) 进行数据压缩的方法、装置、系统和计算机程序产品
EP0890911A2 (en) Multistage intelligent string comparison method
Hadjieleftheriou et al. Hashed samples: selectivity estimators for set similarity selection queries
WO2007089289A2 (en) Method for ranking and sorting electronic documents in a search result list based on relevance
WO2005077123A2 (en) Efficient indexing of hierarchical relational database records
Hon et al. String retrieval for multi-pattern queries
Navarro et al. Time-optimal top-k document retrieval
Zhou et al. Top-down XML keyword query processing
Flor A fast and flexible architecture for very large word n-gram datasets
Gog et al. Improved single-term top-k document retrieval
CN116720511A (zh) 一种融合多层图与时序特征的论文推荐方法
Chen et al. Efficient querying on genomic databases by using metric space indexing techniques
Oflazer Error-tolerant retrieval of trees
CN114519132A (zh) 一种基于公式引用图的公式检索方法与装置
Malki Comprehensive study and comparison of information retrieval indexing techniques
Kanlayanawat et al. Automatic indexing for Thai text with unknown words using trie structure
JP2003288366A (ja) 類似テキスト検索装置
CN116028698B (zh) 一种高效率信息搜索系统
Gupta A keyword searching algorithm for search engines

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: OVERTURE SERVICES INC.

Free format text: FORMER OWNER: FAST SEARCH + TRANSFER ASA

Effective date: 20050325

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20050325

Address after: American California

Applicant after: Overture Services Inc.

Address before: Oslo

Applicant before: Fast Search & Transfer ASA

C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1040784

Country of ref document: HK