著录项信息
专利名称 | 发现数据规则的方法和系统 |
申请号 | CN200710186779.0 | 申请日期 | 2007-11-16 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2008-06-18 | 公开/公告号 | CN101201844 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0查看分类表>
|
申请人 | 国际商业机器公司 | 申请人地址 | 美国纽约阿芒克
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 国际商业机器公司 | 当前权利人 | 国际商业机器公司 |
发明人 | 扬妮克·赛利特;玛丽·A·罗思;布莱尼·钱德;哈拉尔德·C·史密斯 |
代理机构 | 北京市柳沈律师事务所 | 代理人 | 黄小临 |
摘要
所提供的是用于使用数据挖掘算法来发现数据规则的方法、系统和产品。处理包括多个记录的数据组以生成用于该数据组的数据规则,其中每个记录具有包括多个字段的记录格式,每个规则基于至少一个其它字段中的至少一个预测值条件而提供一个字段的预测条件。向用户界面提供所生成的数据规则,以使得用户能够编辑所生成的数据规则。将数据规则存储在规则库中,以可用于验证具有该记录格式的数据组。
1.一种发现数据规则的方法,包括:
处理包括多个记录的数据组以生成用于该数据组的数据规则,其中每个记录具有包括多个字段的记录格式,其中每个规则基于至少一个其它字段中的至少一个预测值条件而提供一个字段的预测条件;
向用户界面提供所生成的数据规则,以使得用户能够编辑所生成的数据规则;以及将数据规则存储在规则库中,以可用于验证具有所述记录格式的数据组,其中所述数据组具有多个列,其中生成数据规则包括:
生成包括节点的每个列的树分类模型,其中每个节点提供产生该列中的预测条件的预测性条件;以及
为每个树分类模型确定推断出包括满足支持度和置信度级别的预测性和预测条件的数据规则的节点。
2.如权利要求1所述的方法,还包括:
将所生成的数据规则应用于数据组,以识别不满足规则的记录;以及
向用户界面展示所识别出的记录,以供用户在编辑所生成的数据规则时进行检查。
3.如权利要求1所述的方法,还包括:
从所述用户界面接收对所生成的数据规则的用户修改;以及
生成包括对所生成的数据规则的用户修改的、用户认可的数据规则组,其中所述用户认可的数据规则组被存储在所述规则库中。
4.如权利要求1所述的方法,其中处理数据组包括:采用数据挖掘技术来生成数据规则,其中所述数据挖掘技术是包括关联规则和树分类的数据挖掘技术的集合中的一部分。
5.如权利要求1所述的方法,其中处理数据组以生成数据规则包括:
将第一数据挖掘算法应用于数据组以生成第一组数据规则;
将第二数据挖掘算法应用于数据组以生成第二组数据规则;
其中向用户界面提供所生成的数据规则包括:将第一组数据规则和第二组数据规则提供给用户界面,以供用户进行检查。
6.如权利要求5所述的方法,还包括:
识别出第一组数据规则和第二组数据规则中冗余的规则;以及
在用户界面中向用户展示表示冗余数据规则的信息,以使得用户能够修改规则以移除冗余数据规则。
7.如权利要求5所述的方法,其中所述第一数据挖掘算法使用关联规则来确定数据规则,以及其中所述第二数据挖掘算法使用树分类数据挖掘算法。
8.如权利要求5所述的方法,其中所述第一组数据规则和第二组数据规则提供不同规则语言格式的规则,该方法还包括:
将所述第一组数据规则和第二组数据规则转换为公用规则语言格式,以存储在库中。
9.如权利要求1所述的方法,其中被提供给用户界面并存储在库中的数据规则满足已定义的置信度级别,该已定义的置信度级别表示至少一个字段的至少一个预测值条件推断出一个字段的预测条件的最小可能性。
10.如权利要求9所述的方法,其中被提供给用户界面并存储在库中的数据规则满足以下中的至少一个:最小支持度级别、最小置信度级别、最小提升级别、以及最大规则长度,并且经由所述用户界面而输入。
11.如权利要求1所述的方法,其中处理数据组还包括:
离散化数值字段,以将该数值字段转换为值的范围,其中根据离散化的数值字段来生成数据规则。
12.一种发现数据规则的系统,包括:
处理包括多个记录的数据组,以生成用于所述数据组的数据规则的装置,其中每个记录具有包括多个字段的记录格式,其中每个规则基于至少一个其它字段中的至少一个预测值条件而提供一个字段的预测条件;
向所述用户界面提供所生成的数据规则,以使得用户能够编辑所生成的数据规则的装置;以及
将数据规则存储在所述规则库中,以可用于验证具有所述记录格式的数据组的装置,其中所述数据组具有多个列,其中生成数据规则的装置包括:
生成包括节点的每个列的树分类模型的装置,其中每个节点提供产生该列中的预测条件的预测性条件;以及
为每个树分类模型确定推断出包括满足支持度和置信度级别的预测性和预测条件的数据规则的节点的装置。
13.如权利要求12所述的系统,还包括:
将所生成的数据规则应用于数据组,以识别不满足规则的记录的装置;以及向用户界面展示所识别的记录,以供用户在编辑所生成的数据规则时进行检查的装置。
14.如权利要求12所述的系统,还包括:
规则编辑器用户界面,被使能为接收对所生成的数据规则的用户修改,以及生成包括对所生成的数据规则的用户修改的、用户认可的数据规则组,其中所述用户认可的数据规则组被存储在所述规则库中。
15.如权利要求12所述的系统,其中处理数据组的装置包括:采用数据挖掘技术来生成数据规则的装置,其中所述数据挖掘技术是包括关联规则和树分类的数据挖掘技术的集合的一部分。
16.如权利要求12所述的系统,其中处理数据组以生成数据规则的装置包括:
将第一数据挖掘算法应用于数据组以生成第一组数据规则的装置;
将第二数据挖掘算法应用于数据组以生成第二组数据规则的装置;
其中向用户界面提供所生成的数据规则的装置包括:将第一组数据规则和第二组数据规则提供给用户界面,以供用户进行检查的装置。
17.如权利要求16所述的系统,其还包括:
识别第一组数据规则和第二组数据规则中冗余的规则的装置;以及
在用户界面中向用户展示表示冗余数据规则的信息,以使得用户能够修改规则以移除冗余数据规则的装置。
18.如权利要求16所述的系统,其中所述第一数据挖掘算法使用关联规则来确定数据规则,以及其中所述第二数据挖掘算法使用树分类数据挖掘算法。
19.如权利要求16所述的系统,其中所述第一组数据规则和第二组数据规则提供不同规则语言格式的规则,其中所述系统还包括:
将所述第一组数据规则和第二组数据规则转换为公用规则语言格式,以存储在库中的装置。
20.如权利要求12所述的系统,其中被提供给用户界面并存储在库中的数据规则满足已定义的置信度级别,该已定义的置信度级别表示至少一个字段的至少一个预测值条件推断出一个字段的预测条件的最小可能性。
21.如权利要求20所述的系统,其中被提供给用户界面并存储在库中的数据规则满足以下中的至少一个:最小支持度级别、最小置信度级别、最小提升级别、以及最大规则长度,并且经由所述用户界面而输入。
22.如权利要求12所述的系统,其中处理数据组的装置还包括:
离散化数值字段,以将该数值字段转换为值的范围的装置,其中根据离散化的数值字段来生成数据规则。
发现数据规则的方法和系统\n技术领域\n[0001] 本发明涉及用于使用数据挖掘(mining)算法来发现数据规则的方法、系统和产品。\n背景技术\n[0002] 可通过规则评估引擎应用数据规则来确定具有偏离规则所期望的值的列或字段值的数据记录,来处理数据库中的数据记录。在现有技术中,通过视觉上首先对数据进行分析或者使用简档工具来获得完全形成的记录的模式(pattern)的理解,用户手动地对数据规则进行编码。接着,用户建立逻辑表达式,其定义一组规则,以描述该组中的记录的正常特性。然后,针对数据组重复地执行这些规则,以标记出不满足数据规则所指定的条件的记录,并报告不满足随时间的速率。\n[0003] 用户可使用规则编辑器用户界面来创建新数据规则或修改现有规则。可以用规则语言来表达规则,如BASIC或结构化查询语言(SQL)。然后,用户可以用规则语言或以公用规则格式将规则保存在规则库中。然后,用户可从规则库中选择规则和记录的数据组,以提供给规则评估引擎,从而针对所选的数据记录来执行所选规则,以验证数据,捕捉结果,并向用户显示结果。\n[0004] 开发数据规则可能需要大量的用户时间、工作和技能,以分析数据中的模式,尤其是对于具有数百列的上百万记录的大数据组。为此原因,数据用户一般不开发和部署规则,直到坏数据记录导致可识别的业务问题或挫折之后。由此,经常在经历问题之后才反应性地定义数据规则,并且可能将数据规则定制为针对上次经历的问题,而不是可能随着数据记录而在将来出现的问题。\n[0005] 本领域中存在对提供改进的用于生成和使用数据规则的技术的需求。\n发明内容\n[0006] 所提供的是使用数据挖掘算法来发现数据规则的方法、系统和产品。处理包括多个记录的数据组以生成用于该数据组的数据规则,其中每个记录具有包括多个字段的记录格式,每个规则基于至少一个其它字段中的至少一个预测值条件而提供一个字段的预测条件。向用户界面提供所生成的数据规则,以使得用户能够编辑所生成的数据规则。将数据规则存储在规则库中,以可用于验证具有该记录格式的数据组。\n[0007] 在另一实施例中,将所生成的数据规则应用于数据组,以识别不满足规则的记录,并且向用户界面展示所识别的记录,以供用户在编辑所生成的数据规则时进行检查。\n[0008] 在另一实施例中,从所述用户界面接收对所生成的数据规则的用户修改,并且生成包括对所生成的数据规则的用户修改的、用户认可的数据规则组,其中该用户认可的数据规则组被存储在规则库中。\n[0009] 在另一实施例中,处理数据组包括:采用数据挖掘技术来生成数据规则,其中所述数据挖掘技术是包括关联规则和树分类的数据挖掘技术的集合的一部分。\n[0010] 在另一实施例中,处理数据组以生成数据规则包括:将第一数据挖掘算法应用于数据组以生成第一组数据规则;将第二数据挖掘算法应用于数据组以生成第二组数据规则;以及,其中向用户界面提供所生成的数据规则包括:将第一组数据规则和第二组数据规则提供给用户界面,以供用户进行检查。\n[0011] 在另一实施例中,识别第一组数据规则和第二组数据规则中冗余的规则;以及在用户界面中向用户展示表示冗余数据规则的信息,以使得用户能够修改规则以移除冗余数据规则。\n[0012] 在另一实施例中,第一数据挖掘算法使用关联规则来确定数据规则,而第二数据挖掘算法使用树分类数据挖掘算法。\n[0013] 在另一实施例中,第一组数据规则和第二组数据规则提供不同规则语言格式的规则。将第一组数据规则和第二组数据规则转换为公用规则语言格式,以存储在库中。\n[0014] 在另一实施例中,被提供给用户界面并存储在库中的数据规则满足已定义的置信度级别,该已定义的置信度级别表示至少一个字段的至少一个预测值条件推断出一个字段的预测条件的最小可能性。\n[0015] 在另一实施例中,被提供给用户界面并存储在库中的数据规则满足以下中的至少一个:最小支持度级别、最小置信度级别、最小提升级别、以及最大规则长度,并且经由所述用户界面而输入。\n[0016] 在另一实施例中,处理数据组还包括:离散化数值字段,以将该数值字段转换为值的范围,其中根据离散化的数值字段来生成数据规则。\n[0017] 在另一实施例中,数据组具有多个列,并且生成数据规则包括:生成包括节点的每个列的树分类模型,其中每个节点提供用于产生该列中的预测条件的预测性条件;以及为每个树分类模型确定推断出包括满足支持度和置信度级别的预测性和预测条件的数据规则的节点。\n附图说明\n[0018] 图1图解了计算环境的实施例。\n[0019] 图2和图4图解了被执行来生成数据规则的操作的实施例。\n[0020] 图3图解了用来将规则应用于数据记录的操作的实施例。\n[0021] 图5图解了数据组的示例。\n[0022] 图6和图7图解了图5的数据组的预处理版本的示例。\n[0023] 图8图解了根据图5、图6和图7的数据组而生成的数据规则的示例。\n[0024] 图9图解了分类树的示例。\n[0025] 图10图解了如何使用树分类模型来发现数据规则的实施例。\n[0026] 图11图解了根据树分类算法生成的数据规则的示例。\n具体实施方式\n[0027] 图1图解了可实现实施例的计算环境。系统2包括程序组件,程序组件包括规则发现模块4、规则编辑器用户界面6、规则评估用户界面8、规则库10以及规则评估引擎12。\n规则发现模块4包括规则引擎14、规则发现用户界面16以及偏离检测用户界面18,规则引擎14包括数据挖掘引擎15和转换器20。程序组件可包括被加载到系统2中的存储器中且被系统2的处理器执行的软件组件。该系统还被耦连到数据源22,数据源22包括数据库表和记录,其中记录可具有一个或多个字段。可以用计算机可读介质来实现数据源22,如存储装置。\n[0028] 数据挖掘引擎15可包括本领域中已知和可获得的数据挖掘引擎。规则引擎14可包括一个或多个数据挖掘引擎15,它们实现分析数据以产生数据挖掘模型的一个或多个数据挖掘功能/算法,数据挖掘模型可以是已知的格式,如预测模型置标语言(PMML)。转换器\n20分析来自数据挖掘引擎15的数据挖掘模型(默认为不适合解决数据验证问题),提取数据验证规则,并以可由规则评估引擎12重新使用的公用格式来写入数据规则。\n[0029] 调用规则发现模块4来自动生成验证数据源22中的表中的数据记录的值的数据规则,例如,IF(如果)[bank account(银行账号)=joint(联合)],THEN(则)[marital status(婚姻状况)=married(已婚)]。数据规则指示用于在一个已预测字段的已定义置信度和支持度级别预测条件下推断出的一个或多个预测字段的一个或多个条件。已预测字段的已预测条件可为已预测字段的指定值、值的范围、或特定值,例如,age(年龄)<18,salary(薪金)>=40000,职业在{a,b,c}中,或者数据挖掘领域中已知的其它条件类型。\n条件可包括除字段之外的条件,如树模型的根节点,如对于条件“IF[TRUE]THEN...”,意味着根节点始终为真。然后,可将这些规则应用于数据组,以确定偏离规则并由此可能错误的字段值。\n[0030] 规则引擎14将实现数据挖掘算法的一个或多个数据挖掘引擎15应用于记录的数据组,以确定该数据的数据规则。数据挖掘算法确定基于其它字段中的一个或多个预测值(predictor)条件来指定字段的预测条件的规则。转换器20可进一步将使用例如预测模型置标语言(PMML)的算法的模型语言的数据规则转换为公用规则模型语言,如数据验证语言。即使规则曾根据不同的规则算法以不同格式生成,规则库10也可存储公用规则格式的规则。\n[0031] 规则发现用户界面16向用户提供用户界面,其允许用户为规则引擎14指定参数,如用于所生成的规则的最小置信度级别、最小支持度级别、最小提升(lift)、以及最大规则长度,并指定一个或多个数据挖掘算法以供规则引擎14使用。置信度级别表示来自预测字段的一个或多个预测值条件推断出预测字段的预测条件的最小可能性,即,由规则引擎10分析的、一个或多个字段预测另一字段中的条件的记录的确定度。支持度级别表示所分析的记录中必须满足所确定数据规则的记录的最小数目或百分比。最小提升值可以是形式:\n提升(A->C)=置信度(A->C)/支持度(C),其提供了规则的重要性(interest)的测度。大于1.0的提升值表示包含A的事务处理往往比不包含A的事务处理更经常地包含C。\n[0032] 偏离检测用户界面18向用户展示所分析的被用于产生数据规则的数据组中偏离(即,不满足)规则的那些记录。这允许用户检查和考虑数据规则正确地识别出错误数据或不正确地将正确记录识别为偏离的程度。\n[0033] 由此,规则发现模块4自动确定数据组的数据规则,该数据组具有测量数据组有多么强地支持规则的置信度度量。\n[0034] 规则引擎14将所生成的数据规则提供给规则库10。规则编辑器用户界面6允许用户编辑、修改和删除所生成的数据规则。例如,用户可在偏离检测用户界面18中查看偏离所生成的数据规则的数据记录,然后在规则编辑器用户界面6中基于偏离记录的分析和所生成数据规则的逻辑,编辑所生成的规则。\n[0035] 用户可使用规则评估用户界面8来从规则库中选择规则或规则组,以针对具有采用了所选择规则的记录的数据源22中的数据组而进行执行。将所选择的规则从规则库10加载到规则评估引擎12,其针对从数据源所选择的表和记录来执行规则,捕捉经由规则评估用户界面8向用户显示的结果和分析。在规则评估引擎12识别偏离记录时,评估引擎12可向数据施加自动校正,或向用户展示偏离记录以进行检查和编辑。\n[0036] 可以用图形用户界面或通过用户输入文本命令以控制规则引擎14、规则库10和规则评估引擎12的命令行界面来实现用户界面6、8和18。\n[0037] 数据挖掘引擎15可利用数据挖掘关联规则算法来从记录的数据组生成数据规则。这样的算法的例子是APRIORI算法或在美国专利No.5615341中描述的算法。这些算法可产生如在PMML标准下定义的关联规则模型。关联规则模型包含表达一起在同一事务处理中出现的项目之间的关联的规则。例如,关联算法可接收两列作为输入,一列用于事务处理标识符(ID),一列用于项目。然后,关联算法搜索项目之间的所有关系,不对所分析的项目的内容进行假设,仅将它们当作串。在特定实施例中,关联算法还可检测表的列的条件(例如,值)之间的关系。然后,数据挖掘引擎15可假设表中的每一行是事务处理,并对每列生成一个项目“COL=val”,其然后被传递给关联算法。由数据挖掘关联规则算法生成的数据规则可服从以下形式:如果一个或多个字段具有特定预测值条件,则预测字段具有预测条件或结果。使用数据挖掘关联规则算法的数据挖掘引擎15可生成满足指定置信度、支持度级别和提升的所有数据规则。\n[0038] 数据挖掘引擎15之一可使用数据挖掘树分类算法来从数据组生成数据规则。树分类算法可对一个目标列构建模型,该模型包含用来从其它列的条件预测此目标列的条件的判定树。关联规则模型可捕捉预测不同列的条件的规则,而树分类模型仅仅可预测单一列的条件。在这样的实施例中,数据挖掘引擎15可对数据中的每个列计算一个树分类模型,以检测验证所有列的规则。树中的每个节点表示一个分类,包含关于每个可能条件/值的置信度的信息。具有最高置信度的条件可被看作预测条件。最终选择的规则可包括由具有满足算法的置信度和支持度级别要求的该置信度以及支持度值的节点所生成的规则。\n[0039] 规则引擎14可包括一个或多个数据挖掘引擎15,其中每个数据挖掘引擎15可实现一个或多个数据挖掘算法,例如,用来生成数据规则的关联和/或树分类数据挖掘算法。\n数据挖掘引擎15可实现本领域中已知的数据挖掘算法,以提供用于利用来自一个或多个预测列的条件而推断出预测列的条件的数据规则。\n[0040] 在特定实施例中,规则发现模块4和规则编辑器用户界面6可以是分离的系统,而不同于包括规则评估引擎12和规则评估用户界面8以使用所生成的规则的系统。另外,可在一个系统上、或在分布式计算环境中实现系统2中所示的规则发现模块4或其它组件的任何组件。\n[0041] 图2图解了由系统2的组件执行来从数据源22中的记录的数据组生成数据规则的操作的实施例。一旦初始化了(在块100)规则生成操作,规则引擎14接收(在块102和104)具有记录(根据其生成规则)的数据组以及用户输入的或默认的最小置信度级别、最小支持度级别、最小提升和最大规则长度设置,以进行规则生成。规则引擎14可以从规则发现用户界面16接收数据组和置信度级别、支持度级别、以及最小提升。然后在数据挖掘引擎15提取数据验证规则之前,规则引擎14可预处理(在块106)数据。预处理数据可包括离散化,其将数值列中的值转换为用于处理的值的范围。预处理还可包括:如果所使用的数据挖掘引擎15需要行列互换(pivoted)数据,则行列互换所接收的数据组中的数据记录。例如,如果数据挖掘引擎15包括关联规则模型,则预处理操作可包括行列互换两列格式(事务处理ID,项目)的表,其中每个项目是“COL=value”,并且其中数值被离散化。\n如果数据挖掘引擎15使用树分类算法,则在对每个数值目标列计算树分类模型之前,对其进行离散化。所有其它数值列可保持不变。\n[0042] 然后,数据挖掘引擎15采用(在块108)数据挖掘算法来生成数据规则,其中每个规则基于至少一个其它预测值字段中的一个或多个预测值条件来为一个预测字段提供预测条件。规则可以是PMML模型格式的。数据挖掘引擎15还可确定(在块110)满足指定置信度和支持度级别条件的合格规则。数据挖掘引擎15还可采用(在块112)合格规则来从数据组或被处理来生成数据规则的兼容数据组中识别出不满足规则(即,偏离所生成的规则)的记录。然后,偏离检测用户界面18可向用户展示(在块114)所确定的偏离记录,以供检查。这允许用户分析规则是否适当地识别出偏离记录,并确定可能需要的规则。\n[0043] 然后,转换器20可将所生成的合格规则格式化(在块116)为公用规则格式,并将格式化的规则存储在规则库10中。例如,转换器20可读取使用诸如PMML的规则模型格式、通过挖掘而获得的规则,提取它们之中包含的信息,并将信息转换为用于定义数据验证规则(即,公用规则格式)的模型或语言。规则编辑器用户界面6使得(在块118)用户能够检查、编辑、删除和修改规则库10中的规则。用户还可使用规则编辑器用户界面6来将用户编辑过的数据规则组存储(在块120)在规则库10中。\n[0044] 图3图解了由系统2组件执行来将规则应用于来自数据源22的数据组的操作的实施例。一旦初始化(在块150)评估操作,经由规则评估用户界面8,规则评估引擎12接收(在块152)来自数据源22的数据记录的选择以及要应用的规则。可替换地,规则评估引擎12可确定和使用规则库10中应用于所选择的数据记录的那些规则。然后,规则评估引擎12将所选择或所确定的、规则库10中的规则应用(在块154)于所选择的数据记录,以验证所选择的数据,并确定和经由规则评估用户界面8向用户展示不满足规则条件的记录。然后,规则评估引擎12可将校正操作应用(在块156)于不满足规则条件的记录。可由用户经由规则评估用户界面8输入校正。可替换地,规则评估引擎12可自动地确定和将校正应用于数据记录。\n[0045] 图4图解了使用多个数据挖掘算法来生成数据规则的其它实施例。一旦初始化了规则生成操作(在块200),可执行块102到块106(图2)的预处理操作,以准备数据记录,并接收用于第一数据挖掘算法的置信度和支持度级别。规则引擎14采用(在块204)第一数据挖掘引擎15来生成第一组数据规则,其中每个规则基于至少一个其它字段中的预测值条件来提供一个字段的预测条件。第一数据挖掘引擎15根据满足第一数据引擎15算法的置信度和支持度级别条件的第一数据组而生成(在块206)合格规则。\n[0046] 例如,如果数据挖掘引擎15实现关联规则算法,则数据挖掘引擎15可建立关联模型,其具有满足所接收的支持度和置信度级别的过滤条件,然后解析规则模型,并对模型中的每个关联规则构建数据规则。如果数据挖掘引擎15实现树分类算法,则引擎15可对每个预测列建立树分类模型。树分类模型表示用来预测目标列的值的判定树。通往每个节点的路径提供产生预测列中的预测条件(或值)的一个或多个预测值列的表述(predicate)或条件。表述可包括涉及字段的条件、混合表述、简单表述、集合表述、TRUE(真)或FALSE(假)等。对于分类模型中的节点,数据挖掘引擎15可确定其表述(predication)推断出满足指定置信度和支持度级别的列条件、然后根据通往满足该置信度和支持度级别的节点的判定路径而建立数据规则的那些节点。由此,数据规则具有形式:IF<通往节点的判定路径>,其指定其它列的条件,THEN<预测列的预测条件>。针对列(对其生成每个树分类模型)的每个节点,执行这些节点过滤和数据规则操作。\n[0047] 在采用了第一数据引擎15之后,规则引擎14可执行(在块208)块102到块106的预处理操作,以准备数据记录并接收用于第二数据引擎15的置信度和支持度级别。在块\n202和块208执行的预处理操作的不同之处在于取决于所用数据挖掘引擎15的要求。例如,关联规则算法可要求将数值转换为值的范围,即,离散化。如果目标列是数值的,并且所有其它数值的列保持不变,则树分类算法可要求目标列的离散化。关联规则算法也可要求行列互换数据记录。规则引擎14采用第二数据挖掘引擎15来生成(在块210)第二组数据规则,其中每个规则基于至少一个其它字段中的预测值条件来提供一个字段的预测条件。第二组规则可满足指定的最小支持度、置信度、提升和最大规则长度。然后,规则引擎\n14将来自合格的第一和第二数据规则组的合格规则合并(在块214)为组合数据规则组。\n在其它实施例中,规则引擎14可使用超过两个的数据挖掘算法来生成数据规则。\n[0048] 规则引擎14可自动地、或响应于用户选择而确定(在块216)该组合数据规则组中由不同算法生成的冗余规则和非典型记录。例如,偏离检测用户界面18可显示关于非典型记录的信息,以允许用户将这些非典型记录当作恳求可以手动输入新规则的提示。规则编辑器用户界面16可通过规则引擎14自动地、或响应于经由用户界面16的用户选择,从组合数据规则组中移除(在块218)冗余规则。\n[0049] 以下是可如何采用数据挖掘规则的一些示例。图5提供了根据其生成数据规则的数据组(包含银行的客户的人口统计学数据)的示例。由ID唯一地标识每个客户,并且对于每个客户,银行追踪客户的婚姻状况,性别,职业,年龄,成为银行顾客的年数,该顾客是否具有储蓄帐户、是否使用在线访问、是否具有联合帐户、是否具有银行卡,以及最终地,他的帐户的平均余额。\n[0050] 图6图解了从用来为关联数据挖掘算法离散化绝对(categorical)区间中的数值的预处理操作的第一步骤得出的数据组的示例。在此例中,ID字段提供事务处理ID所需的唯一ID,并可将数组中的每行分组到其ID由行ID给出的事务处理中。如果数据挖掘引擎需要这样的格式,下一步骤是行列互换数据组。\n[0051] 图7示出了作为关联数据挖掘算法的预处理的一部分的、按照此行列互换形式的数据组。通过与原始数据组中的列数一样多的行,来以行列互换形式表示原始数据组中的行。\n[0052] 接着,在块106处的预处理操作得到图7所示的数据之后,数据挖掘引擎15可执行块108的操作,以计算符合用户输入的长度、支持度和置信度参数的数据组的关联模型。\n[0053] 图8图解了使用以下值而在块108生成的关联性规则的示例:最大长度=2,最小支持度=2%,以及最小置信度=90%。由数据挖掘引擎15基于数据中的模式来生成图8所示的这些规则。并不是所有生成的规则都可与数据质量目的有关,而是,这样的规则给用户提供了定义数据质量规则的起点。例如,数据规则07表示一般原则,即,如果帐户持有者是孩子,则不应指定职业。另一方面,数据规则02和03提出:对于$0的帐户余额,该帐户不是联合持有的,且不使用在线访问。这样的关系对于数据质量可能没那么有关。另外,支持度和置信度值提供用户可用来测量数据规则对于数据组的强度的新度量,并作为用来确定规则是否有价值的标准。例如,在MARITAL_STATUS是‘child(孩子)’、PROFESSION是‘inactive(停用)’的情况的99%中,表示数据记录(其不为真)很可能是应当更严密地检查的偏离记录。\n[0054] 可将规则存储在库10中,并经由用户界面6、8显示给用户。\n[0055] 图9图解了由数据挖掘引擎15使用树分类算法产生的树分类模型的示例。图9中的模型寻求预测列marital_status(婚姻状况)的值。树中的每个节点表示给定分支上所示的判定树时的潜在值。例如,节点1.1表示:如果joined_accounts(联合帐户)具有值“yes(是)”,且具有91.1%的置信度和51%的支持度,则marital_status最有可能的值是“yes”。节点1.2.2.2.2表示:如果joined_accounts具有值“no(否)”,年龄是大于或等于65.5,且具有51.6%的置信度和10%的支持度,则marital_status最有可能的值是“widowed”(丧偶)。为简短起见,省略其它节点的置信度和支持度值。\n[0056] 图10图解了规则引擎14如何使用数据挖掘引擎15的树分类算法来发现和生成数据规则。数据挖掘引擎15计算数据挖掘模型,数据引擎14通过分析与模型的每个节点相关联的判定路径来从数据挖掘模型生成数据规则。树节点的判定路径与关联规则模型中的作用相同,并且其可被映射到数据规则的部分。列的预测条件(例如,值)对应于关联规则中的,因而,其可被映射到数据规则的部分。用户选择要用于发现和生成数据规则的数据组。通过关联规则方法,他还可为置信度、支持度和长度指定值。规则引擎14可对包含非唯一值的每个列执行(在块802)块804到块818的操作。列将形成从句中的的基础。在块802到块806,数据挖掘引擎15对每个所计算的模型离散化目标列(如果它是数值的话)。在每个模型计算期间,一次只存在一个离散化的列。\n当计算下一模型时,不离散化第一模型的目标列。数值的目标列的离散化将数值列转换为绝对区间,例如,由区间20<=age<=30来代替age=25。数据挖掘引擎15建立(在块\n808)列的树分类模型,如图9所示的模型。然后,数据挖掘引擎15为分类模型中的每个节点执行(在块810)块812到块818的操作。如果(在块812)节点的置信度和大小大于或等于指定的最小置信度/支持度,则数据挖掘引擎15根据通往形式为ifthen的节点的判定路径而建立数据规则。如果(在块816)模型具有另一节点,则控制返回到810。如果模型不具有另一节点,并且如果(在块818)输入的数据组包括具有非唯一值的另一列,则控制返回到块802,以对下一列生成树分类模型。在生成所有的规则和模型之后,数据挖掘引擎15可以以本地(native)数据规则格式来向用户展示所发现的数据规则,其可在规则编辑器用户界面6中显示。\n[0057] 图11提供了数据挖掘引擎15使用图9的树分类中所示的样本数据来为MARITAL_STATUS列生成的数据规则的示例。图11示出了通过支持度=2%和置信度=90%而生成的数据规则。该表代表了判定路径。表中的每一行代表具有置信度>90%和支持度(节点大小)>2%的节点,包括通过游历(walk)判定路径以找到节点和节点的置信度及分数(score)而生成的IF条件。从树分类模型计算数据规则可需要比关联规则方法更多的计算,因为对于树分类的每个列必须计算一个模型,而不是关联规则方法中对整个表计算一个单个模型。然而,树分类方法可增加所生成的规则的质量和精度。例如,树分类算法可产生规则:如果(年龄<18),则(marital_status=‘child’),而关联规则可产生分离的规则:如果(年龄在0和10之间),则(marital_status=‘child’),以及如果(年龄在10和20之间),则(marital_status=‘child’)。\n[0058] 通过所述实施例,规则发现程序可自动地基于数据记录组而生成数据规则,其可被用于评估数据记录,以确定偏离规则的记录。可提供用户输入,以确定数据挖掘算法以及要用于生成数据规则的置信度和支持度级别。另外,用户可通过分析规则以及通过分析不满足数据规则条件的偏离记录,来修改或删除所生成的数据规则。然后,可将这些自动生成的规则用于评估后续选择的数据记录组。\n[0059] 其它实施例细节\n[0060] 可使用用于产生软件、固件、硬件、或它们的任何组合的标准编程和/或工程技术来将所述操作实现为方法、设备或产品。可将所述操作实现为在“计算机可读介质”中维护的代码,其中处理器可从该计算机可读介质读取和执行该代码。计算机可读介质可包括诸如以下的介质:磁存储介质(例如,硬盘驱动器、软盘、磁带等)、光学存储装置(CD-ROM、DVD、光盘等)、易失性和非易失性存储器件(例如,EEPROM、ROM、PROM、RAM、DRAM、SRAM、闪速存储器、固件、可编程逻辑等)等。还可以用硬件逻辑(例如,集成电路芯片、可编程门阵列(PGA)、特定应用集成电路(ASIC)等)来实现所述实现上述操作的代码。另外,可以用“传输信号”来实现所述实现上述操作的代码,其中传输信号可传播通过空间或通过传输介质,如光纤、铜线等。其中编码了代码或逻辑的传输信号还可包括无线信号、卫星传输、无线电波、红外信号、蓝牙等。其中编码了代码或逻辑的传输信号能够被发射站发射并被接收站接收,其中,传输信号中编码的代码或逻辑可被解码和存储在接收站和发射站或装置处的硬件或计算机可读介质中。“产品”包括其中可实现代码的计算机可读介质、硬件逻辑和/或传输信号。其中编码了实现上述操作的实施例的代码的装置可包括计算机可读介质或硬件逻辑。当然,本领域技术人员将认识到,可对此配置进行许多修改,而不会脱离本发明的范围,并且产品可包括本领域已知的合适的信息承载介质。\n[0061] 除非另外明确规定,短语“一实施例”、“实施例”、“多个实施例”、“所述实施例”、“所述多个实施例”、“一个或多个实施例”、“一些实施例”、以及“一个实施例”意指“本发明的一个或多个(但不是全部)实施例”。\n[0062] 除非另外明确规定,短语“包括”、“包含”、“具有”及其变型意指“包括但不限于”。\n[0063] 除非另外明确规定,项目的枚举列表并不暗示任何或全部项目是相互排斥的。\n[0064] 除非另外明确规定,短语“一”、“一个”和“该”意味着“一个或多个”。\n[0065] 除非另外明确规定,相互通信的装置不需要持续地相互通信。此外,相互通信的装置可直接通信或通过一个或多个中间体而间接通信。\n[0066] 具有相互通信的几个组件的实施例的描述不暗示需要所有这样的组件。相反,描述了多种可选组件来例示本发明的宽泛的多种可能的实施例。\n[0067] 另外,尽管按连续顺序描述了过程步骤、方法步骤、算法等,但这样的过程、方法和算法可被配置为以交替顺序工作。换言之,可能描述的任何次序或顺序不一定表示步骤要以该顺序来执行。实践中可以按任何顺序来执行在此描述的过程的步骤。另外,可同时执行一些步骤。\n[0068] 当在此描述单个装置或产品时,将很清楚,可使用超过一个的装置/产品(它们协作或不协作)代替单个装置/产品。类似地,当在此描述超过一个的装置/产品(它们协作或不协作)时,很清楚可使用单个装置/产品来代替超过一个的装置或产品,或可使用不同数目的装置/产品来代替所示数目的装置或程序。装置的功能性和/或特征可通过未明确描述为具有这样的功能性/特征的一个或多个其它装置来替换实现。由此,本发明的其它实施例不需要包括装置本身。\n[0069] 图2、图3和图4的所示操作示出了按某一顺序出现的某些事件。在替代实施例中,可以按不同的顺序来执行、修改或移除某些操作。此外,可向上述逻辑添加步骤,并且仍然符合上述实施例。另外,在此描述的操作可顺序地发生,或可并行地处理某些操作。另外,可通过单个处理单元或通过分布式处理单元来执行操作。\n[0070] 已为了例示和说明的目的给出了本发明的各种实施例的前述描述。不希望是排他性的或将本发明限制于所公开的精确形式。根据上述教导,许多修改和变型是可能的。希望本发明的范围不受此详细说明的限制,而是由所附权利要求限定。上述说明、示例和数据提供了本发明的组成部分的制造和使用的完整描述。因为可给出本发明的许多实施例而不会脱离本发明的精神和范围,所以本发明在于此后所附的权利要求。
法律信息
- 2012-05-23
- 2008-08-13
- 2008-06-18
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| | 暂无 |
2005-04-19
| | |
2
| |
2003-08-13
|
2003-02-24
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |