Finding Currajong - Fuzzy string searches in Python
summary
Built a small Python app that searches a cleaned Gazetteer of Australia (~80,000 place names) for mistyped place names like Kurrajong, comparing algorithms by accuracy and speed. Implementations use the jellyfish library for soundex, metaphone and Levenshtein, a simple Hamming variant with length penalties (185 → 37 results), difflib.SequenceMatcher (772 hits but ~10× slower), and a blink‑fast regex subsequence fuzzy matcher (≈0.085s). Results show no single best method; practical solution indexes or filters with a phonetic pass then ranks candidates with Levenshtein plus small length penalties.
AI-written summary · about
chapters (9)
- 0:00Introduction to fuzzy search
- 0:44Defining the search problem
- 4:10Hamming distance algorithm
- 8:26Phonetic algorithms
- 10:49Metaphone algorithm
- 13:16Levenstein distance
- 17:48Regex-based fuzzy search
- 19:44Conclusion and results
- 21:54Questions and answers
related talks
24mString Comparison in Real Life
09mBehind the Scenes of Spell Checks!
28mTune-Up Your Knowledge: A Beginner's Journey Under the Hood of Search Engines
24mSpeeding up search with locality sensitive hashing
24mSearch From the Ground Up
01h 27mTips, Tricks and Topics in Text Analysis
23mPredicting the TripleJ Hottest 100 With Python
12mMojibake! What the h—ck happened to these strings?
