测量精确集合相似度的检索方法(Exact Matching、Starmie)始终优于依赖近似估计的检索方法(MinHash、Hybrid MinHash)。Hybrid MinHash 可以缓解这种情况,但性能仍然较差。
Starmie 在峰值 RAM 使用量和检索候选所需的时间方面比其他替代方案要昂贵得多,但这种更大的计算成本并没有带来预测性能的同等提升。
通过查询进行扩展
虽然这似乎表明基于精确度量的方法是可行的,但值得注意的是,与基于哈希的方法相比,当查询列的数量增加时,这些方法的扩展性会差得多。
随着要评估的查询列的数量增加,估计不同检索方法之间的权衡。
随着要评估的查询列的数量增加,估计不同检索方法之间的权衡。
我们在上图中展示了这一点:基于哈希的方法需要索引数据湖,因此会产生很大的初始成本。相反,精确匹配的斜率更陡峭,因为测量精确包含是一项昂贵的操作,必须对每个查询列重复执行。换句话说,您需要针对静态数据湖运行的查询越多,像 MinHash 这样的基于索引的解决方案就越有优势。
对于每种检索方法,在两种不同的 YADL 变体上执行检索操作的磁盘和 RAM 成本(以 MB 为单位)。
对于每种检索方法,在两种不同的 YADL 变体上执行检索操作的磁盘和 RAM 成本(以 MB 为单位)。
在 RAM 和磁盘使用方面,我们观察到,精确匹配通常占用空间最小,占用的 RAM 也最少。MinHash 在 RAM 方面介于这两种方案之间,但它需要更多的磁盘空间。
选择候选人
下一步是从检索方法选择的所有候选中确定哪些如果连接起来实际上可以提高预测性能。我们实施了四种连接选择策略:每个连接选择器将基表和上一步中检索方法准备的连接候选作为输入。然后,将选定的候选与查询列上 俄罗斯电话号码数据 的基表连接起来,最后在连接的表上训练 ML 模型。
最高包含连接:计算每个候选人的 Jaccard 包含,然后选择具有最高包含度的候选人。
最佳单一连接:对于每个连接候选,在与候选连接的基表上训练 ML 模型。测量验证集上的预测性能并选择性能最佳的候选。
完全连接:连接所有候选者并根据结果训练 ML 模型。
逐步贪婪连接:对每个候选表进行迭代。在每次迭代中,将新候选表与主表连接起来并测试预测性能。如果性能有所提高,则保留连接的表,否则删除候选表。
我们绘制了相对于所有选择器的平均值的性能:
不同连接选择方法之间的预测性能和运行时间比较。
不同连接选择方法之间的预测性能和运行时间比较。
我们可以看到,同时连接多个候选者的选择器(逐步贪婪和完全连接)的性能优于仅连接一个候选者的选择器。逐步贪婪比任何替代方案都要慢得多,并且它不会带来预测性能的显著改善。