结构化文件的检索的制作方法

文档序号:6379518阅读:158来源:国知局
专利名称:结构化文件的检索的制作方法
技术领域
本发明涉及文件的检索,且更具体的是结构化文件的检索。
背景技术
随着计算机、网络、因特网等的增长的使用,常常为某个检索词(term)搜索文件。例如,搜索某个主题的个人或学生可在网络计算机、单机上或通过因特网用一特定的搜索引擎针对这个检索词搜索电子文件(下文称文件)。搜索引擎将利用基于计算机的文件检索技术返回包含这个检索词的文件目录。通常对一个查询所检索到的文件,按照每个特定文件符合所查询的检索词的程度进行排序。用户常常必须考虑整个文件以确定哪里存在特定的检索项(search term)。
通常,计算机中的存储单元以分层结构存储某个文件。某些结构化计算机语言,诸如依赖分层结构的可扩展标记语言(XML),使用标记或类似的方法,将数据结构化地编制进特定的节(section)或元素(element)。在一个可检索的结构化文件中,用户通常不知道特定的检索项存在于每个文件中的位置以找出文件中有关这个检索词的上下文。这种额外的用户时间和努力对于可扩展的查询可能是值得考虑的。
许多文件检索系统将文件看作能被查询和返回的相对小尺寸的离散的检索单元,因而不能进一步再划分文件。通常检索到的文件对于用户太大而无法以有意义的方式来分析。这样,用户常常不得不仔细地在数字图书馆计算机应用程序中审阅整个检索到的文件以确定相关检索词和/或相关检索词的上下文的位置。
段(passage)检索原则上类似于文件检索,但包含从文件中提取段的附加初始阶段。段检索的一个方面向用户返回更简明的答案。要实现这个,可使用例如检索词频率反向文件频率(term frequency inverse document frequency)(TFIDF)算法或这种算法的变异,将文件分解成定长的或预定义的部分,以在段或段落(paragraph)层上构建索引。但是,许多文件检索系统依赖的这个索引方法不能维护文件中各元素间的语义关系。另外,这种标引机制可导致多个离散的可检索的元素的形式,需要相当可观的计算机工作向用户提供有意义的文本。
概述本公开涉及检索结构化文件的可标量的(scalable)方法和关联的系统。
在一个方面,一种过程和关联的系统包括对包含多个结构化文件的数据库就一检索项执行查询。那些不包括这个检索项的结构化文件在初始查找过程中被搜出或滤出。通过根据每个个别的元素与这个检索项的匹配程度对个别元素排序,来判断相匹配的结构化文件,即包含这个检索项的那些结构化文件。这种排序判断告知用户,至少某些个别的元素可供用户访问。
在另一个方面,一种过程包括为一个检索项查询一具有多个元素的文件。基于这个检索项对这些元素中不同的元素的相关性加权。根据已加权的这些元素中不同的元素,对这些元素中的不同元素排序。另外,显示文件内多个元素的路径结构(pathstructure),其中,路径结构指出了文件内这些元素中不同的元素的相关性。基于文件的结构对结构化文件的这些元素标量。


在所有附图中同样的数字标注类似的部件和组件。
图1示出结构化文件检索系统的一个实施例的方框图;图2示出结构化文件检索系统的另一个实施例的方框图;图3示出一个使用分层索引的文件结构的实施例的方框图;图4示出分层索引的一个实施例的方框图,分层索引是使用诸如在图1或图2中所示这样的结构化文件检索系统,从图3的结构化文件得到的;图5a示出一个分层索引的一部分的方框图,这个分层索引包括包含在几个索引中的索引词;图5b示出在由两个子节点将共享的共同索引词传送至父节点之后,图5a中所示的分层索引的这个部分;图6是分层索引过程的一个实施例的流程图;图7a和7b示出结构化文件检索过程的一个实施例的流程图;图8a和8b示出结构化文件检索过程的另一实施例的流程图;图9示出显示结构化文件检索过程的一个输出的计算机显示的一个实施例;图10示出一曲线图,标示与Para TFIDF方法相比较的可伸缩结构检索过程的F值对阈值坐标;图11示出一条形图,标示TFIDF Para方法的标示动态阈值设定值;图12示出一的条形图,标示结构化文件检索过程的标示动态阈值设定值;以及图13示出计算机环境的一个实施例的方框图,诸如可被用于结构化文件检索过程的环境。
详细说明文件检索系统依靠搜索引擎,根据一或多个给定检索项或用户提供的词来定位,和可能显示,相关电子文件(下文为“文件”)。在因特网时代,文件检索系统用得更多(并且要求完成更多的挑战性操作)。结构化文件检索系统100的不同实施例,在图1和图2中所示的不同的实施例,特别适合于检索结构化文件。标准通用标记语言(SGML)和可扩展标记语言(XML)是产生和利用结构化文件的最新计算机语言的实例。根据来自用户查询的标引词(index term),结构化文件检索系统100检索文件的最相关部分,以替代检索整个文件。SGML和XML能使用用户定义的标记在其文件内不同地分类数据内容。标记既能定义文件的内容,又能定义文件的外观(appearance)。任何能产生以树或分层结构排列的文件的计算机语言都能利用如这里所述的结构化文件检索过程。
结构化文件特别适于有含义的信息检索,因为该文件的结构(例如层次)能提供存储在每一节中的数据信息。本公开的一个方面描述了搜索引擎如何能查找并检索与这个查找有关的文件的部分(例如,由标记或一些其它类似的机制区分的部分)。结构化文件检索系统能返回具有适当粒度(granularity)的结构化文件。文件的粒度可指出文件能被子划分的程度。粒度表示文件到不同元素的可划分性(divisibility)的量度。尽管通用结构化文件具有高度的粒度,而非结构化文件缺少相当可观的粒度,但这条规则也有例外。
本公开的另一方面描述如何利用索引方案在多个结构化文件中查找和使用多个路径中的一条路径。结构化文件检索系统能或者由它们自己或者在与文件的其它部分的关联中显示结构化文件的有关部分。
图1示出结构化文件检索系统100的一个实施例(基于网络的),包括客户端部分102、服务器部分104、数据库部分106和网络部分108。在图1中所示的结构化文件检索系统100的实施例是基于网络的。客户端部分102和服务器部分104通过网络部分108连接,使用标准网络通信协议在它们之间传送数据。系统通过网络部分108调用传送,以协助数据传送过程。在正常操作中,服务器部分104从数据库部分106存取数据。根据来自用户的查询(在客户端部分102)的某些检索项,结构化文件检索系统100查找存储在数据库106中的文件。
结构化文件检索系统的图2实施例包括独立计算机202和数据库部分106(数据库部分可以是独立计算机的一部分)。独立计算机202能用如在图1中所示的组合的客户端部分102、服务器部分104和网络部分108相似的方式从数据库部分106检索结构化文件(以在显示器上观看)。因此,可将由结构化文件检索系统访问的数据库部分与如在图2中所示的独立计算机或在图1中所示的网络系统配置在一起。尽管数据库部分106分别在图1和2中被示为独立于网络或独立计算机的组件。实际上,可将数据库部分集成在它们之中。有关诸如可与结构化文件检索系统100关联在一起的计算机结构更多的细节将在下面描述。
在不同的实施例中,数据库部分106存储包含以XML格式、以超文本标记语言(HTML)格式、以SGML格式或以其它结构化格式存储的数据的结构化文件。HTML是当前因特网上使用占统治地位的标记语言。HTML文件一般具有它们自己的结构。HTML被最常用于定义在计算机显示器上所显示的颜色、字体等。在结构化文件检索系统100的许多实施例中,在结构化查询中使用HTML与使用例如XML和SGML相比更困难,因为传统上在应用HTML时更关注显示风格而不是内容风格。相比较而言,XML和SGML是用户定义的且主要关注文件中的数据内容。HTML、XML或SGML都能应用于结构化文件检索系统100的不同实施例,尽管XML和SGML特别适合。存在着标记语言的多种变异和修改,它们都在本公开预定范围内。
结构化文件检索系统100在检索和显示文件中依靠文件的内容和上下文。结构化文件检索系统因此匹配结构化文件的内容(如语言)。结构化文件还向用户指明了文件检索到的部分的上下文。近似符合(approximate match)可用于信息检索。在查找每个结构部分后,确定匹配在每个结构化部分的发生的位置。
为了解释结构化文件检索系统如何检索结构化文件,对结构化文件的某些方面进行描述。图3示出结构化文件300的一个实施例的结构及其关联的诸如将由结构化文件检索系统100查找的元素。结构化文件300包括内容文件元素(content documentelement)302、至少一个内容章节元素(content section element)304以及至少一个内容段落元素(content paragraph element)306。大的文件将包含比图3所示多很多的内容章节元素304和内容段落元素。每个内容章节元素304从属地关联于内容文件元素302和/或另一个内容章节元素304。每个内容段落元素306从属地关联于内容文件元素302和/或一个内容章节元素304。从属关系的方向由具有向下箭头的线指示。换句话说,图3中线上的箭头从一个父节点流向一个子节点。如在图3中所示的内容段落元素306一般被结构化为叶节点元素,因为这样的叶节点元素没有其它从属的元素。
是否将文件的一个特定部分(即文本、图像、表等)表征为内容文件元素302、内容章节元素304或内容段落元素306,都取决于与每个特定元素关联的标记。在XML、SGML、HTML和其它标记语言中所使用的标记是众所周知的,且除了要注意XML和SGML两者都利用用户定义标记外,在这里将不再详述。因此,在一个特定的文件内,内容文件元素302、内容章节元素304和内容段落元素306的特定术语(terminology)能由用户或编程者规定。意图是内容文件元素302、内容章节元素304和内容段落元素306可用不同的名称或术语来描述,同时保持在本公开设定的范围内(对于相关于图4所述的元素也是正确的)。
结构化文件检索系统100文件的内容、上下文及分层结构。图3示出结构化文件的内容结构300的一个实施例的方框图。相比较而言,图4示出使用文件检索系统从结构化文件的内容结构300导出的分层索引400的一个实施例的方框图。可使用分层标引机制将文件的内容结构300(诸如在图3中所示)结构化地映射到分层索引400(诸如图4所示),在分层标引机制中将内容元素以一对一关系映射到分层索引元素。分层标引机制平等地对待位于不同层次上的文件元素并给所有元素分配合适的标引词。
将文件的内容结构300映射到分层索引400(分别如在图3和4中所示)生成一个包括文件索引元素(document index element)312、至少一个章节索引(sectionindex)314和至少一个段落索引(paragraph index)316的结构。为了维护一对一映射,每个内容文件元素302由分层标引机制映射,变成一个文件索引元素312。每个内容章节元素304由分层标引机制映射,变成一个章节索引元素314。每个内容段落元素306由分层标引机制映射,变成一个段落索引元素316。每个文件索引元素312、每个章节索引元素314和每个段落索引元素316可存储和传送标引词。文件中的元素(或者为构成在图4中所示的分层索引400的文件索引元素312、章节索引元素314和段落索引元素316;或者为构成在图3中所示的内容结构300的内容文件元素302、内容章节元素304及内容段落元素306)能够被看成如一棵概念树(concept tree)那样排列。在概念树中,较上层的元素表示覆盖它下面所有概念的更广泛的概念。
可通过使用常规的基于关键词的查询,运用可标量的元素检索策略(scalableelement retrieve strategy)获得具有任意粒度的相关文件元素。结构化文件检索系统100包括一个分层标引机制和一个算法。标引词按照检索词频率(term frequency)和位于不同层次上的元素的分布,在XML文件的树结构中传播(propagate)。因此,如图3中所示的每个文件索引元素312、章节索引元素314及段落索引元素316存储标引词,依赖于相应的检索词出现在如图4中所示的各自的内容文件元素302、内容章节元素304及内容段落元素306中的频率。算法(即可标量的文件元素检索算法)基于分层标引机制来选择其合适的文件元素。可标量的文件元素检索算法基于包含在文件索引元素312、章节索引元素314及段落索引元素316中的这个索引结构实现。
图4中所示的分层索引400被分层次地结构化(与在图3中所示的内容结构300一样),并且同样地,包括父节点和子节点。每个父节点高于且包含那个父节点的子节点。在分层树(及其它树)结构中,子节点应继承父节点的属性。因此,父节点应该是子节点的最高概念(super concept)。例如,使用一个实例,如在图5b中所示的文件检索实例,中国是中国历史、中国经济、中国文化等的最高概念。因此,中国历史元素、中国经济元素和中国文化元素应各自继承中国元素的属性。
结构化文件检索系统100在某种程度上克服了可能在结构化文件检索中存在的文本长度标准化和阈值设定值困难。整个文件常常对用户来说太大而无法有效地分析或确定某些检索词的上下文。这可能对于用户,尤其是那些正在分析较长文件的用户,只分析文件的一部分是有益的。另外,指出在文件的显示部分和文件的其它部分之间的上下文(即关系)可能是重要的。
XML和SGML(还有HTML)代表了用尤其是面向分层标引和结构化文件检索的结构提供结构化文件的计算机语言。典型的XML或SGML文件包括一组逻辑元素(诸如标题、章节、小节、段落等)。XML和SGML文件一般基于分层关系结构化,因而非常适用于分层标引及结构化文件检索系统100。XML和SGML提供一种标准和有效的方法,可使用用户定义的标记清晰地表示文件结构。
在本公开的一个方面,文件检索不提供有效的信息检索,除非用户能检索文件中任意层次的元素。根据一个查询检索一组非常长的文件对于用户常常很少有用,除非为用户提供一些机制导出在文件内的检索项(或标引词)的上下文。获得文件中任意层次的元素,让结构化文件检索系统100适合于查询具有不同长度和结构的文件。这样,检索系统可只向用户返回如由用户确定的有关元素。
结构化文件检索系统100的一个方面是利用检索更直接的数据的检索技术(例如,使用标引技术)。结构化文件检索系统100使用基于关键词的查询(诸如普遍用于文件检索的以检索有关的文件元素),通过具有任意粒度修改这个查询。本公开的一个方面包括两个部分-新颖的分层标引机制和一个算法,这个算法基于如在图4中所示的文件的分层索引400选择和显示适当的文件元素。
某些优先方法(prior approach)只将标引词分配给叶元素或定长段。不同层次上的元素被分配相同的且合适的标引词。结构化文件检索系统100使用分层标引机制分配能精确描述每个元素的固有概念的标引词,同时滤去具有太广或太窄语义的检索词。假设一个关于“中国”的实例文件,它包括一个章节“历史”,这个章节还依次包含诸如“唐代”、“明代”和“清代”等这样的小节。对于章节“历史”选择合适的标引词是具有挑战性的。“中国”看来是一个相对宽的检索词,将提供太多的结果。相比较而言,“唐”、“明”和“清”看来是较窄的检索词,可能错过相关文件。诸如“历史”和“朝代”这样的检索词看来是合适的候选检索词。
图5a和5b示出在分层索引400的一部分中适当地过滤标引词的一个实施例,分层索引400包括一个章节索引元素314和两个段落索引元素316,每个段落索引元素被设置为父章节索引元素的子元素。过滤标引词减少了当标引词存在于分层索引400的父节点或元素中时在子节点或元素中重复的标引词的出现。另外,过滤标引词限制在多个子节点或元素中标引词的重复,这些子节点或元素是分层索引400中的同一父节点或元素的每个子节点或元素。在图5a和5b中的章节索引元素314和段落索引元素316的使用是任意的,但被选择来表示以父子结构排列的索引元素(可包含标引词)。段落(即,子)索引元素316可以或可以不是叶节点。
在图5a中,一个子索引元素356包括标引词“中国”和“历史”,而另一个子索引元素356包括标引词“中国”和“经济”。父索引元素354不包括标引词。文件中的索引元素可被排列成一个概念树,在概念树中父索引元素354表示更宽的概念,它应用于所有在父索引元素354下面的子索引元素356的概念。将分层标引结构排列成一个概念树,在概念树中可将标引词过滤到最少的元素中,这样提高了搜索引擎的性能,因为在子索引元素356中共同的检索词不必在所有个别的子元素中搜索。取而代之的是,必须在父索引元素354中搜索一次检索词。
这里描述的分层标引机制自动地按照自底向上的传播方式为每个元素选择合适的标引词。在一个实施例中,结构化文件检索系统100的标引方法确保在一个元素中出现的标引词不出现在这个元素的任何子元素中。此标引方法节约了相当可观的存储空间和检索时间。而且,这种分层标引机制避免了结果聚集(results aggregation)潜在的问题,因为检索过程可直接获得想要的元素,归因于标引词在整个文件树精确分布。这种在大文件查找和检索过程中节省的时间将导致时间的相当可观的节约。
图6显示了应用于文件检索系统100的分层标引机制470的一个实施例。分层标引机制470始于472,在文件最低层选择一个元素。例如,在图5a中所示的分层索引400中提供段落索引元素316之一。分层标引机制继续至474,在那里为所选择的元素标识零或多个分层标引词。
分层标引机制继续至判定478,在这里确定文件中是否有任何另外的元素要考虑。注意472、474和476建立一个循环,这个循环为分层索引400中的每个元素考虑标引词。在一个实施例中,用户可限制对分层索引400的某些章节的考虑,由于可通过在运行期间由计算机提供的提示或者可通过由预先的用户限制选择用户想要查找的区域,用户可限定分层索引400的某些章节。
接着分层标引机制470的472、474和476部分的循环,分层标引机制继续至478。在478,对于分层索引中的每个标引词,恰当的检索词在分层索引400中从子元素向父元素传播。这种检索词从子元素向父元素的恰当传播可等同于与如在图5a和5b中相关的所述的“过滤过程”例如,用户提交查询“中国的历史”时,一个检索到的文件标题是“中国”,而一个章节是“历史”。最合适的路径是从标题“中国”到章节“历史”,因为“历史”章节与标题“中国”最有关联。因此,从查询“中国的历史”,章节“中国”和“历史”构成索引路径;查询中国历史的用户回行这个路径。
这个方法的另一部分使用可标量的算法以选择合适文件元素满足用户的信息需求。应用于结构化文件检索系统100的术语“可标量的”表示这个算法可按照用户查询概念的范围检索任意粒度的相关文件元素。由于如图4所示的分层索引400提供了一个直接检索具有任意粒度的文件元素的有效方法,所以检索算法按照查询排序候选元素是很重要的。尽管在图5a和5b中所示的分层索引400包含三个标引词314和316,但是图4所示的分层索引包括十一个索引元素。另外,在一个大文件中索引元素的数量可以非常大。
在一个方面,文件检索系统100是可标量的。结构化文件检索系统的某些实施例允许用户在多种多样的结构和/或粒度中检索文件并显示章节文件。例如,用户可执行宽泛的检索以访问整个文件。因此,用中国这个实例,用户可访问“中国”标引词,它产生检索到的文件的整个分层索引400。另外,用户能执行中等的检索过程以检索如图4所示的对应于“中国历史”的章节索引元素314。最后,用户能通过检索对应于清代的在图4中的段落索引元素316或章节索引元素314访问文件的一个范围很窄的部分。
如下所述的路径排序算法(path ranking algorithm)允许以有意义的方式检索和显示文件。使用特定的索引以检索具有结构化信息的数据在许多领域(例如数据库、IR(情报检索)和XML)都有应用。结构化文件检索系统100包括直接映射至文件结构的分层索引400。分层标引机制确定哪一个索引检索各种粒度的文件元素,而对用户的查询语言不作限制。例如,结构化文件检索系统100既能应用于相当长的文件,又能应用于相对简短的文件。对于文件树中的每个元素或组件,在索引树中有一对应的索引元素或组件。当查询进来时,搜索引擎使用索引树定位一条或多条最相关的组件路径(即与用户的查找最相关)。这条组件路径通过一或多个章节元素304(从根路径或文件元素302),至相关的个别段落元素306,如在图3中所示的被称为路径的根。结构化文件检索系统给用户返回路径的根。
对于每个文件,建立与文件具有相同结构的分层索引400。因此,分层索引400的结构反映原文件的内容结构300。标引词按照它们在文件中表示概念的普遍程度分布在所有元素中。为了有效地将一个标引词分配给一个元素,这个标引词应该表征这个元素的概念,同时将这个元素与其它元素区分开来。这样,为一个元素选择标引词,应该考虑在这个元素中的检索词频率和分布。而且将这个标引词的权重要与在这个元素中的其它标引词比较。选择排在最上面的标引词作为这个元素的标引词。如果一个标引词频繁出现且均匀分布在一个元素的文本中,且还具有大于一个阈值的排名,那么应该将这个标引词考虑为这个元素的一个标引词。
结构化文件检索系统100利用了某些结构化文件的分层结构。分层文件(代表结构化文件的一种类型)包括父元素和子元素之间的关联。检索词在父元素中的分布通过考察该检索词在这个父元素的子元素中的出现次数是可计量的。在一个实施例中,这种分布量只应用于该父元素直接下层的子元素,因为每个元素的主题应该由其直接子元素支持。如果一个词均匀地分布在一个章节或文件的子元素中,则这个词将是这个章节或文件的合适的候选标引词。信息理论定义熵(entropy)为捕获的信息内容(或信息不确定性)的一个专用概念。在一个实施例中熵是测量检索词在一个元素中分布的一个有用判据。
如在图3中所示的段落元素306被分类为“原子(atomic)”元素,因为没有段落元素306具有子元素。因此,传统的TFIDF测量可应用于加权在一个单一段落元素中的检索词。一个检索词对于段落元素306的权值变成Weight(ti,Pj)=ln(1+tf(ti,Pj))×lnNni---(1)]]>Weight(ti,Pj)代表段落Pj中的检索词ti的权值,“tf(ti,Pj)”是ti在这个段落中的检索词频率。N表示全集(corpus)中文件的数量,而ni表示包含检索词ti的文件数量。
对于在其它层上不是原子元素的元素(例如,章节元素304和文件元素302),将检索词频率和检索词分布结合起来为检索词词提供权值。这样,在任意的复合元素Ej中的检索词ti的权值可被定义如下
Weight(ti,Ej)=ln(l+tf(ti,Ej))×I(ti,Ej)(2)“I(ti,Ej)”是在元素Ej中检索词ti的熵测量,并被定义为I(ti,Ej)=-ΣSubk∈Ejtf(ti,subk)×lntf(ti,subk)tf(ti,Ej)-ΣSubk∈Ejtf(ti,Ej)N(sub)×ln1N(sub)---(3)]]>=-ΣSubk∈Ejtf(ti,subk)×lntf(ti,subk)tf(ti,Ej)-tf(ti,Ej)×ln1N(sub)]]>其中,sudk代表Ej的第k个直接子元素,以及N(sub)代表这样的子元素的数量。
在计算式3中,检索词-tf(ti,Ej)×ln1N(sub)]]>在标引机制中扮演了重要角色。检索词频率在不同的元素中变化很大,由于它们的文本长度的很大不同。熵测量可能遇到象其它文件或段检索方法所面临的同样的长度标准化问题。当假设在一个元素中这个检索词的所有出现完全等同于在这个元素的每个子元素中的所有出现时,熵测量允许产生熵,这个熵是这个检索词的熵的理论最大值。这个理论最大值的大小(proportion)是检索词的分布量度。稍后的实验证实这个计算几乎能权衡在不同层上的元素中各种检索词频率的副作用(side effect)。
为比较在不同元素中权值,进一步标准化检索词的权值。由计算式1和2获得的检索词权值除以在同一元素中所有检索词的最大权值。这样,所有词的权值都落在0和1之间的范围中。
如上面所提到的,其权值超过某个阈值的检索词或元素应该传播至上层,因为它可能代表更一般的概念。可按照在一个特定的元素中检索词的权值的统计量动态地调整阈值。这个动态阈值设定值的不同实施例或由用户、或由如在图13中所示的计算机环境的操作者执行,或根据这里所公开的概念自动执行。明确地说,一个检索词可被选择作为一个元素的标引词,当且仅当其权值大于这个元素中所有检索词的权值的平均值加标准偏差。换句话说,在子元素中的标引词能向上传播至他们的父元素,倘若它们的权值满足这个阈值约束。这样,标引机制的一个实施例能被概括如下1.对于每个段落元素306,按照计算式1计算检索词的权值。
2.遵循自下而上的方式,对于在上一层的任何元素Ei(即章节元素304或文件元素302),使用计算式2计算检索词的权值。如果Weight(ti,Ej)≥average(Ej)+std_dev(Ej),则检索词ti被选择为元素Ej的标引词,并且Ej的所有子元素将从它们的标引词列表中去掉ti。这里average(Ej)表示元素Ej中所有检索词的权值的算术平均值,以及std_dev(Ej)为这些权值的标准偏差。
3.重复2直至根元素即文件元素302为止。
这种标引解决方案完全利用了文件的内部结构。由于所有在同一层中的检索词都相互比较,并且在计算中放入了理论最大值作为标准化因子,所以在不同元素中文本不同长度的影响被最小化。另外,平均值加标准偏差的阈值为确定一个特定元素的标引词提供了一个动态局部优化值。另外,元素的标引词不必要求出现在这个元素的所有子元素中。这样,可检测到更多典型的标引词而不仅仅是标题中的少数词。
在图7a和7b中示出结构化文件检索过程400的一个实施例。结构化文件检索过程检索文件中与用户最相关部分而不是检索整个文件。任何具有树或分层结构的计算机语言都能利用这里所述的结构化文件检索过程。在图1中所示的结构化文件检索系统100的一个实施例中,要单独地查找每个章节和段落。
结构化文件检索方法始于402,在这里用户使用标引词提交一个查询,至结构化文件检索系统100中的初始搜索引擎(initial search engine)以查找多个结构化文件。初始搜索引擎通过从不包含一个或多个检索项的全体文件中滤出那些包含一个或多个检索项的全体文件来响应原始查询。
在结构化文件检索系统的某些实施例中,由用户在402提交的查询可以是在显示所返回的文件之前来自用户的最后输入。这个方法继续至404,在这里搜索引擎针对标引词在所有结构化文件上执行查找。在404中所使用的搜索引擎可被设置为针对标引词一起查找全体文件,或查找所有个别的元素。然而,在404过程中,对于所给定的检索项完整地查找所有文件。这个初始搜索可由多种多样的搜索引擎中的任何一个执行,其中许多是可商用的且在广泛使用。因此,402和404以与现在使用的大部分的搜索引擎相似的方式动作,搜出不包括任何包含在用户查询中的检索项的那些文件。
结构化文件检索过程400继续至判定406,在这里确定特定的结构化文件是否包含标引词。如果给判定406的答案是“否”,则结构化文件检索过程400继续至408,在这里那些不包含任何检索项的文件被搜出(即滤掉)。那些408适用的文件不再被结构化文件检索过程400进一步考虑(即结构化文件检索过程400终止),因为它们不包含任何在查找中所使用的相关标引词,因此,这些文件不会引起用户的兴趣。
如果对判定406的回答是“是”,那么结构化文件检索过程400继续至410,在这里用户和/或结构化文件检索系统100选择那些结构化文件进一步查找。410是可选的,且过程400能代之以直接继续至412。结构化文件检索系统100继续至412,在这里结构化文件检索系统100使用映射自动建立与结构化文件具有相同结构的分层索引400。以图3和4为基准描述这个分层映射过程的一个实例。在402、402、406、408和410中匹配的那些文件中,逐个地评定文件的各个元素。返回包含匹配检索项的路径的终结元素。将只查找那些是一个匹配的父元素的子元素的段落。
结构化文件检索过程400继续至414,在这里对结构化文件的每个元素中的标引词加权。这个加权确定了文件中每个元素的相关性。在414中的加权,它清楚地考虑每个元素,不同于404的全面地查找每个文件。关于414的进一步的细节在下面描述。结构化文件检索过程400以XML结构继续至416,在这里它查找最高层并匹配,然后对于任何匹配的检索词查找下一层。
结构化文件检索过程400继续至418,在这里显示那些具有最接近的匹配的文件。在本公开的一个实施例中,结构化文件检索系统100显示一个元素,以及这个元素的上下文。例如,如在图9中所示且在下面所述的,计算机显示窗口的右边显示一个或多个元素的相关部分。同样,用户还有访问相邻元素的能力。窗口的左边显示窗口的上下文,在这里显示表示结构化文件的不同元素的结构。在一实施例中,还可显示出文件的不同元素的排序。对于每个文件,可以存在多于一条被显示的路径。因此,用户不必查找整个文件以找出单个检索项的出现,而可只查找路径。
图8a和8b示出结构化文件检索过程400的另一个实施例,类似于图7a和7b所示的实施例,除了不包括412和414以外。可单独执行412和414的加权和/或分层标引过程,且结果可在图8a和8b中所示的路径排序过程中利用。例如,可以预见结构化文件检索过程的供应商也能独立地提供包括被索引的和/或被加权的标引词的版本。可分别考虑加权和索引过程,因此,结构化文件检索过程400的一个实施例可以加权但不索引,或索引但不加权。
现在以在图3中所示的结构化文件为基准描述检索词加权。检索词由结构化文件检索系统100加权。检索词加权提供了一种机制,通过这种机制可量化一个特定元素的相关性。在结构化文件中的标引词被加权后,也可如这里所述的对标引词排序。
在本部分,描述选择合适的文件元素的可标量检索算法的实施例,它基于分层索引400向用户显示。由于分层索引400提供直接检索具有任意粒度的文件元素的有效机制,所以检索阶段的主要任务是在线查找和排序候选元素。结构化文件检索系统100的某些实施例提供一个界面,这个界面显示每个被检索元素及其结构化的上下文以便于用户以一个方便的方式浏览检索的结果。所显示的用户界面对用户起着重要的作用,因为在许多实施例中,它基于用户输入的标引词显示每个元素的排序(相关性)。
对于每个文件,结构化文件检索系统100使用路径排序算法计算所有候选元素对一个查询的相关性值。可将一个元素的路径看作是在文件树中根(文件元素)和这个元素(包括根元素和这个元素)之间的所有元素。如果一个元素是另一个元素的祖先,它的路径是后者路径的子集。依照分层标引机制的一个实施例,一个元素不与它的后代共享任何标引词。因此,元素通过它的路径被完整地描述。因此,元素排序问题可转化为路径排序问题,即,目标是找出对于查询具有高相关性值的那些元素路径。
考虑上述中国查询,对于返回的文件“中国”,在文件层上的标引词可能包括“中国”、“中国人”,而章节“历史”的标引词可能是“历史”、“朝代”等。对于查询“中国的历史”,章节“历史”的元素路径包含所有查询的检索词,而文件“中国”的元素路径只包含一个查询的检索词。这样,章节“历史”对于这个查询是一个较好的答案。
元素的顺序在确定元素与查询的相关性中是重要的。元素路径的检索词的权值被定义为它在沿着该路径的元素中的权值,这个路径的标引词列表包含这个检索词。按照一个给定查询的路径的顺序被定义为Rank(Pathp)=Σi=1QWeight(ti,Ej)×lnNni---(4)]]> 是查询检索词ti的反向文件频率(inverse document frequency)(IDF)值,它表示查询检索词的权值,而Q代表在一个查询中的查询检索词的数量。
已知一个到达的查询,为了缩小查找空间,可先用传统的文件检索技术得到一相关文件的目录。然后当用户选择这些相关文件中的一个时,系统查找这个文件的所有候选元素并按照这个查询排序它们的路径。
排序元素的全部过程如下所述。找出所有包含至少一个查询检索词的元素。为所有候选元素获得路径,并且将查询检索词对于元素的权值分别分配给路径。按照计算式4对加权的路径排序。以降序返回(并通常显示)对应于所有或选择一些被排序路径的元素。
在结构化文件检索中一个长期存在的问题是如何返回适当的元素,它们能最佳满足(例如相关于)用户的查询需求。结构化文件检索系统100使用所有检索到的元素的排序的平均值作为一动态阈值。具有大于这个阈值的排序的元素作为结果返回。稍后的实验示出能基于这个动态阈值达到准确的元素检索。
由结构化文件检索系统100以其结构化的上下文来显示所有返回的元素,这既能表示一个返回元素在文件树中的位置,又能表示这个元素周围的元素,如在图9中所示。
图9示出具有给定查询“清代”的可标量的检索系统界面的一个快照。因此,图9能提供文件检索系统界面的一部分。对于名为“中国”的文件返回了相当大数量的元素。在返回的元素中有章节与段落。最高的一个元素是一个具有标题“满清朝代”的章节,这个章节是专门描述中国历史中的清代。这个章节在这个文件的标题为“历史”的章节之下。左边的浏览窗格(pane)显示每一章节或段落相对于这个文件的位置。因此,在左边窗格内描述与每个元素的上下文有关的信息。相比较而言,当用户点击文章“清代”时,整个文件被访问,因为整个文件都集中在这个主题上。读取上一层的文本元素以获得更一般的概念描述。带星号的标题说明这些元素的排序大于动态阈值的平均排序。
本公开的这部分评价用结构化文件检索系统100描述的文件检索方法400的性能。还考虑了阈值设定值的效果。实验在Encarta(微软的电子百科全书)多媒体百科全书文集上进行,截至撰写本公开的日期,它包含超过40,000较佳良结构化的XML文件。查询组包括如在表1中列出的10个查询,看上去类似于诸如可能由结构化文件检索系统100的典型用户输入的查询。能通过只向用户显示相关文件的一部分(即一个元素)最好地回答每个查询。
初步的实验结果示出不仅结构化文件检索系统100执行得显著好于比较的方法,而且它在某种程度上克服了文本长度标准化和元素选择阈值的困难,这是两个长期存在于结构化文件检索和段检索中的问题。
为例示本文件检索系统的好处,用TFIDF Para(检索词频率反向文件频率段落)实现了一个段检索系统,与结构化文件检索系统100比较。在按照TFIDF Para系统的一个实施例中,只使用段落作为段而同时忽略其它结构化信息。在一个段落中检索词的权值可由常规TFIDF测量在没有标准化的情况下定义,它提供与计算式1相似的结果。
表1.用于元素检索评价的查询

在段检索或结构化文件检索上的先前的工作把它们的评价集中于段层次数据对于检索整个文件的影响。这些进行的专门实验中没有一个专用于评价元素检索的有效性的。作为开发结构化文件检索系统100的一部分,如上所述,进行了一系列的实验,以便测试可标量的检索方法针对用户查询找出合适粒度的元素的能力。
假设一个研究军事行动历史的用户想要找出“在沙漠风暴中使用了什么军用飞机”。初始查找可能产生军用飞机和海湾战争两篇文章作为高排序的结果,两者都包含具有相关内容的一部分。用户必须扫描每个文件(通常相当长)以从整个返回的文件找出相关内容。
由评价人(human assessor)做相关性判断。对于每个查询,由评价人判断和选择文件中的相关元素。这里所使用的测量法类似于在文件检索中所使用的。查全率(recall)是已经检索到的相关元素的百分率,而查准率(precision)为被判断为相关的检索到的元素的百分率。由于返回的元素应该被认为具有较少数量的相关元素,所以不在不同的查全率等级上计算各种查准率数值。取而代之的是,计算总查全率和查准率等级,并用来提供如在计算5中所述的一复合的F-Value(F值)的主要部分。
F-Value=21/recall+1/precision---(5)]]>当判断多少百分率检索到的元素应作为答案返回给用户时,使用从0.1到0.9的固定阈值和动态阈值两者。动态阈值由所有检索到的元素(对于每一个选定的文件)的排序值的平均值(Avg)和这些值的标准偏差(Std_Dev)确定。这样“Avg(平均值)”和“Avg+Std_Dev(平均值+标准偏差)”在这个实验中被用作为动态阈值。比较由具有各种阈值的这两种方法获得的F值,并示于表2。
表2.具有不同阈值的可标量的检索和TFIDF Para方法得到的平均F值

表2中的F-Value(F值)示出结构化文件检索过程400与以前的方法相比较的改进。F-Value(F值)是范围从0到1的匹配的测量,其中1表示完全匹配而0表示不匹配。表2示出具有不同阈值设定值的可标量的检索系统显示在检索性能上显著提高,高于另一个涉及直接对段落层应用TFIDF测量的检索方法。
另外,通常用户在处理由可标量的检索方法提供的更简短且更直接的结果(依照评价人的反馈)时更舒适。这种额外的用户舒适主要归功于结构化文件检索系统100的分层的上下文结构显示,在这里用户可观看整个文件的组织、相对于整个元素的检索到的元素的上下文和这个特定元素的内容(或这个元素的一部分)。
由于可标量的检索方法能按照查询的说明以可能是段落、章节或整个文件的不同粒度返回元素,所以元素的文字上下文被保存在结果中,而以前的结构化文件或段检索系统只返回固定等级的段。例如,查询“清代”可最佳地由在文件“中国”中“历史”章节下具有标题“满清朝代”的章节支持。在这个章节中包含许多段落。在结构化文件检索系统中,这个章节对于此查询出现在这个文件的第一位置。然而,具有段落层排序的个别的段落在TFIDF Para系统中被排序。用户不清楚在只是按照它们对此查询的个别的数据(evidence)而排序的这些段落之间的相互关系或上下文。因此,分层标引加可标量的检索实现相对高的检索性能且还提供用户界面友好的结果显示,由于它完全使用文件的原始结构化信息。
阈值设定值对于要获得想要的元素的结构化文件检索是重要的。在某些现有的文件检索系统中,阈值固定于0.2。有关结构化文件检索系统100的实验指出使用单一阈值不能使系统对于所有查询总是性能最佳,因为将被查询的文件在结构和长度上变化很大。因此,结构化文件检索系统100利用动态阈值取代不变的(即静态的)阈值。
考虑不同的阈值如何影响这两种方法的检索性能。图10在曲线图600中图示了上述实验中获得的固定阈值的结果。在曲线图600中,将F-Value(F值)绘制为横坐标,相对于阈值为纵坐标。图10示出可标量的检索方法曲线602(由可标量的检索方法生成)比由TFIDF Para方法获得的TFIDF曲线604平坦得多。TFIDF Para性能随着阈值改变大不相同,如在TFIDF曲线604中所示。在TFIDF曲线604中由TFIDF Para获得的最高F-Value(F值)是0.55(在阈值0.4处),比最低值0.28(在阈值0.9处-未示出)大93%。相比较而言,可标量的方法曲线的F-Value(F值)的最大值(在阈值0.7处)和最小值(在阈值0.1处)只相差16%。这表示分层标引和可标量的检索机制使检索过程对阈值设定值不太敏感的事实。这里所述的值与百分比实际上是说明性的,而不是想要限制范围。
第二,考虑动态阈值的影响。图11和12显示相对于阈值绘制的(在动态阈值情况下、没有阈值的情况下和在固定阈值的情况下获得的)F-Value(F值)。在图11中,TFIDF条形图700的动态阈值设定值显示了平均值702、平均值加标准偏差值704、无阈值706及最大值708。在图12中,可标量的检索条形图800的动态阈值设定值显示了平均值802、平均值加标准偏差值804、无阈值806及最大值808。TFIDF条形图700的动态阈值设定值和可标量的检索方法条形图800的动态阈值设定值分别表示TFIDF Para方法和可标量的检索方法的性能。图11表示使用动态阈值不能使段落检索方法达到最佳性能。然而,如在图12中所示,可标量的检索方法在使用平均排序的动态阈值时能达到更高的性能。这证实了动态阈值对于固定阈值是个好的替换,且它可以更适应于各种文件的查询。
Encarta在线和Encarta光盘版本都可被修改,通过集成可标量的结构化文件检索系统100以向它们增加可标量的检索功能。对于任何包含结构化文件(例如,使用XML、SGML,某些HTML应用等)的数据库产品,这种技术能用来提高查找和检索的性能。
图13示出包括一个用户界面的合适的计算机环境或网络500的实例,这个用户界面能使用正确的软硬件提供结构化文件检索系统100的一个实施例。相似的资源可使用这个计算机环境和在这里所述的过程,来执行例如,在图5a、5b、6、7a、7b、8a和8b中所示的与计算机相关的过程。
在图13中所示的合适的计算机环境500是一通用计算机环境,它能用来执行如上所述的结构化文件检索系统100的技术。计算机环境500只是计算机环境的一个实例,而不是旨在提出对有关计算机使用范围或功能性或和网络结构作任何限制。也不应该把计算机环境500解释为对于典型计算机环境500中所示组件的任何一个或组合有任何依赖或要求。
计算机环境500包括以计算机502的形式的通用计算设备。计算机502可以是,例如,一台或多台独立的计算机、连网的计算机、主机计算机、PDA、电话、微机或微处理器或任何其它使用结合存储器的处理器的计算机设备。计算机502的组件可包括,但不限于,一个或多个处理器或处理单元504(可选地包括密码处理器或协同处理器)、系统存储器506和连接包括处理器504和系统存储器506在内的不同系统组件的系统总线508。
系统总线508代表几种总线结构类型中的任何一种或多种,包括存储器总线或存储控制器、外部设备总线、加速图形端口,和使用多种多样总线结构的任何一个的处理器或局部总线。作为例子,这样的结构可包括工业标准结构(ISA)总线、微通道结构(MCA)总线、扩展工业标准结构(EISA)总线、视频电子产品标准协会(VESA)局部总线和,也被称为中间层(Mezzanine)总线的外设部件互连(PCI)总线。
计算机502一般包括多种多样的计算机可读介质。这类介质可以是任何由计算机502可存取的可用介质,且包括易失的和非易失的介质及可移动的和不可移动的介质。
系统存储器506包括以诸如只读存储器(ROM)512这样的非易失存储器和/或诸如随机访问存储器(RAM)510这样的易失存储器的形式的计算机可读介质。基本输入/输出系统(BI0S)514,包含帮助在计算机502内各部件之间传送信息的基本例程,诸如在起动期间,被存储于ROM512。RAM510一般包含可由处理器单元514立即访问的和/或目前在其上运行的数据和/或程序模块。
计算机502还可包括其它可移动的/不可移动的、易失的/非易失的计算机存储介质。作为例子,图13示出用于从不可移动的非易失的磁介质(未示出)读写的硬盘驱动器515、用于从可移动的非易失的磁盘520(例如,一“软盘”)读写的磁盘驱动器518,以及用于从诸如CD-ROM、DVD-ROM或其它光介质的可移动的非易失光盘524读和/或写的光盘驱动器522。硬盘驱动器515、磁盘驱动器518和光盘驱动器522每个都通过一个或多个数据介质接口527连接到系统总线508。可替换地,硬盘驱动器515、磁盘驱动器518和光盘驱动器522也可通过一个或多个接口(未示出)连接到系统总线508。
磁盘驱动器及其关联的计算机可读介质为计算机502提供计算机可读指令、控制节点数据结构、程序模块和其它数据的非易失的存储。尽管这个实例示出了在硬盘驱动器515内的硬盘、可移动磁盘520和非易失的光盘524,要理解为还有可存储计算机可访问的数据的其它类型的计算机可读介质,诸如磁带或其它磁存储设备、闪存卡、CD-ROM、数字通用盘(DVD)或其它光存储、随机访问存储器(RAM)、只读存储器(ROM)、电可擦除只读存储器(EEPROM)等等,可被用于实现典型计算机环境500。
任何数量的程序模块,包括作为例子的OS(操作系统)526、一个或多个应用程序528、其它程序模块530和程序数据532,都能存储在包含在硬盘驱动器515的硬盘、磁盘520、非易失光盘524、ROM512和/或RAM510上。每个0S526、一个或多个应用程序528、其它程序模块530和程序数据532(或它们的一些组合)可实现所有或部分支持分布式文档系统的常驻组件。
用户可通过诸如键盘534和指点器536(例如,“鼠标”)这样的输入设备将命令和信息键入计算机502。其它输入设备538(未详细示出)可能包括麦克风、操纵杆、游戏垫、卫星天线、串口、扫描仪和/或类似的设备等。这些或其它输入设备可通过连接到系统总线508的输入/输出接口540连接至处理器单元504上,还可通过其它接口和总线结构连接,诸如并行接口、游戏端口或通用串行总线(USB)。
显示器、平板显示器或其它类型的计算机显示器200也能通过诸如视频适配器544的接口连接至系统总线508。计算机显示器能够显示如在图9中所示和上面所述、来自结构化文件检索系统100的这样的输出。除计算机显示器200以外,其它输出外部设备可包括诸如扬声器(未示出)和打印机546这样的组件,它们可通过输入/输出接口540连接到计算机502。
计算机502能在使用逻辑连接至一个或多个诸如远程计算器设备548这样的远程计算机的网络环境中运行。作为例子,远程计算机设备548可以是个人计算机、便携式计算机、服务器、路由器、网络计算机、同等设备或其它普通的网络节点、游戏控制台等等。远程计算机设备548可例示为便携式计算机,它能包括许多或所有在这里相对于计算机502所述的元件和特点。
在计算机502和远程计算机设备548之间的逻辑连接被示为局域网(LAN)550和一般的广域网(WAN)552。这样的网络环境在办公室、企业级计算机网络、企业内部互联网和因特网中是很普通的。
当在LAN网络环境中实现时,计算机502通过网络接口或适配器554连接到局域网550。当在WAN网络环境中实现时,计算机502通常包括调制解调器556或其它在广域网552上建立通信的设备。调制解调器556,它可内置或外置于计算机502,能通过输入/输出接口540或其它合适的机制连接到系统总线508。应该理解为所示的网络连接是示范性的,且能使用其它在计算机502和548之间建立通信链路的手段。
在网络化环境中,诸如用计算机环境500示出的,相对于计算机502所述的程序模块或其部分可存储于远程存储器存储设备。作为例子,远程应用程序558驻留在远程计算机548的存储器设备中。为了说明,应用程序和其它可执行程序组件,诸如操作系统,在这里作为分离的方框示出,尽管认识到这样的程序和组件在不同的时间驻留在计算机502的不同的存储组件中,并由计算机502的数据处理器执行。将会理解所示和所述的网络连接是示范性的,且可使用在计算机之间建立通信链路的其它手段。
这里可在由一台或多台计算机或其它设备执行的计算机可执行指令的一般背景中描述各种模块和技术,诸如程序模块。通常,程序模块包括完成某些任务或实现某些抽象数据类型的例程、程序、控制对象650、组件、控制节点数据结构654等。一般地,可如在各种实施例中所想要地组合或分布程序模块的功能。
这些模块和技术的实现可在某些形式的计算机可读介质上存储或传递。计算机可读介质可以是任何可由计算机存取的可用介质。作为例子,而不作为限制,计算机可读介质可包括“计算机存储介质”和“通信介质”。
“计算机存储介质”包括在任何用于诸如计算机可读指令、控制节点数据结构、程序模块或其它数据的信息存储的过程或技术中实现的易失的和非易失的、可移动的和不可移动的介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字通用盘(DVD)或其它光存储、盒带、磁带、磁盘存储器或其它磁存储设备,以及任何其它能被用于存储所需的信息和由计算机存取的介质。
“通信介质”一般包含计算机可读指令、控制节点数据结构、程序模块或调制数据信号中的其它数据,诸如载波或其它传输机制。通信介质还包括任何信息传输介质。术语“调制的数据信号”指具有一个或多个特征组信号或以对信号中的信息进行编码的这样方式而变化的信号。作为例子,但不作为限制,通信介质包括有线的介质,诸如有线的网络或直接线连接,以及无线的介质,诸如声音的、RF(射频)、红外线和其它无线介质。上述各项的任意组合也包括在计算机可读介质的范围之内。
如上所述的结构化文件检索系统100提供一种以比整个文件小的粒度检索元素的有效的方法。结构化文件检索系统100的一个非常重要的应用是通过以任何粒度的合适的元素的方式满足用户的查询需求。
在本公开中,既描述用于结构化文件的分层标引机制,又描述了基于分层标引机制运行的可标量的结构化文件检索方法。如果一个标引词通过将它在一个特定层次的元素中的统计信息与其它同等的检索词的值比较判定表示一个更一般的概念,则将这个标引词传播至在树结构中的上一层次元素。这样,在文件的相同结构中,穿过整个树分配标引词。每个元素具有一列能够最佳地表示这个元素的概念的标引词。可标量的检索方法专用于为用户提供在任何层次上最令人满意的元素。
实验结果表明,如在图7a、7b、8a和8b中所示的结构化文件检索过程明显地胜过只对段落层次应用TFIDF测量的方法。另外,在结构化文件检索系统100中提供的具有结构的上下文的结果对于用户更可接受和舒适。实验结果还表示这个方法对阈值设定值不敏感。因此,动态阈值对于这种文件长度变化的结构化文件检索方法是一个好的解决方案。
尽管已经用特定于结构的特点和/或过程的语言描述了系统和方法,要理解为在所附的权利要求书中定义的本发明不一定对所述的详细特点或过程作限制。相反,把特定的特点作为实现所主张的发明的较佳形式来公开。
权利要求
1.一种方法,其特征在于,所述方法包括对包含多个结构化文件中的数据库执行检索项的查询;搜出那些不包括所述检索项的结构化文件;通过基于每个个别元素匹配所述检索项的程度对所述各个别元素排序,以及向用户表示所述各个别元素的排序,其中,所述各个别元素可由用户访问的方式;判断匹配的结构化文件的元素,所述匹配的结构化文件是那些一定包含所述检索项的结构化文件。
2.如权利要求1所述的方法,其特征在于,所述向用户的表示包括向用户显示所述匹配的文件的分层结构。
3.如权利要求2所述的方法,其特征在于,所述显示分层结构包括提供显示所述结构化文件的结构的分层树。
4.如权利要求1所述的方法,其特征在于,所述方法还包括基于所述文件的粒度标量各个别被排序的元素。
5.如权利要求1所述的方法,其特征在于,使用多个图形指示器表示所述各个别数字的排序。
6.如权利要求5所述的方法,其特征在于,所述图形指示器的数字包括多个星号。
7.如权利要求1所述的方法,其特征在于,所述方法还包括加权各个别元素包括熵量度。
8.如权利要求1所述的方法其特征在于,所述搜出那些结构化文件,包括确定包含至少一个查询检索词的所有元素;使用计算式Rank(Pathp)=Σi=1QWeight(ti,Ej)×lnNni]]>排序 各个别元素,包括排序路径,其中, 是查询检索词的ti的反向文件频率(IDF)值,表示查询检索词的权值,以及Q是在一个查询中查询检索词的数量,以及以降序返回与被排序的路径相对应的元素。
9.如权利要求8所述的方法,其特征在于,所述方法还包括显示具有最接近的匹配的元素。
10.如权利要求8所述的方法,其特征在于,使用计算式Rank(Pathp)=Σi=1QWeight(ti,Ej)×lnNni]]>排序各个别元素,包括排序那些路径,其中, 是查询检索词ti的反向文件频率(IDF)值,代表所述查询检索词的权值,以及Q是在一个查询中查询检索词的数量。
11.如权利要求8所述的方法其特征在于,所述方法还包括加权所述元素,其中,所述加权包括,对于每个段落元素,按照下面的计算式计算所述检索词的权值Weight(ti,Pj)=ln(1+tf(ti,pj))×lnNni,]]>其中,Weight(ti,Pj)代表检索词ti在段落Pj中的权值,“tf(ti,Pj)”是ti在这个段落中的检索词频率,N表示在全集中的文件数量,以及ni表示包含检索词ti的文件的数量;按照自底向上方式对于任何在上一层次的章节元素Ej,使用计算式Weight(ti,Ej)=ln(1+tf(ti,Ej))×I(ti,Ej)计算检索词权值,其中“I(ti,Ej)”是检索词ti在元素Ej中的熵测量,其中,如果Weight(ti,Ej)≥average(Ej)+std_dev(Ej),检索词ti则被选择为元素Ej的一标引词,以及Ej的所有子元素将从它们的标引词列表中去除ti,其中average(Ej)表示在元素Ej中所有检索词的权值的算术平均值,以及std_dev(Ej)表示这些权值的标准偏差;以及使用计算式Weight(ti,Ej)=ln(1+tf(ti,Ej)×I(ti,Ej),重复计算所述检索词权值,直到到达根元素(即文件元素)为止。
12.一种方法,其特征在于,所述方法包括对在一结构化文件内的结构化元素排序,所述结构化文件包括一文件元素或根元素、至少一个章节元素、以及至少一个段落元素,所述排序包括对于每个段落元素,按照下面的计算式计算所述检索词的权值Weight(ti,Pj)=ln(1+tf(ti,pj))×lnNni,]]>其中,Weight(ti,Pj)代表检索词ti在段落Pj中的权值,“tf(ti,Pj)”是ti在这个段落中的检索词频率,N表示在全集中的文件数量,以及ni表示包含检索词ti的文件的数量;按照自底向上方式对于任何在上一层次的章节元素Ej,使用计算式Weight(ti,Ej)=ln(1+tf(ti,Ej)×I(ti,Ej)计算检索词权值,其中“I(ti,Ej)”是检索词ti在元素Ej中的熵测量,其中,如果Weight(ti,Ej)≥average(Ej)+std_dev(Ej),检索词ti则被选择为元素Ej的一标引词,以及Ej的所有子元素将从它们的标引词列表中去除ti,其中average(Ej)表示在元素Ej中所有检索词的权值的算术平均值,以及std_dev(Ej)表示这些权值的标准偏差;以及使用计算式Weight(ti,Ej)=ln(1+tf(ti,Ej)×I(ti,Ej),重复计算所述检索词权值,直到到达根元素(即文件元素)为止。获得所有被判断的候选元素的路径,以及将查询检索词对元素的权值分别分配给路径;使用计算式Rank(Pathp)=Σi=1QWeight(ti,Ej)×lnNni]]>排序路径,其中, 是查询检索词ti的反向文件频率(IDF)值,表示所述查询检索词的权值,以及Q是在一个查询中查询检索词的数量;以及以降序返回与被排序的路径相对应的元素。
13.如权利要求12所述的方法,其特征在于,所述方法还包括,向用户表示各个别元素的排序,其中,所述各个别元素可由用户访问。
14.如权利要求13所述的方法,其特征在于,所述向用户的表示包括向用户显示所述匹配的文件的分层结构。
15.如权利要求14所述的方法,其特征在于,所述显示分层结构包括提供显示所述结构化文件的结构的分层树。
16.如权利要求12所述的方法,其特征在于,所述各个别元素的排序是用数字表示的。
17.如权利要求12所述的方法,其特征在于,所述各个别数字的排序是通过提供多个图形指示器表示的。
18.如权利要求17所述的方法,其特征在于,所述图形指示器的数字包括多个星号。
19.如权利要求12所述的方法,其特征在于,所述方法还包括加权各个别元素,其特征在于,所述加权各个别元素包括熵测量。
20.一种方法,其特征在于,所述方法包括获得所有元素的路径,以及将查询检索词的权值分配给所述路径;以及使用计算式Rank(Pathp)=Σi=1QWeight(ti,Ej)×lnNni]]>排序路径,其中, 是查询检索词ti的反向文件频率(IDF)值,表示所述查询检索词的权值,以及Q是在一个查询中查询检索词的数量。
21.如权利要求20所述的方法,其特征在于,所述方法还包括,以降序返回与所述被排列的路径相对应的元素。
22.如权利要求21所述的方法,其特征在于,所述方法还包括,向用户表示各个别元素的排序,其中,所述各个别元素可由用户访问。
23.如权利要求22所述的方法,其特征在于,所述向用户表示包括向用户显示所述匹配的文件的分层结构。
24.如权利要求23所述的方法,其特征在于,所述显示分层结构包括包括提供显示所述结构化文件的结构的分层树。
25.如权利要求20所述的方法,其特征在于,所述各个别元素的排序是用数字表示的。
26.如权利要求20的方法,其特征在于,所述各个别数字的排序是通过提供多个图形指示器表示的。
27.如权利要求26所述的方法,其特征在于,所述图形指示器的数字包括多个星号。
28.如权利要求20所述的方法,其特征在于,所述加权候选元素包括熵测量。
29.如权利要求20所述的方法,其特征在于,所述结构化文件是用可扩展标记语言(XML)写的。
30.一种具有计算机可执行指令的计算机可读介质,所述指令当由一通用处理计算机执行时能够执行一方法,其特征在于,所述方法包括对包含多个结构化文件的数据库执行检索项的查询;滤出那些不包括所述检索项的结构化文件;以及通过基于每个个别的元素匹配所述检索项的程度对所述个别的元素排序,判断匹配的结构化文件的元素,所述匹配的结构化文件是那些一定包含所述检索项的结构化文件。
31.如权利要求30所述的执行所述方法的计算机可读介质,其特征在于,包括向用户表示各个别元素的排序,其中,所述各个别元素可由用户访问。
32.如权利要求31所述的执行所述方法的计算机可读介质,其特征在于,所述向用户表示包括向用户显示所述匹配的文件的分层结构。
33.如权利要求32所述的执行所述方法的计算机可读介质,其特征在于,所述显示分层结构包括提供显示所述结构化文件的结构的分层树。
34.如权利要求30所述的执行所述方法的计算机可读介质,其特征在于,所述各个别元素的排序是用数字表示的。
35.如权利要求30所述的执行所述方法的计算机可读介质,其特征在于,所述结构化文件的元素根据所述结构化文件的粒度来标量。
36.如权利要求30所述的执行所述方法的计算机可读介质,其特征在于,所述排序是使用多个星表示的。
37.如权利要求30所述的执行所述方法的计算机可读介质,其特征在于,所述加权各个别元素包括熵测量。
38.如权利要求30所述的执行所述方法的计算机可读介质,其特征在于,所述滤出那些结构化文件包括,确定包含至少一个查询检索词的所有元素;使用计算式Rank(Pathp)=Σi=1QWeight(ti,Ej)×lnNni]]>排序各个别元素,包括排序路径,其中, 是查询检索词的ti的反向文件频率(IDF)值,表示查询检索词的权值,以及Q是在一个查询中查询检索词的数量;以及以降序返回与被排序的路径相对应的元素。
39.如权利要求30所述的执行所述方法的计算机可读介质,其特征在于,它还包括,使用计算式Rank(Pathp)=Σi=1QWeight(ti,Ej)×lnNni]]>排序各个别元素,包括排序路径,其中, 是查询检索词的ti的反向文件频率(IDF)值,表示查询检索词的权值,以及Q是在一个查询中查询检索词的数量。
40.一种用于从多个文件中检索至少一个文件的一部分的方法,其特征在于,所述包括在多个所述文件上执行检索项的查询;设定要被检索的每个元素的权值的阈值;确定哪一个被阈值化(thresholded)的文件超过所述阈值;以及排序超过所述阈值的个别的元素。
41.如权利要求40所述的方法,其特征在于.所述方法还包括向用户表示超过阈值的各个别元素的排序,其中,所述各个别元素可由用户访问。
42.一种向用户显示文件的元素的相关性的方法,其特征在于,所述方法包括对检索项查询所述文件;排序所述元素对所述检索项的相关性;向用户返回所述文件的某个相关部分;以及向用户表示所述的返回部分与所述整个文件的相关性。
43.如权利要求42所述的方法,其特征在于,所述文件包括被分层排列的多个元素。
44.如权利要求42所述的方法,其特征在于,所述方法还包括,根据所述元素中不同元素的相关性,对在所述文件之内的所述多个元素中不同元素的相关性排序。
45.如权利要求44所述的方法,其特征在于,所述向用户表示所述元素的相关性,是根据所述多个元素中的不同元素的相关性的排序来执行的。
46.如权利要求45所述的方法,其特征在于,所述表示包括,向用户显示所述元素的相关性。
47.如权利要求43所述的方法,其特征在于,所述方法包括,显示所述元素与在所述文件内的其它元素相关的上下文。
48.如权利要求43所述的方法,其特征在于,所述元素的相关性是使用在所述文件内的所述元素的路径向用户表示的。
49.一种向用户显示文件的元素的相关性的方法,其特征在于,所述方法包括对检索项查询所述文件;加权所述元素对于所述检索项的相关性;以及显示所述文件的路径结构,所述路径结构表示所述元素与所述文件中其它元素的相关性。
50.一种具有计算机可执行指令的计算机可读介质,所述指令当由一通用处理计算机执行时能够执行一种方法,其特征在于,所述方法包括查询包括多个路径的文件,所述多个路径的每一个表示某些正在被检索项查询的元素;对所述路径中不同路径对于所述检索项的相关性加权;根据所述被加权的路径中的不同路径。排序所述路径中的不同路径;以及显示在所述文件内的所述多个元素的路径结构,所述路径结构表示在所述文件内所述路径中不同的路径的相关性。
51.一种方法,其特征在于,所述方法包括对于检索项查询具有多个元素的文件;根据所述元素中被加权的不同元素,排序所述元素中不同元素;以及标量所述结构化文件的元素。
52.如权利要求51所述的方法,其特征在于,所述方法还包括,显示在所述文件内所述多个元素的路径结构,所述路径结构表示在所述文件内所述元素中不同元素的相关性。
53.如权利要求51所述的方法,其特征在于,所述对所述元素中不同元素的相关性加权,包括确定包含至少一个查询检索词的所有元素;所述对所述元素中不同元素的相关性加权,包括获得所有被判断的候选元素的路径,以及将查询检索词对于元素的权值分别分配给路径;其中,使用计算式Rank(Pathp)=Σi=1QWeight(ti,Ej)×lnNni]]>排序所述元素的不同元素,包括排序路径,其中, 是查询检索词的ti的反向文件频率(IDF)值,表示查询检索词的权值,以及Q是在一个查询中查询检索词的数量;以及以基于所述排序的顺序返回与所述被排序的路径相对应的元素。
54.如权利要求51所述的方法,其特征在于,排序所述元素的不同元素,包括排序那些路径,使用计算式Rank(Pathp)=Σi=1QWeight(ti,Ej)×lnNni,]]>其中, 是查询检索词的ti的反向文件频率(IDF)值,表示查询检索词的权值,以及Q是在一个查询中查询检索词的数量。
55.一种在分层索引中排序不同路径之前使用的方法,其特征在于,所述方法包括对检索项查询具有多个元素的文件,所述多个元素中不同元素被排列在不同的路径中;以及基于所述检索项加权所述路径中不同路径的相关性。
56.如权利要求55的方法,其特征在于,所述方法还包括标量所述路径中不同路径的数字。
57.如权利要求55所述的方法,其特征在于,所述方法还包括向用户显示与所述路径中不同路径相关的文本。
58.如权利要求57所述的方法,其特征在于,所述方法还包括表示所述被显示的文本与所述文件的其它部分相关的上下文。
全文摘要
本公开涉及对一包含多个结构化文件的数据库执行一检索项的查询。在初始查找过程中,那些不包括检索项的结构化文件被搜出或滤出。通过基于每个个别元素匹配所述检索项的程度排序各个别元素,来判断那些一定包含检索项的结构化文件为匹配的结构化文件,并向用户表示各个别元素的排序,其中,所述各个别元素可由用户访问。
文档编号G06F17/21GK1517914SQ20041000161
公开日2004年8月4日 申请日期2004年1月6日 优先权日2003年1月6日
发明者J·-R·文, J -R 文, H·崔 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1