[email protected] +91 9840521421 Scholarly Open Access, Peer-reviewed, Refereed Journal e-ISSN 2583-5300 Since 2022
  1. Home
  2. Archives
  3. 2026
  4. Vol. 5 Issue 2
  5. Article
Original Article

TurboText: A Boundary-Aware Fuzzy Keyword Extraction and Replacement Library with Configurable Conflict Resolution

Open Access Peer Reviewed Crossref DOI

Authors

  • Nishank Mahore1

1 Independent Researcher, India.

Article Information

Published Online
May-August 2026
Pages
911-919
Article Type
Original Article
Check for updates
check update

Abstract

View PDF

Multi-keyword extraction from large text corpora is constantly observed in information retrieval, entity normalization, and controlled-vocabulary tagging. FlashText is the library most people reach for here — it gives O(N) extraction no matter how big the dictionary gets — but it has three gaps that get in the way in practice: fuzzy matching is not really usable at scale, overlap resolution is hardcoded to one greedy policy, and keyword metadata corrupts the replacement output. TurboText is a Python library built to close these three gaps, and is open-source and available on PyPI. The matching engine runs a bounded-edit frontier search, essentially a Levenshtein-aware trie walk that collapses back to a plain trie walk when the edit budget is zero, so exact and fuzzy matching are the same code path rather than two separate implementations. Both are Cython-compiled: exact matching goes through a packed transition-table automaton (FlatAC), and fuzzy matching keeps the frontier as flat array lists with cached child-char codes instead of a Python dictionary. A separate resolution layer sits on top and offers five overlap policies, including OPTIMAL_WEIGHTED, which uses weighted interval scheduling to select the provably best non-overlapping match set rather than a greedy one. At k=0, the Cython path is 1.5× faster than FlashText on a 1-million-word corpus. At k=1, TurboText is 8.8× faster than RapidFuzz, 41× faster than python-Levenshtein, and well over 160× faster than FuzzyWuzzy and jellyfish at 5,000 keywords. None of these comparison libraries return a character span or check a word boundary; they simply score a pair of strings and leave the rest to the caller. TurboText 0.3.0 is available at https://github.com/nishankmahore/TurboText under the MIT license.

APC from ₹1200 + 18% GST

Peer-reviewed open access₹1200 Indian (₹1400 with DOI)$80 USD internationalpaid after acceptance Peer-reviewed open access₹1200 Indian$80 USD international ₹1200 Indian · $80 intl

  • CrossRef DOI
  • ISSN 2583-5300
  • Open Access
  • Peer Reviewed
  • Plagiarism Checked
  • Google Scholar
Submit Paper