Distributed Privacy-Preserving Record Linkage using Pivot-based Filter Techniques论文总结


using Pivot-based Filter Techniques论文总结)


Abstract

我们提出并评估了一种基于 Apache Flink 的新并行 PPRL 方法,该方法旨在实现大型数据集的高性能和可扩展性
该方法支持度量距离函数的基于枢轴的过滤方法,可节省许多相似性计算
我们描述了确定枢轴和基于枢轴的链接的分布式方法。我们还展示了该方法对不同数据集和配置的高效性。


I. INTRODUCTION

记录链接或实体解析旨在链接指向同一现实世界实体(例如人员或产品)的记录。通常缺乏全局标识符,因此只能通过比较可用的准标识符 (QI),例如姓名、地址或出生日期来实现联系。
但是,在许多情况下,只有在对敏感信息进行充分保护以确保患者或客户等个人隐私的情况下,数据所有者才愿意或被允许为此类数据集成提供数据。

隐私保护记录链接 (PPRL) 是一种很有前途的方法,它允许集成和使用来自不同站点的个人相关数据,而不会泄露个人身份 [1]、[2]。

图 1 说明了两个数据源(例如医院)的 PPRL 以及使用受信任的单元来执行链接。
在这里插入图片描述
该链接单元仅接收编码的 QI,但不接收与分析和医学研究相关的健康数据 [3]。后者提供给研究人员,但没有针对个人的 QIs 以及链接 ID(化名),允许组合来自不同站点的医学数据以改进数据分析和研究。

PPRL面临着需要解决的几个挑战,以确保其实际适用性。
特别是,必须通过对敏感数据和组织结构进行适当编码来确保高度隐私
PPRL 必须通过避免错误或丢失匹配来实现高链接质量。
此外,需要具有快速链接时间的高效率和对大数据量的可扩展性。
为了提高效率,可以通过采用阻塞或过滤方法来减少比较次数[4]。此外,链接单元可以在多个处理节点上并行执行 PPRL。

在本文中,我们专注于通过应用过滤和并行处理来提高 PPRL 的性能
我们对度量距离函数采用基于枢轴的过滤方法,该方法已被证明可以消除集中式 PPRL [5] 的许多比较
然而,这种方法的集中式版本对于具有数百万条记录的大型数据集来说是不够的,正如在精准医学等应用中所期望的那样。为了处理如此大的数据集,我们还支持基于分布式处理框架 Apache Flink [6] 的基于枢轴的度量空间方法的并行 PPRL。

具体来说,我们做出以下贡献:

  • 我们提出了并行算法,用于确定枢轴和用于选择枢轴的不同策略的基于枢轴的匹配过程
  • 我们概述了基于 Apache Flink 的实现,这是一个支持高效分布式内存处理的现代框架
  • 我们全面评估了针对不同数据集和许多配置所提出方法的性能和可扩展性

在第二节中,我们首先讨论相关工作并概述 PPRL 的基于枢轴的度量空间方法。
在第三节描述了我们的分布式算法及其实现
在第四节评估了这些方法
在第五节得出结论


II. RELATED WORK AND BACKGROUND

已经提出了大量 PPRL 方法来解决研究挑战,例如提高安全性和隐私性、链接质量和可扩展性
为了获得高效率和可扩展性,重要的是通过采用阻塞和过滤技术来避免问题的二次复杂性(将来自一个来源的每个记录与来自另一个来源的所有记录进行比较)[4]。
特别是,基于枢轴的过滤策略已被证明对集中式 PPRL [5] 非常有效,并且比 PPJoin(称为 P4Join)过滤的隐私保护版本更有效 [11]。我们将在第 II-B 节中描述枢轴方法。

A. PPRL Setup

我们遵循具有两个数据所有者和一个可信链接单元 [4] 的三方协议,如图 2 所示。
数据所有者首先交换用于编码其数据的确切参数,特别是哪些属性和要使用的编码函数。
然后将编码的数据集发送到链接单元以执行链接算法并识别相似的记录
然后将匹配记录的 ID 对发送回数据所有者,他们现在可以链接他们的敏感数据,而不会泄露任何个人信息 [4] [5]。
在这里插入图片描述
对于数据的编码,我们使用布隆过滤器[14],在实际应用中越来越多地用于 PPRL [3]。记录的属性值被标记为一组字符 n-gram,其中通过将具有固定长度的位数组的特定位设置为 1,将多个哈希函数应用于 n-gram。

作为链接单元,我们将数据集作为编码位数组接收以查找相似的位数组。在下文中,我们将第一个数据源(通常是较大的数据源)称为索引数据源 I,其中元素(Bloom 过滤器)i ∈ I。第二个数据源表示为查询数据源 Q,其中元素(Bloom 过滤器)q ∈ Q

B. Metric Space for PPRL

PPRL 的度量空间
度量空间 M 定义为一组数据对象 X 和距离函数 d 的对 M(X, d),它必须满足几个属性,特别是三角不等式:∀a, b, c ∈ X: d(a, c) ≤ d(a, b)+ d(b, c) [15],可用于过滤。

作为布隆过滤器的距离函数,我们使用汉明距离[15]:
在这里插入图片描述
它特别适用于位数组,通过按位异或来确定不同设置的位位置的数量。

通常在 PPRL 中,阈值 t ∈ [0, 1] 用于定义两个匹配记录必须满足的最小相似度。两条记录的相似度可以用 Jaccard 相似度计算 [15]:
在这里插入图片描述

然而,由于我们想使用汉明距离 dh 来计算 PPRL 过程中的距离,我们必须为元素 q ∈ Q 定义相似半径 rad(q)将阈值 t 转换为最大汉明距离
这可以通过 Jaccard 相似度和汉明距离 simj(x, q) ≥ t ⇔ dh(x, q) ≤ (|x| + |q|)( (1−t) / (1+t) ) 和长度之间的以下关系来实现过滤器 |x|≤ |q|/t 。相似半径的结果方程为 [5]
在这里插入图片描述
|q| 是 q 的基数(1 位的数量)。与 q 匹配的所有记录的距离必须小于或等于 rad(q),即它们必须位于以该半径围绕 q 的圆中。

为了减少比较次数,我们从 I 中选择几个元素作为枢轴元素 p ∈ P,其中 P ⊂ I 是所有枢轴的集合。 I 中的所有其他元素都分配给它们最近的枢轴。对于每个枢轴 p,我们获得其分配的元素 i 的集合 set( p),它们的距离 dh(i, p) 以及表示从枢轴到其元素的最大距离的半径 rad( p)。

我们现在可以利用三角不等式来过滤 I 和 Q 之间的距离比较。首先,通过计算 dh(p, q) 将每个元素 q ∈ Q 与所有枢轴 p ∈ I 进行比较。 q 不需要与任何 i ∈ set( p) 进行比较
如果第一个过滤器dh(p, q) >rad(q)+ rad(p )
适用,因为 p 和 q 的半径不重叠。对于剩余的枢轴(如图 3 中的示例),我们使用预先计算的距离 dh(i, p) 进行第二个过滤器步骤(距离过滤器)。
如果 dh(p, q) - dh(p, i) >rad(q) 则 q 和 i 不能匹配,可以保存它们的比较。仅对于 q 和 i 的剩余候选对,必须计算它们的距离 dh(i, q)。
在这里插入图片描述

C. Determining Pivots

确定枢轴
枢轴使用的有效性很大程度上取决于枢轴的数量以及如何选择枢轴。一般来说,只有启发式方法可以找到“好的”支点。枢轴半径之间的最小重叠数量被认为是必要的要求,因为它减少了必须将 Q 的多个记录与多个枢轴 p 及其分配的元素进行比较的情况。这表明在度量空间的“边缘”上的枢轴是更可取的[16]。为了找到支点,我们应用了两个迭代的最先进算法,运行时复杂度为 O(|I|·|P|):

  • Maximum Separation (ms):最大分离
    ms旨在最大化枢轴之间的距离总和。在随机选择第一个枢轴后,通过选择与所有先前选择的枢轴的距离总和最大的元素来选择以下枢轴[16]。
  • Farthest-First-Traversal (fft):最远优先遍历
    fft 尝试在度量空间中选择“角”作为枢轴。在每次迭代中,对于每个元素,计算到所有先前选择的枢轴的最小距离。该距离最大的元素被选为下一个枢轴[16]。

III. DISTRIBUTED PPRL

我们使用基于枢轴的度量空间方法的分布式 PPRL 方法在两个并行执行的主要阶段中工作:预处理和匹配

预处理包括几个步骤:
首先,确定索引数据集的每个分区上的局部主元。从局部枢轴的联合中执行最终枢轴的全局选择。我们考虑以下策略来确定支点:

  • Local strategies:
    随机选择(随机)、最远优先遍历 (fft) 、最大间隔 (ms)
  • Global strategies:
    无全局处理 (none) 、 Farthest-First-Traversal (fft) 、 最大分离 (ms)
    在这里插入图片描述
    将记录 i ∈ I 分配给所选的枢轴 p 也在预处理阶段进行。在每个查询记录 q ∈ Q 的匹配阶段,相关的主元由主元过滤器确定。然后,在应用距离过滤器后执行候选对的实际匹配。

对于实现,我们使用 Apache Flink,这是一个流行的开源框架,用于在 Shared Nothing 集群中进行并行数据处理 [6]。它保证分布式数据流应用程序的高性能、可用​​性和准确性,以及低延迟的高吞吐量。数据处理由核心中的分布式流数据流引擎作为一次事件处理。我们使用 Flink DataSet API 进行批处理。它提供了许多强大的运算符来对数据集执行不同的转换,这些转换超出了简单的 MapReduce 范式 [6]。

图 4 概述了 Flink 实现的主要步骤,用于对索引数据源 I(步骤 1 到 4)进行预处理并与查询数据源 Q 进行匹配(步骤 5 和 6)。两个来源的记录(布隆过滤器)水平分布在大小相等的分区中的 N 个工作人员中。
在这里插入图片描述

A. Preprocessing

在步骤 1 中,使用 MapPartition 确定每个分区上的局部枢轴 PL。
接下来,确定全局枢轴 PG(步骤 2)确定的全局枢轴 PG 保存在分布式缓存中,可在每个分区上访问。在 Flink 中,该集合在步骤 3 中作为 Map 运算符的广播变量 [17] 可用。
在此步骤3中,索引记录 i 被分配到离 PG 最接近的枢轴 p。对于每条记录 i,枢轴分配 (i, p) 以及计算的距离 dh(i, p) 存储为 IP。
在第 4 步中,我们通过应用 GroupReduce 运算符对每个枢轴 p 的记录进行分组,并确定所有已分配索引记录的最大距离 dh(i, p)(使用先前计算的距离),进一步确定每个枢轴的半径。我们将全局枢轴及其半径存储在 PGR 中。

B. Matching

在匹配阶段,我们为每个查询记录 q 确定可能包含匹配候选的全局枢轴。
这是通过在根据公式 3 确定 q 的相似性半径 rad(q) 后,在步骤 5 中应用枢轴过滤器(公式 4)来实现的。
结果数据集 QP 包含相关的查询/枢轴组合 (q, p) 以及它们的距离 dh(q, p) 和相似半径 rad(q)。
给定分配 IP 和 QP,记录现在可以按枢轴分配,其中每个组由枢轴及其分配的索引和查询记录组成。可以再次使用步骤 4 中先前执行的 IP 分组。
有了这样形成的索引和查询记录组,我们在步骤 6 中使用 CoGroup 运算符执行最终匹配,首先对每对 (i, q) 应用距离过滤器(等式 5)。对于距离过滤器之后剩余的所有候选对,必须计算距离 dh(i, q) 并与 rad(q) 进行比较以找到匹配对。

在整个过程中,我们使用汉明距离 dh 进行比较,因为它可以比 Jaccard 相似度更有效地计算位数组。然而,rad(q) 只给我们一个关于给定阈值 t 的上限。因此,我们必须在最后一步之后计算所有可能匹配的 Jaccard 相似度,并将其与 t 进行比较。正如我们的实验表明,这仍然是整个过程更有效和更快的方法。在匹配结果中返回所有满足阈值 t 的对。


IV. EVALUATION

我们的评估考虑了三个不同的数据集
我们调查了不同的局部和全局枢轴策略的影响,以及不同数据和集群大小的可扩展性和加速行为。
我们还将基于枢轴的方法与使用 P4Join 过滤的基线方法进行了比较。

A. Experimental Setup and Metrics

表一总结了评估数据集的主要特征。
在这里插入图片描述

由于该主题的隐私背景,很难获得来自医院等医疗资源的真实数据。因此,我们选择可访问的真实数据作为第三个数据集 C。它是根据北卡罗来纳州的选民登记数据 [18] 使用不同时间点的快照生成的。其他两个数据集(G 和 L)是使用 GeCo 工具 [19] 综合生成和破坏的,具有不同数量的记录 S = nI+nQ。记录创建基于来自整个德国(数据集 G)或仅来自莱比锡周边地区(数据集 L)的邮政编码、城市和名称的查找文件 [20]。后一个数据集代表了一个更具区域性的应用场景,例如,对于来自附近医院的患者。

数据是基于三元组编码的,这些三元组用 20 个哈希函数映射到可变长度的 Bloom 过滤器中(我们使用不同的 Bloom 过滤器大小,具体取决于 [21] 提出的三元组的平均数量)。
由于我们专注于运行时和过滤器有效性的评估,我们应用了一个固定的相似性阈值,导致 S = 1M 的最佳匹配质量(F1-score)。表 I 还显示了这些阈值以及由此产生的召回率、精度和 F1 分数值。对于真实的数据集 C,由于数据错误程度较高,我们的质量最低。然而,链接质量仅取决于阈值 t。它不会被下面考虑的其他参数改变。

B. Results

在这里插入图片描述

    1. Number of Pivots:
      支点数量
      图 5(a) 显示了策略 fft fft 在数据集 G 上的运行时间,其中全局枢轴 nP(x 轴)和局部枢轴 nL(不同颜色的曲线)的数量的不同值。
    1. Pivot Strategies:
      支点策略
      对于其他数据集 L 和 C (S =1M),随机 fft 组合甚至具有最快的运行时间。这表明全局枢轴的选择似乎比局部枢轴选择更重要,并且简单快速的随机策略足以确定局部枢轴。
    1. Scalability:
      如图 5(d) 所示,对于合成数据集,枢轴空间方法在所有数据大小上都优于 P4Join。 P4Join 在过滤方面也没有那么有效。对于数据集 G 和 L,长度过滤器仅将比较总数减少了 15%,而前缀过滤器几乎没有效果。原因是相对长的位向量导致长前缀(大约 100 位),因此前缀不重叠​​的概率很低。
    1. Speedup:
      如图 5(f) 所示,对于数据集 G 的加速对于几个枢轴策略几乎是线性的(其他数据集的图表看起来非常相似)。对于某些策略,我们甚至实现了比线性更好的加速(例如,fft fft)。原因是 N 较低的情况下运行时间较长,尤其是 N = 2 时,需要更多数量的局部枢轴 nL,从而导致预处理时间增加。

V. CONCLUSION

我们提出并评估了一种新的基于分布式枢轴的 PPRL 方法,用于度量距离。为了实现,我们使用 Apache Flink 作为最先进的分布式处理框架。

对不同数据集的实验评估表明,最远优先遍历 (fft) 算法与 fft 或随机策略相结合来寻找全局枢轴,由于具有良好的过滤效果,其性能优于其他策略。

并行方法还显示出对更大数据大小的良好可扩展性和出色的加速。

对于未来的工作,我们计划进一步研究分布式 PPRL 方法,并将它们放在一个工具箱中,用于应用程序和比较评估。此外,我们目前与大学医院联盟合作建立 PPRL 服务。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值