说明书用于挖掘数据集中的模式的方法和系统
技术领域
本发明涉及计算系统,并且更具体地涉及用于挖掘数据集中的模 式的方法。
背景技术
识别数据集(例如高维数据集)中相关数据模式常常是有挑战性 的。特别地,找出别人没注意到的模式对于依赖大数据分析的公司来 说是关键的竞争优势。
R.Agrawal和R.Srikant的Fast Algorithms for Mining Association Rules in Large Databases.(In Proc of the 20th International Conference on Very Large Data Bases(VLDB'94),第 487-499页,1994年)公开了用于确定数据库中数据模式的统计重要 性的方法。
发明内容
本发明实施例的目标是提供改进的方法、计算机系统和计算机程 序产品。所述目标是通过独立权利要求的主题来解决的。在从属权利 要求中描述有利的实施例。
如在本文中所使用的,术语“数据模式”或“模式”指可以用来 描述相关性的任何种类的关系、形式、模板、模型或一组规则,数据 集的个别条目通过这种相关性链接到一起。
一方面是用于访问数据库系统中的数据的计算机实现的方法,所 述数据库系统包括接收器模块、模式模块和分析模块。所述方法包括:
-由接收器模块从第一用户接收对存储在数据库系统中的数据集 的第一查询;
-响应于接收到的第一查询,由模式模块提供数据集中的第一模 式集合,并且为第一模式集合中的每个模式提供重要性值;
-由模式模块提供用于标记第一模式集合中的模式的标记集合, 所述标记集合指示描述模式的至少两个数据类;
-由接收器模块从第一用户接收指示第一模式集合中的至少第一 模式子集的标记的输入信息,其中所述标记中的每个标记都选自所述 标记集合;
-由分析模块基于标记来调整第一模式子集的重要性值。
对于将来的查询,模式可以根据调整后的重要性值重新排名。
模式集合可以包括满足第一用户的第一查询的全部模式。或者, 模式集合可以包括其重要性值高于重要性阈值的模式。
重要性值可以例如通过先验算法(或者任何合适的算法)提供/ 计算,该算法是用于从数据库挖掘关联规则的模型。
根据一种实施例,所述方法还包括从另一个用户接收对数据集的 第一查询;响应于接收到的第一查询,利用更新后的/调整后的重要 性值把满足第一查询的模式排名并且提供另一模式集合,其中所述另 一模式集合包括其重要性值高于重要性阈值的模式。
根据一种实施例,所述至少两个数据类包括噪声数据类、无价值 数据类以及有效数据类。即,模式可以是噪声模式、有效模式或无价 值模式。
噪声模式会由于结合系统过程出现的无意义的随机过程而产生。 噪声模式可以由硬件故障、编程错误、拼写错误或缩写造成。例如, 当存在关于软件的问题时,CPU使用情况的测量可能是错误的。噪 声模式还可以包括与被破坏的数据相关的模式或者不能被程序读取或 使用的任何模式。
如果模式可能是领域中的从业者已知的,则该模式是无价值的。 例如,根据其“内存不足错误”后面总是跟着“CPU使用中的尖峰” 的模式在计算领域中是已知的。因此,这种模式可以被标记为是无价 值的。在另一个例子中,模式出现的频率可以用来确定那个模式是否 是无价值的。例如,如果模式自很长时间以来例如1年就在计算机系 统中出现并且对第一用户的查询的出现频率高于预定阈值,例如每天 一次,则该模式可以被自动地或者被第一用户归类为无价值的。
有效模式是既非噪声模式又非无价值模式的模式并且对于分析是 有效的。
第一模式子集可以包括模式集合的至少一部分。
这些特征会是有利的,因为它们可以提供用于评估数据集中的模 式的准确方法,该方法可以用于执行模式的可靠排名以供将来使用。 这可以允许很容易被忽视的有效但统计不显著的模式在系统中被提升, 而在结果列表顶部出现的非常显著但无价值的模式排名下滑。确保模 式的可靠排名可以具有使资源可以被节约的优点,在别的情况下将在 执行查询的多个尝试以便得到可以满足用户需求的正确(排名)模式 时需要这种资源。
另一个优点可以是这些特征可以通过为多个用户提供服务来增加 数据库系统的能力。更多的用户可以利用本方法来得到服务,因为用 户请求可以很快被满足,例如在第一或第二请求尝试之后。这与常规 方法相反,在常规方法中,用户必须执行多次尝试来满足他的需求并 且因此会比利用本方法时占用数据库系统更长时间。因而,这也会帮 助提供可以克服差服务质量(QoS)的附加服务,其中差QoS由于 非最优的评估并且因此由于模式的排名而造成。
另一个优点可以是本方法可以无缝地集成在现有系统中,因为它 可以利用低软件和/或硬件负担来实现。
这种实施例的方法步骤可以以不同的时间间隔重复,例如第一用 户可以每天发送一次第一查询。
根据一种实施例,利用标记集合中的第一标记来标记第一模式子 集中的第一模式,其中调整第一模式的重要性值包括:
-分别向第一模式和第一用户指定对应于标记集合的标记计数器 集合;
-初始化所述标记计数器集合的值;
-递增所述标记计数器集合中对应于第一标记的标记计数器;
-利用包括递增后的标记计数器的标记计数器集合来调整第一模 式的重要性值。
标记计数器集合只初始化一次。例如,当第一查询被第二用户提 交时,除初始化步骤之外,重复该方法的步骤。在另一个例子中,当 第一查询被第一用户再次提交时,除指定步骤和初始化步骤之外,重 复该方法的步骤。
依赖于指定给第一模式和第一用户的第一标记(及关联的计数 器),第一模式的重要性值可以增加或减小。
例如,第一模式可以在另一个时间间隔内由第一用户利用标记集 合中的第二标记做标记(例如,模式的相关性可以是依赖于时间的; 今天它是相关的但明年不是)并且由此标记计数器集合中对应于第二 标记的标记计数器递增。在这种情况下,依赖于指定给第一模式和第 一用户的第一和第二标记(及关联的计数器),第一模式的重要性值 可以增加或减小。
例如,如果标记集合包括两个数据类标记,例如,噪声数据类标 记和非噪声数据类标记。如果第一标记是噪声数据类,则第一模式的 重要性值可以减小例如10%至90%(例如,如果第一模式被第一用 户利用第一标记标记了两次,则关联的计数器可以增加两次,然后第 一模式的重要性值可以减小例如20%,而如果第一模式被第一用户 利用第一标记标记了5次,则第一模式的重要性值可以减小例如 60%)。如果第一标记是非噪声数据类标记,则第一模式的重要性值 可以增加例如5%至100%。如果第一模式利用第一标记并利用第二 标记做标记,则相关联的计数器的组合可以用来调整第一模式的重要 性值。如果第一模式利用第一标记标记了2次并且利用第二标记标记 了20次,则第一模式的重要性值可以增加,因为与非噪声标记关联 的标记计数器比与噪声标记关联的标记计数器高得多。
这种实施例会是有利的,因为它可以提供用于调整重要性值并且 因此基于调整后的重要性值提供最优模式排名的可靠方法。
根据一种实施例,所述方法还包括使用标记计数器集合的加权和 来调整第一模式的重要性值。
根据一种实施例,所述至少两个类包括噪声类模式、无价值类模 式和有效类模式,其中调整重要性值(s(r))是利用公式s'(r,u)=s(r) –w*(r(p,u)-0.5)执行的,其中 r(p,u)=(nn(p,u)+nt(p,u))/(nv(p,u)+nn(p,u)+nt(p,u)),其中nv(p,u)、 nn(p,u)、nt(p,u)是分别对应于有效类、噪声类和无价值类的标记计 数器,其中w是预定义的权重值。
例如,预定义的权重值w可以用来启动或关掉重要性值的调整, 例如,w=0意味着调整被关掉了。
根据一种实施例,该方法还包括:
-在数据库系统处从第二用户接收对数据集的第二查询;
-响应于接收到的第二查询,提供数据集中具有相应重要性值的 第二模式集合;
-从第二用户接收指示第二模式集合中的至少第二模式子集的标 记的输入信息;
-确定第一模式子集和第二模式子集之间利用相同标记做标记的 完全相同的模式的数目;
-响应于确定完全相同的模式的数目高于预定义的相似性阈值, 分别向完全相同的模式中的每个模式并且向第一用户和第二用户都指 定对应于标记集合的公共标记计数器集合;其中公共标记计数器集合 是单独指定给第一用户和第二用户的相应标记计数器集合的组合;
-利用公共标记计数器调整完全相同的模式的重要性值。
只要第一和第二用户在对高于预定义相似性阈值的被标记模式的 数目上意见一致的意义上是相似的,就可以使用两个用户的公共/合 作标记计数器。
这种实施例的优点可以是它可以允许分析人员使用他们使用的相 同工具(不需要在他们之间有明确的合作)但是利用大用户基础的反 馈使结果提升或排名下滑。
根据一种实施例,该方法还包括
-在数据库系统处从第三用户接收对数据集的第三查询;
-响应于接收到的第三查询,提供数据集中具有相应重要性值的 第三模式集合;
-从第三用户接收指示第三模式集合中的至少第三模式子集的标 记的输入信息;
-确定第一模式子集、第二模式子集和第三模式子集之间利用相 同标记做标记的完全相同的模式的第二数目;
-响应于确定完全相同的模式的第二数目高于预定义的相似性阈 值,分别向完全相同的模式中的每个模式并且向第一用户、第二用户 和第三用户都指定对应于标记集合的公共标记计数器集合;其中公共 标记计数器集合是单独指定给第一用户、第二用户和第三用户的相应 标记计数器集合的组合;
-利用公共标记计数器来调整第二数目的完全相同的模式的重要 性值。
在另一个例子中,群集分析可以用来以这样一种方式分组两个或 更多个用户,使得同一组中的用户是相似的。群集分析可以是例如基 于质心的群集或者任何合适的群集方法。在基于质心的群集的情况下, 群集可以由中心矢量表示。中心矢量可以例如利用模式的第一子集和 第二子集之间完全相同的模式来定义。中心矢量可以包括例如完全相 同的模式的至少一部分及其关联的标记。为了检查第三用户是否也可 以属于由两个相似的第一用户和第二用户构成的这个群集,可以创建 第三模式子集的矢量。那个矢量包括第三模式子集及关联的标记。然 后,基于质心的群集可以比较该矢量与中心矢量,以确定第三用户是 否能属于该群集。
根据一种实施例,该方法还包括确定第一模式子集与第二模式子 集的未标记模式之间完全相同的模式;把第一模式子集中的每个模式 的标记指定给第二模式子集中与它完全相同的未标记模式。
由于第一用户和第二用户是相似的,因此可以使用模式的合作标 记。这可以避免同一个模式被相似的用户标记两次,并且因此可以进 一步节约资源。
根据一种实施例,该方法还包括从第一用户和第二用户中的一个 接收对数据集的第一查询;提供具有相应更新后的重要性值的更新后 的模式集合。更新后的模式集合(例如,第一模式子集)的至少一部 分包括已经为其调整了重要性值的模式。属于更新后的模式集合的模 式可以基于它们的排名,即与重要性阈值进行比较的重要性值,来选 择。
根据一种实施例,该方法还包括确定第一模式子集的第一模式是 第一模式集合中未标记的第二模式的父模式;利用第一模式的标记来 标记第二模式;基于第一模式的标记来调整第二模式的重要性值。这 可以避免标记子模式,并因此可以进一步节约资源。
根据一种实施例,该方法还包括利用包括调整后的重要性值的相 应重要性值给第一模式集合排名;基于排名模式来存储数据集。
根据一种实施例,该方法还包括在存储器内的数据库中存储对应 于最高排名的模式的数据。这可以方便对数据库系统中的数据的访问。
例如,对应于最低排名的模式的数据可以被归档,因为它们可能 不常被第一用户使用。
另一方面,本发明涉及包括计算机可执行指令的计算机程序产品, 所述指令执行前面任一实施例的方法的方法步骤。
另一方面,本发明涉及数据库系统,包括:
-接收器模块,用于从第一用户接收对存储在数据库系统中的数 据集的第一查询;
-模式模块,用于响应于接收到的第一查询而提供数据集中的第 一模式集合并且为第一模式集合中的每个模式提供重要性值;并且用 于提供用于标记第一模式集合中的模式的标记集合,所述标记集合指 示描述模式的至少两个数据类;其中接收器模块适于从第一用户接收 指示第一模式集合中的至少第一模式子集的标记的输入信息,其中所 述标记中的每个标记是选自标记集合;
-分析模块,用于基于标记来调整第一模式子集的重要性值。
如在本文中所使用的,“计算机可读存储介质”涵盖了可以存储 可由计算设备的处理器执行的指令的任何有形存储介质。计算机可读 存储介质可以被称为计算机可读非暂时性存储介质。计算机可读存储 介质还可以被称为有形计算机可读介质。在有些实施例中,计算机可 读存储介质还可以能够存储能够被计算设备的处理器访问的数据。计 算机可读存储介质的例子包括但不限于:软盘、磁性硬盘驱动器、固 态硬盘、闪存存储器、USB拇指驱动器、随机存取存储器(RAM)、 只读存储器(ROM)、光盘、磁光盘、以及处理器的寄存器文件。 光盘的例子包括紧凑盘(CD)和数字多样化盘(DVD),例如CD- ROM、CD-RW、CD-R、DVD-ROM、DVD-RW或者DVD-R盘。 术语“计算机可读存储介质”还指能够被计算机设备经网络或通信链 路访问的各种类型的记录介质。例如,数据可以经调制解调器、经互 联网或者经局域网来取得。体现在计算机可读介质上的计算机可执行 代码可以利用任何适当的介质发送,包括但不限于无线、有线、光纤 电缆、RF等,或者以上所述的任意合适组合。
计算机可读信号介质可以包括其中包含计算机可执行代码的传播 数据信号,例如,在基带中或者作为载波的一部分。这种传播信号可 以采取多种形式中的任意一种,包括但不限于:电磁、光或者其任意 合适的组合。计算机可读信号介质可以是非计算机可读存储介质并且 可以传送、传播或运输由指令执行系统、装置或设备使用或者与其一 起使用的程序的任何计算机可读介质。
“计算机存储器”或“存储器”是计算机可读存储介质的例子。 计算机存储器是可以让存储器直接访问的任何存储器。“计算机储存 器”或“储存器”是计算机可读存储介质的另一个例子。计算机储存 器是任何非易失性的计算机可读存储介质。在有些实施例中,计算机 储存器也可以是计算机存储器或者反之亦然。
如在本文中所使用的,“处理器”涵盖能够执行程序或机器可执 行指令或计算机可执行代码的电子部件。对包括“处理器”的计算设 备的引用应当解释为有可能包含多于一个处理器或处理核心。处理器 可以是例如多核心处理器。处理器也可以指单个计算机系统中或者在 多个计算机系统之间分布的处理器的集合。术语“计算设备”还应当 解释为有可能指每个都包括一个或多个处理器的计算设备的集合或网 络。计算机可执行代码可以由多个处理器执行,这些处理器可以在同 一个计算设备中或者甚至可以跨多个计算设备分布。
计算机可执行代码可以包括使处理器执行本发明一方面的机器可 执行指令或程序。用于执行本发明各方面的操作的计算机可执行代码 可以用一种或多种编程语言的任意组合来编写,包括面向对象的编程语 言—诸如Java、Smalltalk、C++等,还包括常规的过程式编程语言—诸 如”C”编程语言或类似的编程语言,并且被编译成机器可执行的指令。 在有些情况下,计算机可执行代码可以是高级语言的形式或者是预编译 的形式并且可以结合联机生成机器可执行指令的解释器来使用。
计算机可执行代码可以完全地在用户计算机上执行、部分地在用户 计算机上执行、作为一个独立的软件包执行、部分在用户计算机上且部 分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉 及远程计算机的情形中,远程计算机可以通过任意类型的网络——包括 局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到 外部计算机(例如利用互联网服务提供商来通过互联网连接)。
本发明的各方面是参考根据本发明实施例的方法、装置(系统)和 计算机程序产品的流程图说明和/或框图来描述的。将理解,所述流程 图说明和/或框图的每个方框及所述流程图说明和/或框图中方框的组合 在适用时可以由形式为计算机可执行代码的计算机程序指令来实现。还 应当理解,当不相互排斥时,不同流程图说明和/或框图中的方框的组 合可以被组合。这些计算机程序指令可以提供给通用计算机、专用计算 机或者其它可编程数据处理装置的处理器,来产生一种机器,使得当所 述指令经计算机或者其它可编程数据处理装置的处理器执行时,产生用 于实现在所述流程图和/或框图的方框中所指定的功能/动作的装置。
这些计算机程序指令还可以存储在计算机可读介质中,所述指令可 以指示计算机、其它可编程数据处理装置或者其它设备以特定的方式起 作用,使得存储在计算机可读介质中的指令产生一种制造物品,该物品 包括实现在流程图和/或框图的一个或多个方框中规定的功能/动作的指 令。
计算机程序指令还可以加载到计算机、其它可编程数据处理装置或 者其它设备上,使得一系列操作步骤在计算机、其它可编程装置或者其 它设备上执行,以产生一种计算机实现的过程,使得在所述计算机或者 其它可编程装置上执行的指令提供用于实现流程图和/或框图中的一个 或多个方框中规定的功能/动作的过程。
如本领域技术人员知道的,本发明的各方面可以体现为装置、方法 或计算机程序产品。因此,本发明的各方面可以采取完全硬件实施例、 完全软件实施例(包括固件、驻留软件、微代码等),或者结合软件和 硬件方面的实施例的形式,这些在本文中一般都被称为“电路”、“模块” 或“系统”。此外,本发明的各方面还可以采取体现在一个或多个计算 机可读介质中的计算机程序产品的形式,该计算机可读介质上包含计算 机可执行代码。
应当理解,以上提到的一种或多种实施例可以组合,只要组合后的 实施例不相互排斥就可以。
附图说明
以下将参考附图仅仅作为例子更具体地描述本发明的优选实施例, 其中:
图1说明了用于数据模式识别的系统;
图2是用于访问数据库系统中的数据的方法的流程图;
图3是用于调整模式的重要性值的示例性方法的流程图;以及
图4是用于调整模式的重要性值的另一种示例性方法的流程图。
具体实施方式
在下文中,附图中相同标号的元件或者指示相似的元件或者指示 执行等效功能的元件。如果功能是等效的,则之前已经讨论过的元件 没有必要在后面的图中讨论。
图1绘出了用于数据模式识别的示例性系统100。例如,系统 100可以是的zEnterprise系统的一部分,包括IBM DB2数据 库系统。
系统100提供计算机系统101和一个或多个客户端系统102。计 算机系统101和客户端系统102可以彼此远离并且通过网络通信。网 络可以由任何数量的任何合适的通信介质实现(例如,广域网 (WAN)、局域网(LAN)、互联网、内联网等)。或者,计算机 系统101和客户端系统102可以是在彼此本地的,并且经任何适当的 本地通信介质(例如,局域网(LAN)、硬连线、无线链路、内联 网等)通信。
计算机系统101的部件可以包括但不限于:一个或多个处理器或 处理单元103、储存器系统111、存储器系统105以及把包括存储器 系统105在内的各种系统部件耦合到处理器103的总线107。存储器 系统105可以包括形式为易失性存储器的计算机系统可读介质,诸如 随机存取存储器(RAM)和/或高速缓存存储器。
计算机系统101通常包括各种计算机系统可读介质。这种介质可 以是可以由计算机系统101访问的任何可用介质,并且它包括易失性 和非易失性介质、可移动和不可移动介质。
计算机系统101可以经网络适配器109与一个或多个网络,诸如 局域网(LAN)、通用广域网(WAN)和/或公共网络(例如,互联 网)通信。如所绘出的,网络适配器109经总线107与计算机系统 101的其它部件通信。计算机系统101可以与一个或多个其它计算设 备通信。这种通信可以经I/O接口135发生。
计算机系统101可以充当数据库管理服务器系统。计算机系统 101可以包括并实现诸如SQL和/或DB2数据库管理系统的数据库管 理系统,并且管理数据库系统125中的信息。数据库系统125可以由 任何常规的或其它数据库或存储单元实现,可以是计算机系统101本 地的或者与其远离,并且可以经任何适当的通信介质(例如,局域网 (LAN)、广域网(WAN)、互联网、硬连线、无线链路、内联网 等)通信。
数据库系统125适于存储数据并处理对数据库系统125的数据请 求访问。数据库系统125可以是计算机系统101的内部资源或者是计 算机系统101的外部和/或独立资源。
客户端系统102包括至少一个处理器116、一个或多个存储器 117。客户端系统102还可以与以下设备通信:诸如键盘、定点设备、 显示器113等的一个或多个外部设备;使用户能够与客户端系统102 交互的一个或多个设备;和/或使客户端系统102能够与一个或多个 其它计算设备通信的任何设备(例如,网卡、调制解调器等)。这种 通信可以经I/O接口115发生。
客户端系统102可以给出或利用图形用户接口(例如,GUI等) 或者其它类型的接口(例如,命令行提示、菜单屏幕、应用、编程接 口等),以确定关于对数据的请求的信息,并且可以提供包括各种信 息的报告或显示。客户端系统102包括执行各种处理的一个或多个客 户端应用137并且可以向计算机系统101提供对数据的请求。
存储器系统105配置为存储可以在处理器103上执行的应用。例 如,存储器系统105可以包括操作系统以及应用程序。例如,存储器 系统105包括接收器模块129、模式模块131及分析模块133。
接收器模块可以从客户端系统102的用户接收对存储在数据库系 统125中的数据的数据请求。模式模块131可以定义被用户请求的数 据中的模式并且向客户端系统102发送模式及其相应的重要性值的列 表或表139。分析模块133使得能够计算重要性值并且把模式排名。 模式可以是可以被指定统计重要性的一组变量之间的任何种类的关系。 在市场购物篮分析中,这种关系将是变量之间的,表示给定产品是否 被购买,从而指出:如果产品A被购买,则产品B有可能也被购买。 在工程设计中,这可以是:如果类型X的错误发生并且很短时间之 后类型Y的错误发生,则类型Z的错误也很有可能跟着发生。
系统100的操作将参考图2-4具体描述。
图2是用于访问数据库系统125中的数据的方法的流程图。在步 骤201,接收器模块129例如经客户端系统102从第一用户接收对存 储在数据库系统125中的数据集的第一查询。例如,第一查询可以指 示第一用户偏好并且可以包括关键字、短语、示例条目或者条目的部 分,诸如图像、电子邮件、SMS消息或者其它条目。第一查询可以 包括例如结构化查询语言(SQL)或者多维表达式(MDX)查询, 或者它可以遵循任何其它合适的格式或语言。第一查询可以由第一用 户例如利用键盘录入,作为客户端系统102的输入。第一查询可以由 客户端系统102发送到计算机系统101。
响应于接收第一查询,模式模块131可以在步骤203中返回第一 模式集合。该模式集合中的每个模式都与一个重要性值关联。
如在本文中所使用的,术语“重要性”或“统计重要性”指数据 支持某个结果有多强烈的概率测量(通常是统计测试)。
模式的重要性值可以利用例如列表测量来确定。例如,Agrawal 和R.Srikant的Fast Algorithms for Mining Association Rules in Large Databases.(In Proc of the 20th International Conference on Very Large Data Bases(VLDB'94),第487-499页,1994年)指示,假 设文字在统计的意义上是独立的,那么与预期的频率相比,文字的组 合出现得有多更经常。为了计算提升(lift),所有文字的出现次数 以及它们的连接都需要从数据库计数。这可以例如利用先验算法来进 行。
在步骤205中,模式模块131可以提供标记集合tag_1-tag_3或 者使其可用于标记模式集合Pattern_1-Pattern_n中的模式。
这可以例如通过在客户端系统102的显示器113上显示标记集合 tag_1-tag_3来进行。作为选择或者附加地,标记集合tag_1-tag_3可 以发送到客户端系统102的客户端应用135。
系统可以提供模式的历史数据以及关联的标记,使得它们可以用 来确定模式可以用哪个标记来标记。要指定给给定模式的标记的确定 可以利用与给定模式相似或相关的模式所关联的历史数据来进行。
标记集合tag_1-tag_3指示描述该模式的至少两个数据类。所述 至少两个数据类包括噪声数据类和非噪声数据类。非噪声数据类可以 包括有效数据模式和无价值数据模式。
如果模式可能是领域中的从业者已知的,则该模式是无价值的。 例如,根据其“内存不足错误”后面总是跟着“CPU使用中的尖峰” 的模式在计算领域中是已知的。因此,这种模式可以被标记为是无价 值的。在另一个例子中,模式出现的频率可以用来确定那个模式是否 是无价值的。例如,如果模式自很长时间以来例如1年就在计算机系 统中出现并且对第一用户的查询的出现频率高于预定阈值,例如每天 一次,则该模式可以被自动地或者被第一用户归类为无价值的。
噪声模式会由于结合系统过程出现的无意义的随机过程而产生。 噪声模式可以由硬件故障或编程错误引起。例如,当存在关于软件的 问题时,CPU使用情况的测量可能是错误的。噪声模式还可以包括 与被破坏的数据关联的模式或者不能被程序读取或使用的任何模式。 例如,数据模式可以利用从历史数据(例如,日志)得出的信息来识 别。
有效模式是既非噪声又非无价值模式的模式。
在步骤207中,接收器模块129接收指示第一模式集合 pattern_1-pattern_n中至少第一模式子集pattern_1-pattern_m的标 记的输入信息(m<=n)。从标记集合tag_1-tag_3中选择所述标记中 的每个标记。可以从选择标记并把它们指定给第一模式子集 pattern_1-pattern_m的第一用户接收输入信息。或者,通过例如使 用存储在客户端系统102中的历史数据,标记可以自动指定给第一模 式子集pattern_1-pattern_m,其中所述历史数据可以给出关于模式 子集pattern_1-pattern_m的数据类的提示。在这种情况下,可以从 客户端系统102例如从客户端应用137接收输入信息。
在步骤209,基于指定给第一模式子集中的每个模式的标记 tag_1-tag_3,分析模块131调整第一模式子集pattern_1-pattern_m 的重要性值Sig_1-Sig_m。用于调整重要性值的方法参考图3来描述。
图3是基于其相应的标记tag_1-tag_3来调整第一模式子集 pattern_1-pattern_m中的第一模式p1的重要性值s(p1)的方法的流程 图。模式p1用第一标记,例如标记集合tag_1-tag_3中的tag_1,来 标记。
为了描述的简化,只有一个模式用来描述重要性值计算;但是, 本领域技术人员将很容易理解,所给出的方法可以同等地应用到第一 模式子集pattern_1-pattern_m中的每个模式并且可以一般化到第一 模式子集pattern_1-pattern_m中的所有模式。
在步骤301,分别对应于标记集合tag_1-tag_3的标记计数器集 合nv(p1,u1)、nt(p1,u1)、nn(p1,u1)指定给第一模式p1和第一用户 u1(例如,tag_1、tag_2和tag_3分别包括有效类标记、无价值类标 记和噪声类标记)。
在步骤303,标记计数器集合nv(p1,u1)、nt(p1,u1)、nn(p1,u1) 的值被初始化成例如零或者任何其它数字。例如,标记计数器可以利 用不同的值来初始化,从而例如对某些类放置比其它类更大的权重。
在步骤305,标记计数器集合nv(p1,u1)、nt(p1,u1)、nn(p1,u1) 中对应于第一标记tag_1的标记计数器nv(p1,u1)递增例如一或者任 何其它数字。由于第一模式p1由作为有效类标记的tag_1标记,因 此有效类标记的对应计数器递增。这会导致例如值nv(p1,u1)=1、 nt(p1,u1)=0、nn(p1,u1)=0。
在步骤307,包括递增后的标记计数器(即,nv(p1,u1)=1、 nt(p1,u1)=0、nn(p1,u1)=0)的标记计数器集合被用来调整第一模式 p1的重要性值。
调整可以例如通过提供校正重要性值s(p1)的项来进行。所述项 可以是函数,例如,计数器nv(p1,u1)=1、nt(p1,u1)=0和 nn(p1,u1)=0的组合。例如,通过计算 r(p1,u1)=(nn(p1,u1)+nt(p1,u1))/(nv(p1,u1)+nn(p1,u1)+nt(p1,u1)),计 数器nv(p1,u1)=1、nt(p1,u1)=0、nn(p1,u1)=0被组合到单个测量中 (也可以代替地使用组合这些计数器的其它测量)。这个值随后用来 或者增加或者减小用于第一用户u1的模式p1的重要性值s(p1)。最 初的重要性可以基于数据并且独立于第一用户u1。如果 (nv(p1,u1)+nn(p1,u1)+nt(p1,u1)=0,则重要性s(p1)保持不变。否则, 调整后的重要性可以如下计算:s'(r,u1)=s(p1)–w*(r(p1,u1)-0.5); 其中w是要由第一用户u1选择的加权因子。
例如,多个分析人员可以对给定的数据集分析模式。典型的场景 可以是技术人员分析技术系统的故障数据。这可以是关于单个系统的 数据,或者甚至从许多不同系统收集到的数据。基于对系统的某种查 询,可以为每个对数据进行工作的专家都呈现结果模式列表。这种列 表可以根据重要性值来排名。由于一个用户所需的反馈量可能高,因 此系统可以以非强制的方式,因而以不需要专家之间明确通信或合作 的方式,组合这些专家的见解。这可以例如通过基于她的反馈创建给 定专家认为什么是无价值、噪声和有效的简档来进行。然后,这种简 档用来识别相似的用户,如关于图4所示出的。
图4是用于调整模式的重要性值的另一种示例性方法的流程图。 在步骤401中,数据库系统从第二用户u2接收对数据集的第二查询。 该第二查询可以包括第一查询的至少一部分。
响应于第二查询,在步骤403中提供数据集中具有相应重要性值 的第二模式集合pattern_m-5-pattern_v。
在步骤405中,从第二用户u2接收指示第二模式集合 pattern_m-5-pattern_v中的至少第二模式子集pattern_m-9- pattern_m+6的标记。
在步骤407中,确定第一和第二子集之间用相同标记做标记的完 全相同的模式的数目。这可以例如通过首先确定完全相同的模式,即, pattern_m-9-pattern_m,然后选择在第一和第二子集中都具有相同 标记的模式,例如pattern_m-5-pattern_m,来进行。
在步骤409中,确定完全相同的模式pattern_m-5-pattern_m的 数目高于预定义的相似性阈值,例如4个模式。在这种情况下,第一 和第二用户可以被认为是相似的用户。
在另一个例子中,如果在第一和第二用户之间一致性(例如,具 有相同标记的完全相同的模式的数目)高于不一致性(例如,具有不 同标记的完全相同的模式的数目),则这两个用户可以被认为是相似 的并且因此他们的标记计数器可以组合。复杂的测量,诸如余弦或 Jaccard,可以用于确定第一和第二用户是相似的。为此,相似性度 量可以基于Jaccard系数或余弦相似性测量来计算。相似性度量可以 确定第一和第二模式子集之间的相关性。
此外或者作为选择,完全相同的模式pattern_m-5-pattern_m的 重要性值可以用来确定第一和第二用户是否是相似的。例如,如果第 一和第二子集中完全相同的模式pattern_m-5-pattern_m的相应重要 性值之间的平均差小于预定义的重要性阈值,则两个用户可以被认为 是相似的。
在确定两个用户是相似的之后(例如,完全相同的模式 pattern_m-5-pattern_m的数目高于预定义的相似性阈值),对应于 标记集合tag_1-tag_3的公共标记计数器集合分别指定给完全相同的 模式pattern_m-5-pattern_m中的每个模式并且指定给第一和第二用 户,nv(px,u1,u2),nt(px,u1,u2),nn(px,u1,u2),其中m-4<x<m+1。公 共标记计数器集合是单独指定给第一和第二用户的相应标记计数器集 合的组合。例如,对于同时属于第一和第二子集并且在两个子集中具 有相同标记的模式m,公共计数器集合nv(pm,u1,u2),nt(pm,u1,u2), nn(pm,u1,u2)可以通过组合指定给pattern_m并指定给第一用户的标 记计数器nv(pm,u1),nt(pm,u1),nn(pm,u1)与指定给pattern_m并指 定给第二用户的标记计数器nv(pm,u2),nt(pm,u2),nn(pm,u2)来确定。
例如,组合可以是算术和,使得:
nv(pm,u1,u2)=nv(pm,u1)+nv(pm,u2)
nt(pm,u1,u2)=nt(pm,u1)+nt(pm,u2)
nn(pm,u1,u2)=nn(pm,u1)+nn(pm,u2)
在步骤411中,完全相同的模式pattern_m-5-pattern_m的重要 性值利用公共标记计数器来调整。例如,对于pattern_m,调整后的 重要性值可以是s'(r,u1,u2)=s(pm)–w*(r(pm,u1,u2)-0.5),其中 r(pm,u1,u2)=(nn(pm,u1,u2)+nt(pm,u1,u2))/(nv(pm,u1,u2)+nn(pm,u1, u2)+nt(pm,u1,u2))。
因而,基于这种组合的/合作的标记计数的重新排名可以对每个 用户单独地运行,而不是全局运行它们。
因此,用来基于反馈把模式重新排名的信息不仅从单个用户的反 馈得到,而且从与她相似的所有用户得到。
在多于两个用户的情况下,例如三个用户u1、u2和u3,执行步 骤407,确定第一、第二和第三子集之间用相同标记做标记的完全相 同的模式的数目。第三子集是由第三用户提供的,就像在步骤405中 一样。在这种情况下,公共标记计数器集合是单独指定给第一、第二 和第三用户的相应标记计数器集合的组合。
在下文中,给出了进一步阐明该方法的简化例子。在这个例子中, 描述了假设文字的连接在上下文诸如时间窗口中共同出现的模式。作 为例子,以下可以是可能的模式:
(Machine1-failure_tn)AND(Humidity_tn>3.4)AND(Machine2- failure_tn+1)
这种模式可以或者是专家们众所周知的(在机器1故障之后机器 2总是故障)、无效的(这是纯属巧合)或者是真正帮助揭示错误并 在将来修复它们的新见解。
但是,由于可能模式的数量巨大,因此在个别用户之间可能不会 有太多重叠。因此,可以使用对个别模式进行一般化以便能够高效地 方便这种知识传输的方法。
如果所有模式都被认为是完全不同和不相关的,则用于nv、nn、 nt的计数可以非常稀疏。因此,可以使用把来自一个模式p的计数 推到其相关模式的以下规则。
模式之间的子集关系可以用来实现这个目的。如果模式p逻辑 上需要另一个模式p’,则p是p’的子模式。因而,子模式是条目的 超集。
X AND Y AND Z将是模式X AND Y的子模式。
被标记为噪声的模式的任何子模式也被标记为噪声。因此,如果 用户把模式p标记为噪声,则nn(p)增加一,而且对于是p的子模式 的所有模式p’,nn(p’)也增加一。
如果模式被标记为无价值,则是这个模式的子模式的所有模式p’ 也被标记为无价值,增加其nt计数。
计数n(p)、nt(p)和nn(p)可以不是全局的,但是对于每个用户u 可以不同。
在另一个例子中,系统可以最初向用户返回以下三个模式
(Machine1-failure_tn)AND(Humidity_tn>3.4)AND(Machine2- failure_tn+1)–P1
(Machine2-failure_tn)AND(Machine3_slow_tn)AND (Machine7-slow_tn+3)–P2
(Machine5-failure_tn)AND(Load_Machine5_tn>8)AND (Machine1-failure_tn)–P3
其中重要性值s(P1)=0.3、s(P2)=0.29并且s(P3)=0.27。
用户u1将把P1标记为噪声(基于他的经验,湿度不会有影响) 并且把另两个模式标记为有效。nn(P1,u1)=1并且 nv(P2,u1)=nv(P3,u1)=1,所有其它值都为零。
再次运行该系统,她可以减小阈值并且得到附加模式P4:
(Machine1-failure_tn)AND(Humidity_tn>3.4)AND(Machine2- failure_tn+1)AND(Machine 4-slow)–P4
其中s(P4)=0.31。
基于P1的反馈,系统现在还将设置nn(P4,u1)=1,这将导致模 式P1和P4都排名下滑,如果使用w=0.1,则s'(P1,u1)=0.3- 0.1*0.5=0.25并且s'(P4,u1)=0.26。
并且要呈现给u1的模式将是按以下次序P2、P3、P4、P1。
通过把模式相似性排名,另一个用户现在可以与用户u1一致。 即使这个用户还没有把模式P1或P4评级,基于用户u1的评级,它 也将自动地得到nn(P1,u2)=1和nn(P4,u2)=1。
第三个用户u3可能与u1不同地把模式评级并且因此不被认为 是相似的。在这种情况下,用于这个用户的计数将不受u1的评级的 影响。
附图标记列表
- - - - - - - - - - - - - - - - - - - - - -
100 系统
101 计算机系统
102 客户端系统
103 处理器
105 存储器
107 总线
109 网络适配器
111 储存器设备
113 显示器
115 I/O接口
116 处理器
117 存储器
125 数据库系统
129 接收模块
131 模式模块
133 分析模块
135 I/O接口
137 客户端应用
139 列表