Chat Assistant App

Stephen Bique, Ph.D.

  • Highly predictive with multiple completions to select from
  • Designed to make good predictions even from misspellings
  • Displays spelling corrections on the fly automatically
  • Fast, responsive, efficient with professionally designed layout
  • User-friendly GUI with familiar buttons such as copy and paste, and a Help tab

To test the application, visit Link to Chat Assistant.

Training The Model

We formed n-grams from the databases provided by Swiftkey. Visually we represent a picture of 3-grams using a word cloud formed from the actual n-grams created. Evidently, the phrases depicted are quite common. Indeed, words are not randomly put together.

Depiction of Word Frequencies

Novel Algorithm

Consider a phrase w x y where w, x, and y denote words. Perform the following steps, halting as soon as we are able to predict:

1. If w x y z is in 4-grams, predict z.
2. If x y z is in 3-grams, predict z.
3. If w y z is in 3-grams, predict z.
4. If y z is in 2-grams, predict z.
5. If w x z is in 3-grams, predict z.
6. If x z is in 2-grams, predict z.

We use so-called 2-grams, 3-grams and 4-grams with a novel skip one strategy whenever we do not find the desired n-gram. Actually, we return a list of all of the completion words z for the observed phrase. We have over simplified here as we separate n-grams depending upon whether or not they were formed from skipping one word.

Chat Assistant GUI

Chat Assistant GUI

The GUI included the familiar copy and delete buttons, and has a professionally designed layout suitable for various devices. Experiment with resizing the text input area. Notice the Help and About tabs at the top right of the screen. The online help is summarized on the next slide.

Chat Assistant Help Tab

  • The box under Text to check is the input area into which the user types text, which is not limited to a single line.
  • The Copy button copies the input text to the clipboard.
  • The Paste button pastes the contents from the clipboard after the end of the input text.[1] If the button is not displayed, use conventional keyboard shortcut on your platform to paste.
  • The Delete button deletes the contents of the text input area
  • Select any desired prediction under Select prediction by hovering over the selection area and clicking on any desired item. Click the Append button to append the selected prediction to the end of the text input.[1]
  • Click one of the Replace buttons to replace the text input with either the text under Suggested text or Text used for prediction.

1. Note a space is automatically added before pasting