Source code for datasketch.lshensemble

-from collections import deque
+from collections import deque, Counter
 import numpy as np
 from datasketch.lsh import integrate, MinHashLSH
+from datasketch.lshensemble_partition import optimal_partitions
 
 
 def _false_positive_probability(threshold, b, r, xq):
@@ -99,7 +101,7 @@ 

Source code for datasketch.lshensemble

     '''
     _probability = lambda t : 1 - (1 - (t/(1 + xq - t))**float(r))**float(b)
     if xq >= threshold:
-        a, err = integrate(_probability, 0.0, threshold) 
+        a, err = integrate(_probability, 0.0, threshold)
         return a
     a, err = integrate(_probability, 0.0, xq)
     return a
@@ -143,11 +145,11 @@ 

Source code for datasketch.lshensemble

 
 
[docs]class MinHashLSHEnsemble(object): ''' - The :ref:`minhash_lsh_ensemble` index. It supports + The :ref:`minhash_lsh_ensemble` index. It supports :ref:`containment` queries. - The implementation is based on - `E. Zhu et al. <http://www.vldb.org/pvldb/vol9/p1185-zhu.pdf>`_. - + The implementation is based on + `E. Zhu et al. <http://www.vldb.org/pvldb/vol9/p1185-zhu.pdf>`_. + Args: threshold (float): The Containment threshold between 0.0 and 1.0. The initialized LSH Ensemble will be optimized for the threshold by @@ -155,12 +157,12 @@

Source code for datasketch.lshensemble

         num_perm (int, optional): The number of permutation functions used
             by the MinHash to be indexed. For weighted MinHash, this
             is the sample size (`sample_size`).
-        num_part (int, optional): The number of partitions in LSH Ensemble. 
+        num_part (int, optional): The number of partitions in LSH Ensemble.
         m (int, optional): The memory usage factor: an LSH Ensemble uses approximately
-            `m` times more memory space than a MinHash LSH with the same number of 
-            sets indexed. The higher the `m` the better the accuracy. 
-        weights (tuple, optional): Used to adjust the relative importance of 
-            minizing false positive and false negative when optimizing 
+            `m` times more memory space than a MinHash LSH with the same number of
+            sets indexed. The higher the `m` the better the accuracy.
+        weights (tuple, optional): Used to adjust the relative importance of
+            minizing false positive and false negative when optimizing
             for the Containment threshold. Similar to the `weights` parameter
             in :class:`datasketch.MinHashLSH`.
 
@@ -172,17 +174,17 @@ 

Source code for datasketch.lshensemble

         due to parallelism.
 
     Note:
-        More information about the parameter `m` can be found in the 
+        More information about the parameter `m` can be found in the
         `Go implementation`_
         of LSH Ensemble, in which `m` is named `MaxK`.
-    
+
     .. _`Go implementation`: https://github.com/ekzhu/lshensemble
     .. _`the paper`: http://www.vldb.org/pvldb/vol9/p1185-zhu.pdf
     '''
 
 
[docs] def __init__(self, threshold=0.9, num_perm=128, num_part=16, m=8, weights=(0.5,0.5)): if threshold > 1.0 or threshold < 0.0: - raise ValueError("threshold must be in [0.0, 1.0]") + raise ValueError("threshold must be in [0.0, 1.0]") if num_perm < 2: raise ValueError("Too few permutation functions") if num_part < 2: @@ -198,17 +200,19 @@

Source code for datasketch.lshensemble

         self.m = m
         rs = self._init_optimal_params(weights)
         # Initialize multiple LSH indexes for each partition
-        self.indexes = [dict((r, MinHashLSH(num_perm=self.h, params=(int(self.h/r), r))) for r in rs)
-                        for _ in range(0, num_part)] 
-        self.lowers = [None for _ in self.indexes]
+ self.indexes = [dict((r, MinHashLSH(num_perm=self.h, + params=(int(self.h/r), r))) for r in rs) + for _ in range(0, num_part)] + self.lowers = [None for _ in self.indexes] + self.uppers = [None for _ in self.indexes]
def _init_optimal_params(self, weights): false_positive_weight, false_negative_weight = weights self.xqs = np.exp(np.linspace(-5, 5, 10)) - self.params = np.array([_optimal_param(self.threshold, self.h, self.m, - xq, + self.params = np.array([_optimal_param(self.threshold, self.h, self.m, + xq, false_positive_weight, - false_negative_weight) + false_negative_weight) for xq in self.xqs], dtype=np.int) # Find all unique r rs = set() @@ -221,7 +225,7 @@

Source code for datasketch.lshensemble

         if i == len(self.params):
             i = i - 1
         return self.params[i]
-    
+
 
[docs] def index(self, entries): ''' Index all sets given their keys, MinHashes, and sizes. @@ -232,7 +236,7 @@

Source code for datasketch.lshensemble

                 in the form of `(key, minhash, size)`, where `key` is the unique
                 identifier of a set, `minhash` is the MinHash of the set,
                 and `size` is the size or number of unique items in the set.
-        
+
         Note:
             `size` must be positive.
         '''
@@ -247,33 +251,36 @@ 

Source code for datasketch.lshensemble

             entries = list(queue)
         if len(entries) == 0:
             raise ValueError("entries is empty")
+        # Create optimal partitions.
+        sizes, counts = np.array(sorted(
+            Counter(e[2] for e in entries).most_common())).T
+        partitions = optimal_partitions(sizes, counts, len(self.indexes))
+        for i, (lower, upper) in enumerate(partitions):
+            self.lowers[i], self.uppers[i] = lower, upper
+        # Insert into partitions.
         entries.sort(key=lambda e : e[2])
-        if entries[0][2] < 0:
-            raise ValueError("Non-positive set size found in entries")
-        part_size = int(len(entries) / len(self.indexes)) + 1
-        for i, index in enumerate(self.indexes):
-            if part_size*i >= len(entries):
-                continue
-            self.lowers[i] = entries[part_size*i][2]
-            for r in index:
-                for key, minhash, size in entries[part_size*i:part_size*(i+1)]:
-                    index[r].insert(key, minhash)
+ curr_part = 0 + for key, minhash, size in entries: + if size > self.uppers[curr_part]: + curr_part += 1 + for r in self.indexes[curr_part]: + self.indexes[curr_part][r].insert(key, minhash)
[docs] def query(self, minhash, size): ''' - Giving the MinHash and size of the query set, retrieve + Giving the MinHash and size of the query set, retrieve keys that references sets with containment with respect to the query set greater than the threshold. - + Args: - minhash (datasketch.MinHash): The MinHash of the query set. + minhash (datasketch.MinHash): The MinHash of the query set. size (int): The size (number of unique items) of the query set. Returns: `iterator` of keys. ''' for i, index in enumerate(self.indexes): - u = self.lowers[i] + u = self.uppers[i] if u is None: continue b, r = self._get_optimal_param(u, size) @@ -285,7 +292,7 @@

Source code for datasketch.lshensemble

         Args:
             key (hashable): The unique identifier of a set.
 
-        Returns: 
+        Returns:
             bool: True only if the key exists in the index.
         '''
         return any(any(key in index[r] for r in index)
@@ -296,19 +303,19 @@ 

Source code for datasketch.lshensemble

         Returns:
             bool: Check if the index is empty.
         '''
-        return all(all(index[r].is_empty() for r in index) 
-                   for index in self.indexes) 
+ return all(all(index[r].is_empty() for r in index) + for index in self.indexes)
if __name__ == "__main__": import numpy as np xqs = np.exp(np.linspace(-5, 5, 10)) threshold = 0.5 - max_r = 8 + max_r = 8 num_perm = 256 false_negative_weight, false_positive_weight = 0.5, 0.5 for xq in xqs: - b, r = _optimal_param(threshold, num_perm, max_r, xq, + b, r = _optimal_param(threshold, num_perm, max_r, xq, false_positive_weight, false_negative_weight) print("threshold: %.2f, xq: %.3f, b: %d, r: %d" % (threshold, xq, b, r))
@@ -323,8 +330,8 @@

Source code for datasketch.lshensemble

       ©2018, Eric Zhu.
       
       |
-      Powered by Sphinx 1.8.1
-      & Alabaster 0.7.12
+      Powered by Sphinx 1.8.3
+      & Alabaster 0.7.11
       
     
diff --git a/docs/_modules/datasketch/lshforest.html b/docs/_modules/datasketch/lshforest.html index a6f765d4..17c50903 100644 --- a/docs/_modules/datasketch/lshforest.html +++ b/docs/_modules/datasketch/lshforest.html @@ -13,7 +13,8 @@ - + + @@ -243,8 +244,8 @@

Source code for datasketch.lshforest

       ©2018, Eric Zhu.
       
       |
-      Powered by Sphinx 1.8.1
-      & Alabaster 0.7.12
+      Powered by Sphinx 1.8.3
+      & Alabaster 0.7.11
       
     
diff --git a/docs/_modules/datasketch/minhash.html b/docs/_modules/datasketch/minhash.html index 30734a41..68e8069d 100644 --- a/docs/_modules/datasketch/minhash.html +++ b/docs/_modules/datasketch/minhash.html @@ -13,7 +13,8 @@ - + + @@ -320,8 +321,8 @@

Source code for datasketch.minhash

       ©2018, Eric Zhu.
       
       |
-      Powered by Sphinx 1.8.1
-      & Alabaster 0.7.12
+      Powered by Sphinx 1.8.3
+      & Alabaster 0.7.11
       
     
diff --git a/docs/_modules/datasketch/weighted_minhash.html b/docs/_modules/datasketch/weighted_minhash.html index 8745e732..eb029c42 100644 --- a/docs/_modules/datasketch/weighted_minhash.html +++ b/docs/_modules/datasketch/weighted_minhash.html @@ -13,7 +13,8 @@ - + + @@ -235,8 +236,8 @@

Source code for datasketch.weighted_minhash

       ©2018, Eric Zhu.
       
       |
-      Powered by Sphinx 1.8.1
-      & Alabaster 0.7.12
+      Powered by Sphinx 1.8.3
+      & Alabaster 0.7.11
       
     
diff --git a/docs/_modules/index.html b/docs/_modules/index.html index 28ed37a1..408b0c64 100644 --- a/docs/_modules/index.html +++ b/docs/_modules/index.html @@ -13,7 +13,8 @@ - + + @@ -105,8 +106,8 @@

All modules for which code is available

©2018, Eric Zhu. | - Powered by Sphinx 1.8.1 - & Alabaster 0.7.12 + Powered by Sphinx 1.8.3 + & Alabaster 0.7.11
diff --git a/docs/_sources/lshensemble.rst.txt b/docs/_sources/lshensemble.rst.txt index 0fd34772..3ad19b6e 100644 --- a/docs/_sources/lshensemble.rst.txt +++ b/docs/_sources/lshensemble.rst.txt @@ -82,8 +82,10 @@ Just like MinHash LSH, LSH Ensemble also works directly with :ref:`minhash` data for d in set3: m3.update(d.encode('utf8')) - # Create an LSH Ensemble index with a threshold - lshensemble = MinHashLSHEnsemble(threshold=0.8, num_perm=128) + # Create an LSH Ensemble index with threshold and number of partition + # settings. + lshensemble = MinHashLSHEnsemble(threshold=0.8, num_perm=128, + num_part=32) # Index takes an iterable of (key, minhash, size) lshensemble.index([("m2", m2, len(set2)), ("m3", m3, len(set3))]) @@ -97,13 +99,30 @@ Just like MinHash LSH, LSH Ensemble also works directly with :ref:`minhash` data for key in lshensemble.query(m1, len(set1)): print(key) -The accuracy of LSH Ensemble increases as the number of permutation functions increases, -and the query performance decreases with more permutation functions, as the plot below shows. +The precision of LSH Ensemble increases with the number of partitions, +so does the querying time, as the plot below shows. The experiment code can be found in the `benchmark` directory of the source code repository. - -.. figure:: /_static/lshensemble_benchmark.png - :alt: MinHashLSHEnsemble Benchmark - There are other optional parameters that can be used to tune the index to achieve better accuracy or performance. See the documentation of :class:`datasketch.MinHashLSHEnsemble` for details. + +.. image:: /_static/lshensemble_benchmark_1k/lshensemble_num_perm_256_precision.png + :scale: 75 % + :align: center + :alt: MinHashLSHEnsemble Benchmark Precision + +.. image:: /_static/lshensemble_benchmark_1k/lshensemble_num_perm_256_recall.png + :scale: 75 % + :align: center + :alt: MinHashLSHEnsemble Benchmark Recall + +.. image:: /_static/lshensemble_benchmark_1k/lshensemble_num_perm_256_fscore.png + :scale: 75 % + :align: center + :alt: MinHashLSHEnsemble Benchmark F-Score + +.. image:: /_static/lshensemble_benchmark_1k/lshensemble_num_perm_256_query_time.png + :scale: 75 % + :align: center + :alt: MinHashLSHEnsemble Benchmark Query Time + diff --git a/docs/_static/alabaster.css b/docs/_static/alabaster.css index 4c500fb9..e7fba1a2 100644 --- a/docs/_static/alabaster.css +++ b/docs/_static/alabaster.css @@ -166,19 +166,6 @@ div.sphinxsidebar hr { width: 50%; } -div.sphinxsidebar .badge { - border-bottom: none; -} - -div.sphinxsidebar .badge:hover { - border-bottom: none; -} - -/* To address an issue with donation coming after search */ -div.sphinxsidebar h3.donation { - margin-top: 10px; -} - /* -- body styles ----------------------------------------------------------- */ a { @@ -327,7 +314,7 @@ p.admonition-title:after { } pre, tt, code { - font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; + font-family: 'Consolas', 'Menlo', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace; font-size: 0.9em; } diff --git a/docs/_static/documentation_options.js b/docs/_static/documentation_options.js index b81190bb..63285938 100644 --- a/docs/_static/documentation_options.js +++ b/docs/_static/documentation_options.js @@ -7,290 +7,4 @@ var DOCUMENTATION_OPTIONS = { HAS_SOURCE: true, SOURCELINK_SUFFIX: '.txt', NAVIGATION_WITH_KEYS: false, - SEARCH_LANGUAGE_STOP_WORDS: ["a","and","are","as","at","be","but","by","for","if","in","into","is","it","near","no","not","of","on","or","such","that","the","their","then","there","these","they","this","to","was","will","with"] -}; - - - -/* Non-minified version JS is _stemmer.js if file is provided */ -/** - * Porter Stemmer - */ -var Stemmer = function() { - - var step2list = { - ational: 'ate', - tional: 'tion', - enci: 'ence', - anci: 'ance', - izer: 'ize', - bli: 'ble', - alli: 'al', - entli: 'ent', - eli: 'e', - ousli: 'ous', - ization: 'ize', - ation: 'ate', - ator: 'ate', - alism: 'al', - iveness: 'ive', - fulness: 'ful', - ousness: 'ous', - aliti: 'al', - iviti: 'ive', - biliti: 'ble', - logi: 'log' - }; - - var step3list = { - icate: 'ic', - ative: '', - alize: 'al', - iciti: 'ic', - ical: 'ic', - ful: '', - ness: '' - }; - - var c = "[^aeiou]"; // consonant - var v = "[aeiouy]"; // vowel - var C = c + "[^aeiouy]*"; // consonant sequence - var V = v + "[aeiou]*"; // vowel sequence - - var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0 - var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 - var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 - var s_v = "^(" + C + ")?" + v; // vowel in stem - - this.stemWord = function (w) { - var stem; - var suffix; - var firstch; - var origword = w; - - if (w.length < 3) - return w; - - var re; - var re2; - var re3; - var re4; - - firstch = w.substr(0,1); - if (firstch == "y") - w = firstch.toUpperCase() + w.substr(1); - - // Step 1a - re = /^(.+?)(ss|i)es$/; - re2 = /^(.+?)([^s])s$/; - - if (re.test(w)) - w = w.replace(re,"$1$2"); - else if (re2.test(w)) - w = w.replace(re2,"$1$2"); - - // Step 1b - re = /^(.+?)eed$/; - re2 = /^(.+?)(ed|ing)$/; - if (re.test(w)) { - var fp = re.exec(w); - re = new RegExp(mgr0); - if (re.test(fp[1])) { - re = /.$/; - w = w.replace(re,""); - } - } - else if (re2.test(w)) { - var fp = re2.exec(w); - stem = fp[1]; - re2 = new RegExp(s_v); - if (re2.test(stem)) { - w = stem; - re2 = /(at|bl|iz)$/; - re3 = new RegExp("([^aeiouylsz])\\1$"); - re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); - if (re2.test(w)) - w = w + "e"; - else if (re3.test(w)) { - re = /.$/; - w = w.replace(re,""); - } - else if (re4.test(w)) - w = w + "e"; - } - } - - // Step 1c - re = /^(.+?)y$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = new RegExp(s_v); - if (re.test(stem)) - w = stem + "i"; - } - - // Step 2 - re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - suffix = fp[2]; - re = new RegExp(mgr0); - if (re.test(stem)) - w = stem + step2list[suffix]; - } - - // Step 3 - re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - suffix = fp[2]; - re = new RegExp(mgr0); - if (re.test(stem)) - w = stem + step3list[suffix]; - } - - // Step 4 - re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; - re2 = /^(.+?)(s|t)(ion)$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = new RegExp(mgr1); - if (re.test(stem)) - w = stem; - } - else if (re2.test(w)) { - var fp = re2.exec(w); - stem = fp[1] + fp[2]; - re2 = new RegExp(mgr1); - if (re2.test(stem)) - w = stem; - } - - // Step 5 - re = /^(.+?)e$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = new RegExp(mgr1); - re2 = new RegExp(meq1); - re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); - if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) - w = stem; - } - re = /ll$/; - re2 = new RegExp(mgr1); - if (re.test(w) && re2.test(w)) { - re = /.$/; - w = w.replace(re,""); - } - - // and turn initial Y back to y - if (firstch == "y") - w = firstch.toLowerCase() + w.substr(1); - return w; - } -} - - - - - -var splitChars = (function() { - var result = {}; - var singles = [96, 180, 187, 191, 215, 247, 749, 885, 903, 907, 909, 930, 1014, 1648, - 1748, 1809, 2416, 2473, 2481, 2526, 2601, 2609, 2612, 2615, 2653, 2702, - 2706, 2729, 2737, 2740, 2857, 2865, 2868, 2910, 2928, 2948, 2961, 2971, - 2973, 3085, 3089, 3113, 3124, 3213, 3217, 3241, 3252, 3295, 3341, 3345, - 3369, 3506, 3516, 3633, 3715, 3721, 3736, 3744, 3748, 3750, 3756, 3761, - 3781, 3912, 4239, 4347, 4681, 4695, 4697, 4745, 4785, 4799, 4801, 4823, - 4881, 5760, 5901, 5997, 6313, 7405, 8024, 8026, 8028, 8030, 8117, 8125, - 8133, 8181, 8468, 8485, 8487, 8489, 8494, 8527, 11311, 11359, 11687, 11695, - 11703, 11711, 11719, 11727, 11735, 12448, 12539, 43010, 43014, 43019, 43587, - 43696, 43713, 64286, 64297, 64311, 64317, 64319, 64322, 64325, 65141]; - var i, j, start, end; - for (i = 0; i < singles.length; i++) { - result[singles[i]] = true; - } - var ranges = [[0, 47], [58, 64], [91, 94], [123, 169], [171, 177], [182, 184], [706, 709], - [722, 735], [741, 747], [751, 879], [888, 889], [894, 901], [1154, 1161], - [1318, 1328], [1367, 1368], [1370, 1376], [1416, 1487], [1515, 1519], [1523, 1568], - [1611, 1631], [1642, 1645], [1750, 1764], [1767, 1773], [1789, 1790], [1792, 1807], - [1840, 1868], [1958, 1968], [1970, 1983], [2027, 2035], [2038, 2041], [2043, 2047], - [2070, 2073], [2075, 2083], [2085, 2087], [2089, 2307], [2362, 2364], [2366, 2383], - [2385, 2391], [2402, 2405], [2419, 2424], [2432, 2436], [2445, 2446], [2449, 2450], - [2483, 2485], [2490, 2492], [2494, 2509], [2511, 2523], [2530, 2533], [2546, 2547], - [2554, 2564], [2571, 2574], [2577, 2578], [2618, 2648], [2655, 2661], [2672, 2673], - [2677, 2692], [2746, 2748], [2750, 2767], [2769, 2783], [2786, 2789], [2800, 2820], - [2829, 2830], [2833, 2834], [2874, 2876], [2878, 2907], [2914, 2917], [2930, 2946], - [2955, 2957], [2966, 2968], [2976, 2978], [2981, 2983], [2987, 2989], [3002, 3023], - [3025, 3045], [3059, 3076], [3130, 3132], [3134, 3159], [3162, 3167], [3170, 3173], - [3184, 3191], [3199, 3204], [3258, 3260], [3262, 3293], [3298, 3301], [3312, 3332], - [3386, 3388], [3390, 3423], [3426, 3429], [3446, 3449], [3456, 3460], [3479, 3481], - [3518, 3519], [3527, 3584], [3636, 3647], [3655, 3663], [3674, 3712], [3717, 3718], - [3723, 3724], [3726, 3731], [3752, 3753], [3764, 3772], [3774, 3775], [3783, 3791], - [3802, 3803], [3806, 3839], [3841, 3871], [3892, 3903], [3949, 3975], [3980, 4095], - [4139, 4158], [4170, 4175], [4182, 4185], [4190, 4192], [4194, 4196], [4199, 4205], - [4209, 4212], [4226, 4237], [4250, 4255], [4294, 4303], [4349, 4351], [4686, 4687], - [4702, 4703], [4750, 4751], [4790, 4791], [4806, 4807], [4886, 4887], [4955, 4968], - [4989, 4991], [5008, 5023], [5109, 5120], [5741, 5742], [5787, 5791], [5867, 5869], - [5873, 5887], [5906, 5919], [5938, 5951], [5970, 5983], [6001, 6015], [6068, 6102], - [6104, 6107], [6109, 6111], [6122, 6127], [6138, 6159], [6170, 6175], [6264, 6271], - [6315, 6319], [6390, 6399], [6429, 6469], [6510, 6511], [6517, 6527], [6572, 6592], - [6600, 6607], [6619, 6655], [6679, 6687], [6741, 6783], [6794, 6799], [6810, 6822], - [6824, 6916], [6964, 6980], [6988, 6991], [7002, 7042], [7073, 7085], [7098, 7167], - [7204, 7231], [7242, 7244], [7294, 7400], [7410, 7423], [7616, 7679], [7958, 7959], - [7966, 7967], [8006, 8007], [8014, 8015], [8062, 8063], [8127, 8129], [8141, 8143], - [8148, 8149], [8156, 8159], [8173, 8177], [8189, 8303], [8306, 8307], [8314, 8318], - [8330, 8335], [8341, 8449], [8451, 8454], [8456, 8457], [8470, 8472], [8478, 8483], - [8506, 8507], [8512, 8516], [8522, 8525], [8586, 9311], [9372, 9449], [9472, 10101], - [10132, 11263], [11493, 11498], [11503, 11516], [11518, 11519], [11558, 11567], - [11622, 11630], [11632, 11647], [11671, 11679], [11743, 11822], [11824, 12292], - [12296, 12320], [12330, 12336], [12342, 12343], [12349, 12352], [12439, 12444], - [12544, 12548], [12590, 12592], [12687, 12689], [12694, 12703], [12728, 12783], - [12800, 12831], [12842, 12880], [12896, 12927], [12938, 12976], [12992, 13311], - [19894, 19967], [40908, 40959], [42125, 42191], [42238, 42239], [42509, 42511], - [42540, 42559], [42592, 42593], [42607, 42622], [42648, 42655], [42736, 42774], - [42784, 42785], [42889, 42890], [42893, 43002], [43043, 43055], [43062, 43071], - [43124, 43137], [43188, 43215], [43226, 43249], [43256, 43258], [43260, 43263], - [43302, 43311], [43335, 43359], [43389, 43395], [43443, 43470], [43482, 43519], - [43561, 43583], [43596, 43599], [43610, 43615], [43639, 43641], [43643, 43647], - [43698, 43700], [43703, 43704], [43710, 43711], [43715, 43738], [43742, 43967], - [44003, 44015], [44026, 44031], [55204, 55215], [55239, 55242], [55292, 55295], - [57344, 63743], [64046, 64047], [64110, 64111], [64218, 64255], [64263, 64274], - [64280, 64284], [64434, 64466], [64830, 64847], [64912, 64913], [64968, 65007], - [65020, 65135], [65277, 65295], [65306, 65312], [65339, 65344], [65371, 65381], - [65471, 65473], [65480, 65481], [65488, 65489], [65496, 65497]]; - for (i = 0; i < ranges.length; i++) { - start = ranges[i][0]; - end = ranges[i][1]; - for (j = start; j <= end; j++) { - result[j] = true; - } - } - return result; -})(); - -function splitQuery(query) { - var result = []; - var start = -1; - for (var i = 0; i < query.length; i++) { - if (splitChars[query.charCodeAt(i)]) { - if (start !== -1) { - result.push(query.slice(start, i)); - start = -1; - } - } else if (start === -1) { - start = i; - } - } - if (start !== -1) { - result.push(query.slice(start)); - } - return result; -} - - +}; \ No newline at end of file diff --git a/docs/_static/language_data.js b/docs/_static/language_data.js new file mode 100644 index 00000000..908a6278 --- /dev/null +++ b/docs/_static/language_data.js @@ -0,0 +1,297 @@ +/* + * language_data.js + * ~~~~~~~~~~~~~~~~ + * + * This script contains the language-specific data used by searchtools.js, + * namely the list of stopwords, stemmer, scorer and splitter. + * + * :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +var stopwords = ["a","and","are","as","at","be","but","by","for","if","in","into","is","it","near","no","not","of","on","or","such","that","the","their","then","there","these","they","this","to","was","will","with"]; + + +/* Non-minified version JS is _stemmer.js if file is provided */ +/** + * Porter Stemmer + */ +var Stemmer = function() { + + var step2list = { + ational: 'ate', + tional: 'tion', + enci: 'ence', + anci: 'ance', + izer: 'ize', + bli: 'ble', + alli: 'al', + entli: 'ent', + eli: 'e', + ousli: 'ous', + ization: 'ize', + ation: 'ate', + ator: 'ate', + alism: 'al', + iveness: 'ive', + fulness: 'ful', + ousness: 'ous', + aliti: 'al', + iviti: 'ive', + biliti: 'ble', + logi: 'log' + }; + + var step3list = { + icate: 'ic', + ative: '', + alize: 'al', + iciti: 'ic', + ical: 'ic', + ful: '', + ness: '' + }; + + var c = "[^aeiou]"; // consonant + var v = "[aeiouy]"; // vowel + var C = c + "[^aeiouy]*"; // consonant sequence + var V = v + "[aeiou]*"; // vowel sequence + + var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0 + var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 + var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 + var s_v = "^(" + C + ")?" + v; // vowel in stem + + this.stemWord = function (w) { + var stem; + var suffix; + var firstch; + var origword = w; + + if (w.length < 3) + return w; + + var re; + var re2; + var re3; + var re4; + + firstch = w.substr(0,1); + if (firstch == "y") + w = firstch.toUpperCase() + w.substr(1); + + // Step 1a + re = /^(.+?)(ss|i)es$/; + re2 = /^(.+?)([^s])s$/; + + if (re.test(w)) + w = w.replace(re,"$1$2"); + else if (re2.test(w)) + w = w.replace(re2,"$1$2"); + + // Step 1b + re = /^(.+?)eed$/; + re2 = /^(.+?)(ed|ing)$/; + if (re.test(w)) { + var fp = re.exec(w); + re = new RegExp(mgr0); + if (re.test(fp[1])) { + re = /.$/; + w = w.replace(re,""); + } + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1]; + re2 = new RegExp(s_v); + if (re2.test(stem)) { + w = stem; + re2 = /(at|bl|iz)$/; + re3 = new RegExp("([^aeiouylsz])\\1$"); + re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re2.test(w)) + w = w + "e"; + else if (re3.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + else if (re4.test(w)) + w = w + "e"; + } + } + + // Step 1c + re = /^(.+?)y$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(s_v); + if (re.test(stem)) + w = stem + "i"; + } + + // Step 2 + re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step2list[suffix]; + } + + // Step 3 + re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step3list[suffix]; + } + + // Step 4 + re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; + re2 = /^(.+?)(s|t)(ion)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + if (re.test(stem)) + w = stem; + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1] + fp[2]; + re2 = new RegExp(mgr1); + if (re2.test(stem)) + w = stem; + } + + // Step 5 + re = /^(.+?)e$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + re2 = new RegExp(meq1); + re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) + w = stem; + } + re = /ll$/; + re2 = new RegExp(mgr1); + if (re.test(w) && re2.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + + // and turn initial Y back to y + if (firstch == "y") + w = firstch.toLowerCase() + w.substr(1); + return w; + } +} + + + + + +var splitChars = (function() { + var result = {}; + var singles = [96, 180, 187, 191, 215, 247, 749, 885, 903, 907, 909, 930, 1014, 1648, + 1748, 1809, 2416, 2473, 2481, 2526, 2601, 2609, 2612, 2615, 2653, 2702, + 2706, 2729, 2737, 2740, 2857, 2865, 2868, 2910, 2928, 2948, 2961, 2971, + 2973, 3085, 3089, 3113, 3124, 3213, 3217, 3241, 3252, 3295, 3341, 3345, + 3369, 3506, 3516, 3633, 3715, 3721, 3736, 3744, 3748, 3750, 3756, 3761, + 3781, 3912, 4239, 4347, 4681, 4695, 4697, 4745, 4785, 4799, 4801, 4823, + 4881, 5760, 5901, 5997, 6313, 7405, 8024, 8026, 8028, 8030, 8117, 8125, + 8133, 8181, 8468, 8485, 8487, 8489, 8494, 8527, 11311, 11359, 11687, 11695, + 11703, 11711, 11719, 11727, 11735, 12448, 12539, 43010, 43014, 43019, 43587, + 43696, 43713, 64286, 64297, 64311, 64317, 64319, 64322, 64325, 65141]; + var i, j, start, end; + for (i = 0; i < singles.length; i++) { + result[singles[i]] = true; + } + var ranges = [[0, 47], [58, 64], [91, 94], [123, 169], [171, 177], [182, 184], [706, 709], + [722, 735], [741, 747], [751, 879], [888, 889], [894, 901], [1154, 1161], + [1318, 1328], [1367, 1368], [1370, 1376], [1416, 1487], [1515, 1519], [1523, 1568], + [1611, 1631], [1642, 1645], [1750, 1764], [1767, 1773], [1789, 1790], [1792, 1807], + [1840, 1868], [1958, 1968], [1970, 1983], [2027, 2035], [2038, 2041], [2043, 2047], + [2070, 2073], [2075, 2083], [2085, 2087], [2089, 2307], [2362, 2364], [2366, 2383], + [2385, 2391], [2402, 2405], [2419, 2424], [2432, 2436], [2445, 2446], [2449, 2450], + [2483, 2485], [2490, 2492], [2494, 2509], [2511, 2523], [2530, 2533], [2546, 2547], + [2554, 2564], [2571, 2574], [2577, 2578], [2618, 2648], [2655, 2661], [2672, 2673], + [2677, 2692], [2746, 2748], [2750, 2767], [2769, 2783], [2786, 2789], [2800, 2820], + [2829, 2830], [2833, 2834], [2874, 2876], [2878, 2907], [2914, 2917], [2930, 2946], + [2955, 2957], [2966, 2968], [2976, 2978], [2981, 2983], [2987, 2989], [3002, 3023], + [3025, 3045], [3059, 3076], [3130, 3132], [3134, 3159], [3162, 3167], [3170, 3173], + [3184, 3191], [3199, 3204], [3258, 3260], [3262, 3293], [3298, 3301], [3312, 3332], + [3386, 3388], [3390, 3423], [3426, 3429], [3446, 3449], [3456, 3460], [3479, 3481], + [3518, 3519], [3527, 3584], [3636, 3647], [3655, 3663], [3674, 3712], [3717, 3718], + [3723, 3724], [3726, 3731], [3752, 3753], [3764, 3772], [3774, 3775], [3783, 3791], + [3802, 3803], [3806, 3839], [3841, 3871], [3892, 3903], [3949, 3975], [3980, 4095], + [4139, 4158], [4170, 4175], [4182, 4185], [4190, 4192], [4194, 4196], [4199, 4205], + [4209, 4212], [4226, 4237], [4250, 4255], [4294, 4303], [4349, 4351], [4686, 4687], + [4702, 4703], [4750, 4751], [4790, 4791], [4806, 4807], [4886, 4887], [4955, 4968], + [4989, 4991], [5008, 5023], [5109, 5120], [5741, 5742], [5787, 5791], [5867, 5869], + [5873, 5887], [5906, 5919], [5938, 5951], [5970, 5983], [6001, 6015], [6068, 6102], + [6104, 6107], [6109, 6111], [6122, 6127], [6138, 6159], [6170, 6175], [6264, 6271], + [6315, 6319], [6390, 6399], [6429, 6469], [6510, 6511], [6517, 6527], [6572, 6592], + [6600, 6607], [6619, 6655], [6679, 6687], [6741, 6783], [6794, 6799], [6810, 6822], + [6824, 6916], [6964, 6980], [6988, 6991], [7002, 7042], [7073, 7085], [7098, 7167], + [7204, 7231], [7242, 7244], [7294, 7400], [7410, 7423], [7616, 7679], [7958, 7959], + [7966, 7967], [8006, 8007], [8014, 8015], [8062, 8063], [8127, 8129], [8141, 8143], + [8148, 8149], [8156, 8159], [8173, 8177], [8189, 8303], [8306, 8307], [8314, 8318], + [8330, 8335], [8341, 8449], [8451, 8454], [8456, 8457], [8470, 8472], [8478, 8483], + [8506, 8507], [8512, 8516], [8522, 8525], [8586, 9311], [9372, 9449], [9472, 10101], + [10132, 11263], [11493, 11498], [11503, 11516], [11518, 11519], [11558, 11567], + [11622, 11630], [11632, 11647], [11671, 11679], [11743, 11822], [11824, 12292], + [12296, 12320], [12330, 12336], [12342, 12343], [12349, 12352], [12439, 12444], + [12544, 12548], [12590, 12592], [12687, 12689], [12694, 12703], [12728, 12783], + [12800, 12831], [12842, 12880], [12896, 12927], [12938, 12976], [12992, 13311], + [19894, 19967], [40908, 40959], [42125, 42191], [42238, 42239], [42509, 42511], + [42540, 42559], [42592, 42593], [42607, 42622], [42648, 42655], [42736, 42774], + [42784, 42785], [42889, 42890], [42893, 43002], [43043, 43055], [43062, 43071], + [43124, 43137], [43188, 43215], [43226, 43249], [43256, 43258], [43260, 43263], + [43302, 43311], [43335, 43359], [43389, 43395], [43443, 43470], [43482, 43519], + [43561, 43583], [43596, 43599], [43610, 43615], [43639, 43641], [43643, 43647], + [43698, 43700], [43703, 43704], [43710, 43711], [43715, 43738], [43742, 43967], + [44003, 44015], [44026, 44031], [55204, 55215], [55239, 55242], [55292, 55295], + [57344, 63743], [64046, 64047], [64110, 64111], [64218, 64255], [64263, 64274], + [64280, 64284], [64434, 64466], [64830, 64847], [64912, 64913], [64968, 65007], + [65020, 65135], [65277, 65295], [65306, 65312], [65339, 65344], [65371, 65381], + [65471, 65473], [65480, 65481], [65488, 65489], [65496, 65497]]; + for (i = 0; i < ranges.length; i++) { + start = ranges[i][0]; + end = ranges[i][1]; + for (j = start; j <= end; j++) { + result[j] = true; + } + } + return result; +})(); + +function splitQuery(query) { + var result = []; + var start = -1; + for (var i = 0; i < query.length; i++) { + if (splitChars[query.charCodeAt(i)]) { + if (start !== -1) { + result.push(query.slice(start, i)); + start = -1; + } + } else if (start === -1) { + start = i; + } + } + if (start !== -1) { + result.push(query.slice(start)); + } + return result; +} + + diff --git a/docs/_static/lshensemble_benchmark.png b/docs/_static/lshensemble_benchmark.png deleted file mode 100644 index 62747df261c5646451812a33ae7353d32d5f5991..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52113 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

cS}G|Ai{68!wZ_@#i9Cd(b3W1 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 literal 0 HcmV?d00001 diff --git a/docs/_static/lshensemble_benchmark_1k/lshensemble_num_perm_256_query_time.png b/docs/_static/lshensemble_benchmark_1k/lshensemble_num_perm_256_query_time.png new file mode 100644 index 0000000000000000000000000000000000000000..7abc93852eeca322304926b064b621080fda4103 GIT binary patch literal 14850 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 F|2JgEfJFcR literal 0 HcmV?d00001 diff --git a/docs/_static/lshensemble_benchmark_1k/lshensemble_num_perm_256_recall.png b/docs/_static/lshensemble_benchmark_1k/lshensemble_num_perm_256_recall.png new file mode 100644 index 0000000000000000000000000000000000000000..8f8c6ad57e1d7a137dbc95347d341681e6e94809 GIT binary patch literal 25633 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 - + + @@ -909,7 +910,7 @@

MinHash LSH¶

-class datasketch.experimental.aio.lsh.AsyncMinHashLSH(threshold: float = 0.9, num_perm: int = 128, weights: Tuple[float, float] = (0.5, 0.5), params: Tuple[int, int] = None, storage_config: Dict[KT, VT] = None)[source]¶
+class datasketch.experimental.aio.lsh.AsyncMinHashLSH(threshold: float = 0.9, num_perm: int = 128, weights: Tuple[float, float] = (0.5, 0.5), params: Tuple[int, int] = None, storage_config: Dict = None)[source]¶

Asynchronous MinHashLSH index.

@@ -943,7 +944,7 @@

Asynchronous MinHash LSH
-__init__(threshold: float = 0.9, num_perm: int = 128, weights: Tuple[float, float] = (0.5, 0.5), params: Tuple[int, int] = None, storage_config: Dict[KT, VT] = None)[source]¶
+__init__(threshold: float = 0.9, num_perm: int = 128, weights: Tuple[float, float] = (0.5, 0.5), params: Tuple[int, int] = None, storage_config: Dict = None)[source]¶

Initialize self. See help(type(self)) for accurate signature.

@@ -1587,8 +1588,8 @@

HyperLogLog++Sphinx 1.8.1 - & Alabaster 0.7.12 + Powered by Sphinx 1.8.3 + & Alabaster 0.7.11 | - + + @@ -453,8 +454,8 @@

W

©2018, Eric Zhu. | - Powered by
Sphinx 1.8.1 - & Alabaster 0.7.12 + Powered by Sphinx 1.8.3 + & Alabaster 0.7.11 diff --git a/docs/hyperloglog.html b/docs/hyperloglog.html index e5d8bb67..283a6457 100644 --- a/docs/hyperloglog.html +++ b/docs/hyperloglog.html @@ -13,7 +13,8 @@ - + + @@ -161,8 +162,8 @@

Quick search

©2018, Eric Zhu. | - Powered by Sphinx 1.8.1 - & Alabaster 0.7.12 + Powered by Sphinx 1.8.3 + & Alabaster 0.7.11 | - + + @@ -177,8 +178,8 @@

InstallSphinx 1.8.1 - & Alabaster 0.7.12 + Powered by Sphinx 1.8.3 + & Alabaster 0.7.11 | - + + @@ -364,8 +365,8 @@

Connecting to Existing MinHash LSHSphinx 1.8.1 - & Alabaster 0.7.12 + Powered by Sphinx 1.8.3 + & Alabaster 0.7.11 | - + + @@ -159,8 +160,10 @@

LSH for Containmentfor d in set3: m3.update(d.encode('utf8')) -# Create an LSH Ensemble index with a threshold -lshensemble = MinHashLSHEnsemble(threshold=0.8, num_perm=128) +# Create an LSH Ensemble index with threshold and number of partition +# settings. +lshensemble = MinHashLSHEnsemble(threshold=0.8, num_perm=128, + num_part=32) # Index takes an iterable of (key, minhash, size) lshensemble.index([("m2", m2, len(set2)), ("m3", m3, len(set3))]) @@ -175,15 +178,16 @@

LSH for Containmentprint(key) -

The accuracy of LSH Ensemble increases as the number of permutation functions increases, -and the query performance decreases with more permutation functions, as the plot below shows. +

The precision of LSH Ensemble increases with the number of partitions, +so does the querying time, as the plot below shows. The experiment code can be found in the benchmark directory -of the source code repository.

-
-MinHashLSHEnsemble Benchmark -
-

There are other optional parameters that can be used to tune the index to achieve better accuracy or performance. +of the source code repository. +There are other optional parameters that can be used to tune the index to achieve better accuracy or performance. See the documentation of datasketch.MinHashLSHEnsemble for details.

+MinHashLSHEnsemble Benchmark Precision +MinHashLSHEnsemble Benchmark Recall +MinHashLSHEnsemble Benchmark F-Score +MinHashLSHEnsemble Benchmark Query Time @@ -198,8 +202,8 @@

LSH for ContainmentSphinx 1.8.1 - & Alabaster 0.7.12 + Powered by Sphinx 1.8.3 + & Alabaster 0.7.11 | - + + @@ -181,8 +182,8 @@

Quick search

©2018, Eric Zhu. | - Powered by
Sphinx 1.8.1 - & Alabaster 0.7.12 + Powered by Sphinx 1.8.3 + & Alabaster 0.7.11 | - + + @@ -166,8 +167,8 @@

Quick search

©2018, Eric Zhu. | - Powered by
Sphinx 1.8.1 - & Alabaster 0.7.12 + Powered by Sphinx 1.8.3 + & Alabaster 0.7.11 | - + + @@ -115,8 +116,8 @@

Search

©2018, Eric Zhu. | - Powered by
Sphinx 1.8.1 - & Alabaster 0.7.12 + Powered by Sphinx 1.8.3 + & Alabaster 0.7.11 diff --git a/docs/searchindex.js b/docs/searchindex.js index 12ea704a..bd265a4d 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["documentation","hyperloglog","index","lsh","lshensemble","lshforest","minhash","weightedminhash"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.cpp":1,"sphinx.domains.javascript":1,"sphinx.domains.math":1,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,"sphinx.ext.viewcode":1,sphinx:55},filenames:["documentation.rst","hyperloglog.rst","index.rst","lsh.rst","lshensemble.rst","lshforest.rst","minhash.rst","weightedminhash.rst"],objects:{"datasketch.HyperLogLog":{__eq__:[0,1,1,""],__init__:[0,1,1,""],__len__:[0,1,1,""],clear:[0,1,1,""],copy:[0,1,1,""],count:[0,1,1,""],digest:[0,1,1,""],is_empty:[0,1,1,""],merge:[0,1,1,""],update:[0,1,1,""]},"datasketch.HyperLogLogPlusPlus":{__weakref__:[0,2,1,""],count:[0,1,1,""]},"datasketch.LeanMinHash":{__hash__:[0,1,1,""],__init__:[0,1,1,""],bytesize:[0,1,1,""],copy:[0,1,1,""],deserialize:[0,3,1,""],serialize:[0,1,1,""],union:[0,3,1,""],update:[0,1,1,""]},"datasketch.MinHash":{__eq__:[0,1,1,""],__init__:[0,1,1,""],__len__:[0,1,1,""],__weakref__:[0,2,1,""],clear:[0,1,1,""],copy:[0,1,1,""],count:[0,1,1,""],digest:[0,1,1,""],is_empty:[0,1,1,""],jaccard:[0,1,1,""],merge:[0,1,1,""],union:[0,3,1,""],update:[0,1,1,""]},"datasketch.MinHashLSH":{__contains__:[0,1,1,""],__init__:[0,1,1,""],__weakref__:[0,2,1,""],get_counts:[0,1,1,""],get_subset_counts:[0,1,1,""],insert:[0,1,1,""],insertion_session:[0,1,1,""],is_empty:[0,1,1,""],query:[0,1,1,""],remove:[0,1,1,""]},"datasketch.MinHashLSHEnsemble":{__contains__:[0,1,1,""],__init__:[0,1,1,""],__weakref__:[0,2,1,""],index:[0,1,1,""],is_empty:[0,1,1,""],query:[0,1,1,""]},"datasketch.MinHashLSHForest":{__contains__:[0,1,1,""],__init__:[0,1,1,""],__weakref__:[0,2,1,""],add:[0,1,1,""],index:[0,1,1,""],is_empty:[0,1,1,""],query:[0,1,1,""]},"datasketch.WeightedMinHash":{__eq__:[0,1,1,""],__init__:[0,1,1,""],__len__:[0,1,1,""],__weakref__:[0,2,1,""],copy:[0,1,1,""],digest:[0,1,1,""],jaccard:[0,1,1,""]},"datasketch.WeightedMinHashGenerator":{__init__:[0,1,1,""],__weakref__:[0,2,1,""],minhash:[0,1,1,""]},"datasketch.experimental.aio.lsh":{AsyncMinHashLSH:[0,0,1,""]},"datasketch.experimental.aio.lsh.AsyncMinHashLSH":{__init__:[0,1,1,""],__weakref__:[0,2,1,""],close:[0,1,1,""],delete_session:[0,1,1,""],get_counts:[0,1,1,""],get_subset_counts:[0,1,1,""],has_key:[0,1,1,""],insert:[0,1,1,""],insertion_session:[0,1,1,""],is_empty:[0,1,1,""],query:[0,1,1,""],remove:[0,1,1,""]},datasketch:{HyperLogLog:[0,0,1,""],HyperLogLogPlusPlus:[0,0,1,""],LeanMinHash:[0,0,1,""],MinHash:[0,0,1,""],MinHashLSH:[0,0,1,""],MinHashLSHEnsemble:[0,0,1,""],MinHashLSHForest:[0,0,1,""],WeightedMinHash:[0,0,1,""],WeightedMinHashGenerator:[0,0,1,""]}},objnames:{"0":["py","class","Python class"],"1":["py","method","Python method"],"2":["py","attribute","Python attribute"],"3":["py","classmethod","Python class method"]},objtypes:{"0":"py:class","1":"py:method","2":"py:attribute","3":"py:classmethod"},terms:{"\u00e9ric":1,"byte":0,"case":[4,5],"class":0,"default":[0,1,5,6,7],"export":0,"float":[0,6],"fr\u00e9d\u00e9ric":1,"function":[0,1,3,4,5,6,7],"import":[0,1,3,4,5,6,7],"int":[0,5],"long":7,"new":[0,3],"return":[0,1,3,5,6],"super":2,"true":0,"try":0,AND:0,But:4,For:[0,2,3],One:0,The:[0,1,2,3,4,5,6],There:[3,4,5],Use:[0,1],Used:0,Using:[0,3,4,5,7],__contains__:0,__eq__:0,__hash__:0,__init__:0,__len__:0,__weakref__:0,_chunked_str:[0,3],_storag:3,_storage_config_redi:0,aac:[0,3],aahh:[0,3],aahhb:[0,3],aahhc:[0,3],about:[0,3,4],abov:[0,2,3,4],accur:0,accuraci:[0,1,2,3,4,6,7],achiev:[3,4],across:[0,3],actual:[1,6],actual_jaccard:6,add:[0,5],added:0,adding:5,addit:[0,3],adjust:[0,6],advis:3,affect:0,after:[0,5],aio:[0,3],aiohttp:3,aiomongo:[0,3],aioredi:[],algorithm:[0,3],all:[0,1,3,6,7],alloc:0,allow:3,also:[0,1,2,3,4,6,7],altern:3,alwai:3,amount:2,analysi:6,andrei:6,ani:0,anoth:[0,4,5],api:3,approach:[3,7],approxim:[0,3,7],arbitrari:[4,6],argument:[0,3,7],arrai:0,ascii_lowercas:[0,3],assign:0,associ:3,assum:[0,7],assur:3,async:[0,3],asynchron:2,asyncio:[0,3],asyncminhashlsh:[0,3],asyncminhashlshinsertionsess:[],asyncminhashlshsess:0,avail:0,averag:[3,5],avoid:0,await:[0,3],band:0,base:[0,1,3],base_name_1:0,basenam:[0,3],batch:3,batch_siz:[0,3],bawa:5,becaus:[4,6],becom:4,been:0,befor:0,being:4,below:[3,4,5],benchmark:[3,4,5],best:3,better:[0,1,4,6,7],between:[0,3,4,5,6],bhg:[0,3],bia:1,bias:4,bigger:3,bike:4,billion:6,binari:7,bird:4,bit:[0,1],block:[],bool:0,both:[0,6],broder:6,bucket:0,buf:0,buffer:0,buffer_s:0,built:0,bulk:3,bypass:0,bytearrai:0,byteord:0,bytes:0,call:[0,3,4,5],can:[0,1,2,3,4,6,7],candid:5,cannot:[0,3,7],cap:4,capabl:1,car:4,cardin:[0,1,2,3,6],cat:4,certain:[3,4],chain:[0,3],chang:[0,1,3],chapter:[0,3],charact:0,check:[0,4,5],check_dupl:[0,3],choic:[0,3],chosen:0,chunk:[0,3],classic:3,classmethod:0,cleanup:0,clear:[0,4],client:0,close:[0,3],cluster:3,code:[3,4],cohen:6,coher:5,collect:[3,4],collis:[0,3],com:[0,4],come:3,compress:7,comput:[0,3,4,6],concurr:[],config:3,configur:[0,3],consid:[0,6],consist:0,constant:4,constructor:0,contain:[0,2],context:[0,3],control:[0,1],convert:0,copi:0,correct:1,correspond:0,cost:[3,7],count:[0,1,6,7],cow:4,cpu:6,creat:[0,1,3,4,5,7],cup:4,current:[0,3],custom:[5,6],data1:[1,5,6],data2:[5,6],data3:5,data:[0,1,3,4,5,6,7],data_list:3,dataset:[0,1,3,5,6],datasketch:[0,1,3,4,5,6,7],decreas:4,deduc:4,def:[0,3],defin:0,delete_sess:[0,3],denomin:4,depend:[2,5,7],depth:5,describ:0,deseri:[0,3],detail:[3,4,5],determin:4,diagram:4,dict:0,differ:[0,3,4,5],digest:0,dim:0,dimens:[0,7],directli:4,directori:[3,4],disconnect:0,distinct:[1,6],divid:4,document:[3,4,5,6],doe:[0,3,7],dog:4,doing:7,don:3,due:[0,3],dump:3,duplic:0,dure:[0,3],each:[0,7],easili:4,eer:[0,3],effect:0,effici:3,ekzhu:4,element:[0,6],eleph:4,els:1,empti:0,encod:[0,1,3,4,5,6],enhanc:[0,1],ensembl:[2,3],ensur:0,entri:0,enumer:0,environ:3,equal:0,equival:0,estim:[0,1,2,3,5,6,7],everi:[0,3,5,6],everyth:[1,3],exact:3,exampl:[0,3,7],exist:0,expand:7,expect:[],expens:[0,7],experi:[1,3,4],experiment:[0,2,3],exponenti:1,extern:3,extrem:3,factor:0,fals:[0,3],false_negative_weight:0,false_positive_weight:0,far:[0,6],fast:[0,2],faster:[0,2],find:[3,4],first:[0,1,3,7],fish:4,fix:[1,4,5,6],flajolet:1,follow:[1,2,4],footprint:[0,6],forest:[2,3],fork:3,form:0,format:0,found:[0,3,4],frac:4,fraction:4,frequenc:0,from:[0,1,3,4,5,6,7],frozen:0,frozenset:[0,3],full:4,func:[0,3],further:0,fusi:1,futur:[0,3],gandouet:1,gather:[0,3],gener:[0,3,5],get:[0,3,4,7],get_count:0,get_subset_count:0,github:[0,4],give:[0,1,2,3,6],given:[0,4],googl:[0,1],great:4,greater:0,group:3,handl:[3,6],has:[0,3],has_kei:0,hash:[0,1,3,6],hashabl:0,hashlib:0,hashobj:0,hashtabl:0,hashvalu:0,have:[0,3,4,5,7],help:0,here:[0,1,4,7],higest:5,high:[0,3],higher:[0,1,3,6],highest:[0,5],hors:4,host:[0,3],howev:[1,3,4,5,7],hpp:1,http:0,huge:3,human:4,hyperloglog:2,hyperloglogplusplu:[0,1],identifi:[0,3],ignor:0,illustr:4,implement:[0,1,4,5,7],improv:[0,3],includ:[3,5],inconsist:3,increas:[3,4,7],index:[0,2,3,4,5,7],inform:0,inherit:0,initi:[0,1,2,3],input:0,insert:[0,3,7],insert_sess:0,insertion_sess:[0,3],instead:[0,1,4],instruct:6,integ:0,intent:3,interestingli:1,interfac:[0,1,2,3,5,7],intern:0,intersect:[3,4,6],introduc:[1,6],ioff:[0,7],is_empti:0,islic:[0,3],issu:4,item:[0,7],iter:[0,3,4],its:[0,4,7],jaccard:[0,2,3,4,5,6,7],jet:4,join:[0,3],jump:3,just:[0,4],kei:[0,3,4,5],keys_to_remov:[0,3],kkd:[0,3],kld:[0,3],know:3,knowledg:7,known:7,lambda:[0,3],languag:0,larg:[0,2,3,4,7],larger:4,latter:4,layer:[2,3],lead:0,lean_minhash2:0,lean_minhash:0,leanminhash:[0,6],least:0,left:4,len:[0,1,3,4,6,7],length:0,let:6,librari:7,like:[3,4],linear:[2,3,5,6],linearli:[3,6,7],lion:4,list:0,littl:2,live:0,lmh:0,load:3,local:3,localhost:[0,3],locat:3,loss:2,lower:3,lsh:[2,7],lsh_test:3,lshensembl:4,mai:[0,3,5],main:0,maintain:0,make:[0,1,3,5,6,7],manag:[0,3],mani:[1,3,5],map:5,mapreduc:6,massiv:[0,3],match:5,max_work:[],maxim:3,maximum:[0,5],maxk:0,mean:[3,5,6],measur:[3,4],membership:[4,5],memori:[0,1,6],merg:[0,1,6],method:[0,5],meunier:1,mhs:0,migrat:0,million:3,mine:[0,3],minhash2:0,minhash:[1,2],minhashlsh:[0,3,5,7],minhashlshensembl:[0,4],minhashlshforest:[0,5,7],minhashlshinsertionsess:0,minim:0,miniz:0,mode:[0,3],modif:0,modifi:7,modul:[0,2,3],mongo:[0,3],mongodb:[2,3],more:[0,1,3,4,5,6],moreov:3,most:0,motor:3,motorcyl:4,much:[2,3,4],multi:0,multipl:[0,3],multipli:4,multiset:7,must:[0,2,3,5],name:[0,3],nativ:0,need:[0,3],neg:[0,3],neighbour:[3,7],network:3,newer:0,next:0,node1:3,node2:3,node3:3,node:3,none:0,normal:4,note:[0,2,3],now:[0,3],num_part:0,num_perm:[0,3,4,5,6],number:[0,1,3,4,5,6,7],numpi:[0,2,7],obj:[0,3],object:[0,1,3,4,5,6,7],off:6,often:5,old:3,olivi:1,onc:0,one:[0,4],onli:[0,7],open:3,openssl_sha1:0,optim:[0,3],option:[0,2,3,4,5],order:0,origin:[0,1,6],other:[0,3,4],otherwis:5,over:0,overhead:0,packag:[0,2,3,4],pair:4,paper:[0,1,5,6],parallel:[0,6],param:0,paramet:[0,1,3,4,5,7],part:3,partit:0,pass:[0,1,3],penal:4,penalti:1,percentil:3,perform:[0,4,7],permut:[0,3,4,6,7],persist:3,philipp:1,pickl:[0,3],pig:4,pip:2,plane:4,plot:[3,4,5],pool:[],popular:3,port1:3,port2:3,port3:3,port:[0,3],posit:[0,3],possibl:[5,7],ppi:[0,3],precis:[0,3,5],prefer:0,prefix:[0,3,5],prepickl:0,present:6,preserv:3,prevent:0,print:[1,3,4,5,6,7],probabilist:[0,1,2,3,5,6],probabl:[3,5,6],problem:4,process:[2,3,7],product:3,profil:7,program:0,properli:0,properti:[0,3],proport:6,provid:[2,3],pymongo:[],python:[0,2,3],qualifi:3,queri:[0,2,3,4,5,7],radiu:5,rais:0,random:[0,3,7],rang:[0,3],read:5,real:7,recal:[0,3],recommend:[0,3],redi:[2,3],reduc:[3,6],refer:0,referenc:0,reg:0,rel:0,remov:[0,3],replica:3,replica_set:3,replica_set_nod:3,repositori:[3,4],repres:0,represent:[0,1],requir:[3,7],resembl:[0,4,6],reset:0,resourc:0,respect:[0,3,4,7],respons:0,rest:[0,3],restrict:0,result:[0,3,4,5,7],retriev:[0,5],right:[3,4],rocket:4,roughli:4,rs0:3,said:3,same:[0,1,3,4,5],sampl:[0,7],sample_s:[0,7],satisfi:3,save:[0,3],scale:0,scan:5,schema:0,scheme:[0,1],scipi:2,scooter:4,search:[2,3,4],searchabl:[0,5],searchbal:0,sec:[],see:[0,3,4,5],seed:[0,7],seen:[0,6],self:0,sensit:3,seq:[0,3],sequenc:3,sergei:[0,7],serial:[0,3],serializ:3,servic:[0,3],session:[0,3],set1:[3,4],set2:[3,4],set3:[3,4],set:[0,1,3,4,5,6,7],sha1:0,share:[1,3],shingl:3,ship:4,show:[4,5],side:0,signatur:0,similar:[0,2,3,4,5,6,7],simpli:3,simplifi:4,sinc:[0,3,4],singl:[0,1,3],size:[0,3,4,6],sketch:[0,2,4,5],slightli:[0,3,4],slower:[0,6,7],small:[0,1,6],smaller:[0,4],sole:4,some:5,soon:4,sort:0,sourc:[0,3,4],space:[0,1,6],spars:[0,1],specif:4,specifi:[0,3,7],speed:[1,6,7],stabl:1,state:0,step:0,still:3,storag:[0,2,3],storage_config:[0,3],store:[0,6],str:0,stream:[3,6,7],string:[0,3],structur:[0,1,2,3,5,6],style:[3,6],sub:[2,3],submarin:4,sum:0,summari:[],support:[0,2,3,7],suppos:[3,4],suv:4,svpcom:0,synchron:[],synthet:5,tabl:0,take:[4,5,7],task:3,techniqu:0,test:1,text:3,than:[0,1,3,6],them:0,ther:3,thi:[0,1,2,3,4,5,6,7],think:4,those:0,though:[],threadpoolexecutor:[],three:3,threshold:[0,2,3,4,5,7],throughput:3,thu:[3,4,7],tiger:4,time:[0,2,3,6],togeth:0,top:[0,2,3,5],toward:0,trade:6,train:4,tree:[0,5],tune:[3,4],tupl:[0,3],two:[0,1,3,4,6],type:[0,2,3,5,7],typeerror:0,under:0,underli:3,understand:5,uniform:7,union:[0,1,4,6],uniqu:[0,3],unique_name_6ac4fg:3,unit:0,univers:7,unlik:3,unseen:7,unsuit:7,until:0,unweight:7,updat:[0,1,3,4,5,6,7],usag:[0,1,2,6,7],use:[0,1,3,4,7],used:[0,1,2,3,4,5,6,7],useful:[3,5,6],uses:0,using:[0,1,2,3,4,5,6,7],usual:[3,7],utf8:[1,3,4,5,6],utf:[0,3],valu:[0,1,4,6],van:4,variabl:0,variou:3,vector:[0,7],venn:4,veri:[0,2,3,4,5,7],version:[0,1,3,4],wai:[3,4,5],want:[0,3,4,5],weak:0,weight:2,weightedminhash:[0,7],weightedminhashgener:[0,7],well:2,when:[0,3,4,7],where:0,whether:0,which:[0,3,4,5,7],whose:0,why:4,without:[0,5],wm1:7,wm2:7,wmg:7,wolf:4,won:[0,5],work:[0,4],you:[0,1,2,3,4,5,6,7],your:[3,4,6],yow:[0,3],zhu:[0,4],zip:[0,3]},titles:["API Documentation","HyperLogLog","datasketch: Big Data Looks Small","MinHash LSH","MinHash LSH Ensemble","MinHash LSH Forest","MinHash","Weighted MinHash"],titleterms:{api:0,asynchron:[0,3],big:2,connect:3,contain:4,data:2,datasketch:2,document:0,ensembl:[0,4],exist:3,forest:[0,5],hyperloglog:[0,1],instal:2,lean:0,look:2,lsh:[0,3,4,5],minhash:[0,3,4,5,6,7],scale:3,small:2,weight:[0,7]}}) \ No newline at end of file +Search.setIndex({docnames:["documentation","hyperloglog","index","lsh","lshensemble","lshforest","minhash","weightedminhash"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.cpp":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,"sphinx.ext.viewcode":1,sphinx:55},filenames:["documentation.rst","hyperloglog.rst","index.rst","lsh.rst","lshensemble.rst","lshforest.rst","minhash.rst","weightedminhash.rst"],objects:{"datasketch.HyperLogLog":{__eq__:[0,1,1,""],__init__:[0,1,1,""],__len__:[0,1,1,""],clear:[0,1,1,""],copy:[0,1,1,""],count:[0,1,1,""],digest:[0,1,1,""],is_empty:[0,1,1,""],merge:[0,1,1,""],update:[0,1,1,""]},"datasketch.HyperLogLogPlusPlus":{__weakref__:[0,2,1,""],count:[0,1,1,""]},"datasketch.LeanMinHash":{__hash__:[0,1,1,""],__init__:[0,1,1,""],bytesize:[0,1,1,""],copy:[0,1,1,""],deserialize:[0,3,1,""],serialize:[0,1,1,""],union:[0,3,1,""],update:[0,1,1,""]},"datasketch.MinHash":{__eq__:[0,1,1,""],__init__:[0,1,1,""],__len__:[0,1,1,""],__weakref__:[0,2,1,""],clear:[0,1,1,""],copy:[0,1,1,""],count:[0,1,1,""],digest:[0,1,1,""],is_empty:[0,1,1,""],jaccard:[0,1,1,""],merge:[0,1,1,""],union:[0,3,1,""],update:[0,1,1,""]},"datasketch.MinHashLSH":{__contains__:[0,1,1,""],__init__:[0,1,1,""],__weakref__:[0,2,1,""],get_counts:[0,1,1,""],get_subset_counts:[0,1,1,""],insert:[0,1,1,""],insertion_session:[0,1,1,""],is_empty:[0,1,1,""],query:[0,1,1,""],remove:[0,1,1,""]},"datasketch.MinHashLSHEnsemble":{__contains__:[0,1,1,""],__init__:[0,1,1,""],__weakref__:[0,2,1,""],index:[0,1,1,""],is_empty:[0,1,1,""],query:[0,1,1,""]},"datasketch.MinHashLSHForest":{__contains__:[0,1,1,""],__init__:[0,1,1,""],__weakref__:[0,2,1,""],add:[0,1,1,""],index:[0,1,1,""],is_empty:[0,1,1,""],query:[0,1,1,""]},"datasketch.WeightedMinHash":{__eq__:[0,1,1,""],__init__:[0,1,1,""],__len__:[0,1,1,""],__weakref__:[0,2,1,""],copy:[0,1,1,""],digest:[0,1,1,""],jaccard:[0,1,1,""]},"datasketch.WeightedMinHashGenerator":{__init__:[0,1,1,""],__weakref__:[0,2,1,""],minhash:[0,1,1,""]},"datasketch.experimental.aio.lsh":{AsyncMinHashLSH:[0,0,1,""]},"datasketch.experimental.aio.lsh.AsyncMinHashLSH":{__init__:[0,1,1,""],__weakref__:[0,2,1,""],close:[0,1,1,""],delete_session:[0,1,1,""],get_counts:[0,1,1,""],get_subset_counts:[0,1,1,""],has_key:[0,1,1,""],insert:[0,1,1,""],insertion_session:[0,1,1,""],is_empty:[0,1,1,""],query:[0,1,1,""],remove:[0,1,1,""]},datasketch:{HyperLogLog:[0,0,1,""],HyperLogLogPlusPlus:[0,0,1,""],LeanMinHash:[0,0,1,""],MinHash:[0,0,1,""],MinHashLSH:[0,0,1,""],MinHashLSHEnsemble:[0,0,1,""],MinHashLSHForest:[0,0,1,""],WeightedMinHash:[0,0,1,""],WeightedMinHashGenerator:[0,0,1,""]}},objnames:{"0":["py","class","Python class"],"1":["py","method","Python method"],"2":["py","attribute","Python attribute"],"3":["py","classmethod","Python class method"]},objtypes:{"0":"py:class","1":"py:method","2":"py:attribute","3":"py:classmethod"},terms:{"\u00e9ric":1,"byte":0,"case":[4,5],"class":0,"default":[0,1,5,6,7],"export":0,"float":[0,6],"fr\u00e9d\u00e9ric":1,"function":[0,1,3,5,6,7],"import":[0,1,3,4,5,6,7],"int":[0,5],"long":7,"new":[0,3],"return":[0,1,3,5,6],"super":2,"true":0,"try":0,AND:0,But:4,For:[0,2,3],One:0,The:[0,1,2,3,4,5,6],There:[3,4,5],Use:[0,1],Used:0,Using:[0,3,4,5,7],__contains__:0,__eq__:0,__hash__:0,__init__:0,__len__:0,__weakref__:0,_chunked_str:[0,3],_storag:3,_storage_config_redi:0,aac:[0,3],aahh:[0,3],aahhb:[0,3],aahhc:[0,3],about:[0,3,4],abov:[0,2,3,4],accur:0,accuraci:[0,1,2,3,4,6,7],achiev:[3,4],across:[0,3],actual:[1,6],actual_jaccard:6,add:[0,5],added:0,adding:5,addit:[0,3],adjust:[0,6],advis:3,affect:0,after:[0,5],aio:[0,3],aiohttp:3,aiomongo:[0,3],algorithm:[0,3],all:[0,1,3,6,7],alloc:0,allow:3,also:[0,1,2,3,4,6,7],altern:3,alwai:3,amount:2,analysi:6,andrei:6,ani:0,anoth:[0,4,5],api:3,approach:[3,7],approxim:[0,3,7],arbitrari:[4,6],argument:[0,3,7],arrai:0,ascii_lowercas:[0,3],assign:0,associ:3,assum:[0,7],assur:3,async:[0,3],asynchron:2,asyncio:[0,3],asyncminhashlsh:[0,3],asyncminhashlshsess:0,avail:0,averag:[3,5],avoid:0,await:[0,3],band:0,base:[0,1,3],base_name_1:0,basenam:[0,3],batch:3,batch_siz:[0,3],bawa:5,becaus:[4,6],becom:4,been:0,befor:0,being:4,below:[3,4,5],benchmark:[3,4,5],best:3,better:[0,1,4,6,7],between:[0,3,4,5,6],bhg:[0,3],bia:1,bias:4,bigger:3,bike:4,billion:6,binari:7,bird:4,bit:[0,1],bool:0,both:[0,6],broder:6,bucket:0,buf:0,buffer:0,buffer_s:0,built:0,bulk:3,bypass:0,bytearrai:0,byteord:0,bytes:0,call:[0,3,4,5],can:[0,1,2,3,4,6,7],candid:5,cannot:[0,3,7],cap:4,capabl:1,car:4,cardin:[0,1,2,3,6],cat:4,certain:[3,4],chain:[0,3],chang:[0,1,3],chapter:[0,3],charact:0,check:[0,4,5],check_dupl:[0,3],choic:[0,3],chosen:0,chunk:[0,3],classic:3,classmethod:0,cleanup:0,clear:[0,4],client:0,close:[0,3],cluster:3,code:[3,4],cohen:6,coher:5,collect:[3,4],collis:[0,3],com:[0,4],come:3,compress:7,comput:[0,3,4,6],config:3,configur:[0,3],consid:[0,6],consist:0,constant:4,constructor:0,contain:[0,2],context:[0,3],control:[0,1],convert:0,copi:0,correct:1,correspond:0,cost:[3,7],count:[0,1,6,7],cow:4,cpu:6,creat:[0,1,3,4,5,7],cup:4,current:[0,3],custom:[5,6],data1:[1,5,6],data2:[5,6],data3:5,data:[0,1,3,4,5,6,7],data_list:3,dataset:[0,1,3,5,6],datasketch:[0,1,3,4,5,6,7],deduc:4,def:[0,3],defin:0,delete_sess:[0,3],denomin:4,depend:[2,5,7],depth:5,describ:0,deseri:[0,3],detail:[3,4,5],determin:4,diagram:4,dict:0,differ:[0,3,4,5],digest:0,dim:0,dimens:[0,7],directli:4,directori:[3,4],disconnect:0,distinct:[1,6],divid:4,document:[3,4,5,6],doe:[0,3,4,7],dog:4,doing:7,don:3,due:[0,3],dump:3,duplic:0,dure:[0,3],each:[0,7],easili:4,eer:[0,3],effect:0,effici:3,ekzhu:4,element:[0,6],eleph:4,els:1,empti:0,encod:[0,1,3,4,5,6],enhanc:[0,1],ensembl:[2,3],ensur:0,entri:0,enumer:0,environ:3,equal:0,equival:0,estim:[0,1,2,3,5,6,7],everi:[0,3,5,6],everyth:[1,3],exact:3,exampl:[0,3,7],exist:0,expand:7,expens:[0,7],experi:[1,3,4],experiment:[0,2,3],exponenti:1,extern:3,extrem:3,factor:0,fals:[0,3],false_negative_weight:0,false_positive_weight:0,far:[0,6],fast:[0,2],faster:[0,2],find:[3,4],first:[0,1,3,7],fish:4,fix:[1,4,5,6],flajolet:1,follow:[1,2,4],footprint:[0,6],forest:[2,3],fork:3,form:0,format:0,found:[0,3,4],frac:4,fraction:4,frequenc:0,from:[0,1,3,4,5,6,7],frozen:0,frozenset:[0,3],full:4,func:[0,3],further:0,fusi:1,futur:[0,3],gandouet:1,gather:[0,3],gener:[0,3,5],get:[0,3,4,7],get_count:0,get_subset_count:0,github:[0,4],give:[0,1,2,3,6],given:[0,4],googl:[0,1],great:4,greater:0,group:3,handl:[3,6],has:[0,3],has_kei:0,hash:[0,1,3,6],hashabl:0,hashlib:0,hashobj:0,hashtabl:0,hashvalu:0,have:[0,3,4,5,7],help:0,here:[0,1,4,7],higest:5,high:[0,3],higher:[0,1,3,6],highest:[0,5],hors:4,host:[0,3],howev:[1,3,4,5,7],hpp:1,http:0,huge:3,human:4,hyperloglog:2,hyperloglogplusplu:[0,1],identifi:[0,3],ignor:0,illustr:4,implement:[0,1,4,5,7],improv:[0,3],includ:[3,5],inconsist:3,increas:[3,4,7],index:[0,2,3,4,5,7],inform:0,inherit:0,initi:[0,1,2,3],input:0,insert:[0,3,7],insert_sess:0,insertion_sess:[0,3],instead:[0,1,4],instruct:6,integ:0,intent:3,interestingli:1,interfac:[0,1,2,3,5,7],intern:0,intersect:[3,4,6],introduc:[1,6],ioff:[0,7],is_empti:0,islic:[0,3],issu:4,item:[0,7],iter:[0,3,4],its:[0,4,7],jaccard:[0,2,3,4,5,6,7],jet:4,join:[0,3],jump:3,just:[0,4],kei:[0,3,4,5],keys_to_remov:[0,3],kkd:[0,3],kld:[0,3],know:3,knowledg:7,known:7,lambda:[0,3],languag:0,larg:[0,2,3,4,7],larger:4,latter:4,layer:[2,3],lead:0,lean_minhash2:0,lean_minhash:0,leanminhash:[0,6],least:0,left:4,len:[0,1,3,4,6,7],length:0,let:6,librari:7,like:[3,4],linear:[2,3,5,6],linearli:[3,6,7],lion:4,list:0,littl:2,live:0,lmh:0,load:3,local:3,localhost:[0,3],locat:3,loss:2,lower:3,lsh:[2,7],lsh_test:3,lshensembl:4,mai:[0,3,5],main:0,maintain:0,make:[0,1,3,5,6,7],manag:[0,3],mani:[1,3,5],map:5,mapreduc:6,massiv:[0,3],match:5,maxim:3,maximum:[0,5],maxk:0,mean:[3,5,6],measur:[3,4],membership:[4,5],memori:[0,1,6],merg:[0,1,6],method:[0,5],meunier:1,mhs:0,migrat:0,million:3,mine:[0,3],minhash2:0,minhash:[1,2],minhashlsh:[0,3,5,7],minhashlshensembl:[0,4],minhashlshforest:[0,5,7],minhashlshinsertionsess:0,minim:0,miniz:0,mode:[0,3],modif:0,modifi:7,modul:[0,2,3],mongo:[0,3],mongodb:[2,3],more:[0,1,3,5,6],moreov:3,most:0,motor:3,motorcyl:4,much:[2,3,4],multi:0,multipl:[0,3],multipli:4,multiset:7,must:[0,2,3,5],name:[0,3],nativ:0,need:[0,3],neg:[0,3],neighbour:[3,7],network:3,newer:0,next:0,node1:3,node2:3,node3:3,node:3,none:0,normal:4,note:[0,2,3],now:[0,3],num_part:[0,4],num_perm:[0,3,4,5,6],number:[0,1,3,4,5,6,7],numpi:[0,2,7],obj:[0,3],object:[0,1,3,4,5,6,7],off:6,often:5,old:3,olivi:1,onc:0,one:[0,4],onli:[0,7],open:3,openssl_sha1:0,optim:[0,3],option:[0,2,3,4,5],order:0,origin:[0,1,6],other:[0,3,4],otherwis:5,over:0,overhead:0,packag:[0,2,3,4],pair:4,paper:[0,1,5,6],parallel:[0,6],param:0,paramet:[0,1,3,4,5,7],part:3,partit:[0,4],pass:[0,1,3],penal:4,penalti:1,percentil:3,perform:[0,4,7],permut:[0,3,6,7],persist:3,philipp:1,pickl:[0,3],pig:4,pip:2,plane:4,plot:[3,4,5],popular:3,port1:3,port2:3,port3:3,port:[0,3],posit:[0,3],possibl:[5,7],ppi:[0,3],precis:[0,3,4,5],prefer:0,prefix:[0,3,5],prepickl:0,present:6,preserv:3,prevent:0,print:[1,3,4,5,6,7],probabilist:[0,1,2,3,5,6],probabl:[3,5,6],problem:4,process:[2,3,7],product:3,profil:7,program:0,properli:0,properti:[0,3],proport:6,provid:[2,3],python:[0,2,3],qualifi:3,queri:[0,2,3,4,5,7],radiu:5,rais:0,random:[0,3,7],rang:[0,3],read:5,real:7,recal:[0,3],recommend:[0,3],redi:[2,3],reduc:[3,6],refer:0,referenc:0,reg:0,rel:0,remov:[0,3],replica:3,replica_set:3,replica_set_nod:3,repositori:[3,4],repres:0,represent:[0,1],requir:[3,7],resembl:[0,4,6],reset:0,resourc:0,respect:[0,3,4,7],respons:0,rest:[0,3],restrict:0,result:[0,3,4,5,7],retriev:[0,5],right:[3,4],rocket:4,roughli:4,rs0:3,said:3,same:[0,1,3,4,5],sampl:[0,7],sample_s:[0,7],satisfi:3,save:[0,3],scale:0,scan:5,schema:0,scheme:[0,1],scipi:2,scooter:4,search:[2,3,4],searchabl:[0,5],searchbal:0,see:[0,3,4,5],seed:[0,7],seen:[0,6],self:0,sensit:3,seq:[0,3],sequenc:3,sergei:[0,7],serial:[0,3],serializ:3,servic:[0,3],session:[0,3],set1:[3,4],set2:[3,4],set3:[3,4],set:[0,1,3,4,5,6,7],sha1:0,share:[1,3],shingl:3,ship:4,show:[4,5],side:0,signatur:0,similar:[0,2,3,4,5,6,7],simpli:3,simplifi:4,sinc:[0,3,4],singl:[0,1,3],size:[0,3,4,6],sketch:[0,2,4,5],slightli:[0,3,4],slower:[0,6,7],small:[0,1,6],smaller:[0,4],sole:4,some:5,soon:4,sort:0,sourc:[0,3,4],space:[0,1,6],spars:[0,1],specif:4,specifi:[0,3,7],speed:[1,6,7],stabl:1,state:0,step:0,still:3,storag:[0,2,3],storage_config:[0,3],store:[0,6],str:0,stream:[3,6,7],string:[0,3],structur:[0,1,2,3,5,6],style:[3,6],sub:[2,3],submarin:4,sum:0,support:[0,2,3,7],suppos:[3,4],suv:4,svpcom:0,synthet:5,tabl:0,take:[4,5,7],task:3,techniqu:0,test:1,text:3,than:[0,1,3,6],them:0,ther:3,thi:[0,1,2,3,4,5,6,7],think:4,those:0,three:3,threshold:[0,2,3,4,5,7],throughput:3,thu:[3,4,7],tiger:4,time:[0,2,3,4,6],togeth:0,top:[0,2,3,5],toward:0,trade:6,train:4,tree:[0,5],tune:[3,4],tupl:[0,3],two:[0,1,3,4,6],type:[0,2,3,5,7],typeerror:0,under:0,underli:3,understand:5,uniform:7,union:[0,1,4,6],uniqu:[0,3],unique_name_6ac4fg:3,unit:0,univers:7,unlik:3,unseen:7,unsuit:7,until:0,unweight:7,updat:[0,1,3,4,5,6,7],usag:[0,1,2,6,7],use:[0,1,3,4,7],used:[0,1,2,3,4,5,6,7],useful:[3,5,6],uses:0,using:[0,1,2,3,4,5,6,7],usual:[3,7],utf8:[1,3,4,5,6],utf:[0,3],valu:[0,1,4,6],van:4,variabl:0,variou:3,vector:[0,7],venn:4,veri:[0,2,3,4,5,7],version:[0,1,3,4],wai:[3,4,5],want:[0,3,4,5],weak:0,weight:2,weightedminhash:[0,7],weightedminhashgener:[0,7],well:2,when:[0,3,4,7],where:0,whether:0,which:[0,3,4,5,7],whose:0,why:4,without:[0,5],wm1:7,wm2:7,wmg:7,wolf:4,won:[0,5],work:[0,4],you:[0,1,2,3,4,5,6,7],your:[3,4,6],yow:[0,3],zhu:[0,4],zip:[0,3]},titles:["API Documentation","HyperLogLog","datasketch: Big Data Looks Small","MinHash LSH","MinHash LSH Ensemble","MinHash LSH Forest","MinHash","Weighted MinHash"],titleterms:{api:0,asynchron:[0,3],big:2,connect:3,contain:4,data:2,datasketch:2,document:0,ensembl:[0,4],exist:3,forest:[0,5],hyperloglog:[0,1],instal:2,lean:0,look:2,lsh:[0,3,4,5],minhash:[0,3,4,5,6,7],scale:3,small:2,weight:[0,7]}}) \ No newline at end of file diff --git a/docs/weightedminhash.html b/docs/weightedminhash.html index 09a51228..15e8f64b 100644 --- a/docs/weightedminhash.html +++ b/docs/weightedminhash.html @@ -13,7 +13,8 @@ - + + @@ -176,8 +177,8 @@

Quick search

©2018, Eric Zhu. | - Powered by Sphinx 1.8.1 - & Alabaster 0.7.12 + Powered by Sphinx 1.8.3 + & Alabaster 0.7.11 | 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

cS}G|Ai{68!wZ_@#i9Cd(b3W1 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 literal 0 HcmV?d00001 diff --git a/docsrc/_static/lshensemble_benchmark_1k/lshensemble_num_perm_256_query_time.png b/docsrc/_static/lshensemble_benchmark_1k/lshensemble_num_perm_256_query_time.png new file mode 100644 index 0000000000000000000000000000000000000000..7abc93852eeca322304926b064b621080fda4103 GIT binary patch literal 14850 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 F|2JgEfJFcR literal 0 HcmV?d00001 diff --git a/docsrc/_static/lshensemble_benchmark_1k/lshensemble_num_perm_256_recall.png b/docsrc/_static/lshensemble_benchmark_1k/lshensemble_num_perm_256_recall.png new file mode 100644 index 0000000000000000000000000000000000000000..8f8c6ad57e1d7a137dbc95347d341681e6e94809 GIT binary patch literal 25633 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