dedupe is a python library that uses machine learning to perform fuzzy matching, deduplication and entity resolution quickly on structured data.
dedupe will help you:
- remove duplicate entries from a spreadsheet of names and addresses
- link a list with customer information to another with order history, even without unique customer IDs
- take a database of campaign contributions and figure out which ones were made by the same person, even if the names were entered slightly differently for each record
dedupe takes in human training data and comes up with the best rules for your dataset to quickly and automatically find similar records, even with very large databases.
- Documentation: https://docs.dedupe.io/
- Repository: https://github.com/dedupeio/dedupe
- Issues: https://github.com/dedupeio/dedupe/issues
- Mailing list: https://groups.google.com/forum/#!forum/open-source-deduplication
- Examples: https://github.com/dedupeio/dedupe-examples
A cloud service powered by the dedupe library for de-duplicating and finding matches in your data. It provides a step-by-step wizard for uploading your data, setting up a model, training, clustering and reviewing the results.
Dedupe.io also supports record linkage across data sources and continuous matching and training through an API.
For more, see the Dedupe.io product site, tutorials on how to use it, and differences between it and the dedupe library.
Command line tool for de-duplicating and linking CSV files. Read about it on Source Knight-Mozilla OpenNews.
If you only want to use dedupe, install it this way:
pip install "numpy>=1.9"
pip install dedupe
Familiarize yourself with dedupe's API, and get started on your project. Need inspiration? Have a look at some examples.
We recommend using virtualenv and virtualenvwrapper for working in a virtualized development environment. Read how to set up virtualenv.
Once you have virtualenvwrapper set up,
mkvirtualenv dedupe
git clone git://github.com/dedupeio/dedupe.git
cd dedupe
pip install "numpy>=1.9"
pip install -r requirements.txt
cython src/*.pyx
pip install -e .
If these tests pass, then everything should have been installed correctly!
pytest
Afterwards, whenever you want to work on dedupe,
workon dedupe
Unit tests of core dedupe functions
pytest
Using Deduplication
python tests/canonical.py
Using Record Linkage
python tests/canonical_matching.py
- Forest Gregg, DataMade
- Derek Eder, DataMade
Dedupe is based on Mikhail Yuryevich Bilenko's Ph.D. dissertation: Learnable Similarity Functions and their Application to Record Linkage and Clustering.
If something is not behaving intuitively, it is a bug, and should be reported. Report it here
- Fork the project.
- Make your feature addition or bug fix.
- Send us a pull request. Bonus points for topic branches.
Copyright (c) 2019 Forest Gregg and Derek Eder. Released under the MIT License.
Third-party copyright in this distribution is noted where applicable.
If you use Dedupe in an academic work, please give this citation:
Forest Gregg and Derek Eder. 2019. Dedupe. https://github.com/dedupeio/dedupe.