Accessibility · Assistive Technology
Word Prediction and Accelerated Text Entry
How word prediction and abbreviation expansion reduce the keystroke cost of text entry for switch and scanning users, and how the prediction model trades accuracy for input rate.
A switch user types by scanning an on-screen keyboard, selecting one character at a time through a row-column traversal that costs a full scan per character. At a few intervals per character, a sentence of a hundred characters costs several hundred intervals, and text entry becomes the slowest activity a person can perform with a computer. Word prediction is the mechanism that attacks this cost directly: instead of scanning every character, the user types a prefix and selects the whole intended word from a short list, paying one selection for many characters. Everything about prediction is a trade between how much the user saves and how often the user is wrong.
The cost model for text entry
The cost to enter a word of length L by direct scanning is proportional to L times the per-character scan cost. Prediction changes that to the cost of entering a prefix of length P plus one selection, so the saving is the cost of the remaining L minus P characters. The saving is largest when the prefix is short and the word is long, and it is smallest, or negative, when the user must scan past several wrong predictions to reach the right one.
This gives a precise definition of what a predictor must do to be worth using. The expected cost of typing a word with prediction is the cost of the prefix plus the expected cost of selecting from the prediction list, and the predictor helps when that expected cost is lower than typing the word in full. Because the prediction list itself is scanned, a long list costs more to traverse, so the list is short by design, typically three to ten entries. The model’s job is to put the intended word in that short list as early as possible, and every position it must be scanned to is an extra interval.
The keystroke-saving rate is the standard measure of this. It is the fraction of characters the user would have typed that prediction supplies for free, and published studies have placed typical savings for switch users in a broad range, roughly a third to a half of keystrokes, depending on the model and the user. The figure is not a fixed property of prediction but a product of the model’s accuracy against a particular user’s vocabulary.
How the model ranks words
The predictor ranks candidate words by a language model, and the simplest useful model is the n-gram. An n-gram model stores the probability of a word given the previous n minus one words, estimated from a corpus by counting. A unigram model ranks words by their frequency alone; a bigram model ranks by the frequency of each pair; a trigram by triples. The model combines these counts, usually with smoothing to give nonzero probability to unseen sequences, and produces a ranked list of words that can complete the current prefix.
The prefix constraint is what makes the problem tractable in practice. The predictor does not rank all words; it ranks only the words that begin with the characters the user has already typed, because those are the only candidates the prefix is consistent with. This is a large reduction, and it means the predictor’s output changes with every character, refining the list as the prefix grows.
There is a second source of prediction that the n-gram alone does not capture: the words the user personally uses. A predictor that adapts to the user’s own vocabulary, adding names, jargon, and frequent phrases, ranks those words higher than a generic model would, and the adaptation is what keeps the prediction relevant to a specific person rather than to the corpus average. This is not a different algorithm so much as a different training distribution, and it matters because a switch user’s text is dominated by a small personal vocabulary.
The selection interface
The predicted list must be reachable at low cost, and the cost depends on how the input is scanned. In the simplest design, the list is an extra region of the scanning grid, and selecting the first prediction costs the same as selecting a single character. Because the first prediction is the most likely to be wanted, the user is trained to glance at it before scanning another letter: if it is the intended word, one selection completes it; if not, the user types the next character, which refines the list.
The interaction has a subtle failure mode. When the list changes with each keystroke, the user cannot predict where the wanted word will appear next, because the ranking is recomputed. A stable position for the top prediction reduces this, but the cost of accepting a wrong top prediction is a word the user did not intend, which then requires deletion and retyping. The user therefore faces a continuous micro-decision: trust the top prediction and risk a wrong word, or type another character and pay the scan. This is the same intent-ambiguity that runs through dwell and hold detection, now applied to a cognitive channel rather than a physical one.
Abbreviation expansion is the simpler sibling of prediction. A user-defined table maps short strings to long expansions, so typing a stored abbreviation and a trigger character expands to the full phrase. Unlike statistical prediction, abbreviation expansion is exact and user-authored, so it never produces a wrong word, but it requires the user to remember the abbreviations, which shifts the cost from selection time to memory.
Trade-offs in the model
A model with more context, a trigram over a unigram, ranks better but needs more data and more storage, and it is slower to adapt to a new user’s vocabulary. A model with more smoothing handles unseen words gracefully but can elevate rare words into the list, displacing the common ones the user actually types. A longer list offers more chances to hit the intended word but costs more to scan. Every axis in the predictor is a latency-versus-accuracy trade, and none of the choices is universally correct.
The predictor also interacts with the input’s timing layer. A user whose switch input is debounced and filtered with long thresholds types slowly, so the predictor’s value is higher, because each character is more expensive and each saved character is more valuable. The same predictor is worth less to a fast keyboard user, who can type a word faster than they can read a prediction list. Prediction is therefore not a general speedup but a targeted optimization for the case where per-character cost is high, which is precisely the switch and scanning case.
Failure modes and limits
The first failure is the domain mismatch: a model trained on general prose ranks medical or technical terms low, and a user writing in a specialist vocabulary finds the predictions useless. The second is the vocabulary lag: a user who coins a new name or jargon term must type it in full several times before an adaptive model learns it, and until then the prediction actively suggests the wrong word. The third is the wrong-word acceptance, which costs deletion plus retyping and can erase the savings of several correct predictions. And a final, structural limit: prediction never reduces the cost of entering genuinely novel text, such as a password or a new name, because there is no model that can complete what has never been seen.
Word prediction is the last mechanism in this cluster because it sits on top of everything before it. It assumes the scanning interface from switch access, the timing filters from debounce, dwell, and repeat filtering, and a speech or braille output to confirm what was entered. It is the layer that recovers some of the speed the lower layers spend, and it is bounded by the same truth that runs through all of assistive technology: a single bit per second of input cannot be made fast, only made to buy more.
References
- Text Entry Systems: Mobility, Accessibility, Universality — MacKenzie & Tanaka-Ishii, Morgan Kaufmann
- Understanding SC 2.1.1: Keyboard — W3C
- Predictive text — Wikipedia