Skip to content

Python package for deduplication/entity resolution using active learning

License

Notifications You must be signed in to change notification settings

fritshermans/deduplipy

Repository files navigation

Version Downloads Conda - Platform Conda (channel only) Conda Recipe Docs - GitHub.io

DedupliPy

Deduplication is the task to combine different representations of the same real world entity. This package implements deduplication using active learning. Active learning allows for rapid training without having to provide a large, manually labelled dataset.

DedupliPy is an end-to-end solution with advantages over existing solutions:

  • active learning; no large manually labelled dataset required
  • during active learning, the user gets notified when the model converged and training may be finished
  • works out of the box, advanced users can choose settings as desired (custom blocking rules, custom metrics, interaction features)

Developed by Frits Hermans

Documentation

Documentation can be found here

Installation

Normal installation

With pip

Install directly from PyPI.

pip install deduplipy

With conda

Install using conda from conda-forge channel.

conda install -c conda-forge deduplipy

Install to contribute

Clone this Github repo and install in editable mode:

python -m pip install -e ".[dev]"
python setup.py develop

Usage

Apply deduplication your Pandas dataframe df as follows:

myDedupliPy = Deduplicator(col_names=['name', 'address'])
myDedupliPy.fit(df)

This will start the interactive learning session in which you provide input on whether a pair is a match (y) or not (n). During active learning you will get the message that training may be finished once algorithm training has converged. Predictions on (new) data are obtained as follows:

result = myDedupliPy.predict(df)