A word completion system that can automatically predict unrestricted word
completions for data entries in an unstructured portion of a data file.
The word completion system applies prediction criteria to avoid annoying
the user by displaying an excessive number of wrong suggestions. Suggested
word completions, which may change as the user types a partial data entry,
are displayed in a non-disruptive manner and selected using traditional
acceptance keystrokes, such as the "tab" key or the "enter" key. The word
completion system may be deployed on an individual application program
basis or on a application-independent basis. Because different word
suggestion lists may be appropriate for different application programs,
and for different data files created with the same application program,
the word completion system allows the user to select one or more
suggestion lists for use with each data file. A user interface allows the
user to customize each suggestion list on an on-going basis. Each
suggestion list may contain dynamic word completions that are tied to
dynamic parameters maintained by the computer system, such as the time,
date, registered user, and so forth. Each suggestion list may also be tied
to contextual information, such as structured data fields or context
labels assigned manually or by a document-creation aid known as a
"wizard."