[go: up one dir, main page]

HK1026757A1 - Reduced keyboard disambiguating system - Google Patents

Reduced keyboard disambiguating system Download PDF

Info

Publication number
HK1026757A1
HK1026757A1 HK00105990A HK00105990A HK1026757A1 HK 1026757 A1 HK1026757 A1 HK 1026757A1 HK 00105990 A HK00105990 A HK 00105990A HK 00105990 A HK00105990 A HK 00105990A HK 1026757 A1 HK1026757 A1 HK 1026757A1
Authority
HK
Hong Kong
Prior art keywords
key
word
user
sequence
input
Prior art date
Application number
HK00105990A
Other languages
Chinese (zh)
Other versions
HK1026757B (en
Inventor
马丁‧T‧金
戴尔‧L‧格罗弗
克利福德‧A‧库斯勒
谢里尔‧A‧格伦博克
Original Assignee
蒂吉通信系统公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 蒂吉通信系统公司 filed Critical 蒂吉通信系统公司
Priority claimed from PCT/US1998/001307 external-priority patent/WO1998033111A1/en
Publication of HK1026757A1 publication Critical patent/HK1026757A1/en
Publication of HK1026757B publication Critical patent/HK1026757B/en

Links

Landscapes

  • Input From Keyboards Or The Like (AREA)

Description

Reduced keyboard system with disambiguation
The present invention relates generally to reduced keyboard systems, and more particularly, to a reduced keyboard system that employs word-level disambiguation to address ambiguous keystrokes.
In recent years, portable computers have become smaller and smaller. The primary size limiting factor affecting the production of smaller portable computers is the keyboard. If standard typewriter-sized keys are used, the portable computer must be at least as large as the keyboard. Keypads have been employed on portable computers, but it has been found that the keys of the keypad are too small to be quickly and conveniently operated by a user.
The introduction of a full-size keyboard into a portable computer also prevents truly portable use of the computer. Most portable computers are difficult to work without placing the portable computer on a flat work surface so that the user can use both hands to strike the keys. The user cannot conveniently use the portable computer while standing or moving. In the latest generation of small portable computers called Personal Digital Assistants (PDAs), many companies have attempted to solve this problem by adopting handwriting recognition software in the PDA. The user can enter text directly by writing on a touch sensitive pad or screen. The handwritten text is then converted into digital data by recognition software. Unfortunately, the accuracy and speed of handwriting recognition software has not been satisfactory, except that writing with a pen is generally slower than typing. To make matters even more disadvantageous, today's handheld computing devices that require text input are continually becoming smaller. Recent advances in two-way paging, cellular telephony, and other portable wireless technologies require a small and portable two-way calling system, and in particular a system that can both send and receive electronic mail (e-mail).
Thus, it would be advantageous to develop a small and portable keyboard for a user to input text to a computer that is operated with one hand and can be held by another hand. Prior developments have considered using a keyboard with a reduced number of keys. Many reduced keyboards employ a 3 x 4 array of keys, inspired by the keypad layout of button phones. Each key in the array of keys contains several characters. Thus, there is ambiguity when the user enters a sequence of keystrokes in that each keystroke can represent one of several letters. Several approaches have been proposed to resolve ambiguities in the keystroke sequence.
One proposed method of disambiguating the characters entered on a reduced keyboard requires the user to enter two or more keystrokes to identify each letter. Such keystrokes may be simultaneous (chording) or sequential (multiple keystroke requirements). Neither chording nor multi-tap requirements produce a keyboard that is simple enough and efficient to use. Multiple keystrokes are not efficient and the chording pattern is complex and difficult to learn and use.
Another proposed method for determining the correct sequence of characters corresponding to a sequence of ambiguous keystrokes is reviewed in "basic Character library recognition for Reduced Text templates" (hereinafter "the Arnott paper"), published by John L.Arnott and Muhammad Y.Javad in the International society for the augmentation and Alternative communications journal. The Arnott paper notes that most disambiguation methods use statistics about character sequences in a language to resolve character ambiguity in a given context. That is, existing disambiguation systems statistically analyze the grouping of ambiguous keystrokes being entered by a user to determine the appropriate interpretation of those keystrokes. The Arnott paper also states that several disambiguation systems attempt to decode text from a reduced keyboard using word-level disambiguation. The word-level disambiguation method disambiguates an entire word by comparing the received keystroke sequence with possible matches in the dictionary after receiving an unambiguous character indicating the end of the word. The Arnott paper discusses many disadvantages of word-level disambiguation. For example, word-level disambiguation methods often fail to correctly translate words due to limitations in identifying infrequently used words and the inability to translate words not included in the dictionary. Because of the limitations in decoding, the word-level disambiguation method cannot decode unconstrained english text that forms one character for one keystroke without error. The Arnott paper thus prefers disambiguation at the character level rather than word level, and indicates that character level disambiguation appears to be the most promising disambiguation technique.
One proposed word-level disambiguation-based method is disclosed in a textbook published by Academic Press in 1982 by the author of I.H. Witten under the name "Principles of Computer Speech" (hereinafter referred to as "Witten method"). Witten discusses a system for reducing the ambiguity of text entered using a telephone button set. Witten has recognized that for approximately 92% of words in a dictionary of 24, 500 words, ambiguity does not occur when comparing the keystroke sequence to the dictionary. However, when ambiguities occur, Witten indicates that ambiguities must be resolved interactively by presenting the ambiguities to the user by the system and requesting the user to make a selection among some of the ambiguities' entries. So that the user must reply to the system prediction at the end of each word. Such responses reduce the efficiency of the system and increase the number of keystrokes required to enter a given piece of text.
Another example of an interactive approach to resolving ambiguity is shown in us patent 5,200,988, which discloses a telecommunications component interconnected between a telephone using Dual Tone Multi Frequency (DTMF) dial signals and a telephone line. When keys on a telephone keypad are pressed successively to spell out an entire word, the telecommunications component stores a corresponding sequence of ambiguous signals, and the component indicates the dialed sequence by displaying a sequence of digit fields. If the displayed digit sequence corresponds to a dialing pattern predetermined by the user, the 'completed word' key is pressed and the sequence of DTMF signals corresponding to the user input sequence is transmitted to the remote dictionary database. The data is searched for a word or words that match the sequence of DTMF signals and a signal representing the most frequently used matching word is sent back to the telecommunications component and displayed by the telecommunications component. If the displayed word is a word predetermined by the user, the user presses a certain key to accept the word. If the displayed word is not the word intended by the user, the user presses a key to reject the word, which informs the database to provide a signal representing the next most frequently matched word for the user to review. In the disclosed scheme, the process continues until the desired word is obtained.
European patent application No. EP 0732646 discloses a word-level disambiguation scheme using 12 input keys having the same layout as a standard telephone keypad. In operation, an ambiguous input sequence is generated using keys and a "shift key" is pressed "*") key to initiate disambiguation processing. If multiple candidates are stored in system memory, the shift key is also used to return to memory to retrieve the next candidate (thereby providing an in-order display of possible text output). When a desired word is displayed to the user, a "decision key" ("is pressed"#"key") to select and confirm the displayed word as the word desired by the user. In one variation disclosed, word candidates are displayed with each keystroke, i.e., without having to press a toggle key. However, the disambiguation and display of candidate words is limited to words of the same length and number of keystrokes made. Thus, this particular variation does not provide a display that enables the user to quickly determine that predetermined keys have been pressed (i.e., no typing error has occurred).
Eliminating the ambiguity of a sequence of ambiguous keystrokes remains a challenging problem. As indicated in the above discussion, satisfactory solutions that minimize the number of keystrokes required to enter a piece of text do not achieve the required efficiency of a disambiguating reduced keyboard that can be received in a portable computer. One challenge faced in any word-level disambiguation application is providing the user with sufficient feedback about the keystrokes being entered. With a conventional typewriter or word processor, each keystroke represents a unique character which can be immediately displayed to the user upon entry. This is often not possible with word-level disambiguation because each keystroke represents multiple characters and any keystroke sequence matches potentially multiple words or multiple stems. This is especially a problem when the user makes a spelling error or a keystroke error, because the user cannot be certain that an error has occurred before the entire key sequence has been entered and the desired word has not occurred. Furthermore, recent publications propose to not employ word-level disambiguation and focus attention on character-level disambiguation techniques. It is therefore desirable to develop a disambiguation system that minimizes the ambiguity of the input keystroke sequence and also maximizes the efficiency with which the user can resolve any ambiguity that occurs during text input.
The present invention provides a reduced keyboard that employs word-level disambiguation to resolve ambiguities in key hits while also allowing a user to operate the present invention in a manner that interprets keystrokes as an unambiguous interpretation of a particular one of a plurality of characters associated with the key being operated. In one embodiment, the system includes a touch sensitive display panel in which a touch to the display surface generates an input signal to the system corresponding to the location of the touch. The displayed keyboard image, in which a plurality of characters (e.g., letters of the alphabet) are associated with the keys, allows a system user to input data in a disambiguated mode of operation by sequentially touching the keys in a manner that selects a particular character. For example, in one aspect of the invention, a particular character is selected by touching the portion of the key where the desired character is displayed. In another approach, a multi-tap method of unambiguously selecting characters is employed. In both cases, the present invention operates simultaneously as a de-ambiguous reduced keyboard system in which each keystroke is interpreted as an ambiguous indication of some indeterminate character of the operated key. By displaying a text output resulting from the interpretation of an input sequence into an unambiguous character description and into an ambiguous input, the invention can be applied by various types of users in a very wide variety of different situations.
There are a number of ways to implement the present invention, both in terms of touch screen input layouts and electromechanical keyboard components and other layouts. In a preferred embodiment, nine symbol and letter keys are combined in a 3 x 3 array with three to six additional dedicated function keys. The method includes the steps of assigning a plurality of letters and symbols to some of the keys, such that keystrokes to those keys (hereinafter referred to as "data keys" are ambiguous.
In accordance with one aspect of the invention, the keystroke sequence can be presented with both letters and numbers. While interpreting the sequence of keystrokes as numbers and as one or more words. The user may also be provided with an alternative interpretation of the keystroke sequence in the selection table.
According to another aspect of the invention, the interpretations of the words are presented in decreasing order of frequency of use, with the most common words presented first. An entry in the selection table is selected by pressing the Select key one or more times. The keystroke can be "canceled" by pressing the BackSpace key.
In accordance with another aspect of the invention, the user presses the Select key to delimit the sequence of keystrokes that have been entered. Upon receiving the Select key, the disambiguation system selects the most frequently used word and adds that word to the sentence being constructed. The selection key is also used to generate a space following the selected word, i.e., the present disambiguating reduced keyboard automatically inserts the appropriate space between words.
According to another aspect of the invention, the selection keys are also used to select less common words from a selection list presented to the user. If the word presented to the user at the top of the selection list is not the desired word, the user presses the Select key again to advance from the most common word to the second most common word, and again to the third most common word, and so on. This embodiment of the disambiguating reduced keyboard system does not have a dedicated "execute" or "accept" key for acting on the entry just selected. Once the user selects the desired word, the word is added to the sentence being composed immediately upon receiving the next symbol or character keystroke.
According to yet another aspect of the invention, the user may select a desired word or other interpretation from the selection list simply by touching it on the screen. When a word is selected in this manner before the Select key is pressed, the selected word is inserted into the insertion point of the output document without space. Alternatively, touching any location on the screen other than the displayed keyboard or selection list has the effect of accepting the current word or symbol in the selection list. The selection list also includes a scroll control button for manually scrolling additional less frequently used items onto the display screen for selection.
According to yet another aspect of the invention, the user may select a previously selected word in the output text by double-clicking on the word. The system then reconstructs the selection list in the same state as when the selected word was generated. Alternatively, the text display insertion marker or editing cursor may be repositioned by a single click in the text region. Clicking on the selection table when it is empty causes the system to determine the word that is closest to the insertion marker position and reconstruct the selection table for that word. The Select key may then be pressed to move forward along the selection list again to replace the previously generated word with another entry in the selection list, or the user may replace the double-click on the selected word by simply touching a different desired word in the selection list. In another embodiment, after clicking or double clicking on a word and rebuilding the selection table, clicking on the word again means pressing the Select key and replacing the word with the next word in the table.
In accordance with another aspect of the invention, the user is provided with multiple interpretations of the keystroke sequence in the selection table. The sequence of keystrokes may be interpreted to form one or more words and the corresponding words displayed in the selection list. At the same time, the keystroke sequence can be interpreted as a number, and the number is also displayed as an entry in the selection list. Additionally, the keystroke sequence can be interpreted as a word entered using the ambiguous spelling method, as a stem of an incomplete word, or as a system command. These various interpretations are presented to the user simultaneously upon receiving each keystroke by the user. The user may Select from the alternative interpretations by pressing the Select key a certain number of times or by directly touching the desired interpretation in a selection list displayed on the touch screen.
In accordance with another aspect of the invention, a method is provided for entering new words not included in the vocabulary of the system using a multi-tap illustration method. In this method, a sequence of keystrokes is interpreted to unambiguously specify a particular string of alphabetic characters, where the number of required multiple presses of a key specifies which symbol the key represents. A symbol may be unambiguously specified by pressing the key a number of times equal to the order of appearance of the symbol on the key. For example, a data key may include three letters in a horizontal row, followed by a single number. The number is specified by clicking the first letter in the row that should be specified, double clicking the second letter, clicking three times the third letter, and clicking four times. This multi-tap interpretation of each keystroke sequence is also performed by the present unambiguous reduced keyboard system and automatically presented to the user in the selection list.
In accordance with another aspect of the invention, the system provides intuitive feedback to the user regarding the multi-tap interpretation of the sequence of keystrokes being entered. If the key sequence is interpreted as an unambiguous multi-tap input, this feedback may be achieved by increasing the brightness or other visual indication of a certain symbol on the key being pressed.
In accordance with another aspect of the invention, the letters on each key surface are arranged in order of decreasing frequency from left to right, such that the most frequently occurring letter is in the leftmost position. By arranging the letters on each key according to letter frequency, the present invention requires fewer keystrokes on unambiguously inputting multi-tap data than would be required with a standard button keypad.
According to another aspect of the invention, pauses are used in the keystroke sequence when two successive letters in a word appear on the same key to distinguish between multi-tap inputs of two letters. The amount of delay required to separate and distinguish multiple letter inputs on the same key is set by the user in the system menu. The system may provide one of an audible and visual indication to the user that the timing delay has been reached.
In another aspect of the invention, the system captures the timing time associated with the timing of keystrokes and captures the time between successive keystrokes on the same key. The recorded time interval is used to update the calculated average run time interval when the user selects and accepts a multi-tap interpretation of a certain key sequence for output. At the user's option, the system may then dynamically update the minimum delay period with the calculated value. For example, in one embodiment, the minimum pause delay period is set equal to 1.5 times the calculated average time interval.
According to another aspect of the invention, a method is provided for entering words not included in a vocabulary using a direct pointing approach. Each key on the touch screen is divided into several fields, each field containing a symbol. The user touches exactly each key, in particular directly, the area where the desired symbol appears. When a key is touched, the brightness of the symbol selected by this direct indication method is increased. Once a key is contacted, the pen tip or fingertip can be slid over the surface of the key until the desired symbol on the key is highlighted. When the pen tip or fingertip is lifted from the touch screen surface, the desired symbol is added to the end of the current ambiguous spelling object and the selected symbol is deselected and the brightness of the selected key is increased. The direct indication method is preferably only one of a plurality of interpretations that are simultaneously presented to the user for selection.
According to another aspect of the invention, ambiguous keys are grouped into sets of adjacent keys, each set representing a larger key that may be ambiguous by including more than one underlying key. This results in two keyboards, consisting of an ambiguous keyboard superimposed on a nonsense keyboard, where each keystroke can be interpreted simultaneously as one keystroke on a key in the overlapping set of keys and one nonsense keystroke on an underlying key. In an alternative embodiment, a dedicated key may be provided to switch between a keyboard layout based on a set of ambiguous data keys and a replacement keyboard consisting of a greater number of ambiguous data keys, each of which is scaled down and contains only a single letter.
According to another aspect of the invention, the user touches a key containing the desired letter or symbol and the symbol is indicated by a short dragging motion on the screen surface. All symbols on a key have an associated click direction. For example, a key contains three symbols, the leftmost symbol may be designated by touching the key and sliding to the left, the rightmost symbol may be designated by touching the key and sliding to the right, and the middle and possibly most frequently used symbol may be designated by touching the key and releasing the key without lateral movement. When the pen tip or fingertip is lifted from the touch screen surface, the selected symbol is added to the tail of the current ambiguous spelling object.
According to another aspect of the invention, the user enters each word using a preferred unambiguous spelling method displayed at a specific distinct location in the selection table, preferably at the right end of the table and visually isolated from the other entries in the table. Displaying words generated by an unambiguous spelling method of a keystroke sequence at the far right end minimizes confusion that might arise when a user presents a word without wanting to confirm a predetermined word being typed in with the ambiguous spelling method.
According to another aspect of the invention, words that are entered by a user using an unambiguous spelling method or encountered while editing text that are not included in the vocabulary module are automatically added to the vocabulary module. These additional words can be typed in later using the standard method of just one keystroke of a letter.
According to another aspect of the invention, the keys employed by the present disambiguation system may be assigned a unique, easily discernable gesture that can be performed with a pen tip or fingertip on a touch sensitive surface. Each gesture or click is then equivalent to pressing a key. Adopting gestures in this manner may reduce the space required to implement the present system as compared to using individual keys. This technique may be combined with click-based character recognition systems currently available to some handheld devices.
In accordance with another aspect of the invention, words are stored in a vocabulary module using a tree data structure. The word corresponding to the particular keystroke sequence is constructed using a set of words or stems associated with the immediately preceding keystroke sequence (i.e., the particular keystroke sequence without the last keystroke). Constructing words in this way reduces the storage space of the vocabulary module, since the stem is stored only once at the top of the tree structure and is shared by all words constructed from the stem. The tree structure also greatly reduces processing requirements since searches need not be made to locate stored objects. Words and stems stored in the tree data may contain frequency information or other level information indicating which entry is to be displayed to the user first, which further reduces processing requirements.
According to another aspect of the invention, letters may be assigned to keys in a non-sequential order. Rather than assigning letters from "a" to "z," letters are grouped onto keys in a manner that reduces the frequency of ambiguity during word entry. In particular, letters are assigned to keys taking into account the frequency of use of each word in the vocabulary module of the present disambiguation system. That is, the grouping of letters reduces the ambiguity between the most frequently entered words. Thus, the grouping of letters on each key is optimal for one or more preferred vocabulary modules that include information related to common frequency of use.
In accordance with another aspect of the present invention, it is advantageous to employ a keyboard that assigns letters to keys in a generally sequential order from "a" to "z". A method of correctly determining which of a plurality of ambiguous words is likely to be the desired word from the context of the input is employed to output the most likely word to the user first in a selection list.
According to another aspect of the invention, the disambiguated keyboard system may be used to edit and modify existing documents. For example, in a small two-way hand-held pager it may be used to reply to a received email, where the reply includes the original message as well as additional text added by the user. When the system opens an existing document, the system automatically scans and analyzes the textual objects in the document and places these objects into a transient dictionary, which makes the objects immediately available in the system's vocabulary, i.e., in one-tap alphabetical spelling (ambiguous) if a portion of the transient vocabulary is used (i.e., spelled by the user and selected for output to the current document), the word is still present in the current document when the document is closed, and then the word is moved from the transient vocabulary to a persistent user vocabulary store, from which the user can still obtain the word after the source document is closed. In contrast, entries in the temporary vocabulary that are not spelled in the edit by the user are removed from memory and are no longer available after the document is closed.
The combined effects of out-of-order and optimized key letter assignment, delimiting words with Select keys, presenting the most frequently occurring word at the first word in the selection list, including multiple interpretations in the selection list, automatically adding the selected word to the sentence by the first keystroke in the succeeding word, and automatically adding a space, are surprising results: the number of keystrokes required to enter a word using the present disambiguated reduced keyboard system is the same as the number of keystrokes required to enter a word using a conventional keyboard for approximately 99% of the words entered. When reducing ambiguity and presenting words in order of frequency of use, the desired word is most often the first word presented and often the only word presented. So that the user can enter the next word without having to make more keystrokes than usual. So that high speed text entry can be achieved with a keyboard having a small number of full size keys.
The disambiguation reduced keyboard system disclosed herein reduces the size of a computer or other component associated with a computer. The reduced number of keys makes it possible to construct a part that is held by the user with one hand and operated with the other hand at the same time. The disclosed system is particularly advantageous for use with PDAs, two-way pagers, or other small electronic components, and can benefit from accurate, high-speed text entry. The system is both efficient and simple when implemented on touch screen based components.
The foregoing aspects and many of the attendant advantages of this invention will become more readily appreciated as the same become better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein:
FIG. 1A is a schematic diagram of a preferred embodiment of a portable computer with a reduced keyboard disambiguating system of the present invention;
FIG. 1B-1 is a schematic diagram of an alternative embodiment of a reduced keyboard for various modes of system operation;
FIG. 2 is a hardware block diagram of the disambiguating reduced keyboard system of FIG. 1;
FIG. 3 is a flow diagram of a preferred embodiment of disambiguation software for use in the disambiguation reduced keyboard system;
FIG. 4A is a schematic diagram of a preferred embodiment of an editing mode of a disambiguating reduced keyboard system;
FIG. 4B is a perspective view of an alternative embodiment of a disambiguating reduced keyboard system;
FIGS. 5A-5K are schematic diagrams of a preferred embodiment of a reduced keyboard system for disambiguation during typical use;
FIG. 6A is a schematic diagram of a television remote control including a disambiguating reduced keyboard system of the present invention;
FIG. 6B is a schematic view of a watch including the disambiguating reduced keyboard system of the present invention;
FIG. 7 is an eight key reduced keyboard layout for a disabled person;
FIG. 8A is an embodiment of a mechanical key for use with the system of the present invention;
FIG. 8B is a side view of a key of FIG. 8A;
FIG. 8C is a schematic view of an alternate embodiment of the keyboard of the present invention;
FIG. 8D is a schematic view showing the movement of a key in FIG. 8C;
FIGS. 9A-9C depict the structure of a preferred vocabulary module and associated object table for a reduced keyboard system for disambiguation;
FIG. 10 is a flow diagram of a subroutine for determining the objects contained in a vocabulary module; and
FIG. 11 is a flow chart of a preferred method for determining a rule that reduces ambiguity.
I. System architecture and basic operation
Referring to FIG. 1A, a reduced keyboard disambiguating system 50 formed in accordance with the present invention is depicted in conjunction with a handheld portable computer 52. The portable computer 52 contains a reduced keyboard 54 implemented on a touch screen display 53. For the purposes of this application, the term "keyboard" is defined broadly to include any input device having a defined area, among which are: touch screens with areas defining keys, discrete mechanical keys, membrane keys, etc. The keyboard 54 has a reduced number of data entry keys taken from the standard QWERTY. In the preferred embodiment, the keyboard contains twelve standard full-size keys arranged in four columns and three rows, and a smaller row of less common additional dedicated keys 58 above the keyboard 54. More specifically, the preferred keyboard includes several data keys 56 arranged in a 3 x 3 array and a left column of 3 system keys 58, the system keys 58 including a Select key 60, a Shift key 62 and a BackSpace key 64.
A preferred arrangement of letters on each key in the keyboard 54 is depicted in fig. 1A. FIG. 1B shows an alternative optimized arrangement of letters on each key of the keyboard 54, wherein the letters are arranged on the keys so as to minimize the overall frequency of occurrence of words that do not appear first in the selection list. Fig. 1C shows a preferred arrangement of numbers associated with each key in the keyboard 54. Fig. 1D shows a preferred arrangement of english punctuation characters associated with each key in the keyboard 54. FIG. 1E shows the preferred arrangement of the various proprietary formats of the base character "a" as an example of a way to associate a distinguishing mark with each key in the keyboard 54.
Data is entered into the disambiguating system by simplifying the keystrokes on the keyboard 54. When a user enters a sequence of keystrokes with a keyboard, text is displayed on the computer display 53. Two areas are defined on the display for displaying information to the user. The upper text area 66 displays text entered by the user and serves as a buffer for text entry and editing. A selection table field 70, located below the text field, provides a list of words and other interpretations corresponding to the sequence of keystrokes entered by the user. A dedicated field 72 is designated at the right end of the selection table field 70 for displaying an unambiguous spelling interpretation of the current keystroke sequence. As will be described in more detail below, the selection form 70 assists the user in resolving ambiguities in the sequence of input keystrokes.
A block diagram of the hardware of a disambiguating reduced keyboard system is provided in FIG. 2. The keyboard 54 and the display 53 are connected to the processor 100 by suitable interface circuitry. A speaker 102 is also connected to the processor. The processor 100 accepts input from the keyboard and manages all output to the display and speakers. The processor 100 is coupled to the memory 104. The memory includes a combination of temporary storage media, such as Random Access Memory (RAM), and permanent storage media, such as Read Only Memory (ROM), floppy disks, hard disks, CD-ROMs, and the like. The memory 104 contains all the software programs that manage the operation of the system. The memory preferably contains an operating system 106, disambiguation software 108, and various associated vocabulary modules 110, described in detail below. Optionally, the memory may contain one or more applications 112, 114. Examples of application programs include word processing programs, software dictionaries, and foreign language translation programs. Speech synthesis software may also be provided as an application to allow the present disambiguating reduced keyboard system to act as a communication tool.
Returning to FIG. 1A, the disambiguating reduced keyboard system 50 allows a user to quickly enter text or other data using only one hand. Data is entered using the data keys 56. Each data key has a variety of meanings represented by a plurality of letters, numbers and other symbols on the top surface of the key. (for purposes of this disclosure, each data key is identified by a symbol in the center row of data keys, e.g., "ABC" identifies the top-left data key.) because each key has multiple meanings, a sequence of keystrokes is ambiguous in meaning. When a user enters data, various keystroke interpretations are displayed in multiple areas on the display to assist the user in resolving any ambiguity. A selection table 76 is provided in the selection table field 70 for the user to enter a possible interpretation of the keystroke sequence. The first entry 78 in the selection table is selected as the default interpretation and displayed at the insertion point 88 in the text area 66. In the preferred embodiment, the entry is displayed in the selection table 76 and in the solid box surrounding the entry at the insertion point 88. This format establishes an intuitive relationship between the insertion point object and the selection table and indicates that the object is implicitly selected based on the most frequently occurring object in the current selection table.
The selection table 76 of possible interpretations of the input keystroke sequence may be ordered in several ways. In a conventional manner of operation, each key stroke interpretation is initially entered as a letter to spell a word (hereinafter "word interpretation"). Thus, entries 78, 79 and 80 in the selection table are words corresponding to the input keystroke sequence and the entries are ordered so that the most common word corresponding to the keystroke sequence is listed first. For example, as shown in FIG. 1A, the user has entered the keystroke sequences ABC, GHI, and DEF. As each key is entered, a vocabulary module lookup is performed to determine the words that match the keystroke sequence. The words identified from the vocabulary modules are displayed to the user in the selection list 76. Words are sorted according to frequency of use and the most frequently used words are listed first. Using this example keystroke sequence, "age," "aid," and "bid" are determined from the vocabulary module by the most likely word corresponding to the keystroke sequence. Of these three identified words, "age" is more common than either "aid" or "bid", so that "age" is listed first in the selection list. The first word also serves as a default interpretation and is temporarily published as body text at the insertion point 88. The first word to be interpreted as default is published at the insertion point 88 and in the selection table 76 using the same format before the Select key 60 is pressed. For example, as shown in FIG. 1A, the word appears as text in a solid box that just holds the word.
In the preferred embodiment, after entering the sequence of keystrokes corresponding to the word, the user presses Select key 60. Pressing the Select key redisplays the first entry in the selection table 76 with its surrounding dashed box and redisplays the first entry with its surrounding box of the same format at the insertion point 88. Conceptually, the change from the solid line box to the dashed line box indicates that the body is close to the body accepted as being generated and is explicitly selected for use in response to the user pressing the Select key. If the first entry in the selection list is the desired interpretation of the keystroke sequence, the user continues to enter the next word using each data key 56. The present disambiguating system interprets the start of the next word as a confirmation that the currently selected entry (in this case, the first entry in the selection table) is the desired entry. The default word thus remains at the insertion point as selected by the user, with the surrounding boxes all disappearing and the word re-appearing in regular text without the proprietary format.
If the first entry in the selection table is not the desired interpretation of the keystroke sequence, the user can step through the entries in the selection table by repeatedly pressing Select key 60. Every time the Select key is pressed, the next word in the selection list is capped with a dashed box, and a previously copied copy of the entry (replacing the previously temporarily published word) and capped with a dashed box are published for the insertion point. Temporarily publishing the next entry to the text field allows the user to keep his attention in the text field without having to refer to the selection list. As an option for the user, the system may also be configured such that upon receiving a first press of the Select key, the temporarily published words at the insertion point are expanded to display a copy (vertical or horizontal) of the active selection list. The user may select the maximum number of words displayed in the copy of the selection list. Alternatively, the user may choose to always display the selection list at the insertion point, even before the first press of the Select key.
If the second entry in the selection list is the desired word, the user then enters the next word after pressing the Select key twice, and the disambiguation system automatically publishes the second entry as regular text in the text field. If the second entry is not the desired word, the user may check the selection list and press the Select key as many times as necessary to Select the desired word before continuing to enter the next word. When the end of the selection table is reached, pressing the Select key again scrolls the selection table and adds a new entry to the end of the selection table. Those entries at the top of the selection list are removed from the list displayed to the user. When the user continues to enter text by pressing any of the data keys 56, entries selected by pressing the Select key multiple times are automatically published in the text field. Alternatively, after entering the sequence of keystrokes corresponding to the desired word, the user can select the desired word simply by touching the word from the selection region. When a word is selected in this manner before any press of the Select key, the selected word is directly output to the insertion point without space, and the selection table is cleared. The user may then press the Select key to generate a space that is immediately output into the text region at the insertion point 88.
In most text entry, the user treats the keystroke sequences as the individual letters that make up a word. It will of course be appreciated that each key is associated with a plurality of characters and symbols such that the individual keystrokes and keystroke sequences have several interpretations. In the preferred disambiguating reduced keyboard system, various interpretations are automatically determined and displayed to the user while the sequence of keystrokes is interpreted and displayed to the user as a list of words.
For example, a sequence of keystrokes is interpreted by a stem corresponding to a possible valid sequence of letters entered by the user (hereinafter referred to as "stem interpretation"). Unlike word interpretation, a stem is an incomplete word. With the possible interpretation of the last keystrokes, the stem allows the user to easily confirm whether each keystroke was entered correctly, or to re-type when the user's attention was diverted from the middle of the word. As shown in FIG. 1A, the keystroke sequence ABC GHI DEF is interpreted to constitute the valid stems "che" (producing the words "check", "cheer", etc.) and "ahe" (producing the words "ahead", etc.). Thereby providing the stem interpretation as entries 81 and 82 in the selection table. Stem interpretations are preferably stored according to the combined frequency of the set of all possible words that can be generated for each stem by adding keystrokes to the data keys. The maximum number and minimum combination frequency of these items to be displayed may be selected by the user so that certain stem interpretations are not displayed. In this example, the word stems "bif" (producing the word "bifocals"), "cid" (producing the word "order") and "bie" (producing the word "biennial") are not shown. When a stem interpretation is listed in the selection list, the stem is omitted if the stem interpretation and a word shown in the selection list are repeated. When the stem is omitted, a word corresponding to the omitted stem may also be marked with a certain symbol to indicate that there is also a longer word having the word as its stem. Stemming provides feedback to the user by confirming that the correct sequence of keystrokes has been entered to produce the desired word.
In the preferred embodiment, each keystroke sequence on the data key set 56 is also simultaneously interpreted by using a direct pointing notation method to unambiguously specify an alphabetic string. Each data key 56 includes three letters arranged in a row on the key top. Each letter is located in a different area on the key. For a keystroke on a data key 56, the direct pointing instruction method indiscriminately interprets each keystroke as specifying a particular letter, the exact point in the touchscreen key being closest to the letter when the pen tip or fingertip is lifted from the key. It is advantageous to visually display to the user which letter is selected. This may be achieved by having the brightness of the area where the selected key is located be enhanced. In addition, the user can slide the fingertip along the key until the appropriate area enhances the brightness, thereby ensuring that the correct letter is selected. When lifting the fingertip, the letter or region with enhanced brightness is selected. The example shown in FIG. 1A is based on the assumption that a light touch is made near the center of each key, resulting in a direct pointing interpretation "bhe" (a string of characters at the center of the three keys ABC GHI DEF) and displayed as an entry 83 in the area 72 of the selection table area 70.
The keystroke sequence is preferably also interpreted as a string of numbers (hereinafter "number interpretation"). The data key set 56 contains characters representing numbers. One interpretation provided in the selection table is thus the number corresponding to the keystroke sequence. For example, entry 84 is a numerical interpretation ("798") of the keystroke sequences ABC, GHI, DEF.
As previously described. In a conventional manner of operation, entries corresponding to words are first presented in the selection table 76. In other cases, it may be desirable to present other keystroke sequence interpretations first in the selection table. For example, in the case of entering a sequence of numbers, the numerical interpretation of the keystroke sequence should preferably be presented first. The present disambiguating reduced keyboard system thus allows a user to select between other modes of operation by accessing a system menu. In the numeric mode of operation, the first interpretation provided in the selection table is the number corresponding to the keystroke sequence. Each mode of operation changes the ordering of the selection list displayed to the user. Alternatively, by pressing the number key, an explicit number mode may be entered in which a single number is unambiguously uniquely specified for each keystroke on the data key 56. As shown in FIG. 1C, the system changes the appearance of the various data keys 56 and Shift keys of the touch screen keyboard 54 of FIG. 1A to reflect the different key interpretations in this manner. In this explicit number mode, each keystroke causes the corresponding number to be immediately output to the body area at the insertion point 88. In addition, in the explicit numerical mode, each keystroke on the shift key 62 generates the number "0", so that all ten decimal digits are available simultaneously. In addition, any object in the selection list that is implicitly or explicitly selected at the time of the keystroke will first be output into the body area of the insertion point 88, so long as the system is in a manner similar to this explicit numeric manner in which a keystroke on a numeric key 56 will cause a selection of an unambiguous character for output into the body area.
The present disambiguating reduced keyboard system is managed by disambiguating software 108. FIG. 3 is a flow chart of the main routine of the disambiguation software which generates a selection table to assist the user in disambiguating the sequence of ambiguous keystrokes. At block 150, the system waits to receive a keystroke from the keyboard 54. At decision block 151, a check is made to determine if the received keystroke is a mode selection key. If so, at block 172, the system sets a flag indicating the current system mode. At decision block 173, a check is made to determine if the system mode has changed. If so, the top surface of the key is redrawn at block 171 to reflect the current system approach as desired. If block 151 determines that the keystroke is not a mode selection key, then a check is made at decision block 152 to determine whether the keystroke on the Select key is accepted. If not, a check is made at decision block 153 to determine if the system is in a particular explicit character mode, such as an explicit numeric mode. If so, a check is made at decision block 166 to determine if any provisionally selected entries are present in the selection table. If so, the entry is accepted at block 167 and output as normal text. Next, at block 168, an explicit character corresponding to the keystroke is output to the body region. A check is then made at decision block 169 to determine whether the system mode is to be changed automatically, such as in the symbol mode case. If so, execution proceeds to block 170 and the system mode returns to the previously active mode, otherwise execution returns to block 150.
If the explicit character mode is not active in block 153, the keystroke is added to the stored keystroke sequence in block 154. At block 156, an object corresponding to the sequence of keystrokes is identified from a vocabulary module of the system. The vocabulary module is a library of objects associated with the keystroke sequences. An object is a piece of stored data that is retrieved according to the accepted keystroke sequence. For example, objects within a set of vocabulary modules include numbers, letters, words, stems, phrases, or system functions and macros. Each object is briefly illustrated in the following table:
object Corresponding data
Number of A number, each number corresponding to a single keystroke, e.g., the double number sequence "42".
Letters One letter or letter sequence corresponds to a pair of keystrokes, for example the three letter sequence "str". Using each pair of keystrokes to cancel with a double-click interpretation method
Ambiguity of each input letter.
Word The word corresponds to a single or multiple keystroke, e.g., the four letter word "done".
Word stem A sequence of letters representing the significant part of a longer sequence of letters constituting a word, for example, "albe" is the stem of the word "albeit".
Phrase User-defined or system-defined phrases corresponding To a single keystroke or multiple keystrokes, such as "To while it May Concern: "
System macroinstruction Specifying system or user-defined words and associated codes, e.g.) "<clear>In addition to descriptors, system macro objects are associated with executable code needed to perform specified functions in the vocabulary module.
While preferred vocabulary objects are discussed above, it will be appreciated that other objects are also contemplated. For example, a graphical object may be associated with a stored graphical image, or a speech object may be associated with a stored voice segment. Spelling objects are also contemplated that connect common misspelled words as well as typographically incorrect keystroke sequences and the correct spelling of a word. For example, words comprising the sequence of letters "ie" or "ei" may appear in the word list, even if the keystrokes of these letters are occasionally subverted for the correct order. To simplify processing, each vocabulary module preferably contains similar objects. It will of course be appreciated that various objects may be mixed in a vocabulary module.
Fig. 9A depicts a representative diagram of the word object vocabulary module 110. The tree data structure is used to organize the objects in the vocabulary module according to the corresponding keystroke sequences. As shown in FIG. 9A, each node in the vocabulary module tree represents a particular keystroke sequence. Nodes in the tree are connected by paths P1, P2,. P9. Since there are nine ambiguous data keys in the preferred embodiment of the present disambiguation system, each parent node in the vocabulary module tree may be connected to nine child nodes. Nodes connected by paths represent valid keystroke sequences, while the absence of a path from a node represents an invalid keystroke sequence, i.e., it does not correspond to any stored word.
Traversing through the vocabulary module tree according to the received keystroke sequence. For example, pressing the first data key from the start box moves to N1 via path P1. Pressing the ninth data key after pressing the first data key moves along path P9 to node N9. As will be described in more detail below, each node and some objects corresponding to the keystroke sequence. As each node is reached, a table of objects corresponding to the keystroke sequence is generated. The main program of the present disambiguation system uses the object tables from the various vocabulary modules to generate the selection table 76.
Fig. 9B is a block diagram of a preferred data structure 400 associated with each node. The data structure contains information linking parent nodes to child nodes in the vocabulary module tree. The data structure also contains information identifying the object associated with the particular keystroke sequence represented by the node
The first field in the node data structure 400 is a pointer bit field 402 that indicates the number and identity of child nodes connected to the parent node. Because there are several data keys, only nine child nodes can be connected to any parent node. In the preferred embodiment, nine pointer bits are thus set in the pointer bit field to indicate whether or not there are children. Each pointer bit is associated with a pointer field 404a, 404 b.. 404n that contains a pointer to the respective child node data structure in the vocabulary module. Since a child node exists only if the keystroke associated with that child node is a valid continuation of the keystroke sequence associated with the parent node, the number of pointer fields for each node is different. For example, pointer bit field 402 may indicate that only six of the nine possible keystrokes result in a valid child node. Since there are only six valid paths, only six pointer fields 404a, 404b,. 404f are included in the data structure of the parent node. Pointer bit field 402 is used to determine the identity of a pointer field contained within a node data structure. If a keystroke does not result in a valid child node, the associated pointer field may be omitted from the node data structure to save the memory space required to store the vocabulary module.
Associated with each node are objects that correspond to the sequence of keystrokes that the node represents. For each node, a number of objects field 406 is set to indicate the number of objects (NUMOBJ) associated with the node. Since each node is associated with one and only one keystroke sequence, the number of objects associated with any given node is fixed. Each of which is associated by an object package 408 contained in the node data structure. The number of object fields 406 specifies the number of object packets 408 present in the node data structure.
Each object package 408 illustrates an object corresponding to the sequence of keystrokes represented by each node. Indicating that one object needs to maintain two object tables. FIG. 9C depicts a representative object table established for a parent node and a child node of the vocabulary module tree. The object table 430 is an object table that contains objects OL (1) -OL (2) associated with a node representing a secondary keystroke. Object table 440 is an object table that contains objects NOL (1) -NOL (2) associated with a node representing three keystrokes. Each object table contains a list of all objects associated with each node. Object table 430 is associated with a parent node representing the keystroke sequence ADF OLX from the optimized keyboard of fig. 1B. The object table is associated with a child node representing a sequence of keystrokes ADF OLX EWV. Although a maximum of eight entries are described as storage capacity in each object table, it should be understood that the size of the object table may be varied to account for the maximum number of objects associated with each node.
Objects related to child nodes are constructed by adding a certain character sequence to the object constructed for the parent node. Object package 408 thus contains a previous object identifier field 410 to identify an object in the parent object table that was used to construct the child object. For example, referring to FIG. 9C, the third object "fo" in the old object table 430 is used to construct the first object "foe" in the new object table 440. The previous object identifier field 410 thus provides a link to an entry in the old object table for determining the old object used to construct the new object.
The object package 408 contains a dibit symbol field 412 that indicates the symbol to be added to the determined object in order to construct a new object. In the preferred embodiment, each ambiguous key contains up to three letters. So that the symbol field bit set at each node specifies the letter on the last key in the sequence of keys used to parse the object at that node. The letters are specified using the following binary code: "00" corresponds to the first letter on the key, "01" corresponds to the second letter on the key, and "10" corresponds to the third letter on the key. For example, referring to FIG. 9C, the first object "FOE" in the new object table 440 is constructed by utilizing the third object "FO" in the old object table 430 and adding a keystroke representing E. In the optimized keyboard layout of FIG. 1B, "E" is the first letter on the EWV key, so the symbol field corresponding to the object "FOE" is set to "00" to indicate the first letter on the key. Encoding objects in this manner takes advantage of the known key sequence associated with each node and of the known association of letters and keys, thereby greatly reducing the amount of storage space required for each vocabulary module.
The lexical encoding technique also allows access to lexical module entries without having to search. When a keystroke is received, the system follows a single pointer to the appropriate child node and then builds a new object table. In addition, instead of having to store each object in the vocabulary module, new objects are defined by adding dibit code to the old interpretation. However, the disclosed storage method requires maintaining object tables from parent nodes in the vocabulary module tree in order to construct object tables for child nodes.
The symbol field 412 may also be set to a value of "11". When set to "11," the symbol field indicates that an ASCII sequence field 414 exists written after the symbol field. The ASCII sequence field is used to store the string attached to the determined object. For example, the ASCII sequence field might store the string "rward" to be added to the third object "fo" from the old object table to form the word "forward". In this manner, the length of the entered keystroke sequence need not directly correspond to the length of the associated object. The ASCII sequence field allows the definition of a vocabulary object by an arbitrary key sequence, i.e., a key sequence stored anywhere within the vocabulary module tree.
The ability to store objects with arbitrary keystroke sequences is used to speed up the processing of abbreviations and compressions by the system. Abbreviations and compressions may be determined by the keystroke sequences corresponding to their pure alphabetic content, independent of punctuation. This results in abbreviations and compressions being conveniently accessible by the user without having to enter punctuation, thereby greatly reducing the number of keystrokes. For example, the user may not have to type an apostrophe between "n" and "t" to enter the keystroke sequence for "didn't". The word in the vocabulary module corresponding to the keystroke sequence "didnt" contains an ASCII sequence field with an apostrophe between "n" and "t". The present disambiguating system will thus automatically display the correct word "didn't" to the user, without requiring the user to enter a label symbol. The present disambiguating system utilizes this same technique to properly display foreign words with unique characters (e.g., "U", which may be entered as "U"). Capitalization can be handled in the same manner. Words requiring all capital letters, words with the first letter in upper case, and words with capital letters in the middle can be associated with a keystroke sequence in which keystrokes indicating upper case are omitted, freeing the user from entering these upper cases. An object type field may also be included in each object packet 408 to specify other information about the object being constructed. The object type field may contain a code that specifies whether the generated object is a word, stem, or any other object. The object type field thus allows for the mixing of different types of objects within a given vocabulary module. In addition, the object type field may also include information about the phonetic part of the word, information about the capitalization aspects of the object, or information needed to construct various word shape changes and endings. A reduced keyboard system employing the present disambiguation using vocabulary modules having portions of speech information may utilize additional information to implement a grammar analysis to improve the disambiguation process. The object type field may also contain a unique code to allow the text to be transmitted in a compressed form. The unique code may be transmitted to the remote terminal in lieu of transmitting the entered keystroke sequence or associated ambiguous characters.
One key feature of the preferred vocabulary module tree data structure is the storage of each node-associated object into the node data structure 400 according to their frequency of use. That is, the first object packet 408 has a higher frequency of use than the second object packet in the node data structure, and the second object packet has a higher frequency of use than the third object packet. In this manner, objects are automatically placed into the object table so that they are sorted by decreasing frequency of use. For the purposes of this description, word usage frequency refers to the probability of use of a given word in some representative corpus of usage, which is proportional to the number of occurrences of each word in the corpus. In the case of a stem, the frequency of use is determined by adding the frequencies of use of all words sharing the stem.
Storing frequency of use or other ranking information at each node avoids having to decide and rank each object when using the present system. This has important implications in word vocabularies, as the stored words may contain common stems in common with a very large number of longer words. Dynamically determining the relative rank of these stems requires traversing the entire child node tree and accumulating information about each stem, which is a difficult task to compute quickly with a small computer. Determining this information in advance and storing it in the lexical data reduces processing overhead. Furthermore, when the frequency or rank of use is implicitly indicated by the ranking of the objects 408 at the node, there is no need to add storage space to the information.
Although it is preferred to store the objects in order of frequency of use within the node data structure 400, it will be appreciated that the frequency of use field may be associated with each object package. The frequency of use field should contain a representation number corresponding to the frequency of use of the associated object. The frequency of use between different objects will be determined by comparing the frequency of use for each object. The benefit of using the latter structure for associating the frequency of use field with each object package is that the frequency of use field can be changed by the present disambiguating system. For example, the system may change the frequency of use field to reflect the frequency of use of objects by certain users within the vocabulary module during entry of typical text.
Returning to FIG. 3, those objects in the vocabulary modules corresponding to the received keystroke sequence are determined at block 156. FIG. 10 is a flow diagram of a subroutine 500 for analyzing a received keystroke sequence to determine the corresponding objects in a particular vocabulary module. Subroutine 500 constructs an object table for the nodes representing a particular keystroke sequence. As previously described, the present disambiguating system begins by copying the old object table in order to construct the new object table. At block 502, the object table from the previous node is thus stored so that it can be used to construct a new object table.
In the main routine shown in figure 3, the system detects a keystroke at block 150. Receiving a new keystroke causes a move down in the vocabulary module tree, provided there is a valid path to a child corresponding to the keystroke. In block 504 of FIG. 10, the pointer bit field of the parent node data structure is checked to determine if a pointer corresponds to the received keystroke. At decision block 506, the pointer bit field is checked to determine if there is a pointer field 404a, 404b,. 404n corresponding to the entered keystroke. If there is no pointer field corresponding to the keystroke, the old object table is copied to the new object table at block 508. At block 510, the object table is returned to the main program to generate a selection table. Because the received keystroke is part of a sequence of invalid keystrokes which do not correspond to any object within the vocabulary module, this keystroke is ignored and the current object table is returned to the main program as the object table from the vocabulary module. The branch of subroutine 500, including blocks 508 and 510, thus ignores any invalid keystroke sequences and returns the object table generated at the parent node for possible inclusion in the selection table generated by the present disambiguating system.
If at decision block 506 there is a pointer corresponding to the received keystroke, the routine continues to block 512 where it is followed to the child node representing the keystroke. When determining a child node, a new object table must be constructed that corresponds to the node. Once the child node is determined, the number of objects associated with the node is determined from the number of object fields 406 in the child node data structure, at block 514.
After determining the number of objects to be generated at the child node, the routine enters a loop consisting of blocks 516 through 526 to reconstruct the object table associated with the child node. At block 516, a counter is initialized to 1. At block 518, it is checked whether the counter exceeds the number of objects associated with the node. If the counter does not exceed the number of objects associated with the node, the previous object identifier field 410 is determined and the corresponding object is loaded from the old object table at block 520. At block 522, the symbol field 412 is determined and the appropriate symbol associated with the received keystroke is attached to the end of the determined object. It will be appreciated that additional ASCII sequences may also be attached to the determined object at block 522 if the symbol field indicates the presence of an ASCII sequence field 414 in the node data structure. At block 524, the combined object and symbol are stored as a new object in a new object table. After the new object is stored in the object table, the counter is incremented by 1 at block 526. The routine then loops to decision block 518 to determine whether all objects associated with the node have been constructed.
If the check at block 518 indicates that all objects have been constructed for the node, the routine continues to block 528, where a new object table is returned to the main program to generate the selection table. It will be appreciated that the subroutine 500 for generating the object table associated with each node is performed for each keystroke received from the user. The user does not have to perform a "search" of the vocabulary module when entering a new sequence of keystrokes because each keystroke simply advances the subroutine one more level in the vocabulary module tree. Since a search for each keystroke is not necessary, the vocabulary module returns the table of objects associated with each node in a minimum amount of time.
It will be appreciated that the relationship between the object of the vocabulary module and the sequence of keystrokes is the implementation details of the vocabulary module. If a particular node is associated with only a limited number of objects (i.e., less than a predetermined number), more nodes may be used to identify objects having a certain keystroke sequence starting with the input keystroke sequence. The determination of the object is made by traversing the vocabulary module tree down the active path until the object is determined. The object is then placed in the selection table before all keystrokes corresponding to the object are entered. These objects also include objects that are directly related to the entered keystroke sequence. Displaying the object associated with the longer keystroke sequence in the selection table (hereinafter referred to as the "look ahead" feature) allows the user to select the object at will immediately, without having to fully type the remaining keystrokes that specify the object. The look ahead feature is enabled when the number of objects determined from the vocabulary module cannot fill the selection list area 70 on the display.
Returning to FIG. 3, at blocks 158-162, objects found by looking up the keystroke sequence in the vocabulary module are prioritized and displayed to the user in the selection table 76. To determine the order in which objects are displayed in the selection list, priorities are established between the vocabulary modules and also between objects returned from each vocabulary module.
To prioritize the list of objects determined from the different vocabulary modules, the manner in which the present disambiguating reduced keyboard system operates is determined at block 158. As discussed above, the word interpretation is first displayed in the selection list in the normal operating mode. So that the object tables from the vocabulary modules of the word are assigned a higher priority than the object tables from the other vocabulary modules. Conversely, if the present disambiguation system is in a numeric mode of operation, the numeric interpretation is assigned a higher priority than the other vocabulary modules. The manner of operation of the present disambiguation system thus determines the priority between the vocabulary module object tables. It will be appreciated that in some ways, the object table from the vocabulary module may be omitted entirely from the selection table.
The object table generated by the vocabulary module may contain only a single entry or may contain multiple entries. At block 160, if the object table has multiple entries, the priority between objects from the same vocabulary module is resolved. The objects that a given vocabulary module finds matching a particular keystroke sequence are also given a priority that determines the relative presentation (relationship) between them. As previously mentioned, the default presentation order is preferably a decreasing frequency of use in a representative corpus of uses. Whereby the priority associated with each object is used to order the objects in the selection table. Since the selection list area 70 is limited in the number of entries that can be displayed, objects below a predetermined minimum frequency of use may be skipped in the initial display of the selection list. These skipped objects may later be added to the selection list when the user scrolls beyond the displayed list. The selection list is automatically scrolled so that the currently selected object is always visible. The user may also manually scroll through additional objects that are visible using a dedicated scroll button, in which case the currently selected object may scroll out of view. Alternatively, all objects in the selection list may be displayed in a "drop down" list at the same time upon user request.
By accessing the appropriate system menu, many of the features associated with presenting objects found from the vocabulary modules are user programmable. For example, the user may specify an order in which individual objects or classes of objects in the table region are selected. The user may also set a priority level to determine priority between vocabulary modules and between objects determined from the respective vocabulary modules. In this way, the number of items presented to the user in the selection table region can be kept to a minimum. By repeatedly pressing the Select key, more entries in the selection table area can always be scrolled for viewing.
After the priorities between the objects are resolved, a selection list is constructed from the determined objects and presented to the user at block 162. As the user enters the default interpretation of the ambiguous keystroke sequence, the first entry in the selection table is temporarily published and highlighted at the insertion point 88 in the text field 66. The disambiguation software then returns to block 150 to wait for the next keystroke.
If the detected keystroke is a Select key, the yes branch is taken from decision block 152 to decision block 163 where a check is made as to whether the current selection list is empty. If so, a distinct space is generated at block 165 and immediately output to the text area, after which execution returns to block 150. If the selection table is not empty at decision block 163, the no branch is taken to block 174. At block 174, a space is added to the end of each text entry in the selection table and the solid box near the first entry of the selection table (and temporarily published at the insertion point) is changed to a dashed box. Next, at block 175, the system waits to detect the next keystroke entered by the user. At decision block 176, a check is made to determine if the next keystroke is a Select key. If the next key is the Select key, a dashed box is placed adjacent to the next entry in the selection table at box 178, and the entry is temporarily displayed with a dashed box around it at the insertion point. The program then returns to block 174 to detect the next keystroke entered by the user. It will be appreciated that the loop formed by blocks 175- "178 allows the user to Select less frequently used interpretations of the entered ambiguous keystroke sequence by pressing the Select key multiple times.
If the next key stroke is not the Select key, the program extends from decision block 176 to block 180 where the temporarily displayed entry is selected as the conventional text that is interpreted by the keystroke sequence and converted to a format in the text field. At block 184, the old keystroke sequence is cleared from the system memory area because the receipt of an ambiguous keystroke following the Select key indicates that the system is beginning a new ambiguous sequence. The newly received keystroke is thus used to begin a new keystroke sequence at block 154. Because the word interpretation with the highest frequency of use is taken as the default choice, the main routine of the disambiguation software allows the user to enter text continuously with minimal additional presses of the Select key.
Advanced system characterization
1. Visual and audio feedback
Various types of visual and audio feedback are utilized in FIG. 1A to provide information to a user regarding the reduced keyboard system for disambiguation. The entries in the selection table 76 may be presented in different colors depending on the interpretation of the keystroke sequence. For example, words are interpreted as one color, disambiguating is interpreted as another color, and numbers are interpreted as a third color. So that the user can easily scan the selection list for the desired interpretation.
When the system is implemented on a touch screen, the conventional screen keypad display may be replaced with grid lines corresponding to the positions of the keys at the user's option. This form may be superimposed over other displayed information, such as the text area 53 of fig. 1A. This is advantageous in systems with very limited screen sizes, since the user will in most cases remember the letters assigned to the individual keys quickly, without the need to display the actual key surface. The grid-like pattern can be drawn with thin lines, which clearly indicate the positions of the keys and do not significantly obscure the information displayed below.
The audible tone indicates the status of the selection table 76 and provides feedback regarding the keystrokes to convey system information independent of the visual feedback provided in the selection table. The different tones indicate when the selection list is empty, when it contains a single unique word, and when it contains multiple ambiguous words. Another tone indicates when the second or third entry in the selection list has a frequency of use greater than a preset threshold, or when the difference in frequency between the first word and the second word is below a selected threshold. Such tones are generated as soon as possible after pressing the Select key. In the case where the user has begun to type the next word, a dedicated key combination (e.g., Shift-Select) is designated so that the user can "re-Select" the previous key sequence, with each press of the designated key combination re-interpreting the previous key sequence as if additional presses of the Select key occurred before the beginning of typing the next word. This allows the user to select the correct word for the previous key sequence without having to delete or re-type the word that has already begun to be typed. Another tone distinguishes the type of entry being selected in the selection list when the Select key is pressed. Thus, various tones are used to distinguish words, numbers, proper nouns, phrases, system macros, etc. Each key may also be assigned a different tone to allow for the identification of keystroke errors. Finally, when the user presses a key that does not get a word as described above, a unique tone is heard.
The present invention also provides visual feedback to the user regarding the multi-tap interpretation of the keystroke sequence being entered. This is achieved by highlighting or otherwise visually indicating the symbol on the key if the various tap inputs interpreting the key sequence as disambiguating should select that symbol. Thus, when a key is pressed one, two or three times in succession (where the time interval for successive keys is shorter than the minimum timeout delay period), the first, second and third symbols represented by the key are indicated in turn. After exceeding the minimum timeout delay period or receiving a keystroke on a different key, the symbol of the current indication is received as the next symbol for the various interpretation of the keystrokes of the current keystroke sequence and the visual indication of the symbol is cancelled from the key.
2. Punctuation, enlarged writing, spacing and manipulation
The present disambiguating reduced keyboard system 54 allows punctuation to be entered using several techniques when entering text. All punctuation marks and signs that are less used are included in them are accessible from the system menu displayed in "symbology". In the example page shown in FIG. 1D, the menu consists of a set of punctuation character pages, each page containing nine characters, each of which is associated with one of the data keys 56.
A dedicated key (Symbols key) or keystroke combination is defined that sets the system to "symbol mode". This approach is particularly effective in touch screen based implementations, but may also be used in systems that employ physical keypads. When a physical keypad is used, upon depression of the Symbols key or keystroke combination, a three by three menu grid appears on the screen containing the nine most commonly used punctuation characters. Each position in the menu grid maps a corresponding data key 56. In a touch screen implementation, the top surface of each data key is simply redrawn to display the corresponding punctuation character. Repeated presses of one of the Symbols key or the Select key progress to a menu of progressively less commonly used punctuation characters, nine punctuation characters at a time. The system exits the Symbols mode (the mode in which the system returned to the previous active) through the last page of Symbols and the punctuation menu disappears. Each punctuation character appears at a position on the menu screen corresponding to the position of the data key to which the punctuation character is mapped.
When typing directly a word that requires typing a character with a special pronunciation symbol (vowel, etc.), the base character (e.g. 'n') is typed first, followed by typing a special key ("Diacritics" key) or key combination. A three by three menu is then displayed with all possible variations of the base character. FIG. 1E shows one example of a Diacritics page for the base character 'a'. Various different forms of any character (e.g., refraining from perusing, vowels, etc.) always appear at the same position of the three-by-three matrix for each base character, so that various variations can be applied to the base character. Thus, for example, the vowel form of any character always appears at the upper right position of the three-by-three matrix. Selecting a location at which the desired form of the base character with the appropriate distinguishing symbol is displayed results in the replacement of the previously generated base character already presented in the direct-entry object with the form with the desired distinguishing symbol. Many commonly used words contain distinguishing symbols or punctuation marks such as hyphens or apostrophes. As discussed in the previously explained vocabulary module, when a word that includes punctuation and diacritics already in the dictionary is typed, the key location corresponding to the punctuation or diacritic (e.g., the upper right data key for vowel variation) may be included or omitted when actually typing the key sequence used to generate the word. Various techniques for entering punctuation can be initiated simultaneously during system operation.
Selecting a character from the Symbols produces an unambiguous and unambiguous character. Generating such a character has the effect of implicitly accepting the currently temporarily received text for output to the insertion point. Thus, even if the Select key is not pressed, the first word of the selection list is implicitly accepted and output without an additional space. This allows the user to conveniently generate a word and immediately follow the word with a character such as a comma, period or hyphen. This may occasionally occur when the user wishes to use the second or later word in the selection list without a subsequent space. Another, perhaps less frequent, situation is where a user wishes to concatenate two different words to form a new word. Four alternative strategies are available to address these situations.
A first alternative is to provide two separate and distinct unambiguous keys, one of which is labeled the "Select Only" key. The function of the Select Only key in this embodiment is to Select an alternative word from the selection list and not to cause a space to be attached to any word selected in this way. The first separate and distinct unambiguous key may be marked as the "Space" key at the user's choice, which serves to generate an immediately following distinct unambiguous Space character at the insertion point 88. Alternatively, the second unambiguous key may be labeled as the "Select" key, which functions exactly as the Select key described above. This approach is advantageous for languages such as german, where a large number of words are generated by simply concatenating other existing words. The "Select Only" key simplifies the handling of any word in the list of concatenated selections, especially in implementations that do not employ a touch screen, which do not support the ability to Select words directly on the screen.
A second option is to allow the use of "automatic" punctuation, where certain punctuation marks (e.g., comma, period, exclamation point, question mark, hyphen, apostrophe, colon, semicolon, right bracket, and percentile) automatically delete the preceding space. For some punctuation (e.g., hyphens), there may be a need for the user to keep a space and to generate an additional space that will be deleted by the "automatic" punctuation. Other punctuation (e.g., quotation marks) track the current context with a flag indicating whether the currently generated quotation mark is the first or second of a quotation mark pair, because it is necessary to distinguish between quotation marks (which do not delete preceding spaces) and closed quotation marks (which delete preceding spaces). In some languages, various proprietary forms of "automatic" punctuation are included in entries in the vocabulary modules of standard words. For example, in french, many words such as "me", "le", "de", etc. change their last letter to an apostrophe, and no space follows when a following word is headed with a vowel. These forms (m ', l ', d ', etc.) contain in the vocabulary module of standard words a double keystroke sequence which in each case corresponds to the first letter of a word followed by a keystroke on the data key corresponding to the apostrophe position in the symbol mode. Thus, even if the words are selected according to the pressing of the Select key, they are output to the text area without spaces.
The third alternative selects a particular modification (e.g., Shift) that can be combined with a successive Select key (or a sequence of selections) so that the Select key in this case does not generate a following space. This transformation should occur before one or more hits occur and should be applied to the word selected last regardless of that (including words back selected with the BackSpace key after more than one use of the Select key). This mode is cleared when the first following Select key is deleted, or when the next word or definite character is started. Alternatively, the system may be configured to Select in a hit modification mode and only modify the Select key that follows.
A fourth option allows the user to configure the system in such a way as to modify the mode of operation of the BackSpace when the Select key is deleted. The alternative mode of operation is constructed in a compatible and simple model: the first keystroke on the Select key in any uninterrupted sequence of Select keys attaches a space to the current word and changes the word to the temporary receipt state (if the word is not already in that state). Each subsequent keystroke on the Select key proceeds along the selection list with each selected word having an attached space. The first BackSpace keystroke after one or more Select keystrokes deletes the space attached to the currently selected word, but does not change the currently selected word, successive BackSpace keystrokes move back along the selection table, with each selected word having no attached space, but still in a temporary acceptance state. When the last Select is deleted (i.e., the selection focus returns to the first word in the list), the first word in the selection list leaves the temporary acceptance state (the state before the first hit on the Select key, i.e., the state that it most likely matches the current key sequence), so typing the character again results in the generation of a longer word, rather than a new word. The only work not provided by this strategy is to concatenate the word to the first word in the selection list. This may be provided by an alternative mode of operation that introduces another state at the end of the BackSpace sequence where the first word is temporarily received and no space is attached. This method requires an additional BackSpace keystroke to "cancel" the Select key sequence.
When the first letter of a word is capitalized, the words in the selection table are optionally arranged to list proper nouns first in the interpretation table. Words are sorted according to frequency of use and the most common proper nouns are listed first. The frequency of occurrence of proper nouns can be pre-stored in a vocabulary module by programming through a system menu, or calculated adaptively as the user continues to use the system as discussed later. When an uppercase word is the first word in a sentence, it is prohibited to display a proper noun first in the selection table, or to warn with sound.
When the selection table is empty (e.g., when the user touches the touch screen to simply reposition the text cursor to not Select a word into the selection table), pressing the Select key generates an unambiguous and unambiguous space character at the insertion point.
3. Editing
The present disambiguating reduced keyboard system 50 may enter the editing mode by a dedicated key (Edit key) or a combination of keystrokes. When entering the editing mode, the key surfaces of the keypads on the panels are redrawn under the touch screen implementation to indicate their remapping function. Fig. 4A depicts the touchscreen system based display 53 in an editing mode. Fig. 4B depicts a system employing a mechanical keypad in which a key map 800 indicating the function of the retransfer data key is displayed to the user in text area 66. Each box in the key map indicates an edit command that will be generated if the corresponding data key is pressed.
Editing is done on a word-by-word basis. Once in the editing mode, the user selects a word to be edited by moving cursor 802 to increase the brightness of the word or by touching the desired word. The user selects a word to be edited by using the data keys corresponding to the cursor movement arrows to move the word and the text displayed in the text area one line at a time. Selecting a word in the text field re-establishes a selection list identical to the selection list presented to the user when adding the word to be edited to the text field 66. To re-establish the original selection table, a most efficient key sequence that will generate the given word is reconstructed from the word itself. The sequence of keystrokes is then interpreted by a vocabulary module to recreate the environment from which the original word was selected (i.e., the contents of the selection table).
Once a word is selected and the selection list is displayed, the user has several different ways of editing the word. One option allows the user to Select a different word from the displayed selection list by pressing the Select key appropriately. Pressing Select key multiple times moves down the selection list in the same manner as the word to be edited was initially selected. Pressing the BackSpace key moves back along the interpretation table. When the user leaves the edit mode, boxed words in the selection list are automatically added to the text field. After any word is selected in the edit mode, the additional text that is typed is inserted behind the word at the edit point in the text area.
Editing of a particular word is accomplished by selecting the appropriate word from the selection list. After editing a word, the user can move the arrow keys along the text string displayed in the text area by using each cursor, and select different words for editing. When the text editing is completed, the user exits the editing mode using the "exit" key.
As an option for the user, one mode of operation may enable the operation of modifying the BackSpace key when a character is deleted from the displayed text. When this special deletion mode is initiated, and the user deletes the space or punctuation mark immediately to the right of the previous word, the system automatically reconstructs the selection list in the same state as when the previous word was originally generated. The Select key may then be pressed to again traverse the selection table to replace the previously generated word with another entry in the selection table. Similarly, the BackSpace key may be used to move back along the table to select the previous entry. Once the user returns to the first entry of the selection table, repeated presses of the BackSpace key begin deleting keystrokes from the end of the word. Similarly, the alphanumeric key may be pressed at this point to add keystrokes to the entry to create a longer word.
At the user's option, a special "disambiguation" editing mode of operation may be selected in which all words in the output text field are examined to determine whether one or more of the following criteria apply to the output word for each word as it is typed: (1) the word appears as the first entry in the selection table; (2) selecting the next most frequently occurring word appearing in the list to have a frequency of appearance that exceeds a selected threshold; (3) the next most frequently occurring word appearing in the selection table has a frequency of occurrence that differs from the frequency of occurrence of the output word by less than a selected threshold. The user can select in the configuration menu which criteria must be met and what threshold values should be set. When entering the "disambiguation" editing mode of operation, all words in the output text field that meet the currently selected criteria are redisplayed in a particular manner, such as enhanced brightness or a particular color text. The user may then contact any such specially formatted word to replace the word with the next most frequently occurring word that appears in the selection list when the word is output. A special function key may also be provided to automatically advance to the next occurrence of a particular format word.
4. Short-cut path
The present disambiguating reduced keyboard system 50 provides several shortcuts to speed up text entry into the system. A shortcut delimits the input of an unambiguous symbol or an unambiguous function from the current ambiguity sequence (if one exists) and automatically selects and accepts the first entry in the selection table 76. For example, a user entering an ambiguous sequence ABC MNO then enters an explicit apostrophe (') (e.g., from the Symbols approach) causes the system to automatically select and publish the word "can" in the text area because "can" is the first (i.e., most likely) interpretation of the key sequence ABC MNO. When the keystroke sequence is automatically interpreted in this manner, no space is generated following the selected interpretation. So that the user can continue to enter words by adding more characters. This shortcut is often employed when punctuation is used in the keystroke sequence.
In addition to operating in various modes of operation in which the selection table 76 is ordered to present the first entry in the table to be interpreted as a particular keystroke, the present disambiguating reduced keyboard system 50 may enter (via a system menu, a specially defined key, or a keystroke combination) a number of specialized manners in which each key has only one interpretation and no entry is displayed in the selection table. For example, in the dedicated number mode, each keystroke corresponds to the entry of a number. In the dedicated cursor movement mode, the outer circumference of each data key corresponds to the direction of movement of the cursor, thereby allowing the user to manipulate the cursor in the application. Those skilled in the art will appreciate that other specialized modes of operation are also envisioned, such as mouse emulation or button phone emulation. When operating in a dedicated manner, text or commands are directly implemented, since there is no ambiguity in the entered keystrokes.
5. User vocabulary and adaptive usage frequency
There is one user vocabulary module among the vocabulary modules 110 included in the disambiguating reduced keyboard system 50. The disambiguation system automatically stores words entered using an unambiguous spelling method in a temporary vocabulary module. When the user enters a sequence of shortened individual (ambiguous) keys for these words, the words stored in the temporary vocabulary module will be automatically displayed in the selection list. When the user finishes editing the text currently being generated (e.g., closes a word processing document or receives some text field input), all words in the transient dictionary that are still present in the document are added to the "permanent" user vocabulary module. This prevents simply misspelled words (which are later removed from the document or text field) from being improperly added to the user vocabulary module.
In addition to adding words to the user vocabulary module during regular text entry, words may also be added to the user vocabulary module from a number of other sources. For example, documents may be downloaded to the disambiguation system and analyzed to determine proper nouns or other words not contained in the vocabulary modules of the disambiguation system. After analysis, the newly determined word is added to the temporary vocabulary module. Such words can be typed immediately using conventional typing methods that keystroke one letter at a time. Any such words that were typed by the user during the editing of the document are marked as used in the temporary vocabulary module. When the user finishes editing the document, only those words that are marked as "used" in the transient dictionary and still exist in the document are added to the "permanent" user vocabulary module. This avoids overloading the user vocabulary module with words that are not actually needed by the user.
User vocabulary modules may also be uploaded or downloaded to other disambiguation systems and mass storage media. The user may thus merge their existing user vocabulary with the vocabulary established by another user.
The words identified by the selection list 76 from the standard vocabulary module are always presented to the user, preferably in the same order according to decreasing frequency of use, so that the user can remember the desired keystroke sequence for entering the desired word.
III representative System operation
FIGS. 5A through 5K depict the display 53 of the portable computer 52 during a representative use of the disambiguating reduced keyboard system. After the portable computer is powered on, the text field 66 and the selection table 70 are empty. In FIG. 5A, the user has typed the phrase "Now is the time for the allowed world to come to the" and has then contacted the ABC key near its center. The vocabulary module for words has interpreted the ABC key as the word "a" 502 and placed the interpretation into the selection table 76. The vocabulary module for the stem has interpreted the ABC keys as stems "C" and "B" 503 and placed these interpretations into the selection list. The numeric vocabulary module has interpreted the keystroke as the number "7" 504. The vocabulary module of the system command has matched the keystroke sequence and system command as "< Setup >" 506, and has added the system command to the selection list. With the direct pointing interpretation method, the keystroke has been interpreted by the ambiguous spelling method and the interpretation "b" 507 has been placed in the unambiguous spelling display area 72 of the selection table area 70. The first entry in the selection table has been described by a solid box around it (indicating that it is an object of implicit selection) and the entry is temporarily published in the text area at the insertion point 88 with a solid box drawn around it.
In fig. 5B, the user successively types the GHI key, DEF key, and touches them near the center of the two keys. The word vocabulary module interprets the ABC GHI DEF keystroke sequence as the words "age" 511, "aid" 512, and "bid" 513 and releases the solutions in the selection table 76. The vocabulary module of the stem interprets the keystroke sequence as the stems "che" and "ahe" 514 and places these interpretations into the selection list. The numeric vocabulary module interprets the keystroke sequence as the number "798" 515. The disambiguating spelling method interprets the keystroke sequence using a direct pointing interpretation method and places the interpretation "bhe" 516 in the unambiguous spelling display area 72. The first entry "age" 511 in the selection table draws a solid box around it and has been temporarily published at the insertion point 88 with its surrounding solid box. For simplicity of illustration, system operation will be described in the remaining FIGS. 5C-5K with numbers cut away and system command interpretation.
In fig. 5C the user presses the Select key 60 to unambiguously Select the first entry "age" 521 in the selection table and to attach a space to each entry in the selection table. The box in the selection table and around the word "age" temporarily published at the insertion point 88 becomes a dashed box, no longer solid, to indicate that the interpretation has been explicitly selected and will be received as output text if the user continues to enter text with ambiguous keystrokes.
In fig. 5D, the user presses Select key 60 again to frame the desired word "aid" 531 in the selection list. At the insertion point 88, the word "aid" replaces the previously temporarily published word "age".
In fig. 5E, the user presses the MNO key to begin spelling the next desired word "of". The word "aid" that was temporarily published at the insertion point 88 is accepted for output into the text region and conventionally appears in the text region without special framing or special formatting. The vocabulary module of the stem interprets the MNO keys as stems "n", "o", and "m" 541 and places these interpretations into a selection list. The unambiguous direct pointing interpretation method places the interpretation "n" 542 in the unambiguous spelling display. The first entry of this implicit selection in the selection table draws a solid box around it, both in the selection table and at the insertion point 88 where the word is temporarily published.
In fig. 5F, the user has just pressed the WXY key to complete the key sequence required to type the word "counter" 551, which is the first entry implicitly selected in the selection table, and drawn a solid box around it both in the selection table and at the location where it was temporarily published at the insertion point 88. Touching a key approximately at the center of each key in the sequence, so that the unambiguous direct pointing interpretation method places the interpretation "bnnurx" 552 in the unambiguous spelling display area 72.
In fig. 5G, the user has then pressed the Symbols key 61, thereby placing the system in Symbols mode. The key surface of each data key 56 has been redrawn to display the most common punctuation mark associated with each key. In fig. 5H, the user presses the up center data key 56, which displays a period on the key in symbol mode. Thus, after the previously implicitly selected word "count" accepted for output to the text region, a period '. Annotation' is explicitly selected for immediate output to the insertion point 88 of the text region and conventionally appears there without special framing or format. At this point, the selection table is empty because all ambiguous keystrokes are resolved. Immediately to the right of the following period of the word "country", a standard text editing insertion occurs at the insertion point.
In fig. 5I, the user presses Select key 60. Since the selection table 76 is empty when the Select key 60 is pressed, this results in the explicit generation of a space that is immediately output at the insertion point 88 and appears to the right of the period and to the left of the standard text editing insertion.
Fig. 5J shows the exact same keystroke sequence described in fig. 5A-5I, but without the result of pressing Select key 60 again in fig. 5D. As a result, the word "aid" shown in fig. 5I remains in the text output. In fig. 5J, the user notices that the predetermined word "aid" is not present, and thus taps the word "age" a second time to select the word for editing. Since the word "age" has been explicitly selected, the word appears in both the selection table and the text field in the dashed box. The selection table reverts to the state that appears immediately after the required ambiguous keystroke sequence ABC CHI DEF has been entered for generating the word "aid" to be selected. The unambiguous direct pointing interpretation method envisages that each keystroke occurs in a specific letter region forming the word "age", so that the same word appears in the unambiguous spelling display area 72.
Fig. 5K shows the result of the user tapping the word "aid" appearing in the selection table of fig. 5J. The boxed word "age" in the text output area is immediately replaced by the selected word "aid", which is displayed in the output area as a regular text, without special boxes or without special formatting. At this point, the selection table is empty because all ambiguous keystrokes are resolved. The standard text editing insertion symbol appears at the insertion point 88, immediately to the right of the newly inserted word "aid".
Alternative applications and examples
In some cases it may be advantageous to employ a keypad on which letters are assigned to keys from "a" to "z" in less sequence than on current telephone keypads. In such a case, the letters are not grouped on the keyboard in a manner that minimizes the probability of ambiguity. As a result, the number of ambiguities during use increases. In accordance with the present invention, it is advantageous in these cases to use a method that correctly determines from the context of the input which of one or more ambiguous words might be the desired word. The most likely desired word is then first output to the user in the selection list.
Surprising results have been obtained when various suitable ambiguity-reducing frequencies are applied in such systems. The main reason for the increased ambiguity that arises in such a system is that a small number of relatively common words do not appear as first choices in the selection table because they correspond to words that are identical in other key sequences but appear more often. In many cases, these ambiguous word pairs are not identical in their grammatical uses (e.g., "am" and "an", "me", and "of" for english). Ambiguities in these word pairs can often be resolved by determining the speech portions and other attributes of the preceding and following words of the ambiguous input. The correct word is then placed first in the selection list (when the ambiguity is resolved by the previous context), automatically corrected in the output text, or brought to the user's attention for correction.
The following example illustrates the method employed by the present invention for english using the keyboard layout shown in fig. 1A. The words "me" and "of" are typed with the same sequence of keystrokes, thereby forming an ambiguous pair. In general use, the frequency of occurrence of the word "of" is about eleven times the frequency of occurrence of "me". When using the button keypad layout, "me" is the word that appears least often as the first choice in the selection table. In most cases where the word "me" appears, the word is preceded by a preposition (e.g., "to," "with," "from," etc.), while "of" is rarely preceded by a preposition. Thus, each time a preposition is immediately followed by a key sequence corresponding to "me" and "of", the word "me" may be first placed in the first place, while in other cases the word "of" appears first in the selection list.
Similarly, "am" and "an" correspond to the same key sequence. Most of the word "am" appears before and after the word "I". Thus, the appearance of the word "I" in front of the key sequence for "am" and "an" should result in the "am" being placed first in the selection table, and the subsequent "I" to the key sequence should automatically change the previously generated word "an" to "am". In each case, various rules are applied to resolve ambiguities prior to two specific words known in advance. In the disambiguation system of the invention, the occurrence of ambiguities is greatly reduced for some known "problematic word pairs or groups.
The method of the present invention is limited in reducing ambiguities even when applied to a small number of words that produce the highest frequency of occurrence of ambiguities. The following description describes how the eight most commonly used pairs of ambiguous words can be resolved. Each rule provides a simple set of checks to indicate when a less-appearing word should be selected to appear first in the selection table or when it is applied in place of a more-frequently-appearing word that has been generated in the text:
1. when the previous word is preposition, the selection of me is preceded by "
2. When the previous word is a verb other than "to be" or a verb in emotional state, or when the following word is not a verb, a deputy, a conjunctive word, or a preposition, the "if" is selected prior to "he".
3. When the previous word is a limited component, or when the previous non-blank character is a punctuation mark, or when the previous word is not a transitive verb, a conjunctive word or a preposition, then the "then" is selected prior to selecting the then ".
4. When the following word is a noun or adjective, "then" is selected prior to "there".
5. When the preceding word or the following word is the word "to", go is selected prior to "in".
6. When the preceding word is an article, adjective or preposition, "night" is selected prior to "might".
7. "am" is selected prior to "an" when the preceding word is the word "I", or when the word "I" is followed by one or more adverbs, or when the following word is the word "I".
8. When the Shift key is pressed to capitalize the first letter of the word, "mr" and "ms" are selected prior to "or".
By applying rules to a larger set of words, ambiguity can be reduced even further. The set of conditions applied to distinguish word pairs need only be expanded as required to resolve ambiguities in the set of target word pairs. Since only a limited number of words and a small number of conditions are considered, the method does not require a large amount of memory nor a strong processing power. FIG. 11 is a flow chart of a method of determining what information should be included in a system at a frequency that acceptably increases the processing requirements or storage requirements of the system to reduce ambiguity.
The method begins at block 1102, where the corpus of words in the actual application context is collected. The corpus should be large enough to establish a relative average frequency of occurrence for each word contained in the system vocabulary. At block 1104, a desired list of words for the vocabulary is extracted from the corpus with frequencies of occurrence for the individual words, where the frequencies are numerically represented, such as an average number of occurrences per million words. At block 1106, vocabulary words are assigned to groups Gn, where each group includes a plurality of words spelled by a unique key sequence. So that those words in a given group are ambiguous when spelled on the reduced keyboard. The groups are sorted and ranked in descending order according to the frequency of the second most frequent word in each group. At block 1108, the frequency of all words in all groups except the most common word in each group is calculated as the overall ambiguity for the system. Next, at decision block 1110, the current total ambiguity for the system is compared to a desired maximum. When the ambiguity falls below the desired threshold, the process halts at block 1112. Otherwise, the next highest ranked group Gn is selected at block 1114. The most frequent word W1 with frequency F1 and the second most frequent word W2 with frequency F2 in the context of the search in the corpus of words. The N words before them (where N is 3, for example) and the one after them are determined and recorded for each occurrence of W1 and for each occurrence of W2. For each word W1 and W2 and for each relative position, the occurrence of a particular word is counted. The occurrence of each speech portion is counted for the immediately preceding and immediately following positions.
At block 1118, a clustering analysis is performed on the determined set of words and on the determined speech portions to find the best rule to distinguish between the occurrence of W2 and the occurrence of W1 in the usage corpus. The reliability R of the rule is a score between 0 and 1, which represents the proportion of cases where the correct word is selected when the rule is applied to all of W1 and W2 in the corpus. At decision block 1120, a determination is made whether including the rule would result in a total reduction in total system ambiguity. If not, the process returns to block 1114 to consider the next highest ranked group of words. Otherwise, at block 1122, the process determines whether the information required by the rule has been added to the system. If not, the amount of additional storage needed to add the new information (e.g., the amount of storage needed to add a logo or pointer to each particular word or to label all words of a particular portion of speech) is calculated at block 1124, and if the amount of additional storage needed at decision block 1126 exceeds the previously determined maximum amount allowed, the process returns to block 1114 to consider the next highest ranked group of words.
Otherwise, the required additional information is added to the system (or already exists in the system) and the determined rule is added to the rule set of the system at block 1130 and the W1 and W2 are labeled to apply the rule when the corresponding key sequence is entered. Then, at block 1132, the overall system ambiguity is adjusted to take into account the improvements brought by the rule. Processing also returns to decision block 1110 to determine that the process should be suspended. Additional refinements may be added, such as adding a process that first records all potential rules, including the resulting improvements to the ambiguity and the required information, then analyzes the rule set and ranks the rules according to the amount of improvement that comes at the cost of a given amount of additional storage.
This method can also be utilized when words are always put into the selection list in the same relative order. If the user starts entering the next word without selecting the determined word, the system may generate a signal to make the user aware of the fact that there is a high probability that the desired word is not selected. This may be preferable for users who prefer systems with fixed and predictable performance (i.e., words always appear in the same order in the selection list). In this case, even when the user has started typing the next word, a special key combination (e.g., Control-Select) may be specified so that the user can "re-Select" the previous word, Select the correct word in the ambiguous pair, without having to delete or re-type the word that the user has started typing.
While the preferred embodiments of the invention have been illustrated and described, it will be appreciated that various changes can be made therein without departing from the spirit and scope of the invention. For example, those skilled in the art will appreciate that the keyboard of the present disambiguating reduced keyboard system may have as few as three and as many as twelve data keys. The disambiguation techniques disclosed herein are equally applicable to keyboards of different sizes.
It will also be appreciated that the disambiguating reduced keyboard system of the present invention may be used with other components requiring text entry. For example, the disambiguation system of the present invention is depicted in fig. 6 in combination with a television remote control 600. Such a system may be required for texting on standard television sets, and it may also be used to control interface components like "set-top boxes" that have access to computer resources such as the internet. The television remote control sends a signal indicating keystrokes to a receiving and processing block 602 connected to or contained within the television. Text entry is performed in the manner previously described using the reduced data key set 606 located on the top surface of the remote control. A unambiguous Select key 608 is included on the keyboard for delimiting the entered key sequence and for selecting different interpretations from a selection list on the television screen. It is particularly advantageous to incorporate the keyboard directly into the remote control so that the user does not have to use a separate full-size keyboard when operating the television-based internet access interface.
FIG. 6B depicts a watch employing the disambiguating reduced keyboard system of the present invention. Text entry is performed in the manner previously described using, for example, the reduced data key set 610 located at the outer periphery of the watch face. Alternatively, the watch face may be implemented as a dial that moves laterally in different directions corresponding to the various keys. A disambiguating Select key 612 is included on the watch for delimiting the sequence of keystrokes entered and for selecting the different interpretations to be displayed sequentially at the insertion point of the display screen.
It will also be appreciated that the disambiguating reduced keyboard system of the present invention is a particularly effective text entry technique based on eye movements detected by the eye tracking component. This input system is particularly suitable for people with hand control deficiencies. As the number of visual objects that must be identified increases, the required resolution of the eye tracking system increases accordingly, making such systems less robust and more expensive. By reducing the number of data keys required by the system from 27 or more to as many as 8, the reliability of the system can be greatly increased even when low resolution eye tracking components are employed. One suitable eight-key layout is shown in fig. 7. Seven keys are used to enter letters or numbers and another key serves as a "Select" key. The eight keys are arranged in a circle, each key corresponding to one of eight directions. When arranged within a circle, each key is easily selected by eye-tracking component detected movement of the eye in one of eight compass directions. Prior text input systems based on eye tracking have mostly relied on some method that requires a secondary eye gaze (i.e., a secondary key selection) to generate a letter in text. The disambiguating reduced keyboard system based on the present invention requires only one eye gaze for generating each letter in the text, thereby outperforming prior approaches. An alternative embodiment of a portable disambiguating reduced keyboard system is shown in FIG. 4B. The keyboard is constructed with full-size mechanical keys 54, which are different from the display 53 of the present system. The full size of the mechanical keys allows the user to type faster by typing on the three columns of data keys 56 with three different fingers while utilizing the improved tactile feedback provided by the mechanical keys. The reduced keyboard includes twelve keys 54 arranged in the preferred layout described above.
Structural and operational variations may also be made to the above embodiments. Those skilled in the art will appreciate that alternative arrangements exist for the ambiguous reduced keyboard system. A 3 x 3 array of data keys 56 is preferred because it facilitates manipulation of the arrangement with the three middle fingers of the user. All keystrokes are either keystrokes in some central main row, up or down.
An alternative arrangement of the 3 x 3 data key array 56 may utilize three "rocker" keys 801, an example of which is shown in fig. 8A. Fig. 8B shows a side view of the rocker key 802 with three closed positions: swing up and slightly away from the typist, directly down, swing down and slightly toward the typist. Thus, by placing the user's three middle fingers at the center of the three rocker keys, which is the "main row," each data key can be pressed without having to take the fingers off the keys. These three positions can be depressed individually by extending a finger forward and pressing slightly forward and downward, pressing directly downward, or rolling the finger back slightly and downward. A dimple in the center of each key provides tactile feedback on the finger position. This allows the user to type faster on a small set of data keys, since it is never necessary to physically lift a finger off the key.
Another arrangement of a 3 x 3 data key array is shown in fig. 8C, in which the data keys 56 are formed by several mechanical keys, each of which can be pressed in four different ways. In the example shown in fig. 8C, each key can be tilted in four directions (up, down, left, right) when pressed. This allows each key to unambiguously specify one of up to four different characters or functions associated with the key, while still reporting the pressing of an ambiguous keystroke. For example, in FIG. 8C, eight of the several data keys 56 are unambiguously associated with three letters and one number each, while the lower right key is unambiguously associated with two letters, one number and one punctuation (period). As shown in fig. 8D, each key is configured to tilt in one of four directions when pressed against one of four key zones 842, resulting in the closing of one of four different switch contacts 843. Each key may be configured to be tiltable in at most eight different directions or at least two different directions to allow the system to distinguish a corresponding number of unambiguous states.
In another embodiment of the present invention, the system may employ a touch pad assembly in which each key carries multiple symbols. Each symbol is located at a different position on the key. The user selects the symbol on the touch key by touching the key containing the desired letter or symbol and then indicating the desired letter or symbol by a short dragging motion of the screen plane. All symbols on the keys are associated with the direction of the touch. For example, on a key containing three symbols, the leftmost symbol may be indicated by touching the key and sliding to the left, the rightmost symbol by touching the key and sliding to the right, and the center, perhaps the most frequently used, symbol may be indicated by touching the key and releasing the key without lateral movement. When the pen tip or fingertip is lifted from the touch screen surface, the selected symbol is added to the end of the object that is currently being spelled clearly. The method may be extended to include more than three selectable elements on a key. For example, several different groups of tap "gestures" may be defined as eight different taps in eight compass point directions plus a simple tap as the ninth gesture. This would allow the user to unambiguously select up to nine different characters from a single key or to make a random selection of a function or menu, for example.
Although the above discussion is related to a reduced keyboard system with disambiguation of roman characters and english, it will be appreciated that the system is equally applicable to foreign languages employing different character sets. The foreign language version can be manipulated in the same manner, with the foreign character set optionally grouped on keys of the keyboard to optimize the keyboard and minimize ambiguity in that particular language or among several languages. In the case of japanese, current japanese word processors typically utilize roman characters as a preferred method of entering japanese kana and kanji. The first step in the process is to type in each phonetic syllable for spelling the desired kana, with the desired kana appearing as each syllable is typed. When a Chinese character is desired, after entering a kana corresponding to one or more Chinese characters for writing the desired character, the "convert" key is pressed, thereby displaying on the display one or more possible Chinese character interpretations of the entered kana as a selection object for the entered symbol. The user then selects the desired interpretation by pressing the corresponding number.
A preferred embodiment of a disambiguating reduced keyboard system for generating Japanese hypotheses and Chinese characters operates as follows. The user types in a phonetic spelling corresponding to the kana corresponding to the desired word. The vocabulary module of words includes an entry for each unique phonetic spelling corresponding to one or more words, wherein the frequency of the entry is set to the sum of the frequencies of all words with the phonetic reading. After each ambiguous keystroke, the word vocabulary module displays the pseudonyms of the matching words in descending order of frequency. After typing the ambiguous keystroke sequence corresponding to the desired word, the user presses the Select key to Select the first pseudonym interpretation of the key sequence in the selection list.
The disambiguating reduced keyboard system then outputs the kana reading to a kanji interpretation software program that takes the kana reading as input and returns a list of kanji corresponding to it. Information about the frequency of its most recent use is associated with each Chinese character interpretation. The frequency of use is relative to use in general language and remains fixed. Recent usage is relative to the user of the software package and is adjusted according to the user's particular history of usage of the software. The reduced keyboard system for disambiguation of Japanese then displays the returned Chinese characters on the key surface of the data key set 56.
The system is arranged such that three aspects of the way in which the chinese characters are displayed are determined by the user in the preparation menu. The first aspect is the maximum number of individual kanji readouts displayed on the key surface. When there are more than nine possible chinese character readouts, these readouts are distributed as evenly as possible between the nine keys. When more than 9 times the maximum number of possible kanji fonts are present, the remaining kanji readouts are displayed in the subsequent screen. Pressing the dedicated "Next Screen" key advances the system to these subsequent screens and returns to the first Screen after the last Screen of possible fonts. An audible tone indicates when the system returns to the first screen.
When more than one readout volume is displayed on each data key, the desired readout volume is selected from the key on which it is displayed using the preferred unambiguous spelling method (direct pointing or multiple keystrokes). The second aspect configured by the user is the number of data keys for displaying the kanji reading volume according to the most recently used kanji and the number of data keys for displaying the kanji reading volume according to the frequency of use. For example, three of several keys may be selected for display according to recency, while the remaining six keys are displayed according to frequency. And displaying the most frequently used Chinese character reading bodies in the near future on the first three data keys of each screen of the displayed reading object according to the three keys displayed in the near future in a descending most recently used order. The other six keys display the Chinese character readout in descending order of frequency of use. Furthermore, at the user's selection, the selected kana reading is also only presented as a presence at two positions on the first screen, preferably on the same key and the reading is displayed first. Implicitly or explicitly selected readouts in the selection table also appear at the insertion point. If the readout body is required to be output to the text area without conversion to kanji, the user can select the desired readout body by touching it in the selection table.
It is important to note that since the usage frequency information is not dynamic, for a given input kana reading volume and assigned number of keys (six in this example), the same kanji reading volume always appears on the same key, making the user automated in selecting kanji based on frequency. Since the frequency-based display of the kanji reading volume may also be recently used, the same kanji reading volume may appear in two different screen locations. At the user's option, a selected number of most recently used kanji readouts, displayed according to frequency, are displayed as brightness enhanced readouts or in some other apparent format.
If the first pseudonym interpretation of the key sequence in the selection list is not the desired pseudonym readout, the user presses the Select key again to Select that pseudonym interpretation in the selection list. The disambiguating reduced keyboard system then outputs the next kana reading to the kanji interpretation software program and displays a first screen of a selection list of returned kanji interpretations. This process is repeated with each repeat pressing the Select key until the desired pseudonym readout is selected.
In an alternative embodiment, to save processing, the selected kana reading is not sent to the kanji interpretation software program until a "Next Screen" press is initiated. In this alternative embodiment, if it is desired to output the selected readout volume to the text field without converting to kanji, the user can simply begin typing the Next desired word without pressing the "Next Screen" key.
Once the desired kana reading is selected, the "Next Screen" key is pressed until the desired Chinese character appears on one of the numeric keys. The user then presses the data key (using either a direct pointing determination or a multi-tap determination if more than one Chinese character appears on the key) to select the desired Chinese character. The selected hanzi is then output directly to the text area at the insertion point 88 and the data key set of roman characters assigned to each key in the standard layout is redisplayed. The user then begins typing the next desired word and the process repeats.
Those skilled in the art will also recognize that other vocabulary modules can be implemented in a computer, such as vocabulary modules containing legal terms, medical terms, and foreign language entries. Through the system menu, the user can configure the system so that the additional vocabulary words appear first or last in the list of possible words, in a dedicated color or with enhanced brightness. It is, therefore, to be understood that within the scope of the appended claims, the invention may be practiced otherwise than as specifically described herein.

Claims (22)

1. A system for creating digitally encoded text, comprising:
(a) a user input member (54) having a plurality of inputs (56), each of said plurality of inputs being associated with a plurality of characters, the inputs being operable by a user of the system to produce an input sequence when an input is selected by manipulation of said user input member, the produced input sequence corresponding to said selected input sequence and having ambiguous text interpretations when the user operates said system in an ambiguous input mode, the produced input sequence being ambiguous in that said plurality of characters are associated with each input, the produced input sequence corresponding to said selected input sequence and having ambiguous text interpretations when the user operates said system in an unambiguous input mode;
(b) a memory (104) having a plurality of objects contained therein, each object of said plurality of objects being associated with an input sequence;
(c) a display (53) for depicting system output to a user; and
(d) a processor (100) coupled to said user input element, said memory and said display, said processor processing each generated input sequence when a selection of an input is made as an ambiguous selection of one or more of said plurality of characters associated with said input to identify at least one object associated with the input sequence being processed from said plurality of objects in the memory, said processor processing each generated input sequence when an input selection is made as an unambiguous selection of a particular character associated with said input to identify an unambiguous text interpretation associated with said generated input sequence, and said processor generating an output signal to cause said display to display at least one identified object associated with the generated input sequence, as the generating of the text interpretation of the input sequence and simultaneously displaying the identified unambiguous text interpretation associated with the input sequence.
2. The system of claim 1, wherein the plurality of inputs of the user input component are implemented with a plurality of keys displayed on the touch screen, a plurality of characters associated with each key being displayed within boundaries defining the key, and wherein direct contact of the touch screen where a character is displayed is processed simultaneously to unambiguously select the character and to ambiguously select any one of the plurality of characters associated with the key.
3. The system of claim 1, wherein the plurality of inputs of the user input component are implemented with a plurality of keys displayed on the touch screen, a plurality of characters associated with each key being displayed within boundaries defining the key, and wherein a particular character is unambiguously selected by contacting the recognizable character on which the desired character is displayed and performing a recognizable action indicative of the particular character.
4. The system of claim 3, wherein the recognizable action specifies an alternative form of a character.
5. The system of claim 1, wherein the plurality of inputs of the user input component are made using a plurality of keys displayed on the touch screen, a plurality of characters associated with each key being displayed within boundaries defining the key, and wherein a particular character is unambiguously selected by contacting a displayed key a plurality of times, wherein the number of times the displayed key is contacted corresponds to the location of the desired character on the key.
6. The system of claim 2, 3 or 5, wherein the display of the touched key is visibly altered to show the particular character being unambiguously selected.
7. The system of claim 5, wherein the next specific character is unambiguously selected from the contacted key after a time interval exceeding a predetermined threshold value in which the key has not been pressed, and wherein the length of the predetermined time threshold value is automatically adjusted as a function of an average running value of time intervals between successive double contacts of the same key, wherein said time interval is shorter than the predetermined threshold value and wherein unambiguous text interpretations of the input sequence comprising said double contacts are selected by the user for output.
8. The system of claim 1, wherein the plurality of inputs of the user input component are implemented using a plurality of mechanical keys and each mechanical key is associated with a plurality of characters, and wherein the mechanical keys are depressed in a plurality of different ways to unambiguously select a particular character.
9. The system of claim 1, wherein the plurality of inputs of the user input means are implemented using a plurality of mechanical keys and each mechanical key is associated with a plurality of characters displayed on the respective key, wherein a particular character is unambiguously selected by pressing the given key a number of times and corresponding to the number of presses of the given key and the position of the desired character on the key.
10. The system of claim 9 wherein an additional character is unambiguously selected by pressing the given key a number of times and the number of times the given key is pressed is greater than the number of characters displayed on the key.
11. The system of claim 9, wherein the next specific character is unambiguously selected from the given key after a time interval exceeding a predetermined threshold value in which no key has been pressed, and wherein the length of the predetermined time threshold value is automatically adjusted as a function of an average running value of time intervals between successive double presses of the same key, wherein said time interval is shorter than the predetermined threshold value and wherein unambiguous text interpretations comprising an input sequence of said double presses are selected by the user for output.
12. The system of claim 1, wherein the processor detects unambiguous entry of words that do not correspond to any object in the memory and automatically temporarily adds objects corresponding to the words to the memory so that the words can be generated by selecting a corresponding input sequence during operation of the system in the ambiguous input mode.
13. The system of claim 12, wherein an object corresponding to a previously unknown word that has been unambiguously input is automatically deleted from the memory upon temporary addition to the memory, and wherein all occurrences of the word are deleted from the digitally encoded output text generated by the system upon unambiguous input of the previously unknown word.
14. The system of claim 12, wherein an object corresponding to a previously unknown word that has been unambiguously entered is automatically deleted from the memory upon temporary addition to the memory of the object, and wherein no input sequence associated with the word is generated until a signal is received indicating that the system is to be disconnected.
15. The system of claim 1, wherein the memory contains objects associated with the input sequence that are shorter in character number than the textual interpretations associated with the objects.
16. The system of claim 1, wherein the user input component is a television remote control (606) with a reduced keyboard (606).
17. The system of claim 1, wherein the user input component is an eye gaze input system that determines which of the plurality of inputs to select by monitoring the position and/or orientation of one or both eyes of the user.
18. The system of claim 1, wherein the user input device is a watch with a reduced keyboard (610).
19. The system of claim 1, wherein the user input component is a keyboard constructed with mechanical keys (801, 56) that can be depressed in a plurality of different ways, each different depression corresponding to a different input.
20. The system of claim 1, wherein the user input means is implemented as a simple grid outline pattern on the touch screen, the outlines indicating regions of the screen corresponding to different inputs, and the outlines are displayed superimposed on the system display.
21. The system of claim 1, wherein the user input component is implemented as a touch screen on which the user makes a plurality of simple touch screen gestures, wherein touching the touch screen and moving the point of contact in different ways, wherein each different gesture corresponds to one input.
22. The system of claim 1, wherein objects in the memory containing one or more characters with a dedicated distinguishing mark are associated with an input sequence consisting of inputs related to corresponding characters without distinguishing marks.
HK00105990.9A 1997-01-24 1998-01-22 Reduced keyboard disambiguating system HK1026757B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US792969697A 1997-01-24 1997-01-24
US08/792,969 1997-01-24
PCT/US1998/001307 WO1998033111A1 (en) 1997-01-24 1998-01-22 Reduced keyboard disambiguating system

Publications (2)

Publication Number Publication Date
HK1026757A1 true HK1026757A1 (en) 2000-12-22
HK1026757B HK1026757B (en) 2008-06-06

Family

ID=

Similar Documents

Publication Publication Date Title
EP1010057B2 (en) Reduced keyboard disambiguating system
US6307549B1 (en) Reduced keyboard disambiguating system
AU746674B2 (en) Reduced keyboard disambiguating system
EP1514357B1 (en) Explicit character filtering of ambiguous text entry
US6636162B1 (en) Reduced keyboard text input system for the Japanese language
US6646573B1 (en) Reduced keyboard text input system for the Japanese language
WO1998033111A9 (en) Reduced keyboard disambiguating system
JP2007133884A5 (en)
KR20000035960A (en) Speed typing apparatus and method
WO1997005541A9 (en) Reduced keyboard disambiguating system
EP1248183B1 (en) Reduced keyboard disambiguating system
HK1026757A1 (en) Reduced keyboard disambiguating system
HK1026757B (en) Reduced keyboard disambiguating system
AU747901B2 (en) Reduced keyboard disambiguating system
MXPA99006904A (en) Reduced keyboard disambiguating system
HK1071446B (en) Reduced keyboard disambiguating system
HK1073710B (en) Reduced keyboard disambiguating system
HK1053876A (en) Reduced keyboard disambiguating system
HK1010924B (en) Reduced keyboard disambiguating system

Legal Events

Date Code Title Description
PC Patent ceased (i.e. patent has lapsed due to the failure to pay the renewal fee)

Effective date: 20120122