一种基于多轮采样的数据筛查规则验证方法及其装置与流程

文档序号:31474555发布日期:2022-09-10 00:07阅读:57来源:国知局
一种基于多轮采样的数据筛查规则验证方法及其装置与流程

1.本技术涉及数据处理领域,特别是一种基于多轮采样的数据筛查规则验证方法及其装置。


背景技术:

2.在关系数据中进行规则发现是一个费时费力的过程。在大数据的今天,数据规模更是以倍速在不断增长,这为规则挖掘带来了前所未有的挑战。使用现有的算法进行规则挖掘,可能会花费用户几天甚至几个星期的时间,这样的耗时远远达不到许多场景的使用要求。
3.现有的采样技术通常是在单表上的均匀采样(uniform sampling)。采样之后,再在采样数据上进行单机的规则挖掘。
4.均匀采样技术主要由以下几个缺点:(1)均匀采样主要在单表规则上进行,均匀采样的效果大大降低;(2)现有的均匀采样基本上是单轮采样,然而单轮采样可能造成规则的大量损失,因此规则的召回率很低;(3)均匀采样不区分数据是否有用,所有数据一视同仁,这样的方法是不科学的,一些能用于规则发现的有用数据应该以更高优先级被采样;(4)现有的均匀采样基本上是启发式的方法,不能保证采样的准确性;而现有的规则挖掘算法主要是单机算法;即使使用更多的计算资源,也不一定能保证提升规则挖掘的运算效率。


技术实现要素:

5.鉴于所述问题,提出了本技术以便提供克服所述问题或者至少部分地解决所述问题的一种基于多轮采样的数据筛查规则验证方法及其装置,包括:
6.一种基于多轮采样的数据筛查规则验证方法,用于对大数据库内的目标数据进行数据筛查确定数据筛查规则,所述方法包括:
7.获取所述目标数据,并依据所述目标数据确定对应的数据关系表格,其中,所述数据关系表格中的每一行生成一元组,且至少包括一个元组;
8.依据所述元组构建关系图g,其中,所述关系图g包括顶点集合v和边集合e;
9.对所述顶点集合v中的顶点进行k次采样生成k个采样数据;
10.对k个所述采样数据进行逐层搜索构建整体同步并行计算模型,其中,所述整体同步并行计算模型包括一调度结点和若干个工作结点;
11.依据所述调度结点和若干个所述工作结点对k个所述采样数据进行数据筛查生成目标数据筛查规则。
12.进一步地,所述依据所述元组构建关系图g,其中,所述关系图g包括顶点集合v和边集合e的步骤,包括:
13.依据所述元组生成若干个顶点;
14.若干个所述顶点之间相连生成若干条边;
15.依据若干个所述顶点构建和若干条所述边构建边集合e;其中,当所述边集合e中
的一条边e分别连接所述顶点集合v中的一顶点t和另一顶点s时,对应于所述顶点t和所述顶点s构建的元组对至少满足一等式谓词;
16.依据所述顶点集合v和所述边集合e构建所述关系图g。
17.进一步地,所述对所述顶点集合v中的顶点进行k次采样生成k个采样数据的步骤,包括:
18.对所述顶点集合v中的顶点进行k次随机游走采样生成k个采样数据;或,
19.对所述顶点集合v中的顶点进行k次广度优先采样生成k个采样数据。
20.进一步地,所述对所述顶点集合v中的顶点进行k次随机游走采样生成k个采样数据的步骤,包括:
21.在所述顶点集合v内通过均匀采样获取一初始顶点;
22.依据所述随机游走采样对所述初始顶点进行迭代采样生成若干个采样元组,其中,所述随机游走采样中的每一步以预设概率∈停止或移动至当前顶点的相邻顶点,所述迭代采样的迭代过程小于或等于预设样本量;
23.依据若干个所述采样元组生成所述k个采样数据。
24.进一步地,所述对所述顶点集合v中的顶点进行k次广度优先采样生成k个采样数据的步骤,包括:
25.在所述所述顶点集合v内通过均匀采样获取一初始元组对,所述初始元组对包括顶点z和顶点y;
26.依据所述广度优先采样对所述初始元组对进行迭代采样生成若干个相邻顶点,其中,所述相邻顶点的目标距离小于或等于所述顶点z至所述顶点y之间的预设距离;
27.依据若干个所述相邻顶点生成所述k个采样数据。
28.进一步地,所述依据所述调度结点和若干个所述工作结点对k个所述采样数据进行数据筛查生成目标数据筛查规则的步骤,包括:
29.所述调度结点将k个所述采样数据对应生成若干个任务,其中,若干个所述任务中的每一个任务为三元组,所述三元组内包括被选择谓词集合、待选谓词集合和有效谓词;
30.依据所述调度结点将若干个所述任务平均分配至所述工作结点,其中,所述工作结点至少包括一个;当所述工作结点内存在大于预设任务量的所述任务时,将所述工作结点中的一半任务量分配至其他工作结点;或,当所述工作结点内仅存在所述预设任务量为1的所述任务时,则对所述任务对应的数据进行拆分;
31.依据所述工作结点、所述调度结点和k个所述采样数据生成所述目标数据筛查规则。
32.进一步地,所述依据所述工作结点、所述调度结点和k个所述采样数据生成所述目标数据筛查规则的步骤,包括:
33.获取k个所述采样数据,并确定k个所述采样数据内的所述待选谓词集合中的所有待选谓词;
34.所述工作结点将所述待选谓词迭代加入至所述被选择谓词集合;
35.当所述待选谓词集合为空集时,所述工作结点停止迭代,则确定所述待选谓词集合为空集为第一数据筛查规则;或,
36.当所述待选谓词集合中至少一待选谓词与所述被选择谓词集合相关时,所述工作
结点停止迭代,则确定所述待选谓词集合中至少一待选谓词与所述被选择谓词集合相关为所述第二数据筛查规则;
37.将所述第一数据筛查规则和所述第二数据筛查规则汇总至所述调度结点,所述调度结点依据所述第一数据筛查规则和所述第二数据筛查规则生成所述目标数据筛查规则。
38.本技术还公开了一种基于多轮采样的数据筛查规则验证装置,用于对大数据库内的目标数据进行数据筛查确定数据筛查规则,所述装置包括:
39.获取模块,用于获取所述目标数据,并依据所述目标数据确定对应的数据关系表格,其中,所述数据关系表格中的每一行生成一元组,且至少包括一个元组;
40.第一构建模块,用于依据所述元组构建关系图g,其中,所述关系图g包括顶点集合v和边集合e;
41.第一生成模块,用于对所述顶点集合v中的顶点进行k次采样生成k个采样数据;
42.第二构建模块,用于对k个所述采样数据进行逐层搜索构建整体同步并行计算模型,其中,所述整体同步并行计算模型包括一调度结点和若干个工作结点;
43.第二生成模块,用于依据所述调度结点和若干个所述工作结点对k个所述采样数据进行数据筛查生成目标数据筛查规则。
44.本技术还公开了一种设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的一种基于多轮采样的数据筛查规则验证方法的步骤。
45.本技术还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的一种基于多轮采样的数据筛查规则验证方法的步骤。
46.本技术具有以下优点:
47.在本技术的实施例中,通过获取所述目标数据,并依据所述目标数据确定对应的数据关系表格,其中,所述数据关系表格中的每一行生成一元组,且至少包括一个元组;依据所述元组构建关系图g,其中,所述关系图g包括顶点集合v和边集合e;对所述顶点集合v中的顶点进行k次采样生成k个采样数据;对k个所述采样数据进行逐层搜索构建整体同步并行计算模型,其中,所述整体同步并行计算模型包括一调度结点和若干个工作结点;依据所述调度结点和若干个所述工作结点对k个所述采样数据进行数据筛查生成目标数据筛查规则。通过提出的采样方法能在ree这样的支持多个元组变量的跨表规则上进行;采样方法是多轮采样,能够使得数据筛查规则召回率提高;在构建关系图g的过程中,在边构建中考虑了谓词的影响,从而使得能用于规则发现的有用数据会以更高优先级被采样;保证采样的准确性;从而使用更多的计算资源,提升规则挖掘的运算效率。
附图说明
48.为了更清楚地说明本技术的技术方案,下面将对本技术的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
49.图1是本技术一实施例提供的一种基于多轮采样的数据筛查规则验证方法的步骤
流程图;
50.图2是本技术一实施例提供的一种基于多轮采样的数据筛查规则验证方法的步骤流程图;
51.图3是本技术一实施例提供的一种基于多轮采样的数据筛查规则验证方法的步骤流程图;
52.图4是本技术一实施例提供的一种基于多轮采样的数据筛查规则验证方法的步骤流程图;
53.图5是本技术一实施例提供的一种基于多轮采样的数据筛查规则验证方法的步骤流程图;
54.图6是本技术一实施例提供的一种基于多轮采样的数据筛查规则验证方法的步骤流程图;
55.图7是本技术一实施例提供的一种基于多轮采样的数据筛查规则验证方法的步骤流程图;
56.图8是本技术一实施例提供的一种基于多轮采样的数据筛查规则验证装置的结构框图;
57.图9是本发明一实施例提供的一种计算机设备的结构示意图。
具体实施方式
58.为使本技术的所述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本技术作进一步详细的说明。显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
59.需要说明的是,本发明利用的规则是实体增强规则(entity enhancing rules,下述简称ree)。ree的基本组成部分是谓词p,定义如下:
60.p:=r(t)|t.a

c|t.a

s.b|m(t.a,s.b)
61.其中,

是一个操作符,可以是等于或不等于;r(t)表示t是关系表r中的一个元组变量;t.a表示变量t的a属性;m是一个机器学习模型,如果t.a和s.b是相关的,那么机器学习模型将返回true(正确),否则返回false(错误)。t.a

c带有常数,被称为常数谓词;t.a

s.b不带有常数,被称为变量谓词;m(t.a,s.b)被称为机器学习谓词。
62.基于谓词,ree的定义为:x-》e。其中,(1)x是多个谓词的结合,被称为这个ree的条件;(2)e是一个谓词,被称为这个ree的结果。
63.一个具体的ree实例如下:
64.快递(t)∧快递(s)∧t.收件人=s.收件人∧t.地址=“广东省深圳市
”‑
》s.邮编=“510000”65.这个ree描述的场景是,如果快递t和快递s的收件人为同一人,且快递t的地址在“广东省深圳市”,那么快递s的邮编一定是“510000”。
66.现有的规则挖掘算法通过深度优先或者广度优先的单机方式在数据中发现ree,他们的本质是一个枚举在全数据d上所有谓词排列组合的过程。对于所有可能的谓词,任意的抽取一个或者多个出来都可能和ree结果e组成有效的规则。因此,为了进行规则挖掘,已
有方法需要把谓词的所有排列组合都试一遍。当数据规模庞大的时候,这样暴力尝试的单机算法的效率毫无疑问是很低的。
67.本发明的目标是提出一个基于全新采样方法的并行规则发现技术;在保证采样准确性的前提下,支持ree这样的跨表规则在大数据中进行并行发现,解决在规模庞大的数据中进行规则挖掘的效率问题。
68.通过在全数据d上进行规则发现,由于数据量过于庞大,规则发现的过程会花费很多的时间;因此,已有方法提出,可以从全数据d上采样出来一个小型数据集ds;ds的大小可能只有d的十分之一甚至百分之一;与其在全数据d上进行规则发现,通过在采样数据ds上进行规则发现,虽然在采样数据上进行规则发现可能会损失一部分的规则,但是能使规则发现的效率大大提升。
69.参照图1,示出了本技术一实施例提供的一种基于多轮采样的数据筛查规则验证方法的步骤流程图;
70.一种基于多轮采样的数据筛查规则验证方法,用于对大数据库内的目标数据进行数据筛查确定数据筛查规则,所述方法包括:
71.s110、获取所述目标数据,并依据所述目标数据确定对应的数据关系表格,其中,所述数据关系表格中的每一行生成一元组,且至少包括一个元组;
72.s120、依据所述元组构建关系图g,其中,所述关系图g包括顶点集合v和边集合e;
73.s130、对所述顶点集合v中的顶点进行k次采样生成k个采样数据;
74.s140、对k个所述采样数据进行逐层搜索构建整体同步并行计算模型,其中,所述整体同步并行计算模型包括一调度结点和若干个工作结点;
75.s150、依据所述调度结点和若干个所述工作结点对k个所述采样数据进行数据筛查生成目标数据筛查规则。
76.在本技术的实施例中,通过获取所述目标数据,并依据所述目标数据确定对应的数据关系表格,其中,所述数据关系表格中的每一行生成一元组,且至少包括一个元组;依据所述元组构建关系图g,其中,所述关系图g包括顶点集合v和边集合e;对所述顶点集合v中的顶点进行k次采样生成k个采样数据;对k个所述采样数据进行逐层搜索构建整体同步并行计算模型,其中,所述整体同步并行计算模型包括一调度结点和若干个工作结点;依据所述调度结点和若干个所述工作结点对k个所述采样数据进行数据筛查生成目标数据筛查规则。通过提出的采样方法能在ree这样的支持多个元组变量的跨表规则上进行;采样方法是多轮采样,能够使得数据筛查规则召回率提高;在构建关系图g的过程中,在边构建中考虑了谓词的影响,从而使得能用于规则发现的有用数据会以更高优先级被采样;保证采样的准确性;从而使用更多的计算资源,提升规则挖掘的运算效率。
77.下面,将对本示例性实施例中一种基于多轮采样的数据筛查规则验证方法作进一步地说明。
78.需要说明的是,数据采样的目的是从全数据d即目标数据中,抽取一部分用于规则发现的采样数据ds。具体来说,把在全数据d中抽取采样数据ds的问题转化成一个在关系图g中采样顶点的问题。
79.需要说明的是,获取所述目标数据,并依据所述目标数据确定对应的数据关系表格,其中,所述数据关系表格中的每一行生成一元组,且至少包括一个元组;即通过目标数
据即全数据d对应的数据关系表格确定若干个元组。
80.如所述步骤s120所述,依据所述元组构建关系图g,其中,所述关系图g包括顶点集合v和边集合e。
81.在本发明一实施例中,可以结合下列描述进一步说明步骤s120所述“依据所述元组构建关系图g,其中,所述关系图g包括顶点集合v和边集合e”的具体过程。
82.参照图2,示出了本技术一实施例提供的一种基于多轮采样的数据筛查规则验证方法的步骤流程图;
83.如下列步骤所述,
84.s210、依据所述元组生成若干个顶点;
85.s220、若干个所述顶点之间相连生成若干条边;
86.s230、依据若干个所述顶点构建和若干条所述边构建边集合e;其中,当所述边集合e中的一条边e分别连接所述顶点集合v中的一顶点t和另一顶点s时,对应于所述顶点t和所述顶点s构建的元组对至少满足一等式谓词;
87.s240、依据所述顶点集合v和所述边集合e构建所述关系图g。
88.需要说明的是,依据若干个所述元组生成若干个顶点,从若干个元组内生成若干个顶点,其中每个顶点对应于全数据d中一个元组。
89.需要说明的是,若干个所述顶点确定若干条边,不同的顶点之间相连形成若干条边。
90.需要说明的是,依据若干个所述顶点构建和若干条所述边构建边集合e;其中,当所述边集合e中的一条边e分别连接所述顶点集合v中的一顶点t和另一顶点s时,对应于所述顶点t和所述顶点s构建的元组对至少满足一等式谓词;若干个顶点汇总后形成顶点集合v;若干条边汇总后形成边集合e。
91.需要说明的是,依据所述顶点集合v和所述边集合e构建所述关系图g;从而为全数据d构造一个关系图g=(v,e)。
92.如所述步骤s130所述,对所述顶点集合v中的顶点进行k次采样生成k个采样数据。
93.在本发明一实施例中,可以结合下列描述进一步说明步骤s130所述“对所述顶点集合v中的顶点进行k次采样生成k个采样数据”的具体过程。
94.参照图3,示出了本技术一实施例提供的一种基于多轮采样的数据筛查规则验证方法的步骤流程图;
95.如下列步骤所述,
96.s310、对所述顶点集合v中的顶点进行k次随机游走采样生成k个采样数据;或,
97.s320、对所述顶点集合v中的顶点进行k次广度优先采样生成k个采样数据。
98.需要说明的是,基于构建好的关系图g,可以采用随机游走采样或者广度优先采样中的任意一种方式对关系图g中的顶点进行采样。具体采用随机游走采样或者广度优先采样是随机的,用户可以决定是只用随机游走的方式进行采样,可以只用广度优先的方式进行,也可以是随机游走采样或者广度优先采样两种方式交替进行。
99.在一具体实现中,单轮采样存在召回率差的缺点,即一个全局适用于全数据d的规则可能不会从样本数据ds中被发现;因此,采用多轮采样策略能够提升召回率;通过运行k次单轮采样方法(随机游走采样或者广度优先采样),得到k个采样数据。在每个采样数据上
我们进行规则发现(规则发现是指在采样数据中发现ree),然后再把发现的ree结合起来。
100.如所述步骤s310所述,对所述顶点集合v中的顶点进行k次随机游走采样生成k个采样数据。
101.在本发明一实施例中,可以结合下列描述进一步说明步骤s310“对所述顶点集合v中的顶点进行k次随机游走采样生成k个采样数据”的具体过程。
102.参照图4,示出了本技术一实施例提供的一种基于多轮采样的数据筛查规则验证方法的步骤流程图;
103.如下列步骤所述,
104.s410、在所述顶点集合v内通过均匀采样获取一初始顶点;
105.s420、依据所述随机游走采样对所述初始顶点进行迭代采样生成若干个采样元组,其中,所述随机游走采样中的每一步以预设概率∈停止或移动至当前顶点的相邻顶点,所述迭代采样的迭代过程小于或等于预设样本量;
106.s430、依据若干个所述采样元组生成所述k个采样数据。
107.需要说明的是,在所述顶点集合v内通过均匀采样获取一初始顶点,先在顶点集合v内均匀采样得到一个顶点,并将该顶点标记为初始顶点t,能够使得对于全数据d中包括若干个元组都以相同概率被采样。
108.需要说明的是,依据所述随机游走采样对所述初始顶点进行迭代采样生成若干个采样元组,通过随机游走采样从初始顶点t开始进行迭代采样,从而得到更多的采样元组。
109.作为一种示例,对于随机游走采样来说,首先基于均匀采样在顶点集合v中选择一个初始顶点t,这样全数据d中的所有元组都以相同的概率被采样;再通过模拟随机游走的方式从初始顶点t开始迭代地采样更多采样元组,最长的游走长度为len;在每一步,随机游走会以概率∈终止,或者移动到当前顶点的相邻顶点,概率为(1-∈);所有在游走序列中的顶点都会被包含在采样数据ds中;整个过程迭代直到|ds|超过最大样本量。
110.如所述步骤s320所述,对所述顶点集合v中的顶点进行k次广度优先采样生成k个采样数据。
111.在本发明一实施例中,可以结合下列描述进一步说明步骤s320“对所述顶点集合v中的顶点进行k次广度优先采样生成k个采样数据”的具体过程。
112.参照图5,示出了本技术一实施例提供的一种基于多轮采样的数据筛查规则验证方法的步骤流程图;
113.如下列步骤所述,
114.s510、在所述所述顶点集合v内通过均匀采样获取一初始元组对,所述初始元组对包括顶点z和顶点y;
115.s520、依据所述广度优先采样对所述初始元组对进行迭代采样生成若干个相邻顶点,其中,所述相邻顶点的目标距离小于或等于所述顶点z至所述顶点y之间的预设距离;
116.s530、依据若干个所述相邻顶点生成所述k个采样数据。
117.需要说明的是,在所述所述顶点集合v内通过均匀采样获取一初始元组对,所述初始元组对包括顶点z和顶点y;通过在顶点集合v中均匀采样得到初始元组对《y,z》。
118.需要说明的是,依据所述广度优先采样对所述初始元组对进行迭代采样生成若干个相邻顶点;通过广度优先采样对初始元组对《y,z》获取顶点z和顶点之间的距离不超过预
设距离的相邻节点,其中相邻节点至少包括一个。
119.作为一种示例,对于广度优先采样而言,通过在顶点集合v内均匀采样一个元组对《y,z》,然后采用广度优先采样得到顶点z和顶点y之间距离不超过(len-1)的相邻节点;即如果《y,z》符合一个长度为len的ree,广度优先采样会确保至少一个符合ree的数据会被采样。
120.如所述步骤s140所述,对k个所述采样数据进行逐层搜索构建整体同步并行计算模型,其中,所述整体同步并行计算模型包括一调度结点和若干个工作结点;
121.需要说明的是,依据k个所述采样数据通过逐层搜索构建整体同步并行计算模型,其中,所述整体同步并行计算模型包括一调度结点和若干个工作结点;通过对k个所述采样数据进行并行规则挖掘算法即逐层搜索,从而构建整体同步并行计算模型,整体同步并行计算模型中包括一调度结点和若干个工作结点。
122.如所述步骤s150所述,依据所述调度结点和若干个所述工作结点对k个所述采样数据进行数据筛查生成目标数据筛查规则。
123.在本发明一实施例中,可以结合下列描述进一步说明步骤s150“依据所述调度结点和若干个所述工作结点对k个所述采样数据进行数据筛查生成目标数据筛查规则”的具体过程。
124.参照图6,示出了本技术一实施例提供的一种基于多轮采样的数据筛查规则验证方法的步骤流程图;
125.如下列步骤所述,
126.s610、所述调度结点将k个所述采样数据对应生成若干个任务,其中,若干个所述任务中的每一个任务为三元组,所述三元组内包括被选择谓词集合、待选谓词集合和有效谓词;
127.s620、依据所述调度结点将若干个所述任务平均分配至所述工作结点,其中,所述工作结点至少包括一个;当所述工作结点内存在大于预设任务量的所述任务时,将所述工作结点中的一半任务量分配至其他工作结点;或,当所述工作结点内仅存在所述预设任务量为1的所述任务时,则对所述任务对应的数据进行拆分;
128.s630、依据所述工作结点、所述调度结点和k个所述采样数据生成所述目标数据筛查规则。
129.需要说明的是,所述调度结点依据k个所述采样数据生成若干个任务,其中,若干个所述任务中的每一个任务为三元组,所述三元组内包括被选择谓词集合、待选谓词集合和发现结果;调度结点将若干个采样数据生成对应的若干个任务。
130.需要说明的是,依据所述调度结点将若干个所述任务平均分配至若干个所述工作结点生成若干个发现规则;调度结点再将若干个任务平均分配至若干个工作结点中,通过若干个工作结点生成若干个发现规则即ree结果e。
131.在一具体实现中,并行规则挖掘算法基于逐层搜索,由一个调度者即调度结点和若干个工人即工作结点组成;在整体同步并行计算模型下,调度者即调度结点负责生成和分发的任务,负责规则的维护和负载均衡;而工人即工作结点负责并行发现规则;整体计算分为多个超步,其中每个超步对应于规则挖掘中的每个层级。
132.具体来说,调度者首先根据需要发现的ree结果e,将规则发现生成若干个任务,每
个任务由一个三元组,其中三元组标记为《p
sel
,p
re
,e》。每个任务由一个三元组组成:《p
sel
,p
re
,e》;其中p
sel
存的是已经被选择组成ree条件的谓词即被选择谓词,而p
re
存的是待选谓词;每个工人将新发现的规则会传输到调度者,调度者根据汇总生成目标规则。
133.在每个超步,通过拆分工作量大于预设工作量的工人的任务,并将其中的一半任务分配给空闲的其他工人;假设这个工人叫作w即工作结点w,如果w中还有多个任务,w分配一半的任务出去;如果w只剩下一个任务即预设任务量为1,通过拆分这个任务对应的数据,实现对该任务的拆分。
134.如所述步骤s630所述,依据所述工作结点、所述调度结点和k个所述采样数据生成所述目标数据筛查规则。
135.在本发明一实施例中,可以结合下列描述进一步说明步骤s630“依据所述工作结点、所述调度结点和k个所述采样数据生成所述目标数据筛查规则”的具体过程。
136.参照图7,示出了本技术一实施例提供的一种基于多轮采样的数据筛查规则验证方法的步骤流程图;
137.如下列步骤所述,
138.s710、获取k个所述采样数据,并确定k个所述采样数据内的所述待选谓词集合中的所有待选谓词;
139.s720、所述工作结点将所述待选谓词迭代加入至所述被选择谓词集合;
140.s730、当所述待选谓词集合为空集时,所述工作结点停止迭代,则确定所述待选谓词集合为空集为第一数据筛查规则;或,
141.s740、当所述待选谓词集合中至少一待选谓词与所述被选择谓词集合相关时,所述工作结点停止迭代,则确定所述待选谓词集合中至少一待选谓词与所述被选择谓词集合相关为所述第二数据筛查规则;
142.s750、将所述第一数据筛查规则和所述第二数据筛查规则汇总至所述调度结点,所述调度结点依据所述第一数据筛查规则和所述第二数据筛查规则生成所述目标数据筛查规则。
143.需要说明的是,所述工作结点将所述待选谓词迭代加入至所述被选择谓词集合;即通过工作结点先迭代确定待选谓词集合中的待选谓词,再将待选谓词迭代加入至被选择谓词集合;通过抽取k个所述采样数据并迭代地选择p
re
里的待选谓词加入到p
sel
中。
144.需要说明的是,将所述待选谓词加入至所述被选择谓词集合中,当所述待选谓词集合为空集或所述被选择谓词符合预设条件时,则停止迭代,生成若干个所述发现规则;其中预设条件为p
sel

e是有效的ree。
145.在一具体实现中,最开始,p
sel
即被选择谓词集合为空集,p
re
即待选谓词集合是所有可能的谓词集合;将所有的任务平均分给所有工人之后,每个工人进行并行规则发现:通过抽取需要的采样数据并迭代地选择p
re
里的谓词加入到p
sel
中去,直到满足以下条件:p
re
成了空集即所述待选谓词集合为空集,并确定所述待选谓词集合为空集为第一数据筛查规则;或,p
sel

e是有效的ree即所述待选谓词集合中至少一待选谓词与所述被选择谓词集合相关,并确定所述待选谓词集合中至少一待选谓词与所述被选择谓词集合相关为第二数据筛查规则;通过将第一数据筛查规则和第二数据筛查规则汇总至所述调度结点,调度结点依据第一数据筛查规则和第二数据筛查规则生成目标数据筛查规则。
146.本发明的技术效果:
147.(1)提出的采样方法能在ree这样的支持多个元组变量的跨表规则上进行。
148.(2)采样方法是多轮采样,相比于单轮采样,有更好的数据筛查规则召回率。即一个全局适用于d的数据筛查规则有能在从小样本ds中被发现。
149.(3)在构建关系图g的过程中,在边构建中考虑了谓词的影响。这样一来,能用于规则发现的有用数据会以更高优先级被采样。
150.(4)保证采样的准确性;具体来说,能够准确计算出采样数据需要的大小,以及采样规则召回率和准确率的下界。
151.(5)挖掘算法是整体同步并行计算模型下的并行规则发现算法。
152.从而使用更多的计算资源,提升数据筛查规则挖掘的运算效率。
153.且在多个公开数据中,不仅对比了使用全数据d进行数据筛查规则挖掘的效率,还对比了使用均匀采样进行数据筛查规则挖掘的准确度;根据结果显示,
154.(1)在采样数据ds上进行规则发现平均能够提升12.2倍的运行效率。在有3个关系表,18个属性,180万条数据的大型dblp数据集上,通过使用本发明方法使得运行时间为406秒,而使用全数据d进行数据筛查规则挖掘的运行时间为2096秒。
155.(2)仅采样10%的数据后,通过使用本发明方法使得平均准确率能达到90%,平均召回率能达到82%,比均匀采样分别提升了2%和7%。
156.(3)规则发现算法是并行可拓展的:如果使用的处理器从4个变到20个后,效率提升了3.38倍。
157.对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
158.参照图8,示出了本技术一实施例提供的一种基于多轮采样的数据筛查规则验证装置的结构框图;
159.一种基于多轮采样的数据筛查规则验证装置,用于对大数据库内的目标数据进行并行规则挖掘,具体包括:
160.获取模块810,用于获取所述目标数据,并依据所述目标数据确定对应的数据关系表格,其中,所述数据关系表格中的每一行生成一元组,且至少包括一个元组;
161.第一构建模块820,用于依据所述元组构建关系图g,其中,所述关系图g包括顶点集合v和边集合e;
162.第一生成模块830,用于对所述顶点集合v中的顶点进行k次采样生成k个采样数据;
163.第二构建模块840,用于对k个所述采样数据进行逐层搜索构建整体同步并行计算模型,其中,所述整体同步并行计算模型包括一调度结点和若干个工作结点;
164.第二生成模块850,用于依据所述调度结点和若干个所述工作结点对k个所述采样数据进行数据筛查生成目标数据筛查规则。
165.在本发明一实施例中,所述第一构建模块820,包括:
166.第一生成子模块,用于依据所述元组生成若干个顶点;
167.第二生成子模块,用于若干个所述顶点之间相连生成若干条边;
168.第一构建子模块,用于依据若干个所述顶点构建和若干条所述边构建边集合e;其
中,当所述边集合e中的一条边e分别连接所述顶点集合v中的一顶点t和另一顶点s时,对应于所述顶点t和所述顶点s构建的元组对至少满足一等式谓词;
169.第二构建子模块,用于依据所述顶点集合v和所述边集合e构建所述关系图g。
170.在本发明一实施例中,所述第一生成模块830,包括:
171.第三生成子模块,用于对所述顶点集合v中的顶点进行k次随机游走采样生成k次采样数据;或,
172.第四生成子模块,用于对所述顶点集合v中的顶点进行k次广度优先采样生成k次采样数据。
173.在本发明一实施例中,所述第三生成子模块,包括:
174.第一获取单元,用于在所述顶点集合v内通过均匀采样获取一初始顶点;
175.第一生成单元,用于依据所述随机游走采样对所述初始顶点进行迭代采样生成若干个采样元组,其中,所述随机游走采样中的每一步以预设概率∈停止或移动至当前顶点的相邻顶点,所述迭代采样的迭代过程小于或等于预设样本量;
176.第二生成单元,用于依据若干个所述采样元组生成所述k个采样数据。
177.在本发明一实施例中,所述第四生成子模块,包括:
178.第二获取单元,用于在所述所述顶点集合v内通过均匀采样获取一初始元组对,所述初始元组对包括顶点z和顶点y;
179.第三生成单元,用于依据所述广度优先采样对所述初始元组对进行迭代采样生成若干个相邻顶点,其中,所述相邻顶点的目标距离小于或等于所述顶点z至所述顶点y之间的预设距离;
180.第四生成单元,用于依据若干个所述相邻顶点生成所述k个采样数据。
181.在本发明一实施例中,所述第二生成模块850,包括:
182.第五生成子模块,用于所述调度结点将k个所述采样数据对应生成若干个任务,其中,若干个所述任务中的每一个任务为三元组,所述三元组内包括被选择谓词集合、待选谓词集合和有效谓词;
183.第一分配子模块,用于依据所述调度结点将若干个所述任务平均分配至所述工作结点,其中,所述工作结点至少包括一个;当所述工作结点内存在大于预设任务量的所述任务时,将所述工作结点中的一半任务量分配至其他工作结点;或,当所述工作结点内仅存在所述预设任务量为1的所述任务时,则对所述任务对应的数据进行拆分;
184.第六生成子模块,用于依据所述工作结点、所述调度结点和k个所述采样数据生成所述目标数据筛查规则。
185.在本发明一实施例中,所述第六生成子模块,包括:
186.第三获取单元,用于获取k个所述采样数据,并确定k个所述采样数据内的所述待选谓词集合中的所有待选谓词;
187.迭代单元,用于所述工作结点将所述待选谓词迭代加入至所述被选择谓词集合;
188.第一确定单元,用于当所述待选谓词集合为空集时,所述工作结点停止迭代,则确定所述待选谓词集合为空集为第一数据筛查规则;或,
189.第二确定单元,用于当所述待选谓词集合中至少一待选谓词与所述被选择谓词集合相关时,所述工作结点停止迭代,则确定所述待选谓词集合中至少一待选谓词与所述被
选择谓词集合相关为所述第二数据筛查规则;
190.第五生成单元,用于将所述第一数据筛查规则和所述第二数据筛查规则汇总至所述调度结点,所述调度结点依据所述第一数据筛查规则和所述第二数据筛查规则生成所述目标数据筛查规则。
191.参照图9,示出了本发明的一种基于多轮采样的数据筛查规则验证方法的计算机设备,具体可以包括如下:
192.上述计算机设备12以通用计算设备的形式表现,计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
193.总线18表示几类总线18结构中的一种或多种,包括存储器总线18或者存储器控制器,外围总线18,图形加速端口,处理器或者使用多种总线18结构中的任意总线18结构的局域总线18。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线18,微通道体系结构(mac)总线18,增强型isa总线18、音视频电子标准协会(vesa)局域总线18以及外围组件互连(pci)总线18。
194.计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
195.系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)30和/或高速缓存存储器32。计算机设备12可以进一步包括其他移动/不可移动的、易失性/非易失性计算机体统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(通常称为“硬盘驱动器”)。尽管图9中未示出,可以提供用于对可移动非易失性磁盘(如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其他光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质界面与总线18相连。存储器可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块42,这些程序模块42被配置以执行本发明各实施例的功能。
196.具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其他程序模块42以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
197.计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24、摄像头等)通信,还可与一个或者多个使得操作人员能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其他计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)界面22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(lan)),广域网(wan)和/或公共网络(例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其他模块通信。应当明白,尽管图9中未示出,可以结合计算机设备12使用其他硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元16、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统34等。
198.处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及
数据挖掘,例如实现本发明实施例所提供的基于多轮采样的数据筛查规则验证方法。
199.也即,上述处理单元16执行上述程序时实现:获取所述目标数据,并依据所述目标数据确定对应的数据关系表格,其中,所述数据关系表格中的每一行生成一元组,且至少包括一个元组;依据所述元组构建关系图g,其中,所述关系图g包括顶点集合v和边集合e;对所述顶点集合v中的顶点进行k次采样生成k个采样数据;对k个所述采样数据进行逐层搜索构建整体同步并行计算模型,其中,所述整体同步并行计算模型包括一调度结点和若干个工作结点;依据所述调度结点和若干个所述工作结点对k个所述采样数据进行数据筛查生成目标数据筛查规则。
200.在本发明实施例中,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本技术所有实施例提供的基于多轮采样的数据筛查规则验证方法:
201.也即,给程序被处理器执行时实现:获取所述目标数据,并依据所述目标数据确定对应的数据关系表格,其中,所述数据关系表格中的每一行生成一元组,且至少包括一个元组;依据所述元组构建关系图g,其中,所述关系图g包括顶点集合v和边集合e;对所述顶点集合v中的顶点进行k次采样生成k个采样数据;对k个所述采样数据进行逐层搜索构建整体同步并行计算模型,其中,所述整体同步并行计算模型包括一调度结点和若干个工作结点;依据所述调度结点和若干个所述工作结点对k个所述采样数据进行数据筛查生成目标数据筛查规则。
202.可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
203.计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
204.可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言——诸如java、smalltalk、c++,还包括常规的过程式程序设计语言——诸如“c”语言或类似的程序设计语言。程序代码可以完全地在操作人员计算机上执行、部分地在操作人员计算机上执行、作为一个独立的软件包执行、部分在操作人员计算机上部分在远程计算机上执行或者完全在远程计算机或者服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)——连接到操作人员计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。本说明书中的各个实施例均采用递进
的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
205.尽管已描述了本技术实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术实施例范围的所有变更和修改。
206.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
207.以上对本技术所提供的一种基于多轮采样的数据筛查规则验证方法及其装置,进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1