Skip to main content

Fuzz Up [W.I.P.]

Build status codecov PyPI PyPI - Downloads License

fuzzup offers a simple approach for clustering string entitities based on Levenshtein Distance using Fuzzy Matching in conjunction with a simple rule-based clustering method.

fuzzup also provides functions for computing the prominence of the resulting entity clusters and to match them with entity whitelists.

An important use-case for fuzzup is organizing, structuring and analyzing output from Named-Entity Recognition(=NER). fuzzup also provides (2) functions for computing the prominence of the resulting entity clusters resulting from (1) as well as whitelist matching (3).

fuzzup has been designed to fit the output from NER predictions from the Hugging Face transformers NER pipeline specifically.

Installation guide

fuzzup can be installed from the Python Package Index (PyPI) by:

pip install fuzzup

If you want the development version then install directly from Github.

Workflow

fuzzup offers functionality for:

  1. Computing all of the mutual string distances (Levensteihn Distances/fuzzy ratios) between the string entities
  2. Forming clusters of string entities based on the distances from (1)
  3. Computing prominence of the clusters from (2) based on the number of entity occurrences, their positions in the text etc.
  4. Matching entities (clusters) with entity whitelists

Together these steps constitute an end-to-end approach for organizing and structuring the output from NER. Here is an example of how to use fuzzup for forming entity clusters based on edit distances.

To do

  • document whitelist matching in showcase
  • update readme with workflow
  • tests for whitelist
  • cutoff_threshold -> score_cutoff -> cdist
  • try and tune on junges entitites
  • run against tores list
  • document whitelist
  • update docs

Background

fuzzup is developed as a part of Ekstra Bladet’s activities on Platform Intelligence in News (PIN). PIN is an industrial research project that is carried out in collaboration between the Technical University of Denmark, University of Copenhagen and Copenhagen Business School with funding from Innovation Fund Denmark. The project runs from 2020-2023 and develops recommender systems and natural language processing systems geared for news publishing, some of which are open sourced like fuzzup.

Read more

The detailed documentation and motivation for fuzzup including code references and extended workflow examples can be accessed here.

Contact

We hope, that you will find fuzzup useful.

Please direct any questions and feedbacks to us!

If you want to contribute (which we encourage you to), open a PR.

If you encounter a bug or want to suggest an enhancement, please open an issue.

Metadata

Release files for fuzzup 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fuzzup 0.5.0
File Size Uploaded Provenance Actions
fuzzup-0.5.0.tar.gz 410.8 kB Without provenance Details for fuzzup-0.5.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for fuzzup 0.5.0
File Interpreter ABI Platform Actions
fuzzup-0.5.0-py3-none-any.whl Python 3 none any Details for fuzzup-0.5.0-py3-none-any.whl

Total release size: 828.7 kB

Release files / fuzzup-0.5.0.tar.gz

Download URL fuzzup-0.5.0.tar.gz
Size 410.8 kB
Tags Source
SHA-256 checksum
How to use checksums
d60644041fab2ae696a0b55a11dda61357ac5501342c35adc4401a4cb93931cf
BLAKE2b-256 checksum
How to use checksums
990e49b67ebc14c5700b7d858df1426b1dce305661e451551b7efef6a4f8c39b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.16

Release files / fuzzup-0.5.0-py3-none-any.whl

Download URL fuzzup-0.5.0-py3-none-any.whl
Size 417.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a60151e1d94540a85ed21b09b64e14c6eb1e2ac14d647b63f350aaddb261684c
BLAKE2b-256 checksum
How to use checksums
139b4dab7181419d3c59a950cbfa27ca0f5503026477eeb37a7ff8477f2ab326
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.16

Security for fuzzup 0.5.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page