πŸ†” A python library for accurate and scaleable fuzzy matching, record deduplication and entity-resolution.
Python Shell
Latest commit 1e33211 Oct 1, 2016 @dejori dejori committed with fgregg fix var name (#485)

README.md

Dedupe Python Library

Linux buildMac OS X buildWindows buildCoverage

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 id's
  • 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.

Important links

Tools built with dedupe

Dedupe.io

A full service web service powered by dedupe for de-duplicating and find matches in your messy data. It provides an easy-to-use interface and provides cluster review and automation, as well as advanced record linkage, continuous matching and API integrations. See the product page and the launch blog post.

csvdedupe

Command line tool for de-duplicating and linking CSV files. Read about it on Source Knight-Mozilla OpenNews.

Installation

Users

If you only want to use dedupe, install it this way:

pip install "numpy>=1.9"
pip install dedupe

Developers

git clone git://github.com/datamade/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!
nosetests

Testing

Unit tests of core dedupe functions

nosetests

Test using canonical dataset from Bilenko's research

Using Deduplication

python tests/canonical.py

Using Record Linkage

python tests/canonical_matching.py

Team

Credits

Dedupe is based on Mikhail Yuryevich Bilenko's Ph.D. dissertation: Learnable Similarity Functions and their Application to Record Linkage and Clustering.

Errors / Bugs

If something is not behaving intuitively, it is a bug, and should be reported. Report it here

Note on Patches/Pull Requests

  • Fork the project.
  • Make your feature addition or bug fix.
  • Send us a pull request. Bonus points for topic branches.

Copyright

Copyright (c) 2016 Forest Gregg and Derek Eder. Released under the MIT License.

Third-party copyright in this distribution is noted where applicable.

Citing Dedupe

If you use Dedupe in an academic work, please give this citation:

Gregg, Forest, and Derek Eder. 2016. Dedupe. https://github.com/datamade/dedupe.