Live data from Hacker News

Show HN: PDD – Probabilistic De-Duplication of Streams with Bloom Filters

github.com

1–10 of 16 posts

Re: Show HN: PDD – Probabilistic De-Duplication of Streams with Bloom Filters

#9

Is this a library that does entity recognition and matching on individual elements in streams, or are the streams themselves being featurized/matched?

This library provide probabilistic set membership test on an individual element basis as the stream progresses with a fixed bound on memory. Every call to classifyDistinct() progresses the internal history of a ProbabilisticDeDuplicator.

Traditionally, probabilistic set membership tests were accomplished by using Bloom Filters. However, Bloom Filters only work well on finite sets because as Bloom Filters age (fill up), the false positive rate approaches 1. This issue was addressed by Stable Bloom Filters which frees up space for inserts; however, this introduces false negatives.

This library contributes three implementations of de-duplication algorithms centered around Bloom Filter variants whose design and replacement strategy allows it to reach stability faster than a Stable Bloom Filter while reducing the false FNR by even several orders of magnitude.

Re: Show HN: PDD – Probabilistic De-Duplication of Streams with Bloom Filters

#10
post #2

Fascinating. Just reading about probabilistic data structures in general, and would like to know if there is an efficient general method for generating statistics about the FN rates. Are they related to ROC curves?

I haven't looked into the relationship with ROC curves.

I'm not sure of an efficient general method for generating statistics. I know empirically testing the structures is the easy way. For Bloom Filters which evict old data, you can calculate the probability of FN by calculating the probability that a given element is a duplicate but reported as distinct.

Post reply on HN