CN104850658B - 一种数据填充方法及系统 - Google Patents

一种数据填充方法及系统 Download PDF

Info

Publication number
CN104850658B
CN104850658B CN201510305681.7A CN201510305681A CN104850658B CN 104850658 B CN104850658 B CN 104850658B CN 201510305681 A CN201510305681 A CN 201510305681A CN 104850658 B CN104850658 B CN 104850658B
Authority
CN
China
Prior art keywords
data
database
afr control
node
deducibility
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510305681.7A
Other languages
English (en)
Other versions
CN104850658A (zh
Inventor
李直旭
李洋
杨强
周剑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou University
Zhangjiagang Institute of Industrial Technologies Soochow University
Original Assignee
Suzhou University
Zhangjiagang Institute of Industrial Technologies Soochow University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou University, Zhangjiagang Institute of Industrial Technologies Soochow University filed Critical Suzhou University
Priority to CN201510305681.7A priority Critical patent/CN104850658B/zh
Publication of CN104850658A publication Critical patent/CN104850658A/zh
Application granted granted Critical
Publication of CN104850658B publication Critical patent/CN104850658B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种数据填充方法,根据数据库中的已有数据确定所述数据库的空缺数据,并构建所述数据库中所有数据之间的数据依赖关系,重复执行以下步骤,直至所述数据库的空缺数据被填充完毕:根据所述数据库中的已有数据和所述数据依赖关系确定所述数据库的空缺数据中的可推断数据和至少一组不可推断数据,并根据预设规则从所述至少一组不可推断数据中确定一组待检索数据,根据所述数据库中的已有数据和所述数据依赖关系推断并填充所述可推断数据,从所述数据库的外部资源中检索并填充所述待检索数据。这样,通过推断和检索的交替执行,高效且高质量地实现数据集中空缺数据的填充,可以实现在较小的系统开销下获得较高的数据填充准确率。

Description

一种数据填充方法及系统
技术领域
本申请涉及数据库处理技术领域,特别是涉及一种数据填充方法及系统。
背景技术
通常,在各类数据库的数据源中,往往会存在一些空缺信息,有些是因为原始数据的缺失造成的,有些是因为操作上的失误造成的。这些数据库中的空缺信息会造成数据不完整,是各类数据库中一个较为普遍的问题,数据填充技术的提出就是希望通过一些技术手段来估算、预测、或者找回数据源中的空缺信息。
现有的针对字符串型数据的数据填充方法通常可分为两类:基于推理的数据填充方法和基于检索的数据填充方法。
基于推理的数据填充方法主要是结合一些给定的数据质量规则(比如FunctionalDependencies属性依赖关系),从数据集的其他部分推理出空缺处的空缺信息。比如在一个地址数据集中,已知依赖关系“城市名称可以决定省份名称”,在数据集其中一个元组中写着“学校=‘南京大学’,城市=‘南京’,省份=‘江苏’”,而另外一个元组写着“学校=‘南航’,城市=‘南京’,省份=‘’”(即第二个元组的省份为空缺信息),那么我们就可以根据依赖关系把第二个元组中空缺的省份填写为“江苏”。
基于检索的数据填充方法主要是从外部资源比如网络中检索获取空缺处的空缺信息。当数据集中的空缺信息在万维网中存在时,该方法可以准确查找到空缺信息并填充到数据集中的空缺处。
然而,基于推理的数据填充方法的主要缺点体现在对于唯一的空缺信息的填补上,也就是在数据集中的完整部分没有出现与该空缺信息相应的信息的话,那么就不可能准确地推断和填充该空缺信息,造成数据填充的准确率低;而基于检索的数据填充方法虽然能够准确填充空缺信息,提高数据填充的准确率,但其在对空缺信息进行检索时,需要在外部资源中进行海量的检索查询,这会产生大量的检索查询操作,相应地就会造成很大的系统开销。
发明内容
有鉴于此,本申请提供一种数据填充方法及系统,以实现在较小的系统开销下获得较高的数据填充准确率。
为了实现上述目的,本申请实施例提供的技术方案如下:
一种数据填充方法,包括:
根据数据库中的已有数据确定所述数据库的空缺数据,并构建所述数据库中所有数据之间的数据依赖关系,重复执行以下步骤,直至所述数据库的空缺数据被填充完毕:
根据所述数据库中的已有数据和所述数据依赖关系确定所述数据库的空缺数据中的可推断数据和至少一组不可推断数据,并根据预设规则从所述至少一组不可推断数据中确定一组待检索数据,根据所述数据库中的已有数据和所述数据依赖关系推断并填充所述可推断数据,从所述数据库的外部资源中检索并填充所述待检索数据。
优选地,所述根据所述数据库中的已有数据和所述数据依赖关系确定所述数据库的空缺数据中的可推断数据和至少一组不可推断数据,包括:
从所述数据库的空缺数据中,根据所述数据库中的已有数据和所述数据依赖关系确定与所述数据库中的已有数据存在数据依赖关系的空缺数据,作为所述数据库的空缺数据中的可推断数据;
根据所述数据库中的已有数据和所述数据依赖关系确定所述数据库的空缺数据之间的空缺数据依赖关系;
以所述数据库的各个空缺数据为节点,以各个空缺数据之间的空缺数据依赖关系作为节点之间的有向边,构建空缺数据依赖图,并根据所述空缺数据依赖图确定所述数据库的空缺数据中的至少一组不可推断数据。
优选地,所述根据所述空缺数据依赖图确定所述数据库的空缺数据中的至少一组不可推断数据,包括:
从所述空缺数据依赖图的各个节点中,将存在相同空缺数据依赖关系且互相之间不存在任何数据依赖关系的节点合并为一个节点,进行节点合并;
节点合并之后,对于存在从多个节点指向自身的多个有向边的节点,删除从多个节点指向自身的多个有向边,生成简化空缺数据依赖图;
从所述简化空缺数据依赖图中,将只具有从自身出发指向其它节点的有向边的节点以及与其它节点之间不存在任何有向边的节点集合对应的空缺数据作为所述数据库的空缺数据中的至少一组不可推断数据;所述节点集合包括至少两个节点。
优选地,所述根据预设规则从所述至少一组不可推断数据中确定一组待检索数据,包括:
从所述至少一组不可推断数据中选择数量最少的一组数据,作为一组待检索数据。
优选地,所述外部资源包括互联网资源。
一种数据填充系统,包括:
构建模块,用于根据数据库中的已有数据确定所述数据库的空缺数据,并构建所述数据库中所有数据之间的数据依赖关系;
填充模块,用于重复执行以下步骤,直至所述数据库的空缺数据被填充完毕:
根据所述数据库中的已有数据和所述数据依赖关系确定所述数据库的空缺数据中的可推断数据和至少一组不可推断数据,并根据预设规则从所述至少一组不可推断数据中确定一组待检索数据,根据所述数据库中的已有数据和所述数据依赖关系推断并填充所述可推断数据,从所述数据库的外部资源中检索并填充所述待检索数据。
优选地,所述填充模块,包括:
第一确定模块,用于从所述数据库的空缺数据中,根据所述数据库中的已有数据和所述数据依赖关系确定与所述数据库中的已有数据存在数据依赖关系的空缺数据,作为所述数据库的空缺数据中的可推断数据;
第二确定模块,用于根据所述数据库中的已有数据和所述数据依赖关系确定所述数据库的空缺数据之间的空缺数据依赖关系;
第三确定模块,用于以所述数据库的各个空缺数据为节点,以各个空缺数据之间的空缺数据依赖关系作为节点之间的有向边,构建空缺数据依赖图,并根据所述空缺数据依赖图确定所述数据库的空缺数据中的至少一组不可推断数据。
优选地,所述第三确定模块,包括:
节点合并单元,用于从所述空缺数据依赖图的各个节点中,将存在相同空缺数据依赖关系且互相之间不存在任何数据依赖关系的节点合并为一个节点,进行节点合并;
有向边修剪单元,用于节点合并之后,对于存在从多个节点指向自身的多个有向边的节点,删除从多个节点指向自身的多个有向边,生成简化空缺数据依赖图;
查找单元,用于从所述简化空缺数据依赖图中,将只具有从自身出发指向其它节点的有向边的节点以及与其它节点之间不存在任何有向边的节点集合对应的空缺数据作为所述数据库的空缺数据中的至少一组不可推断数据;所述节点集合包括至少两个节点。
优选地,所述根据预设规则从所述至少一组不可推断数据中确定一组待检索数据的填充模块,用于:从所述至少一组不可推断数据中选择数量最少的一组数据,作为一组待检索数据。
优选地,所述外部资源包括互联网资源。
由以上本申请提供的一种数据填充方法,根据数据库中的已有数据确定所述数据库的空缺数据,并构建所述数据库中所有数据之间的数据依赖关系,重复执行以下步骤,直至所述数据库的空缺数据被填充完毕:根据所述数据库中的已有数据和所述数据依赖关系确定所述数据库的空缺数据中的可推断数据和至少一组不可推断数据,并根据预设规则从所述至少一组不可推断数据中确定一组待检索数据,根据所述数据库中的已有数据和所述数据依赖关系推断并填充所述可推断数据,从所述数据库的外部资源中检索并填充所述待检索数据。这样,通过推断和检索的交替执行,高效且高质量地实现数据集中空缺数据的填充,可以实现在较小的系统开销下获得较高的数据填充准确率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的数据填充方法的样例数据表以及数据依赖关系的示意图;
图2为本申请实施例提供的数据填充方法的交互过程的示意图;
图3为本申请实施例提供的数据填充方法的构建简化空缺数据依赖图的过程的示意图;
图4为本申请提供的数据填充方法的一种实施例的流程示意图;
图5为本申请提供的数据填充方法的另一种实施例的流程示意图;
图6-图10分别为本申请提供的数据填充方法与现有技术的实验数据对比图;
图11为本申请提供的数据填充系统的一种实施例的结构示意图;
图12为本申请提供的数据填充系统的另一种实施例的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
下面结合附图,对本申请的实施方案进行详细描述。
图1为本申请提供的数据填充方法的样例数据表以及数据依赖关系的示意图。
图4为本申请提供的数据填充方法的一种实施例的流程示意图。
参照图4所示,本申请实施例提供的数据填充方法包括:
步骤S100:根据数据库中的已有数据确定所述数据库的空缺数据,并构建所述数据库中所有数据之间的数据依赖关系;
在本申请实施例中,由于数据库中存在已有数据,则除去已有数据,即为空缺数据。而且同一数据库中的所有数据之间通常包含一定的数据依赖关系。
这里的数据依赖关系包括已有数据和空缺数据之间的依赖关系,已有数据和已有数据之间的依赖关系,以及空缺数据和空缺数据之间的依赖关系。
步骤S200:根据所述数据库中的已有数据和所述数据依赖关系确定所述数据库的空缺数据中的可推断数据和至少一组不可推断数据,并根据预设规则从所述至少一组不可推断数据中确定一组待检索数据;
在本申请实施例中,“可推断数据”是指可以根据数据依赖关系由已有数据推断出的空缺数据,可推断数据与已有数据之间存在数据依赖关系。
比如:一个地址数据集中,包含数据依赖关系“城市名称可以决定省份名称”,则在该地址数据集其中一个元组中写着“学校=‘南京大学’,城市=‘南京’,省份=‘江苏’”,而另外一个元组写着“学校=‘南航’,城市=‘南京’,省份=‘’”(即第二个元组的省份为空缺信息),那么我们就可以根据数据依赖关系把第二个元组中空缺的省份推断为“江苏”。
在本申请实施例中,“不可推断数据”是无法直接由已有数据推断出的空缺数据,与已有数据之间并不存在直接的数据依赖关系。
另外,“不可推断数据”作为空缺数据的一部分,可能与其它的空缺数据之间存在数据依赖关系,也可能与其它的空缺数据之间不存在数据依赖关系。
当“不可推断数据”与其它的空缺数据之间存在数据依赖关系时,“不可推断数据”被填充以后,即可根据被填充的“不可推断数据”(被填充后即为已有数据)来推断其它的空缺数据,当“不可推断数据”与其它的空缺数据之间不存在数据依赖关系时,即便被填充也无法推断其它的空缺数据。
在本申请实施例中,根据预设规则从所述至少一组不可推断数据中确定一组待检索数据,这里的预设规则可以是从所述至少一组不可推断数据中选择数量最少的一组数据,作为一组待检索数据,这样就可以在保证所填充的数据的准确性的前提下,使得需要检索的数据量最小,可以避免在外部资源中进行海量的检索查询,尽量减少检索查询操作,降低系统开销。
检索少量的空缺数据能极大的提高基于推断的方法的填充召回率,为了保证在最小开销下能够获得最高的召回率,应最少的使用检索操作,尽可能多的使用推断操作。
步骤S300:根据所述数据库中的已有数据和所述数据依赖关系推断并填充所述可推断数据,从所述数据库的外部资源中检索并填充所述待检索数据;
在本申请实施例中,将“根据所述数据库中的已有数据和所述数据依赖关系推断并填充所述可推断数据”称为推断步骤,将“从所述数据库的外部资源中检索并填充所述待检索数据”称为检索步骤。
由于“可推断数据”是指可以根据数据依赖关系由已有数据推断出的空缺数据,可推断数据与已有数据之间存在数据依赖关系,所以可以直接由已有数据和所述数据依赖关系推断出“可推断数据”,然后填充,则填充后的“可推断数据”即成为已有数据。
同时,由于“不可推断数据”是无法直接由已有数据推断出的空缺数据,与已有数据之间并不存在直接的数据依赖关系,所以从外部资源比如互联网资源中查找该“不可推断数据”并填充,可以保证所填充的数据的准确性。
可以理解的是,本申请实施例中,当一次推断就填充了所有的空缺数据时,即可省去后续的检索步骤,而当没有可推断的数据时,也可以先进行检索步骤再进行推断步骤,本实施例中的步骤标号并不用作对方法实施顺序的限定。
步骤S400:判断所述数据库的空缺数据是否被填充完毕;如果否,返回步骤S200;如果是,结束。
本申请实施例提出一种交互式的基于推断和检索的数据填充方法,根据数据库中的已有数据确定所述数据库的空缺数据,并构建所述数据库中所有数据之间的数据依赖关系,重复执行以下步骤,直至所述数据库的空缺数据被填充完毕:根据所述数据库中的已有数据和所述数据依赖关系确定所述数据库的空缺数据中的可推断数据和至少一组不可推断数据,并根据预设规则从所述至少一组不可推断数据中确定一组待检索数据,根据所述数据库中的已有数据和所述数据依赖关系推断并填充所述可推断数据,从所述数据库的外部资源中检索并填充所述待检索数据。
该方法交替使用推断和检索来填充数据:
比如:所述数据依赖关系确定所述数据库的空缺数据中的可推断数据确定待填充到所述数据库中的所有空缺数据中的第一可推断数据组和第一待检索数据组;根据所述数据依赖关系推断并填充所述第一可推断数据组中的数据,从所述数据库的外部资源中检索并填充所述第一待检索数据组中的数据,并确定所述数据库中的第一剩余空缺数据;根据所述数据依赖关系,确定所述第一剩余空缺数据中的第二可推断数据组和第二待检索数据组;根据所述数据依赖关系推断并填充所述第二可推断数据组中的数据,从所述数据库的外部资源中检索并填充所述第二待检索数据组中的数据,并确定所述数据库中的第二剩余空缺数据;依次类推,直至待填充到所述数据库中的所有空缺数据被填充完毕。
即:推断并填充所述数据库中的第一组空缺数据,从所述数据库的外部资源中检索并填充所述数据库中的第二组空缺数据;根据所述已有数据、所述第一组空缺数据和所述第二组空缺数据,推断并填充所述数据库中的第三组空缺数据,从所述数据库的外部资源中检索并填充所述数据库中的第四组空缺数据;依次类推,直至待填充到所述数据库中的空缺数据被填充完毕。下面举例说明:本申请实施例提供的数据填充方法(交互式检索-推理数据填充方法TRIP:inTeractive Retrieving-Inferring data imPutationapproach)的交互过程如图2所示:
(1)第一次推断步骤(图2(a)):根据表中已有数据以及图1(b)中的数据依赖关系,可以推断出T1[E],T1[F],T2[B]的值分别为b1,e1,f1
(2)第一次检索步骤(图2(b)):如果可以检索到T3[B],T5[B]的值且分别为b2,b3的话,那么在第二次推断步骤(图2(c))中就可以推断出T4[C],T4[D]的值为c3,d3
(3)第二次检索步骤(图2(d))和第三次推断步骤(图2(e)):如果在图2(d)中选择T3[C],T3[D],T4[E]来进行检索且值分别为c2,d2,e2之后,就可以推断图2(e)中T5[E],T4[F],T5[F]的值为e2,f2,f2
当一次推断步骤最大程度地填充所有可推断的空缺数据后,接下来的检索步骤可以检索到一系列不可推断的空缺数据,从而使得在下一次推断步骤中一些剩余的空缺数据可以推断出来。连续重复这两个步骤直到出现结束条件比如没有可以填充的空缺数据后,结束对空缺数据的填充。
通过推断步骤和检索步骤交替填充数据,可以使得系统的开销较小且数据填充准确率较高,这样,通过推断和检索的交替执行,可以高效且高质量地实现对于数据集中的空缺数据的填充,可以实现在较小的系统开销下获得较高的数据填充准确率。因此,本申请实施例提供的交互式检索-推理数据填充方法(TRIP),能够在数据填充中确定最佳方案,并且通过这个方案,能够以最小填充代价(系统开销)达到很高的填充精确度和召回率。
图3为本申请实施例提供的数据填充方法的构建简化空缺数据依赖图的过程的示意图。
图5为本申请提供的数据填充方法的另一种实施例的流程示意图。
参照图5所示,本申请实施例提供的数据填充方法,所述步骤S200中的根据所述数据库中的已有数据和所述数据依赖关系确定所述数据库的空缺数据中的可推断数据和至少一组不可推断数据,包括:
步骤S201:从所述数据库的空缺数据中,根据所述数据库中的已有数据和所述数据依赖关系确定与所述数据库中的已有数据存在数据依赖关系的空缺数据,作为所述数据库的空缺数据中的可推断数据;
步骤S202:根据所述数据库中的已有数据和所述数据依赖关系确定所述数据库的空缺数据之间的空缺数据依赖关系;
步骤S203:以所述数据库的各个空缺数据为节点,以各个空缺数据之间的空缺数据依赖关系作为节点之间的有向边,构建空缺数据依赖图,并根据所述空缺数据依赖图确定所述数据库的空缺数据中的至少一组不可推断数据。
在填充过程当中,TRIP方法最关键的是在检索步骤中选择最少的空缺数据进行检索,从而使得系统开销最小,得到最佳调度方案。
得到最优调度方案的算法如下:
构建空缺数据依赖图:以第一次检索步骤(图2(b))为例,图3(a)、(b)、(c)所示即为构建过程。
步骤1:将图2(b)所有未填补的空缺数据当做空缺数据依赖图中的节点,如图3(a)所示。
步骤2:将空缺数据之间所有可能的数据依赖关系当做节点间的有向边,至此,形成了空缺数据依赖图,如图3(b)所示。
在本申请实施例中,根据所述空缺数据依赖图确定所述数据库的空缺数据中的至少一组不可推断数据,首先要对构建而成的空缺数据依赖图进行简化,然后利用简化空缺数据依赖图确定所述数据库的空缺数据中的至少一组不可推断数据,简化过程包括:
从所述空缺数据依赖图的各个节点中,将存在相同空缺数据依赖关系且互相之间不存在任何数据依赖关系的节点合并为一个节点,进行节点合并;
节点合并之后,对于存在从多个节点指向自身的多个有向边的节点,删除从多个节点指向自身的多个有向边,生成简化空缺数据依赖图;
步骤3:空缺数据依赖图的简化:
(1)节点合并:如果某些拥有相同数据依赖关系并且这些节点间不存在任何数据依赖关系的话,就将这些节点合并成一个节点,如图3(c)所示,O5和O6,O7和O8合并成了一个节点。
(2)边修剪:对于节点合并之后的空缺数据依赖图,如果图中存在这样一种依赖关系,需要多个节点同时满足才能推出另外的一个节点,这时就需要修剪掉这样的依赖关系边。如图3(b)所示,O4,O5,O6三个节点需要同时满足才能推出O9,并且这三个节点还可以同时推出O7和O8、O11以及O12,这时就要修剪掉从O4,O5,O6出发指向O9的边,同样地,指向O7和O8、O11以及O12的边也需要修剪掉。
最终形成图3(c)所示的简化空缺数据依赖图。
从所述简化空缺数据依赖图中,将只具有从自身出发指向其它节点的有向边的节点以及与其它节点之间不存在任何有向边的节点集合对应的空缺数据作为所述数据库的空缺数据中的至少一组不可推断数据;所述节点集合包括至少两个节点。
确定待检索数据:待检索数据都是不能推断出来的,共有两类:
(1)如图3(d)所示,为第二次检索步骤的简化空缺数据依赖图,如O5,O6这个合并后的节点,从图中很明显可以看出,没有从其它节点出发指向该节点的边,所以O5,O6是要检索的。
(2)不存在外部的节点指向内部节点的有向边的节点集合,也就是说,一个节点集合被包含在推断死锁中,并且不能从死锁外部的节点推断出该节点集合内的节点,所以可以认为这样的节点集合中的节点是不可推断的,因此是要检索的点。如图3(c)所示,O4和O5,O6构成了一个死锁,所以可以选择检索O4或者检索O5,O6,为了确保代价最小即检索个数最少,因此选择检索O4;同理对于O7,O8和O11选择检索O11
综上,TRIP确定最佳调度方案如下所示:
算法名称:确定DDI中的最佳方案
输入:一个不完全表,它的缺失值集合为O
输出:一个填充方案S=<L0,R1,L1,R2,···,Rn,Ln>
令i=0;
while O≠Φdo
Li←目前所有可推断的值;
O=O-Li
推断Li中的缺失值;
构建一张推断依赖图;
Ri←已确定的不可推断的节点中的值;
Ri←Ri∪确定的最小开锁节点中的值;
O=O-Ri
检索Ri中的所有缺失值;
return<L0,R1,L1,R2,···,Rn,Ln>
下面举例说明本发明的实验效果:
实验环境:运行环境:4核,Intel Core i5处理器,8G内存,Mac OSX系统
一、数据集的选择
选择了两个现实生活的数据集。
(1)个人信息表(PersonInfo):这张表含有5万个元组,每个元组有9个属性,分别为姓名、邮箱、头衔、大学、街道、城市、州、国家和邮件地址。这些信息是从美国、英国、加拿大和澳大利亚的1000所不同大学收集得到的。
(2)DBLP发表信息表(DBLP):这张表含有10万个元组,每个元组有5个属性,分别为发表的论文的标题、第一作者、会议名称、年份和地点。表中所有的论文信息都是从DBLP上随机选择的。
二、方法选择
选择最先进的基于推断和基于检索的填补方法
(1)基于推断的方法(Inferring-based):
InferRules:根据表中完整部分的属性依赖关系来推断缺失值。
GKNN:采用最先进的缺失定量数据的填补技术,主要是计算缺失值与训练数据间的距离,然后选择k个最邻近(这里我们选k等于1)。
(2)基于检索的方法(Retrieving-based):
WebPut:这是一般的检索方法,主要是从各种数据集中检索缺失值。
InfoGather:这个方法了采用最先进的技术,能够从网页列表和报表中检索缺失值。
三、准确性比较
将所提出的TRIP方法和上述提到的方法分别在PersonInfo和DBLP数据集上进行准确性比较,主要比较3个方面:(1)Precision:精确度,所有已被填补数据的正确填补的比率(2)Recall:召回率,所有缺失值中正确填补的比率(3)F1:是precision和recall的结合估量标准,计算公式为2*precision*recall/(precision+recall)。
四、代价
分别在PersonInfo和DBLP数据集上,将TRIP和纯粹的基于检索的方法(WebPut)和纯粹的基于推断的方法(InferRules)比较它们的代价,主要是2个方面:(1)时间代价(Timecost):在一次填补过程中所花费的精确时间;(2)查询(#Queries):产生的查询次数。
图6和图7分别为TRIP方法与已有的4种填补方法在PersonInfo和DBLP的准确性比较。从这2张图中可以观察到,在填补数据方面,InferRules方法的精确度很高,大约在90%左右,但是它的召回率却很低;GKNN方法的精确度在60%~70%,不是很高,这是因为GKNN主要针对定量数据的填补,而我们实验的数据集都是非定量数据;InfoGather和WebPut方法这2中基于检索的方法的精确度和召回率明显比基于推断的方法InferRules、GKNN要高,并且WebPut具有更高达召回率;而TRIP方法能够达到相对很高的精确度和召回率。
图8为在不同的数据缺失率(Missing Ratio)1%~60%下,这5种方法的F1这个度量指标的变化。从图中可以观察到,WebPut和TRIP方法明显高于其它的方法,而且TRIP方法只比WebPut方法低一点点。
因此,从图6、图7和图8显示的实验结果中,我们可以明确得出TRIP在数据填补方面具有很高的精确度和召回率。
图9为在数据集PersonInfo和DBLP上,数据缺失率(Missing Ratio)1%~60%之间,TRIP方法和基于检索的方法(Retrieving-based)、基于推断的方法(Inferring-based)间时间花费的比较。从图中可以看出,基于推断的方法的时间花费非常低,而基于检索的方法的时间花费却非常高,并且明显地观察到TRIP的时间效率将近是基于检索的方法的10倍。
图10为在数据集PersonInfo和DBLP上,数据缺失率(Missing Ratio)1%~60%之间,TRIP方法和基于检索的方法(Retrieving-based)间查询次数的比较。从图中可以明显观察到,TRIP方法的检索查询次数明显比基于检索的方法少很多。
因此,从图9和图10显示的实验结果中,我们可以明确得出TRIP不仅在时间花费而且在查询次数方面都具有很大的优点。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。
本发明上述公开了一种数据填充方法,相应的,本发明还公开了应用上述数据填充方法的数据填充系统。
图11为本申请提供的数据填充系统的一种实施例的结构示意图。
参照图11所示,本申请实施例提供的一种数据填充系统,包括:
构建模块1,用于根据数据库中的已有数据确定所述数据库的空缺数据,并构建所述数据库中所有数据之间的数据依赖关系;
填充模块2,用于重复执行以下步骤,直至所述数据库的空缺数据被填充完毕:
根据所述数据库中的已有数据和所述数据依赖关系确定所述数据库的空缺数据中的可推断数据和至少一组不可推断数据,并根据预设规则从所述至少一组不可推断数据中确定一组待检索数据,根据所述数据库中的已有数据和所述数据依赖关系推断并填充所述可推断数据,从所述数据库的外部资源中检索并填充所述待检索数据。
图12为本申请提供的数据填充系统的另一种实施例的结构示意图。
在本申请实施例中,参照图12所示,所述填充模块2,包括:
第一确定模块21,用于从所述数据库的空缺数据中,根据所述数据库中的已有数据和所述数据依赖关系确定与所述数据库中的已有数据存在数据依赖关系的空缺数据,作为所述数据库的空缺数据中的可推断数据;
第二确定模块22,用于根据所述数据库中的已有数据和所述数据依赖关系确定所述数据库的空缺数据之间的空缺数据依赖关系;
第三确定模块23,用于以所述数据库的各个空缺数据为节点,以各个空缺数据之间的空缺数据依赖关系作为节点之间的有向边,构建空缺数据依赖图,并根据所述空缺数据依赖图确定所述数据库的空缺数据中的至少一组不可推断数据。
其中,所述第三确定模块23,包括:
节点合并单元,用于从所述空缺数据依赖图的各个节点中,将存在相同空缺数据依赖关系且互相之间不存在任何数据依赖关系的节点合并为一个节点,进行节点合并;
有向边修剪单元,用于节点合并之后,对于存在从多个节点指向自身的多个有向边的节点,删除从多个节点指向自身的多个有向边,生成简化空缺数据依赖图;
查找单元,用于从所述简化空缺数据依赖图中,将只具有从自身出发指向其它节点的有向边的节点以及与其它节点之间不存在任何有向边的节点集合对应的空缺数据作为所述数据库的空缺数据中的至少一组不可推断数据;所述节点集合包括至少两个节点。
所述根据预设规则从所述至少一组不可推断数据中确定一组待检索数据的填充模块2,用于:从所述至少一组不可推断数据中选择数量最少的一组数据,作为一组待检索数据。
所述外部资源包括互联网资源。
需要说明的是,本实施例的数据填充系统可以采用上述方法实施例中的数据填充方法,可以用于实现上述方法实施例中的全部技术方案,其各个功能模块的功能可以根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述实施例中的相关描述,此处不再赘述。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的方案进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种数据填充方法,其特征在于,包括:
根据数据库中的已有数据确定所述数据库的空缺数据,并构建所述数据库中所有数据之间的数据依赖关系,重复执行以下步骤,直至所述数据库的空缺数据被填充完毕:
根据所述数据库中的已有数据和所述数据依赖关系确定所述数据库的空缺数据中的可推断数据和至少一组不可推断数据,并根据预设规则从所述至少一组不可推断数据中确定一组待检索数据,根据所述数据库中的已有数据和所述数据依赖关系推断并填充所述可推断数据,从所述数据库的外部资源中检索并填充所述待检索数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述数据库中的已有数据和所述数据依赖关系确定所述数据库的空缺数据中的可推断数据和至少一组不可推断数据,包括:
从所述数据库的空缺数据中,根据所述数据库中的已有数据和所述数据依赖关系确定与所述数据库中的已有数据存在数据依赖关系的空缺数据,作为所述数据库的空缺数据中的可推断数据;
根据所述数据库中的已有数据和所述数据依赖关系确定所述数据库的空缺数据之间的空缺数据依赖关系;
以所述数据库的各个空缺数据为节点,以各个空缺数据之间的空缺数据依赖关系作为节点之间的有向边,构建空缺数据依赖图,并根据所述空缺数据依赖图确定所述数据库的空缺数据中的至少一组不可推断数据。
3.根据权利要求2所述的方法,其特征在于,所述根据所述空缺数据依赖图确定所述数据库的空缺数据中的至少一组不可推断数据,包括:
从所述空缺数据依赖图的各个节点中,将存在相同空缺数据依赖关系且互相之间不存在任何数据依赖关系的节点合并为一个节点,进行节点合并;
节点合并之后,对于存在从多个节点指向自身的多个有向边的节点,删除从多个节点指向自身的多个有向边,生成简化空缺数据依赖图;
从所述简化空缺数据依赖图中,将只具有从自身出发指向其它节点的有向边的节点以及与其它节点之间不存在任何有向边的节点集合对应的空缺数据作为所述数据库的空缺数据中的至少一组不可推断数据;所述节点集合包括至少两个节点。
4.根据权利要求1所述的方法,其特征在于,所述根据预设规则从所述至少一组不可推断数据中确定一组待检索数据,包括:
从所述至少一组不可推断数据中选择数量最少的一组数据,作为一组待检索数据。
5.根据权利要求1所述的方法,其特征在于,所述外部资源包括互联网资源。
6.一种数据填充系统,其特征在于,包括:
构建模块,用于根据数据库中的已有数据确定所述数据库的空缺数据,并构建所述数据库中所有数据之间的数据依赖关系;
填充模块,用于重复执行以下步骤,直至所述数据库的空缺数据被填充完毕:
根据所述数据库中的已有数据和所述数据依赖关系确定所述数据库的空缺数据中的可推断数据和至少一组不可推断数据,并根据预设规则从所述至少一组不可推断数据中确定一组待检索数据,根据所述数据库中的已有数据和所述数据依赖关系推断并填充所述可推断数据,从所述数据库的外部资源中检索并填充所述待检索数据。
7.根据权利要求6所述的系统,其特征在于,所述填充模块,包括:
第一确定模块,用于从所述数据库的空缺数据中,根据所述数据库中的已有数据和所述数据依赖关系确定与所述数据库中的已有数据存在数据依赖关系的空缺数据,作为所述数据库的空缺数据中的可推断数据;
第二确定模块,用于根据所述数据库中的已有数据和所述数据依赖关系确定所述数据库的空缺数据之间的空缺数据依赖关系;
第三确定模块,用于以所述数据库的各个空缺数据为节点,以各个空缺数据之间的空缺数据依赖关系作为节点之间的有向边,构建空缺数据依赖图,并根据所述空缺数据依赖图确定所述数据库的空缺数据中的至少一组不可推断数据。
8.根据权利要求7所述的系统,其特征在于,所述第三确定模块,包括:
节点合并单元,用于从所述空缺数据依赖图的各个节点中,将存在相同空缺数据依赖关系且互相之间不存在任何数据依赖关系的节点合并为一个节点,进行节点合并;
有向边修剪单元,用于节点合并之后,对于存在从多个节点指向自身的多个有向边的节点,删除从多个节点指向自身的多个有向边,生成简化空缺数据依赖图;
查找单元,用于从所述简化空缺数据依赖图中,将只具有从自身出发指向其它节点的有向边的节点以及与其它节点之间不存在任何有向边的节点集合对应的空缺数据作为所述数据库的空缺数据中的至少一组不可推断数据;所述节点集合包括至少两个节点。
9.根据权利要求6所述的系统,其特征在于,所述根据预设规则从所述至少一组不可推断数据中确定一组待检索数据的填充模块,用于:从所述至少一组不可推断数据中选择数量最少的一组数据,作为一组待检索数据。
10.根据权利要求6所述的系统,其特征在于,所述外部资源包括互联网资源。
CN201510305681.7A 2015-06-04 2015-06-04 一种数据填充方法及系统 Active CN104850658B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510305681.7A CN104850658B (zh) 2015-06-04 2015-06-04 一种数据填充方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510305681.7A CN104850658B (zh) 2015-06-04 2015-06-04 一种数据填充方法及系统

Publications (2)

Publication Number Publication Date
CN104850658A CN104850658A (zh) 2015-08-19
CN104850658B true CN104850658B (zh) 2018-08-17

Family

ID=53850302

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510305681.7A Active CN104850658B (zh) 2015-06-04 2015-06-04 一种数据填充方法及系统

Country Status (1)

Country Link
CN (1) CN104850658B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106095825A (zh) * 2016-05-31 2016-11-09 深圳市永兴元科技有限公司 数据生成方法和装置
CN108228896B (zh) * 2018-02-05 2019-02-05 清华大学 一种基于密度的缺失数据填补方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101196885A (zh) * 2006-12-06 2008-06-11 鸿富锦精密工业(深圳)有限公司 网页数据自动填充系统及方法
CN103077130A (zh) * 2012-12-31 2013-05-01 上海算芯微电子有限公司 信息处理方法及装置
CN103440283A (zh) * 2013-08-13 2013-12-11 江苏华大天益电力科技有限公司 一种测点数据的补缺系统及补缺方法
CN104123312A (zh) * 2013-04-28 2014-10-29 国际商业机器公司 一种数据挖掘方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120185477A1 (en) * 2011-01-14 2012-07-19 Shah Amip J System and method for supplying missing impact factors in a database

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101196885A (zh) * 2006-12-06 2008-06-11 鸿富锦精密工业(深圳)有限公司 网页数据自动填充系统及方法
CN103077130A (zh) * 2012-12-31 2013-05-01 上海算芯微电子有限公司 信息处理方法及装置
CN104123312A (zh) * 2013-04-28 2014-10-29 国际商业机器公司 一种数据挖掘方法和装置
CN103440283A (zh) * 2013-08-13 2013-12-11 江苏华大天益电力科技有限公司 一种测点数据的补缺系统及补缺方法

Also Published As

Publication number Publication date
CN104850658A (zh) 2015-08-19

Similar Documents

Publication Publication Date Title
JP5369154B2 (ja) クリックディスタンスを用いて検索結果をランク付けするシステムおよび方法
An et al. Characterizing and mining the citation graph of the computer science literature
Leung et al. Mining frequent patterns from uncertain data with MapReduce for big data analytics
US20090307184A1 (en) Hyperspace Index
WO2007041120A1 (en) Click distance determination
CN106951526A (zh) 一种实体集扩展方法及装置
US7421395B1 (en) System and method for producing unique account names
CN104484478B (zh) 一种关联聚类数据瘦身方法及系统
CN106960020A (zh) 一种创建索引表的方法及设备
CN111708497A (zh) 一种基于hdfs的云环境数据存储优化方法
CN104850658B (zh) 一种数据填充方法及系统
JP2013511788A (ja) 推論検証及び漸増的な推論のためのトリプルの格納方法及び装置、並びにこれらに適した推論依存性索引装置
CN106383826A (zh) 数据库查询方法和装置
KR101416586B1 (ko) 해쉬를 이용한 전문 기반 논리 연산 수행 방법
Potter et al. Querying distributed RDF graphs: the effects of partitioning
CN104881487B (zh) 一种基于质量控制的数据填充方法及系统
US20170046371A1 (en) Single-level, multi-dimension, hash-based table partitioning
Kumar et al. An extended approach to Non-Replicated dynamic fragment allocation in distributed database systems
Khan Efficient Partitioning of Large Databases without Query Statistics.
Effendy et al. Investigations on rating computer sciences conferences: An experiment with the microsoft academic graph dataset
Selçuk Candan et al. Using random walks for mining web document associations
CN110019054A (zh) 日志去重方法和系统、内容分发网络系统
Usmani et al. Unified Author Ranking based on Integrated Publication and Venue Rank.
Hees et al. Betterrelations: collecting association strengths for linked data triples with a game
CN108256083A (zh) 基于深度学习的内容推荐方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20180703

Address after: No. 10, mayor Jinglu Road, Zhangjiagang, Suzhou, Jiangsu

Applicant after: Zhangjiagang Institute of Industrial Technologies Soochow University

Applicant after: Soochow University

Address before: No. 10, mayor Jinglu Road, Zhangjiagang, Suzhou, Jiangsu

Applicant before: Zhangjiagang Institute of Industrial Technologies Soochow University

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant