freediscovery.near_duplicates.IMatchNearDuplicates¶
-
class
freediscovery.near_duplicates.
IMatchNearDuplicates
(n_rand_lexicons=1, rand_lexicon_ratio=0.7)[source]¶ Near duplicates detection using the randomized I-Match algorithm.
A classical near-duplicates detection involves comparing all pairs of samples in the collection. For a collection of size
N
, this is typically anO(N^2)
operation. The I-Match algorithm allows to retrieve near duplicates with a computational effort reduced toO(N)
(orO(N*log(N))
in worse case scenario).This class exposes a scikit-learn compatible API, and currently supports only sparse CSR arrays (such as obtained after vectorizing text documents).
Parameters: - n_rand_lexicons (-) – number of random lexicons used for duplicate detection If equal to 1 no lexicon randomization is used which is equivalent to the original I-Match implementation by Chowdhury et al. (2002).
- rand_lexicon_ratio (-) – fraction of the vocabulary used in random lexicons.
References
[Chowdhury2002] Chowdhury, A., Frieder, O., Grossman, D., & McCabe, M. C. (2002). Collection statistics for fast duplicate document detection. ACM Transactions on Information Systems (TOIS), 20(2), 171-191. [Kolcz2008] - `Kołcz, A., & Chowdhury, A. (2008). Lexicon randomization
for near-duplicate detection with I-Match. The Journal of Supercomputing, 45(3), 255-276.`
-
fit
(X, y=None)[source]¶ Parameters: X (array_like or sparse (CSR) matrix, shape (n_samples, n_features)) – List of n_features-dimensional data points. Each row corresponds to a single data point. Returns: self – Returns self. Return type: object
-
get_params
(deep=True)[source]¶ Get parameters for this estimator.
Parameters: deep (boolean, optional) – If True, will return the parameters for this estimator and contained subobjects that are estimators. Returns: params – Parameter names mapped to their values. Return type: mapping of string to any
-
set_params
(**params)[source]¶ Set the parameters of this estimator.
The method works on simple estimators as well as on nested objects (such as pipelines). The latter have parameters of the form
<component>__<parameter>
so that it’s possible to update each component of a nested object.Returns: Return type: self