用于对产生于数据库的数据群集的方法和系统 本发明的主题特别地涉及使得对采取关系矩阵的形式的数据实施群集成为可能 的方法和系统, 也就是说在这一数据库的对象 Oi 或数据之间存在关系。本发明还可以对矩 形阵列进行处理, 其生效的范围是总是有可能通过计算原始阵列的对象之间的相似性的测 量值而由矩形阵列 ( 对象 × 属性 ) 导出方阵列。
可以将本发明用于自动分类 ( 更为人熟知的称谓是 “群集 (clustering)” ) 领域。 由其可以将其应用于这样的情况, 其中, 有待群集的数据采取关系矩阵 ( 有待群集的对象 之间的关系 ) 的形式并且实际上允许非常灵活的图形或相依性网络的表现形式。
在自动数据分类领域, 所要解决的问题在于, 从含有与 n 个对象或个体 Oi 相关的 非常大的量的数据 ( 数量级为数十万或数百万 ) 的数据库开始对这些数据非常快速地分 类。这些数据通常采取两种类型的阵列 ( 或矩阵 ) 的形式 : 矩形矩阵 ( 对象 × 针对这些对 象测得的属性 ) 或方形矩阵 ( 对象 × 对象 ), 后者表现了对象之间的关系。群集的目的在 于, 在这些矩阵的基础上构建具有强描述 ( 对个体的描述 ) 相似性和 / 或行为相似性的相 干对象的群。
在数据采取方形矩阵的形式时, 它们往往表示数据库的对象之间的相似性或接近 性的测度。其后的目的在于寻求发现由总体到数量有限得多的对象 ( 相似的或者具有相同 的行为的 ) 类别 ( 或群集 ) 的最佳自动分解, 尔后根据所涉及的领域定义动作 (action) 策 略。例如, 可能的动作之一是找到故障, 从而使得预测计算机网络中的其他故障成为可能。 另一个例子在于找到银行的客户集合, 对于所述客户有可能向其推荐某些产品并且他们具 有很高的做出肯定答复的概率。另一个动作是找到保险公司客户的适当定位, 对于所述客 户有可能建立特殊保险政策, 这些政策是非先验的、 无法明显界定的等等。 找到这些类别的 主要困难之一是由这样一个事实导致的, 即, 尽管在处理器的计算能力和当前计算机的存 储容量方面取得了进展, 但是所存储的数据也具有前所未见的规模, 或者占据日见庞大的 存储空间, 因此以合理的处理时间对数据库的对象进行群集是非常困难的。当可用数据采 取表现对象之间的关系的方形矩阵时, 这一点更为现实。
现有技术中已知各种自动分类过程。因而, 有可能引用 k-means、 分级群集或其他 关系分析过程。
由本申请人提交的专利申请 EP 1960916 描述了一种群集方法, 其中, 原始数据采 取表格的形式, 表格的行是有待群集的个体, 列是针对这些个体测量的变量。
尽管现有技术过程提供了良好的结果, 但是值得注意的是它们显露出了下述缺 点:
1) 出现对所要采用以初始化划分的分类和引用 ( 中心 ) 的数量是固定的问题。 实 际上, k-means 型的过程 ( 例如 ) 按照先验的任意方式固定要在数据中找到的类别的数量 以及被认为是初始类别的中心的几个初始个体 ;
2) 对于分级群集过程而言, 以先验的任意方式固定树状图表的截止限幅的问题,
3) 在数据采取关系数据的方式时不可能在合理的时间内按照线性的方式处理巨 量的数据。
因而, 通常的群集过程一方面不可能按照线性的方式处理图形或关系类型的数 据, 另一方面它们严重依赖于参数的固定, 例如, 所述参数是所要找到的类别的数量或者中 心 ( 根据任意数学绘图 (draw) 或按照任意方式从总体中选出的对象 )。
根据本发明的方法特别地基于一种关系分析理论, 其体现出了这样一种优点, 即, 无需做出与群集处理的预期结果相关的任意先验假设。
根据本发明的系统和方法提出了一种新的采用所要处理的关系矩阵的行的方案, 并且有可能凭借这些表示在快速的时间内处理非常大的量的数据, 同时既降低必要的存储 空间又减少计算时间。
本发明涉及一种用于对采取了阵列 S 的形式的数据或对象 Oi、 Oj 进行群集的方 法, 所述阵列中的每一个元对应于存在于所述对象 Oi、 Oj 之间的相似性的值 sij, 所述方法是 在与含有所要群集的数据或对象的数据库链接的包括工作存储器、 处理器的计算机内实现 的, 所述方法的特征在于其至少包括下述步骤 :
1) 按照下述方式确定对象类别的数量 k :
取得与其他对象 Oj 相比具有最少的可能的相似性 sij 的对象 Oi, 也就是说, 对于该 对象而言其剖析 (profile) 的分量之和
是最小的, 将个体 Oi 放到第一类别 C1 中,考虑所有其他的与 Oi 不同的对象, 并从其中取得第二对象 Oj, 对于该第二对象而 言其剖析的分量之和在其余对象中是最小的, 如果在新的对象 Oj 和由单个个体构成的前一类别 C1 之间计算出的关系 是负
的, 那么建立新的类别 C2 并将对象 Oj 放到这一新的类别 C2 中, 否则 ( 即, 如果这一关系为 正 ), 那么将对象 Oj 放到类别 C1 中,
重复上述操作直到所有的对象 Oj 均属于了索引为 k 的类别为止, 在完成了这一第 一步骤时, 所述方法具有了 κ 个类别构成的集合 ( 并非预定的先验值 )
2) 对于在步骤 1) 中找到的 κ 个类别中的每者而言, 确定类别 Ck 和其他类别 Ck′ 之间的关系 的值, 因而 k′不同于 k, 如果所确定的所有关系 都是负的, 那么不使类 别 Ck 与其他类别合并, 否则将所考虑的类别 Ck 与类别 Ck′合并, 其中所考虑的类别 Ck 与类别 Ck′具有最强的关系, 即最高的值 则 将这一值加到准则 上, 直到获得了准的稳定性为止, 在完成了这一步骤 2) 时, 所述方法具有 L 个类别, 其中, L ≤ κ,
3) 逐一取得每一类别 Cl(l ≤ L) 的每一对象 Oj, 确定这一对象与每一类别 Cl 的关 系 的值, 而不是与在初始步骤中该对象被划归的索引为 k 的类别之间的关系的值, 如果 的值大于关系 的值, 那么将该对象从其索引为 k 的类别转移 的值均为负为止。 与索引为 m 的类别的关系
到新的索引为 m 的类别当中, 继续这一操作直到所有的关系稍后将在本说明书中解释对象或个体 Oi 和 Oi′之间的关系的定义。 基于由方程 (4) 定义的 Condorcet 准则 C(X) 的定义
可以发现, 两个对象 Oi 和 Oi′ 之间的关系 lii′ 恰恰是该准则的经济函数的成本, lii′= Aii′ -α×AMii′ 其中 Aii′ 和 AMii′ 是 Oi 和 Oi′ 之间的一致性 (agreement)( 分别为最大可能一致即:
性 ), 在本说明书的下文当中定义了对象和类别之间以及两个类别之间的关系。
例如, 阵列是表示 n×n 个对象的方阵列。
根据一种实现模式, 针对表示 n 个对象 ×a 个属性的矩形阵列执行所述方法, 并且 所述方法包括将 n 对象 ×a 属性的阵列转换成含有存在于所述对象 Oi 之间的相似性 sij 的 值的阵列 S。
本发明还涉及一种系统, 其有可能对采取了阵列 S 的形式的数据进行群集, 所述 所述系统的特征在 阵列 S 中的每一个元对应于存在于所述对象 Oj 之间的相似性 sij 的值, 于其至少包括下述元件 : 与所要群集的数据库链接的计算机, 所述计算机包括适于执行体 现了前述特征之一的所述方法的步骤的工作存储器和处理器。
所述系统可以包括含有在处理器上执行的根据本发明的群集方法的结果的数据 库。
在阅读了非限制性实施例并参考了附图之后本发明的其他特征和优点将变得更 加显而易见, 附图给出了 :
●图 1, 对应于用于处理所要群集的数据的平台的图, 所述平台包括用于执行根据 本发明的方法的机构,
●图 2, 描绘了数据处理的一般操作或自动数据分类链条的功能图。
图 1 描绘了在其上实施根据本发明的方法的示范性平台。这一平台包括 ( 例如 ) 计算机 1, 计算机 1 包括工作存储器 2、 处理器 3, 在工作存储器的尺寸相对于所要处理的数 据的量不足时, 还包括缓冲存储器 4。所述平台还含有数据库 5, 数据库 5 含有在处理器 3 上执行的根据本发明的群集方法的结果。使计算机 1 与含有所要群集的数据的数据库 6 链 接。所述计算机还包括输入 / 输出或人机接口 7。所述人机接口可以是在其上向用户显示 群集结果的显示器屏幕。图 1 中描绘的箭头示意性地给出了在处理器 3 和所述平台中含有 的各种元件或平台外的元件之间存在的各种交换。
在某些应用情况下, 在所要群集的数据或对象未采取具有 n×n 尺寸的方形阵列 的形式时, 所述方法将包括预处理阶段, 该阶段的功能尤其在于将所要群集的对象或数据 格式化成具有尺寸 n 的方形阵列的形式, 其中, n 是所要群集的对象的数量, 这一阵列的元 sij 对应于存在于所述阵列的两个对象 Oi、 Oj 之间的相似性值。这一相似性值是通过实施本 领域技术人员公知的名为 “相似性计算” 的方法确定的, 在下文中将不再对这一方法加以解 释。
在给定的例子中, 所述方法将采用存储了对象之间的关系的库的对象, 并且所述
方法将考虑方形阵列的每一行, 其含有对应于所要处理的数据库的给定对象 Oi 与其他对象 Oj 的相似性 sij 的剖析。在本专利申请中处理的数据是采取了方形 ( 对象 × 对象 ) 的形式 的数据。
此后, 所述方法将采用二进制剖析, 从而快速计算所有对象对 (Oi, Oj) 之间的关系 lij。利用上文的两个对象 (Oi, Oj) 的两个剖析之间的标量积, 所述方法有可能仅执行一个 全局标量积, 以计算对象和类别之间的相似性, 而不是执行与属于所述类别的个体的数量 一样多的标量积。
概括而言, 在处理器上执行的群集算法将采用复合关系数据或对象 n*n 作为输入 ( 其中, n 是所要处理的对象的数据 ), 并通过线性的方式对这些对象 Oi 进行处理, 而不需要 以任意先验的方式固定群集参数。将所获得的结果重新插入到数据库内。如果数据未采取 相关形式, 那么将在上游应用预处理步骤, 该步骤在于通过计算对象之间的相似性将这些 数据转换成相关形式。 因而, 在数据采取矩形形式时, 将采用用于计算所给出的对象之间的 相似性的测度的方法创建传达了对象之间保持的关系的方形矩阵。
下述的例子是针对这样一种数据库给出的, 该数据库采取了方形阵列 S 的形式, 2 该阵列具有尺度 n 并具有一般项 sii′, 所述一般项表示通过本领域技术人员公知的过程获 得的前述的两个对象 Oi 和 Oi′之间的相似性的值, 其中, n 是所要群集的对象的数量。
从 1 到 n 对所述对象编号, 因此对象 Oi 的下标 i 是所考虑的对象的索引编号。 通过尺度为 n 的两个剖析矢量 和 表示每一对象 Oi, 因而 :剖析矢量表示对象 Oi 与所研究的整体的包括其本身在内的 n 个其他对象之间其仅含有处于这一矢量的位置 i(Oi 的索引编号 ) 处的等于 1 的 的相似性, 是二进制矢量, 单个非零值。
有待最大化从而获得对象集的最终划分或分类的准则是由以下公式定义的经修 改的 Condorcet 准则 C(X) :
其中 : ● f(sii, si′ i′ ) 是两个对象 Oi 和 Oi′之间的固有相似性 (sii, si′ i′ ) 的函数, 例 或者获得几何平均数的 等。如: 获得数学平均数的
● α 是相似性阈值, 其可以是通过考虑了数据库的对象之间的相似性的函数 自动计算出来的, 也可以是用户定义的。例如, 一个给出了自动阈值的可能的函数是
● Aii′表示对象 Oi 和 Oi′之间的一致性 ( 或相似性 ), ● AMii′表示对象 Oi 和 Oi′之间的最大可能一致性, ● lii′表示对象 Oi 和 Oi′之间的关系 ( 其还表示所要最大化的经济函数的成本 ),并且 ● xii′是代表所要找到的最终划分的尺度为 n2 的方形二进制矩阵 X 的一般项, 其 由下式定义 :
在通过 (·) 表示两个任意矢量之间的标量积的情况下, 采用剖析矢量和我们获得了 :
针对所要群集的库的所有对象对执行这些计算, 此时所述算法仍然具有复杂性O(n2)。 有待最大化以获得对类别集合的最终划分或分类的准则是由下式定义的经修改 的 Condorcet 准则 C(X) :
要想转到线性化算法, 必须在对象 Oi 和类别 C 之间, 以及在两个类别 C 和 C′之间 计算对应于上文的公式 (1)、 (2)、 (3) 的项。
利用公式 (1), 有可能采用下面的两个公式计算出分别由 AiC 和 ACC′表示的对象 Oi 和类别 C 之间的一致性以及两个类别 C 和 C′之间的一致性,
其中, 是具有尺度 n 的二进制矢量, 因而除了对应于类别 C 的个体的分量之外所因而每一分量都含有类别 C 的每一对象该类别 有的分量都等于 0, 是具有尺度 n 的矢量, 的所有其他对象之间的相似性的总和 :
同样地, 采用公式 (2), 有可能通过下述关系一方面计算出由 AMiC 表示的对象 Oi 和 类别 C 之间的最大可能一致性, 另一方面计算出由 AMCC′表示的两个类别 C 和 C′之间的最 大可能一致性 :
其中 : 最终, 通过下述关系定义分别为对象 Oi 和类别 C 之间的以及两个类别 C 和 C′之间的关系 liC 和 lCC′ :
liC = AiC-α×AMiC
lCC′= ACC′ -α×AMCC′
如果表示具有尺度 n 的二进制矢量, 那么其所有的分量均等于 1, 表示相似性的矩阵的迹。换言之, 总体的所有对象或者数据库的所有对象 Oi 的固有相似性的总和 :
于是将通过下述关系给出类别 C 的品质因数 QC :采用字母 C、 C′以通配的方式表达由本发明实现的方法的原理 ; 除此之外, 例如, 如下文所述, 申请人还采用索引进一步区分类别。
已经给出了定义和公式, 由所述平台的处理器实现的方法将实施下述步骤, 在图 2 中给出了所述步骤的示意图。
步骤 1( 初始化 ) :
初始化在于从所要群集的数据库中含有的对象 Oi 开始, 随着我们的行进而形成类 别。当然, 对于这一步骤而言, 数据已经具有了如前所示的方形阵列 T 的形式, 所述阵列具 有一般项 sii′, 其表示存在于两个对象 Oi 和 Oi′之间的相似性所取得的值。
所述第一步骤在于取得所述库中与其他对象之间具有最少的可能的相似性的对
象 Oi, 也就是说对于该对象而言其剖析 的分量之和最小。 换言之, 选择其8最小的对象102326160 A CN 102326173说明书7/8 页Oi。 这一选择使得识别出最为不典型的对象类别 ( 所含有的对象与大多数对象之间 具有最少的相似性的类别 ) 成为了可能。其还有可能避免取得非常大的类别, 随着迭代的 进行这种非常大的类别将变得有噪声。
尔后, 将找到的对象 Oi 放到第一类别 C1 中, 在该类别中所述对象将变成唯一的一 个元。
尔后, 从剩余的对象中选择其剖析 如果关系的元的和最小的对象 Oj。尔后计算新的对象 严格为正 那么将对象 Oj 放到Oj 和类别 C1 之间的关系
类别 C1 中, 否则创建新的类别 C2, 将新的对象 Oj 放到其中。 尔后, 从剩余的对象中取得剖析 的元的和最小的第三对象 Oi″, 计算其与两个已 如果两个关系 为负, 那么创建新 存在的类别 C1 和 C2 之间的关系否则将所述对象放到类别 C1 或 C2 中与其具有最大关系, 的类别 C3 并将对象 Oi″放到其内, 即具有最高关系值的那个当中。
继续这一方法, 直至将所有的对象都分配到了类别 Ck 当中。
一旦完成了第一步骤, 所述方法就具备了 κ 个类别的集合, 所述的类别含有通过 最强的正关系相互联系的对象。
在这一步骤中, 可以将 Condorcet 准则 ( 公式 4) 的公式重新表述为具有下述形式 的 κ 的类别的函数 :
实际上, 此时在所述准则的值中只考虑属于同一类别的个体的关系。 步骤 2( 两个类别的合并 ) : 尔后, 逐一取得 κ 个类别 C1, C2, ..., Cκ, 针对所考虑的每一类别 Ck 计算存在于 如果 Ck 与其他类别之间的所有关系均为该类别与其他类别 Ck′ (k′≠ k) 之间的关系 系, 即最高值负, 那么将这一类别原样保留, 并选择另一类别, 否则将所考虑的类别 Ck 和与其具有最强关 的类别 Ck′合并。出于这一目的, 所述方法将确定类别 Ck 和类别 Ck′ ((k′ 的值 ; 这一合并将提高 Condorcet 准则的 的值。换言之, 返回至该准则的公式 (8), 我们将得到 : = 1, 2, ..., κ) 并且 (k′≠ k)) 之间的关系 值, 其方式使该值增加关系
因此, 所述方法将确定所找到的关系的最大值, 并将其加到准则 C(X) 上。 只要还存在提高该准则的可能性就要执行所述操作。 只要存在具有正值的关系所述方法就要对 所述关系进行计算。当所有的关系均为负时停止。在完成了这一第二步骤时, 所述方法具 备了 L 个类别的集合, 其中 L ≤ κ( 类别数量小于等于初始类别的值 κ)。
步骤 3( 转移 ) :
转移步骤在于当这一操作有助于提高 Condorcet 准则时, 将处于 L 个先前定义的 类别之一中的对象 Oi 从其自身的类别 Ck 转移到与其具有更好的关系的另一类别 Cm 中, 也 就是说, 转移到值 liCm 最大的类别当中。实际上, 当类别之间的合并不再可能时, 也就是说当步骤 2 中计算的所有关系均 为负时, 所述方法将逐一考虑每一类别 Cl 的所有对象 Oi, 其中, l 小于等于 L, 所述方法将确 定每一对象 Oi 与每一类别 Cl 的关系的值, 而不是与初始步骤中其被划归的具有索引 k 的类 别的关系值。如果对象 Oi 与另一类别之间具有比与其自身类别之间更好的关系, 那么将这 一对象从其所属类别转移至新的索引为 m 的类别, 该对象与该类别具有最佳的关系, 其对 应于最高的值
继续所述操作直至不存在提高所述准则的可能性为止, 也就是说直至所有的关系的值均为负为止。 当不再可能将对象从一个类别转移至另一类别时, 我们返回至步骤 2, 来看是否 有可能通过合并其他类别提高 Condorcet 准则。应用前面的两个步骤, 直到不可能再提高 Condorcet 准则的值为止。
可以将本发明应用于各种领域, 这些领域多种多样, 例如, 在线营销或战略监测 ( 专利的共同提交、 共同引证、 共同公布、 共享发明、 协作等 )。
对于在线营销而言, 有可能设想监测 Internet 上的 blog。出于这一目的, 将研究 数量 N 个 blog, 在实施本方法之前的预处理将有可能识别出每一 blog 上引用的其他 blog。 在完成了这一预处理后, 将生成识别相关的 blog 的 N×N 矩阵。这一矩阵对应于前述方形 矩阵。因此, 通过实施根据本发明的方法而对这些 blog 进行群集将相当于识别出彼此最为 相关的 blog 的群。尔后, 将在每一群内执行统计计算, 从而识别出每一群内最具动态性的 blog。这时向这一 blog 推荐指定的产品就足够了, 因为该 blog 承担了将其推介给与之相
关的其他 blog 的任务。
对于战略监测应用而言, 将也可能监视专利、 报刊、 科学杂志等的数据库。 其后, 有 可能从这些库中提取下述类型的信息 : 就专利而言谁是共同发明人、 作为科学文献中的共 同引证的内容, 例如, 协作等。 所有的这类信息一旦通过执行根据本发明的方法得到了分类 ( 或群集 ) 就能够有可能识别出由发明人 ( 乃至公司或国家 ) 构成的群的感兴趣的中心等。
本发明采用了一种新颖的原创方法通过快速、 线性的方式对大型数据库群集。其 考虑了各种数据类型 : 矩形类型 ( 对象 × 变量 ), 其表现了针对所述库的对象测得的变量, 所述变量是 ( 例如 ) 属性 a ; 或方形类型 ( 对象 × 对象 ), 其表现了相似性的测度, 或更一 般而言表现了所述库的对象之间的关系。