我正在尝试在 Spark 中尽可能简单地实现第 3 章中描述的 MinHash 算法。我到处搜索了很多。好吧,我决定按照 Bill Dim 的建议遵循这个博客的实现:https://blog.cluster-text.com/tag/minhash/ 我只是觉得我的实现有问题或者我误解了。到目前为止我所做的是:
- document => n-grams(我使用书中所说的 9-grams(字母),但可以按照 Bill Dim 的建议将其更改为 5-words)
- n-grams => MurMurHash3(这就是每个文档的 NGrams)
- HashedNGramsRDD => 为每个文档查找 Min(NGram)
- HashedNGramsRDD ^ (199 个随机数) 并取 min = 199 个 Xored HashedMurMurNGrams 的最小值。
- 所以我总共有200个最小值。这就是我的 MinHash 签名。这个对吗?请帮忙!提前致谢。