Keywords
Data, Estimate, Error, Tolerant, Structure
Technologies
Python, Bloom Filter, Trees, Tries, Distance Function
This project researches, designs, and implements a reusable Python package for an approximate dictionary — a data structure supporting non-exact key lookups that return values whose keys are "similar" to the provided input.
Similarity is measured via a configurable distance function suited to the key type: a numeric range for integers, or Levenshtein distance for strings (the minimum number of operations to transform one string into another).
The package implements all standard Python dictionary operations, adapted to accommodate key imprecision. The project also explores extending this concept to other approximate data structures, such as various tree structures.
The demonstration will include the project in action, using the Enron email corpus as a dataset of keys and values to provide a potential use case for the data structure. The names of senders and dates of emails being sent will be intentionally mistaken to show the structures ability to retrieve information despite the error in the input data.
This project has practical applications across any domain involving imperfect or noisy data, such as genetic sequence alignment and geospatial coordinate matching.