本体亲和度矩阵的有效计算的制作方法

文档序号:6598719阅读:393来源:国知局
专利名称:本体亲和度矩阵的有效计算的制作方法
技术领域
本发明总体上涉及词典(lexigraphical)分析,更具体来讲,涉及本体亲和度矩 阵(ontology affinity matrix)的有效计算。
背景技术
本申请要求Stergios Stergiou等人在2009年2月13日提交的名为 "Efficient Computation of Automated Ontology Affinity Matrices” 白勺
No. 61/152,375的优先权。以引证方式将该专利中请并入于此。文档集合中的数据可能具有大量信息,然而查找相关信息可能比较困难。关键词 搜索是查找信息的主要技术。然而,在特定情况下,关键词搜索在信息定位方面并不是有效 的。

发明内容
本发明的一个方面提供了一种方法,该方法包括以下步骤对包括多个反向索引 列表的反向索引进行访问,每个反向索引列表对应于一个术语,每个反向索引列表包括该 术语的术语标识符和一个或更多个文档标识符,所述一个或更多个文档标识符指示了文档 集合中的出现所述术语的一个或更多个文档;对多个有序对进行组织,各有序对包括反向 索引列表的术语标识符和文档标识符,所述组织步骤首要地基于所述有序对的所述文档标 识符;以及根据所述反向索引生成术语标识符索引,所述术语标识符索引包括多个片段,每 个片段对应于一个文档,每个片段包括所述文档中出现的一个或更多个术语的一个或更多 个术语标识符,根据所述反向索引生成所述术语标识符索引的步骤包括以下步骤对所述 术语标识符索引的所述片段中的有序对的术语标识符进行组织。本发明的第二方面提供了一种装置,所述装置包括存储器,所述存储器能操作 用于进行如下操作存储包括多个反向索引列表的反向索引,每个反向索引列表对应于一 个术语,每个反向索引列表包括该术语的术语标识符和一个或更多个文档标识符,所述一 个或更多个文档标识符指示了文档集合中的出现所述术语的一个或更多个文档;以及处理 器,所述操作器能操作用于执行逻辑,以进行如下操作对多个有序对进行组织,各有序对 包括反向索引列表的术语标识符和文档标识符,所述组织操作首要地基于所述有序对的所 述文档标识符;以及根据所述反向索引生成术语标识符索引,所述术语标识符索引包括多 个片段,每个片段对应于一个文档,每个片段包括所述文档中出现的一个或更多个术语的 一个或更多个术语标识符,根据所述反向索引生成所述术语标识符索引的操作包括以下操 作对所述术语标识符索引的所述片段中的有序对的术语标识符进行组织。本发明的第三方面提供了一种有形计算机可读介质,所述有形计算机可读介质具 有计算机可执行代码,并且当所述计算机可执行代码由计算机执行时能够进行如下操作 对包括多个反向索引列表的反向索引进行访问,每个反向索引列表对应于一个术语,每个 反向索引列表包括该术语的术语标识符和一个或更多个文档标识符,所述一个或更多个文档标识符指示了文档集合中的出现所述术语的一个或更多个文档;对多个有序对进行组 织,各有序对包括反向索引列表的术语标识符和文档标识符,所述组织操作首要地基于所 述有序对的所述文档标识符;以及根据所述反向索引生成术语标识符索引,所述术语标识 符索引包括多个片段,每个片段对应于一个文档,每个片段包括所述文档中出现的一个或 更多个术语的一个或更多个术语标识符,根据所述反向索引生成所述术语标识符索引的操 作包括以下操作对所述术语标识符索引的所述片段中的有序对的术语标识符进行组织。


图1例示了由语言的单词间的关系生成语言本体的系统的实施方式;图2例示了记录基本关系的亲和度矩阵的一个示例;图3例示了记录方向关系的亲和度矩阵的一个示例;图4例示了记录平均关系的亲和度矩阵的一个示例;图5例示了可以由图1中的系统执行的语言的本体的产生方法的一个实施方式;图6例示了反向索引的一个示例;以及图7例示了可以由图6中的反向索引形成的示例性数据结构和术语(term)标识 符索引。
具体实施例方式概述在一个实施方式中,本体生成包括对反向索引的访问,该反向索引包含语言的术 语的反向索引列表。与一个术语相对应的反向索引列表指示了文档集合中哪些文档包含该 术语。根据反向索引来创建本体亲和度矩阵。本体亲和度矩阵具有多个条目,这些条目包 括术语对的亲和度。在具体实施方式
中,领域(domain)本体的创建及查询可以包括以下步骤1、收集领域中的文档。在具体实施方式
中,文档是术语的集合。因而,文档可以采 取许多形式并且可以包括由其它文档组成的子集。例如,当在本申请中使用该术语时,百科 全书集合、百科全书集合中的“A”卷、“A”卷中的关于“土豚”的文章以及该文章内的段落都 是文档。文档可以包括可读文本,例如关于“土豚”的文章。文档不一定包括叙述形式的文 本,例如,文档可以包括用户输入标注(tag)的集合,该用户输入标注单独地并共同地描述 了图像的内容。所收集的文档可以被称为文档集合。因此,百科全书组可以被视为文档组 和/或文档。2、识别该领域中感兴趣的术语(“词典术语”)。在具体实施方式
中,“术语”可以 与“词典术语”互换。术语的示例包括单词(诸如“树”)、短语(诸如“图算法”)、命名实体 (诸如“纽约”)等。术语(或概念)可以具有不同的形式。在某些情况下,不同的单词用 于同一概念,例如“kidneystones (肾结石),,和“kidney calculi (肾结石),,是指同一概 念,即“kidneystoneM肾结石)”。在其它情况下,词干(word stem)可以具有多种词形变 化(inflected variant),例如,词干“tree”具有词形变化“tree”和“trees”。在具体实 施方式中,同一术语的各种形式可以被处理为映射到同一术语。在其它实施方式中,同一术 语的各种形式可以被处理为独立的术语。在文档中可能出现词典术语的任意适当形式,但是某一特定词典术语不一定出现在任意文档中。识别词典术语的方法的示例包括利用特定领域的人为生成的词典,例如,医学词 典。在具体实施方式
中,可以由文档集合中的文本串集合自动地生成词典术语的列表。可 以对这些串进行索引并按照频度进行排序,并且可以选择频度大于阈值的串。可以使用其 它适当的统计方法来确定术语。3、计算在给定的共现上下文中词典术语的共现数量。如果两个术语中在同一共现 上下文(例如,文档)中均至少出现一次,则这两个术语共现。4、创建包括该领域本体的有向加权图(directed weighted graph)。该有向加权 图包括词典术语(其作为节点)以及亲和度(其作为边的权重)。“有向加权图”可以用作 可由任意适当的数据结构(例如,矩阵、二元决策图或二元决策图的集合等)表示的同一信 息的实际表示。5、应用查询该有向加权图的过程。给定一个或更多个词典术语作为输入,该过程 输出与所输入的词典术语相关的一个或更多个词典术语。例如,该过程可以输出与该一个 或更多个输入术语具有最高差分有向亲和度(如下所述)的一个或更多个术语的排序后列 表。在这种情况下,就该本体涉及的领域而言,该输出包括与所输入的术语更密切相关的术语。可以使用任何适当的亲和度定义。以下描述几种亲和度类型的示例。图1例示了由语言的术语之间的亲和度来生成语言本体的系统10的一个实施 方式。语言的本体代表语言的术语以及这些术语之间的关系。术语之间的亲和度描述了 这些术语之间的关系。在一个实施方式中,系统10将亲和度计算为数值(quantitative value)。这些值可用于生成用作语言本体的亲和度矩阵和亲和度图。在所例示的实施方式中,系统10包括客户机20、服务器22和存储器24。客户机 20使用户能够与服务器22通信以生成语言的本体。客户机20可向服务器22发送用户输 入,并可以向用户提供(例如,显示或打印)服务器输出。服务器22管理用于生成语言本 体的应用。存储器24存储由服务器22使用的数据。存储器24存储文档50和记录54。文档50可以指的是术语和/或图像的集合。 术语可包括具有一个或更多个具体含义的一个或更多个字符(例如,字母、数字、空格或标 点)。术语的示例包括“San Francisco”、“plants”、“non-stop”以及“N9ne”。可利用与图 像关联的标注或其它元数据来分析具有图像的文档。文档50的示例包括一个或更多个单词、一个或更多个段落、一个或更多个页面、 一节或更多节、一章或更多章、一个或更多个常规文档、一本或更多本书、一个或更多个网 页、往来信函(例如,电子邮件和即时消息)和/或其它的术语集合。也就是说,文档可以 是单词、段落、节、图像、页面、常规文档、章、页面节(page section)、书、网页、电子邮件、消 息、网络日志等。页面50可由页面标识符来标识。在某些实施方式中,多个文档50可以属 于一个文档集合。文档集合可以与具体主题、团体、组织或其它实体相关联。记录54描述了文档50。在该实施方式中,记录54包括索引58、反向索引62以及 本体66。索引58包括索引列表,其中,文档50的索引列表指示了在文档50中查找到的术 语。反向索引62包括反向索引列表,其中,术语的反向索引列表指示了包括该单词的文档 50。在一个示例中,列表Ti包括文档50 (其包含术语、)的文档标识符。列表I^Tj可包括联合文档50 (其既包含术语ti又包含术语tp的文档标识符。列表Ti+!^可包括分离文档 50(其包含术语、或、)的文档标识符。D(Ti)是Ti的文档50的数量,S卩,包括术语、的 文档50的数量。在一个实施方式中,列表(例如,索引列表或反向索引列表)可被存储为二元决策 图(BDD)。在一个示例中,集合Ti的二元决策图BDD(Ti)代表具有术语、的文档50。服务器22包括决策图引擎26。在某些实施方式中,决策图引擎26将列表(例如,索引列表和/或反向索引列表)作为BDD来存储。在一个实施方式中,列表可被压缩,并且 随后可被存储为二元决策图(BDD)。可以通过任何适当的方式来压缩列表。决策图引擎26 可以采用任何适当的方式将索引存储为BDD。在一个实施方式中,由布尔函数来表示索引列 表,然后由BDD来表示布尔函数。可以采用任何适当的方式将列表表示为布尔函数。决策图引擎26可以采用任何适当的方式用BDD来表示布尔函数。再参照图1,决 策图引擎26可以使用任何适当的BDD来存储列表。BDD的示例包括简化排序BDD (ROBDD)、 分块排序二元决策图(POBDD)、消零决策图(ZDD)、nano 二元决策图(nanoDD)、消零nano 二 元决策图(nanoZDD)、其它适当的二元决策图和/或上述任意二元决策图的组合。在具体实施方式
中,随着图变得更大,决策图引擎26对决策图进行压缩,适当地 改变表的大小(并为每个节点分配更多的位)以存储决策图。在具体实施方式
中,决策图 引擎26开始将决策图构建为压缩决策图。作为大小改变的替换,决策图引擎26直接对图 构建进行分解/组合(decomposition/composition),以直接将压缩决策图转换为未简化 的图。在具体实施方式
中,压缩决策图有利于并行平台之间的通信。在一个示例中,第一 平台与第二平台并行地工作。第一平台可生成决策图,使得决策图被压缩以与第二平台通 信,并将该压缩决策图传递到第二平台。第二平台可由该压缩决策图来重建决策图,以在第 二平台处进行处理。服务器22包括亲和度计算器34。亲和度计算器34针对术语^或者针对包括第 一术语^和第二术语、的术语对来计算任何适当类型的亲和度。亲和度的示例包括基本 亲和度、有向亲和度、平均亲和度、差分亲和度和/或其它亲和度。亲和度计算器34还可以 生成语言的本体66,例如亲和度矩阵70或亲和度图74。可以由诸如基本亲和度、有向亲和 度、平均亲和度、差分亲和度和/或其它亲和度之类的任何适当的亲和度来生成本体。可以 采用任何适当的方式由从语言中选择的术语来生成本体66。例如,可以选择语言中通用部 分的术语或者涉及一个或更多个具体主题范围的术语。亲和度计算器34可以生成亲和度 矩阵70,该亲和度矩阵70记录了术语之间的亲和度。图2例示了记录基本亲和度的亲和度矩阵110的示例。可以由包括术语、和/或 tj的文档50的量(例如,数量)来计算基本亲和度。联合文档量表示了既包含术语、又 包含术语、的文档50的量,分离文档量表示了包含术语^或、的文档50的量。基本亲 和度可以被定义为联合文档量除以分离文档量。在一个示例中,联合文档的数量指示了包 含术语、和术语、的文档的数量,分离文档的数量指示了包含术语、或术语、的文档的 数量。可以通过将联合文档的数量除以分离文档的数量而得到基本亲和度Affinity (、,tj) = D/D (T^Tj)在另一个实施方式中,基本亲和度可以被定义为包含术语、和、二者的文档的量除以包含ti的文档的量或者包含、的文档的量二者中的最大值。例如Affinity (、,tj) = D/max (D (Ti),D (Tj))在图2所示的示例中,亲和度矩阵110记录术语t1;. . .,t5的成对基本亲和度。根据亲和度矩阵110,术语、与、之间的基本亲和度为0. 003,术语、与t2之间的基本亲和 度为0. 005,等等。图3例示记录术语t1;. . .,t5的有向亲和度的亲和度矩阵120的示例。术语、与 tj之间的有向亲和度DA可以定义为在观察到、的情况下观察到、的条件概率。术语、 与、之间的有向亲和度还可以被称为术语对、和、的有向亲和度,或者称为从、到、的 有向亲和度。可以使用有向亲和度来度量术语、相对于术语^的重要性。亲和度计算器 34由包含术语、和、的文档50的量(例如,数量)来计算术语对、和、的有向亲和度。 D(Ti)表示包括术语、的文档50的量。可以通过将联合文档量D(I^Tj)除以D(Ti)而得到 术语对、和、的有向亲和度DAffinity (ti,ti) = D (Ti&Tj) /D (Ti)除非D(Ti) = D(Tj),否则 DAffinityai, tj)不等于 DAffinityaj,、)。从、至Ij tj的高有向亲和度DAffinityai, tj)指示了在文档50包含术语、的情况下文档50包含 术语、的概率更高。在一个示例中,文档[1 2 3 4 5]包括术语ti;而文档[42]包括术语 、。包括术语、的该示例的文档也包括术语ti;因此从术语、的角度来看,术语、的重要 性高。包括术语、的文档中仅有三分之一的文档也包括术语、,因此从术语、的角度来 看,术语、的重要性相对较低。在图3的示例中,术语124是A术语,而术语128是B术语。矩阵120的行记录了 给定A术语的情况下B术语的亲和度,而亲和度矩阵120的列记录了给定B术语的情况下 A术语的亲和度。图4例示了记录平均亲和度的亲和度矩阵140的示例。可以相对于其它术语、来 计算术语^的平均亲和度。在一个实施方式中,平均亲和度可以是术语^与每个其它术语 tj之间的亲和度的平均值。在另一个实施方式中,可以根据从、到、的有向亲和度来确定 平均亲和度。因此,N个术语的术语、的平均亲和度可以由以下等式得到AveAff(t1)=1/N∑DAffinity(ti,ti)S卩,平均亲和度可以是在共献上下文中术语、对其它术语的有向相关的平均值。 矩阵140的行142记录了术语1至术语50,000的基本亲和度。行144记录了术语1至术 语50,000的平均亲和度。在某些实施方式中,可以根据有向亲和度来计算平均亲和度(或 者平均有向亲和度)。在某些实施方式中,可以对特定的有向亲和度DA数组来计算平均亲 和度AA矢量。在某些实施方式中,DA可以按行来存储,所以可以对AA中的条目并行地进 行计算。具体来讲,可以通过当从盘中读取DA的行时对DA的行进行求和,最后由词典术语 条目的数量进行归一化,来生成AA。术语、与、之间的差分亲和度或差分有向亲和度(DiffDAff)可以定义为术语、 与、之间的有向亲和度减去与文档集合中术语、的共性有关的因子。文档集合中术语、 的共性可以是文档集合中术语、针对其它术语的基本亲和度或有向亲和度值的统计值。在具体实施方式
中,文档集合中术语、的共性可以是术语、的平均亲和度(AA),其得到差分有向亲和度的以下定义DiffAffUi, tj) = DAffinity(t”、)-AveAffUj)差分亲和度去除了由于术语、在文档50中出现的总体趋势造成的偏差。在特定 情况下,差分亲和度可以更精确地指示在文档包括术语^的情况下该文档包括术语^的概率。差分亲和度可以用在各种应用中。在一个示例中,人的姓名之间的差分亲和度可 以用于研究社会关系网络。在另一个示例中,语言元素之间的差分亲和度可以用于研究自 然语言处理。在另一个示例中,产品之间的差分亲和度可以用于研究市场营销。如上所述,在术语之间存在各种类型的亲和度。示例性实施方式可以创建亲和度 矩阵来记录术语之间的一种或更多种亲和度。在一个实施方式中,语言的术语被选择用于 本体。可以采用任何适当的方式来选择术语。例如,可以选择通用的术语或者与特定主题 有关的术语。再次参照图1,亲和度计算器34访问所选择术语的记录54。亲和度计算器34 可以访问反向索引62来检索得到包括所选择术语的文档的列表。反向索引62可以被表示 为BDD或者任何其它适当的形式。亲和度计算器34计算所选择术语的术语对并且将其存 储在本体亲和度矩阵中。可以计算任何适当的亲和度,例如可以计算基本亲和度、有向亲和 度、平均亲和度、差分亲和度和/或其它亲和度。可以使用本体亲和度矩阵来表示语言的本 体。亲和度计算器34可以使用任何适当的技术来搜索反向索引列表,以计算出亲和 度。在一个实施方式中,亲和度计算器可以使用对从术语集合(例如,词典)得到的反向索 引进行操作的算法,来计算词典术语的亲和度矩阵。对于相对大的文档集合,亲和度矩阵计 算执行的时间会非常长。与之前的方法相比,本公开的一些实施方式可以显著改进执行时 间。图5例示了用于由反向索引生成亲和度矩阵的方法的实施方式。一个实施方式包 括对反向索引进行访问;根据该反向索引生成术语标识符索引;以及生成本体亲和度矩 阵。该方法开始于步骤210,在步骤210中访问反向索引。例如,亲和度计算器34或者 服务器22的其它元件可以访问其中存储有反向索引62的存储器24。反向索引指示了在文 档内何处能够查找到术语,并且可以包括多个反向索引列表。每个反向索引列表对应于语 言的一个术语,并且包括该术语的术语标识符。术语标识符对术语进行标识。通常,标识符可以是任何适当的表示形式,例如数 字、字母、单词、符号、信号、其它适当的表示形式或者上述形式的组合,并且标识符可以存 储在电子介质中。作为示例,如果反向索引存储在矩阵中并且矩阵的各行包括反向索引列 表,则术语的术语标识符可以是矩阵的如下行的数量,即该行包括对应术语的反向索引列 表。在一个实施方式中,术语标识符可以存储在电子介质中。反向索引列表还可以包括一组文档标识符。各文档标识符表示文档集合中出现了 与反向索引列表相对应术语的文档。例如,如果文档集合是一本书并且书的页面是文档,则 文档标识符可以是包括所关注术语的页面的数量。文档标识符可以按任何适当的方式来排序,并且其顺序可以表示为从最低顺序到 最高顺序的有序集合。例如,由文档标识符1、2、3和4表示的文档可以排序为(1,2,3,4)、(4,3,2,1)、(2,4,3,1)或其它适当的顺序。类似地,可以采用任何适当的方式对术语标识 符进行排序。将参照图6更详细地描述反向索引的示例。图6示出了示例性的反向索引310。反向索引310包括四个反向索引列表314,各 反向索引列表314对应于语言的术语。各反向索引列表包括与术语相对应的术语标识符。 例如,术语标识符a、b、c和d可以分别对应于术语apple (苹果)、boy (男孩)、cat (猫) 和dog(狗)。每个反向索引列表还包括一个或更多个文档标识符,该一个或更多个文档标 识符标识出在哪个文档中出现了对应的术语。例如,一个反向索引列表包括术语标识符d 和出现dog的文档的文档标识符2、4和5。在一个实施方式中,可以根据反向索引来生成术语标识符索引。将术语标识符索引组织成多个片段,其中,各片段对应于文档集合中的不同文档。术语标识符索引的各片段 可以包括在与该片段相对应的文档中查找到的术语的术语标识符。在一个实施方式中,术 语标识符索引可以如下来生成。再次参照图5,步骤214-242对应于组织多个有序对并且根据反向索引来生成术 语标识符索引。参照图7来说明这些步骤,图7示出了示例性数据结构的内容和由图6中 的反向索引310生成的示例性术语标识符索引。在步骤214中,由反向索引生成一组有序对。有序对包括术语标识符和文档标识 符。在一个实施方式中,由各反向索引列表来创建有序对。各有序对可以包括反向索引列 表的术语标识符和反向索引列表的顺序最低的文档标识符。可以基于各有序对的文档标识符的排序来组织有序对。可以基于各有序对的术语 标识符来进一步组织具有相同文档标识符的有序对。因此,如果一个有序对的文档标识符 是一组有序对中顺序最低的文档标识符,并且该有序对的术语标识符是该组有序对中具有 相同文档标识符的有序对的顺序最低的术语标识符,则该有序对可以被视为该组有序对的 最低有序对。例如,可以由图6中的反向索引来生成有序对的初始集合。该初始集合包括各反 向索引列表的有序对318。可以首要地基于文档标识符并且其次基于术语标识符来对有序 对进行排序。出于该示例的目的,如下表示有序对(文档标识符,术语标识符)。该初始有 序对包括各反向索引列表中的术语标识符和顺序最低的文档标识符。因此,有序对的初始 集合为(1,A)、(4,B)、(1,C)和(2,D)。该示例假设的排序方案为随着文档标识符的量值 (magnitude)的增大,文档标识符的顺序增加,并且术语标识符的顺序随着标准英文字母表 的各连续字母而增加。在步骤218中,可以创建数据结构并利用根据各反向索引列表创建的有序对的集 合对其进行初始化。该数据结构能够存储多个有序对。在一些实施方式中,该数据结构被 组织成使得能够快速去除该数据结构的最低有序对。例如,该数据结构可以包括堆(heap)。 在一个实施方式中,该堆的各树节点的值小于或等于该树节点的子节点的值。因此,由于最 低有序对可以从该堆的顶部弹出(pop),因此容易访问该最低有序对。在一个实施方式中, 堆针对各反向索引列表至多具有一个节点。图7示出了以下数据结构,该数据结构包括根 据反向索引310生成的有序对的初始集合。在步骤222中,创建术语标识符索引。术语标识符索引可以包括术语标识符,该术 语标识符被组织成与若干个文档相对应的多个片段。例如,术语标识符索引的一个片段可以包括出现在与该片段相对应的文档中的术语的术语标识符列表。在一些实施方式中,术语标识符列表可以是有序列表。在一个实施方式中,术语标识符索引可以包括矢量。通过从 数据结构中去除有序对并将去除的有序对的术语标识符放置在术语标识符的目标片段中, 可以将术语标识符添加到术语标识符索引中。目标片段是术语标识符索引中放置有术语标 识符的片段。在步骤226中,对数据结构进行检查以确定该数据结构是否包括至少一个有序 对。如果该数据结构不包括有序对,则术语标识符索引被视为是完整的并且该方法前进至 步骤246。如果该数据结构非空,则在步骤230中从数据结构中去除最低有序对。在一个实 施方式中,从数据结构中“弹出”(从其顶部取出)最低有序对。参照图7,在步骤226的第一次迭代期间,数据结构非空,所以去除最低有序对(1, A)。在第二次迭代期间,去除(1,C)。在第三次迭代期间,去除(2,D),等等,直到数据结构 没有有序对为止。在步骤234中,将去除的有序对的文档标识符与从数据结构中最新近去除的有序 对的文档标识符进行比较。如果这些文档标识符不同,则术语标识符索引的目标片段发生 改变。例如,目标片段可以是术语标识符索引中放置了有序对的术语标识符的第一片段。如 果去除的有序对的文档标识符与之前去除的有序对的文档标识符不同,则将去除的有序对 的术语标识符放置于第二片段中。该第二片段可以与第一片段不同。例如,第一片段可以 包括存储器中的一个位置,而第二片段可以包括存储器中的一个不重叠的位置。可以采用 任何适当的方式来指示目标片段的改变。例如,可以将定界符放置在术语标识符索引中,用 于标记片段的术端。参照图7,在步骤234的第一次迭代中,不能相对于之前去除的有序对的文档标识 符来检查所去除的有序对(1,A)的文档标识符。因此,术语标识符索引的目标片段保持设 置到该术语标识符索引的第一片段。在第二次迭代中,在从数据结构中去除了有序对(1,C) 之后,目标片段保持不变,这是因为之前去除的有序对的文档标识符也是1。在第三次迭代 中,在去除了具有不同文档标识符的有序对(2,D)之后,术语标识符索引的目标片段变成 第二片段。迭代以类似的方式继续进行,直到步骤234的最后一次迭代为止。在步骤238中,将所去除的有序对的术语标识符放置于术语标识符索引的目标片 段中。在一个实施方式中,可以按如下方法将术语标识符放置于目标片段中,即该方式为保 持该片段内的排序。参照图7,在步骤238的第一次迭代中,将所去除的对(1,A)的术语标 识符A放置于术语标识符索引的第一片段中。在第二次迭代中,将C放置于术语标识符索 弓丨的第一片段中。在第三次迭代中,将D放置于术语标识符索引的第二片段中,等等。在步骤242中,对最新近放置于术语标识符索引中的术语标识符的反向索引列表 进行检查,以确定它是否具有在放置于数据结构内的有序对中尚未使用的任何文档标识 符。如果在反向索引列表内存在至少一个未使用的文档标识符,则生成下一个有序对,该下 一个有序对包括反向索引列表的术语标识符和顺序最低的未使用文档标识符。将该下一个 有序对放置于数据结构中。在一个实施方式中,将该下一个有序对推入(push)数据结构。 如果在反向索引列表中不存在未使用的文档标识符,则没有下一个有序对被放置于数据结 构中。参照图7,在第一次迭代中,检查具有术语标识符A的反向索引列表,以查看其是否包括任何未使用的文档标识符。在这种情况下,已使用了 1,而没有使用3。因为3是该反向索引列表的顺序最低的未使用文档标识符,所以将它与术语标识符A—起包括在新的 有序对中。将新生成的有序对(3,A)放置于数据结构中。在第二次和第三次迭代中,分别 生成有序对(3,C)和(4,D),并将其放置于数据结构中。在第四次迭代中,与术语标识符A 相对应的反向索引列表不具有未使用的文档标识符。因此,在该迭代过程中,没有新的有序 对被放置于数据结构中。迭代以类似的方式继续进行,直到步骤242的最后一次迭代为止。在一个实施方式中,上述步骤的迭代可以继续进行,直到完成了术语标识符索引 的生成为止。如图7所示,所得到的术语标识符索引包括其第一片段中的A和C、其第二片 段中的D、其第三片段中的A和C、其第四片段中的B、C和D以及其第五片段中的C和D。在一个实施方式中,在步骤246至258中,如果数据结构为空,则可以使用术语标 识符索引来生成本体亲和度矩阵(AM)。在一个实施方式中,可以在生成术语标识符索引中 的一个片段之后对该片段进行处理,而不是在生成所有片段之后再对片段进行处理。因此, 即使数据结构仍然非空,也可以执行步骤246至258中的一些或全部。本体亲和度矩阵可以包括与术语对的亲和度(即,术语对中的第一术语与第二术 语之间的亲和度)相对应的多个条目。亲和度矩阵的条目可以表示为AM(i,j),其中,i是 第一术语的术语标识符而j是第二术语的术语标识符。本体亲和度矩阵的各条目可以包括 计数值,每当在文档中一起出现术语对时,该计数值递增。在步骤246中,生成矩阵并将各条目的计数值初始化为0。在步骤250中,每当术 语对在文档中一起出现时,与该术语对的亲和度相对应的条目的计数值就递增。在一个实 施方式中,为了确定术语标识符对(i,j),可以访问术语标识符索引中的片段。如上所述, 术语标识符索引中的片段对应于文档集合中的文档,而术语标识符索引的片段内的术语标 识符对应于在相应文档内查找到的术语。对于各片段的各术语标识符对,AM(i,j)的计数 值递增。然后,可以使用该计数值来计算两个术语之间的亲和度。在一个实施方式中,按顺序来组织术语标识符索引的片段中的术语标识符。选择 该片段中顺序最低的术语标识符作为第一术语标识符i。标识出如下的术语标识符集合, 该术语标识符集合包括该片段中顺序比第一术语标识符更高的术语标识符。该集合中的各 术语标识符可以表示为j。将矩阵中与该集合的第一术语标识符i和各术语标识符j表示 的术语之间的亲和度相对应的条目的计数值递增。即,针对该集合中的各个j,将AM(i,j) 的计数值递增。接着,选择该片段中的次低术语标识符作为第一术语标识符i。标识出如 下术语标识符j的集合,该集合包括该片段中顺序比第一术语标识符更高的所有术语标识 符。将矩阵中与该集合的第一术语i和各术语标识符j的亲和度相对应的条目的计数值递 增。重复这个过程,直到处理完该片段中所有术语标识符对为止。作为示例,考虑包括如下术语标识符集合的术语标识符索引片段,该术语标识符 集合包括数字2、4、5和8。相关的术语标识符对是(2,4), (2,5), (2,8), (4,5), (4,8)和 (5,8)。因此,在步骤 250 中,将 AM(2,4)、AM(2,5)、AM(2,8)、AM(4,5)、AM(4,8)和 AM(5,8) 的计数值递增。在其它实施方式中,可以采用其它方式来标识出术语标识符索引中的术语标识符 对。例如,可以通过标识出片段中顺序最高的术语标识符并标识出包括该片段中顺序比最 高术语标识符低的术语标识符的第一集合,等等,来执行上述过程。在其它实施方式中,可以用其它方法来标识出术语标识符对。在一些实施方式中,本体亲和度矩阵的条目可以对应于术语对的有向亲和度。如前所述,有向亲和度是在文档集合的文档中出现术语对的第一一术语^的情况下,在该文 档中出现该术语对的第二术语、的概率。对于有向亲和度,术语对的顺序转换可以改变有 向亲和度的值。例如,术语对(t”tp的有向亲和度不一定与术语对(、,、)的有向亲和度 相同。在一些实施方式中,可以在处理了各片段之后计算矩阵中大约一半的计数值。这 是因为只有当术语标识符对中第一术语标识符的顺序比第二术语标识符的顺序低(例如, i < j)时,才对这些对进行处理。因此,在处理了该术语标识符索引之后,仍没有计算AM(i, j)中i > j的那些计数值。因此,本体亲和度矩阵可以是上三角矩阵。因为条目的计数值对 应于在文档集合中对应的术语对一起出现的次数,所以AM(i,j)的任何给定计数值应当等 于AM(j,i)的最终计数值。因此,对于i< j而言,可以将AM(i,j)的计数值复制到AM(j, i),从而得到矩阵AM的其余条目的计数值。在一个实施方式中,可以由上三角矩阵的转置 而得到矩阵AM的下三角部分。在一些实施方式中,通过得到亲和度矩阵AM的计数值并且随后将各条目的计数 值AM(i,j)除以D(Ti)(即反向索引列表中包括术语标识符i的文档标识符的数量)而形 成有向亲和度矩阵。换言之,将与第一术语和第二术语之间的亲和度相对应的AM条目的计 数值除以文档集合中出现了第一术语的文档的数量。在针对个计数值执行了该操作并且将 结果存储在AM的适当条目中之后,亲和度矩阵的各条目将分别包括具有如下概略的有向 亲和度,即在文档集合内的一个文档中查找到与i相对应的术语的情况下,在该文档中查 找到与j相对应的术语的概率。在一个实施方式中,可以借助于有向亲和度的结果来重写(overwrite)计数值。 在另一个实施方式中,有向亲和度结果可以与计数值分开地记录。可以采用任何适当的方 式来存储这些结果。本体亲和度矩阵还可以包括以下条目术语、分离文档量、联合文档量、 列表中的文档量等。在其它实施方式中,可以将矩阵的计数值除以不同的值。例如,取决于所选择的基 本亲和度的定义,可以通过将各条目的计数值AM(i,j)除以D(TJTj)(即包括术语、或术 语、的文档的数量),或者除以D(Ti)和D*(Tp中较大的一个,得到包括基本亲和度的矩 阵。当计算基本亲和度矩阵BAM时,由于BAM(i,j) =BAM(j,i),因此只需要计算一半(一 个三角区域)。本文公开的系统和装置中的组件可以包括接口、逻辑、存储器和/或其它适当的 元件。接口接收输入、发送输出、处理输入和/或输出,和/或执行其它适当的操作。接口 可以包括硬件和/或软件。逻辑执行这些组件的操作,例如,执行指令以由输入生成输出。逻辑可包括硬件、 软件和/或其它逻辑。可以将逻辑编码在一种或多种有形介质中,并且当该逻辑由计算机 执行时可进行操作。特定逻辑(例如,处理器)可管理组件的操作。处理器的示例包括一 种或更多种计算机、一种或更多种微处理器、一种或更多种应用和/或其它逻辑。存储器存储信息。存储器可包括一种或更多种有形的计算机可读的和/或计算机 可执行的存储介质。存储器可以包括瞬时(transitory)或非瞬时(non-transitory)计算机可读介质。存储器的示例包括计算机存储器(例如,随机存取存储器(RAM)或只读存储 器(ROM))、海量存储介质(例如,硬盘)、可移除存储介质(例如,光盘(⑶)或数字视频盘 (DVD))、数据库和/或网络存储部(例如,服务器)和/或其它计算机可读介质。在不脱离本发明范围的情况下,可以对本文公开的系统和装置进行修改、添加或 删减。系统和装置中的组件可以集成或分离。此外,可以由更多、更少或其它组件来执行该 系统和装置的操作。例如,可以由多于一个组件来执行亲和度计算器34的操作。另外,可 以使用包括软件、硬件和/或其它逻辑的任何适当的逻辑来执行该系统和装置的操作。如 在本文中所使用的,“各个(each) ”是指集合中的各个成员或集合的子集中的各个成员。在不脱离本发明范围的情况下,可以对矩阵示例进行修改、添加或删减。矩阵可以 包括更多、更少或其它的值。另外,可以采用任何适当的顺序来布置矩阵的值。在不脱离本发明范围的情况下,可以对本文公开的方法进行修改、添加或删减。这 些方法可以包括更多、更少或其它的步骤。另外,可以采用任何适当的顺序来执行这些步 马聚ο本发明的特定实施方式可提供一项或更多项技术优点。一个实施方式的技术优点 可以在于,可以将语言的术语之间的亲和度表示为定量值。亲和度可用于生成用作语言的 本体的矩阵。本发明的特定实施方式可以不包括上述技术优点,或者包括一些或全部上述 技术优点。对于本领域的技术人员而言,从本文所包括的附图、说明书以及权利要求书得到 一项或更多项其它技术优点是显而易见的。虽然这里以特定实施方式描述了本公开,但是这些实施方式的变化和置换对于本领域技术人员将是明显的。因此,对这些实施方式的以上描述并不旨在限制本发明。在不 脱离由所附的权利要求限定的本公开的精神和范围的情况下,可以做出其它改变、替换和变化。
权利要求
一种方法,该方法包括以下步骤对包括多个反向索引列表的反向索引进行访问,每个反向索引列表对应于一个术语,每个反向索引列表包括该术语的术语标识符和一个或更多个文档标识符,所述一个或更多个文档标识符指示了文档集合中的出现所述术语的一个或更多个文档;对多个有序对进行组织,各有序对包括反向索引列表的术语标识符和文档标识符,所述组织步骤首要地基于所述有序对的所述文档标识符;以及根据所述反向索引生成术语标识符索引,所述术语标识符索引包括多个片段,每个片段对应于一个文档,每个片段包括所述文档中出现的一个或更多个术语的一个或更多个术语标识符,根据所述反向索引生成所述术语标识符索引的步骤包括以下步骤对所述术语标识符索引的所述片段中的有序对的术语标识符进行组织。
2.根据权利要求1所述的方法,其中,对所述多个有序对进行组织的步骤还包括以下 步骤其次地基于所述有序对的所述术语标识符对所述有序对进行组织。
3.根据权利要求1所述的方法,其中,根据所述反向索引生成所述术语标识符索引的 步骤还包括以下步骤从数据结构中按顺序选择有序对;以及将所选择的有序对的术语标识符放置于所述术语标识符索引的与一个文档相对应的 片段中,以根据文档对所述反向索引的所述术语标识符进行组织。
4.根据权利要求1所述的方法,其中,根据所述反向索引生成所述术语标识符索引的 步骤还包括以下步骤从数据结构中去除所选择的有序对;由所述反向索引生成下一个有序对,所述下一个有序对包括与所选择的有序对的术语 标识符等同的术语标识符;以及将所述下一个有序对放置于所述数据结构中。
5.根据权利要求1所述的方法,其中,根据所述反向索引生成所述术语标识符索引的 步骤还包括以下步骤确定所选择的有序对包括与之前选择的有序对的文档标识符不等同的文档标识符,其 中所述之前选择的有序对包括放置于第一片段中的术语标识符;以及将所选择的有序对的术语标识符放置于与所述第一片段不同的第二片段中。
6.根据权利要求1所述的方法,其中,该方法还包括以下步骤对包括多个条目的本体亲和度矩阵进行初始化,每个条目包括一个计数值,每个条目 对应于包括第一术语和第二术语的术语对的亲和度;以及针对所述术语标识符索引中包括所选择的术语对的术语标识符的每个片段,将与所选 择的术语对的亲和度相对应的条目的计数值递增。
7.根据权利要求1所述的方法,该方法还包括以下步骤生成包括多个条目的本体亲和度矩阵,每个条目对应于包括第一术语和第二术语的一 个术语对的亲和度,每个条目包括指示了所述术语对在所述文档集合的一个文档中一起出 现的次数的计数值;以及将所述本体亲和度矩阵的每个计数值除以由如下成员构成的组中的一个出现所述第一术语的文档的数量,出现所述第二术语的文档的数量,以及出现所述第一术语的文档的 数量加上出现所述第二术语的文档的数量。
8.根据权利要求1所述的方法,该方法还包括以下步骤生成包括多个条目的本体亲和度矩阵,每个条目对应于包括第一术语和第二术语的一 个术语对的有向亲和度,所述有向亲和度包括在所述文档集合的一个文档中出现所述第一 术语的情况下在所述文档中出现所述第二术语的概率。
9.一种装置,该装置包括存储器,该存储器能操作用于进行如下操作存储包括多个反向索引列表的反向索弓丨,每个反向索引列表对应于一个术语,每个反 向索引列表包括该术语的术语标识符和一个或更多个文档标识符,所述一个或更多个文档 标识符指示了文档集合中的出现所述术语的一个或更多个文档;以及处理器,该操作器能操作用于执行逻辑,以进行如下操作对多个有序对进行组织,各有序对包括反向索引列表的术语标识符和文档标识符,所 述组织操作首要地基于所述有序对的所述文档标识符;以及根据所述反向索引生成术语标识符索引,所述术语标识符索引包括多个片段,每个片 段对应于一个文档,每个片段包括所述文档中出现的一个或更多个术语的一个或更多个术 语标识符,根据所述反向索引生成所述术语标识符索引的操作包括以下操作对所述术语 标识符索引的所述片段中的有序对的术语标识符进行组织。
10.根据权利要求9所述的装置,其中,对所述多个有序对进行组织的操作还包括以下 操作其次地基于所述有序对的所述术语标识符对所述有序对进行组织。
11.根据权利要求9所述的装置,其中,根据所述反向索引生成所述术语标识符索引的 操作还包括以下操作从数据结构中按顺序选择有序对;以及将所选择的有序对的术语标识符放置于所述术语标识符索引的与一个文档相对应的 片段中,以根据文档对所述反向索引的所述术语标识符进行组织。
12.根据权利要求9所述的装置,其中,根据所述反向索引生成所述术语标识符索引的 操作还包括以下操作从数据结构中去除所选择的有序对;由所述反向索引生成下一个有序对,所述下一个有序对包括与所选择的有序对的术语 标识符等同的术语标识符;以及将所述下一个有序对放置于所述数据结构中。
13.根据权利要求9所述的装置,其中,根据所述反向索引生成所述术语标识符索引的 操作还包括以下操作确定所选择的有序对包括与之前选择的有序对的文档标识符不等同的文档标识符,其 中所述之前选择的有序对包括放置于第一片段中的术语标识符;以及将所选择的有序对的术语标识符放置于与所述第一片段不同的第二片段中。
14.根据权利要求9所述的装置,其中,所述处理器还能进行如下操作对包括多个条目的本体亲和度矩阵进行初始化,每个条目包括一个计数值,每个条目对应于包括第一术语和第二术语的术语对的亲和度;以及针对所述术语标识符索引中包括所选择的术语对的术语标识符的每个片段,将与所选 择的术语对的亲和度相对应的条目的计数值递增。
15.根据权利要求9所述的装置,其中,所述处理器还能进行如下操作生成包括多个条目的本体亲和度矩阵,每个条目对应于包括第一术语和第二术语的一 个术语对的亲和度,每个条目包括指示了所述术语对在所述文档集合的一个文档中一起出 现的次数的计数值;以及将所述本体亲和度矩阵的每个计数值除以由如下成员构成的组中的一个出现所述第 一术语的文档的数量,出现所述第二术语的文档的数量,以及出现所述第一术语的文档的 数量加上出现所述第二术语的文档的数量。
16.根据权利要求9所述的装置,其中,所述处理器还能进行如下操作生成包括多个条目的本体亲和度矩阵,每个条目对应于包括第一术语和第二术语的一 个术语对的有向亲和度,所述有向亲和度包括在所述文档集合的一个文档中出现所述第一 术语的情况下在所述文档中出现所述第二术语的概率。
17.一种有形计算机可读介质,该有形计算机可读介质具有计算机可执行代码,并且当 所述计算机可执行代码由计算机执行时能够进行如下操作对包括多个反向索引列表的反向索引进行访问,每个反向索引列表对应于一个术语, 每个反向索引列表包括该术语的术语标识符和一个或更多个文档标识符,所述一个或更多 个文档标识符指示了文档集合中的出现所述术语的一个或更多个文档;对多个有序对进行组织,各有序对包括反向索引列表的术语标识符和文档标识符,所 述组织操作首要地基于所述有序对的所述文档标识符;以及根据所述反向索引生成术语标识符索引,所述术语标识符索引包括多个片段,每个片 段对应于一个文档,每个片段包括所述文档中出现的一个或更多个术语的一个或更多个术 语标识符,根据所述反向索引生成所述术语标识符索引的操作包括以下操作对所述术语 标识符索引的所述片段中的有序对的术语标识符进行组织。
18.根据权利要求17所述的介质,其中,对所述多个有序对进行组织的操作还包括以 下操作其次地基于所述有序对的所述术语标识符对所述有序对进行组织。
19.根据权利要求17所述的介质,其中,根据所述反向索引生成所述术语标识符索引 的操作还包括以下操作从数据结构中按顺序选择有序对;以及将所选择的有序对的术语标识符放置于所述术语标识符索引的与一个文档相对应的 片段中,以根据文档对所述反向索引的所述术语标识符进行组织。
20.根据权利要求17所述的介质,其中,根据所述反向索引生成所述术语标识符索引 的操作还包括以下操作从数据结构中去除所选择的有序对;由所述反向索引生成下一个有序对,所述下一个有序对包括与所选择的有序对的术语 标识符等同的术语标识符;以及将所述下一个有序对放置于所述数据结构中。
21.根据权利要求17所述的介质,其中,根据所述反向索引生成所述术语标识符索引 的操作还包括以下操作确定所选择的有序对包括与之前选择的有序对的文档标识符不等同的文档标识符,其 中所述之前选择的有序对包括放置于第一片段中的术语标识符;以及将所选择的有序对的术语标识符放置于与所述第一片段不同的第二片段中。
22.根据权利要求17所述的介质,其中,当所述计算机可执行代码由计算机执行时还 能操作用于进行如下操作对包括多个条目的本体亲和度矩阵进行初始化,每个条目包括一个计数值,每个条目 对应于包括第一术语和第二术语的术语对的亲和度;以及针对所述术语标识符索引中包括所选择的术语对的术语标识符的每个片段,将与所选 择的术语对的亲和度相对应的条目的计数值递增。
23.根据权利要求17所述的介质,其中,当所述计算机可执行代码由计算机执行时还 能操作用于进行如下操作生成包括多个条目的本体亲和度矩阵,每个条目对应于包括第一术语和第二术语的一 个术语对的亲和度,每个条目包括指示了所述术语对在所述文档集合的一个文档中一起出 现的次数的计数值;以及将所述本体亲和度矩阵的每个计数值除以由如下成员构成的组中的一个出现所述第 一术语的文档的数量,出现所述第二术语的文档的数量,以及出现所述第一术语的文档的 数量加上出现所述第二术语的文档的数量。
24.根据权利要求17所述的介质,其中,当所述计算机可执行代码由计算机执行时还 能操作用于进行如下操作生成包括多个条目的本体亲和度矩阵,每个条目对应于包括第一术语和第二术语的一 个术语对的有向亲和度,所述有向亲和度包括在所述文档集合的一个文档中出现所述第一 术语的情况下在所述文档中出现所述第二术语的概率。
全文摘要
在一个实施方式中,生成本体的步骤包括如下步骤对包括多个反向索引列表的反向索引进行访问。反向索引列表可以对应于语言的术语。每个反向索引列表可以包括一个术语的术语标识符和一个或更多个文档标识符,所述一个或更多个文档标识符指示了在文档集合中出现所述术语的一个或更多个文档。该实施方式还包括以下步骤根据反向索引生成术语标识符索引。术语标识符索引包括多个片段,并且每个片段对应于一个文档。每个片段可以包括在文档中出现的一个或更多个术语的一个或更多个术语标识符。
文档编号G06F17/30GK101807201SQ201010117358
公开日2010年8月18日 申请日期2010年2月12日 优先权日2009年2月13日
发明者斯特吉奥斯·斯特吉奥, 贾瓦哈拉·贾殷, 雅纳斯·郎布罗 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1