« PreviousContinue »
COMMUNICATION TERMINAL HAVING A
TEXT EDITOR APPLICATION WITH A
WORD COMPLETION FEATURE
BACKGROUND OF THE INVENTION 5
The invention relates to a method and editor for improving character input into terminals, such as cellular phones or other units with multiple characters per key.
The number of required key presses can be significantly 10 reduced by different word completion schemes. This invention uses context information to improve the accuracy of word completion. The context can be derived from other text material available in the terminal.
SUMMARY OF THE INVENTION
According to a first aspect of the invention there is provided a method of handling the input of words into a text string in a communication terminal, comprising steps of 20 recording a key stroke sequence inputted for characterizing one of said words, comparing said key strokes sequence with candidates in a word completion directory in order to find a words completion candidates matching said key stroke sequence, displaying one of said matching words comple- 25 tion candidates in the display for selection by the user; and adding a word selected by the user to said directory including a plurality of word completion candidates, if the selected word exceeds a first predetermined number of characters, and if this word is not present there already. 30
Word completion allows a considerable increase of the overall speed when typing, especially since long words will require only a few (two to five) key-presses to type. Word completion is of course per se known, but traditionally word completion has required large and memory consuming lan- 35 guage dictionaries to be built into the phone. This concept minimizes the memory use, since it is optimized for the actual user.
According to the preferred embodiment of the invention the content of other memories—e.g. written or received 40 messages—in a terminal may be copied into the word completion directory, whereby this dictionary will include candidates comprising a plurality text strings each consisting of a plurality of individual words and derived from text messages stored in the communication terminal. 45
Preferably, the user, when the candidate consisting of a text string consisting of a plurality of individual words, selects the first candidate word in the text string by pressing a select-key for a period shorter than a predetermined period of time, and the entire text string by pressing the select-key 50 for a period longer than a predetermined period of time.
According to the preferred embodiment of the invention, the word completion candidates in the word completion directory are searched for matches, when the number of key strokes to be interpreted exceeds a second predetermined 55 number of key strokes. Preferably, the second predetermined number of key strokes is four. Preferably, the first predetermined number of key strokes is two.
When finding matches in text strings containing several individual words, the plurality of text strings each consisting 60 of a plurality of words is searched when a third number of key strokes has been entered for the entire text string. Preferably, the third predetermined number of key strokes is four.
According to the invention the word completion directory 65 contains words being entered by the user by means of a text editor during a plurality of different sessions, such as in
previously terminated message writing sessions. The invention works in predictive editors as well as in non-ambiguous editors.
According to a second aspect of the invention, there is provided a character entry application for use in a communication terminal for entering a text string for use in text applications. The character entry application comprises text entry keys for entering a key stroke sequence inputted for characterizing a character string, a word completion directory, means for recording the inputted key stroke sequence, means for comparing the inputted key strokes sequence with candidates in the word completion directory in order to find words completion candidates matching the inputted key stroke sequence, a display for displaying one of said matching words completion candidates, means for selecting the displayed one of said matching words completion candidates, and means for adding a selected word to said directory including a plurality of word completion candidates, if the selected word exceeds a first predetermined number of characters, and if this word is not present there already.
According to a third aspect of the invention there is provided a communication terminal having character entry application according to the second aspect of the invention for entering a text string for use in text applications.
BRIEF DESCRIPTION OF THE DRAWING
For a better understanding of the present invention and to understand how the same may be brought into effect reference will now be made, by way of example only, to accompanying drawings, in which:
FIG. 1 schematically illustrates a preferred embodiment of a hand portable phone according to the invention.
FIG. 2 schematically shows the essential parts of a telephone for communication with e.g. a cellular network.
FIG. 3 shows the major components of the predictive text editor according to a preferred embodiment of the invention.
FIG. 4 shows the architecture of the ambiguity eliminating software according to a preferred embodiment of the invention.
FIG. 5 shows a flow chart illustrating the steps performed in a preferred embodiment according to the invention.
FIG. 6 shows a display sequence for providing word completion when entering a word according to a preferred embodiment of an editor according to the invention.
FIG. 7 shows a display sequence for providing full or partial sentence completion when entering words according to a second embodiment of an editor according to the invention.
FIG. 8 shows a flow chart illustrating the steps performed in the second embodiment according to the invention.
DETAILED DESCRIPTION OF THE
FIG. 1 shows a preferred embodiment of a terminal according to the invention, such as a cellular phone 1, which comprises a user interface having a keypad 2, a display 3, an on/off button 4, a speaker 5 (only openings are shown), and a microphone 6 (only openings are shown). The phone 1 according to the preferred embodiment is adapted for communication preferable via a cellular network e.g. a GSM network.
According to the preferred embodiment the keypad 2 has a first group 7 of keys as alphanumeric keys, two soft-keys 8, and a navigation key 10 for moving a cursor. Furthermore the keypad includes two call-handling keys 9 for initiating
and terminating calls. The present functionality of the softkeys 8 is shown in a separate field in the bottom of the display 3 just above the soft-keys 8. This key layout is characteristic of e.g. the phone launched by the applicant under the trade name Nokia 6210TM. 5
FIG. 2 schematically shows the most important parts of a preferred embodiment of the phone, said parts being essential to the understanding of the invention. A processor 18, which supports the GSM terminal software, also controls the communication with the network via the transmitter/receiver 10 circuit 19 and an antenna 20.
The microphone 6 transforms the user's speech into analogue signals; the signals formed thereby are A/D converted in an A/D converter (not shown) before the speech is encoded in an audio part 14. The encoded speech signal is 15 transferred to the processor 18. The processor 18 also forms the interface to a RAM memory 17a and a Flash ROM memory 17b, a SIM card 16, the display 3 and the keypad 2 (as well as data, power supply, etc.). The audio part 14 speech-decodes the signal, which is transferred from the 20 processor 18 to the earpiece 5 via a D/A converter (not shown).
Basic Operation of the Predictive Text Editor.
FIG. 3 shows the major components of the predictive text editor according to the invention. The display 3 and the keyboard 2 establish the man-machine interface. When user input is needed in application programs, such as an SMS message handling application 43, a WAP browser application 44, and for searching in phonebook records 45, the 3Q processor 18 opens a character entry application 50 in which the user may enter characters and use the entered character strings in the application from which the character entry application 50 is opened.
The processor 18 executes instructions and reads data 35 from and writes data in the memory 17b. The character entry application 50 has software instructions in the memory 17b including an operating system 40, a disambiguation program 42 and its vocabularies \la-n—one for each language supported by the editor, a user defined vocabulary 47 (e.g. words copied from the phonebook 45 and manually entered by multi-tapping), and a word completetion directory 46.
FIG. 4 shows the architecture of the disambiguating software. Input from a keypad 2 is processed in an input 45 manager 46. Input data is via internal bus means 47 passed to a processing module 48, which keeps a record of the current key sequence until the user has accepted a word based on this sequence by pressing the space key, e.g. being present by short pressing (shorter than e.g. 0.8 sec) the "0" 50 key of alphanumeric keys. When a key stroke has been received by the processing module 47, the current key sequence is communicated via internal bus means 47 to a processor 18 (preferably being the same processor as the processor 18), which forwards the sequence to one or more 55 modules <\la-n, 46 and 47 acting as electronic vocabularies. The predictive editor of the terminal only uses one out of a plurality of language dependent vocabularies \la-n, and if the predictive editor is not in use, none of the language dependent vocabularies <\la-n will be used. However even 60 in this case the word completion concept according to the invention may be used.
The vocabulary modules 41a-n, 46 and 47 work in parallel and respond individually if they contain data matching the current keystroke sequence. One vocabulary module 65 41a-n might include a dictionary containing words in a language, e.g. English, defined by the user and used as
editing language. The vocabulary modules \la-n, 46 and 47 often supply a plurality of matching words—either being displayed or available through a selection list.
The processor 18 accumulates a complete list of matching words and character strings for the selection list. When the processor 18 has finalised the processing, the processing module 47 transfers the selection list to a display manager 49 and the display 3 via the internal bus means 47.
In most cases, the disambiguation software will work as an editor server and therefore pass data strings directly to another client or application program 43, 44 running on the processor 18, too. In this case the keypad 2, the input processor 46 and the display manager 49 will be integrated in the application program 43, 44 using the predictive text editor as a server. These applications may include the electronic phone book memory, notepad, messages, calendar, and Internet browsing.
Table 1 shows a preferred key layout of the alphanumeric keys 7. When starting to type a word, the user simply presses the digit key containing the desired letter once.
Layout of the alphanumeric keys 7.
1 55 2 abc 3 def
4 ghi 5 jkl 6 mno
7 pqrs 8 tuv 9 wxyz
56 0„ 57 m
If the user, with the predictive editor enabled, wants to type the word "case", he must press the following keys once "2/abc" to insert the "c", "2/abc" to insert the "a", "7/pqrs" to insert the "s", "3/def' to insert the "e", and finally the space key 57 in order to prepare for a new word. Special signs are available when pressing a "l"-key 55, and alternative matches are available in the predictive editor when pressing a "*/+"-56 key.
If the user, with the predictive editor disabled, wants to type the word "case" by means of multi-tapping, he must press the following keys "2/abc" three times to insert the "c", "2/abc" once to insert the "a", "7/pqrs" four times to insert the "s", "3/def twice to insert the "e", and finally the space key 57 in order to prepare for a new word. Special signs are still available when pressing the "*/+" 56-key.
Word completion means the functionality of an input editor to automatically guess and suggest what word the user is typing; and doing it before the word is fully typed. Word completion is hence a very attractive feature for the current and future markets, where SMS sending is extremely hot especially among teenagers but also among many other users. And the speed and time used for typing text is a well-known and considerable limiting factor for especially small devices which do not have large alpha-numeric keyboards.
According to the preferred embodiment of the invention there is provided a dynamic dictionary built in into the mobile phone. This dictionary will reflect and contain the words that the user is using and hence become very "memory efficient". The dictionary/database will be built up/updated when the user is typing any new words using a predictive text editor, such as T9® or the old-fashioned multi-tab method. In this way, the 'word completion dictionary' will after some time automatically contain all the (long) words that the user is often typing. The phone will hence automatically add all the words that the user is typing to the "word-completion dictionary".
The dictionary should ideally only be adding "long" words, since these are the ones where word completion makes most sense (word completion is mainly ideal for typing long words). In a preferred embodiment of the invention, only, words larger than e.g. five characters would 5 be saved to the word completion dictionary. Saving only long words will reduce the memory consumption of the word completion dictionary or it will leave more space for long words.
A suitable size of the word completion dictionary would 10 be something like 100-1000 words. Experimental studies of the behavior of users of short messages services on GSM phones have shown that one hundred words would suit most users needs, due to the fairly limited amount of long words that a typical user is typing. 15
Assuming only long words (longer than five characters) to be stored (10-12 characters in average for some languages), this would require something like (100-1000) times (10-12) characters/bytes of memory, or something in the range 1-12 kilobytes. This is a considerably lower memory consump- 20 tion than e.g. needed if a huge amount of words in several languages would need to be "pre-stored" from factory in the handset.
According to a preferred embodiment of the invention, the phone includes a compression program compressing the 25 word completion dictionary; in order to reduce the memory consumption further.
While the user is typing, the phone will all the time check whether the word that the user is typing so far is contained in the word completion dictionary. If the word typed so far 30 is found in the word completion dictionary, the phone will automatically suggest use of the word from the word completion dictionary, and allow the user to directly insert this entire long word. The user can always choose to continue the manual entry typing hereby making it easy to 35 type other words than what the word completion dictionary contains.
It would probably be the best if the "word comparison" between words that the user is typing and words from the user dictionary first starts when the user has typed two or 40 preferably three characters. Hereby avoiding too many situations where the user will get too many "wrong" suggestions to what the user is typing.
The auto-completion can work both when user is typing in editors supporting a predictive editor, such as e.g. T9® 45 and in other editors, and probably even in Chinese and other input editors.
The individual key strokes may either designate individual characters (e.g. multi-tapping or qwerty input), or a group of characters (ambiguously). This string of key 50 strokes reflects this fact.
The preferred embodiment of the invention will be described in the following with reference to FIG. 5. The character entry application is preferably common for several applications where text entry is needed. The user starts the 55 character entry application in step 100 from for instance the message application. In step 101 the application is ready to received a key input, and when a character entry key has been pressed, the character entry application add the representation of the pressed key to a string of key strokes in step 60 102. If the escape key (the "right" soft-key 8) is pressed, the character entry application 50 is terminated at step 114.
In step 103 the character entry application determines the number key strokes In the string. If the number of key presses exceeds a threshold value, M, the character entry 65 application defines in step 104 that matches should be searched in a standard directory of the predictive editor
40-42 in the language set by the user, the user directory 47 and the word completition directory 46. If the number of key presses is below the threshold value, M, the character entry application defines in step 105 that matches should be searched in a standard directory of the predictive editor 40-42 in the language set by the user and the user directory 47. The first predetermined number (threshold value, M) of key strokes is according to the preferred embodiment of the invention two.
When the character entry application 50 has determined which dictionaries to search, the character entry application in step 106 sends a request for finding matches to search engine 40,42 and identifies the dictionaries to be searched. The search engine 40,42 finds matches in step 107 and outputs the matches to the character entry application 50 in step 108. The character entry application 50 sorts the matches if there are more than one, and display one of the matches in step 109. The sorting may be so that match sources are prioritized and the individual matches from a source are sorted in e.g. alphabetic order, latest use, most frequently used, context in which is used.
When using a non-ambiguous editor, the character entry application 50 will always be able to suggest a word or a string of letters uniquely identified by the entered string of key strokes.
When using a predictive editor, the character entry application 50 will sometimes run out of matches, and will therefor not be able to display a match. Instead the character entry application 50 offers the user a non-ambiguish editor.
In step 110 the user is invited to operate on the suggested match. The user may request an alternative match, and the character entry application 50 will offer the user an alternative match in step 109. The user may press the "clear"-key (the right soft-key 8) in order to remove a key press from the string of key strokes corresponding to deleted character in step 115, or press a character entry key 7 in order to add this key press to the string of key strokes in step 102. In both these the character entry application 50 will start to investigate the updated string of key strokes in step 103.
If the user presses the "Use"-key (the left soft-key 8) the suggested match will be selected for use in the text entered by means of the character entry application 50 in step 111.
In step 112 the selected word is added to the word completion directory, if the word is not already present there, and if the selected word exceeds a second predetermined number of characters. The second predetermined number (threshold value, N) of key strokes is according to the preferred embodiment of the invention four.
If further inputs are requested in step 113, the character entry application 50 goes to step 101 and waits for key presses characterizing the following word. If no further input is requested in step 113, the character entry application 50 is terminated at step 114 and the entered text may be used in the application from which the character entry application 50 was opened.
FIG. 6 shows an example of the design of the user interface for a text editor application when word completion is supported. Assuming that the user is in a text editor application, and the user has started typing the word "Message". In the described embodiment, the word completion is enabled when three or more characters has been entered for a word. In the first display of FIG. 6, the user has pressed only two keys—the "6/mno"-key and the "3/def'-key for typing the two characters "m" and "e". With use of an English vocabulary 41, the phone will suggest "of as default matching word 62, while alternatives as "me", "nd", "ne", and "od" will be available when pressing the "*/+"