用于通过在柱状数据结构中提供数据记录而确定规则的方法

xiaoxiao2020-7-22  7

【专利下载】Tel:18215660330

用于通过在柱状数据结构中提供数据记录而确定规则的方法
【专利摘要】本发明提供一种用于确定第一规则(401-407)的计算机实现的方法,其中每个第一规则包括源属性值对和目的属性值对。列式数据库包括多个(214;609)列式数据结构(109,110;225,226,227),每个列式数据结构与一个列属性(215-224)相关联并且包括一个或者多个列条目(235)。第一数据记录(213,230-234)被存储在所述列式数据库中。存在掩码数据结构(320-323),以及每个掩码数据结构具有与所述列式数据结构中的一个列式数据结构相同的结构。所述掩码数据结构包括一个或者多个第二属性值对。通过求交所述列式数据结构和所述掩码数据结构,选择第二数据记录作为所述第一数据记录的子集。选择列属性中的一个以及包含在与所述列属性相关联的所述列式数据结构中的一个值,作为所述目的属性值对。创建针对所述第二数据记录的每个第一属性值对的一个第二规则。针对每个第二规则而计算同现计数。选择一个或者多个所述第二规则作为所述第一规则。
【专利说明】用于通过在柱状数据结构中提供数据记录而确定规则的方法
【技术领域】
[0001]本发明涉及数据挖掘领域,并且更具体地,涉及规则确定的领域。
【背景技术】
[0002]数据挖掘是从大数据集提取模式(pattern)的过程。数据挖掘允许从为数众多的数据提取知识,由于该数据的结构和/或数量,因而该数据不适合于人类解译或者评估。数据挖掘中的一个问题在于,非假设驱动的方案(non-hypothesis driven)倾向于较慢,并且由此不能交互式使用。基于假设驱动的方案(例如,使用OLAP立方体)典型地需要较少计算能力,但是受限于假设的存在和使用。然而,通常,此类假设并非已知,而是作为数据挖掘的目标用于自动确定似是而非的假设,并且用于进一步基于所述假设来执行向下钻取分析。由于由非假设驱动的方案需要大量处理能力,针对实时地并且交互式的非假设驱动的数据挖掘方案存在需求,要求其能够处理大量数据。
[0003]US20100235335公开了一种支持高的吞吐量读取性能的提供列存储数据库系统的方法。US20050278286公开了一种在构造用于过滤数据库列的查询以及用于向用户显示经过滤的信息期间,提供数据挖掘接口的方法。现有技术的列式数据库系统不能提供新候选规则的交互式实时标识。例如,已知的列式数据库为Vertica、ParAccel> Infobright、Sybase IQ 等。

【发明内容】

[0004]本发明的实施方式的一个目的在于,提供一种用于自动确定规则的改进的计算机实现的方法、数据处理系统和相应的计算机程序产品。所述目的通过独立权利要求的主题而实现。在从属权利要求中描述了实施方式的优势。
[0005]本发明的实施方式提供了一种适合于解决各种数据挖掘相关问题的实时交互分析。例如,可以快速标识在制造场合中导致问题的关键影响因素。可以标识共享给定行为的客户,并且可以标识并且在未来分析中跳过对于所选择属性值并不显著的信息。
[0006]“面向列的数据库”或者“列式数据库”是存储其内容的数据库,S卩,通过列而不是行来包括属性值配对的数据记录。数据库必须将其二维表转换为一维的字节序列,以便将其数据内容写入至RAM和/或硬盘驱动。面向行的数据库将行中的全部值序列化在一起,继而处理下一行中的值,以此类推。相比于面向行的数据库,面向列的数据库将列的全部值以串行方式一起写入到存储器,继而处理下一列的值,以此类推。如在此使用的“列式数据结构”是表数据结构,其具有所指派的列特定的属性(也被称作“列属性”)并且包括列条目的集合,由此每个列条目包括这样的数据值,该数据值对于所述列式数据结构是唯一的并且已经被指派给一个或者多个数据记录的相应“记录属性”。
[0007]在此使用的表达式“匹配属性值对”是指包括第一和第二属性值对并且返回布尔值“真”或者“假”响应的任何表达式。例如,此类比较可以包括:第一步,确定第一和第二属性值对是否相等;并且可以包括第二步,另外确定第一属性值对的值是否等于第二属性值的对。在所比较的第一和第二属性值对的属性以及值相等的情况下,返回肯定的匹配结果“真”。依赖于实施方式,匹配属性值对可以基于比特矢量的重叠或者其他数据结构。
[0008]“掩码(mask)数据结构”是与列式数据结构具有相同结构的数据结构。掩码数据结构具有所指派的一个列式属性,并且可以包括一个或者多个列条目,每个列条目包括数据值但没有计数信息。通过将掩码数据结构与具有所指派相同列属性的列式数据结构求交(intersect),可以确定包括匹配于掩码数据结构中所包括的值及其特定列式属性的属性值对。
[0009]在此使用的术语“规则”涵盖包括源属性值对和目的属性值对的数据结构。另夕卜,规则可以包括指示源属性值与所评估数据集内的目的属性值一起出现的频率的同现(cooccurrence)计数。包括同现计数的规则由此可以指示特定属性值对,即源属性值对与感兴趣的另一属性值对(即,目的属性值对)同现的频率如何。通过评估数据记录集合来自动提取具有特定同现计数的规则的任务由此被认为是用于提取相关属性值对的数据挖掘任务。
[0010]术语“机器可读介质”应当被认为包括单介质或者多介质(例如,集中式的或者分布式数据库,和/或相关联的高速缓存与服务器),其存储数据和/或计算机可解译的指令。术语“计算机可读非暂态存储介质”由此应当被认为包括但不限于,固态存储器、光学和磁性介质等,诸如但不限于包括软盘、光盘、CD-ROM、和磁光盘的任何类型的磁盘、只读存储器(ROM),随机访问存储器(RAM)、可擦除可编程只读存储器(EPROM或者闪存)、光纤、磁性或者光学卡、或者适合于存储电子指令的任何类型的介质。
[0011]数据挖掘中的典型任务是通过分析包括众多属性值对的数据记录集,来确定指示存在特定目的属性值对的那些属性值对。例如,公司的机器农场的操作员可能对确定全部影响因素(诸如,湿度、温度、年龄、位置或者其他可能影响机器的生命期望的属性)感兴趣。通常可以假定此类关系:可以通过分析从多个机器采集的数据记录,而确定在特定属性值对(例如,“温度>50°C”)和特定目的属性值对“生命期望〈3年”之间是否可以找到统计关联。本发明的实施方式允许弹性地并且交互地确定此类影响。当与诸如OLAP立方体的假设驱动的数据挖掘方案结合时,本发明的实施方式提供高度优越的数据挖掘方案,其允许在假设驱动的方案和非假设驱动的方案之间按需动态切换。
[0012]在一个方面,本发明涉及一种用于确定第一规则的计算机实现的方法,其中每个第一规则包括源属性值对和目的属性值对。该方法包括如下步骤:
[0013]-提供列式数据库,所述列式数据库包括多个列式数据结构,每个列式数据结构与一个列属性相关联并且包括一个或者多个列条目,
[0014]-提供第一数据记录,所述第一数据记录存储在列式数据库中,每个第一数据记录具有多个第一属性值对,其中每个所述第一属性值对被存储在与相应列属性相关联的列式数据结构中的一个中,其中每个列条目与相应列属性的一个值相关联并且包括计数信息,所述计数信息指示具有相应第一属性值对的第一数据记录;
[0015]-提供掩码数据结构,每个掩码数据结构具有与列式数据结构中的一个列式数据结构相同的结构,所述掩码数据结构包括一个或者多个第二属性值对;
[0016]-通过求交所述列式数据结构和所述掩码数据结构,来选择第二数据记录作为所述第一数据记录的子集,所述第二数据结构选择性地包括第一数据记录,所述第一数据记录包括匹配于所述一个或者多个第二属性值对的至少一个第一属性值对;
[0017]-选择所述列属性中的一个列属性以及包含在与所述列属性相关联的列数据结构中的一个值作为目的属性值对;
[0018]-针对所述第二数据记录的每个第一属性值对来创建一规则,其中所述第一属性值对被用于所述第二规则的源属性值,并且其中所选择的目的属性值对被用作所述第二规则的所述目的属性值对,
[0019]-针对每个第二规则创建其相应源属性值对及其目的属性值对之间的同现计数,以及[0020]-独立于计算的所述同现计数,特定地选择所述第二规则中的一个或者多个作为所述第一规则。
[0021]“目的属性值对”是规则的任何属性值对,用户对该规则感兴趣、并且希望针对其来从多个数据记录自动提取预测性参数值。例如,用户可以评估多个数据记录,该多个数据记录包括机器状态记录并结合有多个环境参数,诸如温度、湿度、机器年龄、机器的操作员等等。多个状态值(例如,“故障”和“可操作”)已经被记录。通过选择属性值对“状态=故障”作为目的属性值对,根据本发明的实施方式,用户可以触发这些属性值对的自动确定,在此也称作“源属性值对”,其相关于(并且由此可以被假定认为导致)目的属性值对(在此是机器故障)。例如,在发现温度明显超过30°C并且明确地相关于机器的故障状态,规则〈〈如果“温度>30°C ”,则“状态=故障” ?将被以规则的形式导出,该规则包括“状态=故障”作为目的属性值对,并且“温度>30°C ”作为源属性值对。
[0022]将将被分析的数据记录存储在列式数据结构中,并且将所述结构与掩码数据结构进行求交,这是有益的,这是因为此方案开发了列式数据结构的内部结构用于确定匹配于所述掩码数据结构的属性值对的第一数据记录的交叉集合。这是特别有效的,因为用于确定交叉数据结构的集合运算可以直接基于现有数据结构运算,而无需执行转换步骤。根据某些基准(banchmarking)测试,用于处理在传统关系数据库中组织的数据记录的时间被测量,以便从针对I百万数据记录的20毫秒提高至针对3百万数据记录的85毫秒。相反,观察到针对已经在列式数据结构中组织的3百万数据记录的处理时间小于5毫秒。
[0023]例如,掩码数据结构可以包括列式数据结构,其具有被指派的列式属性“状态”并且仅包括一个数据值“故障”。列式数据库包括被存储至多个列式数据结构的多个数据记录。所述列式数据结构中的一个列式数据结构已经指派了列属性“状态”,并且例如针对状态“可操作”、“运行”、“故障”和“未知”具有多个不同的列式数据条目。通过执行所述掩码数据结构与所述列式数据库的列式数据结构的求交运算,可以高效地以选择性方式确定这些数据结构,其中该数据结构已经指派了值“故障”。
[0024]表示列式数据结构中的数据记录是有益的,这是因为如果被存储至关系数据库的表中,典型地被用于数据挖掘的大数据集不能被保持在存储器中。由列式数据库所需的存储空间典型地是10-100倍地小于由关系DBMS所需的空间。由于列式数据结构提供高度密集形式的数据表示,它们允许将大数据集加载到工作存储器之中,因而通过避免对硬盘的较慢读/写访问操作而节省了时间。根据某些实现示例,具有50列(每个具有表示或者指向5百万数据记录的至少50个不同列条目)的表,消耗仅大约IGB的存储器。根据此实施方式,计数信息还可以由列条目的数据结构来内在地提供。
[0025]例如,计数信息可以是指示具有特定属性值对(例如,具有属性“湿度”和值“20-30%”)的全部第一数据记录的数值。备选地,计数信息可以包括包含所述属性值对的全部第一数据记录的标识符集合。在此情况下,所述标识符集合的大小充当计数信息。
[0026]针对特定源和目的属性值对而计算的同现计数是一数值,该数值指示包括源属性值对和目的属性值对两者的数值。同现计数类似地可以是作为所述数字数据值的导出值(derivative)而计算的任何数字。根据优选实施方式,同现计数是通过计算观察到的同现事件和随机同现的源和目的属性值对的静态期望概率的比值来获得的。例如,如果源属性值对在第一数据记录集合中具有40%的频率,并且目的属性值对在所述第一数据记录的所述集合中具有35%的频率,则所述源和目的属性值对的静态期望同现频率是
0.4X0.35=0.135=13.5%。同现计数在此情况下可以计算为,例如,作为所观察到的同现频率和静态期望同现频率的比值。例如,在源属性值对和目的属性值对被观察到在25%的全部第一数据记录中为一起同现的情况下,同现计数cc可以计算为:
[0027]cc=(观察到的同现频率/静态期望的同现频率)=0.25/0.135=1.85
[0028]根据这一实施方式,各个静态测试可以被使用以从已经被观察到的、包括所述源和目的属性值对的第一数据记录的数量,来计算同现计数。在此类静态测试被用于计算同现计数的情况下,所述测试可以另外提供置信度评分,用于指示结果的显著性,即,指示源属性值对对于目的属性值对的出现频率具有影响的假设的可靠性。
[0029]根据实施方式,属性值对与一个目的属性值对的全部组合的全部同现计数被呈现在第二规则中,并且通过开发所述列式数据结构而同时地被计算,例如通过执行诸如对列式数据结构和掩码数据结构的求交运算的集合运算而进行。通过求交掩码数据结构和列式数据结构,计数信息可以被确定,并且第二数据记录可以被同时地选择。
[0030]根据实施方式,特定的选择一个或者多个所述第二规则包括,从包括如下的组中进行选择的步骤:
[0031]-按照降序根据其同现计数来排序所述第二规则,并且选择所述第一η个排序的第二规则作为η个第一规则,其中η是>0的整数;
[0032]-确定具有超过第一阈值的同现计数的η个第二规则,并且选择所述η个第二规则作为第一规则,其中η是>0的整数;
[0033]-针对每个第二规则计算同现统计,提供用于每个第二规则的显著性评分,并且选择具有显著性评分超过第二阈值的所述第二规则中的η个,其中η是>0的整数;
[0034]根据实施方式,同现统计是基于卡方(ch1-square)测试、T测试或者Fisher精确测试、或者任何其他相关的统计测试。
[0035]根据某些实施方式,针对同现统计而应用的每个规则具有指派的置信度值,该置信度值通过如下方式来确定,例如通过计算包括特定源属性值对的第一数据记录并结合特定规则的目的属性值对的第一数据结构的片段、以及包括所述特定源属性值对的第一数据记录的片段,来进行。置信度值的详细计算依赖于单独的统计测试。如果置信度高于阈值,则规则被认为是显著的,其中所述阈值可以依赖于使用的统计测试。
[0036]根据实施方式,规则选择有效地允许自动确定针对目的属性值对的出现而具有最高影响和/或具有最高预测值的那些属性值对。[0037]根据某些实施方式,执行剪枝(prune)步骤以便减少必须被创建的同现计数的第二规则的数量。在此使用的术语“剪枝”涵盖自动确定其中对于目的属性值对的存在不具有影响的列式数据结构以及相应的列属性,由此所述确定不是基于计算在源属性值对和所述目的属性值对之间的同现计数。例如,如果应用剪枝,则从进一步的数据分析步骤中被自动地排除针对每个唯一数据值仅包括一个单一记录ID的列式数据结构,这是因为记录ID的分布暗示对应于所述列式数据结构结构的列属性,例如,“机器ID”对于目的属性值对的存在不具有影响。
[0038]剪枝可以暗示从数据分析中排除全部属性值对,如果其评估可以是自动的并且不必计算同现计数确定为不适合确定对目的属性值对的出现具有影响的源属性值对。例如,相比于目的属性值对的频率而言,如果特定属性值对出现得相当频繁或者相当少见,则从此信息中可以暗示所述属性值对不适合于作为目的属性值对的出现的预测符。使用剪枝是有益的,因为可以通过使用对列式数据结构固有的信息、并且在不执行附加成本显著的计算步骤的情况下,降低生成的第二规则的数量。作为结果,可以避免针对多个属性值对的同现计数的计算。生成的第二规则的数量被降低,并且随着其同现计数必须被评估的同现计数的第二规则的数量的降低,从所述第二规则选择第一规则的任务得以加速。依赖于实施方式以及数据集,典型地,通过应用剪枝,属性值对的70%可以被排除作为针对源属性值对(或者相应的第二规则)的候选。
[0039]根据实施方式,目的属性值对的选择借助于向用户显示的图形化用户界面而实现。图形化用户界面包括一个或者多个第一⑶I元素,用于由用户从列式数据结构的全部可用列属性中选择一个或者多个列属性。另外,该GUI包括一个或者多个第二 GUI元素,用于从具有所指派的所选择列属性的列式数据结构中选择一个或者多个值,其中所选择的列属性以及所选择的值构成目的属性值对。
[0040]根据实施方式,第一和第二⑶I元素通过分析列式数据结构的数据内容和结构而被自动地确定。例如,分别包括针对属性“温度”、“湿度”、“故障率”、和“操作员”的属性的第一数据记录的集合可以被存储在列式数据结构的集合中,由此,数据记录的所述属性中的每一个对应于列式数据结构的一个列属性。通过自动地评估列式数据结构的全部列属性,针对每个特定列属性,具有相应标签的GUI元素可以经由GUI来显示给用户。作为结果,用户能够选择任何列属性作为目的属性。通过显示例如包括所选择列式数据结构的唯一集合的下拉列表,用户被提供有选择一个特定值或者值范围的方式,由此指定目的属性值对。通过分析列式数据结构的数据内容和结构来自动确定第一和第二 GUI元素是有益的,这是由于所述特征提供了通用的⑶I,该⑶I可操作以将其内容动态地适配于底层列式数据结构的结构,从而可以执行交互数据分析。
[0041]根据该实施方式,列式数据结构的列条目和掩码数据结构的列条目可以基于各种数据结构类型,诸如例如,比特集、比特矢量、经排序的列表或者经排序的阵列。这是有益的,因为通过将列值对表示为例如比特阵列,每个数据记录被通过一个单一比特而表示,并且全部集合运算可以被映射至比特水平的逻辑运算。
[0042]列条目是列式数据结构中的一行,该列式数据结构表示特定数据值并且包括包含或者指向作为属性值对的列式数据结构的相应列属性和数据值的全部第一数据记录的ID。比特矢量使用比特来表示在特定列条目中引用的单独数据记录。集合运算可以针对比特矢量来执行,例如通过比特矢量的重叠来执行。比特矢量由单一比特来表示集合(在此是特定列条目的第一数据记录的每个ID)的每个可能的元素。结果,例如并集或者差集的集合运算是简单的位运算,其可以通过被编译为机器代码并且非常有效地运行。通过使用比特模式,计数为“ I ”的比特数字还可以以更加快速的方式实现。
[0043]作为比特矢量的备选,还可以使用诸如经排序列表的允许快速集合运算的其他数据结构。第一数据记录的每个ID在此被表示为经排序的ID列表。在两个数据记录之间的和或者差可以通过顺序地遍历两个列表并针对匹配记录ID条目的数量进行计数来实现。
[0044]根据实施方式,通过执行如下步骤来提供掩码数据结构:
[0045]-提供OLAP立方体用于执行全部第一数据记录的数据分析,OLAP立方体的每个维度和/或层级水平具有所指派的一个或者多个第三属性值对;
[0046]-依赖于针对所述OLAP立方体执行的切片(slicing)、切块(dicing)、旋转(pivoting)、向下钻取或者向上钻取事件,选择所述OLAP立方体的当前维度和/或当前层级水平;以及
[0047]-自动地生成掩码数据结构,其中所述掩码数据结构包括作为所述第二属性值对的所述当前层级水平和/或所述当前维度的所述第三属性值对。
[0048]通过评估借助于OLAP立方体所选择数据记录的子集,来结合第一规则的自动确定执行基于OLAP立方体的向下钻取分析,这是有益的,因为这允许执行交互数据挖掘方法来利用假设驱动方法以及非假设驱动方法两者的优势。其允许需要处理步骤(诸如针对规则的同现得分的计算)的计算的大量并行化。本方法的实施方式的运行时行为线性地并且非常缓慢地随着所分析数据记录的数量而增长。
[0049]根据实施方式,图形化用户界面包括一个或者多个第三⑶I元素,用于触发针对所述OLAP立方体的切片、切块、旋转、向下钻取或者向上钻取事件;和/或包括一个或者多个第四GUI元素,用于选择和/或指定所述一个或者多个第三属性值对。
[0050]根据实施方式,所述第一规则以依赖于其同现计数的降序顺序,在所述图形化用户界面上被呈现给所述用户。
[0051]根据实施方式,所述第一规则以依赖于其同现得分的降序顺序,在所述图形化用户界面上被呈现给所述用户。一旦选择被呈现的所述第一规则中的一个或者多个,所选择的所述第一规则的所述源属性值对被指派为对于所述OLAP立方体的所述第三属性值对。这是有益的,由于被认为相关的所述源属性(例如,因为相应的第二规则已经指派了高的置信度得分)提供自动生成的假设,该假设可以被用于执行基于OLAP立方体的、交互式的以及假设驱动的数据分析。作为结果,用于自动确定第一规则的非假设驱动的方案可以被用于创建用于随后的假设驱动的数据分析步骤的假设。
[0052]根据实施方式,提供的掩码数据结构进一步包括k个子集包装(sub-set-bagging)的掩码数据结构,k为大于I的整数,
[0053]-其中所述第二数据记录的所述选择是通过如下来执行的:将k个子集包装的掩码数据结构与所述列式数据结构以及与不是子集包装的掩码数据结构的所述掩码数据结构中的任一项进行求交,由此返回第二数据记录的k个子集,
[0054]-其中所述第二规则的所述创建包括第二规则的k个子集的所述创建。第二规则的每个子集的所述创建是通过针对包含在第二数据记录的所述子集中的全部第二数据记录的所述第一属性值对的第二规则来实现的,
[0055]-其中特定地选择所述第二规则中的一个或者多个作为第一规则的步骤进一步包括如下步骤:
[0056]-依赖于计算的所述同现计数,针对第二规则的所述k个子集中的每一个,特定地选择其二规则中的一个或者多个作为第一规则,由此创建第一规则的k个子集,以及
[0057]-从第一规则的全部k个子集中编译第一规则的唯一列表,第一规则的所述唯一列表单独地包括第一规则,所述第一规则包含在第一规则的所述子集的至少t个子集中,其中0〈=t〈=k。编译的所述列表的所述第一规则作为结果被返回。
[0058]如上所述,生成第二数据记录的k个子集用于提供第一和第二规则(还被称作“采样”),这是有益的,因为这可以增强方案的鲁棒性。通过一次执行针对全部可用数据记录的仅一个单一分析步骤,承担了将规则“过渡适配(overfitting)”到所述数据集的危险。采样允许通过分析多个数据记录子集来特定地选择指示目的属性值对的属性值对,以便基于不同的数据子集来多次最终特定地选择被确定为积极结果的那些属性值对。如果规则的源属性值对是目的属性值对的显著指示符,则该规则被认为是积极结果,由此显著性依赖于所使用的统计方案或者其他标准(诸如,已经从中导出任何值或者规则的同现计数)。通过应用采样已经确定的属性值对被认为针对目的属性值对而言是更为“鲁棒”并且更为可靠的指示符。根据实施方式,用于采样的数据记录子集可以是重叠的或者非重叠的。
[0059]根据上述实施方式中的某些,第二数据记录的k个不同子集和第二规则的相应子集是重叠的。针对属于/由多个子集共享的第二规则仅计算一次同现计数。这是有益的,这有助于降低针对第二规则计算同现计数的处理时间。由于选择第二规则的子集和确定同现计数的过程被合并至单一过程,该过程开发了所述列式数据结构和掩码数据结构的固有结构化特征,本发明的实施方式提供了特别高效的非假设驱动的数据挖掘方案。
[0060]现有技术的包装实现是基于针对第二数据记录的k个子集中每一个的关系数据库的单独扫描。相反,本发明的实施方式允许高度有效的、并行化的包装技术,其可以由用户经由⑶I以交互方式进行控制。
[0061]根据某些实施方式,基于k个不同第二数据记录子集的第一和第二规则的确定是并行执行的,例如,在多核数据处理系统上。不同的子集由此由不同的处理单元或者由不同的数据处理系统评估。这是有益的,因为这降低了自动确定第一规则的时间。
[0062]根据实施方式,第二数据记录的k个子集的选择同现地执行。第二规则的同现计数的计算由此针对第二规则的k个子集中的每一个并行地执行。
[0063]根据实施方式,列式数据结构和掩码数据结构被完全地加载到工作存储器之中。
[0064]根据某些实施方式,关系数据库被用于存储第一数据记录,并且所述关系数据库的插件从所述关系数据库中读取所述数据记录,将读取的所述数据组织为列式数据结构的形式,并且将包括读取的所述数据的所述列式数据结构加载至存储器之中。全部数据挖掘步骤在存储器内的列式数据结构中执行。在主存储器中的列式数据结构中的数据被周期性地从持久关系数据库系统进行刷新。根据某些实施方式,插件提供非假设驱动的、第一规则的自动确定、以及借助于OLAP立方体的假设驱动的数据分析方法的组合。所述插件可以提供基于OLAP立方体的数据仓库和GUI用于以交互方式控制第一规则的自动确定。
[0065]依赖于实施方式,关系数据库包括第一持久数据记录和插件,提供⑶I来用于与由所述数据库插件提供的所述数据分析特征进行交互。所述插件和所述关系数据库可以运行在相同的或者经由网络(例如,基于以太网)而彼此连接的多个不同计算系统。在此使用的术语插件涵盖任何类型的软件、固件、硬件或者其组合,可操作用于访问包括多个第一数据记录(例如,关系数据库)的数据库,并且执行根据上述实施方式中的任一实施方式的方法。插件例如可以实现为软件模块,其可以挂接在已经安装的关系DBMS上并且在没有上述关系数据库的情况下不能操作。根据其他实施方式,插件可以是独立维护的、以及与所述关系数据库交互操作地安装的软件程序。
[0066]在其他有益方面中,用于确定同现计数的全部任务独立于彼此地执行并且可以并行地执行。
[0067]在另一方面,本发明涉及一种用于执行根据上述方法中的任一项的步骤的计算机可读非暂态存储介质。
[0068]在另一方面,本发明涉及一种数据处理系统,该数据处理系统可操作地耦合至列式数据库,所述数据处理系统包括处理器和包括指令的非暂态存储介质,该指令在由处理器执行时,执行根据所述方法中的任一项所述的步骤。
[0069]如本领域技术人员所理解,本发明的方面可以实现为系统、方法或者计算机程序产品。由此,除非另外明确指出,本发明的方面可以采取完全硬件实施方式、完全软件实施方式(包括,固件、驻留软件、微代码等)或者在结合了软件和硬件方面的实施方式,在此可以将其全部称作“模块”或者“系统”。可以使用一个或者多个计算机可读介质的任意组合。
【专利附图】

【附图说明】
[0070]结合附图,通过阅读本发明的实施方式的更具体描述,将更好地理解本发明的上述及其他事项、特征和优势,在附图中:
[0071]图1绘出了表示为比特矢量的列条目;
[0072]图2a绘出了在关系数据库表中存储的数据记录集合;
[0073]图2b绘出了在列式数据结构中存储的图2a的数据记录;
[0074]图3绘出了掩码数据结构和交叉数据结构;
[0075]图4绘出了第二规则的集合;
[0076]图5绘出了具有所指派第三属性值对的OLAP立方体;以及
[0077]图6绘出了包括⑶I和基于OLAP数据仓库的计算机系统的框图。
【具体实施方式】
[0078]在下文中,将参考附图以及图示,借助于示例方式来描述本发明的实施方式。
[0079]图1绘出了第一列式数据结构109和第二列式数据结构110。第一列式数据结构具有所指派的列属性“温度”,第二列式数据结构具有所指派的列属性动物的“体长”,由此,温度是饲养动物的环境的温度。三个唯一的温度范围已经被定义,其被存储在第一列式数据结构的列102中。对于温度列式数据结构的三个列条目中的每一个,数据记录ID的集合被存储在记录列101中。在图1中绘出的实施方式的总体数据集包括11个第一数据记录R01-R11。每个数据记录对应于具有特定体长的动物。如果温度相关于并且可能对体长具有影响,则在图1中绘出的数据结构可以被自动确定。每个动物的个体长度被存储在第二列式数据结构的列103和104中。对应于温度范围11_25°C的列条目被表示为比特矢量105。对应于体长的列条目被表示为比特矢量106。比特矢量具有与总体数据记录中存在的第一数据记录相同的比特位置,也即,11个位置。
[0080]总体数据集被划分为第二数据记录的k个不同的子集,由此i和k是整数,并且l〈=i〈=k。每个创建的数据记录子集的内容也在包装掩码数据结构的子集(其中集合运算可以容易地在其上执行)中表示,在此情况下是比特矢量107。在用户希望自动计算针对所述数据记录子集的第二规则的情况下,以及在温度范围11_25°C被用作潜在源属性值对、并且体长16-20cm被用作潜在目的属性值对的情况下,通过求交比特矢量105-107,可以容易地并且快速地计算属于所述子集i并且其包括源属性值对以及目的属性值对两者的数据记录的数量。所得的比特矢量108指示实现全部上述标准的数据记录的类型和数量。求交列式数据结构与掩码数据结构类似地执行。
[0081]图2a绘出了存储在关系数据库表201中的六个第一数据记录213、230_234。每个第一数据记录包括对于所述记录唯一的记录ID。每个第一数据记录包括多个第一属性值对。例如,数据记录213包括属性值对:操作员=John,温度=5-10°C,湿度=20_40%,故障率=11-15%,等等。该第一数据结构的每个属性在关系数据库表中被表示为列202-212,并且所述第一数据记录210的每个属性值对被表示为单元中的数据值,该单元没有对应于第一数据记录的索引并且具有根据代表性属性列的列索引。列式数据结构不包括NULL值,由此相对于关系数据库而言节省了额外空间。
[0082]图2b绘出了存储至列式数据结构集合的图2a的六个第一数据记录。每个列式数据结构225、226、227具有特定于相应列式数据结构的所指派列属性215-224。相对于关系数据库表,已经被指派给第一数据记录的特定属性的每个数据值仅包含在对应于所述属性的列式数据结构中一次。这是有益的,因为将全部第一数据记录存储到列式数据结构中所需的存储的数量显著小于相对于在关系数据库表中存储所述数据记录所需的数量。每个列式数据结构包括一个或者多个列条目235。例如,列式数据结构216包括列条目[(1,4,6), (John) land[(2), (Alex)J0在所述列式数据结构中的数字1、4、6指示包括属性值对“操作员=John”的全部第一数据记录的记录标识符。由此,在列条目的记录列中包含的数字包括计数信息,该技术信息指示具有属性值对的数据记录的数量,根据该属性值对而使得所述属性值对的属性对应于所述列条目的列式数据结构的列属性,并且根据该属性值对而使得所述属性值对的值对应于包括在所述列条目中的值。在绘出的示例中,列条目[(1,4,6),(John)]包括计数信息,该计数信息指示三个第一数据记录包括第一属性值对“操作员=John'
[0083]图3绘出了掩码数据结构的集合301和求交数据结构的集合310。掩码数据结构的结构320-323与在图2B中绘出的列式数据结构的结构相同。每个掩码数据结构具有所指派的列属性,并且包括用于与数据值执行求交运算的数据值的集合、以及被存储至具有所指派相同列属性的列式数据结构的相应数据记录。根据在图3中绘出的示例,全部掩码数据结构包括“所允许值”的相同的甚至扩展的集合,除了用于具有所指派列属性“大洲”307的数据结构。尽管在图2中绘出的第一数据记录已经将值“欧洲”(“EU”)或者“北美”(“NAM”)指派至属性“大洲”,掩码数据结构323包括唯一的数据值“欧洲”作为“所允许值”。通过计算图2b和图3的掩码数据结构和列式数据结构之间的交集,一个或者多个交集数据结构被生成,其仅包括第一数据记录的子集,在此也称作“第二数据记录”的集合。在求交运算期间,不包括属性值对“大洲=欧洲”的全部数据记录被过滤出去。包含在交集数据结构310中的第二数据记录仅包括具有所指派的属性值对“大洲=欧洲”的那些第一数据记录。由此,6个第一数据记录中仅有4个被包含在交集数据结构中,并且交集数据结构的记录列包括唯一地指示包括所述属性值对的第二数据记录的数量的计数信息。
[0084]可以同时使用存储至不同掩码数据结构的多个不同值,以便排除不包括属性值对的特定组合的全部第一数据记录。例如,通过应用相应掩码数据结构中的具有值“欧洲”、“5°C”和“4-6”的掩码数据结构,可以创建全部包括如下的第一数据记录集合:属性值对“大洲=欧洲”,“温度< 5°C”以及“生命期望=4-6”。求交运算可以非常有效地执行,这是因为通过在列式数据结构上应用掩码数据结构,全部过滤器标准可以并发地应用至被存储至列式数据结构的第一数据记录(参见涉及多个数据结构的求交运算的图1)。另外,根据本发明的表示由列式数据库提供的信息的压缩和密集方式允许将第一数据记录的整体加载到工作存储器。
[0085]根据某些实施方式,用户可以选择特定属性值对作为将被确定的第一规则的目的属性值对。数据值“<5”314属于属性值对“故障率〈5%”。目的属性值对表示作为结果返回一个或者多个第一规则的数据分析过程的“当前目标”。例如,通过选择“故障率〈5%”的属性值对,例如通过向存储至列式数据结构的第一数据记录应用掩码数据结构,可以确定对于所述目的属性值对具有影响或者相关联的全部属性值对。因此,可以通过指定目的属性值对来确定,针对确定用于机器的故障率的预测符、或者备选地针对机器的生命期望而言,是否应当分析可用第一数据记录。这是有益的,因为针对所述所选择的目的属性值对,可以通过选择目的属性值对并确定第一和第二规则的集合,来动态地并且灵活地确定数据挖掘操作的“目标”。
[0086]根据某些实施方式,目的属性值通过对OLAP立方体的用户动作来选择和指定。
[0087]图4绘出了第二规则401-407的集合,由此每个第二规则包括所选择的目的属性值对(“故障率〈5%”)、源属性值对(例如,“操作员=John”)以及同现计数。如果特定属性值对从未与目的属性值对同现,则不创建相应的第二规则。例如,操作员Sarah从未操作故障率小于5%的机器。因而,不会创建包括“操作员=Sarah”的第二规则作为源属性值对。
[0088]图5绘出了具有所指派第三属性值对的OLAP立方体501,例如,“国家=USA”以及“国家=GE”以及OLAP立方体的第一维度、第三属性值对“湿度=20-40%”以及“湿度=〈20%”以及第二维度和第三属性值对“温度=5-10°C”以及“温度=11_25°C”以及第三维度。应用程序历程或者用户借助于GUI可以触发针对OLAP立方体的分片、切丁、旋转、向下钻取和/或向上钻取事件,由此选择具有被指派到特定当前维度或者层级的第三属性值对。所选择的第三属性值对被用于指定第二属性值对,其可以再次被用于从多个第一数据记录选择一个或者多个第二数据记录。掩码数据结构被创建为包括所述所指定的第二属性值对,并且被应用于存储至列式数据结构的第一数据记录,由此动态地选择数据记录的子集用于进一步分析。例如,OLAP立方体可以被用于针对开始于大洲水平的全部第一数据记录执行向下钻取分析,直到向下钻取到具有被指派特定国家、公司的特定分支或者特定房间的全部数据记录(以及由所述数据记录表示的机器)。
[0089]根据实施方式,每个基于OLAP立方体的向下钻取分析是假定驱动的数据分析,因为第三属性值对到OLAP立方体的预定义指派表示假设和假定,也即,执行向下钻取分析的用户可能对于目录“大洲”、“国家”或者“房间”感兴趣。
[0090]根据优选实施方式,每个基于OLAP立方体的向下钻取分析步骤与第一规则的自动确定交替。第一规则自动地从第二数据记录的当前子集获取,该第二数据记录由在先前的基于OLAP立方体的事件中指定的掩码数据结构所选择。
[0091]根据某些实施方式,用户被提供有(例如借助于图形化用户界面)可选择的GUI元素,用于选择在当前数据记录的第一规则的自动确定期间所使用的目的属性值对。例如,当用户选择被指派至OLAP立方体的特定大洲时,所述国家的多个第二数据记录被选择,其包括多个属性值对,例如针对属性湿度、故障率、操作员、温度等。用户可以发起第一规则的非假定驱动的确定的执行,这是通过评估如上所述的多个第二数据记录来进行的。如果用户对于导致机器的频繁宕机的条件感兴趣,他例如可以选择属性值对“故障率=31-35%”作为目的属性值对。根据某些实施方式,用户可以选择某些属性值对,并且由此可以展现所述属性被认为是源属性。
[0092]根据描绘的实施方式,执行如下步骤:
[0093]1.用户借助于⑶I来从OLAP立方体选择多个第一数据记录和列;
[0094]2.用户选择一个列属性作为目的属性、选择所述列式数据结构的一个值作为相应的值;
[0095]3.第一数据记录的k个随机子集被自动地创建,其共享共享数据记录的公共集合;
[0096]4.通过使用列式结构,针对源属性值对和目的属性值对的全部组合的同现计数被确定,并且目的属性值对被确定,由此包含在多个子集中的第二规则的同现计数(以及相应的源属性值对和目的属性值对)仅被计算一次;
[0097]5.针对k个子集中的每一个确定一个或者多个第二规则;以及
[0098]6.针对k个子集中的每一个选择显著的第二规则,由此依赖于相应计算的同现计数来确定显著度;
[0099]7.在子集的最小部分(minimum fraction)(例如,全部k个子集的70%)中找到的规则被用作第一规则,并且以其平均同现计数(或者置信度得分)的顺序来被呈现给用户。
[0100]步骤4-6仅涉及简单的算术过程,其可以并行地执行。
[0101]图6绘出了包括⑶1601的计算机系统600的框图,该⑶1601允许用户来针对OLAP立方体触发切片、切丁、旋转、向下钻取和/或向上钻取事件,以用于执行假定驱动的数据分析。Gn还允许用户选择目的属性值对。计算机系统包括处理器606和计算机可读存储介质607,其包括计算机可解译的指令,用于操作关系数据库605的数据库插件604。数据库插件604包括模块603,提供借助于GUI而由用户可控制的基于OLAP的数据仓库。所述GUI可以用作针对存储至关系数据库605的数据执行动态的、假定驱动的、以及非假定驱动的分析。插件从关系数据库读取数据记录,重新组织数据岛列式数据结构中,并且在存储器602中存储所述列式数据结构609。根据实施方式,在主存储器中的列式数据结构中的数据从永久关系数据库605 (用作OLAP数据仓库603的数据基础)被周期性地进行刷新。
[0102]尽管上文已经参考了本发明的特定实施方式,本领域技术人员应当理解,在不脱离本发明的原理和精神的情况下,在这些实施方式中可以做出改变,本发明的范围由所附权利要求书来限定。
【权利要求】
1.一种用于确定第一规则(401-407)的计算机实现的方法,其中每个第一规则包括源属性值对和目的属性值对,所述方法包括步骤: -提供列式数据库,所述列式数据库包括多个(214 ;609)列式数据结构(109,110 ;225,226, 227),每个列式数据结构与一个列属性(215-224)相关联并且包括一个或者多个列条目(235); -提供第一数据记录(213,230-234),所述第一数据记录被存储在所述列式数据库中,每个第一数据记录具有多个第一属性值对,其中所述第一属性值对的每个值被存储在与相应列属性(215-224)相关联的所述列式数据结构(225-227)中的一个列式数据结构中,其中每个列条目与所述相应列属性的一个值相关联并且包括计数信息,所述计数信息指示具有所述相应第一属性值对的第一数据记录的数量; -提供掩码数据结构(320-323),每个掩码数据结构具有与所述列式数据结构中的一个列式数据结构相同的结构,所述掩码数据结构包括一个或者多个第二属性值对; -通过求交所述列式数据结构和所述掩码数据结构,选择第二数据记录作为所述第一数据记录的子集,所述第二数据记录选择性地包括第一数据记录,所述第一数据记录包括与所述一个或者多个第二属性值对中的一个第二属性值对相匹配的至少一个第一属性值对; -选择所述列属性中的一个列属性以及包含在与所选择的所述列属性相关联的所述列数据结构中的一个值作为所述目的属性值对; -创建用于所述第二数据记录的每个第一属性值对的一个第二规则,其中所述第一属性值对被用作所述第二规则的源属性值对,以及其中所选择的所述目的属性值对被用作所述第二规则的目的属性值对; -针对每个第二规则计算在其相·应源属性值对和其目的属性值对之间的同现计数;以及 -依赖于计算的所述同现计数,特别地选择一个或者多个所述第二规则作为所述第一规则。
2.根据权利要求2所述的计算机实现的方法,其中特别地选择一个或者多个所述第二规则包括,从包括如下的群组中选择的步骤: -以降序顺序来根据所述第二规则的同现计数来对所述第二规则排序,以及选择第一η个所排序的规则作为η个第一规则,其中η是>0的整数; -确定具有超过第一阈值的同现计数的η个第二规则,以及选择所述η个第二规则作为第一规则,其中η是>0的整数; -针对每个第二规则计算同现统计,向所述第二规则中的每一个第二规则提供显著度得分,并且选择具有超过第二阈值的显著度得分的所述第二规则中的η个第二规则,其中η是>0的整数。
3.根据权利要求2所述的计算机实现的方法,其中所述同现统计是基于卡方测试的。
4.根据权利要求1-3中的任一项所述的计算机实现的方法,其中选择所述目的属性值对是通过执行向用户显示图形化用户界面(601)的步骤来实现的,所述图形化用户界面包括一个或者多个第一 GUI元素,用于由所述用户从所述列属性中选择一个列属性,所述图形化用户界面包括一个或者多个第二 GUI元素,用于从具有所指派的选择的所述列属性的所述列式数据结构选择一个值,其中选择的所述列属性和选择的所述值构成所述目的属性值对。
5.根据权利要求4所述的计算机实现的方法,其中所述第一GUI元素和所述第二 GUI元素是通过分析所述列式数据结构的所述结构和数据内容来自动地确定。
6.根据权利要求1-5中的任一项所述的计算机实现的方法,其中所述列式数据结构的所述列条目和所述掩码数据结构的列条目选自包括以下的群组:比特集、比特矢量(105)、排序的列表、排序的阵列。
7.根据权利要求1-6中的任一项所述的计算机实现的方法,其中所述掩码数据结构通过执行包括如下的步骤来提供: -提供OLAP立方体(501)用于执行全部第一数据记录的数据分析,所述OLAP立方体的每个维度和/或层级水平具有所指派的一个或者多个第三属性值对; -依赖于针对所述OLAP立方体执行的切片、切丁、旋转、向上钻取和/或向下钻取事件,选择所述OLAP立方体的当前维度和/或当前层级水平;以及 -自动地生成所述掩码数据结构(320-323),其中所述掩码数据结构包括作为所述第二属性值对的所述当前维度和/或所述当前层级水平的所述第三属性值对。
8.根据权利要求4-7中的任一项所述的计算机实现的方法,其中所述图形化用户界面至少包括从包括以下的群组中选择的至少一个或者多个⑶I元素: -第三⑶I元素,用于针对所述OLAP立方体触发所述切片、切丁、旋转、向下钻取或者向上钻取事件;以及· -第四GUI元素,用于选择和/或指定所述一个或者多个第三属性值对。
9.根据权利要求1-8中的任一项所述的计算机实现的方法,其中依赖于所述第一规则的同现得分来以降序顺序在所述图形化用户界面上向所述用户呈现所述第一规则。
10.根据权利要求7-8中的任一项所述的计算机实现的方法,其中依赖于所述第一规则的同现得分来以降序顺序在所述图形化用户界面上向所述用户呈现所述第一规则,并且其中一旦选择一个或者多个呈现的所述第一规则,选择的所述第一规则的所述源属性值对被指派为对于所述OLAP立方体的所述第三属性值对。
11.根据权利要求ι-?ο中的任一项所述的计算机实现的方法,其中提供的所述掩码数据结构进一步包括k个子集包装的掩码数据结构,k是大于I的整数, -其中所述第二数据记录的所述选择是通过求交所述k个子集包装的掩码数据结构中的每一个与所述列式数据结构、以及与不是子集包装的掩码数据结构的所述掩码数据结构中的任意一个来执行的,由此返回第二数据记录的k个子集; -其中所述第二规则的创建包括第二规则的k个子集的创建,其中第二规则的每个子集的所述创建通过如下实现:创建用于包含在第二数据记录的所述子集中的全部第二数据记录的所述第一属性值对的第二规则;-其中特别地选择一个或者多个所述第二规则作为第一规则的步骤进一步包括如下步骤: ?针对第二规则的所述k个子集中的每一个,依赖于计算的所述同现计数来特别地选择一个或者多个其第二规则作为第一规则;以及 ?针对第一规则的全部k个子集,编译第一规则的唯一列表,第一规则的所述唯一列表独家地包括被包含在第一规则的所述子集的至少t个子集中的第一规则,其中0〈=t〈=k。
12.根据权利要求11所述的计算机实现的方法,其中第二数据记录的k个子集的所述选择被并发地执行,以及其中所述第二规则的所述同现计数的计算针对第二规则的所述k个子集的每一个而被并行执行。
13.根据权利要求1-12中的任一项所述的计算机实现的方法,其中所述列式数据结构和所述掩码数据结构被完全地加载到工作存储器中。
14.一种用于执行根据权利要求1-13中的任一项所述的步骤的计算机可读的非暂态存储介质(607)。
15.一种可操作地耦合至列式数据库的数据处理系统(600),所述数据处理系统包括: -处理器(606); -非暂态存储介质(707),包括当由所述处理器执行时,执行根据上述权利要求1-13中的任一项的步骤的指令。
【文档编号】G06F17/30GK103548024SQ201280024809
【公开日】2014年1月29日 申请日期:2012年5月25日 优先权日:2011年5月31日
【发明者】M·伍斯特, E·黑希勒, M·奥博霍费尔, P·丹特雷桑格尔 申请人:国际商业机器公司

最新回复(0)