按需数据集成:经验与常见主题
1 引言
数据集成以隔离用户与不一致表示的方式,将来自多个数据源的数据汇集在一起。几十年来,数据集成一直被视为一个重要领域,因为商业组织常常面临大量数据库,而这些数据库的综合使用对于数据分析至关重要[5]。最近,人们对大数据的兴趣日益增长,人们逐渐认识到数据整理——即为分析所需而合并和清理数据集的过程——是许多大数据项目中重要且昂贵的部分[28]。
在传统数据集成中,数据集成和领域专家在工具支持下共同协作,以捕获应用程序的数据需求,并确定如何将来自不同数据源的数据进行整合以满足这些需求。这种方法在专家大量参与的情况下,处于成本高、质量高的区间,适用于相对稳定的企业环境。
传统方法不太适用于以下场景:存在大量数据源;数据源频繁增减或快速变化;需求多样或不稳定;或者没有预算聘请数据集成人员。这类场景并不少见。例如,在许多领域中,网络上可能存在数百甚至数千个潜在相关的数据集,可以通过数据提取技术获得结构化表示[20]。在这种情况下,通过系统化的手动数据集成来实现完美解决方案是不现实的。例如,考虑一家希望与竞争对手进行价格比较的电子商务公司;相关数据源每天都在不断变化,且格式和内容也经常更新。典型的在线零售商将难以手动集成这些相关数据源,从而支持明智的决策。
按需数据集成,有时也称为数据空间[22],已被提出作为传统方法的一种替代方案。针对按需付费方法[23],提出了多种方案,这些方案通常包括: 初始化 :自动生成集成,其质量通常较低;随后是 改进 :获取有关集成某些方面的反馈,并应用该反馈来修订集成。反馈可以是: 显式的 ,例如对正确/错误结果值的注释;或者是 隐式的 ,例如从查询日志中推断匹配项或排序。
尽管已经提出了许多按需付费的数据集成技术方案,但我们所知的关于支持其系统化开发的方法论研究却很少。在本文中,我们识别出在多个方案中反复出现的一些主题,并描述了如何利用这些主题来刻画若干代表性方案的行为特征。
本文结构如下。第2节概述了数据集成过程可能需要面对的主要挑战。第3节以框架的形式提出了本文的主要贡献,该框架捕捉了可用于设计或比较按需付费技术的 recurring themes。随后在第4节中通过实际案例说明该框架,用以描述一系列方案。第5节给出了结论以及进一步研究的方向。
2 数据集成
数据集成的整体任务可以视为由一系列步骤组成,如图1所示。对于某些集成活动,其中一些步骤可能不需要,可能会有额外的步骤,或者该过程可能是迭代的。然而,这些是集成生命周期的常见组成部分:
源选择 用于识别可能与数据集成任务相关的数据源(例如[17])。
模式抽取 识别深层网络(例如[20])或不符合正式模式的数据源(例如在关联开放数据中[12])中的重复结构(以及符合这些结构的数据)。
匹配 识别不同模式中元素之间的对应关系,例如建议一个模式中的属性与另一个模式中的属性表示相同的概念(例如[33])。
映射生成 生成可用于将数据从一个模式转换到另一个模式的查询(例如[19])。
映射选择 在生成的映射之间进行选择,以确定出正确且/或满足应用程序需求的子集(例如[7])。
实体解析 识别数据集合内的重复实例(例如[18])。
数据融合 结合来自重复实例的信息,创建目标表示的实例(例如[6])。
这些步骤可以自动、手动或半自动地执行。在自动化方法中,算法会生成候选方案;例如,在匹配过程中可以使用语法相似性度量来比较模式元素,而在映射生成过程中可以生成考虑了匹配结果的替代映射。在手动方法中,人类专家通过使用通用工具探索相关信息来创建解决方案;但在实践中这可能效率较低,因为人工决策可以借助自动化分析的结果来支持。因此,传统数据集成是一个半自动过程,例如,由自动化技术生成的候选匹配项和映射会由专家进行审查和修订。
在传统方法中,这种集成工作是在向用户呈现精心优化的集成功能之前就一次性完成的 up front。而在 pay-as-you-go 方法中,可以通过人力投入在任何阶段对集成进行优化,且该人力投入可能无需专家参与。
3 按需付费的数据集成
如第1节所述,按需数据集成通常包括两个阶段:初始化和改进。
初始化阶段涉及使用自动化技术生成一个尽力而为的初始集成。改进阶段则涉及某种形式的反馈,最初是对初始集成的反馈,随后是基于迄今为止获得的反馈所生成的最佳版本的反馈。因此,改进阶段本质上是增量式的,而按需付费方法的支付可以采取多种形式。例如,考虑引言中的电子商务示例。一种反馈形式可能来自该电子商务公司的数据科学家,他们使用相关性评分对已检索数据的不同网站进行标注。这种形式的反馈需要了解价格比较任务,但不需要了解数据集成知识,其支付形式是数据科学家所花费的时间。另一种反馈方式可能是通过众包获取有关实体解析的信息(例如[35])。这种形式的反馈需要能够识别哪些产品是相同的,这可能被认为涉及常识性比较,其支付形式是向众包工作者支付金钱。
本文重点关注改进阶段的按需数据集成,特别是讨论在按需数据集成技术设计中的重复特征,这些特征既可用于描述现有方案,也可用于设计新方案。
按需数据集成方案中的重复特征如图2所示,并在下文进行讨论;一系列案例研究中每个特征的示例见第4节。
识别问题
各个方案往往涉及图1中的单个数据集成步骤,有时还涉及某个步骤内的特定功能。
定义目标
需要明确构成问题良好解决方案的标准;这可以通过通用的度量指标(如精确率或召回率)来实现,也可以使用针对特定问题的度量指标。
定义搜索空间
按需数据集成的改进阶段通常会优化用于初始化的自动技术。该自动技术使用一种算法来生成候选方案。在搜索候选方案时,必须以某种方式考虑目标。
根据反馈定义目标函数
目标函数用于在寻找有效解决方案的过程中,根据反馈来评估这些解决方案的有效性。这反过来涉及到明确所需反馈的类型。
选择搜索函数
搜索功能是一种算法,它根据某些反馈,以寻求最大化(或最小化)目标函数的方式,探索解决问题的替代方案。
评估结果
由于反馈的目标函数始终近似于目标,因此通过实验评估需要多少反馈才能使搜索识别出表现良好的解非常重要。
4 按需付费案例研究
在本节中,我们重新审视了若干关于改进阶段的按需数据集成方案3中的特征,旨在说明这些步骤如何捕捉其关键特征。
4.1 映射选择
在本节中,我们展示如何应用该框架来表征映射的选择,这些映射共同满足用户指定的质量要求[3]。
识别问题
给定一组匹配项,可以自动生成一组候选映射。例如,以下是通过商用模式映射工具生成的映射,用于填充具有模式(名称, 国家, 省份)的表。
M1 = SELECT 名称, 国家, 省份 FROM Mondial.城市
M2 = SELECT 城市, 国家, 省份 FROM Mondial.位于
该问题可以定义如下:给定一组候选映射及其结果的反馈,识别出在精确率和召回率方面最能满足用户需求的子集。因此,在此问题中,我们假设用户可能愿意在精确率(返回结果中正确结果的比例)和召回率(被返回的正确结果的比例)之间进行权衡。
定义目标
在问题陈述的基础上,我们可以确定多个不同的目标,这些目标被表述为约束优化问题。对于一组候选映射 M:
- 变体1 :最大化(对于某些 s ⊆ M)精确率(s),使得召回率(s) > 阈值
- 变体2 :最大化(对于某些 s ⊆ M)召回率(s),使得精确率(s) > 阈值
因此,我们假设用户可以指定其在某一维度上可容忍的质量下降程度,然后目标是在另一维度上尽可能表现良好。例如,如果用户认为可以容忍五分之一的结果不正确,则将使用变体2,阈值为0.8。
定义搜索空间
这里的搜索空间是候选映射集合的所有子集构成的集合。一个包含 n 个元素的集合有 2^n 个子集。
根据反馈定义目标函数
目标是基于一组映射的精确率和召回率来定义的。精确率和召回率依赖于真实情况,但我们并不知道真实情况。因此,需要根据反馈来估计真实情况。于是,这里我们假设反馈的形式是用户标注映射结果中的元组是否正确(真阳性)或错误(假阳性)。
例如,在用户反馈的背景下,映射 m 的精确率 UF 可通过统计 UF 中的真阳性 (tp) 和假阳性 (fp) 来估算:
$$
\text{precision}(m, UF) = \frac{|tp(m,UF)|}{|tp(m,UF)| + |fp(m,UF)|}
$$
其中,函数 tp(m, UF)(相应地,fp)返回来自 m 结果中在 UF 内被标注为真阳性(相应地,假正例)的元组集合。一组映射的精确率可以以类似方式估算。
选择搜索函数
可以使用不同的搜索功能来探索可能映射的集合;在原始论文中采用了网格自适应直接搜索[3]。
评估结果
在原始论文[3]中,对结果进行了评估,以确定需要多少反馈才能使搜索可靠地识别满足目标的映射集合。实验表明,在为每个映射获得足够的反馈以可靠地估计其精确率和召回率之前,结果是不可靠的;但通常在每个映射上对少量元组进行反馈后(在实证研究中,通常约为10个),即可获得足够可靠的结果。
按需数据集成:经验与常见主题
4.2 实体解析
在本节中,我们展示如何应用该框架来描述实体解析的按需付费配置。
识别问题
实体解析是识别代表同一实体的不同记录的任务。它也被称为重复检测、实例识别和合并清除[18]。由于成对记录比较的复杂度在记录数量上是 $O(n^2)$ 级别的,实体解析通常涉及以下两个方面:
- 阻塞 :快速但近似地识别候选对;
- 聚类 :更仔细但成本更高的候选对分组,将候选对归入聚类,每个聚类旨在包含代表同一实体的所有记录。
阻塞和聚类都有控制参数(例如阈值),而聚类还具有距离函数。该问题可以定义如下:给定关于记录对的反馈,指示它们是否表示同一实体,找出能够实现记录到簇最有效分配的控制参数设置。
定义目标
目标是最大化记录分配到簇的正确性,同时考虑哪些记录应该被聚类在一起,哪些不应该。
定义搜索空间
搜索空间是由底层实体解析策略所使用的配置参数集;在我们的研究中,我们基于 Costa et al.[13] 的提议进行构建。该特定提议包含 8 个控制参数以及距离函数中的一组权重,每个匹配属性对应一个权重;因此,典型的搜索空间至少包含 12 个数值维度。
根据反馈定义目标函数
目标通过正确聚类的值的比例来定义,这依赖于真实情况,而真实情况是不可获得的。因此,需要基于反馈来估计真实情况;我们使用以下正确性度量方法,该方法要求反馈以记录对之间的匹配或不匹配注释形式给出。在用户反馈 UF 的背景下,聚类 C 的正确性可以通过统计聚类满足反馈中期望的程度来估计,即:
$$
\text{correctness}(C, UF) = \frac{|mm(C, UF)| + |uu(C, UF)|}{|mm(C, UF)| + |uu(C, UF)| + |mu(C, UF)| + |um(C, UF)|}
$$
其中:
- $mm(C, UF)$ 返回反馈中出现在同一聚类中的匹配记录,
- $uu(C, UF)$ 返回反馈中未出现在同一聚类中的不匹配记录,
- $mu(C, UF)$ 返回反馈中未出现在同一聚类中的匹配记录,
- $um(C, UF)$ 返回反馈中出现在同一聚类中的不匹配记录。
选择搜索函数
可以使用不同的搜索功能来探索配置参数的空间;在本例中,我们使用了进化搜索。
评估结果
对于实体解析,存在多个标准测试数据集;我们已使用其中几个数据集对我们的方法进行了评估[29]。结果表明,即使仅对少量百分比的记录提供反馈,也能在正确性上观察到显著改进。
4.3 用户分组
在按需数据集成任务中,从用户处获得的反馈可能是主观的。例如,对于正在寻找假期的用户来说,只有海滩度假才适合作为答案中的合适选项(因此在映射结果中对用户而言是真阳性),而如果将海滩度假作为选项提供给对滑雪感兴趣的人,则可能会被视为假正例。
在本节中,我们展示如何应用该框架来支持采用按需付费方法进行用户分组,并旨在共享反馈[4]。
识别问题
给定一个具有不同兴趣的用户集合,我们能否以一种允许共享反馈的方式对这些用户进行聚类,从而实现更具成本效益的即付即用集成?
定义目标
需要生成用户聚类,其特性在于,利用聚类中所有用户的反馈来指导集成,比仅使用单个用户的反馈能够获得更好的集成效果。
假设我们有兴趣分享有关映射选择的反馈,如第4.1节所述。由于映射选择依赖于使用反馈来估计精确率和召回率,因此目标是根据用户在精确率方面的一致性对其进行聚类。
定义搜索空间
搜索空间是可能的簇的集合。
根据反馈定义目标函数
聚类依赖于距离函数。在这种情况下,用户之间的距离被定义为他们在已提供反馈的映射上获得的精确率估计的平均差异:
$$
\text{distance}(u_i, u_j) = \frac{\sum_{k=1}^{n} |\text{precision}(m_k, UF_{u_i}) - \text{precision}(m_k, UF_{u_j})|}{n}
$$
其中 $u_i$,$u_j$ 是不同的用户,每个 $m_k$ 是一个候选映射,且精确率根据第4.1节中的定义,使用给定用户的反馈来估计某个映射的精确率。
选择搜索函数
使用了层次聚类算法。
评估结果
实验结果表明,当用户距离一个聚类的聚类中心在0.1范围内时,该聚类的反馈几乎与用户提供的反馈具有同等价值。
5 结论
即付即用集成作为一种范式展现出良好的前景,至少在部分情况下是因为在日益普遍的场景中似乎别无选择。对于涉及大量数据源、数据源变化迅速或人工集成预算有限的数据集成任务,结合了自动化与渐进式改进的按需付费方法有望提供具有成本效益的尽力而为的解决方案。
本文提出了一种用于描述和设计按需数据集成改进阶段的框架,并通过典型数据集成任务对这一框架进行了说明。尽管已有许多关于按需数据集成的方案(例如[3,10,11,25,27,34]),但这些方案通常是孤立开发的,缺乏共享的方法论或设计原则的支持。希望本文提出的方案有助于更系统、更高效地设计按需数据集成系统。
接下来,我们将详细阐述正在进行的研究和未来研究的相关领域。
众包
人们对于使用众包来获取不同数据管理任务所需的信息(例如[2,8,32]),以及作为按需数据集成的反馈来源(例如[21,31,35])表现出了极大的兴趣。目前的研究工作主要集中在针对亚马逊土耳其机器人¹或 CrowdFlower²等系统的付费微任务,但结合领域专家与付费微任务的其他方法也可能是有效的(例如[1])。当前的开放性问题包括:识别哪些反馈收集任务最适合哪些人群,以及众包任务的系统化设计。
¹ https://www.mturk.com
² http://www.crowdflower.com
高效反馈收集
由于显式(相对于隐式)反馈涉及人力投入,因此其收集成本较高,必须以最具成本效益的方式获取反馈。为此,已有多种方法被提出,包括使用主动学习或定制算法来确定下一步应获取哪些反馈[14,24,26,36–38],以及研究应招募哪些工作人员来执行任务[9,40]。尽管在这两个方面均已取得显著进展,但尚不明确哪种主动学习形式最适合(或不适合)不同的任务,也不清楚在以下情况下应如何决定收集何种反馈:(i)当存在多个可能需要反馈的不同任务时;或(ii)如何在数据集成生命周期的不同阶段之间共享反馈。
证据的系统化整合
在即付即用集成中,可能存在大量可用于指导集成工作的证据,结合能够利用所有可用证据的自动化技术,以及提供反馈以优化自动化技术结果的机制。证据来源包括:匹配、映射和质量算法的结果;来自不同群体、不同类型和不同质量的反馈;集成使用过程中的日志信息;以及对集成数据集进行分析的结果。因此,还需要一种集成化的数据集成方法,将所有可用证据进行系统化地综合使用。
关于数据集成中的证据累积已有若干研究结果(例如[15,39]),但当前大多数按需数据集成的研究都局限于单一任务的单一类型反馈。真正的突破可能来自于更高的目标,即更多的数据源和更多技术带来的是额外的机会而非额外的挑战(例如,在知识库构建中缺乏反馈的情况下所展示的那样[16,30])。

被折叠的 条评论
为什么被折叠?



