在大型有向图中对节点进行排级的改进方法技术

技术编号:2831020 阅读:362 留言:0更新日期:2012-04-11 18:40
用于将排级分配给在诸如万维网或者任何其它超媒体数据库之类的大型链接数据库中的节点的技术,对这些节点进行划分以便链接矩阵具有主要为块对角线的形式。在每个块内,有可能由在分布式计算环境中的不同计算机计算在块中节点的局部排级。然后为作为整体的每个块估算块排级,并且可以可选地包括块级别的权重以实现定制的排级。然后将局部排级和块排级组合起来以形成全局排级,其可以用于对节点进行排级。作为选择,用于数据库的全局排级向量可以用作在迭代的、基于链接的排级方案中的初始向量,以获得用于节点的更准确全局排级。可以对全局排级向量进行划分,以提供用于在该方法的后续应用中使用的局部排级向量。(*该技术在2024年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术通常涉及用于分析大型有向图的改进技术。更具体地说,本专利技术 涉及用于减少向在诸如万维网或者任何其它超媒体数据库之类的大型链接数 据库中的节点分配排级的计算复杂度的方法。
技术介绍
链接数据库(即,包含相互引用'的文档的任何数据库,诸如万维网或者其它超^^某体归档)可以被表示为N节点的有向图,其中每个节点对应于一个文 档,而且其中在节点之间的有向连接对应于从一个文档到另一个文档的有向 链接。 一个给定节点具有一组将它连接到子节点的前向链接,以及一组将它 连接到父(pa ren t)节点的后向链接。排级或者向节点分配重要值经常是有用的。例如,可以通过依据所检索 文档的排级对所检索文档进行排序、并且首先给出最重要的文档,来改善数 据库搜索结果的相关性。 一种进行排级的方法是依据文档的内部内容、或者 根据它的父文档的标记文本(anchor text)来确定排级。当数据库具有数百万 或者数十亿个节点时,但是这种方法变得在计算上是不可实现的。另一种更 有效的方法是依据在节点之间的外在关系,即依据有向图的链接结构来确定 排级。这类方法被称为基于链接的排级。例如,美国专利第6,285,999号公 开了由Google搜索引擎使用的、用于向网页分配排级的基于链接的排级技 术。页面排级(page rank)是页重要性的尺度,其递归地定义为它的父文档的 排级的函数。考虑另一种方法,网页的排级是网络沖浪者在随机地沿着大量 链接之后到达该页面的稳态概率。因此,如果页面具有许多父链接,或者如 果它的父本身具有较高的排级,则它将倾向于具有较高的排级。通过查找N x N链接矩阵A的主本征向量来计算数据库的页面排级,其中A的每个元素 aij表示N个节点的有向图中的、从节点i移动到节点j的概率。可以使用乘 方方法来计算主本征向量,该乘方方法是计算定义为向量的稳态概率向量x 的迭代过程,随着n变得非常大,xn = A。x。收敛,其中x。是初始n维向量,例如为均匀分布。节点k的排级Xk仅仅是向量X的第k个分量。在美国专利第6, 112, 202号中公开的、类似的基于链接的排级技术计算A的奇异值分解 (singular value decomposition),并且将节点的排级定义为奇异向量的相 应分量。 一种简易但不是非常精细的技术通过简单地统计节点所具有的父节 点的数目来对节点进行排级。虽然这些基于链接的排级技术较现有技术有所改进,但是在非常大的数 据库、诸如包含几十亿个页面的万维网的情况下,为所有页面计算排级可能 花费相当多的时间。因此,提供利用更高的计算效率来计算页面排级的技术 将是有价值的。
技术实现思路
本专利技术人已经发现通过利用用于数据库的有向图的结构特性,有可能加 速在非常大型链接数据库中的排级的计算。更具体地说,本专利技术人已经意识 到,在链接数据库中的大多数链接是在共享共同的自然分类或者类型的节点 之间。例如,在web数据库的情况下,页面可以由域名分类,而且在web中 的大多数链接是在同 一域中的页面之间。在链接数据库中的节点的这个分类 可用于对节点进行划分,以便用于数据库的链接矩阵具有主要为块对角线的 形式,其中块对应于用于形成划分的类别。此外,在每个类别内可以有子类, 结果形成链f妄矩阵的相应子块。本专利技术人已经发现链接矩阵的这个嵌套块结构可用于将排级的计算分解 和简化为可分离的步骤,其显著地提高了基于链接进行排级的速度。实际上, 链接矩阵的块对角线结构是指,对于一个好的近似,可以彼此去耦(decouple) 这些块,而且这些块可以作为局部化的链4^矩阵:故单独处理。这允许将排级 的计算分解成分别单独行、每块一个的计算。然后可以把用于各种局部化块 的这些单独计算的结果与块级别的排级计算组合起来,以产生用于每个节点 的近似全局排级值。具体地说,在每个块内,可以为在块中每个节点计算局 部排级。此外,为每个块计算块级别的排级。通过将节点的局部排级与包含 该节点的块的块排级进行组合,可以为该节点计算全局排级。这些全局排级 是对实际排级的良好近似。因此,它们可以用作近似排级,或者用作估计的 全局排级以形成初始向量,以便开始实际全局排级的迭代计算。迭代计算将 更加快速地收敛到实际排级,这是因为和均匀分布相比,该初始向量更靠近迭代计算的极限值。除加速排级计算之外,这种方式还具有这样的优点,即在每个块内局部 排级的计算与其它块无关。因此,局部排级可以使用不同的计算机、在不同 的时间、使用不同的排级方案来进行计算。 一旦确定了数据库的划分,就可 以开始与分析每个节点块的链接结构相关联的计算。此外,可以在分开的处 理器上并行分析这些块,例如,可以在不同的计算机处计算局部排级向量, 然后不同的计算机将这些向量发送到中央计算机,其将它们与块排级向量进 行组合以计算全局排级向量。因此,可以以高度分布式方式实现该技术,从 而提供非常快的速度。这个技术还允许在数据库的所选^^块被更新或者改变了之后有效地更新排级。另一个优点是,那些块或者子块比整个web矩阵小很多,而且可以,例如通过将当前的块或者子块数据全部存储在主存储器中, 更加有效地对它们进行逐一分析。块结构还提供了实现定制排级值的实际方 法。具体地说,可以使用一组对应于节点划分的子集的块权重来计算定制的 块排级。然后可以使用普通的局部页面排级和这些定制的块排级来计算定制 的全局排级向量附图说明图l是依据本专利技术的教义、表示简单的链接数据库的有向图的说明,其 中数据库的节点被划分为两种类型。图2是依据本专利技术的教义、表示对应于图1中的有向图的链接矩阵A的 表格,其中两种类型的节点结果形成两个相应的块。图3是依据本专利技术的教义的有向图的说明,其中每个节点表示来自图1 中的图形的节点的子集,而且每个链接表示在两个子集之间的链接集合。图4是依据本专利技术的教义、表示对应于图3中的有向图的链接矩阵的表 格,其中元素对应于在图3中的节点之间的链接。图5是依据本专利技术的教义、用于大型链接数据库的链接矩阵的略图,其 中节点被划分类别和子类,并结果形成具有沿着对角线的块和子块的链接矩 阵。图6是依据本专利技术的教义、说明用于在链接数据库中计算节点排级的技 术的流程图。具体实施例方式下面参考附图对本专利技术的特定实施例进行详细描述。虽然为了说明的目 的,这些详细描述包含许多细节,但是本领域技术人员将理解,可以在本发 明的范围内对那些细节进行许多^f'务改和替换。因此,本专利技术这些实施例的阐 述没有对本专利技术的通用性造成任何损失,也没有对本专利技术强加限制。依据本专利技术的实施例,提供了 一种用于在链接数据库中有效地对节点进 行排级的方法。通常,链接数据库具有N个链接节点的有向图的结构,其中 这些节点表示文档、记录、或者其它数据单元,而且在节点之间的链接表示 在节点之间的引用、参考、或者其它链接。链接数据库的示例包括链接的电 子超文本文档、相互引用的杂志文章、引用其它专利的专利、彼此引用的新 闻组发布或者电子邮件消息、以及通过某种类型的关联或者估计彼此链接的 个人或者组织的网络。图1示出了表示链接数据库的有向图。仅仅为了简化 说明,图1中的图形表示仅仅具有十个节点的小数据库。但是,本专利技术的原 理适用于任何大小的数据库。与本专利技术的实施例一起使本文档来自技高网
...

【技术保护点】
一种用于在链接数据库中计算排级的方法,该方法包含:获得与在链接数据库中的选定节点子集相关联的局部排级向量,其中局部排级向量的每个分量表示在该选定节点子集中的节点的局部排级;获得与链接数据库相关联的块排级向量,其中块排级向量中的每个分量表示在链接数据库中的节点子集的块排级,其中所述子集是由在链接数据库中的节点的划分所定义的多个节点子集之一;选择块排级向量的分量,该分量对应于所选择的节点子集;选择局部排级向量的分量,该分量对应于在选择节点子集中的选定节点;将块排级向量的选定分量和局部排级向量的选定分量组合起来,以获得用于选定节点的全局排级。

【技术特征摘要】
【国外来华专利技术】US 2003-3-28 60/458,921;US 2003-8-22 10/646,3311、一种用于在链接数据库中计算排级的方法,该方法包含获得与在链接数据库中的选定节点子集相关联的局部排级向量,其中局部排级向量的每个分量表示在该选定节点子集中的节点的局部排级;获得与链接数据库相关联的块排级向量,其中块排级向量中的每个分量表示在链接数据库中的节点子集的块排级,其中所述子集是由在链接数据库中的节点的划分所定义的多个节点子集之一;选择块排级向量的分量,该分量对应于所选择的节点子集;选择局部排级向量的分量,该分量对应于在选择节点子集中的选定节点;将块排级向量的选定分量和局部排级向量的选定分量组合起来,以获得用于选定节点的全局排级。2、 如权利要求l所述的方法,其中,获得局部排级向量包含从计算了 局部排级向量的计算机接收局部排级向量。3、 如权利要求l所述的方法,其中,获得局部排级向量包含选择先前 存在的全局排级向量的分量。4、 如权利要求l所述的方法,其中,获得局部排级向量包含形成局部 链接矩阵以及从该局部链接矩阵中计算该局部排级向量,其中该局部链接矩 阵包含在所选择子集的节点之间的链接权重。5、 如权利要求l所述的方法,还包含将链接数据库中的节点分类为主 题类别,并且依据该主题类别将节点的划分创建为多个子集。6、 如权利要求l所述的方法,还包含获得与多个子集相关联的多个局 部排级向量。7、 如权利要求l所述的方法,其中,获得块排级向量包含形成用于链 接数据库的简化链接矩阵,并且从该筒化链接矩阵中计算块排级向量。8、 如权利要求7所述的方法,其中,形成所述简化链接矩阵包含使用一 组与子集相关联的偏爱权重来改变所述简化链接矩阵的元素,以便依据该偏 爱权重定制块排级向量。9、 如权利要求l所述的方法,还包含使用迭代的、基于链接的排级技 术从该全局排级中计算最终排级。10、 如权利要求l所述的方法,还包含使用全局排级来确定在其它节点当中所选择节点的呈现次序。11、 一种用于计算在链接数据库中的节点的排级值的方法,该方法包含 依据节点的类别将链接数据库的节点划分为K个子集;为K个节点子集计算K个局部排级向量; 从K x K简化链接矩阵中计算块排级向量;从局部排级向量和块排级向量中计算全局排级向量;以及 选择对应于该节点的全局排级向量的分量,以获得用于该节点的排级值。12、 如权利要求11所述的方法,其中,计算K个局部排级向量包含将 用于链接数据库的链接矩阵布置为对应于将节点划分为子集的块对角线形 ...

【专利技术属性】
技术研发人员:塞潘达D坎瓦尔泰尔H哈夫利瓦拉格伦杰吉恩戈拉布
申请(专利权)人:小利兰斯坦福大学理事会
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1