CONTEXT-DEPENDENT PREDICTION AND LEARNING WITH A UNIVERSAL RE-ENTRANT PREDICTIVE TEXT INPUT SOFTWARE COMPONENT

- BIAP , Inc.

A system and method for supporting predictive text entry in software applications by sharing a common, predictive, software text-entry widget within a consumer device across multiple software applications and input contexts. The method comprises: a software application invoking an instance of a text-entry widget in a particular input context, the application optionally providing the widget a description of allowed symbols and a dictionary of expected symbol strings associated with the current context, the widget modifying a virtual keyboard display and predictive algorithm data according to the allowed symbols and dictionary, the user entering text via the widget, the widget returning the entered text to the application, and the application optionally including information derived from entered text in the associated dictionary to enhance the predictive capability of the widget on future invocations.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description
REFERENCE TO RELATED APPLICATIONS

The present application claims benefit of priority from U.S. Provisional App. No. 60/916,448, filed May 7, 2007, entitled “RIOT,” herein incorporated by reference in its entirety.

FIELD OF THE INVENTION

The present invention relates generally to methods supporting predictive text entry in software applications.

BACKGROUND OF THE INVENTION

For many consumer devices such as, for example, digital televisions or TVs attached to set-top boxes connected to cable, satellite, or fiber networks; phones or PDAs connected to wired or wireless networks; GPS navigation systems; automated teller machines; and kiosks; text entry is sometimes required by applications running on these devices. Such devices, however, frequently do not provide full keyboards and large display screens as typically provided by personal computers due to other design requirements, such as, for example, keeping the devices small, reliable, and low cost. As a result, text input methods are often slow, error prone, and not well accepted by users.

Some devices provide for entry of text using non-keyboard devices, often in conjunction with small-format displays or other alternative user feedback mechanisms. One class of techniques use small format keypads, most frequently 9-, 10-, or 12-key pads as found on phones wherein digit keys also map to multiple alpha characters, for example, digits 2, 3, 4, 5, 6, 7, 8, 9, and 0 map to characters ABC, DEF, GHI, JKL, MNO, PQRS, TUV, WXYZ, and “space” respectively. Some practitioners have explored similar use of five-key keypads, where four keys are each mapped to six or more characters and a fifth used as a space/next key. Still others have investigated use of five-key keypads, where four keys are used to navigate a cursor (i.e., highlighted symbol) over a grid of symbols, and a fifth key is used to enter the currently highlighted symbol.

The difficulty of entering text into devices where there is not a one-to-one correspondence between input keys and symbols has led to the use of algorithms that attempt to guess what the user is attempting to type, and thus minimize the number of physical keystrokes.

There is a need for a predictive text entry system and method which may provide one or more of the following: (a) The utilization of simple text entry devices, such as the pervasive 5-key directional keypad, in a way that minimizes or reduces the number of key activations required, (b) Usable by multiple unrelated applications (e.g., as a software widget, component, class, or shared function), (c) Tailoring the predictive capability of the widget for multiple distinct input contexts without knowledge of the input contexts when the widget is constructed, and (d) Enhancing the predictive accuracy of the widget in distinct input contexts over time by incorporating information about text previously entered into future predictions in the identical input context.

SUMMARY OF THE INVENTION

Certain embodiments according to the present disclosure address one or more of the aforementioned problems. For example, certain embodiments may address one or more of the aforementioned problems by providing a system and method for sharing a common, predictive, software text-entry widget or component within a consumer device across multiple software applications and input contexts. The method may include: a software application invoking an instance of a text-entry widget in a particular input context, the application optionally providing the widget a description of allowed symbols and a dictionary of expected symbol strings associated with the current context, the widget modifying a virtual keyboard display and predictive algorithm data according to the allowed symbols and dictionary, the user entering text via the widget, the widget returning the entered text to the application, and the application optionally including information derived from entered text in the associated dictionary to enhance the predictive capability of the widget on future invocations. Suitable dictionary and predictive algorithm data may consist of symbol frequency statistics and expected symbol strings maintained in a format appropriate to the prediction algorithm employed. The choice of dictionary and allowed symbols may be selected as applications are constructed and input contexts are defined. The storage, sharing, and modification of dictionaries may be performed by applications as appropriate to each input context, and may not be performed by the text-entry widget itself.

The text-entry widget may be a software function, class, or component provided in a dynamically linked shared library accessible to all applications executing on the consumer device, or it may be provided in a statically linked library, or may be provided as source code incorporated into the object code of applications executing on the device. A dictionary may be accessible to all applications executing on the device that require text input for the same context.

Features of a virtual keyboard are disclosed which may work in conjunction with various kinds of input devices to minimize the number of key activations required to enter text aided by underlying text prediction algorithms. Suitable input devices may include, but are not limited to, five-key directional keypads (located on a TV remote control for example), a twelve-key telephone keypad, an iPod®-style thumb wheel and selection switch, a touch sensitive switch network overlaying the virtual keyboard, a touch-sensitive mouse pad, and a microphone with speech recognition software responsive to spoken navigation and selection commands.

Consumer devices that may benefit from the method of the present invention may include, but are not limited to, digital televisions, mobile phones, Global Positioning System (“GPS”) navigation devices, personal computers, automated teller machines, and self-service kiosks.

BRIEF DESCRIPTION OF THE DRAWINGS

In order to facilitate a fuller understanding of the invention, reference is now made to the accompanying drawings, in which like elements are referenced with like numerals. These drawings should not be construed as limiting the present disclosure, but are intended to be exemplary only.

FIG. 1 is a diagram depicting a configuration of a Consumer Device in accordance with an embodiment of the invention.

FIG. 2 is a diagram depicting a Virtual Keyboard showing a set of allowed symbols and controls in accordance with an embodiment of the invention.

FIG. 3 is a diagram depicting a Virtual Keyboard showing another set of allowed symbols and controls in accordance with an embodiment of the invention.

FIG. 4 is a diagram depicting a Virtual Keyboard showing keys provided for containing the top five predicted strings and the top six predicted next symbols in accordance with an embodiment of the invention.

FIG. 5 is a diagram depicting the first in a series of exemplary screens illustrating an exemplary use of a Virtual Keyboard in accordance with an embodiment of the invention.

FIG. 6 is a diagram depicting the second in a series of exemplary screens illustrating an exemplary use of a Virtual Keyboard in accordance with an embodiment of the invention.

FIG. 7 is a diagram depicting the third in a series of exemplary screens illustrating an exemplary use of a Virtual Keyboard in accordance with an embodiment of the invention.

FIG. 8 is a diagram depicting the fourth in a series of exemplary screens illustrating an exemplary use of a Virtual Keyboard in accordance with an embodiment of the invention.

FIG. 9 is a diagram depicting the fifth in a series of exemplary screens illustrating an exemplary use of a Virtual Keyboard in accordance with an embodiment of the invention.

FIG. 10 is a diagram depicting the last in a series of exemplary screens illustrating an exemplary use of a Virtual Keyboard in accordance with an embodiment of the invention.

FIG. 11 is a flowchart depicting a method in accordance with an embodiment of the invention.

FIG. 12 is a flowchart depicting sub-steps of step 740 depicted in FIG. 11, including the step where a Predictive Text-Entry Widget receives user input and returns an entered string to the requesting application in accordance with an embodiment of the invention.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

The following description is intended to convey an understanding of the invention by providing a number of specific embodiments and details involving various applications of the invention. It is understood, however, that the invention is not limited to these embodiments and details, which are exemplary only. It is further understood that one possessing ordinary skill in the art, in light of known systems and methods, would appreciate the use of the invention for its intended purposes and benefits in any number of alternative embodiments, depending upon specific design and other needs.

Referring now to FIG. 1, there is provided a diagram depicting a configuration of a Consumer Device in accordance with an embodiment of the invention. Consumer Devices 100 appropriate to the present invention may include, but are not limited to, set-top boxes, mobile phones, personal digital assistants, GPS navigation devices, personal computers, and self-service kiosks. The present invention may be applicable when there are one or more software Applications 110 that use text entry executing via a computer or other electronic system provided by the device (e.g., a CPU, not depicted). Such Applications 110 may include, but are not limited to, applications for accessing on-line yellow pages, receiving weather forecasts, managing Fantasy Sports teams, participating in on-line auctions, participating in votes or polls, searching the Internet, and engaging in email or chat. Components internal to the Consumer Device 100 may be interconnected via an inter- and/or intra-application communication channel 140, which may include, for example, physical interconnections on a chip, wiring in a computer circuit, or network interconnections between computing devices. A Network Interface 175 may be provided to enable Applications 110 to access data on an external network 195.

The Text-Entry Widget 120 is software that may provide predictive text entry services for Applications 110. The Text-Entry Widget 120 may also be known as a Text-Entry component. It may be implemented, for example, within Applications 110, within a library that is statically linked into Applications 110, within a Library 130 that is dynamically linked into and shared by Applications 110 as needed, or as a stand-alone application. The Text-Entry Widget 120 may display a Virtual Keyboard on a Display Device 170 connected via a wired or wireless interconnection 155 to a Display Driver 150. The Display Device 170 may be contained within the Consumer Device 100 or may be provided as a separate unit. Exemplary embodiments of Virtual Keyboards are depicted in FIGS. 2, 3, 4, 6, 7, 8, and 9. The Text-Entry Widget 120 may interpret key input from an Input Device 180 connected via a wired or wireless interconnection 165 to an Input Driver 160. The Input Device 180 may be contained within the Consumer Device 100, or may be provided as a separate unit. The Text-Entry Widget 120 may receive a dictionary containing expected text strings and a description of allowed symbols from each calling Application 110, and may use dictionaries and symbol descriptions to augment default information and statistics employed by a text prediction algorithm. The descriptions of allowed symbols may be, for example, lists of symbols, links to predefined named subsets of symbols (e.g., alpha, numeric, symbols, capital alphas, etc.), names represented as integer power of 2 codes wherein all subsets of symbols appropriate to a particular context are passed as the sum of the name codes, and other embodiments as appropriate to a particular embodiment of the invention. The Text-Entry Widget 120 may apply the prediction algorithm as the user enters each symbol to predict the next symbols and strings most likely to be entered by the user. The symbols and/or strings may be assigned to keys displayed on the Virtual Keyboard by the Test-Entry Widget 120 for easy activation by the user. An exemplary depiction of assignments is provided in FIG. 4, where the most likely five predicted strings 410 (i.e., Option 1 through Option 5) and most likely six predicted next symbols 420 are provided by the Virtual Keyboard 200.

An Input Device 180 may consist of or contain a 5-Key Directional Keypad 185 that may provide four input keys associated with navigating a displayed cursor or highlight indicator UP, DOWN, LEFT, or RIGHT between keys on a Virtual Keyboard, and one key (depicted here in the center) to SELECT the highlighted item on the Virtual Keyboard. An Input Device 180 may also consist of or contain a Numeric Keypad 190 which may provide, for example, a 4×3 grid of input keys associated with digits and symbols. Keys 2, 3, 6, 8, and 5 may be associated with UP, LEFT, RIGHT, DOWN, and SELECT functions or commands as another way of implementing a 5-Key Directional Keypad. Other Input Devices 180 suitable for the present invention may include, but are not limited to, an iPod®-style thumb-wheel and selection switch, a touch sensitive switch network overlaying the Virtual Keyboard, a touch-sensitive mouse pad using touch-and-drag to navigate and tap to select and/or a dedicated selection switch, or a microphone with associated voice recognition software recognizing commands of UP, DOWN, LEFT, RIGHT, and ENTER. Any input device allowing navigation between keys on a Virtual Keyboard and selection of the highlighted key therein may be suitable for predictive text entry disclosed in the present invention.

Other navigation and selection paradigms may also be suitable for the method of the present invention. Another example is the use of a Numeric Keypad 190 provided on telephones, where digit keys 2, 3, 4, 5, 6, 7, 8, and 9 are additionally labeled by letters of the alphabet (e.g., ABC, DEF, GHI, JKL, MNO, PQRS, TUV, and WXYZ respectively). In this embodiment, subsequent activations of the digit keys may be used by the Text-Entry Widget 120 to make predictions of the most likely next symbols and strings, where the 3 or 4 letters associated with the activated key may be used to predict and display the next most likely symbols and strings to be selected by the user. In this embodiment, the user may activate the digit keys until the desired string is displayed on the Virtual Keyboard and the selection is made, or the user may use other keys on the Numeric Keypad (or other provided keys) to navigate and select between multiple suggested symbols and/or strings.

Referring now to FIGS. 2, 3, and 4, there are depicted three exemplary embodiments of a Virtual Keyboard 200 according to an embodiment of the invention. FIG. 2 depicts an embodiment where the allowed set of symbols pertinent to an exemplary Application 110 include the letters a-z, a space symbol, and numeric and other symbols referenced by labels 220, contained in the left and central key groups of the figure. Other depicted key types may include, for example: a “Done” key 250 (which alternatively may be named “OK,” “Cancel,” “Quit,” etc.), Input Modifier keys 240 (e.g., “Clear,” “Delete”), and Symbol Change keys 230 (e.g., upper case/lower case Shift, 123-SYM). These are collectively referred to as “control keys.” The current text 210 entered by the user may be contained in a text entry display area 205. A cursor 215 may denote the location where new symbols and strings are predicted by the Text-Entry Widget 120 and where newly activated symbols or strings may be added upon the user activating the SELECT key. This exemplary embodiment may not provide separate keys containing the most likely strings and symbols. Instead, this exemplary embodiment may display only the most likely next symbol or string highlighted in display area 205 at the cursor position 215, and may allow the user to select that suggestion by activating the SELECT function or to select other legal symbols by navigating to the desired symbol if the predicted symbol or string is not correct. FIG. 3 depicts an embodiment of a Virtual Keyboard 200 according to an embodiment of the invention where the allowed set of symbols that may be pertinent to an exemplary Application 110 include the numeric and other symbols referenced by labels 220. (Alpha symbols are assumed not germane to the Application 110 embodied in this example.) Other keys that may be provided are “Done” 250 (depicted in highlighted state), input modifiers “Delete” and “Clear” 240, and symbol change key “ABC” 230. FIG. 4 depicts an embodiment of a Virtual Keyboard 200 where the allowed set of symbols pertinent to an exemplary Application 110 may include the letters a-z and the space character, and keys for “Done,” “Delete,” “Clear,” “Shift,” and “123-SYM.” In addition, this embodiment may provide keys containing the top five predicted strings 410 and top six predicted next symbols 420 pertinent to an exemplary application. The user may select any of these suggestions by navigating to and activating the corresponding key using the Input Device 180.

Referring now to FIGS. 5 through 10, there are depicted a series of screens illustrating an exemplary use of a Virtual Keyboard 200 according to an embodiment of the invention. These figures may depict interactions from a user interface perspective between an Application 110 requesting predictive text entry services and a Text-Entry Widget 120 providing such services. In this example, the Application 110 may be an interactive application providing Yellow Pages on TV. In FIG. 5 there is depicted an element of the Application Display 500 wherein a user is presented with three text-entry fields to use for conducting a Yellow Pages search according to an embodiment of the invention. One such field, Category 510, is highlighted in the figure. As the user prepares to enter text relevant to a Yellow Pages Category, the Text-Entry Widget 120 may be invoked. Unseen by the user, the Yellow Pages application may have passed parameters to the Text-Entry Widget 120 including, for example, a dictionary of common Yellow Pages category names and associated frequency information, and a description of allowed symbols, in this case alphanumeric characters. Upon receipt of these parameters, the Text-Entry Widget 120 may select the appropriate display format to represent the set of allowed symbols and may integrate information derived from the provided dictionary into its internal predictive algorithm data, such as, for example, a trie data structure. Thereafter the Text-Entry Widget 120 may present the selected Virtual Keyboard 200 to the user as depicted in FIG. 6. The text entry area may initially be empty, all appropriate (legal) symbols and controls may be provided, no string suggestions may be provided in Suggestions keys, and the most common six symbols appearing as the first character in Yellow Pages Category names (in this case: r, s, t, e, l, and n) may be mapped to the symbol keys along the top of the Virtual Keyboard 200. In FIG. 7, the user may have activated the “a” key in the Virtual Keyboard. Upon this activation, the Text-Entry Widget 120 may calculate the most likely strings and most likely second symbols the user may want to enter. These strings and symbols are shown populating the respective Suggestions keys. In this case, four strings are suggested: “auto,” “automobile,” “attorney,” and “aircraft,” and three next symbols are suggested: “u,” “t,” and “i.” The user may be free to activate any of these Suggestions keys or choose any other character from the symbol keys provided by the Virtual Keyboard 200. In FIG. 8, the user may have activated the “t” Suggestions key 410 twice. This may have caused the text input area 205 to contain the text “att” 210 and now “attorney” is the string Suggestion 420. In FIG. 9, it is depicted the user may have activated the string suggestion key containing “attorney,” the text “attorney” 210 may now appear in the text entry area 205, and the “Done” key 250 may be highlighted assuming the user is ready to enter “attorney” as the desired category text. Finally in FIG. 10, the user may have activated the “Done” key and “attorney” may be passed to the Yellow Pages Application 110 by the Text-Entry Widget 120 as the desired entry for the Category field 510 and thus may appear in the Yellow Pages Application Display 500. A more detailed description of an exemplary process where a predictive Text-Entry Widget 120 may receive user input and return it to an Application 110 is provided in FIG. 12.

Referring now to FIG. 11, there is depicted a flowchart depicting a method in accordance with an embodiment of the invention. The process may begin with an Application 110 executing in step 700. In step 705, a test is made to determine if the Application 110 is terminating. If the Application 110 is terminating, processing stops. If the Application is not terminating, step 710 may be executed. In step 710, a test may determine if the Application 110 requires text input. If this test determines that the Application 110 does not require text input, processing may continue with step 700. If the test in step 710 determines that the Application 110 does require text input, step 720 may be executed. In step 720, the Application 110 may select one or more dictionaries and one or more sets of allowed symbols for use in the Application's 110 current input context. Current input context may refer to the text entry control (e.g., text box, window, etc.) that may have current focus in the Application 110. In the method of the invention, each such context may support a different dictionary, allowed set of symbols, and associated predictive model. In step 730, the Application 110 may invoke the predictive Text-Entry Widget 120 by passing it the selected dictionary and allowed symbols. In step 740, the predictive Text-Entry Widget 120 may process user input and may return one or more entered text string(s) to the Application 110. In step 750, a test may determine if enhancing the predictive capabilities of the predictive Text-Entry Widget 120 may be beneficial in the input context. What may be beneficial may be predefined for each input context in the Application 110 when it is written. For example, if the input context is a field requiring entry of state abbreviations, the associated dictionary may consist of a set of 50 fixed strings. If the user enters something else, it may not be deemed beneficial and may not be added to the associated dictionary. In a Yellow Pages application example, remembering search strings entered by users in a dictionary may enhance future prediction. Thus such strings may be added to the associated dictionary, or frequency statistics may be modified for search strings already in the dictionary. Similarly, an IM application, as another example, may want to break up entered text into separate words and add new ones to the dictionary. Decisions about whether to allow additions to a dictionary, and what to add, may be defined when the application is written and may be independent of the Text-Entry Widget 120. Continuing with the flow diagram in FIG. 11, if the test in step 750 determines that enhancing the predictive capabilities of the predictive Text-Entry Widget 120 may not be beneficial in the input context, processing may continue with step 700. If the test determines that enhancing the predictive capabilities of the predictive Text-Entry Widget 120 may be beneficial in the input context, step 760 may be executed wherein the Application 110 may update the selected dictionary with the text entered by the user and processing may continue with step 700.

Referring now to FIG. 12, there is depicted a flowchart illustrating sub-steps of step 740 in FIG. 11 wherein a predictive Text-Entry Widget processes user input and returns the entered text string to the requesting application in accordance with an embodiment of the invention. The process may begin in step 800 where the predictive Text-Entry Widget 120 may be invoked by receiving the dictionary and allowed symbols provided by the calling Application 110. In step 805, the predictive Text-Entry Widget 120 may draw an initial Virtual Keyboard 200 on the Display Device 170. In step 807, the Widget 120 may wait for the user to activate an input key utilizing an Input Device 180. In step 810, a test may determine if the user has activated an input key. If the user has not activated an input key, processing may continue with step 807. If the user has activated an input key, step 815 may be executed. In step 815, a test may determine if the input key is a navigation key, for example one of the UP, DOWN, LEFT, or RIGHT on a 5-Key Directional Keypad 185. If the input key is a navigation key, step 809 may be executed where a new key in the Virtual Keyboard 200 may be highlighted, for example in the exemplary embodiments depicted in FIGS. 2 and 7, the “Done” key 250 and “a” key are highlighted respectively. Then processing may continue with step 807. If the test in step 815 determines that the input key is not a navigation key, it may be assumed that the input key activated by the user was the SELECT key 820 and step 830 may be executed. In step 830, a test may determine if a text symbol key was selected in the Virtual Keyboard 200, for example, keys 220 or 410 in FIG. 8. If a text symbol key was selected in the Virtual Keyboard 200, step 855 may execute where the Widget 120 may update the current input string and may redraw the Virtual Keyboard 200 if necessary. Then step 860 may be executed where the Widget 120 may update predicted symbols for the currently entered text and may redraw the Virtual Keyboard 200 if necessary, and processing may continue with step 807. If the test in step 830 determines that a text symbol key was not selected in the Virtual Keyboard 200, step 835 may be executed. In step 835, a test may determine if one of the keys corresponding to one of the top predicted strings (or expected string) was selected in the Virtual Keyboard 200, for example, one of Suggestions keys 410 in FIG. 4. If one of the keys corresponding to one of the top predicted strings was selected in the Virtual Keyboard 200, processing may continue with step 855. If one of the keys corresponding to one of the top predicted strings was not selected in the Virtual Keyboard 200, step 840 may be executed. In step 840, a test may determine if a key corresponding to one of the Input Modifier Keys 240 has been selected in the Virtual Keyboard 200. If a key corresponding to one of the Input Modifier Keys 240 has been selected in the Virtual Keyboard 200, step 865 may be executed where the Widget 120 may update the current entered text 210 according to the selected Input Modifier Key 240 and processing may continue with step 807. If the test in step 840 determines that a key corresponding to one of the Input Modifier Keys 240 has not been selected in the Virtual Keyboard 200, step 845 may be executed. In step 845, a test may determine if a Symbol Change Key 230 has been selected in the Virtual Keyboard 200. If a Symbol Change Key 230 has been selected in the Virtual Keyboard 200, step 870 may be executed where the Widget 120 may update the Virtual Keyboard 200 to display selected subset of symbols and processing may continue with step 807. If the test in step 845 determines that a Symbol Change Key 230 has not been selected in the Virtual Keyboard 200, step 850 may be executed where the “Done” key may have been selected in the Virtual Keyboard 200. The Widget 120 may erase the Virtual Keyboard 200, may return the current entered text to the calling Application 110, and may terminate itself.

Claims

1. A method of sharing a common, predictive, software text-entry component within a consumer device across multiple software applications and input contexts, the method comprising:

invoking a text-entry component by one of the software applications in one of the input contexts;
providing to the text-entry component a description of allowed symbols and a dictionary of expected symbol strings associated with the one of the input contexts;
modifying a default virtual keyboard display and default predictive algorithm data of the text-entry component according to the description of allowed symbols and the dictionary of expected signal strings;
accepting input text by a user of the consumer device via the text-entry component;
terminating the text-entry component, whereby the terminating causes returning entered text to the calling application; and
modifying the dictionary by the application in response to the entered text to enhance predictive capability of the component on future invocations in the input context.

2. The method of claim 1, wherein the text-entry component comprises a software function, class, or component provided in a dynamically linked shared library, accessible to one or more applications executing on the consumer device.

3. The method of claim 1, wherein the text-entry component comprises a software function, a class, a component provided in a statically linked library, or source code, incorporated into the object code of applications executing on the consumer device.

4. The method of claim 1, wherein the dictionary is accessible to one or more applications executing on the consumer device that require text input for the one of the input contexts.

5. The method of claim 1, wherein the modification of the virtual keyboard display and predictive algorithm data of the text-entry component reduces the number of key activations required to enter desired text for the input context using an input device associated with the consumer device.

6. The method of claim 1, wherein the virtual keyboard display includes a current string display, one or more keys associated with individual symbols from the set of allowed symbols, and one or more control keys associated with behaviors of the text-entry component, wherein exactly one of the keys is highlighted.

7. The method of claim 6, wherein the virtual keyboard display further comprises one or more keys associated with symbols from the set of allowed symbols predicted by the prediction algorithm.

8. The method of claim 6, wherein the virtual keyboard display further comprises one or more keys associated with strings predicted by the prediction algorithm.

9. The method of claim 1, wherein the consumer device comprises a digital television.

10. The method of claim 1, wherein the consumer device comprises a mobile phone.

11. The method of claim 1, wherein the consumer device comprises a personal computer.

12. The method of claim 1, wherein the consumer device comprises a kiosk.

13. The method of claim 5, wherein the input device comprises a five-key directional keypad.

14. The method of claim 13, wherein the five-key directional keypad is located on a remote control capable of controlling a digital television.

15. The method of claim 5, wherein the text entry device is a thumb wheel and selection switch.

16. The method of claim 5, wherein the text entry device is a touch-sensitive switch network overlaying the virtual keyboard.

17. The method of claim 5, wherein the text entry device is a touch-sensitive mouse pad using touch-and-drag to navigate and a dedicated selection switch to select.

18. The method of claim 5, wherein the text entry device is a microphone and speech recognition software responsive to spoken navigation and selection commands.

19. The method of claim 18, wherein the spoken navigation and selection commands correspond to up, down, left, right, and enter.

20. The method of claim 5, wherein the entry of text comprises: use of the text entry device to navigate to a desired key on the virtual keyboard using provided navigation commands and selecting the desired key using provided selection commands.

21. The method of claim 1, wherein the predictive algorithm data utilizes a trie data structure.

22. The method of claim 1, wherein the default predictive algorithm data comprises symbol frequency statistics and expected symbol strings in a format consistent with the prediction algorithm employed.

23. The method of claim 5, wherein the consumer device is a telephone and the input device comprises a twelve-key telephone keypad.

24. A system for sharing a common, predictive, software text-entry component within a consumer device across multiple software applications and input contexts, comprising:

a module for invoking a text-entry component by one of the software applications in one of the input contexts;
a module for providing to the text-entry component a description of allowed symbols and a dictionary of expected symbol strings associated with the one of the input contexts;
a module for modifying a default virtual keyboard display and default predictive algorithm data of the text-entry component according to the description of allowed symbols and the dictionary of expected signal strings;
a module for accepting input text by a user of the consumer device via the text-entry component;
a module for terminating the text-entry component, whereby the terminating causes returning entered text to the calling application; and
a module for modifying the dictionary by the application in response to the entered text to enhance predictive capability of the component on future invocations in the input context.
Patent History
Publication number: 20080281583
Type: Application
Filed: May 7, 2008
Publication Date: Nov 13, 2008
Applicant: BIAP , Inc. (Sterling, VA)
Inventors: Louis P. SLOTHOUBER (Leesburg, VA), Eric H. Davis (Potomac Falls, VA), Michael K. Young (Sterling, VA), Jeffrey W. Johnston (Charlottesville, VA)
Application Number: 12/116,917
Classifications
Current U.S. Class: Dictionary Building, Modification, Or Prioritization (704/10)
International Classification: G06F 17/21 (20060101);