用于响应于信息搜索请求来提供搜索结果的方法和设备 本发明涉及电子文档的搜索,更具体而言,涉及一种处理搜索结果以便确定搜索结果中的电子文档之间的关系的系统和方法。
启用因特网的计算装置(比如,个人计算机(PC)、个人数字助理(PDA)、蜂窝式电话等等)的普及使用是″web搜索″的性能特性。典型地,用户在计算装置上运行Web浏览器程序并运用Web浏览器在因特网上访问远程服务器上的搜索引擎。搜索引擎的用户界面往往是具有文字框的web页面,在所述文字框中,用户可以输入一个关键词或一系列关键词。一旦输入了这些关键词,搜索引擎就准备出一个与那些关键词相关的web页面的列表。通常,搜索引擎实际上不搜索因特网而是搜索索引数据库,在所述索引数据库中保存着与因特网上的web页面相对应的文件。在某些情况下,索引数据库由实际的web页面或web页面的压缩版本组成。
一旦已生成相关web页面的列表,搜索引擎的用户界面就向用户展示该列表。图1示出了用于显示搜索引擎结果的典型web页面用户界面100。在图1中,将结果展示成超文本形式地″链接″150,当用户利用计算装置的光标选择(″点击″或″双击″)链接时,所述超文本形式的″链接″允许用户直接跳到另一个web页面上。典型地,链接150按递减相关性的次序排列,其中web页面A151是最相关的web页面。
然而,彼此之间最强相关的链接往往出现在相关文件列表的独立的点处。例如,web页面A 151和web页面B 159事实上可能来自于同一个web站点。但是,因为它们是独立地呈现在列表上的,所以可能会误使用户认为它们是不相关的(当然除了搜索关键词之外)。另外,因为它们是独立呈现的并且在计算装置上只有有限大小的显示区,所以其它相关的web页面被挤出该显示区,且由此而不能被显示给用户。此外,尽管如果把web页面H 157和web页面I 153集合起来显示的话则将会更有效且更便利,但是与同一概念(concept)强相关的web页面(诸如web页面H 157和web页面I 153之类的)可能彼此相互分离。
因此,需要一种能够显示搜索结果以把彼此强相关的项集合起来的系统和方法,它们都避免重复并向查看者提供更多信息。
本发明的一个目的是,避免搜索结果列表中的相似项的重复。
本发明的另一个目的是,把搜索查询的结果中的强相关项集合起来以便查看者能够看到什么项位于搜索结果列表中的项之间。
本发明的另一个目的是,在计算装置中的搜索结果显示当中把强相关项集合起来,以便查看者能够看到哪些项在搜索结果列表中是互连的,并且以便查看者可以看到更多的搜索结果。
这些及其它目的是通过本发明来实现的,本发明提供了一种用于获得搜索结果(亦即电子文件)的系统和方法,所述系统和方法利用在那些搜索结果文档中所含的项的TFIDF来量化搜索结果文件彼此相关的程度并且根据那些已定量出的关系来组织(organize)搜索结果。利用这类系统和方法,能够用如下这种方式来显示搜索结果文档,所述方式就是:搜索结果文档之间的关系对于查看者而言是明显的。
通过结合附图思考下列详细说明,本发明的其它目的和特征将变得明显。然而,将要理解的是,附图仅仅是为举例说明而设计的,而不作为限制本发明的定义,应当参照所附的权利要求来限定本发明。还应理解的是,不必非得按照比例绘制这些附图,除非另作说明,它们仅仅意在从概念上举例说明这里所述的结构和程序。
在附图中,其中相似的附图标记指代相似的元件:
图1示出用于搜索引擎的常规web页面用户界面,以用来显示搜索结果;
图2是示出本发明优选实施例中的步骤概要的流程图;
图3是示出根据本发明实施例的用于执行图2的步骤210的示例性方法的流程图;
图4是示出根据本发明实施例的用于执行图2的步骤220的示例性方法的流程图;
图5是根据本发明优选实施例的图4中的步骤410的转换过程的概念说明。
图6是示出根据本发明优选实施例的用于减少单词数量的示例性方法的流程图,所述单词数量将变为图4中的步骤410的转换过程的矢量;
图7是示出根据本发明实施例的用于执行图2的步骤230的示例性方法的流程图;
图8是根据本发明优选实施例的图7的组织过程的概念说明;
图9是根据本发明优选实施例的用于处理搜索结果的示例性方法的流程图;和
图10示出根据本发明优选实施例的用于搜索引擎的web页面用户界面,它示出了搜索结果。
在图2的流程图中示出了本发明优选实施例中的步骤的概要。因为这是一种用于处理搜索项结果的系统和方法,而不是一种用于执行搜索的系统和方法,所以在图2中未示出执行搜索的步骤。任何可允许的生成搜索结果的方法都可以与本发明一起使用。在图2的步骤210中,计算每一个搜索结果项中的一些或所有项的TFIDF(项频率(TermFrequency/反相文档频率(Inverse Document Frequency))。在下面给出TFIDF的定义。接下来,在步骤220中,确定基于搜索结果项之间的TFIDF值的相似性。最后,在步骤230中,根据步骤220中确定的相似性来组织搜索结果项。
在此,将对于搜索结果项使用术语″电子文档″(或有时是″文档″)。电子文档是以电子格式存储的任何类型的文件,并且能由电子装置来″读取″。因为电子文档可以是照片或音轨,所以″读取″在本文中意味着电子装置把电子文档中的材料转换成能由人类感知的格式。电子文档的″项″是数据的单个位,电子装置可以将这些位从电子文档中解析出来。
例如,在后台中,电子文档是web页面,或者更确切地说,它们是HTML(超文本标记语言)文件。HTML包含了远远超过纯粹文本的″超文本″,并且提供了到其它web页面的链接以及指向其它资源的指针。HTML是″标记″语言,这是因为它描述了文档是如何被格式化的。换言之,它告知Web浏览器显示什么以及如何显示它。尽管所有的web页面都是以HTML(或其它类似的标记语言)的版本来编写的,但是用户永远都看不到HTML,而是仅仅能够看到HTML指令的结果。例如,web页面中的HTML可以指示Web浏览器检索存储在特定位置处的特定照片,并且在web页面的左下角中显示该照片。从另一方面来说,用户仅仅在左下角中看到了照片。HTML指令是″标记(tag)″的形式,比如像<body bgcolor=″#ffffff″>。对于本发明而言,HTML电子文档的″项″往往既包括出现在web页面上的文本的单词,HTML标记,又包括HTML标记内的所有元素。
此外,本发明适用于电子文档的任何集合,而不管它们例如是因特网搜索引擎的索引数据库中的web页面、MP3播放器中的音频文件,还是附带在用户的计算装置上的数据库中的记录。
TFIDF(项频率/反相文档频率)是一个项有多少次出现在一个特定电子文档中同具有那个特定项的全局文档组中有多少电子文档的比。分母(文档频率:DF)也可以是特定项有多少次出现在全局文档组中。无论哪种,分母(DF)的功能是表明那个项将能多么有利地帮助区分全局文档组中的文档。例如,如果诸如″antidisestablishmentarianism″之类的特定项仅仅出现在三篇文档中,那么其DF将等于3。诸如″the″之类的另一项可能会出现在300,000篇文档中,那么其DF就是300,000。这样一来,因为DF是TFIDF的分母,所以″antidisestablishmentarianism″的TFIDF就会比″the″的TFIDF大得多。照此,当选择在区分文档过程中最有用的那些项的过程时,TFIDF是有用的。
对于文档x中的单词wi的TFIDF的数学定义为:
TFIDFx(wi)=ftx(wi)fd(wi)]]>
其中:
ftx(wi)=TF-单词wi在文档x中的频率
fd(wi)=DF-单词wi在全局文档组上的文档频率
可以根据特定实施例的需要来改变全局文档组。
如图3所示,可以进一步分解图2中的步骤210。在步骤310中(它出现在由虚线构成的框中,其中虚线指向该步骤在该方法中的两个可能的位置,下面将对其进行解释),确定单个单词或项的全局频率fd:
步骤310 DFG(wi)=fd(wi)=其中项wi出现在文档的组G中的文档数目
当全局频率fds为预定量时,虚线313示出了步骤310的位置。在这种情况下,可以当初始化系统时仅执行一次步骤310,而不考虑执行多少次其余的步骤。在确定什么将充当文档的全局组G时,存在许多活动余地(latitude)。例如,如果利用因特网搜索引擎进行工作的话,那么全局组G就可能是索引数据库中的索引文件组。往往会计算每个web页面中的每个单词和/或项的DFG,并且将会存储那些DF值以待随后使用。这一计算可能发生在任何特定搜索执行以前。作为另一个示例,可以使用抗计概率的词典,其中词典中的每个项往往具有一个出现在全局组G中的任何单个文档中的相关联的概率。如果全局组G是因特网,那么所述词典就可以以web页面的统计抽样为基础。如果全局组G是医学文本数据库,那么词典就可以是具有医学文本数据库中的单词wi的文档的准确总数。随着内容改变,可以经常地更新这些值(即,可以重复步骤310)。
当把实际搜索结果用作为全局文档组G来确定全局频率fds时,虚线315示出步骤310的位置。换言之,在已经执行了特定的搜索查询并且已经产生搜索结果(即,步骤320)之后,就会利用搜索结果中的文档来计算那些文档中的项的全局频率fds。
不考虑是在搜索之前还是之后确定的全局频率,图3中的下一步是步骤330,其中计算每个搜索结果文档中的每个单词的项频率。假定在搜索结果中有N篇文档。由此,计算N篇文档中的每一篇的每个单词wx的项频率ft:
步骤330
其中k=1,2,…,N
在其它实施例中,可以通过用这个量除以该文档中的单词数目来正规化这个值。在步骤330之后,计算N篇文档中的每一篇的每个单词wi的TFIDF:
步骤340TFIDFk(wi)=ftk(wi)fd(wi),]]>其中k=1,2,…,N
在步骤340之后,不必确实让每个文档中的每个单词都具有TFIDF值。例如,如果通过利用web页面的搜索引擎的索引数据库的典型抽样来预先(即,如果步骤310是在步骤320之前的)计算单个项的全局频率fd,那么就存在永远不给单个搜索结果文档中的某些单词指定全局频率fd的可能性。作为另一个示例,当正在从词典中下载单个项的全局频率fd时,可能全发生这种情况,所述词典将单词关联于那些出现在英语中的单词的统计概率。在那些情况下,搜索结果文档中的那些没有fds的单词可以被忽略,或者可以把搜索结果用作为全局组来计算全局频率fds。在其它实施例中,其中可以把搜索结果文档组作为全局文档组来计算那些单词的fd(即,其中步骤310是在步骤之后的),由于出现在所有文档或几乎所有文档中的单词具有很小的区分能力,因而可以将这些单词丢弃。
返回到图2,当在步骤210中计算了搜索结果文档中的一些或所有单词的TFIDF以后,根据步骤220中的TFIDF值来确定搜索结果项之间的相似性。在本发明的优选实施例中,步骤220包括两个步骤,如图4所示。在图4中的步骤410中,搜索结果文档被转换成矢量格式;在步骤420中,利用在步骤410中创建的矢量实体来计算相对应的文档之间的相似性度量。
图5是图4中的步骤410的转换过程的概念上说明。文档D 510是由按特定顺序的单词W1、W3、W7、W15、W16等等组成的。也可以将这个表示成组D 520。当转换成矢量格式时,用每个单词的TFIDF矢量来替代这些单词,由此得出矢量实体D。一旦在步骤410中每个文档都处于矢量格式,就可以在步骤420中测量文档之间的相似性(例如,矢量距离)。
在某些情况下,在步骤410中,也可以希望仅仅把文档中的某些单词转换成TFIDF矢量格式,而不是把所有的单词都转换。当后来比较这些文档时,这种矢量的缩减将会导致更少的存储器和更少的计算量。然而,必须确定将要转换哪些单词和不转换哪些单词。图6是用于减少单词数目的示例性方法,其中所述单词将在图4的转换步骤410中变为矢量。在步骤610中,计算每个单词的总体TFIDFo(全部搜索结果文档的TFIDF):
步骤610TFIDFo(wi)=Σk=1NTFIDFk(wi)]]>
这个等式把全部N篇搜索结果文档中的每个单词wi的TFIDF值全部加起来。接下来,在步骤620中选择具有最高TFIDFo的预定数目M个单词。M可能是从1到N中任何用数字量。如果M是1,则在步骤420中计算的相似性度量将以一个单词或项为基础。优选地,选择M使得在文档之间比较大量的矢量,不过,像″the″和″an″这样的单词会因其相对低的TFIDFo值而从比较中排除。在步骤620中也可以使用其它的选择方法。例如,阈值TFIDFo值可以用于确定将选择哪些单词。这将意味着所选的单词的数目将随着搜索而变化,不过相关性的等级将是恒定的。
返回到图4,在步骤420中,存在许多用于确定矢量实体之间的相似性(即,距离)的方法。本领域所众所周知的一些相似性度量例如包括:骰子(Dice)系数和余弦系数。余弦系数表示两个矢量之间的点积并且计量了矢量之间的角度。在优选实施例中,相对于单词而言所述角度表示了两篇文档之间的相对紧密性,其中两个矢量都与该单词相对应。例如,单词″因特网″将具有文档D1中的矢量和文档D2中的矢量,而这两个矢量之间的小角度将表明这两个矢量与它们的典型文档D1和D2是密切相关的。在R.O.Duda、P.E.Hart和D.G.Stork(John Wiley & Sons,2000年)的Pattern Classification(模式分类)中给出了相似性度量的许多示例,将该篇文献在此引入以供参考。
返回到图2,根据在步骤230中确定的相似性来组织搜索结果项。在本发明的优选实施例中,步骤230包括两个步骤,如图7所示。在图7中的步骤710中,利用关于在步骤220中计算的相似性度量方面的标准聚类方法,来把搜索结果文档集合在一起或者″聚类″在一起。这将创建在不同程度上密切相关的文档的簇。聚类方法是本领域所众所周知的。优选实施例使用k步聚类法,这是一种用于把数据点聚类成数据点的不相交子集以使得平方和准则被最小化的算法。k步聚类法具有下列属性-(a)每个簇都具有一个中心,该中心是该簇中的所有数据点的平均位置;和(b)每个数据点都位于它最接近其中心的簇中。在William B.Frakes和Ricardo Baeza-Yates(Eds.)(PrenticeHall,1992年)的Information Retrieval:Data Structures &Algorithms(信息检索:数据结构与算法)的Edie Rasmussen的一篇文章″Clustering Algorithms(聚类算法)″中可以找到许多的聚类方法示例,将该篇引入于此以供参考。在步骤720中,把每个簇的矩心选择成文档中的那个簇的″典型的″文档。确定矢量实体的簇的矩心也是本领域所众所周知的,并且在Pattern Classification(模式分类)中能够找到矩心计算的示例,将该篇文献引入于此以供参考。
图8是图7的两步组织过程的概念说明。图8中的框800是矢量空间的一部分的表示。尽管在图8中是按照二维示出的,但是这个矢量空间将可能是M维的,其中M是在文档之间正在比较的单词数目。矢量实体A 851、B 859、H 857和I 853表示不同的文档。在图7的两步过程中,第一,把相似的文档(即,在矢量空间中靠在一起的矢量实体)集合起来,如包围簇A 851、B 859、Q和X的线810和包围簇H 957、I 953、P和M的线820所示。什么位于簇中的判断可能包括阈值(例如,相同簇中到最远矢量实体的最大距离,到簇的潜在矩心的最大距离,等等)。第二,确定每个簇的矩心(centroid)。在图8中,文档A 851是第一簇的矩心,而文档H 857是第二簇的矩心。依据搜索结果中的文档数目,可以具有多层的聚类,即簇内的子簇、子簇内的子子簇,依此类推。
图2给出了根据本发明优选实施例的方法的概要。图3-8以及它们所附的说明探究了实现图2中的步骤的具体装置。现在,图9将示出用于实现本发明优选实施例的具体示例性步骤的完整序列。
图9是根据本发明优选实施例的步骤的示例性序列的流程图。在步骤910中,确定全局文档组当中的所有项或一些项的文档频率。这个步骤的执行可能发生在特定搜索之前或之后。在执行搜索并返回搜索结果之后,在步骤920中确定构成搜索结果的电子文档中的一些项或所有项的项频率。在步骤910之后发生步骤920也是可能的。兼备步骤920的项频率和步骤910的文档频率,在步骤930中确定搜索结果文档中的一些项或所有项的TFIDF。
在步骤940中,将每个搜索结果文档被转换成TFIDF矢量实体。在步骤950利用搜索结果文档的相应TFIDF矢量实体,来计算这些搜索结果文档之间的相似性度量。利用该相似性度量,在步骤960中,通过聚类相应的矢量实体来把搜索结果文档集和成簇。最后,在步骤970中,通过选择相应矢量实体簇的矩心,来从每个簇中选择出典型文档。
图10示出了用于在执行根据本发明优选实施例的方法步骤之后显示搜索引擎结果的示例性web页面用户界面1000。在图10的web页面中显示在图8中已组织的一些搜索结果的链接。搜索结果以半层次格式(只有两层,即矩心和保留在簇中的其他文档)加以呈现。当web页面打开时,每个簇的矩心都只显示链接。每个矩心在它的左侧的框中都有一个″+″;当点击″+″时,会在矩心下面显示出第二级链接。在图10中,紧挨着矩心链接A 1051和H 1057的″+″框已被点击,所以在每个矩心链接下面显示出了第二层文档。按照递减相关性的次序示出所述第二层文档。因此,在矩心文档A 851的链接1051下面是所列出的文档B的链接1059、文档Q的链接以及文档X的链接。
与图1相反,如图10所示,本发明的优选实施例把强相关的文档集合在一起。这将使用户更容易理解搜索结果是如何分解为相关的类别的。例如,如果用户利用关键词″mason″来进行搜索,那么搜索结果就可能会落入两个基本类别:一方面是masons和masonry,而另一方面是freemasonry。在现有技术中,来自于两个类别的结果往往会交错,这使用户难以缩小他或她在期望的类别上的注意力。利用本发明的优选实施例,用户就会接收已经被分隔成两个类别″mason/masonry″和″freemasonry″的结果。
上述各种优选实施例的说明示出了本发明的一些优点。通过使用项的TFIDF,本发明考虑到了在区分文档过程中项有效的程度。根据搜索结果之间的关系来把搜索结果组织成簇,帮助用户立即确定了文档之间的连接。
本发明的在优选实施例中的许多参数可以由用户来设置。用户可以确定将在方法中使用那些项。例如,如果搜索结果是HTML文档形式的,那么该用户可以指明在方法中只使用了照片标记,由此使得根据他们的照片来聚类所述文档。该用户可以确定不同的全局组,根据这些全局组来确定全局频率。例如,如果本发明的实施例使用了来自于一个或多个词典中的预定fd值,则该用户就可以依据搜索来选择使用不同的词典(即,当大多数搜索结果为医学文章时选择医学词典,而当结果是法律文章时选择法律词典,等)。用户还可以确定可能会使用的不同阈值。例如,用户可以通过确定最大距离来相明簇的大小。作为另一个示例,用户可以为将在相似性度量步骤中比较多少矢量而选择值M。那样,用户就可以限制所需的计算量并很快接收到结果;或者增加计算量并接收更多精细区分的结果。
尽管已经示出、描述并指出了本发明当应用于其优选实施例时的基本新颖性特征,将要理解的是,在所述方法及所举例说明的装置的形式和细节和它们操作上的各种省略、替换和改变,都可以由本领域的技术人员在不背离本发明精神的情况下作出。举例来说,意图让基本上以实质相同的方式执行相同功能以实现相同结果的那些元件和/或方法步骤的全部组合都落入本发明的范围内。此外,应当认识到的是,可以把结合本发明的任何已公开的形式或实施例而描述的结构和/或元件和/或方法步骤并入到任何其它公开或者描述或提出的形式或实施例中,以作为设计选择的一般实质内容。因此,意在仅仅由这里所附的权利要求的范围来加以限制。