用于对图数据流中的对象分类的方法

文档序号:6362135阅读:119来源:国知局
专利名称:用于对图数据流中的对象分类的方法
技术领域
本发明涉及大规模图流(graph stream)的分类。
背景技术
在机器学习中,分类是将类别标签指派给输入对象。分类发生于若干领域(诸如,化学及生物数据、web及通信网路)的情境下。作为示例,web查询主题分类/归类涉及基于查询的主题将web搜寻查询(例如,输入对象)指派给一个或多个预定义的类别(例如,类别标签)。举例而言,发出web查询“苹果”的用户可能期望看到与水果苹果相关的网页,或其可能更愿意看到与该计算机公司相关的产品或新闻。可根据由一查询分类算法预测的种类来对搜寻结果页进行分组。许多数据域(诸如,化学数据、生物数据及web)被结构化为图。在化学及生物领域中,可从适度的概率库取得图的节点,且假定数据集具有适度的大小。另一方面,可在大规模的基础节点全域上定义web图、通信网络及社交网络。具有IO7以上的节点的图可含有多达IO13个边,且由此被视为大规模的。这些节点可对应于web图中的URL地址、通信网络中的IP地址或社交网络中的用户标识符。这些URL地址、IP地址及用户标识符之间的连结为边。在流传输应用中,将在某一外部环境中产生的数据异步地推送至处理此信息的服务器。流传输应用的特征为以及时及响应的方式处理高容量数据流的能力。大规模图流可包括用户在社交网络中的通信模式(pattern)、所有用户的浏览模式或通信网络上的侵入通信流(traf f i c )。当大规模图呈流形式时,这限制了可用以挖掘结构信息以用于未来分析的算法的种类。举例而言,流约束仅允许在数据上执行一遍。此外,图的边可能在数据流中无序地到达。图的大规模尺寸也对有效提取与分类相关的信息产生挑战。举例而言,难以在图数据中存储关于大量相异边的概要信息。此外,由于结构行为是由大量相异边的组合控制的,因此子结构判定问题的复杂性的指数级增加随着子结构的基数而极为快速。在这样的情况下,频繁的辨别性子图的判定可在计算及空间上效率低下至不能实行的程度。

发明内容
本发明的例示性实施例提供用于分类图数据流中的对象的方法及计算机程序产品。该图数据流可包括表示元素的多个节点及表示这些元素之间的连接的边。该数据流中的对象可为一组节点连同这些节点之间的边。在一例示性方法中,接收图数据的训练流,其中该训练流包括多个对象连同与这些对象中的每一个相关联的类别标签。判定该训练流中的用于类别标签的辨别性边集合(例如,子图),其中一辨别性边集合为指示(但并非直接对应于)具有给定类别标签的包括这些边的对象的边集合。接着接收该图数据的一传入数据流,其中尚未将类别标签指派给该传入数据流中的对象。基于这些辨别性边集合,判定与该传入数据流中的对象相关联的类别标签。将基于该第二判定的对象类别标签对输出至一信息储存库。


图1示出大规模图的部分;图2示出根据本发明的一例示性实施例的用于分类图数据流中的对象的方法的流程图;图3示出根据本发明的一例示性实施例的用于更新图数据流的每一传入边的min-hash (最小哈希)索引的算法;图4示出对应于图3中所示出的算法的部分的流程图;图5示出根据本发明的一例示性实施例的用于通过列压缩更新用于图数据流的每一传入图的min-hash索引的算法;图6示出对应于图5中所示出的算法的部分的流程图;以及图7示出用于实施本发明的例示性实施例的装置。
具体实施例方式下文将描述根据本发明的一例示性实施例的用于分类图数据流中的对象的方法。该图数据流可为大规模的。该对象可包括图的节点及边,这些节点及边标识web冲浪的模式。举例而言,受访网站为节点,且自一个网页至另一网页的路径为边。因此,访问网页I且接着访问网页2且接着访问网页3的用户很可能为具有某一属性(即,很可能购买特定书籍)的用户。本发明旨在识别这些模式,且接着将相关标签指派给这些模式。为达成此目的,首先判定存在于图数据的训练流中的辨别性子图,接着给予其类别标签。简言之,以减少传入数据至小空间中的的二维(2D)哈希压缩技术来判定相关的边集合。接着,判定用于相关边集合的主要类别标签,且将其给予相应子图作为最终类别标签以获得辨别性子图。可接着使用这些辨别性子图来推断测试图流中的对象的类别标签。举例而言,在于流处理器处接收到包括反映上述web冲浪模式的对象的测试数据流的情况下,可访问包括辨别性子图及其相关联的类别标签的存储器以寻找对应于传入对象的这些子图。将传入对象所对应的子图的类别标签给予该对象。在此情况下,类别标签可指示该对象对应于很可能要购买特定书籍的用户的模式。图1示出大规模图的部分。在此示例中,示出web图100。然而,该大规模图可为通信网络、社交网络等的图。如图1中所示,web图100包括多个节点A — P及边(即,这些节点之间的箭头)。在图1中仅示出web图100的部分,因为web图100可含有(例如)IO7个以上的节点及IO13个以上的边。web图100的节点A — P可表示网页,且web图100的边可表示这些网页之间的超链接。web图100的链接结构保持了可用于多种数据挖掘目的的大量信息。举例而言,经由挖掘而识别的web浏览模式可由政府使用以对威胁进行分类且对抗恐怖主义,或由公司使用以通过将其客户所需准确地给予客户来建立更好的客户关系。图2为根据本发明的一例示性实施例的用于分类图数据流中的对象的方法的流程图。返回参看图1,对象可为一组节点A — P连同其边。举例而言,对象可包括节点A及B以及其间的单一边,或更多得多的节点及其间的边。如图2中所示出,流处理器接收来自web图100的数据训练流(210)。该流处理器可为能够执行诸如由纽约阿蒙克市的国际商业机器公司提供的InfoSphere Streams (先前称为System S)的实时流处理平台的计算环境。关于InfoSphere Streams 的细节提供于各种IBM 出版物中,包括(例如)2010年2月出版的Roger Rea及KrishnaMamidipaka 等人的题为 “IBM InfoSphere Streams, Redefining Real Time Analytics”的出版物。InfoSphere Streams 平台使用被称为流处理语言(SPL ;以前称为SPADE)的高阶编程语言。SPADE 描述于 “SPADE: System S Declarative Stream ProcessingEngine”(Gedik 等人,SIGM0D,2008 年 6 月 9 日至 12 日,第 1123-1134 页)中。关于 SPL 的进一步细节描述于题为“SPL Stream Processing Language Specification”的IBM 研究报告(Hirzel 等人,RC24897 (W0911-044),2009 年 11 月 5 日)中。InfoSphere Streams 及流处理语言支持可横跨若干计算节点的分布式数据流处理应用。在一示例中,使用流处理语言声明性语言以对这些多运算符应用进行编程。流处理语言的以流为中心的设计意味着基础构建块为流的语言。流处理语言的基于运算符的编程聚焦于围绕最小可能的构建块来设计应用,所述最小可能的构建块是提供一应用被设计为执行的计算所必需的。在步骤210中接收的图数据的训练流含有多个对象连同与这些对象相关联的类别标签。流中的个别对象可由图G1...Gn...表示。每一图Gi与自中取得的类别标签Ci相关联。web图100可被定义于节点集合N上。流中的数据按顺序到达流处理器。举例而言,数据可如以下方式到达:〈GraphIdXEdgeXClassLabel>。假定在流中,类别标签始终附加至图标识符。图Gi的边可能在流中无序地出现。对于诸如社交网络及通信网络的许多应用而言,一般都是这种情况,因为人们不能控制跨越不同边的消息及通信的排序。变量(Edge)的值由其两个构成节点定义。作为流中的一些数据的一示例,考虑标识符对应于侵入发生时的时间戳的网络侵入应用。该侵入可诱发对应于子图的一边集合。因此,图的标识符可为时间戳。边可含有攻击者及受害者的源及目的地IP地址。类别标签可为侵入的类型(例如,“拒绝服务”攻击)。响应于接收到图数据的训练流,判定该训练流中用于类别标签的辨别性边集合(例如,子图)(220)。在此步骤中,首先寻找相关的边集合,接着将类别标签给予这些相关的边集合以获得辨别性边集合。举例而言,首先寻找对应的共同发生的边(作为一组)的出现远高于统计预期的子图。这种子图在以下论述中被称为显著子图。接着,判定倾向于辨别为特定类别的子图。在论述如何找到并将类别标签给予相关边集合以获得辨别性边集合之前,现将介绍一些相关表示法及定义。显著子图P被定义为在其构成边的相对频率方面具有显著统计出现率。这被称为边内聚性(coherence)。形式上如下定义此概念。令f fl (P)为G1...Gn中的图的部分,在该部分中存在P的所有边。令fU (P)为图的部分,在该部分中存在P的边中的至少一个或多个。于是,子图P的边内聚性C(P)由f n (P)/f U (P)表示。边内聚性的此定义聚焦于子图模式的相对出现率而非绝对出现率。这确保了仅找到显著子图。这也确保了不考虑具有高频率但具有低显著性的大量不相关模式。
如下定义边集合P相对于类别标签r E {1...m}的类别置信度。在含有子图P的所有图中,令s(P,r)为属于类别标签r的部分。此部分为模式P相对于类别r的置信度。接着如下定义用于特定子图的主要类别置信度。主要类别置信度DI (P)或子图P被定义为跨越所有不同类别的最大类别置信度。用于特定测试实例的DI (P)的显著大值指示模式P对分类非常相关,且对应的主要类别标签可为用于测试实例标签的良好候选者。为了判定在绝对出现率方面引起兴趣且对于特定类别有辨别性的子图,也使用对应于边内聚性及类别兴趣率(class interest ratio)上的阈值参数的参数对(a,0 )。如果子图P满足以下两个边内聚性及类别辨别性约束,则可称图P为(a,0)显著的。子图P的边内聚性C(P)至少为a。C(P)彡a。主要类别置信度DI (P)至少为0。DI (P)彡0。为了找到相关边集合,根据本发明的一例示性实施例,使用2D哈希压缩技术。此技术使用可判定用于分类的最相关辨别性子图的可连续更新的数据结构。因为数据结构是小的,所以可将其维护于主存储器中,且在传入数据流到达期间的任何时刻使用。为了易于论述,该数据结构可为具有N个行及n个列的图数据集的表状二进制表示。N个行对应于存在于数据中的N个不同图。列表示数据中的不同边;然而,此并非一对一映射。n的选择取决于在主存储器中可用于保持表的空间。可根据本发明使用两种2D哈希压缩技术。一种仅在行上使用min-hash压缩,其中每一列对应于相异边。且一种通过使用常规哈希函数将多个列映射至单个列中,接着在行上使用min-hash压缩。现将论述第一种技术。此min-hash方案的要旨为通过在数据中的行上使用排序顺序来判定不同列上的值的共同发生。为了产生此排序顺序,为数据中的每一行产生单个均匀随机哈希值。按此哈希值的顺序排序数据中的所有列。注意,这种方法导致以完全相同的随机顺序排序每一列。因此可观测到以下情形。

考虑一 P边的集合。令P’为对应于P的表中的列。以按哈希值排序的顺序检查这些列。针对P’中的每一列的具有I值的第一行的索引相同的概率等于边内聚性C(P)。容易验证上述观察,因为P’中的任一列中具有I的第一行的索引也是P’的任一边在其中存在的第一行。此行跨越相关列含有所有I值的概率为边内聚概率C(P)。此方法可用于建构边内聚概率的采样估计。举例而言,k个不同哈希值可用于建构排序顺序,且可通过计算针对其所有值为I的k个样本的比率来估计上述概率。现在,将论述使用完整表的第一技术的实施。在此情况下,假定该表具有E个列,其中E=N (N-1) /2为数据中可能相异的边的数目。使用min-hash索引以建构基础数据的事务表示。为进行此操作,首先以k个不同哈希值应用min-hash方法以产生具有k X E大小的表。现在,检查来自此min-hash表示的特定样本。令iv..rE为在对应列中具有I的第一行的行索引。接着,将集合A...rE分区到min-hash索引值相同的组。由此,如果将iv.rE分区到Q1...Qh,则每一 ri G 具有相同值(对于固定j)。对于每一分区%,产生含有对应列的索引的分类事务。举例而言,如果Qj= Ir2, r23, r45, r71},则产生事务Tj= {2,23,45,71}。最后,建构对应于同索引分区Q1.Qh的事务T1...Th。因为每一索引集合产生一对应事务集合,因此可通过重复此采样过程k次并产生k个不同索引集合来改良估计过程的精确性。举例而言,对于每一索引集合,将对应事务集合添加至总事务集合T。进行以下观测。
令T为自min-hash索引集合建构的事务。于是,边集合P的内聚概率C (P)可被估计为事务集合T中的P’的绝对支持(absolute support)除以k。将具有高内聚概率C(P)的边判定为相关边集合。此观测为先前观测的直接扩展。这是因为当且仅当P’中的边的min-hash索引在从其建构事务的对应min-hash样本中为相同的情况下,列集合P’支持T1...Th中的事务。注意,在一给定时间,表示特定图中的边出现的表的行可能不可用。这是因为在流场景中用于给定图的边可并不连续地到达。此外,数据通常为非常稀疏的,表中的大部分值为O。因此,本发明使用可在稀疏无序边情况下工作的新颖更新过程。此过程的一示例由图3中的算法300示出。如图3中所示,对于流中的每一传入图边e G G(具有图标识符Id(G)),产生k个随机哈希值h(l, Id(G))...h(k, Id(G))。第i个哈希值h(i, Id(G))由Pi表示。哈希函数h(*, )使用Id(G)作为输入,因此当在流中的稍后阶段遇到来自相同图G的边时可产生相同随机哈希值。为了产生随机哈希值,可在对应于h(*, )的两个参数的字符串的串接上使用标准哈希函数。令L为至此在流中已遇到的相异边的数目的动态(running)估计。算法300维护k L个动态最小哈希值的集合V连同k L个对应图标识符(针对其获得这些最小值)的集合I。L的值将在数据流的进展期间随着愈来愈多的相异边由该流接收而增大。V中的每一项呈(e, MinHashValue)的形式,且I中的每一项呈(e, Graphldentifier)的形式。对于至此在数据流中遇到的每一相异边,V及I中均存在k个这样的项。对于每一边e,V中的第i个最小哈希样本表示含有e的所有图G上的h(i,Id(G))的最小值。I中用于特定边e的k个项表示k个图标识符(针对其获得V中的这些最小值)。因为流中的边可能无序地出现,所以通过应用算法300,每一边与流中其对应的图标识符相关联。在此情况下,对于每一传入边e及图标识符Id(G),由算法300如下更新集合V及I。产生k个不同哈希值P1=Iid, Id(G))...pk=h(k, Id(G))。在至此尚未遇到边e的情况下,在V及I中将 不存在其信息。在这种情况下,递增L的值,且将用于e的对应项分别包括于V及I中。具体言之,将V中用于此新跟踪到的边的k个哈希值设定为k个最近产生的哈希值P1...pk。因此,将项(e,P1)...(e,pk)包括于V中。相应地,将项(e, Id(G))...(e,Id(G))添加至V。另一方面,如果已经在流中遇到边e,则在V中检查对应项(e, MinHashValue1) ..(e, MinHashValuek)。在新产生的哈希值 Pi 小于 MinHashValuei的情况下,则由(e, Pi)替代(e, MinHashValuei)。另外,I中的对应项由(e, Id(G))替代。图4为示出更新用于每一传入边的min-hash索引的过程的流程图,其反映图3中的算法300的部分。具体言之,图4示出每一传入图流所需的步骤。在步骤410中,产生用于每一行的k个随机哈希值,其中该行本质上是流中的传入图。该k个随机哈希值在图3中也被称为P1...Pk。在步骤420中,更新用于每一行的min-hash索引。在步骤430中,更新用于每一行的min-hash值。仅在所产生min-hash值低于其当前值的情况下才执行这些更新。由图3的最内循环执行此产生步骤。如可见的,参考图3及图4论述的过程连续地维护传入图的概要表示。因为这些概要统计维护于主存储器中,所以可在任何时间对其加以利用以判定内聚边模式,也即,相关边集合。
注意,在使用图3的算法300的情况下,主要常项为概要统计V及I具有大小0(k L),其中L为至此已遇到的相异边的数目。此处的问题在于,由于本公开中所论述的大规模图假定,L的值可能非常大。可能并不容易在盘上或主存储器中维护如此大的概要,而这对于此场景中的高效更新过程来说是需要的。因此,以图5中的算法500所示出的过程来补充图3的min-hash行压缩算法300。图5中所示出的过程为第二 min-hash技术,其使用列压缩以减小数据结构的大小。这导致同时的行及列压缩,但以不同于图3中的列压缩方式执行图5中的列压缩。图5的算法500类似于图3的算法300,只是首先通过使用一均匀随机哈希函数将数据中的每一边映射至范围[l,n]中的一整数,且接着应用图3的算法300的步骤。因此,在此情况下,判定范围 [l,n]中的整数上的模式,而不是判定实际边上的模式。另外,就使用列压缩大小n作为输入且使用它将每一边映射至[l,n]中的整数的意义而言,图5的算法500不同于图3的算法。在算法300中,通过使用均匀哈希函数来完成此映射。通过串接两端的节点标签来建构边的字符串表示。接着将哈希函数应用至此字符串表示。可基于存储考虑来挑选n的值,且其通常远低于相异边的数目。N的选择产生于存储大小与精确度之间的取舍。因为多个边可映射至同一整数,所以此方法可能造成计算精确度的一定程度的进一步降级。然而,列压缩方案以相对小的质量降级显著减小了空间需求。图6中为示出通过列压缩更新用于每一传入图的哈希索引的方法的流程图,该流程图反映图5的算法500的部分。除了将边映射至更有限的哈希值集合以外,此流程图类似于图4中所示出的流程图。这样做是因为相异边的数目可能过大以致不能跟踪所有相异边的哈希值。如图6中所示出的,在步骤610中,以常规哈希函数将边映射至一有限伪列集合。随后的步骤类似于图4中的那些步骤。在步骤620中,产生用于不同行的哈希值。在步骤630及640中,如果所产生min-hash值低于至此在流中已遇到的其当前值,则分别产生当前min-hash索引及值。在执行min-hash方案时还跟踪类别标签。如早先所提及的,假定图的类别标签附加至用于每一图G的标识符Id(G)。因此,跟踪类别标签连同图标识符。具体言之,图标识符的最后部分为该图的类别标签。因为min-hash索引含有图标识符,所以其也隐含地含有类别标签。这些类别标签用于从经压缩的数据概要来计算辨别性边集合。这是通过判定与特定类别标签高度相关的min-hash索引中的边的频繁模式(换言之,内聚或相关边模式)而实现的。具体言之,判定与在min-hash阶段中所判定的频繁模式有关的主要类别标签,且保留类别出现率高于用户定义阈值的所有模式集合。现参看图2中的步骤230,流处理器接收传入的图数据流。注意,此流类似于训练流,只是尚未将类别标签指派给该流中的对象。这种流的一示例可为尚未判定侵入的性质、但已接收到对应于侵入的子图的侵入应用。使用传入的图数据流作为输入,将类别标签与该传入数据流中的对象相关联(240)。这是通过使用在步骤220中判定的辨别性边集合来完成的。具体言之,在传入图中找到对应于在训练阶段中判定的辨别性子图的对象。接着将其唯一对应子图的类别标签或其对应子图的多数类别标签指派给所找到的对象。可接着从流处理器输出这些对象类别标签对,且将其存储于信息储存库中(250)。可处理这些对以提供用于很多种应用的有用信息。详言之,用户可定义将在传入数据流中发现的特定模式(260)。举例而言,在侵入侦测应用中,用户可能想要知晓侵入攻击的性质(例如,其是否为“拒绝服务”攻击)。对象类别标签对可通过将传入流中的类别标记为“拒绝服务”来提供关于这种攻击的性质的信息。现将参考图7中的装置701描述本发明的一例示性实施例。装置701可为计算机,其包括存储器702、盘703及诸如中央处理单元(CPU) 704的处理器。应理解,本文中所使用的术语“处理器”意欲包括任何处理器件,例如包括CPU及/或其他形式的处理电路的处理器件,诸如上文中参考图2论述的流处理器。此外,术语“处理器”可指一个以上的个别处理器。术语“存储器”意欲包括与处理器或CPU相关联的存储器,诸如RAM、ROM、固定存储器器件(例如,硬盘)、可拆装存储器器件(例如,软盘)、闪存等。另外,本文中所使用的词组“输入及/或输出接口”意欲包括(例如)用于将数据输入至处理单元的一个或多个机构(例如,鼠标)及用于提供与处理单元相关联的结果的一个或多个机构(例如,打印机)。如图7中所示的,当装置701经由输入接口接收诸如训练流的图数据流时,它可将该图数据流存储在存储器702中的如上文参考图2至图6所描述的2D数据结构中。图数据流可来自任何类型的大规模图。输入图数据由CPU704处理来以上文参考图2至图6所描述的方式判定辨别性边集合。这些辨别性边集合连同其类别标签可存储于盘703中。当装置701经由输入接口接收到非训练/测试图数据流时,可将该输入数据流置放于存储器702中。可接着访问存储于盘703中的辨别性边集合,且以上文参考图2至图6所描述的方式来判定与该非训练/测试图数据流中的对象相关联的类别标签。可接着经由装置701的输出接口将基于此判定的对象类别标签对输出至信息储存库705。该信息储存库705可呈其上存储有对象类别标签对的盘存储器件的形式。这些对象类别标签对可存储于任何类型的数据库中以用于未来的处理。为了识别非训练图数据流中的所需模式,可由装置701或另一计算装置从信息储存库705访问对象类别标签对。可接着分析这些对象类别标签对以判定所需模式。举例而言,可找到指示用户在访问特定网站时的行为的对象类别标签对。在一些实施例中,执行模式识别的请求710可输入至装置701中,诸如自用户输入的搜寻请求。在一些实施例中,从装置701输出对请求的响应720。所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括一但不限于一无线、电线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言一诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言一诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程 数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instructionmeans)的制造品(article of manufacture) 也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。此处使用的术语仅是为了描述特定实施例,且不旨在限制本发明。如在此使用的,单数形式“一”、“一个”和“该”也旨在包括复数形式,除非上下文另有清楚的规定。还将理解,术语“包括”和/或“包含”,当在本说明中使用时,明确说明存在所陈述的特点、整体、步骤、操作、元件和/或组件,但不排除一个或多个其他的特点、整体、步骤、操作、元件、组件和/或其组的存在或添加。以下权利要求中的所有装置或步骤加功能元件的相应的结构、材料、动作和等价物,旨在包括用于结合在权利要求中特别声明的其他元件而执行所述功能的任何结构、材料或动作。本发明的说明已出于解释和描述的目的被展示,但不旨在是穷尽性的,或将本发明限制在公开的形式。许多修改和变化对于本领域普通技术人员来说是明显的,而不脱离本发明的精神和范围。选择并描述实施例是为了最好地解释本发明的原理和实际应用,且使得本领域普通技术人员能理解本发明的具有适用于所打算的特定用户的各种修改各种实施例。
权利要求
1.一种用于分类图数据流中的对象的方法,该图数据流包括表示元素的多个节点及表示这些元素之间的连接的边,且其中该数据流中的一对象为一组节点连同这些节点之间的边,该方法包含: 接收图数据的训练流,该训练流包括多个对象连同与这些对象中的每一个相关联的类别标签; 第一判定该训练流中用于所述类别标签的辨别性边集合,其中一辨别性边集合为指示含有这些边的具有给定类别标签的对象的边集合; 接收该图数据的传入数据流,其中尚未将类别标签指派给该传入数据流中的对象; 基于这些辨别性边集合,第二判定与该传入数据流中的对象相关联的类别标签;以及 基于该第二判定将对象类别标签对输出至信息储存库, 其中该方法是使用处理器执行的。
2.如权利要求1的方法,其中不同对象的边在该图数据中无序地出现。
3.如权利要求1的方法,其中该第一判定包含: 在二维(2D)数据结构中安排该训练流的第一传入边; 产生用于该2D数据结构的每一行及列中的边的哈希值,这些哈希值是使用min-hash函数产生的; 识别相关边集合,其中一相关边集合为与该训练数据中的一特定对象相关的边集合,其中具有相同min-hash值的一边集合为一相关边集合; 将类别标签指派给这些相关边集合以获得所述辨别性边集合,其中被指派给一特定相关边集合的类别标签为该相关边集合的主要类别标签;以及 将所述辨别性边集合连同其给定类别标签一起存储于数据集中,其中该数据集存储于盘上或存储于主计算机存储器中。
4.如权利要求3的方法,其中该2D数据结构存储于该主计算机存储器中。
5.如权利要求3的方法,其进一步包含: 接收该训练流的第二传入边; 产生用于该2D数据结构的每一行及列中的边的新哈希值; 基于这些新哈希值更新该2D数据结构的索引及值;以及 使用该经更新的2D数据结构重复权利要求5的该识别步骤、该指派步骤及该存储步骤。
6.如权利要求1的方法,其中该第一判定包含: 在2D数据结构中安排该训练流的第一传入边; 使用第一哈希函数将该2D数据结构的列映射至伪列中,每一伪列包括映射至其的多个列; 产生用于该2D数据结构的每一行及伪列中的边的哈希值,这些哈希值是使用min-hash函数产生的; 识别相关边集合, 其中一相关边集合为与该训练数据中的一特定对象相关的边集合,其中具有相同min-hash值的一边集合为一相关边集合; 将类别标签指派给所述相关边集合以获得所述辨别性边集合,其中被指派给一特定相关边集合的类别标签为该相关边集合的主要类别标签;以及将所述辨别性边集合连同其给定类别标签一起存储于数据集中,其中该数据集存储于盘上或存储于主计算机存储器中。
7.如权利要求6的方法,其中该2D数据结构存储于该主计算机存储器中。
8.如权利要求6的方法,其进一步包含: 接收该训练流的第二传入边; 使用该第一哈希函数将该2D数据结构的放置有所述第二传入边的列映射至伪列中; 产生用于该2D数据结构的每一行及伪列中的边的新哈希值; 基于这些新哈希值更新该2D数据结构的索引及值;以及 使用该经更新的2D数据结构重复权利要求7的该识别步骤、该指派步骤及该存储步骤。
9.如权利要求1的方法,其中该第二判定包含: 针对该传入数据流中的特定对象,(a)访问存储有该训练流中用于所述类别标签的所述辨别性边集合的存储器,且(b)寻找对应于该对象的辨别性边集合;及将这些辨别性边集合的主要类别标签指派为该对象的类别标签。
10.如权利要求1的方法,其进一步包含: 接收在该传入数据流中寻找用户定义模式的请求; 搜寻存储于该信息储存库中的对应于该用户定义模式的参数的对象类别标签对;以及 将该搜寻的结果显示给用户。
11.如权利要求10的方法,其中该用户定义模式包括社交网络中的用户在特定时间窗内的通信模式、web图的用户在进入一特定网页中时的浏览模式,或在通信网络上的侵入通"[目流。
12.如权利要求1的方法,其中该图数据是从web图、社交网络或通信网络提供的。
13.如权利要求12的方法,其中该web图的节点包括统一资源定位器(URL)地址,且该web图的边包括这些URL地址之间的链接,该社交网络的节点包括用户标识符,且该社交网络的边包括这些用户标识符之间的链接,或该通信网络的节点包括网际协议(IP)地址,且该通信网络的边包括这些IP地址之间的链接。
14.一种用于分类图数据流中的对象的计算机程序产品,该图数据流包括表示元素的多个节点及表示这些元素之间的连接的边,且其中该数据流中的一对象为一组节点连同这些节点之间的边,该计算机程序产品包含: 计算机可读存储媒体,其体现有计算机可读程序代码,该计算机可读程序代码包含: 被配置为执行以下步骤的计算机可读程序代码: 接收图数据的训练流,该训练流包括多个对象连同与这些对象中的每一个相关联的类别标签; 第一判定该训练流中用于所述类别标签的辨别性边集合,其中一辨别性边集合为指示含有这些边的具有给定类别标签的对象的边集合; 接收该图数据的传入数据流,其中尚未将类别标签指派给该传入数据流中的对象; 基于这些辨别性边集合,第二判定与该传入数据流中的对象相关联的类别标签;以及 基于该第二判定将对象类别标签对输出至信息储存库。
15.如权利要求14的计算机程序产品,其中该第一判定包含:在二维(2D)数据结构中安排该训练流的第一传入边; 产生用于该2D数据结构的每一行及列中的边的哈希值,这些哈希值是使用min-hash函数产生的; 识别相关边集合,其中一相关边集合为与该训练数据中的一特定对象相关的边集合,其中具有相同min-hash值的一边集合为一相关边集合; 将类别标签指派给这些相关边集合以获得所述辨别性边集合,其中被指派给一特定相关边集合的类别标签为该相关边集合的主要类别标签;以及 将所述辨别性边集合连同其给定类别标签一起存储于数据集中。
16.如权利要求14的方法,其中该第一判定包含: 在2D数据结构中安排该训练流的第一传入边; 使用第一哈希函数将该2D数据结构的列映射至伪列中,每一伪列包括映射至其的多个列; 产生用于该2D数据结构的每一行及伪列中的边的哈希值,这些哈希值是使用min-hash函数产生的; 识别相关边集合,其中一相关边集合为与该训练数据中的一特定对象相关的边集合,其中具有相同min-hash值的一边集合为一相关边集合; 将类别标签指派给所述相关边集合以获得所述辨别性边集合,其中被指派给一特定相关边集合的类别标签为该相关边集合的主要类别标签;以及 将所述辨别性边集合连同其给定类别标签一起存储于数据集中。
17.一种用于分类图数据流中的对象的方法,该图数据流包括表示元素的多个节点及表示这些元素之间的连接的边,且其中该数据流中的一对象为一组节点连同这些节点之间的边,该方法包含: 接收图数据的训练流,该训练流包括多个对象连同与这些对象中的每一个相关联的类别标签,但未与边所属于的对象一起接收该训练流中的这些边; 第一判定该训练流中用于类别标签的辨别性边集合,其中一辨别性边集合为属于含有这些边的具有一给定类别标签的对象的边集合; 接收该图数据的传入数据流,其中尚未将类别标签指派给该传入数据流中的对象; 基于所述辨别性边集合,第二判定与该传入数据流中的对象相关联的类别标签;以及 基于该第二判定将对象类别标签对输出至信息储存库, 其中该方法是使用处理器执行的。
18.如权利要求17的方法,其中对该训练流的图数据执行该第一判定,将该图数据以具有行及列的数据结构的形式存储于主计算机存储器中。
19.如权利要求18的方法,其中该第一判定包含对该数据结构中的边数据执行哈希过程以判定相关边集合,一相关边集合为包括相对于一特定对象具有一高内聚概率的边的边集合;
20.如权利要求19的方法,其中该第一判定进一步包含判定用于该相关边集合的主要类别标签,该主要类别标签为对于此边集合具有最高绝对频率的类别标签。
全文摘要
一种用于分类图数据流中的对象的方法,其包括接收图数据的训练流(210),该训练流包括多个对象连同与这些对象中的每一个相关联的类别标签;第一判定该训练流中用于所述类别标签的辨别性边集合(220),其中一辨别性边集合为指示含有这些边的具有一给定类别标签的对象的边集合;接收该图数据的传入数据流(230),其中尚未将类别标签指派给该传入数据流中的对象;基于该辨别性边集合第二判定与该传入数据流中的对象相关联的类别标签(240);以及基于该第二判定将对象类别标签对输出至信息储存库(250)。
文档编号G06F7/00GK103189836SQ201180052233
公开日2013年7月3日 申请日期2011年3月30日 优先权日2010年8月30日
发明者C·阿加瓦尔 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1