【发布时间】:2021-10-31 08:03:07
【问题描述】:
我正在尝试实施这篇论文
我有几个关于 LHS 算法和建议实现的问题:
-
只有当您有很多文档要相互比较时才使用 LSH 算法(因为它应该将相似的文档放在同一个桶中)。例如,如果我有一个新文档,我想计算与其他文档的相似度,我必须从头开始重新启动 LHS 算法,包括新文档,对吗?
-
在“Mining of Massive Datasets, Ch3”中,据说对于 LHS,我们应该在每个波段使用一个哈希函数。每个哈希函数创建 n 个桶。 所以,对于第一个波段,我们将有 n 个桶。对于第二个波段,我应该继续使用相同的散列函数(这样我就可以继续使用与以前相同的存储桶)还是另一个(以 m>>n 存储桶结束)?
-
这个问题与上一个问题有关。如果我对所有波段使用相同的哈希函数,那么我将有 n 个桶。这里没问题。但是如果我必须使用更多的哈希函数(每行一个不同的函数),我最终会得到很多不同的桶。我应该测量每个桶中每一对的相似度吗? (如果我必须只使用一个哈希函数,那么这不是问题)。
-
在论文中,我理解了算法的大部分内容,除了它的结尾。 基本上,通过 minhashing 创建了两个签名矩阵(一个用于稳定特征,一个用于不稳定特征)。然后,他们在第一个矩阵上使用 LSH 来获得候选对列表。到目前为止,一切都很好。 最后会发生什么?他们在第二个矩阵上执行 LHS 吗?如何使用第一个 LHS 的结果?我看不到第一个和第二个 LHS 之间的关系。
-
最后一步的输出应该是配对候选列表,对吧?我所要做的就是对它们进行 Jaccard 相似性并设置一个阈值,对吗?
感谢您的回答!
【问题讨论】:
标签: pairing locality-sensitive-hash minhash lsh