# Mobile Keyboard Input Decoding with Finite-State Transducers

arXiv: https://arxiv.org/abs/1704.03987 · HTML: https://mlsanity.com/paper/1704.03987/

## Key facts

- Cited by 8 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 13 Apr 2017.

## Built on by (most cited first, 8 of 8)

- [Proofread: Fixes All Errors with One Tap](https://mlsanity.com/paper/2406.04523/) (2024)
- [Capitalization Normalization for Language Modeling with an Accurate and Efficient Hierarchical RNN Model](https://mlsanity.com/paper/2202.08171/) (2022)
- [Synthesizing and Adapting Error Correction Data for Mobile Large Language Model Applications](https://mlsanity.com/paper/2505.18488/) (2025)
- [Neural Search Space in Gboard Decoder](https://mlsanity.com/paper/2410.15575/) (2024)
- [Handling Compounding in Mobile Keyboard Input](https://mlsanity.com/paper/2201.06469/) (2022)
- [Can Capacitive Touch Images Enhance Mobile Keyboard Decoding?](https://mlsanity.com/paper/2410.02264/) (2024)
- [Neural Induction of Finite-State Transducers](https://mlsanity.com/paper/2601.10918/) (2026)
- [FUTO Swipe: Layout-Agnostic Neural Swipe Decoding](https://mlsanity.com/paper/2606.25247/) (2026)

## Abstract (arXiv)

We propose a finite-state transducer (FST) representation for the models used to decode keyboard inputs on mobile devices. Drawing from learnings from the field of speech recognition, we describe a decoding framework that can satisfy the strict memory and latency constraints of keyboard input. We extend this framework to support functionalities typically not present in speech recognition, such as literal decoding, autocorrections, word completions, and next word predictions. We describe the general framework of what we call for short the keyboard "FST decoder" as well as the implementation details that are new compared to a speech FST decoder. We demonstrate that the FST decoder enables new UX features such as post-corrections. Finally, we sketch how this decoder can support advanced features such as personalization and contextualization.
