Streaming Algorithms for Estimating High Set Similarities in LogLog Space - Qi, Yiyan; Wang, Pinghui; Zhang, Yuanming; Zhai, Qiaozhu; Wang, Chenxu; Tian, Guangjian; Lui, John C.S.; Guan, Xiaohong (IEEE transactions on knowledge and data engineering, 2021)
Estimating set similarity and detecting highly similar sets are fundamental problems in areas such as databases and machine learning. MinHash is a well-known technique for approximating Jaccard similarity of sets and has been successfully used for many applications. Its two compressed versions, b b<inline-graphic xlink:href="qi-ieq1-2969423.gif"/> -bit MinHash and Odd Sketch, can significantly reduce the memory usage of the MinHash, especially for estimating high similarities (i.e., similarities around 1). Although MinHash can be applied to static sets as well as streaming sets, of which elements are given in a streaming fashion, unfortunately, b b<inline-graphic xlink:href="qi-ieq2-2969423.gif"/> -bit MinHash and Odd Sketch fail to deal with streaming data. To solve this problem, we previously designed a memory-efficient sketch method, MaxLogHash , to accurately estimate Jaccard similarities in streaming sets. Compared with MinHash, our method uses smaller sized registers (each register consists of less than 7 bits) to build a compact sketch for each set. In this paper, we further develop a faster method, MaxLogOPH++ . Compared with MaxLogHash, MaxLogOPH++ reduces the time complexity for updating each coming element from O(k) O(k)<inline-graphic xlink:href="qi-ieq3-2969423.gif"/> to O(1) O(1)<inline-graphic xlink:href="qi-ieq4-2969423.gif"/> with a small additional memory. We conduct experiments on a variety of datasets, and experimental results demonstrate the efficiency and effectiveness of our methods.