局部敏感哈希实现?[已关闭]

2022-09-02 04:26:13

在 C/C++/Java/C# 中是否有任何相对简单易懂(且易于实现)的局部敏感哈希示例?

我想了解有关该概念的更多信息,因此想尝试在几个文本文件上实现,只是为了了解它是如何工作的,所以我不需要任何高性能或任何东西......只是一个哈希函数的示例,该函数为类似的输入返回类似的哈希。之后,我可以通过示例从中学到更多。:)


答案 1

对于字符串,您可以使用近似匹配算法。

如果字符串与引用字符串的距离相等,则它们很可能彼此相似。在那里,你有一个字符串的局部性条件哈希实现。

您可以为一系列距离创建不同的哈希存储桶。

编辑:您可以尝试字符串距离的其他变体。更简单的算法只会返回 no。两个字符串之间的通用字符。


答案 2

好吧,在MSDN博客上有一篇很棒的文章:http://blogs.msdn.com/b/spt/archive/2008/06/11/locality-sensitive-hashing-lsh-and-min-hash.aspx

此外,至少有一次C++库,您可以检查此处的源代码:http://sourceforge.net/projects/lshkit/


推荐