• Stars
    star
    277
  • Rank 148,875 (Top 3 %)
  • Language
    Python
  • License
    MIT License
  • Created about 10 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Locality Sensitive Hashing using MinHash in Python/Cython to detect near duplicate text documents

pylsh

pylsh is a Python implementation of locality sensitive hashing with minhash. It is very useful for detecting near duplicate documents.

The implementation uses the MurmurHash v3 library to create document finger prints.

Cython is needed if you want to regenerate the .cpp files for the hashing and shingling code. By default the setup script uses the pregenerated .cpp sources, you can change this with the USE_CYTHON flag in setup.py

NumPy is needed to run the code.

The MurmurHash3 library is distributed under the MIT license. More information https://github.com/aappleby/smhasher

examples

For an overview of how LSH works and how to set the parameters see this notebook. The notebook is also available in the examples directory.

installation

> git clone https://github.com/mattilyra/LSH
> cd LSH
> python setup.py install