Nova Patents
CA2392446C

Keyboard system with automatic correction

Abstract

An enhanced text entry system using word-level analysis to auto-matically correct inaccuracies in user keystroke entries on reduced keyboards. The keyboard (105) may be a part of a touch-sensitive panel or display screen (100) or on a mechanical keyboard system. A method and system are defined which determine one or more alternative textual interpretations of each sequence of inputs detected within a designated auto-correcting keyboard region (106). The actual contact locations for the keystrokes may occur outside the boundaries of the specific keyboard key regions, where the distance from each contact location to each corresponding intended character may in general increase with the expected frequency of the intended word in the language or in a particular context. The user can easily select the intended word from among the generated interpretations.

CA2392446C, drawing sheet 1
Sheet 1 of 5

Term

Term ended

Expired 26 May 2020, 6.3 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

74 claims: 2 independent, 72 dependent

  1. 1
    CA 02392446 2007-07-17 CLAIMS 1. A text entry system comprising:(a) a user input device comprising a touch sensitive surface including an autocorrecting keyboard region comprising a plurality of the characters of an alphabet, wherein each of the plurality of characters corresponds to a location with known coordinates in the auto-correcting keyboard region, wherein each time a user contacts the user input device within the auto-correcting keyboard region, a location associated with the user contact is determined and the determined contact location is added to a current input sequence of contact locations;(b) a memory containing a plurality of objects, wherein each object is further associated with a frequency of use, and wherein each of the plurality of objects in memory is further associated with one or a plurality of predefined groupings of objects;(c) an output device with a text display area;and (d) a processor coupled to the user input device, memory, and output device, said processor comprising: (i) a distance value calculation component which, for each determined contact location in the input sequence of contacts, calculates a set of distance values between the contact locations and the known coordinate locations corresponding to one or a plurality of characters within the auto-correcting keyboard region;(ii) a word evaluation component which, for each generated input sequence, identifies one or a plurality of candidate objects in memory, and for each of the one or a plurality of identified candidate objects, evaluates each identified candidate object by calculating a matching metric based on the calculated distance values and the frequency of use associated with the object, and ranks the evaluated candidate objects based on the calculated matching metric values;(iii) a selection component for identifying one or a plurality of candidate objects according to their evaluated ranking, presenting the identified objects to CA 02392446 2007-07-17 the user, and enabling the user to select one of the presented objects for output to the text display area on the output device;and (iv) a frequency promotion component for increasing a relative frequency of use value associated with each object in memory as a function of the number of times the object is selected by the user for output to the text display area on the output device and for decreasing a relative frequency of use value associated with each object in memory as a function of the number of times the object is passed over by the user.
  2. 60
    A text entry system comprising:(a) a user input device comprising a touch sensitive surface including an autocorrecting keyboard region comprising a plurality of the characters of an alphabet, wherein each of the plurality of characters corresponds to a location with known coordinates in the auto-correcting keyboard region, wherein each time a user contacts the user input device within the auto-correcting keyboard region, a location associated with the user contact is determined and the determined contact location is added to a current input sequence of contact locations;(b) a memory containing a plurality of objects, wherein each object is further associated with a frequency of use, and wherein each of the plurality of objects in memory is further associated with one or a plurality of predefined groupings of objects;(c) an output device with a text display area;and (d) a processor coupled to the user input device, memory, and output device, said processor comprising: (i) a distance value calculation component which, for each generated key activation event location in the input sequence of key activation events, calculates a set of distance values between the key activation event location and the known coordinate locations corresponding to one or a plurality of keys within the autocorrecting keyboard region;CA 02392446 2007-07-17 (ii) a word evaluation component which, for each generated input sequence, identifies one or a plurality of candidate objects in memory, and for each of the one or a plurality of identified candidate objects, evaluates each identified candidate object by calculating a matching metric based on the calculated distance values and the frequency of use associated with the object, and ranks the evaluated candidate objects based on the calculated matching metric values;(iii) a selection component for identifying one or a plurality of candidate objects according to their evaluated ranking, presenting the identified objects to the user, and enabling the user to select one of the presented objects for output to the text display area on the output device;and (iv) a frequency promotion component for increasing a relative frequency of use value associated with each object in memory as a function of the number of times the object is selected by the user for output to the text display area on the output device and for decreasing a relative frequency of use value associated with each object in memory as a function of the number of times the object is passed over by the user.