Speeding up Privacy Preserving Record Linkage for Metric Space Similarity Measures论文总结


Abstract

在本文中,我们研究如何通过限制匹配编码记录的搜索空间来提高 PPRL 的效率和可扩展性。
我们专注于度量空间的相似性度量,并研究 M 树的使用以及基于枢轴的解决方案。
我们的评估表明,新方案的性能优于以前的过滤器方法一个数量级。


1 Introduction

最近的 PPRL 方法使用一组单向哈希函数将准标识符映射到固定大小的位向量(或布隆过滤器)[18]。
这种方法已被证明可以安全地防止人员重新识别,同时仍然允许近似匹配,因为具有相似准标识符的人也具有相似的位向量。

我们假设使用编码位向量的匹配是在受信任的第三方上完成的,以避免数据所有者之间交换数据。

与记录链接 (RL) 的传统方法一样,如果将每个编码记录与所有其他编码记录匹配(二次复杂度 w.r.t. 记录数),则 PPRL 具有固有的可伸缩性问题。

通过过滤器和阻塞技术或并行匹配来减少搜索空间

我们专注于利用常见相似函数的特征和预定义的相似阈值来限制要匹配的记录数量的过滤技术。虽然这种方法在 RL [10] 中很常见,但它在 PPRL 中受到的关注相对较少。
到目前为止,两个最有前途的方案是对所谓的多位树和 PPJoin 方法的改编[19]。

在本文中,我们研究了非常常见的度量空间相似性度量的 PPRL 过滤技术。

  • 我们提出了不同的方法来利用度量空间的所谓三角不等式来减少 PPRL 的搜索空间,特别是使用 M-tree 以及基于枢轴的解决方案。
  • 我们对不同的方法进行了比较评估,以确定最有希望的度量空间相似性度量的 PPRL 方法。
  • 我们评估并比较新方法与之前提出的基于多位树[2] 和P4Join [19] 的PPRL 方法。评估表明,新方法的执行速度提高了一个数量级,因此我们提出了一种非常有前途的可扩展 PPRL 技术。

2 Related Work

记录链接的问题,即识别代表相同真实实体的记录,主要挑战是实现高匹配质量以找到所有匹配记录以及对大型数据集的高效率和可扩展性

  • 对于高匹配质量,通常需要考虑几个识别属性的相似性,例如出版物的标题和作者,或人员的姓名、地址和性别。
  • 通过阻塞和过滤技术来减少搜索空间以及在多个处理器上并行执行这些方法(例如,使用 Hadoop [12]),可以提高效率和可扩展性。

过滤策略特别用于所谓的相似性连接[10],要求两条记录的相似性超过最小阈值才可能匹配。

  • PPJoin 方法 [22] 是一种有效的 Jaccard 字符串相似性过滤器技术,因为它采用了多个过滤器,例如如果记录的长度差异很大或标记重叠不足,则从匹配中删除记录。
  • 度量空间的相似性函数的特征,特别是三角不等式(见下一节)也已在以前的方法中用于减少相似性搜索和记录链接的搜索空间,例如 [15, 23]。
  • 此外,已经提出了诸如 M-tree [7] 之类的专用索引结构,以促进度量空间中的快速相似性搜索。

3 PPRL setting

我们简要概述了本节中假设的 PPRL 设置,特别是带有布隆过滤器的编码和具有两个数据所有者和一个可信链接单元的三方架构。

3.1 Encoding with Bloom Filter

对于数据编码,我们遵循 Schnell 等人提出的布隆过滤器方法。 [18]。在这种方法中,用于匹配的所有属性的原始值都被标记为一组 n-gram,然后映射到一个固定大小为 l 的公共位向量(数组)。
在这里插入图片描述

3.2 Use of Linkage Unit for PPRL

与之前的 PPRL 方法 [21] 一样,我们遵循所谓的三方协议,其中来自两个数据所有者 A 和 B 的数据集 R 和 S 由受信任的第三方或链接单元以保护隐私的方式进行匹配
在这里插入图片描述


4 PPRL for Metric Spaces

4.1 Metric Space

度量空间 M(U, d) 由一组数据对象 U 和一个度量 d 组成,用于计算这些对象之间的距离。这种度量的示例是 Minkowski 距离(例如,欧几里得距离)、编辑距离、汉明距离和 Jaccard 系数 [23]。

这些距离函数满足的主要性质和度量空间的特征是三角不等式,可以表示为:
在这里插入图片描述
三角不等式特别有价值,因为它可以用来减少相似性搜索和记录链接的搜索空间
在这两种情况下,我们都必须为查询对象 q 找到距离 d(q, x) 小于或等于最大距离阈值(或高于最小相似度阈值)的对象 x,该最大距离阈值可以看作是半径 rad(q) q 附近(图 3)。

三角形等式允许人们避免根据 y 和 q 相对于参考点或枢轴(例如图中的点 p)的预定距离来计算点 y 和 q 之间的距离。三角不等式意味着:
在这里插入图片描述

如果预先计算的距离 d(p, q) 和 d(p, y) 之间的差异超过最大距离,即在这里插入图片描述

我们知道 y 和 q 不可能足够相似,因此我们可以避免距离计算 d(y, q)。类似地,我们只需要计算满足三角不等式的对象 x 的距离 d(q, x):
在这里插入图片描述

在这里插入图片描述
实际节省取决于枢轴的数量和选择,这些枢轴会影响预先确定与枢轴的距离的成本以及分配给枢轴的对象数量(对象始终与它们最近的枢轴相关联)。

4.2 Similarity and Search Radius for Bit Vectors

位向量的相似度和搜索半径

为了确定可能的匹配,我们可以使用位向量来查找相似度高于阈值 t 的所有记录对。位向量 x 和 q 之间的 Jaccard 相似度衡量设置的位位置之间的重叠程度,定义如下:
在这里插入图片描述
∣x∣ 表示位向量 x 中设置的位数(或基数)。对于图 1 的示例,第一个名称的 11 个设置位也设置在基数为 12 的第二个位向量中。因此,Jaccard 相似度为 11/12 = 0.92。

为了在度量空间中找到相似的对象,通常考虑对象之间的距离而不是它们的相似性。对于 Jaccard 相似度 simj ,这可以通过考虑距离 1 - simj 轻松实现。
我们还可以使用替代距离函数,例如 Hamming 距离,它被证明等同于 Jaccard 相似度 [22]。汉明距离 dh 衡量两个位向量中不同的位位置的绝对数量,即
在这里插入图片描述
对于图 1 中的两个位向量,汉明距离为 1。
由于我们要在本文中使用汉明距离,我们需要确定查询记录 q 的最大绝对距离(或查询半径),以便具有一定的相对相似性满足阈值 t。为此,我们使用来自 [22] 的 Jaccard 相似度和汉明距离之间的以下等价关系:
在这里插入图片描述
对于图 1 中的示例,对于相似度阈值 t = 0.8,我们将获得 dh ≤(11 + 12)×0.2/1.8 = 2.56。因此,只有 1 或 2 的汉明距离会满足相似度阈值。

最大汉明距离 dh 的等式 5 指的是两个输入对象 q 和 x。为了确定仅关于查询对象 q 的最大距离(或半径),我们利用观察结果,即只有那些具有基数 ∣x∣≤∣q∣/t 的点 x 才能满足相似度阈值 t(长度过滤器)。通过将这个不等式带入公式 5,我们得到了最大汉明距离 dh(q) 的以下近似值:
在这里插入图片描述

4.3 PPRL with M-Tree

M-tree 是一种动态索引结构,用于根据对象之间的距离来组织度量空间中的对象,并有助于快速相似性搜索 [7]。
对于 PPRL,我们必须调整索引结构以存储位向量并使用合适的距离度量,例如引入的汉明距离
在我们的设置中,链接单元首先用 M-tree 索引第一个数据集 Re 的编码对象。对于第二个数据集 Se 的每个编码对象 q,然后使用 M-tree 来寻找最相似的 Re 对象,最终测试它们是否匹配 q。

M-tree 由两种类型的节点组成:内部节点和叶节点,它们都存储了最大数量的对象 c。
内部节点 p 存储路由对象,限制度量空间 M 的区域,并具有以下格式:
在这里插入图片描述
其中 p 表示 p 的位向量,ptr(T( p )) 是指向 p 所覆盖的子树的指针,rad( p ) 是 p 在度量空间中的覆盖半径,即 p 与其子树中的位向量。最后 dh(p,parent( p )) 是 p 与其父(路由)对象之间的距离。

叶节点用于存储对象或记录 r 的所有位向量,格式如下:
在这里插入图片描述
其中 r 表示 r 的位向量,id( r ) 是它的标识符,dh(r,parent( r )) 是 r 与其父对象(路由对象)之间的距离。

  • Building Process:
    M-tree 的设计旨在将相似的对象一起存储在几个节点中,以便将相似性搜索限制在所有对象的一小部分
    构建过程(算法 1)以自下而上的方式工作,并导致高度平衡的树。
    为了插入一个新的位向量 x,该算法从根开始并递归地通过其子树之一下降,直到叶级别。在每一层,算法搜索一个路由对象,该对象可以保存 x 而无需更新其半径。如果有多个这样的路由对象,则选择最接近 x 的一个(第 3-5 行)。如果这样的节点不存在,则选择需要最小扩大其半径的路由对象,并将其覆盖半径更新为到 x 的距离(第 7-8 行)。如果叶子已经包含 c 个位向量,则在叶子节点中插入 x 会导致溢出。在这种情况下,通过从叶子(第 16 行)中选择两个位向量 o1 和 o2 作为路由对象,然后在 o1 和 o2 上划分 c + 1 位向量(第 17 行)来触发溢出节点上的拆分操作.这种提升和分区操作可能会一直传播到根,在这种情况下,会指定一个新的根,并且树会增长一级。
    在我们的实现中,我们将溢出节点的父对象作为第一个路由对象;作为第二个提升对象,我们选择与父对象距离最大的叶对象。我们的分区函数将每个叶子对象分配给最近的提升对象。
    在这里插入图片描述

  • Search Process:
    M-tree 的主要目标是在少数节点内为查询对象 q 找到相似对象,以减少相似性计算量。
    为了实现这个目标,M-tree 利用预先计算的(路由)对象与其父对象之间的距离,并尝试通过分两步应用三角不等式来过滤掉不相关的节点。
    算法 2 显示了如何执行查询对象 q 和最大距离 maxd 的相似性搜索。搜索从根开始,并为根下的每个节点调用算法 2 的过程,这些节点在根中有一个父路由对象。
    第一步,算法通过应用三角不等式(第 6 行和第 8 行)检查内部节点中的每个路由对象其半径是否与查询对象 q 的半径重叠。三角不等式的两种形式的区别在于,第一种形式使用 r 的父级 p 来近似路由对象 r 和查询 q 之间的半径重叠。第二种形式更准确,从计算 q 和 r 之间的距离开始(第 7 行)然后测试它们的半径是否重叠。这个过程递归地继续,直到到达叶子。
    在第二步中,通过应用等式的三角形不等式,分别测试叶子中的位向量的可能相似性。只有满足它的记录才会最终与 q 进行比较。
    在这里插入图片描述

4.4 Pivot-based PPRL

基于枢轴的 PPRL 方法也分两个步骤工作:预处理和相似性搜索

预处理(算法 3)需要选择一定数量的数据对象(第一个数据集 Re)作为枢轴或参考点。此外,Re 中的每个对象 x 都被分配给其最近的枢轴 p,并且距离 dh(p, x) 和每个枢轴的最大距离 rad§ 是预先计算的。在图 4 中,对象 y 比分配给 p1 的所有其他对象更远离枢轴 p1,因此 rad(p1) 设置为 d(p1, y)。针对第二个数据集 Se 中的每个对象 q 针对枢轴执行相似性搜索,并利用三角不等式来最小化距离计算的数量。
在这里插入图片描述
有几种可能性可以选择导致不同预处理开销和相似性搜索效率可能不同的枢轴。我们考虑将比较评估的三种方法:

  • M-tree leaves:
    我们使用M-tree并选择每个叶子的路由父对象作为pivot,即,我们有与M-tree中的叶子一样多的pivot。枢轴的数量与 M 树的所选节点容量成反比。由于 M-tree 已经将每个对象放置在一个叶子中,我们不需要将对象重新分配给枢轴,即,在这种情况下我们不必应用算法 3 。
  • Far-away pivots:
    从所有对象的集合中迭代确定枢轴,使得与所有先前确定的枢轴距离最大的对象成为下一个枢轴 [3]。
  • Sample-based:
    这种方法使用了远距离方案,但仅在对象样本上以减少预处理开销。正如 [4] 中提出的,我们使用随机确定的 3m 个对象样本,其中 m 是枢轴的数量。

Far-away pivots:远距离方法背后的基本原理是选择可能导致其区域重叠率低的枢轴,以便数据空间得到很好的分区,这有助于将距离计算限制在几个分区内。该方法在算法 4 中有详细说明。它从一个随机选择的对象(位向量)开始,并将离它最远的对象确定为第一个枢轴(第 3-4 行)。依次选择以下枢轴作为与已选择的枢轴距离最大的位向量(第 6-8 行)。对于 n 个对象,这种枢轴选择的复杂度为 O(nm),对于基于样本的方法,该复杂度降低到 O(m2)。
在这里插入图片描述

查询对象 q 的相似性搜索包括算法 5 中概述的三个主要步骤。最初,通过检查半径 rad(pi) 和 rad(q) 是否重叠,确定可能包含与 q 相似记录的所有枢轴 pi:
在这里插入图片描述
如果 pi 和 q 的半径不重叠,我们知道分配给 pi 的所有位向量都可以被修剪,以便保存它们和 q 之间的相似性计算。
在步骤 2 中,我们检查每个分配的记录 r 的剩余枢轴 pi 是否三角不等式成立 w.r.t。问。如果不是,记录 r 可以安全地从进一步考虑中删除。否则,我们必须计算距离 dh(q, r),如果 r 在与 q 的最大距离内,则将其包含在匹配集中(步骤 3)。
对于图 4 的示例,我们可以在第一步中修剪枢轴 p2 及其对象。进一步考虑枢轴 p1,其对象 x 和 y 在步骤 2 中都满足三角不等式。在最后一步中,发现只有 x 与 q 足够接近,因此 (q, x) 被确定为匹配。
在这里插入图片描述
在这里插入图片描述


5 Evaluation

我们现在评估提出的度量空间 PPRL 方法,并将它们与先前提出的过滤技术进行比较。在描述了实验设置之后,我们评估了 M-trees 和三种基于枢轴的方法的使用。
在 5.3 节中,我们展示了与 P4Join [19] 和多位树 [2] 的比较

5.1 Experimental setup

使用 [5] 中的工具生成五个不同大小的人员记录数据集,与之前的研究类似,例如 [19]。每个生成的大小为 n 的数据集由大小分别为 4n/5 和 n/5 的两个子集 R 和 S 组成,如图 5 所示。
S 的记录是通过在 25% 的 R 记录中引入一些常见错误而获得的。通过将值标记为二元组(对于出生日期一元组),所有记录都在三个属性(姓名、姓氏和出生日期)上进行编码。使用 20 个散列函数将每条记录的标记映射到大小为 1000 的位向量。 Multibit tree 和 P4Join 中使用的相似度函数是 Jaccard (Eq. 3),阈值 t = 0.8。类似的阈值用于新度量空间方法的汉明距离。
在这里插入图片描述
我们的评估侧重于运行时效率而不是匹配质量。我们验证了由于使用相同或等效的相似性度量和阈值,所有算法都返回相同的匹配集。

5.2 M-Tree vs. pivot-based approaches

我们比较了使用 M-tree 索引结构和 Sect 中描述的三种基于枢轴的 PPRL 方法的效率。
对于基于样本的枢轴策略,我们使用来自 Re 的位向量大小为 3m 的随机样本来从中选择 m 个枢轴。
M-tree 中叶节点的数量(以及基于叶的方法中的枢轴数量)取决于最大节点容量。
图 6 中的表格显示,每个节点 100 个对象的小容量导致 17,873 个叶子(枢轴)和高度为 4 的树。另一方面,具有 1,600 个或更多对象的较大节点导致高度为 2 的树,只有1,509 叶(枢轴)或更少。
在这里插入图片描述

图 7a 显示了针对基于 M-tree 的方法的不同数量的枢轴或叶页的度量空间 PPRL 的四个替代方案的运行时结果。为了简化比较,我们选择了枢轴的数量,因为它们导致 M-tree 的不同节点容量(图 6)。为了帮助解释结果,我们还在图 7b 中显示了用于预处理(索引、枢轴选择)的运行时部分
在这里插入图片描述
我们观察到,对于枢轴数量的大多数选择(最多约 4000 个枢轴),不同方法的运行时间在很大程度上是稳定的:

  • 基于样本的枢轴方法 (pivot_sample) 表现最好,而完整数据集的远距离枢轴选择 (pivot_full_ds) 表现最差。
  • 使用 M-tree 和基于叶的枢轴选择执行非常相似并达到中等性能。即使对于大量的枢轴(> 7,000),它们也基本保持稳定。
  • 而其他两种(远距离)基于枢轴的方法在此范围内会因运行时间的大幅增加而受到影响。

这种行为是由于远程方法的高预处理开销——pivot_full_ds 和pivot_sample——至少随着枢轴的数量呈二次方增长(第 4.4 节)。
如图 7b 所示,这两种方法的预处理时间在 4,000 多个枢轴上急剧增长,并且在很大程度上主导了总运行时间。因此,这两种方法都依赖于少量到中等数量的枢轴。
相比之下,M-tree 的索引时间非常短,几乎与节点容量无关,因此也与枢轴的数量无关。然而,这意味着相似性搜索的时间——即总运行时间和预处理时间之间的差异——对于两种遥远的枢轴方法来说明显优于使用 M-tree。更好的搜索时间是更高过滤效率的结果
因此,我们可以使用基于枢轴的方法(尤其是对于枢轴样本)从距离计算中修剪出更多的枢轴及其相关对象,而不是使用 M 树,因此似乎在叶枢轴的数据区域和内部数据区域之间存在大量重叠节点。
正如预期的那样,pivot_sample 的预处理比 pivot_full_ds 更快。然而,这些差异小于总运行时间的差异。这意味着 pivot_sample 的搜索效率比 pivot_full_ds 的要好,尽管枢轴是从更小的对象集中选择的。

5.3 Comparison with previous filter techniques

我们现在研究度量空间方法与先前提出的两个多位树和 P4Join 方案的相对性能。对于度量空间 PPRL,我们专注于最佳方法 pivot_sample,并报告表现最佳的枢轴数量的运行时间。

图 8a 显示了三种算法中每一种的运行时间(以分钟为单位)以及没有任何过滤的简单嵌套循环方法。
在这里插入图片描述
我们观察到,不仅对于嵌套循环,而且对于过滤器方法,运行时间几乎随数据集大小呈二次增长。然而,我们看到提出的基于枢轴的过滤大大优于多位树和 P4Join。

为了说明过滤器的有效性,我们为每个算法确定了候选对的数量以检查匹配并计算每个查询的平均候选数。如图 8b 所示,每个查询的候选数随数据量线性增长,并与图 8a 中报告的运行时间相关。
与其他算法相比,基于枢轴的方法每个查询的候选者数量要少得多,尤其是对于大型数据集。对于最大的数据集,它生成的要检查的候选对象数量仅是 Multibit 树的一半。
基于枢轴的方法的另一个优点是其修剪不同位向量的成本非常低。此方法使用一个距离函数和三角不等式来修剪与非重叠枢轴关联的一条记录或所有记录。

为了进一步探索可扩展性方面,我们将数据量翻了一番,达到 100 万个位向量(第一个数据集中 80%,第二个数据集中 20%)以进行额外的测试运行。
在这种情况下,pivot_sample 的运行时间为 5.2 分钟,而 Multibit 树为 216 分钟,P4Join 为 345 分钟。虽然基于枢轴的方法的运行时间也增加了超过线性,但它仍然比使用多位树快 40 倍,甚至比 P4Join 快 66 倍,从而证实了图 8a 中的观察结果。


6 Conclusion

我们研究了基于布隆过滤器的隐私保护记录链接的运行时优化,用于度量空间相似性度量
主要目标是通过将三角不等式用于度量空间度量(例如 Jaccard 相似度或汉明距离)来显着减少搜索空间。我们概述了在 PPRL 中使用 M-tree 和三种基于枢轴的方法。一项全面的评估表明,新方案非常有效,并且比以前的过滤器技术(如多位树和 P4Join)高出一个数量级以上。最佳性能方案是基于枢轴的方法,它从所有对象的相对较小的随机样本中选择枢轴,并试图最小化枢轴数据区域之间的重叠

尽管过滤器效率很高,但新方法的运行时间仍然几乎随数据大小呈二次方增长。因此,我们必须进一步改进 PPRL 的运行时间,以便能够处理非常大的数据量。因此,我们计划在 GPU 或基于 Hadoop 的平台上将基于枢轴的过滤与阻塞和并行处理结合起来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值