PaSTI

A Predictive and Suggestive Text Interface

Author: Jason Ives

Date: December 10th, 2014

What is PaSTI?

PaSTI is a text entry interface designed to improve entry speed and quality on touchscreen devices such as phones and tablets. Between words PaSTI will predict your next word, and while typing PaSTI will suggest complete words based on what you've entered so far. Once PaSTI has it right just click “Use it!” to insert the word.

Key features

  • Next-word prediction
  • Current word suggestion and completion
  • One touch word insertion
  • Full text display for easy review or copy and paste

The Algorithm Behind PaSTI

PaSTI's next-word prediction algorithm is based on cascading 3-gram, 2-gram, and single word frequencies derived from a large corpus of news, blog, and twitter text.

The data has gone through several cleaning stages to remove words and phrases with low predictive value. In many cases these low-value phrases are consolidated into more generic “meta-phrases” that improve their predictive value.

The algorithm will accept input and make predictions using profanity, but many of the most common curse words will not be offered as a predictive result; with the model moving to the next prediction instead.

Measuring the Success of PaSTI

Limited testing has shown that PaSTI is still a work in progress. The overall match rate currently sits at around 15.38%; ranging between 6.25% and 25%.

The PaSTI design does show promise, but there is still work to be done before it can compete with established entry methods.

plot of chunk users

The Future of PaSTI

Several updates could be made to PaSTI to improve performance and success:

  • Compression of n-gram data via hashing or some other method.
  • Utilization of higher dimension n-grams.
  • Introduction of active n-gram updates to core algorithm.
  • Introduction of advanced factors to the prediction model.
    • Grammatical types
    • Keyword filtering
    • Multiple word recommendations