中国人工智能学会通讯——一种基于众包的交互式数据修复方法 1 引言

image

摘要: 数据修复旨在发现和修复数据库中错误的数据。传统的方法依赖于预定义的质量规则发现数据之间的冲突,但不能选择正确的方式解决所发现的冲突。近年来一些方法借助于众包技术进行数据修复,但对人力的过度依赖会造成成本高且效率低等问题。本文提出了一种基于众包的交互式数据修复方法,这种方法同时具备了规则修复法和基于众包修复法的优点。特别设计了规则修复法和众包修复法之间的交互,从而使我们只需要对一小部分数据进行众包修复,就能够大大提高规则修复法的修复质量。证明了使用最少的众包修复数据以达到最大化的修复召回率这一目标是一个难以解决的问题,但之后我们根据数据之间的不一致关系和依赖关系提出了一种高效可行的算法来达到两个方法之间的良好交互。三个数据集上的实验结果证实了所提出的交互式数据修复方法,不仅能够获得高质量的修复效果,而且较一些基准方法而言具有更高的效率。

关键词:数据修复;众包技术;交互算法

1 引言

数据修复旨在发现和修复数据库中错误的数据。近几十年以来,人们提出了各种流派的数据修复算法来发现和修复数据库中的错误数据[1],其中比较主流的修复方法是基于规则的方法[2-4],它们依赖各种各样的质量规则,如FD/CFDs(functional dependencies/conditional functional dependencies)[5-7],来发现数据间的冲突和矛盾,并期望通过解决这些冲突修正错误数据。但是,在没有充足领域背景知识的情况下,这些基于规则的方法仅仅遵循一些简单的修复策略(如最少修改次数策略),来对错误数据进行修复,这样并不能达到很好的修复效果,甚至导致了更多错误的产生[2,4]。

近期,一些工作开始利用众包技术进行数据修复,让众包工人根据预定义的质量规则做出正确的修复决策[8-9],且这些基于众包的方法能够有效提高数据修复的质量。例如,Yakout等人利用用户的反馈来修复数据,并可以自适应地调整训练数据集从而改善数据修复模型[8]。然而,仅凭单一修复模型很难解决所有冲突。另一方面,NADEEF系统[9]允许用户指定数据质量规则,并可以通过编写实现预定义类来修复错误数据。但是,即使研究人员们做了很多努力,这些方法仍然需要很高的人工成本。另外,因为人需要休息,所以任何依赖于人的方法都不会非常高效。

在本文中,提出了一种新颖的混合修复方法,简称CrowdAidRepair,这种方法交替进行基于众包的修复和基于规则的修复,以期能用最少的人工成本获得高质量的修复。具体来说,在修复时仍然使用FD/CFDs发现值之间的冲突,但在修复过程中,基于预定义的质量约束条件,尽量先做基于规则的修复。当不能再通过这些规则修复冲突时,再选择一些值进行众包修复,以使更多的值能够被规则成功修复。我们将迭代地进行这种交互式修复,直至没有更多的值能被修复。为此,CrowdAidRepair方法面临如何选择最少数目的数据进行众包修复来最大化被规则修复的数据个数。理想情况下,最优的交互方案应该使用最少数目的众包修复操作,正确解决所有被发现的冲突。

然而,这是一个很有挑战的交互式调度问题:首先,为了最小化人工成本,我们希望只有在冲突不再能被基于规则的修复方法解决时才使用众包修复方法。但是只有到其他冲突都被解决了之后,才能知道这个冲突是否可以被规则正确修复。而且,整个交互问题是动态进行的,即随着越来越多的冲突被解决,基于规则的修复方法可能会导致没有解决的冲突随之发生变化,或者产生一些新的冲突。

我们通过理论分析证明,自动获得最优的交互方案是一个难以解决的问题。因此,我们提出了一个交替式修复算法,即通过基于规则的修复方法和基于众包的修复方法之间的交互生成一个有效的交互模式。我们根据估计的每个值的“不和谐评分”,研究了每个值给数据库带来的不一致性。并安排“不和谐评分”高的值优先被众包检查。除此之外,虽然我们是在动态情况下安排冲突的修复顺序,但仍可以根据冲突之间的依赖关系做出一个优先顺序的决定。此外,解决冲突关系中的环路问题也是一个不小的挑战,为此提出了一个贪心算法去解决这个NP-hard问题。

贡献我们提出了CrowdAidRepair,一种新颖的基于众包的数据修复方法,该方法交替地选择基于众包和基于规则的修复方法,以达到在使用最少人工成本的情况下获得尽量高质量的修复结果。为了平衡修复质量和修复成本,研究并解决了给定质量约束前提下众包修复和规则修复之间的交互问题。在理论分析了不能找到最优的交互方案的情况下,提出了能生成有效交互方案的算法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值