CTCDecoder and CTCWordBeamSearch
These two tools are complements, as CTCWordBeamSearch is a specialized CTC decoder that likely leverages or extends the foundational CTC decoding algorithms implemented in CTCDecoder by adding dictionary and language model integration for improved word-level recognition.
About CTCDecoder
githubharald/CTCDecoder
Connectionist Temporal Classification (CTC) decoding algorithms: best path, beam search, lexicon search, prefix search, and token passing. Implemented in Python.
Supports optional character-level language models using bigram statistics and BK-tree-based lexicon search with configurable edit distance tolerance for dictionary-constrained decoding. Designed for direct integration with RNN outputs from deep learning frameworks—expects TxC shaped softmax-normalized numpy arrays with CTC-blank as the final character dimension, handling batch processing and framework-specific blank positioning conventions.
About CTCWordBeamSearch
githubharald/CTCWordBeamSearch
Connectionist Temporal Classification (CTC) decoder with dictionary and language model.
Implements beam search decoding constrained by a dictionary and optional word-level n-gram language model with add-k smoothing, enabling recognition of both dictionary words and arbitrary non-word characters (numbers, punctuation). Accepts raw RNN output (T×B×C+1 tensors) and supports four scoring modes trading accuracy for speed, from dictionary-only O(1) lookups to full n-gram forecasting. Distributed as a Python package with a C++ backend and integrates directly with neural network frameworks via numpy arrays.
Scores updated daily from GitHub, PyPI, and npm data. How scores work