[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

US20080281583A1 - Context-dependent prediction and learning with a universal re-entrant predictive text input software component - Google Patents

Context-dependent prediction and learning with a universal re-entrant predictive text input software component Download PDF

Info

Publication number
US20080281583A1
US20080281583A1 US12/116,917 US11691708A US2008281583A1 US 20080281583 A1 US20080281583 A1 US 20080281583A1 US 11691708 A US11691708 A US 11691708A US 2008281583 A1 US2008281583 A1 US 2008281583A1
Authority
US
United States
Prior art keywords
text
entry
input
virtual keyboard
predictive
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US12/116,917
Inventor
Louis P. SLOTHOUBER
Eric H. Davis
Michael K. Young
Jeffrey W. JOHNSTON
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
FourthWall Media Inc
Original Assignee
BIAP Inc
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 BIAP Inc filed Critical BIAP Inc
Priority to US12/116,917 priority Critical patent/US20080281583A1/en
Assigned to BIAP, INC. reassignment BIAP, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SLOTHOUBER, LOUIS P., DAVIS, ERIC H., JOHNSTON, JEFFREY W., YOUNG, MICHAEL K.
Publication of US20080281583A1 publication Critical patent/US20080281583A1/en
Assigned to FOURTHWALL MEDIA, INC. reassignment FOURTHWALL MEDIA, INC. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: BIAP, INC.
Assigned to SILICON VALLEY BANK reassignment SILICON VALLEY BANK SECURITY AGREEMENT Assignors: FOURTHWALL MEDIA, INC.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising

Definitions

  • the present invention relates generally to methods supporting predictive text entry in software applications.
  • 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.
  • 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.
  • simple text entry devices such as the pervasive 5-key directional keypad
  • 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.
  • 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 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.
  • GPS Global Positioning System
  • 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.
  • 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.
  • 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.
  • 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.
  • 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).
  • 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.
  • 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.
  • 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 .
  • 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.”
  • 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 .
  • 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.
  • the Application 110 may be an interactive application providing Yellow Pages on TV.
  • 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.
  • the Text-Entry Widget 120 may be invoked.
  • 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.
  • 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 .
  • the user may have activated the “a” key in the Virtual Keyboard.
  • 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.
  • 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.
  • 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 .
  • FIG. 12 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 .
  • 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.
  • 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 .
  • each such context may support a different dictionary, allowed set of symbols, and associated predictive model.
  • the Application 110 may invoke the predictive Text-Entry Widget 120 by passing it the selected dictionary and allowed symbols.
  • the predictive Text-Entry Widget 120 may process user input and may return one or more entered text string(s) to the Application 110 .
  • 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.
  • an IM application 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 .
  • 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 .
  • step 800 the predictive Text-Entry Widget 120 may be invoked by receiving the dictionary and allowed symbols provided by the calling Application 110 .
  • step 805 the predictive Text-Entry Widget 120 may draw an initial Virtual Keyboard 200 on the Display Device 170 .
  • step 807 the Widget 120 may wait for the user to activate an input key utilizing an Input Device 180 .
  • step 810 a test may determine if the user has activated an input key.
  • step 807 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 .
  • 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
  • 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.
  • 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 .
  • step 835 may be executed.
  • 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.
  • 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 .
  • 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.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Marketing (AREA)
  • Game Theory and Decision Science (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • User Interface Of Digital Computer (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)

Abstract

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.

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 (24)

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.
US12/116,917 2007-05-07 2008-05-07 Context-dependent prediction and learning with a universal re-entrant predictive text input software component Abandoned US20080281583A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/116,917 US20080281583A1 (en) 2007-05-07 2008-05-07 Context-dependent prediction and learning with a universal re-entrant predictive text input software component

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US91644807P 2007-05-07 2007-05-07
US12/116,917 US20080281583A1 (en) 2007-05-07 2008-05-07 Context-dependent prediction and learning with a universal re-entrant predictive text input software component

Publications (1)

Publication Number Publication Date
US20080281583A1 true US20080281583A1 (en) 2008-11-13

Family

ID=39943861

Family Applications (2)

Application Number Title Priority Date Filing Date
US12/116,917 Abandoned US20080281583A1 (en) 2007-05-07 2008-05-07 Context-dependent prediction and learning with a universal re-entrant predictive text input software component
US12/116,912 Active 2028-05-17 US8639826B2 (en) 2007-05-07 2008-05-07 Providing personalized resources on-demand over a broadband network to consumer device applications

Family Applications After (1)

Application Number Title Priority Date Filing Date
US12/116,912 Active 2028-05-17 US8639826B2 (en) 2007-05-07 2008-05-07 Providing personalized resources on-demand over a broadband network to consumer device applications

Country Status (6)

Country Link
US (2) US20080281583A1 (en)
EP (2) EP2156280A4 (en)
JP (3) JP2010527066A (en)
KR (2) KR101528592B1 (en)
CA (2) CA2686592A1 (en)
WO (2) WO2008137160A1 (en)

Cited By (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100199228A1 (en) * 2009-01-30 2010-08-05 Microsoft Corporation Gesture Keyboarding
US20110035227A1 (en) * 2008-04-17 2011-02-10 Samsung Electronics Co., Ltd. Method and apparatus for encoding/decoding an audio signal by using audio semantic information
US20110047155A1 (en) * 2008-04-17 2011-02-24 Samsung Electronics Co., Ltd. Multimedia encoding method and device based on multimedia content characteristics, and a multimedia decoding method and device based on multimedia
US20110060599A1 (en) * 2008-04-17 2011-03-10 Samsung Electronics Co., Ltd. Method and apparatus for processing audio signals
US20110074686A1 (en) * 2009-09-30 2011-03-31 At&T Mobility Ii Llc Angular Sensitized Keypad
US20110078613A1 (en) * 2009-09-30 2011-03-31 At&T Intellectual Property I, L.P. Dynamic Generation of Soft Keyboards for Mobile Devices
US20110074704A1 (en) * 2009-09-30 2011-03-31 At&T Mobility Ii Llc Predictive Sensitized Keypad
US20110074692A1 (en) * 2009-09-30 2011-03-31 At&T Mobility Ii Llc Devices and Methods for Conforming a Virtual Keyboard
US20110074691A1 (en) * 2009-09-30 2011-03-31 At&T Mobility Ii Llc Predictive Force Sensitive Keypad
US20110074685A1 (en) * 2009-09-30 2011-03-31 At&T Mobility Ii Llc Virtual Predictive Keypad
US20120096409A1 (en) * 2010-10-19 2012-04-19 International Business Machines Corporation Automatically Reconfiguring an Input Interface
US20120110579A1 (en) * 2010-10-29 2012-05-03 Microsoft Corporation Enterprise resource planning oriented context-aware environment
US20120173222A1 (en) * 2011-01-05 2012-07-05 Google Inc. Method and system for facilitating text input
US20120223889A1 (en) * 2009-03-30 2012-09-06 Touchtype Ltd System and Method for Inputting Text into Small Screen Devices
US20130044053A1 (en) * 2011-08-15 2013-02-21 Primesense Ltd. Combining Explicit Select Gestures And Timeclick In A Non-Tactile Three Dimensional User Interface
US20130085747A1 (en) * 2011-09-29 2013-04-04 Microsoft Corporation System, Method and Computer-Readable Storage Device for Providing Cloud-Based Shared Vocabulary/Typing History for Efficient Social Communication
US8490008B2 (en) 2011-11-10 2013-07-16 Research In Motion Limited Touchscreen keyboard predictive display and generation of a set of characters
US8543934B1 (en) 2012-04-30 2013-09-24 Blackberry Limited Method and apparatus for text selection
US20130289975A1 (en) * 2012-04-30 2013-10-31 Research In Motion Limited Electronic device and method for a bidirectional context-based text disambiguation
CN103440299A (en) * 2013-08-20 2013-12-11 陈喜 Quick information input method based on focus context associational words
US20140019126A1 (en) * 2012-07-13 2014-01-16 International Business Machines Corporation Speech-to-text recognition of non-dictionary words using location data
US8659569B2 (en) 2012-02-24 2014-02-25 Blackberry Limited Portable electronic device including touch-sensitive display and method of controlling same
US8872762B2 (en) 2010-12-08 2014-10-28 Primesense Ltd. Three dimensional user interface cursor control
US8881051B2 (en) 2011-07-05 2014-11-04 Primesense Ltd Zoom-based gesture user interface
US20140331131A1 (en) * 2013-05-02 2014-11-06 Autumn Brandy DeSellem Accessible Self-Service Kiosk
US20140350920A1 (en) 2009-03-30 2014-11-27 Touchtype Ltd System and method for inputting text into electronic devices
US8933876B2 (en) 2010-12-13 2015-01-13 Apple Inc. Three dimensional user interface session control
US20150128049A1 (en) * 2012-07-06 2015-05-07 Robert S. Block Advanced user interface
US9035876B2 (en) 2008-01-14 2015-05-19 Apple Inc. Three-dimensional user interface session control
US9046932B2 (en) 2009-10-09 2015-06-02 Touchtype Ltd System and method for inputting text into electronic devices based on text and text category predictions
US9063653B2 (en) 2012-08-31 2015-06-23 Blackberry Limited Ranking predictions based on typing speed and typing confidence
US9116552B2 (en) 2012-06-27 2015-08-25 Blackberry Limited Touchscreen keyboard providing selection of word predictions in partitions of the touchscreen keyboard
US9122672B2 (en) 2011-11-10 2015-09-01 Blackberry Limited In-letter word prediction for virtual keyboard
US9152323B2 (en) 2012-01-19 2015-10-06 Blackberry Limited Virtual keyboard providing an indication of received input
US9189157B2 (en) 2013-03-15 2015-11-17 Blackberry Limited Method and apparatus for word prediction selection
US9195386B2 (en) 2012-04-30 2015-11-24 Blackberry Limited Method and apapratus for text selection
US9201510B2 (en) 2012-04-16 2015-12-01 Blackberry Limited Method and device having touchscreen keyboard with visual cues
US9207860B2 (en) 2012-05-25 2015-12-08 Blackberry Limited Method and apparatus for detecting a gesture
US9218063B2 (en) 2011-08-24 2015-12-22 Apple Inc. Sessionless pointing user interface
US9229534B2 (en) 2012-02-28 2016-01-05 Apple Inc. Asymmetric mapping for tactile and non-tactile user interfaces
US9261973B2 (en) 2013-06-07 2016-02-16 Blackberry Limited Method and system for previewing characters based on finger position on keyboard
US9310889B2 (en) 2011-11-10 2016-04-12 Blackberry Limited Touchscreen keyboard predictive display and generation of a set of characters
US9332106B2 (en) 2009-01-30 2016-05-03 Blackberry Limited System and method for access control in a portable electronic device
US9348429B2 (en) 2013-03-15 2016-05-24 Blackberry Limited Method and apparatus for word prediction using the position of a non-typing digit
US9377865B2 (en) 2011-07-05 2016-06-28 Apple Inc. Zoom-based gesture user interface
US9424246B2 (en) 2009-03-30 2016-08-23 Touchtype Ltd. System and method for inputting text into electronic devices
US9459758B2 (en) 2011-07-05 2016-10-04 Apple Inc. Gesture-based interface with enhanced features
US9477653B2 (en) 2014-06-26 2016-10-25 Blackberry Limited Character entry for an electronic device using a position sensing keyboard
US9524290B2 (en) 2012-08-31 2016-12-20 Blackberry Limited Scoring predictions based on prediction length and typing speed
US9557913B2 (en) 2012-01-19 2017-01-31 Blackberry Limited Virtual keyboard display having a ticker proximate to the virtual keyboard
US9652448B2 (en) 2011-11-10 2017-05-16 Blackberry Limited Methods and systems for removing or replacing on-keyboard prediction candidates
US9715489B2 (en) 2011-11-10 2017-07-25 Blackberry Limited Displaying a prediction candidate after a typing mistake
US9841873B1 (en) * 2013-12-30 2017-12-12 James Ernest Schroeder Process for reducing the number of physical actions required while inputting character strings
US9910588B2 (en) 2012-02-24 2018-03-06 Blackberry Limited Touchscreen keyboard providing word predictions in partitions of the touchscreen keyboard in proximate association with candidate letters
US10025487B2 (en) 2012-04-30 2018-07-17 Blackberry Limited Method and apparatus for text selection
US20180349348A1 (en) * 2017-06-05 2018-12-06 Blackberry Limited Generating predictive texts on an electronic device
US20190012353A1 (en) * 2009-03-16 2019-01-10 Apple Inc. Multifunction device with integrated search and application selection
US10191654B2 (en) 2009-03-30 2019-01-29 Touchtype Limited System and method for inputting text into electronic devices
US10372310B2 (en) 2016-06-23 2019-08-06 Microsoft Technology Licensing, Llc Suppression of input images
US11263399B2 (en) * 2017-07-31 2022-03-01 Apple Inc. Correcting input based on user context
US11622145B2 (en) 2017-02-14 2023-04-04 Samsung Electronics Co., Ltd. Display device and method, and advertisement server

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070240126A1 (en) * 2006-02-01 2007-10-11 International Business Machines Corporation System and method for event based resource selection
US10977693B2 (en) 2008-11-26 2021-04-13 Free Stream Media Corp. Association of content identifier of audio-visual data with additional data through capture infrastructure
US10880340B2 (en) 2008-11-26 2020-12-29 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US9154942B2 (en) 2008-11-26 2015-10-06 Free Stream Media Corp. Zero configuration communication between a browser and a networked media device
US10419541B2 (en) 2008-11-26 2019-09-17 Free Stream Media Corp. Remotely control devices over a network without authentication or registration
US9519772B2 (en) 2008-11-26 2016-12-13 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US10334324B2 (en) 2008-11-26 2019-06-25 Free Stream Media Corp. Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device
US9986279B2 (en) 2008-11-26 2018-05-29 Free Stream Media Corp. Discovery, access control, and communication with networked services
US9961388B2 (en) 2008-11-26 2018-05-01 David Harrison Exposure of public internet protocol addresses in an advertising exchange server to improve relevancy of advertisements
US10567823B2 (en) 2008-11-26 2020-02-18 Free Stream Media Corp. Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device
US10631068B2 (en) 2008-11-26 2020-04-21 Free Stream Media Corp. Content exposure attribution based on renderings of related content across multiple devices
US8180891B1 (en) 2008-11-26 2012-05-15 Free Stream Media Corp. Discovery, access control, and communication with networked services from within a security sandbox
US20100299714A1 (en) * 2009-05-22 2010-11-25 Microsoft Corporation Personalized content in a unidirectional broadcast stream
US8914342B2 (en) * 2009-08-12 2014-12-16 Yahoo! Inc. Personal data platform
KR101058525B1 (en) 2009-10-09 2011-08-23 삼성전자주식회사 Text input method and display device using the same
US20110107232A1 (en) * 2009-10-29 2011-05-05 BBE Partners LLC Directory and notification system for college students based on individual user profiles
GB2476045B (en) * 2009-12-08 2015-04-22 Metaswitch Networks Ltd Provision of text messaging services
US8260763B2 (en) * 2010-01-15 2012-09-04 Hewlett-Packard Devlopment Company, L.P. Matching service entities with candidate resources
US8726305B2 (en) 2010-04-02 2014-05-13 Yahoo! Inc. Methods and systems for application rendering and management on internet television enabled displays
CN101867650A (en) * 2010-05-21 2010-10-20 宇龙计算机通信科技(深圳)有限公司 Method and device for protecting user behavior at operating terminal
WO2011153550A1 (en) * 2010-06-04 2011-12-08 Exacttarget, Inc. System and method for managing a messaging campaign within an enterprise
US8560365B2 (en) 2010-06-08 2013-10-15 International Business Machines Corporation Probabilistic optimization of resource discovery, reservation and assignment
US9646271B2 (en) 2010-08-06 2017-05-09 International Business Machines Corporation Generating candidate inclusion/exclusion cohorts for a multiply constrained group
US8370350B2 (en) * 2010-09-03 2013-02-05 International Business Machines Corporation User accessibility to resources enabled through adaptive technology
US8968197B2 (en) 2010-09-03 2015-03-03 International Business Machines Corporation Directing a user to a medical resource
US9292577B2 (en) * 2010-09-17 2016-03-22 International Business Machines Corporation User accessibility to data analytics
GB201200643D0 (en) * 2012-01-16 2012-02-29 Touchtype Ltd System and method for inputting text
US9443211B2 (en) 2010-10-13 2016-09-13 International Business Machines Corporation Describing a paradigmatic member of a task directed community in a complex heterogeneous environment based on non-linear attributes
US8429182B2 (en) 2010-10-13 2013-04-23 International Business Machines Corporation Populating a task directed community in a complex heterogeneous environment based on non-linear attributes of a paradigmatic cohort member
EP3674964B1 (en) * 2011-02-18 2024-05-01 Malikie Innovations Limited Quick text entry on a portable electronic device
US8670847B2 (en) * 2011-06-22 2014-03-11 Disney Enterprises, Inc. Method and device for fantasy sports player recommendations using a weighted player ranking system
US9253282B2 (en) 2011-10-18 2016-02-02 Qualcomm Incorporated Method and apparatus for generating, using, or updating an enriched user profile
US8880022B2 (en) * 2011-11-10 2014-11-04 Microsoft Corporation Providing per-application resource usage information
US11537671B1 (en) * 2012-07-02 2022-12-27 Amazon Technologies, Inc. Unified search
CN103581224B (en) * 2012-07-25 2018-05-22 腾讯科技(深圳)有限公司 The method and apparatus of pushed information
US10255254B1 (en) 2012-07-30 2019-04-09 Google Llc Document object model data extraction using HTML tag identifier
CN103795847A (en) * 2012-10-31 2014-05-14 三星电子(中国)研发中心 Method for applying traceless mode to communication terminal and communication terminal
KR101987246B1 (en) * 2012-11-26 2019-06-12 한국전자통신연구원 Apparatus for user authentication of portable terminal
US9378520B2 (en) 2012-12-05 2016-06-28 At&T Intellectual Property I, L.P. Method, medium, and system for obtaining ratings using a rating service
WO2014116983A1 (en) * 2013-01-25 2014-07-31 Adaptive Spectrum And Signal Alignment, Inc. Method and apparatus for cloud services for enhancing broadband experience
WO2014116286A2 (en) 2013-01-25 2014-07-31 Adaptive Spectrum And Signal Alignment, Inc. Method and apparatus for cloud services for enhancing broadband experience
US10057115B2 (en) 2013-03-13 2018-08-21 Intel Corporation Device resource management based on contextual planning
GB2520266A (en) * 2013-11-13 2015-05-20 Ibm Cursor-Based Character input interface
US9811352B1 (en) 2014-07-11 2017-11-07 Google Inc. Replaying user input actions using screen capture images
US9965559B2 (en) 2014-08-21 2018-05-08 Google Llc Providing automatic actions for mobile onscreen content
US11457262B2 (en) 2014-09-05 2022-09-27 Thomson Reuters Enterprise Centre Gmbh On-demand video news programming
US10009248B2 (en) * 2014-12-12 2018-06-26 International Business Machines Corporation System with on-demand state for applications
US9703541B2 (en) 2015-04-28 2017-07-11 Google Inc. Entity action suggestion on a mobile device
CN106375544B (en) * 2015-07-23 2020-11-06 青岛海尔洗衣机有限公司 Clothing matching recommendation method and intelligent terminal
US10970646B2 (en) 2015-10-01 2021-04-06 Google Llc Action suggestions for user-selected content
US10178527B2 (en) 2015-10-22 2019-01-08 Google Llc Personalized entity repository
US10055390B2 (en) 2015-11-18 2018-08-21 Google Llc Simulated hyperlinks on a mobile device based on user intent and a centered selection of text
US10535005B1 (en) 2016-10-26 2020-01-14 Google Llc Providing contextual actions for mobile onscreen content
US11237696B2 (en) 2016-12-19 2022-02-01 Google Llc Smart assist for repeated actions
EP3996448A1 (en) * 2020-11-05 2022-05-11 Sony Group Corporation Flexible and dynamic resource allocation

Citations (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5479536A (en) * 1991-11-27 1995-12-26 International Business Machines Corporation Stroke syntax input device
US5623406A (en) * 1995-03-06 1997-04-22 Jean D. Ichbiah Method and system for entering text in computer equipment
US5805911A (en) * 1995-02-01 1998-09-08 Microsoft Corporation Word prediction system
US5952942A (en) * 1996-11-21 1999-09-14 Motorola, Inc. Method and device for input of text messages from a keypad
US6011554A (en) * 1995-07-26 2000-01-04 Tegic Communications, Inc. Reduced keyboard disambiguating system
US6307548B1 (en) * 1997-09-25 2001-10-23 Tegic Communications, Inc. Reduced keyboard disambiguating system
US20020052782A1 (en) * 2000-10-30 2002-05-02 Mark Landesmann Buyer-driven targeting of purchasing entities
US20020075320A1 (en) * 2000-12-14 2002-06-20 Philips Electronics North America Corp. Method and apparatus for generating recommendations based on consistency of selection
US20020093535A1 (en) * 2001-01-17 2002-07-18 Murphy Michael William User interface for character entry using a minimum number of selection keys
US6456981B1 (en) * 1998-09-30 2002-09-24 Ncr Corporation Method and apparatus for displaying a customized advertising message with a retail terminal
US6460036B1 (en) * 1994-11-29 2002-10-01 Pinpoint Incorporated System and method for providing customized electronic newspapers and target advertisements
US20020152203A1 (en) * 2001-02-07 2002-10-17 Christian Ostergaard Communication terminal having a predictive text editor application
US20030028889A1 (en) * 2001-08-03 2003-02-06 Mccoskey John S. Video and digital multimedia aggregator
US20030135484A1 (en) * 2002-01-14 2003-07-17 Alcatel Method for using services at a terminal and a terminal, a server and a program module therefore
US20030197736A1 (en) * 2002-01-16 2003-10-23 Murphy Michael W. User interface for character entry using a minimum number of selection keys
US20040021691A1 (en) * 2000-10-18 2004-02-05 Mark Dostie Method, system and media for entering data in a personal computing device
US6728679B1 (en) * 2000-10-30 2004-04-27 Koninklijke Philips Electronics N.V. Self-updating user interface/entertainment device that simulates personal interaction
US20040158503A1 (en) * 2003-01-31 2004-08-12 Gross John N. Media queue monitor
US20040182567A1 (en) * 2003-03-20 2004-09-23 Matthews Martim Vincent Wellhead leak containment and blowout deflection apparatus
US20040230912A1 (en) * 2003-05-13 2004-11-18 Microsoft Corporation Multiple input language selection
US6826413B1 (en) * 1999-12-08 2004-11-30 Ntt Docomo, Inc. Portable telephone and terminal equipment
US20040243389A1 (en) * 2001-08-08 2004-12-02 Thomas Ronald Howard Method and apparatus for selecting symbols in ideographic languages
US20040267816A1 (en) * 2003-04-07 2004-12-30 Russek David J. Method, system and software for digital media narrative personalization
US20050132295A1 (en) * 2000-04-17 2005-06-16 Roland Noll Channel dancer
US20050187754A1 (en) * 2003-12-09 2005-08-25 Dana Suess Software-based keystroke eliminator for alpha-numeric keyboards and keypads
US20050283540A1 (en) * 2004-06-02 2005-12-22 Vadim Fux Handheld electronic device with text disambiguation
US20050283358A1 (en) * 2002-06-20 2005-12-22 James Stephanick Apparatus and method for providing visual indication of character ambiguity during text entry
US20060047498A1 (en) * 2004-08-31 2006-03-02 Vadim Fux System and method for multilanguage text input in a handheld electronic device
US7030890B1 (en) * 1999-11-02 2006-04-18 Thomson Licensing S.A. Displaying graphical objects
US20060195548A1 (en) * 1999-08-27 2006-08-31 Ochoa Optics Llc Video distribution system
US7111243B1 (en) * 2001-03-02 2006-09-19 Oracle International Corporation Customization of tab-order functionality in internet applications
US7117144B2 (en) * 2001-03-31 2006-10-03 Microsoft Corporation Spell checking for text input via reduced keypad keys
US20060247917A1 (en) * 2005-04-29 2006-11-02 2012244 Ontario Inc. Method for generating text that meets specified characteristics in a handheld electronic device and a handheld electronic device incorporating the same
US20060265208A1 (en) * 2005-05-18 2006-11-23 Assadollahi Ramin O Device incorporating improved text input mechanism
US20070016862A1 (en) * 2005-07-15 2007-01-18 Microth, Inc. Input guessing systems, methods, and computer program products
US7191211B2 (en) * 2000-10-03 2007-03-13 Raja Tuli Portable high speed internet access device priority protocol
US20070074131A1 (en) * 2005-05-18 2007-03-29 Assadollahi Ramin O Device incorporating improved text input mechanism
US20070079239A1 (en) * 2000-10-27 2007-04-05 Firooz Ghassabian Data entry system
US20070076862A1 (en) * 2005-09-30 2007-04-05 Chatterjee Manjirnath A System and method for abbreviated text messaging
US20070088681A1 (en) * 2005-10-17 2007-04-19 Veveo, Inc. Method and system for offsetting network latencies during incremental searching using local caching and predictive fetching of results from a remote server
US20070226649A1 (en) * 2006-03-23 2007-09-27 Agmon Jonathan Method for predictive typing
US7293231B1 (en) * 1999-03-18 2007-11-06 British Columbia Ltd. Data entry for personal computing devices
US20080021699A1 (en) * 2006-07-19 2008-01-24 Dinesh Verma Multi-lingual text entry using a dynamically reconfigurable keyboard
US20080154576A1 (en) * 2006-12-21 2008-06-26 Jianchao Wu Processing of reduced-set user input text with selected one of multiple vocabularies and resolution modalities
US7395203B2 (en) * 2003-07-30 2008-07-01 Tegic Communications, Inc. System and method for disambiguating phonetic input
US20080195762A1 (en) * 2007-02-13 2008-08-14 Wood Michael C Multifunction data entry device and method
US20080306782A1 (en) * 2004-12-06 2008-12-11 Cellectivity Limited Method of Driving Traffic From a Mobile Wireless Device to an E-Commerce Site and Tracking that Traffic
US20090063135A1 (en) * 2007-08-31 2009-03-05 Vadim Fux Handheld Electronic Device and Method Employing Logical Proximity of Characters in Spell Checking
US20090070098A1 (en) * 2007-09-06 2009-03-12 Google Inc. Dynamic Virtual Input Device Configuration
US20090182552A1 (en) * 2008-01-14 2009-07-16 Fyke Steven H Method and handheld electronic device employing a touch screen for ambiguous word review or correction
US7580829B2 (en) * 2002-07-18 2009-08-25 Tegic Communications, Inc. Apparatus and method for reordering of multiple language databases for text disambiguation
US7664632B2 (en) * 2006-11-10 2010-02-16 Research In Motion Limited Method of using visual separators to indicate additional character combination choices on a handheld electronic device and associated apparatus
US7996781B2 (en) * 2007-04-04 2011-08-09 Vadim Zaliva List entry selection for electronic devices
US8289193B2 (en) * 2007-08-31 2012-10-16 Research In Motion Limited Mobile wireless communications device providing enhanced predictive word entry and related methods

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7072849B1 (en) * 1988-07-15 2006-07-04 International Business Machines Corporation Method for presenting advertising in an interactive service
US6850252B1 (en) * 1999-10-05 2005-02-01 Steven M. Hoffberg Intelligent electronic appliance system and method
US6029195A (en) * 1994-11-29 2000-02-22 Herz; Frederick S. M. System for customized electronic identification of desirable objects
JPH08180044A (en) * 1994-12-26 1996-07-12 Nec Eng Ltd Kana/kanji converter
JPH09223135A (en) * 1996-02-15 1997-08-26 Canon Inc Printing system and its controlling method
US6240555B1 (en) * 1996-03-29 2001-05-29 Microsoft Corporation Interactive entertainment system for presenting supplemental interactive content together with continuous video programs
US5848396A (en) * 1996-04-26 1998-12-08 Freedom Of Information, Inc. Method and apparatus for determining behavioral profile of a computer user
US5948061A (en) 1996-10-29 1999-09-07 Double Click, Inc. Method of delivery, targeting, and measuring advertising over networks
US6141010A (en) * 1998-07-17 2000-10-31 B. E. Technology, Llc Computer interface method and apparatus with targeted advertising
US6266649B1 (en) 1998-09-18 2001-07-24 Amazon.Com, Inc. Collaborative recommendations using item-to-item similarity mappings
CN1352776A (en) 1998-11-30 2002-06-05 英戴克系统公司 Smart agent based on habit, statistical inference and psycho-demographic profiling
JP3603936B2 (en) * 1999-01-22 2004-12-22 株式会社ソニー・コンピュータエンタテインメント Email advertising system
US20030182567A1 (en) * 1999-10-20 2003-09-25 Tivo Inc. Client-side multimedia content targeting system
US20020010757A1 (en) * 1999-12-03 2002-01-24 Joel Granik Method and apparatus for replacement of on-line advertisements
JP2006067620A (en) * 1999-12-08 2006-03-09 Ntt Docomo Inc Portable telephone and terminal equipment
JP4222712B2 (en) * 2000-06-27 2009-02-12 シャープ株式会社 Advertisement distribution system, second user device, and service providing device
US7613790B2 (en) 2000-07-13 2009-11-03 Biap Systems, Inc. Apparatus for and method of executing customized interactive computing services in a broadband network environment
US20060015904A1 (en) * 2000-09-08 2006-01-19 Dwight Marcus Method and apparatus for creation, distribution, assembly and verification of media
US6845374B1 (en) * 2000-11-27 2005-01-18 Mailfrontier, Inc System and method for adaptive text recommendation
US20020147638A1 (en) * 2001-04-05 2002-10-10 International Business Machines Corporation Business method for e-commerce through customized activity-based advertising
US20030163815A1 (en) * 2001-04-06 2003-08-28 Lee Begeja Method and system for personalized multimedia delivery service
JP4742456B2 (en) * 2001-06-29 2011-08-10 沖電気工業株式会社 Input control method and input control program
AU2002355530A1 (en) * 2001-08-03 2003-02-24 John Allen Ananian Personalized interactive digital catalog profiling
JP2003067510A (en) * 2001-08-22 2003-03-07 Sony Corp Terminal device, information providing device, information providing system, and information providing method
JP2003122787A (en) * 2001-10-12 2003-04-25 Nippon Television Network Corp System and method for optimizing advertisement distribution
JP2003223590A (en) * 2001-11-21 2003-08-08 Matsushita Electric Ind Co Ltd System and device for using attribute information
KR100431510B1 (en) * 2001-12-24 2004-05-14 한국전자통신연구원 Contents personalization method and apparatus by aggregating multiple profiles
US20030149975A1 (en) * 2002-02-05 2003-08-07 Charles Eldering Targeted advertising in on demand programming
US7899915B2 (en) * 2002-05-10 2011-03-01 Richard Reisman Method and apparatus for browsing using multiple coordinated device sets
US7360160B2 (en) * 2002-06-20 2008-04-15 At&T Intellectual Property, Inc. System and method for providing substitute content in place of blocked content
JP2005012282A (en) * 2003-06-16 2005-01-13 Toshiba Corp Electronic merchandise distributing system, electronic merchandise receiving terminal, and electronic merchandise distributing method
US20050222989A1 (en) 2003-09-30 2005-10-06 Taher Haveliwala Results based personalization of advertisements in a search engine
JP2005165487A (en) * 2003-12-01 2005-06-23 Nec Corp Portable terminal equipment and its information input method
JP2005190389A (en) 2003-12-26 2005-07-14 Matsushita Electric Ind Co Ltd Device and method for processing characters, and program
JP2005208943A (en) * 2004-01-22 2005-08-04 Denso It Laboratory Inc System for providing service candidate, user side communication device, and service candidate server
JP4777859B2 (en) * 2004-04-08 2011-09-21 シャープ株式会社 Service receiving apparatus, service providing apparatus, computer program and recording medium therefor
US9854058B2 (en) 2004-07-23 2017-12-26 At&T Intellectual Property I, L.P. Proxy-based profile management to deliver personalized services
US20060041472A1 (en) * 2004-08-23 2006-02-23 Lukose Rajan M Systems and methods of interfacing an advertisement with a message presentation client
US20060165005A1 (en) * 2004-11-15 2006-07-27 Microsoft Corporation Business method for pay-as-you-go computer and dynamic differential pricing
CA2613200A1 (en) * 2005-06-28 2007-01-04 Choicestream, Inc. Methods and apparatus for a statistical system for targeting advertisements
US20070004384A1 (en) 2005-06-29 2007-01-04 Vinod Anupam Method and apparatus for providing personalized audio content delivery during telephony hold
JP2007025808A (en) * 2005-07-12 2007-02-01 Canon Inc Virtual keyboard system and its control method
US20070038516A1 (en) * 2005-08-13 2007-02-15 Jeff Apple Systems, methods, and computer program products for enabling an advertiser to measure user viewing of and response to an advertisement
US7987182B2 (en) 2005-08-19 2011-07-26 Fourthwall Media, Inc. System and method for recommending items of interest to a user
JP2007108971A (en) * 2005-10-13 2007-04-26 Nec Corp Retrieval method and device in portable terminal
US20070088801A1 (en) * 2005-10-17 2007-04-19 Zohar Levkovitz Device, system and method of delivering targeted advertisements using wireless application protocol
US10803468B2 (en) * 2006-04-18 2020-10-13 At&T Intellectual Property I, L.P. Method and apparatus for selecting advertising

Patent Citations (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5479536A (en) * 1991-11-27 1995-12-26 International Business Machines Corporation Stroke syntax input device
US6460036B1 (en) * 1994-11-29 2002-10-01 Pinpoint Incorporated System and method for providing customized electronic newspapers and target advertisements
US5805911A (en) * 1995-02-01 1998-09-08 Microsoft Corporation Word prediction system
US5623406A (en) * 1995-03-06 1997-04-22 Jean D. Ichbiah Method and system for entering text in computer equipment
US6011554A (en) * 1995-07-26 2000-01-04 Tegic Communications, Inc. Reduced keyboard disambiguating system
US5952942A (en) * 1996-11-21 1999-09-14 Motorola, Inc. Method and device for input of text messages from a keypad
US6307548B1 (en) * 1997-09-25 2001-10-23 Tegic Communications, Inc. Reduced keyboard disambiguating system
US6456981B1 (en) * 1998-09-30 2002-09-24 Ncr Corporation Method and apparatus for displaying a customized advertising message with a retail terminal
US7293231B1 (en) * 1999-03-18 2007-11-06 British Columbia Ltd. Data entry for personal computing devices
US20060195548A1 (en) * 1999-08-27 2006-08-31 Ochoa Optics Llc Video distribution system
US7030890B1 (en) * 1999-11-02 2006-04-18 Thomson Licensing S.A. Displaying graphical objects
US6826413B1 (en) * 1999-12-08 2004-11-30 Ntt Docomo, Inc. Portable telephone and terminal equipment
US20050132295A1 (en) * 2000-04-17 2005-06-16 Roland Noll Channel dancer
US7191211B2 (en) * 2000-10-03 2007-03-13 Raja Tuli Portable high speed internet access device priority protocol
US20040021691A1 (en) * 2000-10-18 2004-02-05 Mark Dostie Method, system and media for entering data in a personal computing device
US20070079239A1 (en) * 2000-10-27 2007-04-05 Firooz Ghassabian Data entry system
US6728679B1 (en) * 2000-10-30 2004-04-27 Koninklijke Philips Electronics N.V. Self-updating user interface/entertainment device that simulates personal interaction
US20020052782A1 (en) * 2000-10-30 2002-05-02 Mark Landesmann Buyer-driven targeting of purchasing entities
US20020075320A1 (en) * 2000-12-14 2002-06-20 Philips Electronics North America Corp. Method and apparatus for generating recommendations based on consistency of selection
US20020093535A1 (en) * 2001-01-17 2002-07-18 Murphy Michael William User interface for character entry using a minimum number of selection keys
US20020152203A1 (en) * 2001-02-07 2002-10-17 Christian Ostergaard Communication terminal having a predictive text editor application
US7111243B1 (en) * 2001-03-02 2006-09-19 Oracle International Corporation Customization of tab-order functionality in internet applications
US7117144B2 (en) * 2001-03-31 2006-10-03 Microsoft Corporation Spell checking for text input via reduced keypad keys
US20030028889A1 (en) * 2001-08-03 2003-02-06 Mccoskey John S. Video and digital multimedia aggregator
US20040243389A1 (en) * 2001-08-08 2004-12-02 Thomas Ronald Howard Method and apparatus for selecting symbols in ideographic languages
US20030135484A1 (en) * 2002-01-14 2003-07-17 Alcatel Method for using services at a terminal and a terminal, a server and a program module therefore
US20030197736A1 (en) * 2002-01-16 2003-10-23 Murphy Michael W. User interface for character entry using a minimum number of selection keys
US20050283358A1 (en) * 2002-06-20 2005-12-22 James Stephanick Apparatus and method for providing visual indication of character ambiguity during text entry
US7580829B2 (en) * 2002-07-18 2009-08-25 Tegic Communications, Inc. Apparatus and method for reordering of multiple language databases for text disambiguation
US20040158503A1 (en) * 2003-01-31 2004-08-12 Gross John N. Media queue monitor
US20040182567A1 (en) * 2003-03-20 2004-09-23 Matthews Martim Vincent Wellhead leak containment and blowout deflection apparatus
US20040267816A1 (en) * 2003-04-07 2004-12-30 Russek David J. Method, system and software for digital media narrative personalization
US20040230912A1 (en) * 2003-05-13 2004-11-18 Microsoft Corporation Multiple input language selection
US7395203B2 (en) * 2003-07-30 2008-07-01 Tegic Communications, Inc. System and method for disambiguating phonetic input
US20050187754A1 (en) * 2003-12-09 2005-08-25 Dana Suess Software-based keystroke eliminator for alpha-numeric keyboards and keypads
US20050283540A1 (en) * 2004-06-02 2005-12-22 Vadim Fux Handheld electronic device with text disambiguation
US20060047498A1 (en) * 2004-08-31 2006-03-02 Vadim Fux System and method for multilanguage text input in a handheld electronic device
US20080306782A1 (en) * 2004-12-06 2008-12-11 Cellectivity Limited Method of Driving Traffic From a Mobile Wireless Device to an E-Commerce Site and Tracking that Traffic
US20060247917A1 (en) * 2005-04-29 2006-11-02 2012244 Ontario Inc. Method for generating text that meets specified characteristics in a handheld electronic device and a handheld electronic device incorporating the same
US20070074131A1 (en) * 2005-05-18 2007-03-29 Assadollahi Ramin O Device incorporating improved text input mechanism
US20060265208A1 (en) * 2005-05-18 2006-11-23 Assadollahi Ramin O Device incorporating improved text input mechanism
US8036878B2 (en) * 2005-05-18 2011-10-11 Never Wall Treuhand GmbH Device incorporating improved text input mechanism
US20070016862A1 (en) * 2005-07-15 2007-01-18 Microth, Inc. Input guessing systems, methods, and computer program products
US20070076862A1 (en) * 2005-09-30 2007-04-05 Chatterjee Manjirnath A System and method for abbreviated text messaging
US20070088681A1 (en) * 2005-10-17 2007-04-19 Veveo, Inc. Method and system for offsetting network latencies during incremental searching using local caching and predictive fetching of results from a remote server
US20070226649A1 (en) * 2006-03-23 2007-09-27 Agmon Jonathan Method for predictive typing
US20080021699A1 (en) * 2006-07-19 2008-01-24 Dinesh Verma Multi-lingual text entry using a dynamically reconfigurable keyboard
US7664632B2 (en) * 2006-11-10 2010-02-16 Research In Motion Limited Method of using visual separators to indicate additional character combination choices on a handheld electronic device and associated apparatus
US20080154576A1 (en) * 2006-12-21 2008-06-26 Jianchao Wu Processing of reduced-set user input text with selected one of multiple vocabularies and resolution modalities
US20080195762A1 (en) * 2007-02-13 2008-08-14 Wood Michael C Multifunction data entry device and method
US7996781B2 (en) * 2007-04-04 2011-08-09 Vadim Zaliva List entry selection for electronic devices
US20090063135A1 (en) * 2007-08-31 2009-03-05 Vadim Fux Handheld Electronic Device and Method Employing Logical Proximity of Characters in Spell Checking
US8289193B2 (en) * 2007-08-31 2012-10-16 Research In Motion Limited Mobile wireless communications device providing enhanced predictive word entry and related methods
US20090070098A1 (en) * 2007-09-06 2009-03-12 Google Inc. Dynamic Virtual Input Device Configuration
US20090182552A1 (en) * 2008-01-14 2009-07-16 Fyke Steven H Method and handheld electronic device employing a touch screen for ambiguous word review or correction

Cited By (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9035876B2 (en) 2008-01-14 2015-05-19 Apple Inc. Three-dimensional user interface session control
US9294862B2 (en) 2008-04-17 2016-03-22 Samsung Electronics Co., Ltd. Method and apparatus for processing audio signals using motion of a sound source, reverberation property, or semantic object
US20110035227A1 (en) * 2008-04-17 2011-02-10 Samsung Electronics Co., Ltd. Method and apparatus for encoding/decoding an audio signal by using audio semantic information
US20110047155A1 (en) * 2008-04-17 2011-02-24 Samsung Electronics Co., Ltd. Multimedia encoding method and device based on multimedia content characteristics, and a multimedia decoding method and device based on multimedia
US20110060599A1 (en) * 2008-04-17 2011-03-10 Samsung Electronics Co., Ltd. Method and apparatus for processing audio signals
US20100199228A1 (en) * 2009-01-30 2010-08-05 Microsoft Corporation Gesture Keyboarding
US9332106B2 (en) 2009-01-30 2016-05-03 Blackberry Limited System and method for access control in a portable electronic device
US20190012353A1 (en) * 2009-03-16 2019-01-10 Apple Inc. Multifunction device with integrated search and application selection
US11720584B2 (en) * 2009-03-16 2023-08-08 Apple Inc. Multifunction device with integrated search and application selection
US10073829B2 (en) 2009-03-30 2018-09-11 Touchtype Limited System and method for inputting text into electronic devices
US10191654B2 (en) 2009-03-30 2019-01-29 Touchtype Limited System and method for inputting text into electronic devices
US9424246B2 (en) 2009-03-30 2016-08-23 Touchtype Ltd. System and method for inputting text into electronic devices
US9659002B2 (en) 2009-03-30 2017-05-23 Touchtype Ltd System and method for inputting text into electronic devices
US20140350920A1 (en) 2009-03-30 2014-11-27 Touchtype Ltd System and method for inputting text into electronic devices
US20120223889A1 (en) * 2009-03-30 2012-09-06 Touchtype Ltd System and Method for Inputting Text into Small Screen Devices
US9189472B2 (en) * 2009-03-30 2015-11-17 Touchtype Limited System and method for inputting text into small screen devices
US10402493B2 (en) 2009-03-30 2019-09-03 Touchtype Ltd System and method for inputting text into electronic devices
US10445424B2 (en) 2009-03-30 2019-10-15 Touchtype Limited System and method for inputting text into electronic devices
US9122393B2 (en) 2009-09-30 2015-09-01 At&T Mobility Ii Llc Predictive sensitized keypad
US9128610B2 (en) 2009-09-30 2015-09-08 At&T Mobility Ii Llc Virtual predictive keypad
US20110074685A1 (en) * 2009-09-30 2011-03-31 At&T Mobility Ii Llc Virtual Predictive Keypad
US20110074704A1 (en) * 2009-09-30 2011-03-31 At&T Mobility Ii Llc Predictive Sensitized Keypad
US9134811B2 (en) 2009-09-30 2015-09-15 At&T Mobility Ii Llc Angular sensitized keypad
US20110074692A1 (en) * 2009-09-30 2011-03-31 At&T Mobility Ii Llc Devices and Methods for Conforming a Virtual Keyboard
US8812972B2 (en) 2009-09-30 2014-08-19 At&T Intellectual Property I, L.P. Dynamic generation of soft keyboards for mobile devices
US8810516B2 (en) 2009-09-30 2014-08-19 At&T Mobility Ii Llc Angular sensitized keypad
US8816965B2 (en) 2009-09-30 2014-08-26 At&T Mobility Ii Llc Predictive force sensitive keypad
US20110078613A1 (en) * 2009-09-30 2011-03-31 At&T Intellectual Property I, L.P. Dynamic Generation of Soft Keyboards for Mobile Devices
US20110074686A1 (en) * 2009-09-30 2011-03-31 At&T Mobility Ii Llc Angular Sensitized Keypad
US20110074691A1 (en) * 2009-09-30 2011-03-31 At&T Mobility Ii Llc Predictive Force Sensitive Keypad
US9046932B2 (en) 2009-10-09 2015-06-02 Touchtype Ltd System and method for inputting text into electronic devices based on text and text category predictions
US20120192091A1 (en) * 2010-10-19 2012-07-26 International Business Machines Corporation Automatically Reconfiguring an Input Interface
US11206182B2 (en) * 2010-10-19 2021-12-21 International Business Machines Corporation Automatically reconfiguring an input interface
US20120096409A1 (en) * 2010-10-19 2012-04-19 International Business Machines Corporation Automatically Reconfiguring an Input Interface
US10764130B2 (en) * 2010-10-19 2020-09-01 International Business Machines Corporation Automatically reconfiguring an input interface
US20120110579A1 (en) * 2010-10-29 2012-05-03 Microsoft Corporation Enterprise resource planning oriented context-aware environment
US10026058B2 (en) * 2010-10-29 2018-07-17 Microsoft Technology Licensing, Llc Enterprise resource planning oriented context-aware environment
US8872762B2 (en) 2010-12-08 2014-10-28 Primesense Ltd. Three dimensional user interface cursor control
US8933876B2 (en) 2010-12-13 2015-01-13 Apple Inc. Three dimensional user interface session control
CN103370705A (en) * 2011-01-05 2013-10-23 谷歌公司 Method and system for facilitating text input
US9009030B2 (en) * 2011-01-05 2015-04-14 Google Inc. Method and system for facilitating text input
US20120173222A1 (en) * 2011-01-05 2012-07-05 Google Inc. Method and system for facilitating text input
US8881051B2 (en) 2011-07-05 2014-11-04 Primesense Ltd Zoom-based gesture user interface
US9377865B2 (en) 2011-07-05 2016-06-28 Apple Inc. Zoom-based gesture user interface
US9459758B2 (en) 2011-07-05 2016-10-04 Apple Inc. Gesture-based interface with enhanced features
US9030498B2 (en) * 2011-08-15 2015-05-12 Apple Inc. Combining explicit select gestures and timeclick in a non-tactile three dimensional user interface
US20130044053A1 (en) * 2011-08-15 2013-02-21 Primesense Ltd. Combining Explicit Select Gestures And Timeclick In A Non-Tactile Three Dimensional User Interface
US9218063B2 (en) 2011-08-24 2015-12-22 Apple Inc. Sessionless pointing user interface
US10235355B2 (en) 2011-09-29 2019-03-19 Microsoft Technology Licensing, Llc System, method, and computer-readable storage device for providing cloud-based shared vocabulary/typing history for efficient social communication
US20130085747A1 (en) * 2011-09-29 2013-04-04 Microsoft Corporation System, Method and Computer-Readable Storage Device for Providing Cloud-Based Shared Vocabulary/Typing History for Efficient Social Communication
US9785628B2 (en) * 2011-09-29 2017-10-10 Microsoft Technology Licensing, Llc System, method and computer-readable storage device for providing cloud-based shared vocabulary/typing history for efficient social communication
US8490008B2 (en) 2011-11-10 2013-07-16 Research In Motion Limited Touchscreen keyboard predictive display and generation of a set of characters
US9652448B2 (en) 2011-11-10 2017-05-16 Blackberry Limited Methods and systems for removing or replacing on-keyboard prediction candidates
US9715489B2 (en) 2011-11-10 2017-07-25 Blackberry Limited Displaying a prediction candidate after a typing mistake
US9122672B2 (en) 2011-11-10 2015-09-01 Blackberry Limited In-letter word prediction for virtual keyboard
US9032322B2 (en) 2011-11-10 2015-05-12 Blackberry Limited Touchscreen keyboard predictive display and generation of a set of characters
US9310889B2 (en) 2011-11-10 2016-04-12 Blackberry Limited Touchscreen keyboard predictive display and generation of a set of characters
US9152323B2 (en) 2012-01-19 2015-10-06 Blackberry Limited Virtual keyboard providing an indication of received input
US9557913B2 (en) 2012-01-19 2017-01-31 Blackberry Limited Virtual keyboard display having a ticker proximate to the virtual keyboard
US8659569B2 (en) 2012-02-24 2014-02-25 Blackberry Limited Portable electronic device including touch-sensitive display and method of controlling same
US9910588B2 (en) 2012-02-24 2018-03-06 Blackberry Limited Touchscreen keyboard providing word predictions in partitions of the touchscreen keyboard in proximate association with candidate letters
US9229534B2 (en) 2012-02-28 2016-01-05 Apple Inc. Asymmetric mapping for tactile and non-tactile user interfaces
US9201510B2 (en) 2012-04-16 2015-12-01 Blackberry Limited Method and device having touchscreen keyboard with visual cues
US9354805B2 (en) 2012-04-30 2016-05-31 Blackberry Limited Method and apparatus for text selection
US9442651B2 (en) 2012-04-30 2016-09-13 Blackberry Limited Method and apparatus for text selection
US10331313B2 (en) 2012-04-30 2019-06-25 Blackberry Limited Method and apparatus for text selection
US8543934B1 (en) 2012-04-30 2013-09-24 Blackberry Limited Method and apparatus for text selection
US8972241B2 (en) * 2012-04-30 2015-03-03 Blackberry Limited Electronic device and method for a bidirectional context-based text disambiguation
US10025487B2 (en) 2012-04-30 2018-07-17 Blackberry Limited Method and apparatus for text selection
US9195386B2 (en) 2012-04-30 2015-11-24 Blackberry Limited Method and apapratus for text selection
US20130289975A1 (en) * 2012-04-30 2013-10-31 Research In Motion Limited Electronic device and method for a bidirectional context-based text disambiguation
US9292192B2 (en) 2012-04-30 2016-03-22 Blackberry Limited Method and apparatus for text selection
US9207860B2 (en) 2012-05-25 2015-12-08 Blackberry Limited Method and apparatus for detecting a gesture
US9116552B2 (en) 2012-06-27 2015-08-25 Blackberry Limited Touchscreen keyboard providing selection of word predictions in partitions of the touchscreen keyboard
US20150128049A1 (en) * 2012-07-06 2015-05-07 Robert S. Block Advanced user interface
US20140019126A1 (en) * 2012-07-13 2014-01-16 International Business Machines Corporation Speech-to-text recognition of non-dictionary words using location data
US9524290B2 (en) 2012-08-31 2016-12-20 Blackberry Limited Scoring predictions based on prediction length and typing speed
US9063653B2 (en) 2012-08-31 2015-06-23 Blackberry Limited Ranking predictions based on typing speed and typing confidence
US9189157B2 (en) 2013-03-15 2015-11-17 Blackberry Limited Method and apparatus for word prediction selection
US10642933B2 (en) 2013-03-15 2020-05-05 Blackberry Limited Method and apparatus for word prediction selection
US9348429B2 (en) 2013-03-15 2016-05-24 Blackberry Limited Method and apparatus for word prediction using the position of a non-typing digit
US20140331131A1 (en) * 2013-05-02 2014-11-06 Autumn Brandy DeSellem Accessible Self-Service Kiosk
US9261973B2 (en) 2013-06-07 2016-02-16 Blackberry Limited Method and system for previewing characters based on finger position on keyboard
CN103440299A (en) * 2013-08-20 2013-12-11 陈喜 Quick information input method based on focus context associational words
US9841873B1 (en) * 2013-12-30 2017-12-12 James Ernest Schroeder Process for reducing the number of physical actions required while inputting character strings
US9477653B2 (en) 2014-06-26 2016-10-25 Blackberry Limited Character entry for an electronic device using a position sensing keyboard
US10372310B2 (en) 2016-06-23 2019-08-06 Microsoft Technology Licensing, Llc Suppression of input images
US11622145B2 (en) 2017-02-14 2023-04-04 Samsung Electronics Co., Ltd. Display device and method, and advertisement server
US20180349348A1 (en) * 2017-06-05 2018-12-06 Blackberry Limited Generating predictive texts on an electronic device
US11263399B2 (en) * 2017-07-31 2022-03-01 Apple Inc. Correcting input based on user context
US20220366137A1 (en) * 2017-07-31 2022-11-17 Apple Inc. Correcting input based on user context
US11900057B2 (en) * 2017-07-31 2024-02-13 Apple Inc. Correcting input based on user context

Also Published As

Publication number Publication date
CA2686601C (en) 2016-10-04
KR101528592B1 (en) 2015-06-12
EP2156316A1 (en) 2010-02-24
WO2008137158A1 (en) 2008-11-13
EP2156316A4 (en) 2013-03-06
CA2686592A1 (en) 2008-11-13
JP5735087B2 (en) 2015-06-17
JP2010527066A (en) 2010-08-05
JP2010530561A (en) 2010-09-09
KR20100019991A (en) 2010-02-19
CA2686601A1 (en) 2008-11-13
US8639826B2 (en) 2014-01-28
WO2008137160A1 (en) 2008-11-13
JP2014075150A (en) 2014-04-24
KR101528586B1 (en) 2015-06-12
KR20100036240A (en) 2010-04-07
US20080281974A1 (en) 2008-11-13
EP2156280A1 (en) 2010-02-24
EP2156280A4 (en) 2014-09-10

Similar Documents

Publication Publication Date Title
US20080281583A1 (en) Context-dependent prediction and learning with a universal re-entrant predictive text input software component
US10775967B2 (en) Context-aware field value suggestions
US8374846B2 (en) Text input device and method
US9389700B2 (en) Apparatus and method for inputting characters on touch screen of a terminal
US9104312B2 (en) Multimodal text input system, such as for use with touch screens on mobile phones
US8136050B2 (en) Electronic device and user interface and input method therefor
EP2051158B1 (en) System for text entry
KR101633842B1 (en) Multiple graphical keyboards for continuous gesture input
US20130002553A1 (en) Character entry apparatus and associated methods
US20100171700A1 (en) Method and apparatus for text entry
US20090249203A1 (en) User interface device, computer program, and its recording medium
US20090005088A1 (en) Mobile communication device and the operating method thereof
KR20120006503A (en) Improved text input
JP2003523562A (en) pointing device
KR20040002875A (en) Hand-held device that supports fast text typing
JP2012230718A (en) Smart soft keyboard
WO2011056610A2 (en) Predictive text entry for input devices
US20090077494A1 (en) Contextual prediction
US20110145705A1 (en) Control method of user interface
US20160267800A1 (en) Electronic device and method for providing learning information using the same
EP2020636A1 (en) Context senstive text input device and method in which candidate words are displayed in a spatial arrangement according to that of the device input means
JP5105093B2 (en) Terminal device and program

Legal Events

Date Code Title Description
AS Assignment

Owner name: BIAP, INC., VIRGINIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SLOTHOUBER, LOUIS P.;DAVIS, ERIC H.;YOUNG, MICHAEL K.;AND OTHERS;REEL/FRAME:021107/0128;SIGNING DATES FROM 20080527 TO 20080529

AS Assignment

Owner name: FOURTHWALL MEDIA, INC., VIRGINIA

Free format text: CHANGE OF NAME;ASSIGNOR:BIAP, INC.;REEL/FRAME:023449/0009

Effective date: 20091022

AS Assignment

Owner name: SILICON VALLEY BANK, CALIFORNIA

Free format text: SECURITY AGREEMENT;ASSIGNOR:FOURTHWALL MEDIA, INC.;REEL/FRAME:028561/0700

Effective date: 20120716

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION