Autocomplete

From Wikipedia for FEVERv2
Jump to navigation Jump to search

"Word prediction" redirects here. Autocomplete_sentence_0

For word prediction in psycholinguistics, see Prediction in language comprehension. Autocomplete_sentence_1

Autocomplete_ordered_list_0

Autocomplete, or word completion, is a feature in which an application predicts the rest of a word a user is typing. Autocomplete_sentence_2

In Android smartphones, this is called predictive text. Autocomplete_sentence_3

In graphical user interfaces, users can typically press the tab key to accept a suggestion or the down arrow key to accept one of several. Autocomplete_sentence_4

Autocomplete speeds up human-computer interactions when it correctly predicts the word a user intends to enter after only a few characters have been typed into a text input field. Autocomplete_sentence_5

It works best in domains with a limited number of possible words (such as in command line interpreters), when some words are much more common (such as when addressing an e-mail), or writing structured and predictable text (as in source code editors). Autocomplete_sentence_6

Many autocomplete algorithms learn new words after the user has written them a few times, and can suggest alternatives based on the learned habits of the individual user. Autocomplete_sentence_7

Definition Autocomplete_section_0

Original purpose Autocomplete_section_1

The original purpose of word prediction software was to help people with physical disabilities increase their typing speed, as well as to help them decrease the number of keystrokes needed in order to complete a word or a sentence. Autocomplete_sentence_8

The need to increase speed is noted by the fact that people who use speech-generating devices generally produce speech at a rate that is less than 10% as fast as people who use oral speech. Autocomplete_sentence_9

But the function is also very useful for anybody who writes text, particularly people–such as medical doctors–who frequently use long, hard-to-spell terminology that may be technical or medical in nature. Autocomplete_sentence_10

Description Autocomplete_section_2

Autocomplete or word completion works so that when the writer writes the first letter or letters of a word, the program predicts one or more possible words as choices. Autocomplete_sentence_11

If the word he intends to write is included in the list he can select it, for example by using the number keys. Autocomplete_sentence_12

If the word that the user wants is not predicted, the writer must enter the next letter of the word. Autocomplete_sentence_13

At this time, the word choice(s) is altered so that the words provided begin with the same letters as those that have been selected. Autocomplete_sentence_14

When the word that the user wants appears it is selected, and the word is inserted into the text. Autocomplete_sentence_15

In another form of word prediction, words most likely to follow the just written one are predicted, based on recent word pairs used. Autocomplete_sentence_16

Word prediction uses language modeling, where within a set vocabulary the words are most likely to occur are calculated. Autocomplete_sentence_17

Along with language modeling, basic word prediction on AAC devices is often coupled with a frecency model, where words the AAC user has used recently and frequently are more likely to be predicted. Autocomplete_sentence_18

Word prediction software often also allows the user to enter their own words into the word prediction dictionaries either directly, or by "learning" words that have been written. Autocomplete_sentence_19

Some search returns related to genitals or other vulgar terms are often omitted from autocompletion technologies, as are morbid terms Autocomplete_sentence_20

Standalone tools Autocomplete_section_3

There are standalone tools that add autocomplete functionality to existing applications. Autocomplete_sentence_21

These programs monitor user keystrokes and suggests a list of words based on first typed letter(s). Autocomplete_sentence_22

Examples are Typingaid and Letmetype. Autocomplete_sentence_23

LetMeType, freeware, is no longer developed, the author has published the source code and allows anybody to continue development. Autocomplete_sentence_24

Typingaid, also freeware, is actively developed. Autocomplete_sentence_25

Intellicomplete, both a freeware and payware version, works only in certain programs which hook into the intellicomplete server program. Autocomplete_sentence_26

Many Autocomplete programs can also be used to create a Shorthand list. Autocomplete_sentence_27

The original autocomplete software was Smartype, which dates back to the late 1980s and is still available today. Autocomplete_sentence_28

It was initially developed for medical transcriptionists working in WordPerfect for MS/DOS, but it now functions for any application in any Windows or Web-based program. Autocomplete_sentence_29

Shorthand Autocomplete_section_4

Shorthand, also called Autoreplace, is a related feature that involves automatic replacement of a particular string with another one, usually one that is longer and harder to type, such as "myname" with "Lee John Nikolai François Al Rahman". Autocomplete_sentence_30

This can also quietly fix simple typing errors, such as turning "teh" into "the". Autocomplete_sentence_31

Several Autocomplete programs, standalone or integrated in text editors, based on word lists, also include a shorthand function for often used phrases. Autocomplete_sentence_32

Context completion Autocomplete_section_5

Context completion is a text editor feature, similar to word completion, which completes words (or entire phrases) based on the current context and context of other similar words within the same document, or within some training data set. Autocomplete_sentence_33

The main advantage of context completion is the ability to predict anticipated words more precisely and even with no initial letters. Autocomplete_sentence_34

The main disadvantage is the need of a training data set, which is typically larger for context completion than for simpler word completion. Autocomplete_sentence_35

Most common use of context completion is seen in advanced programming language editors and IDEs, where training data set is inherently available and context completion makes more sense to the user than broad word completion would. Autocomplete_sentence_36

Line completion is a type of context completion, first introduced by Juraj Simlovic in TED Notepad, in July 2006. Autocomplete_sentence_37

The context in line completion is the current line, while current document poses as training data set. Autocomplete_sentence_38

When user begins a line which starts with a frequently used phrase, the editor automatically completes it, up to the position where similar lines differ, or proposes a list of common continuations. Autocomplete_sentence_39

Action completion in applications are standalone tools that add autocomplete functionality to an existing applications or all existing applications of an OS, based on the current context. Autocomplete_sentence_40

The main advantage of Action completion is the ability to predict anticipated actions. Autocomplete_sentence_41

The main disadvantage is the need of a data set. Autocomplete_sentence_42

Most common use of Action completion is seen in advanced programming language editors and IDEs. Autocomplete_sentence_43

But there are also action completion tools that work globally, in parallel, across all applications of the entire PC without (very) hindering the action completion of the respective applications. Autocomplete_sentence_44

Usage by software Autocomplete_section_6

In web browsers Autocomplete_section_7

In web browsers, autocomplete is done in the address bar (using items from the browser's history) and in text boxes on frequently used pages, such as a search engine's search box. Autocomplete_sentence_45

Autocomplete for web addresses is particularly convenient because the full addresses are often long and difficult to type correctly. Autocomplete_sentence_46

HTML5 has an autocomplete form attribute. Autocomplete_sentence_47

In e-mail programs Autocomplete_section_8

In e-mail programs autocomplete is typically used to fill in the e-mail addresses of the intended recipients. Autocomplete_sentence_48

Generally, there are a small number of frequently used e-mail addresses, hence it is relatively easy to use autocomplete to select among them. Autocomplete_sentence_49

Like web addresses, e-mail addresses are often long, hence typing them completely is inconvenient. Autocomplete_sentence_50

For instance, Microsoft Outlook Express will find addresses based on the name that is used in the address book. Autocomplete_sentence_51

Google's Gmail will find addresses by any string that occurs in the address or stored name. Autocomplete_sentence_52

In search engines Autocomplete_section_9

In search engines, autocomplete user interface features provide users with suggested queries or results as they type their query in the search box. Autocomplete_sentence_53

This is also commonly called autosuggest or incremental search. Autocomplete_sentence_54

This type of search often relies on matching algorithms that forgive entry errors such as phonetic Soundex algorithms or the language independent Levenshtein algorithm. Autocomplete_sentence_55

The challenge remains to search large indices or popular query lists in under a few milliseconds so that the user sees results pop up while typing. Autocomplete_sentence_56

Autocomplete can have an adverse effect on individuals and businesses when negative search terms are suggested when a search takes place. Autocomplete_sentence_57

Autocomplete has now become a part of reputation management as companies linked to negative search terms such as scam, complaints and fraud seek to alter the results. Autocomplete_sentence_58

Google in particular have listed some of the aspects that affect how their algorithm works, but this is an area that is open to manipulation. Autocomplete_sentence_59

In source code editors Autocomplete_section_10

Autocomplete of source code is also known as code completion. Autocomplete_sentence_60

In a source code editor autocomplete is greatly simplified by the regular structure of the programming languages. Autocomplete_sentence_61

There are usually only a limited number of words meaningful in the current context or namespace, such as names of variables and functions. Autocomplete_sentence_62

An example of code completion is Microsoft's IntelliSense design. Autocomplete_sentence_63

It involves showing a pop-up list of possible completions for the current input prefix to allow the user to choose the right one. Autocomplete_sentence_64

This is particularly useful in object-oriented programming because often the programmer will not know exactly what members a particular class has. Autocomplete_sentence_65

Therefore, autocomplete then serves as a form of convenient documentation as well as an input method. Autocomplete_sentence_66

Another beneficial feature of autocomplete for source code is that it encourages the programmers to use longer, more descriptive variable names incorporating both lower and upper case letters (CamelCase), hence making the source code more readable. Autocomplete_sentence_67

Typing large words with many mixed cases like "numberOfWordsPerParagraph" can be difficult, but Autocomplete allows one to complete typing the word using a fraction of the keystrokes. Autocomplete_sentence_68

In database query tools Autocomplete_section_11

Autocompletion in database query tools allows the user to autocomplete the table names in an SQL statement and column names of the tables referenced in the SQL statement. Autocomplete_sentence_69

As text is typed into the editor, the context of the cursor within the SQL statement provides an indication of whether the user needs a table completion or a table column completion. Autocomplete_sentence_70

The table completion provides a list of tables available in the database server the user is connected to. Autocomplete_sentence_71

The column completion provides a list of columns for only tables referenced in the SQL statement. Autocomplete_sentence_72

SQL Server Management Studio provides autocomplete in query tools. Autocomplete_sentence_73

In word processors Autocomplete_section_12

In many word processing programs, autocompletion decreases the amount of time spent typing repetitive words and phrases. Autocomplete_sentence_74

The source material for autocompletion is either gathered from the rest of the current document or from a list of common words defined by the user. Autocomplete_sentence_75

Currently Apache OpenOffice, Calligra Suite, KOffice, LibreOffice and Microsoft Office include support for this kind of autocompletion, as do advanced text editors such as Emacs and Vim. Autocomplete_sentence_76

Autocomplete_unordered_list_1

  • Apache OpenOffice Writer and LibreOffice Writer have a working word completion program that proposes words previously typed in the text, rather than from the whole dictionaryAutocomplete_item_1_0
  • Microsoft Excel spreadsheet application has a working word completion program that proposes words previously typed in upper cellsAutocomplete_item_1_1

In command-line interpreters Autocomplete_section_13

Main article: Command-line completion Autocomplete_sentence_77

In a command-line interpreter, such as Unix's sh or bash, or Windows's cmd.exe or PowerShell, or in similar command line interfaces, autocomplete of command names and file names may be accomplished by keeping track of all the possible names of things the user may access. Autocomplete_sentence_78

Here autocomplete is usually done by pressing the Tab ↹ key after typing the first several letters of the word. Autocomplete_sentence_79

For example, if the only file in the current directory that starts with x is xLongFileName, the user may prefer to type x and autocomplete to the complete name. Autocomplete_sentence_80

If there were another file name or command starting with x in the same scope, the user would type more letters or press the Tab key repeatedly to select the appropriate text. Autocomplete_sentence_81

Efficiency Autocomplete_section_14

Parameters for efficiency Autocomplete_section_15

The efficiency of word completion is based on the average length of the words typed. Autocomplete_sentence_82

If, for example, the text consists of programming languages which often have long multi-word names for variables, functions, or classes, completion is both useful and generally applied in editors specially geared towards programmer such as Vim. Autocomplete_sentence_83

In different languages, word lengths can differ dramatically. Autocomplete_sentence_84

Picking up on the above example, a soccer player in German is translated as a "Fussballspieler", with a length of 15 characters. Autocomplete_sentence_85

This example illustrates that English is not the most efficient language for WC; this study shows an average length for English words in a corpus of over 100,000 words to be 8.93, for Czech to be 10.55 and for German to be 13.24. Autocomplete_sentence_86

In addition, in some languages like German called fusional languages as well as agglutinative languages, words can be combined, creating even longer words. Autocomplete_sentence_87

Authors who often use very long words, like medical doctors and chemists, obviously have even more use for Autocomplete (Word completion) software than other authors. Autocomplete_sentence_88

Research Autocomplete_section_16

Although research has shown that word prediction software does decrease the number of keystrokes needed and improves the written productivity of children with disabilities, there are mixed results as to whether or not word prediction actually increases speed of output. Autocomplete_sentence_89

It is thought that the reason why word prediction does not always increase the rate of text entry is because of the increased cognitive load and requirement to move eye gaze from the keyboard to the monitor. Autocomplete_sentence_90

In order to reduce this cognitive load, parameters such as reducing the list to five likely words, and having a vertical layout of those words may be used. Autocomplete_sentence_91

The vertical layout is meant to keep head and eye movements to a minimum, and also gives additional visual cues because the word length becomes apparent. Autocomplete_sentence_92

Although many software developers believe that if the word prediction list follows the cursor, that this will reduce eye movements, in a study of children with spina bifida by Tam, Reid, O'Keefe & Nauman (2002) it was shown that typing was more accurate, and that the children also preferred when the list appeared at the bottom edge of the screen, at the midline. Autocomplete_sentence_93

Several studies have found that word prediction performance and satisfaction increases when the word list is closer to the keyboard, because of the decreased amount of eye-movements needed. Autocomplete_sentence_94

Software with word prediction is produced by multiple manufacturers. Autocomplete_sentence_95

The software can be bought as an add-on to common programs such as Microsoft Word (for example, WordQ+SpeakQ, Typing Assistant, Co:Writer, Wivik, Ghotit Dyslexia), or as one of many features on an AAC device (PRC's Pathfinder, Dynavox Systems, Saltillo's ChatPC products). Autocomplete_sentence_96

Some well known programs: Intellicomplete, which is available in both a freeware and a payware version, but works only with programs which are made to work with it. Autocomplete_sentence_97

Letmetype and Typingaid are both freeware programs which work in any text editor. Autocomplete_sentence_98

An early version of autocompletion was described in 1967 by H. Autocomplete_sentence_99 Christopher Longuet-Higgins in his Computer-Assisted Typewriter (CAT), “such words as ‘BEGIN’ or ‘PROCEDURE’ or identifiers introduced by the programmer, would be automatically completed by the CAT after the programmer had typed only one or two symbols.” Autocomplete_sentence_100

See also Autocomplete_section_17

Autocomplete_unordered_list_2

  • Autocorrection, automatic correction of misspelled words.Autocomplete_item_2_2
  • Predictive textAutocomplete_item_2_3
  • Autofill – Software function that prefills fields automaticallyAutocomplete_item_2_4
  • Incremental searchAutocomplete_item_2_5
  • Snippet – A small region of re-usable source code, machine code, or textAutocomplete_item_2_6
  • Context-sensitive user interface – Software menu whose elements change depending on the conditions under which the menu was invokedAutocomplete_item_2_7
  • Combo boxAutocomplete_item_2_8
  • Search suggest drop-down listAutocomplete_item_2_9
  • OpenSearch – Collection of technologies that allow publishing of search results in a format suitable for syndication and aggregation contains a specification of Search suggestions Web servicesAutocomplete_item_2_10
  • Google Feud, an autocomplete game.Autocomplete_item_2_11
  • Wubi effectAutocomplete_item_2_12


Credits to the contents of this page go to the authors of the corresponding Wikipedia page: en.wikipedia.org/wiki/Autocomplete.