数据存储及检索的制作方法

文档序号:6656229阅读:192来源:国知局
专利名称:数据存储及检索的制作方法
技术领域
本发明涉及数据存储和检索处理,以及利用计算机来执行所述处理的手段。
背景技术
数据检索通常使用被称为“浏览器”或“搜索引擎”的搜索工具。为了有效地进行数据检索,需要提供简单的用户界面,同时在后台使用高度复杂的信息检索技术。理想的系统应使用户能够利用单一而简单的搜索字段检索到他需要的所有信息而没有“误检(false drop)”(尽管满足搜索条件但与用户无关的数据项)。实际上,这是不可能实现的,因为必须在以下两者之间找到平衡充分精确地定义搜索条件从而使检索到的所有信息都相关;或者足够宽地定义搜索条件以便检索到所有相关信息。大多数搜索引擎都具有在最初的条件设定得太窄或太宽时改进搜索的措施。
在搜索被定义得太宽的情况下,结果列表的导航本身就是个重要任务。可由用户来改进搜索,这本质上是对由最初的搜索结果限定的更有限的数据库重复进行该处理。然而,这样做不可避免地会存在丢失某些不符合该更加受限的搜索条件的数据的风险。因此理想的是,用户可以检查最初的搜索结果。这可以通过对结果进行排列的结构而方便地进行,该结构优选地在结果列表中的头几个条目内提供用户最有可能需要的数据。
已知多种用于根据其可能相关性对搜索结果进行排序的方法。可以根据各个检索项目中的、搜索中所用的搜索词条之间的关系对数据项进行排序。例如,可以将其中两个关键词在文中彼此相邻出现的数据项排在其中相同的两个关键词分开较远出现的数据项目之上。其他方法包括按照数据项被访问的次数的顺序来排列这些数据项,或者某些其他普及性措施,例如“Google”(RTM)搜索引擎所用的方法,该方法利用了对每一独立站点所做的引用(超链接)的次数。
Google所用的另一种方法是将被认为与已经列出的另一条目非常相似的条目列入下一级,从而提高在头几个条目中出现的数据项的多样性。然而,该排序方法假设所显示的数据项与下一级的数据项之间的差异对于用户的具体目的来说并不重要。
所有这些普及性措施对大多数用户来说都提高了在头几个条目中找到他们所寻找的数据项的可能性。然而,对于那些寻找平常不太需要的数据项的用户(尽管是少数)来说很少会成功。
已经作出了各种尝试,以利用用户的进一步输入来改善结果,例如通过搜索处理期间的对话,或者通过参考预先存储的用户简档。然而,这些技术并不分析被搜索数据的性质,而是需要用户进一步的输入。
对于大小受限的数据集,特别是数据采集受控的数据集来说,通常以分级结构来组织数据,从而允许将搜索约束在该结构的给定级或层。一个示例为国际专利分类关键字,其用于辅助从在过去的大约150年内以各种语言公开的数百万份专利说明书中检索信息。然而,使用诸如相关加权算法的传统信息检索技术为每个查询存储整个数据集会使计算过于复杂,而不能在合理时间内给出搜索结果。此外,传统的分级结构需要做出最初假设,然而给定的单独搜索可能需要找到存在于该结构的不同分支上但是以与所用结构不相关的方式相关的数据项。例如,如果分级结构是基于应用的,则在数据库的截然不同的部分中可能出现因具有相同起源(制造商)、成分或组成部分而相关的数据项。

发明内容
根据本发明,提供了一种用于构造数据仓库(data repository)的处理,该处理包括以下步骤定义一组元数据值;定义每一对元数据值之间的相关性值;
将所述元数据值中的一个或更多个赋给要由所述仓库存储的多个数据项中的每一个;以及提供用于对根据数据项被赋予的元数据值和所述元数据值彼此的相关性进行了分组的数据项进行检索的手段。
本发明延及根据这些原理进行了排序的数据仓库,更具体地说,延及以下数据仓库,该数据仓库具有用于存储数据项和相关联的元数据值的手段,以及用于存储在每一对元数据值之间定义的相关联的相关性值的手段,并且包括用于检索所述数据项及其被赋予的元数据值的手段,以及用于呈现根据数据项被赋予的元数据值和所述元数据值彼此的相关性进行了分组的数据项的手段。
根据本发明,还提供了一种用于从如上所述构造的仓库中检索数据的处理,该处理包括以下步骤对具有一个或更多个预定特征的数据项进行搜索;识别与符合搜索条件的数据项最相关的元数据值;按照其他元数据值与该第一值的相关性的顺序对其他元数据值进行分级;以及根据数据项的相关联的元数据值的分级来呈现数据项。
本发明可用于具有分级结构的数据集,尤其是太大而不能穷尽搜索但是对于实现数据采集足够小的分级结构。根据本发明进行操作的系统对按等级分类的数据进行重新排序,并将其呈现给操作者以便快速而直观地进行浏览。通过定义了可能相关性度量(measure of likeliness ofrelevance)的“模糊逻辑”处理对要呈现的数据进行预处理,然后相应地对数据进行排序。这使得能够根据相关联的元数据对数据进行分组,每个组都按照其对于搜索者的可能相关性的顺序进行了排序。并不是过滤掉被搜索引擎识别为相关可能性较小的信息,而是完整地提供数据集,不过要进行重新排序使得最相关的数据首先出现。因此,尽管不具有所选择元数据分类的数据项也被列在搜索结果中,但是根据由搜索定义并分配给数据项的元数据类之间的相关性而对这些数据项赋予低等级。所述相关性可以被定义为虚拟空间中的距离,如图2所示。该虚拟空间可以具有表示元数据之间的关系所必需的数量的维度,每一维度都涉及属性,并且该维度中的每个元数据项的坐标都是通过各个数据项与该属性的相关性来定义的。可以按照多种方式来定义这些属性。例如,可以按照各个类中所用的关键字的应用的重叠来对这些属性进行定义,这些关键字或者是有意插入的,或者是出现在文档的自然语言中。根据数据的特性,表示相关性的其他有用的元数据属性可以包括原作者(authorship)、同义词(来自相同或不同的语言)、创建日期等。
本发明能够使计算机的处理数据结构和动态重排序的能力与操作者的利用认知推理来浏览数据的能力相结合。搜索者能够识别可能感兴趣的数据项组,使得能够更容易地确定哪些数据项值得考虑。例如,如果作为搜索结果,观察到许多具有特定元数据词条的数据项与它们的等级可能暗示的相关性不大,则它们被组在一起的事实使得用户能够容易地识别并忽略通过该搜索词条成组的所有数据项。
从计算的角度来看,本发明使得该系统能够预计算出两个集合之间的距离(这里称为各分类之间的“语义差异”),并保持在特定查询的情况下以低成本对它们进行重新排序的能力。
在优选设置中,元数据与搜索结果一起显示。因此,用户可以使元数据与搜索处理相关联,使它们能积累分类法(classification taxonomy)经验,从而在当前搜索的进展和临近的未来搜索中都起到辅助作用。


现在将参照附图以示例的方式描述本发明的实施例,附图中图1是适于实现本发明的计算机系统的总体结构的示意图;图2示出了通过各个元数据分类对各个其他元数据分类进行的相对加权;图3是使用元数据的分类的表示;图4是表示搜索处理的流程图;图5是示出搜索结果的截屏图。
具体实施例方式
图1示出了可在其上运行实现本发明的软件的计算机的典型架构。各个计算机均包括中央处理单元(CPU)10,用于执行计算机程序并管理和控制计算机的操作。CPU 10通过总线11与多个装置相连,这些装置包括第一存储装置12(例如,用于存储系统和应用程序的硬盘驱动器)、第二存储装置13(例如,用于从可移动存储介质读取数据和/或向其写入数据的软盘驱动器或CD/DVD驱动器),以及包括ROM 14和RAM 15在内的存储器装置。该计算机还包括用于与网络相连的网卡16。该计算机还可包括用户输入/输出装置,例如显示器20以及通过输入/输出端口19与总线11相连的鼠标17和键盘18。普通技术人员应该理解,该架构并非限制性的,而仅仅是典型计算机架构的示例。该计算机还可以是分布式系统,包括通过其各自的接口端口16进行通信的多台计算机,使得用户可以利用其自己的用户接口装置17、18、20来访问存储在一台计算机上的程序和其他数据。还应该理解,所述计算机包括使其能实现其用途的所有必要的操作系统和应用软件。
应用了本发明的数据集具有包含元数据的分级数据结构。可利用本体论(也就是数据的概念化说明)来提供所述元数据,但是更传统的分级数据结构可能也适于该任务,例如图3中代表性示出的分级标记分类法(hierarchical labeled taxonomy)。各个分类(21,22)具有子类(节点)311、312、313和321、322以及分配给这些节点的各个文档400、401、402…411。所述数据项包含关键字。可以使用自动方法从数据项中提取关键字,从而使位于分级结构的各个级上的元素都被元数据占据。作为另一种选择,可以使用其中准确度很重要的人工方法。
于是,各个元数据分类21、22等被分配到多维空间中的某一位置。因此,给定一个分类,能按照在该空间中相对于第一分类的接近度对其他所有分类进行测量和排序。
图2示出了选择给定的分类如何影响对剩余分类的排序。对于各个分类21、22…27,确定了与其他分类的一组关系,这里将结果显示为标尺上的标记,因此标记217表示分类21与27之间的相关性。(当然,该值对于分类27相对于分类21的相关性和分类21相对于分类27的相关性来说都是相同的)。可以看出对于第一分类21(“互联网”),分类23(“销售”)的得分高于分类26(“结算”),如它们各自的标记213、216所示,因此当分类21被选择为最相关时,将以该顺序针对相关性对分类23进行排序。相反,当选择“手续(procedure)”(分类27)时,“结算”的等级高于“销售”,如它们各自的标记(267,237)所示。
要对数据进行搜索时,用户首先定义搜索条件(步骤41,还参见图5)。为了在数据库中进行搜索,可以指定一个元数据分类,例如“互联网(Internet)”(21)。这可以按照传统方式通过从诸如图5中所示的屏幕上菜单中选择词条来进行。作为另一种选择,可以指定关键字或其他搜索词条。搜索处理器识别与这些条件的匹配,并且搜索处理返回数据结构中最匹配该搜索词条的节点,或者优选地返回与这种节点相关联的文档的列表(步骤42)。接着根据分配到最匹配所述搜索词条的数据项的类别来选择主要分类(步骤43)。具体地说,该分类是被分配了通过搜索而选择的最大数量的数据项的分类。如图5所示,在数据分级显示中首先显示出该分类21(步骤46)。接着基于所选分类的属性,利用“模糊匹配”技术来确定排列所有其他分类的顺序。该处理利用诸如tf.idf(用于去除“停用”词并计算出各个词的统计重要性的索引;该值用作每一个被索引词的相关加权)的基于矢量的度量来评估各个分类与用户查询的相关性(步骤44)。
排序可能会受到查询本身中所指定的词条的影响。可以测出词与分类的相关程度。例如,短语“宽带保证(broadband promise)”可能会使“互联网”分类21由于与词“宽带”的高度相关性而被选择为最相关的分类。然后,可以利用由不需要用户查询的模糊重新分级处理给出的值来对其他分类进行分级(步骤45)。还可看到该查询与其他分类的相关程度。在该示例中,由于新的广告运动(advertisement campaign),用户可能会认为“运动(Campaigns)”分类22与查询相关。可以通过对整个数据结构进行重新分级来解决该临时相关性。因此,重新分级将以下两个值考虑在内来测量两个分类之间的距离1)预处理分级;2)基于用户查询的分级。
本实施例提供了由搜索引擎检索到的数据的多种视图(view),从而允许以看起来最适于用户的任何方式通过各种直观手段进行浏览。如图5所示,根据分级结构(21-27)、关键字列表(51-51)和文档列表(400、401、402等)来呈现数据。通过识别各分类中的关键字以及用于该分类的标签和元数据,用户可以理解在最初查询中所用的词是如何在这些分类中使用的。因而,例如,根据查询上下文,“宽带”和“故障”是可能会出现在分类“互联网”中的关键字,还可能是出现在分类“手续”中的关键字,并且根据相应的上下文,用户可以决定要研究哪一个分类。
该画面(图5)在左侧栏的顶部示出了被识别为最相关的分类(21)。在图2中所见的相互依赖性基于矢量比较。可以用矢量来表示文档,其中元素为关键字。通过算法(tf.idf是标准)对这些关键字进行加权。因此,能够测量任意两个文档或文档集之间的距离。元数据的添加使得可以对该统计方法的任何误解进行纠正。模糊集(Fuzzy Set)对所有分类之间的相互依赖性进行建模。有益的是,以更容易理解的方式来表示所有这些彼此相关的分类;图2有助于对这些关系进行可视化。
在中间栏中显示了与分级结构中的该分类相关联的元数据(关键字)51。这对于操作者来说是认知信息,用于表示查询词条在所选分类的语境下的含义。
在顶部分类21的下方,按照其他分类22、23、24、25、26、27和对应关键字52、53、54、55、56、57与第一选择分类21的相关性的顺序列出了该其他分类22、23、24、25、26、27和对应关键字52、53、54、55、56、57。根据本发明,根据被搜索结果识别为最接近用户的搜索要求的分类21与其他分类22、23、24、25、26、27等中的每一个之间的相关性,得出第一栏中所呈现的分级结构。在该示例中,“互联网”(21)已被识别为主要分类,并且如图2所示,“运动”(22)被示为具有最高加权(最大近似度)的分类,并因此列在第二位。
该显示还使得可以显示分级数据。在图5中,三个分类311、312、313在栏1的“互联网”(21)下方缩进。这些子分类按照与主分类相同的方式来分级,首先列出与搜索查询最相关的子分类311,然后按照与该第一子分类的相关性的顺序列出其他子分类312、313。对于主分类显示与这些子分类相关的元数据。
“模糊逻辑”技术使用户能够识别分类法中的概念之间的相互依赖性,并能通过查看关键字51、52等而得到该查询在不同分类的语境中的含意,来提取相关的语义信息。这使得用户能够利用肯定和否定关键字来进行复杂的查询。在最初查询41中人工输入这些关键字,不过搜索引擎随后可以建议操作者选择更多的关键字51、52等,以便对查询进行改进。关键字51、52反映了分类的语义含意。它们可以仅仅与查询同义或在语境上相关。该元数据还可以通过提供补充词汇而影响搜索结果。
为浏览这些关键字,用户在“语义”列表(51,52,...,57)中选择相关的关键字(步骤47)。这造成了分类法的重新排序(重复步骤42至46),以反映所选关键字的语义重要性。可以进行诸如产品名称的更具体的关键字选择。这将返回所检索文档(在数据分类中)的所有可能位置。
关键字51与所选分类21相关,但是可以不与返回该分类的最初查询相关。与该查询相关的关键字可以通过高亮来标识,或者通过关键字出现的顺序来标识。
用户还可以通过分类本身21、311、312、313、22等进行“浏览”。该系统监测用户的活动(步骤48),使得能够从用户所选的分类导出原始查询的意义。然后反馈该信息,以对该检索特有的语义信息进行加权,从而使得能够识别其他潜在的匹配。
图5中的第三栏显示出针对用户所选的一个或更多个分类21、22等或者子分类311、312等的搜索的结果400、401等,这些结果按照与分类本身被列出的相同顺序来排列。由于在任何给定的分类或子分类中通常存在多个文档400、401、402,所以该列表会比其他栏中的分类21至27、子分类311至313以及关键字51至57的列表长很多,为了能看到完整的列表而设置了滚动条99。可以提供诸如颜色编码或背景阴影的手段来区别属于不同分类或子分类311、312的文档400至403、404至406的组,从而辅助用户浏览各个文档。
可由用户来改进初始查询(步骤47),用户从中间栏中选择一些语境关键字52。当相关联分类的顺序发生改变时,该查询会触发结果的重新分级(步骤42至45)。因而,语境关键字的选择使得用户能够明白在各分类下保存有什么信息,并将该知识用于以后的查询。
在选择和研究了文档后,还为用户提供了预防措施(provision),从而通过提供“更多相似内容”或“错误主题”反馈机制来提供反馈(步骤57)。系统可利用这样的反馈来提高或降低给定分类的等级。
举一个具体示例,关键字“valve(阀、真空管、电子管)”可以出现在诸如电子、压力传感器、泵、引擎或液压系统的不同语境中。用户可以根据该文档的技术领域是否与其所关注的领域相关,来选择对呈现给他的各个文档给出肯定反馈还是否定反馈,而无需确认限制太多的关键字。这将意味着词“valve”不是用于进行重新分级的较好的词,因此应当忽略;在用户反馈时,可以对整个数据等级进行重新分级以更好地对预期的查询进行建模。
如本领域的技术人员应当理解的那样,可以在适于存储或传输并可被适合的计算机输入装置(例如,CD-ROM、可光学读取的标记、磁性介质、穿孔卡或带)读取的任何载体上或在电磁或光信号上实施用于实现本发明的任何或全部软件,从而可以将所述程序加载到一个或更多个通用计算机上,或者可以利用合适的传输介质通过计算机网络下载。
权利要求
1.一种数据仓库,该数据仓库具有用于存储数据项和相关联的元数据值的手段,以及用于存储在每一对元数据值之间定义的相关联的相关性值的手段,并且包括用于检索所述数据项及其被赋予的元数据值的手段,以及用于呈现根据所述数据项被赋予的元数据值和所述元数据值彼此的相关性进行了分组的所述数据项的手段。
2.一种用于构造数据仓库的处理,该处理包括以下步骤定义一组元数据值;定义每一对元数据值之间的相关性值;将所述元数据值中的一个或更多个赋给要由所述仓库存储的多个数据项中的每一个;以及提供用于对根据所述数据项被赋予的元数据值和所述元数据值彼此的相关性进行了分组的所述数据项进行检索的手段。
3.一种用于从根据权利要求1或2构造的仓库中检索数据的处理,该处理包括以下步骤对具有一个或更多个预定特征的数据项进行搜索;识别与符合搜索条件的数据项最相关的元数据值;按照其他元数据值与该第一值的相关性的顺序对其他元数据值进行分级;以及根据所述数据项的相关联的元数据值的分级来呈现所述数据项。
4.根据权利要求3所述的处理,其中通过在所述查询本身中指定的词条来确定所述最相关的元数据值的选择。
5.根据权利要求3或4所述的处理,其中所述查询指定所述元数据值中的一个或更多个。
6.根据权利要求3、4或5所述的处理,其中与搜索结果一起显示所述元数据。
7.根据权利要求6所述的处理,其中识别用户检索出的数据项,并根据检索出的数据项进行所述元数据值的重新排序。
8.一种或一套计算机程序,所述计算机程序和一台或更多台计算机一起使用,以提供如权利要求1所述的装置,或者执行如权利要求2至7中的任意一项所述的方法。
全文摘要
本发明公开了数据存储及检索。数据仓库存储数据项和相关联的元数据值(21,22,...,27)以及在每一对元数据值之间定义的相关联的相关性值(212、217、227等)。为了检索数据,识别“最相关”的元数据值(21),并且首先检索与该元数据值相关联的数据项。根据其他数据项的相关联的元数据值(27)与所选元数据值(21)的相关性值(217)来对其他数据项进行分级。
文档编号G06F17/30GK1969276SQ200580020283
公开日2007年5月23日 申请日期2005年6月10日 优先权日2004年6月25日
发明者格里·迪卡泰尔, 贝南·阿斯文 申请人:英国电讯有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1