US8395586B2 - Method of learning a context of a segment of text, and associated handheld electronic device - Google Patents

Method of learning a context of a segment of text, and associated handheld electronic device Download PDF

Info

Publication number
US8395586B2
US8395586B2 US11/427,971 US42797106A US8395586B2 US 8395586 B2 US8395586 B2 US 8395586B2 US 42797106 A US42797106 A US 42797106A US 8395586 B2 US8395586 B2 US 8395586B2
Authority
US
United States
Prior art keywords
characters
character
replacement
alphabet
combination object
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.)
Active, expires
Application number
US11/427,971
Other versions
US20080002885A1 (en
Inventor
Vadim Fux
Sergey Kolomiets
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.)
Malikie Innovations Ltd
Original Assignee
Research in Motion Ltd
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
Assigned to 2012244 ONTARIO INC. reassignment 2012244 ONTARIO INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: FUX, VADIM, KOLOMIETS, SERGEY
Priority to US11/427,971 priority Critical patent/US8395586B2/en
Application filed by Research in Motion Ltd filed Critical Research in Motion Ltd
Assigned to RESEARCH IN MOTION LIMITED reassignment RESEARCH IN MOTION LIMITED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: 2012244 ONTARIO INC.
Priority to TW096123877A priority patent/TWI336450B/en
Publication of US20080002885A1 publication Critical patent/US20080002885A1/en
Priority to US13/760,518 priority patent/US9171234B2/en
Publication of US8395586B2 publication Critical patent/US8395586B2/en
Application granted granted Critical
Assigned to BLACKBERRY LIMITED reassignment BLACKBERRY LIMITED CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: RESEARCH IN MOTION LIMITED
Assigned to MALIKIE INNOVATIONS LIMITED reassignment MALIKIE INNOVATIONS LIMITED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BLACKBERRY LIMITED
Assigned to MALIKIE INNOVATIONS LIMITED reassignment MALIKIE INNOVATIONS LIMITED NUNC PRO TUNC ASSIGNMENT (SEE DOCUMENT FOR DETAILS). Assignors: BLACKBERRY LIMITED
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/24Character recognition characterised by the processing or recognition method
    • G06V30/242Division of the character sequences into groups prior to recognition; Selection of dictionaries
    • G06V30/246Division of the character sequences into groups prior to recognition; Selection of dictionaries using linguistic properties, e.g. specific for English or German language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/26Techniques for post-processing, e.g. correcting the recognition result
    • G06V30/262Techniques for post-processing, e.g. correcting the recognition result using context analysis, e.g. lexical, syntactic or semantic context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/018Input/output arrangements for oriental characters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Definitions

  • the disclosed and claimed concept relates generally to handheld electronic devices and, more particularly, to a method of learning a context for a character segment during text input.
  • handheld electronic devices Numerous types of handheld electronic devices are known. Examples of such handheld electronic devices include, for instance, personal data assistants (PDAs), handheld computers, two-way pagers, cellular telephones, and the like. Many handheld electronic devices also feature wireless communication capability, although many such handheld electronic devices are stand-alone devices that are functional without communication with other devices.
  • PDAs personal data assistants
  • handheld computers two-way pagers
  • cellular telephones and the like.
  • Many handheld electronic devices also feature wireless communication capability, although many such handheld electronic devices are stand-alone devices that are functional without communication with other devices.
  • a handheld electronic device having a keypad of Latin letters can be employed to enter text in languages that are not based upon Latin letters.
  • pinyin Chinese is a type of phonetic Chinese “alphabet” which enables transcription between Latin text and Standard Mandarin text. Pinyin Chinese can thus enable the input of Standard Mandarin characters by entering Latin letters.
  • a “pin” is a phonetic sound, oftentimes formed from a plurality of Latin letters, and each pin is associated with one or more Standard Mandarin characters. More than four hundred pins exist, and each pin typically corresponds with a plurality of different Standard Mandarin characters. While methods and devices for text input such as pinyin Chinese text input have been generally effective for their intended purposes, such methods and devices have not been without limitation.
  • each Standard Mandarin character is itself a Chinese word.
  • a given Standard Mandarin character in combination with one or more other Standard Mandarin characters can constitute a different word.
  • An exemplary pin could be phonetically characterized as “da”, which would be input on a Latin keyboard by actuating the ⁇ D> key followed by an actuation of the ⁇ A> key.
  • the pin “da” corresponds with a plurality of different Chinese characters.
  • the pin “da” can be a single syllable represented by a character within a Chinese word having a plurality of syllables, with each syllable being represented by a Standard Mandarin character.
  • substantial difficulty exits in determining which specific Standard Mandarin character should be output in response to an input of a pin when the pin corresponds with a plurality of Standard Mandarin characters.
  • an exemplary algorithm would be the “simple maximum matching” algorithm, which is one algorithm among many, both simple and complex, of the well known Maximum Matching Algorithm.
  • a given device may have stored thereon a number of Chinese words comprised of one or more Chinese characters, and the algorithm(s) executed on the device may employ such linguistic data to develop the best possible character interpretation of a series of input pins.
  • the aforementioned simple maximum matching algorithm might generate a character interpretation comprising the largest Chinese words, i.e., the words having the greatest quantity of Standard Mandarin characters.
  • the algorithm might, as a first step, obtain the largest Chinese word having characters that correspond with the pins at the beginning of the pin sequence.
  • the algorithm might obtain the largest Chinese word having characters that correspond with the pins in the sequence that immediately follow the previous word. This is repeated until Chinese words have been obtained for all of the pins in the input sequence. The result is then output.
  • FIG. 1 is a front elevational view of an exemplary handheld electronic device in accordance with the disclosed and claimed concept upon which is performed an improved method in accordance with the disclosed and claimed concept;
  • FIG. 2 is a schematic depiction of the handheld electronic device of FIG. 1 ;
  • FIG. 3 is a schematic depiction of a portion of the handheld electronic device of FIG. 1 ;
  • FIG. 4 is an exemplary flowchart depicting a portion of the improved method
  • FIG. 5 is an exemplary output during an exemplary text input operation
  • FIG. 6 is another exemplary output during the exemplary text input operation
  • FIG. 7 is an exemplary flowchart depicting another portion of the improved method
  • FIG. 8 is an exemplary flowchart depicting another portion of the improved method
  • FIG. 9 is an exemplary output during another exemplary text input operation.
  • FIG. 10 is another exemplary output during the another exemplary text input operation.
  • FIG. 1 An improved handheld electronic device 4 in accordance with the disclosed and claimed concept is indicated generally in FIG. 1 and is depicted schematically in FIG. 2 .
  • the improved handheld electronic device 4 comprised an input apparatus 8 , an output apparatus 12 , and a processor apparatus 16 .
  • the input apparatus 8 provides input to the processor apparatus 16 .
  • the processor apparatus 16 provides output signals to the output apparatus 12 .
  • the handheld electronic device and the associated method described herein advantageously enable the input of text.
  • the exemplary device and method are described herein in terms of pinyin Chinese, but it is understood that the teachings herein can be employed in conjunction with other types of text input, and can be employed in conjunction with other languages such as Japanese and Korean, without limitation.
  • the input apparatus 8 comprises a keypad 20 and a thumbwheel 24 .
  • the keypad 20 in the exemplary embodiment depicted herein is a Latin keypad comprising a plurality of keys 26 that are each actuatable to input to the processor apparatus 16 the Latin character indicated thereon.
  • the thumbwheel 24 is rotatable to provide navigational and other input to the processor apparatus 16 , and additionally is translatable in the direction of the arrow 28 of FIG. 1 to provide other input, such as selection inputs.
  • the keys 26 and the thumbwheel 24 serve as input members which are actuatable to provide input to the processor apparatus 16 .
  • the exemplary output apparatus 12 comprises a display 32 .
  • Examples of other input members not expressly depicted herein would include, for instance, a mouse or trackball for providing navigational inputs, such as could be reflected by movement of a cursor on the display 32 , and other inputs such as selection inputs.
  • Still other exemplary input members would include a touch-sensitive display, a stylus pen for making menu input selections on a touch-sensitive display displaying menu options and/or soft buttons of a graphical user interface (GUI), hard buttons disposed on a case of the handheld electronic device 4 , an so on.
  • Examples of other output devices would include a touch-sensitive display, an audio speaker, and so on.
  • An exemplary mouse or trackball would likely advantageously be of a type that provides various types of navigational inputs.
  • a mouse or trackball could provide navigational inputs in both vertical and horizontal directions with respect to the display 32 , which can facilitate input by the user.
  • the processor apparatus 16 comprises a processor 36 and a memory 40 .
  • the processor 36 may be, for example and without limitation, a microprocessor ( ⁇ P) at interfaces with the memory 40 .
  • the memory 40 can be any one or more of a variety of types of internal and/or external storage media such as, without limitation, RAM, ROM, EPROM(s), EEPROM(s), and the like that provide a storage register for data storage such as in the fashion of an internal storage area of a computer, and can be volatile memory or nonvolatile memory.
  • the memory 40 is depicted schematically in FIG. 3 .
  • the memory 40 has stored therein a plurality of objects 44 and a number of routines 48 .
  • the routines 48 are executable on the processor 36 .
  • the objects 44 comprise a plurality of raw inputs 52 , a plurality of characters 56 , a plurality of combination objects 60 , a plurality of generic segments 64 , a number of candidates 68 , and a number of learned segments 72 .
  • the expression “a number of” and variations thereof shall refer broadly to a nonzero quantity, including a quantity of one.
  • the exemplary memory 40 is depicted as having stored therein at least a first candidate 68 and at least a first learned segment 72 , although it is understood that the memory 40 need not at all times comprise candidates 68 and/or learned segments 72 .
  • the handheld electronic device 4 when new, may not yet have stored in the memory 40 any candidates 68 or any learned segments 72 , it being understood that one or more candidates 68 and/or learned segments 72 can become stored in the memory 40 with use of the handheld electronic device 4 .
  • the raw inputs 52 and characters 56 may be stored in a table wherein each raw input 52 is associated with one or more of the characters 56 .
  • the exemplary language is Chinese, and thus each raw input 52 would be a pin in the scheme of pinyin Chinese. Associated with each such raw input 52 , i.e., pin, would be one or more characters 56 , i.e., Standard Mandarin characters.
  • the generic segments 64 each comprise a plurality of the characters 56 .
  • each possible two-character permutation of the Standard Mandarin characters is stored as a generic segment 64 .
  • other Chinese words comprising three or more Standard Mandarin characters are each stored as a generic segment 64 , based upon prevalent usage within the language.
  • the generic segments 64 are each at most six Standard Mandarin characters in length, although only an extremely small number of generic segments 64 comprise six Standard Mandarin characters.
  • the candidates 68 are each a series of Standard Mandarin characters that were the subject of an initial portion of a learning cycle, i.e., an object for which the learning cycle has not yet been completed.
  • the learned segments 72 are each a plurality of Standard Mandarin characters which resulted from candidates 68 which went through an entire learning cycle.
  • the generic segments 64 are inviolate, i.e., are not capable of being changed by the user, but the candidates 68 and the learned segments 72 are changeable based upon, for instance, usage of the handheld electronic device 4 .
  • the routines 48 advantageously comprise a segment learning routine which enables the learning and storage of the learned segments 72 , which facilitates text input.
  • the generic segments 64 provide a statistically-based solution to a text input, but the learned segments 72 advantageously provide a more customized user experience by providing additional segments, i.e., the learned segments 72 , in response to certain inputs. This provides to the user a character interpretation that is more likely to be the character interpretation intended by the user than if the character interpretation were based solely on the generic segments 64 .
  • An exemplary flowchart in FIG. 4 depicts certain aspects of an improved learning method provided by the learning routine.
  • the routine detects, as at 104 , an actuation of an input member, such as one of the keys 26 or the thumbwheel 24 . It is then determined, as at 108 , whether the input member actuation was an edit input. If it is determined at 108 that the input member actuation was not an edit input, the process continues to 112 where the input member actuation and the preceding input member actuations in the current series of input member actuations are resolved into inputs. In the exemplary embodiment depicted herein, the inputs would each be pins since the exemplary language is pinyin Chinese.
  • Portions of the sequence of inputs obtained at 112 are then compared, as at 116 , with various stored objects 44 in the memory 40 to obtain a character interpretation of the input sequence. That is, one or more of the raw inputs 52 , characters 56 , combination objects 60 , generic segments 64 , candidates 68 , and learned segments 72 are consulted to determine the series of Standard Mandarin characters that are most likely to be the interpretation desired by the user.
  • the input routine may employ algorithms from the Maximum Matching Algorithm, and/or other algorithms, for instance, to facilitate the identification of appropriate objects 44 from which to generate the character interpretation.
  • the character interpretation is then output, as at 120 .
  • Such an exemplary output of a character interpretation is depicted generally in FIG. 5 at a text component 276 therein.
  • the depicted text component 276 comprises a string of characters 256 that each correspond with an input, i.e., pin, of the input sequence.
  • processing thereafter continues to 104 where additional input member actuations can be detected.
  • FIGS. 5 and 6 An editing input is depicted generally in FIGS. 5 and 6 .
  • the characters 256 in the text component 276 of FIG. 5 is an edited character 284 , which is a character 256 that is the subject of the editing input.
  • the edited character 284 is highlighted, meaning that the system focus is on the edited character 284 . Since the edited character 284 has been highlighted and is thus the subject of editing, a variant component 280 is also output at a separate location on the display 32 .
  • the variant component 280 comprises as a default character 288 the edited character 284 .
  • the variant component 280 additionally includes a number of variant character 292 .
  • the default character 288 and the variant characters 292 in the depicted exemplary embodiment each are characters 256 that correspond with the pin with which the edited character 284 corresponds. That is, the default character 288 and the variant characters 292 each represent a character 256 that corresponds with the pin that was input at the indicated location within the input sequence.
  • the edited character 284 was the character which resulted from the input algorithm(s) provided by the routines 48 on the handheld electronic device 4 .
  • the edited character 284 may become highlighted by moving a cursor over the particular character 256 and either translating the thumbwheel 24 in the direction of the arrow 28 , by dwelling over the character 256 , or through the use of other inputs recognizable by the appropriate routine 48 .
  • the user has selected one of the variant characters 292 as a replacement character 296 which will be used to take the place of the edited character 284 .
  • the replacement character 296 may have been selected through the use of a navigational input with the thumbwheel 24 or other such input.
  • the edited character 284 in the text component 276 is replaced with the replacement character 296 .
  • replacement of the edited character 284 with the replacement character 296 is finalized upon the translating the thumbwheel 24 in the direction of the arrow 28 , or through the use of another appropriate input.
  • FIGS. 5 and 6 depict an edit input, i.e., the selection of an edited character 284 and the replacement thereof with a replacement character 296 .
  • a character learning string is generated, as at 124 .
  • the character learning string comprises a string of the characters 256 in the text component 276 .
  • the character learning string comprises the replacement character 296 plus up to four additional characters adjacent each side of the replacement character 296 , i.e., up to four characters 256 preceding and up to four characters 256 following the replacement character 296 .
  • the learning character string thus can have, for example, up to nine characters.
  • the characters of a character learning string are limited to characters within a single sentence.
  • the character learning string generated in response to the edit input depicted in FIGS. 5 and 6 would comprise the replacement character 296 , the two Standard Mandarin characters to the left of the replacement character 296 , and the first four Standard Mandarin to the right of the replacement character 296 .
  • a “portion” comprises the replacement character 296 and at least one character adjacent thereto in the character learning string. It is determined at 128 whether these characters match a set of adjacent characters in one of the candidates 68 .
  • the character learning string is itself stored, as at 132 , as a candidate 68 . Processing thereafter continues at 104 where additional input member actuations can be detected.
  • the set of matched characters are learned, as at 136 . If the quantity of matched characters are five characters in length or less, the set of characters are stored as a learned segment 72 . However, if the set of matched characters is more than five characters in length, the set of matched characters is stored, by way of a combination object 60 , as a learned segment 72 plus another object, either a character 56 , a generic segment 64 , or another learned segment 72 . That is, some of the Standard Mandarin characters 56 in the set of matched characters are compared with various objects 44 to identify a matching object 44 .
  • the generic segments 64 comprise each two character permutation of the Standard Mandarin characters
  • at least the two initial characters of the set of matched characters can be stored in the form of a reference or pointer to the preexisting generic segment 64 .
  • the other characters 56 in the set of matched characters i.e., the characters 56 other than the characters 56 for which a preexisting object 44 was identified, are stored as the learned segment 72 .
  • the resultant combination object 60 would, in the exemplary embodiment, include pointers to both the identified preexisting object 44 and the newly stored learned segment 72 .
  • the identification at 128 of a set of characters in the character learning string that match a set of characters in a candidate 68 can occur in any of a variety of fashions.
  • the replacement character 296 in the character learning string plus at least one adjacent character in the character learning string must match a corresponding set of adjacent characters in a candidate 68 . This can be accomplished, for example, by identifying among the candidates 68 all of the candidates 68 which comprise, as one of the characters thereof, the replacement character 296 .
  • the characters in the learning character string that precede the replacement character 296 and that follow the replacement character 296 thereof are compared with characters in a candidate 68 that are correspondingly positioned with respect to the character thereof that matches the replacement character 296 .
  • the comparison occurs one character at a time alternating between characters that precede and that follow the replacement character 296 in a direction progressing generally outwardly from the replacement character 296 .
  • the character learning string generated from the edit input depicted in FIGS. 5 and 6 could be characterized as the string C 3 C 1 C R C 2 C 4 C 5 C 6 .
  • the character designed C R could be said to represent the replacement character 296
  • the characters C 3 C 1 could be the two characters in FIG. 6 that precede, i.e., appear to the left of, the replacement character 296
  • the characters C 2 C 4 C 5 C 6 would represent the four characters that follow, i.e., appear to the right of, the replacement character 296 .
  • C R matches a character in one of the candidates 68
  • the character C 1 would be compared with a correspondingly positioned character in the candidate 68 that is being analyzed.
  • the character C 1 matched the indicated character of the candidate 68 , it would then be determined whether or not the character C 2 of the character learning string matched the correspondingly positioned character in the candidate 68 being analyzed.
  • Such character analysis would alternate between the characters preceding and following the replacement character 296 in the character learning string until a non-matching character is identified at one side of the replacement character 296 , or if no correspondingly positioned character exists in the candidate 68 . Further comparisons are performed only at the opposite side of the replacement character 296 until either a non-matching character is identified or no further characters exist at such opposite side of the candidate 68 .
  • the result is a set of characters from the character learning string for which a matching series of characters was found within one of the candidates 68 .
  • the set of matched characters is stored, as indicated above, and the candidate 68 from which the matching characters was identified is deleted, as at 140 .
  • the learned segment 72 and/or the combination object 60 can be employed in conjunction with further text input to generate proposed character interpretations of sequences of inputs. Since the user has already indicated twice a preference for the set of matched characters, i.e., the characters were stored initially as a candidate 68 and were thereafter stored within a character learning string which was compared with the candidate 68 , the user has indicated a desire to use the set of matched characters.
  • the generic segments 64 and the learned segments 72 each comprise, in addition to the characters 56 thereof, a relative frequency value.
  • the frequency value has a value between zero and seven, with higher values being indicative of relatively more frequent use.
  • the learned segments 72 are each given a relatively high frequency value.
  • a preference will exist, as a general matter, for the learned segments 72 when both a learned segment 72 and a generic segment 64 would constitute a valid character interpretation of a given set of adjacent inputs.
  • progressively greater quantities of learned segments 72 are stored, and character interpretations of input sequences progressively have a greater likelihood of being the character interpretation intended by the user.
  • Learned segments 72 and combination objects 60 can additionally be derived from text received in other fashions on the handheld electronic device.
  • the exemplary handheld electronic device 4 can receive messages, such as in the form email, or as messages such through the use of short message service (SMS).
  • SMS short message service
  • FIG. 7 such received text can be generally said to be subjected to the input method generally described above and depicted in FIG. 4 .
  • a string of characters is received, as at 304 , on the handheld electronic device 4 .
  • the characters of the string of characters might be referred to as reference characters due to their later use in a comparison operation.
  • At least some of the characters are converted into raw inputs 52 , as at 312 .
  • a single sentence is converted at one time, although other schemes can be employed for determining which portions of the text to convert into raw inputs 52 .
  • the string of raw inputs 52 is then compared, as at 316 , with certain of the objects 44 in the memory 40 in order to obtain a character interpretation of the raw inputs 52 . It is then determined, as at 318 whether any portion of the character interpretation is different than the string of reference characters received at 304 and which were converted into raw inputs 52 at 312 . If it is determined at 318 that the character interpretation is the same as the received string of reference characters, the character interpretation is ignored as at 322 . Processing thereafter continues, as at 312 , where additional characters, if any, are converted into raw inputs 52 for further processing as indicated above.
  • a character learning string is generated, as at 324 .
  • the character learning string generated at 324 comprises the characters in the string of characters obtained at 304 which were identified as differing between the character interpretation and the received string of reference characters. If desired, the character learning string can additionally include one or more characters in the string of characters that precede and/or follow the differing characters.
  • the character learning string has been generated, as at 324 , it is determined at 328 whether at least a portion of the character learning string matches at least a portion of a candidate 68 . This occurs in a fashion similar to the processing at 128 . If no such match is found at 328 , the character learning string is stored, as at 322 , as a candidate 68 . If, however, a set of matching characters is identified at 328 , the matching characters are stored, as at 336 , as at least one of a learned segment 72 and a combination object 60 , in a fashion similar to the processing at 136 . The candidate 68 from which the match was identified is then deleted, as at 340 . After processing after 332 or at 340 , processing thereafter continues at 312 where additional characters can be converted into raw inputs 52 .
  • received text can be employed to learn new learn segments 72 and/or combination objects 60 in a fashion similar to the way in which learned segments 72 and combination objects 60 were learned during text input, as depicted generally in FIG. 4 .
  • the received text and the input text can together be used to store new learned segments 72 and new combination objects 60 .
  • a candidate 68 stored at 332 i.e., during analysis of the received text, can be the candidate identified at 128 during the text input process.
  • a candidate 68 stored at 132 i.e., during text input, can be the candidate identified at 328 during analysis of received text.
  • candidates 68 stored at 132 during text input can be matched at 128 during other text input, and candidates 68 stored at 332 during analysis of received text can be matched at 328 during analysis of other received text. This provides further customization of the handheld electronic device 4 to the needs of the user.
  • One of the routines 48 additionally provides a context learning feature when a plurality of adjacent characters 56 in a character interpretation are replaced with an existing segment, either a generic segment 64 or a learned segment 72 , or are replaced with individual characters 56 .
  • Such a context learning feature is depicted as a flowchart in FIG. 8 and as a set of exemplary outputs in FIGS. 9 and 10 .
  • a replacement of at least a portion of a character interpretation with a segment is detected, as a 406 .
  • the segment and either a preceding segment or a preceding character are stored as a combination object 60 , as at 410 .
  • a text component 576 is output and includes an edited segment 584 comprising two characters 556 .
  • a variant component 580 is displayed and comprises a default segment 588 and a number of variant segments 592 .
  • the user has selected a replacement segment 596 , which has replaced the edited segment 584 .
  • the replacement segment 596 plus a preceding object 44 in the text component 576 are stored as a combination object 60 . That is, the new combination object 60 comprises the replacement segment 596 plus the object 44 that precedes the replacement segment 596 .
  • the preceding segment is stored as a part of the new combination object 60 . If the object 44 that precedes the replacement segment 596 is a character 556 , i.e., a character 556 that is not part of a segment, the character 556 is stored as the other portion of the combination object 60 .
  • the new combination object 60 thus can be employed by the input routine to determine whether a preference exists for one segment in the context of another object 44 .
  • the replacement segment 596 portion of the new combination object 60 might be selected over another segment that is a valid character interpretation of a part of a sequence of inputs when it follows the same character 556 or the other segment which preceded the replacement segment 596 during the aforementioned context learning operation.
  • the combination objects 60 thus provide a further level of customization for the user, and facilitate providing a character interpretation that matches the user's original intention.
  • the context learning feature can be initiated when a plurality of adjacent characters 56 in a character interpretation are replaced with other individual characters 56 . If a particular character 56 in a string of characters is replaced with another particular character 56 as a result of an editing input, a character learning string is generated, as at 124 in FIG. 4 and as is described elsewhere herein. Such a character learning string can be stored as a candidate, as at 132 , or can be stored, in whole or in part, as at least one of a learned segment 72 and a combination object 60 , as at 140 . If, however, the user thereafter seeks to edit a character 56 adjacent the another particular character 56 , the system will interpret the individual editing of two adjacent characters 56 as indicating a need to store a new segment.
  • Processing therefore would immediately be transferred to 410 in FIG. 8 , wherein the edited adjacent characters would be stored as a learned segment 72 and as a portion of a combination object 60 .
  • the three edited adjacent characters would be stored as a learned segment 72 and as a portion of a combination object 60 .

Abstract

An improved method of learning a context of a segment of text input enables facilitated text input on an improved handheld electronic device. In response to a series of inputs, segments and other objects are analyzed to generate a proposed character interpretation of the series of inputs. Responsive to detecting a replacement of a segment of the character interpretation with another segment, a combination object comprising the another segment and a preceding object is stored. In response to another series of inputs, the combination object can be employed by a processing algorithm to ascertain a preference for the another segment in the context of the preceding object of the combination object.

Description

BACKGROUND
1. Field
The disclosed and claimed concept relates generally to handheld electronic devices and, more particularly, to a method of learning a context for a character segment during text input.
2. Description of the Related Art
Numerous types of handheld electronic devices are known. Examples of such handheld electronic devices include, for instance, personal data assistants (PDAs), handheld computers, two-way pagers, cellular telephones, and the like. Many handheld electronic devices also feature wireless communication capability, although many such handheld electronic devices are stand-alone devices that are functional without communication with other devices.
In certain circumstances, a handheld electronic device having a keypad of Latin letters can be employed to enter text in languages that are not based upon Latin letters. For instance, pinyin Chinese is a type of phonetic Chinese “alphabet” which enables transcription between Latin text and Standard Mandarin text. Pinyin Chinese can thus enable the input of Standard Mandarin characters by entering Latin letters. A “pin” is a phonetic sound, oftentimes formed from a plurality of Latin letters, and each pin is associated with one or more Standard Mandarin characters. More than four hundred pins exist, and each pin typically corresponds with a plurality of different Standard Mandarin characters. While methods and devices for text input such as pinyin Chinese text input have been generally effective for their intended purposes, such methods and devices have not been without limitation.
Generally each Standard Mandarin character is itself a Chinese word. Moreover, a given Standard Mandarin character in combination with one or more other Standard Mandarin characters can constitute a different word. An exemplary pin could be phonetically characterized as “da”, which would be input on a Latin keyboard by actuating the <D> key followed by an actuation of the <A> key. However, the pin “da” corresponds with a plurality of different Chinese characters. Moreover, the pin “da” can be a single syllable represented by a character within a Chinese word having a plurality of syllables, with each syllable being represented by a Standard Mandarin character. As such, substantial difficulty exits in determining which specific Standard Mandarin character should be output in response to an input of a pin when the pin corresponds with a plurality of Standard Mandarin characters.
Numerous methodologies have been developed to assist in generating a character interpretation for a series of pins that have been input on a device. For instance, an exemplary algorithm would be the “simple maximum matching” algorithm, which is one algorithm among many, both simple and complex, of the well known Maximum Matching Algorithm. A given device may have stored thereon a number of Chinese words comprised of one or more Chinese characters, and the algorithm(s) executed on the device may employ such linguistic data to develop the best possible character interpretation of a series of input pins.
In response to the inputting of a sequence of pins, the aforementioned simple maximum matching algorithm might generate a character interpretation comprising the largest Chinese words, i.e., the words having the greatest quantity of Standard Mandarin characters. For example, the algorithm might, as a first step, obtain the largest Chinese word having characters that correspond with the pins at the beginning of the pin sequence. As a second step, the algorithm might obtain the largest Chinese word having characters that correspond with the pins in the sequence that immediately follow the previous word. This is repeated until Chinese words have been obtained for all of the pins in the input sequence. The result is then output.
Numerous other algorithms are employed individually or in combination with the objective of providing as a proposed output a character interpretation that matches what was originally intended by the user. It would be desired to provide an improved method and handheld electronic device that facilitate the input of text.
BRIEF DESCRIPTION OF THE DRAWINGS
A full understanding of the disclosed and claimed concept can be obtained from the following Description when read in conjunction with the accompanying drawings in which:
FIG. 1 is a front elevational view of an exemplary handheld electronic device in accordance with the disclosed and claimed concept upon which is performed an improved method in accordance with the disclosed and claimed concept;
FIG. 2 is a schematic depiction of the handheld electronic device of FIG. 1;
FIG. 3 is a schematic depiction of a portion of the handheld electronic device of FIG. 1;
FIG. 4 is an exemplary flowchart depicting a portion of the improved method;
FIG. 5 is an exemplary output during an exemplary text input operation;
FIG. 6 is another exemplary output during the exemplary text input operation;
FIG. 7 is an exemplary flowchart depicting another portion of the improved method;
FIG. 8 is an exemplary flowchart depicting another portion of the improved method;
FIG. 9 is an exemplary output during another exemplary text input operation; and
FIG. 10 is another exemplary output during the another exemplary text input operation.
Similar numerals refer to similar parts throughout the specification.
DESCRIPTION
An improved handheld electronic device 4 in accordance with the disclosed and claimed concept is indicated generally in FIG. 1 and is depicted schematically in FIG. 2. The improved handheld electronic device 4 comprised an input apparatus 8, an output apparatus 12, and a processor apparatus 16. The input apparatus 8 provides input to the processor apparatus 16. The processor apparatus 16 provides output signals to the output apparatus 12.
The handheld electronic device and the associated method described herein advantageously enable the input of text. The exemplary device and method are described herein in terms of pinyin Chinese, but it is understood that the teachings herein can be employed in conjunction with other types of text input, and can be employed in conjunction with other languages such as Japanese and Korean, without limitation.
The input apparatus 8 comprises a keypad 20 and a thumbwheel 24. The keypad 20 in the exemplary embodiment depicted herein is a Latin keypad comprising a plurality of keys 26 that are each actuatable to input to the processor apparatus 16 the Latin character indicated thereon. The thumbwheel 24 is rotatable to provide navigational and other input to the processor apparatus 16, and additionally is translatable in the direction of the arrow 28 of FIG. 1 to provide other input, such as selection inputs. The keys 26 and the thumbwheel 24 serve as input members which are actuatable to provide input to the processor apparatus 16. The exemplary output apparatus 12 comprises a display 32.
Examples of other input members not expressly depicted herein would include, for instance, a mouse or trackball for providing navigational inputs, such as could be reflected by movement of a cursor on the display 32, and other inputs such as selection inputs. Still other exemplary input members would include a touch-sensitive display, a stylus pen for making menu input selections on a touch-sensitive display displaying menu options and/or soft buttons of a graphical user interface (GUI), hard buttons disposed on a case of the handheld electronic device 4, an so on. Examples of other output devices would include a touch-sensitive display, an audio speaker, and so on.
An exemplary mouse or trackball would likely advantageously be of a type that provides various types of navigational inputs. For instance, a mouse or trackball could provide navigational inputs in both vertical and horizontal directions with respect to the display 32, which can facilitate input by the user.
The processor apparatus 16 comprises a processor 36 and a memory 40. The processor 36 may be, for example and without limitation, a microprocessor (μP) at interfaces with the memory 40. The memory 40 can be any one or more of a variety of types of internal and/or external storage media such as, without limitation, RAM, ROM, EPROM(s), EEPROM(s), and the like that provide a storage register for data storage such as in the fashion of an internal storage area of a computer, and can be volatile memory or nonvolatile memory.
The memory 40 is depicted schematically in FIG. 3. The memory 40 has stored therein a plurality of objects 44 and a number of routines 48. The routines 48 are executable on the processor 36.
The objects 44 comprise a plurality of raw inputs 52, a plurality of characters 56, a plurality of combination objects 60, a plurality of generic segments 64, a number of candidates 68, and a number of learned segments 72. As employed herein, the expression “a number of” and variations thereof shall refer broadly to a nonzero quantity, including a quantity of one. The exemplary memory 40 is depicted as having stored therein at least a first candidate 68 and at least a first learned segment 72, although it is understood that the memory 40 need not at all times comprise candidates 68 and/or learned segments 72. For instance, the handheld electronic device 4, when new, may not yet have stored in the memory 40 any candidates 68 or any learned segments 72, it being understood that one or more candidates 68 and/or learned segments 72 can become stored in the memory 40 with use of the handheld electronic device 4.
The raw inputs 52 and characters 56 may be stored in a table wherein each raw input 52 is associated with one or more of the characters 56. In the exemplary embodiment described herein, the exemplary language is Chinese, and thus each raw input 52 would be a pin in the scheme of pinyin Chinese. Associated with each such raw input 52, i.e., pin, would be one or more characters 56, i.e., Standard Mandarin characters.
The generic segments 64 each comprise a plurality of the characters 56. In the present exemplary embodiment, each possible two-character permutation of the Standard Mandarin characters is stored as a generic segment 64. Additionally, other Chinese words comprising three or more Standard Mandarin characters are each stored as a generic segment 64, based upon prevalent usage within the language. In the exemplary embodiment depicted herein, the generic segments 64 are each at most six Standard Mandarin characters in length, although only an extremely small number of generic segments 64 comprise six Standard Mandarin characters.
As will be described in greater detail below, the candidates 68 are each a series of Standard Mandarin characters that were the subject of an initial portion of a learning cycle, i.e., an object for which the learning cycle has not yet been completed. The learned segments 72 are each a plurality of Standard Mandarin characters which resulted from candidates 68 which went through an entire learning cycle. As a general matter, the generic segments 64 are inviolate, i.e., are not capable of being changed by the user, but the candidates 68 and the learned segments 72 are changeable based upon, for instance, usage of the handheld electronic device 4.
The routines 48 advantageously comprise a segment learning routine which enables the learning and storage of the learned segments 72, which facilitates text input. Specifically, the generic segments 64 provide a statistically-based solution to a text input, but the learned segments 72 advantageously provide a more customized user experience by providing additional segments, i.e., the learned segments 72, in response to certain inputs. This provides to the user a character interpretation that is more likely to be the character interpretation intended by the user than if the character interpretation were based solely on the generic segments 64.
An exemplary flowchart in FIG. 4 depicts certain aspects of an improved learning method provided by the learning routine. The routine detects, as at 104, an actuation of an input member, such as one of the keys 26 or the thumbwheel 24. It is then determined, as at 108, whether the input member actuation was an edit input. If it is determined at 108 that the input member actuation was not an edit input, the process continues to 112 where the input member actuation and the preceding input member actuations in the current series of input member actuations are resolved into inputs. In the exemplary embodiment depicted herein, the inputs would each be pins since the exemplary language is pinyin Chinese. Since many pins are formed with a plurality of input member actuations, such as in the way the pin “da” is formed by an actuation of the <D> key 26 followed by an actuation of the <A> key 26, it is possible that a given input member actuation may not, by itself, constitute a new pin in the input sequence. Regardless, the various input member actuations are, to the extent possible, converted into inputs. In so doing, the raw inputs 52 may be employed.
Portions of the sequence of inputs obtained at 112 are then compared, as at 116, with various stored objects 44 in the memory 40 to obtain a character interpretation of the input sequence. That is, one or more of the raw inputs 52, characters 56, combination objects 60, generic segments 64, candidates 68, and learned segments 72 are consulted to determine the series of Standard Mandarin characters that are most likely to be the interpretation desired by the user. The input routine may employ algorithms from the Maximum Matching Algorithm, and/or other algorithms, for instance, to facilitate the identification of appropriate objects 44 from which to generate the character interpretation. The character interpretation is then output, as at 120.
Such an exemplary output of a character interpretation is depicted generally in FIG. 5 at a text component 276 therein. The depicted text component 276 comprises a string of characters 256 that each correspond with an input, i.e., pin, of the input sequence. After the output at 120, processing thereafter continues to 104 where additional input member actuations can be detected.
If it was determined at 108 that the current input member actuation was an edit input, processing would continue to 124 where a character learning string would be generated. An editing input is depicted generally in FIGS. 5 and 6. Among the characters 256 in the text component 276 of FIG. 5 is an edited character 284, which is a character 256 that is the subject of the editing input. In FIG. 5, the edited character 284 is highlighted, meaning that the system focus is on the edited character 284. Since the edited character 284 has been highlighted and is thus the subject of editing, a variant component 280 is also output at a separate location on the display 32. The variant component 280 comprises as a default character 288 the edited character 284. The variant component 280 additionally includes a number of variant character 292. The default character 288 and the variant characters 292 in the depicted exemplary embodiment each are characters 256 that correspond with the pin with which the edited character 284 corresponds. That is, the default character 288 and the variant characters 292 each represent a character 256 that corresponds with the pin that was input at the indicated location within the input sequence. The edited character 284 was the character which resulted from the input algorithm(s) provided by the routines 48 on the handheld electronic device 4. The edited character 284 may become highlighted by moving a cursor over the particular character 256 and either translating the thumbwheel 24 in the direction of the arrow 28, by dwelling over the character 256, or through the use of other inputs recognizable by the appropriate routine 48.
In FIG. 6, the user has selected one of the variant characters 292 as a replacement character 296 which will be used to take the place of the edited character 284. The replacement character 296 may have been selected through the use of a navigational input with the thumbwheel 24 or other such input. Upon highlighting the replacement character 296, the edited character 284 in the text component 276 is replaced with the replacement character 296. In the depicted exemplary embodiment, replacement of the edited character 284 with the replacement character 296 is finalized upon the translating the thumbwheel 24 in the direction of the arrow 28, or through the use of another appropriate input.
FIGS. 5 and 6 depict an edit input, i.e., the selection of an edited character 284 and the replacement thereof with a replacement character 296. Upon the detection of such an edit input, such as at 108, a character learning string is generated, as at 124. In the exemplary embodiment described herein, the character learning string comprises a string of the characters 256 in the text component 276. Specifically, the character learning string comprises the replacement character 296 plus up to four additional characters adjacent each side of the replacement character 296, i.e., up to four characters 256 preceding and up to four characters 256 following the replacement character 296. The learning character string thus can have, for example, up to nine characters. In the depicted exemplary embodiment, the characters of a character learning string are limited to characters within a single sentence. As can be understood from FIG. 6, the character learning string generated in response to the edit input depicted in FIGS. 5 and 6 would comprise the replacement character 296, the two Standard Mandarin characters to the left of the replacement character 296, and the first four Standard Mandarin to the right of the replacement character 296.
After the character learning string has been generated at 124, it is then determined at 128 whether or not any portion of the character learning string matches a portion of a candidate 68. In this regard, a “portion” comprises the replacement character 296 and at least one character adjacent thereto in the character learning string. It is determined at 128 whether these characters match a set of adjacent characters in one of the candidates 68.
If it is determined at 128 that no such match exists between a portion of the character learning string and a portion of a candidate 68, the character learning string is itself stored, as at 132, as a candidate 68. Processing thereafter continues at 104 where additional input member actuations can be detected.
If it is determined at 128 that the replacement character 296 and at least one character adjacent thereto in the character learning string match an adjacent plurality of characters in one of the candidates 68, the set of matched characters are learned, as at 136. If the quantity of matched characters are five characters in length or less, the set of characters are stored as a learned segment 72. However, if the set of matched characters is more than five characters in length, the set of matched characters is stored, by way of a combination object 60, as a learned segment 72 plus another object, either a character 56, a generic segment 64, or another learned segment 72. That is, some of the Standard Mandarin characters 56 in the set of matched characters are compared with various objects 44 to identify a matching object 44. Since the generic segments 64 comprise each two character permutation of the Standard Mandarin characters, at least the two initial characters of the set of matched characters can be stored in the form of a reference or pointer to the preexisting generic segment 64. The other characters 56 in the set of matched characters, i.e., the characters 56 other than the characters 56 for which a preexisting object 44 was identified, are stored as the learned segment 72. The resultant combination object 60 would, in the exemplary embodiment, include pointers to both the identified preexisting object 44 and the newly stored learned segment 72.
After the set of matched characters has been “learned”, such as described above, the candidate 68 from which the matching characters were identified is deleted, as at 140. Processing thereafter returns to 104 where additional input member actuations can be detected.
The identification at 128 of a set of characters in the character learning string that match a set of characters in a candidate 68 can occur in any of a variety of fashions. In the exemplary embodiment depicted herein, the replacement character 296 in the character learning string plus at least one adjacent character in the character learning string must match a corresponding set of adjacent characters in a candidate 68. This can be accomplished, for example, by identifying among the candidates 68 all of the candidates 68 which comprise, as one of the characters thereof, the replacement character 296. The characters in the learning character string that precede the replacement character 296 and that follow the replacement character 296 thereof are compared with characters in a candidate 68 that are correspondingly positioned with respect to the character thereof that matches the replacement character 296. In the depicted exemplary embodiment, the comparison occurs one character at a time alternating between characters that precede and that follow the replacement character 296 in a direction progressing generally outwardly from the replacement character 296.
For example, the character learning string generated from the edit input depicted in FIGS. 5 and 6 could be characterized as the string C3C1CRC2C4C5C6. The character designed CR could be said to represent the replacement character 296, the characters C3C1 could be the two characters in FIG. 6 that precede, i.e., appear to the left of, the replacement character 296, and the characters C2C4C5C6 would represent the four characters that follow, i.e., appear to the right of, the replacement character 296. In the depicted exemplary embodiment, if CR matches a character in one of the candidates 68, the character C1 would be compared with a correspondingly positioned character in the candidate 68 that is being analyzed. If the character C1 matched the indicated character of the candidate 68, it would then be determined whether or not the character C2 of the character learning string matched the correspondingly positioned character in the candidate 68 being analyzed. Such character analysis would alternate between the characters preceding and following the replacement character 296 in the character learning string until a non-matching character is identified at one side of the replacement character 296, or if no correspondingly positioned character exists in the candidate 68. Further comparisons are performed only at the opposite side of the replacement character 296 until either a non-matching character is identified or no further characters exist at such opposite side of the candidate 68.
The result is a set of characters from the character learning string for which a matching series of characters was found within one of the candidates 68. The set of matched characters is stored, as indicated above, and the candidate 68 from which the matching characters was identified is deleted, as at 140.
Upon such storage of the matched characters as a learned segment 72 and/or a combination object 60, the learned segment 72 and/or the combination object 60 can be employed in conjunction with further text input to generate proposed character interpretations of sequences of inputs. Since the user has already indicated twice a preference for the set of matched characters, i.e., the characters were stored initially as a candidate 68 and were thereafter stored within a character learning string which was compared with the candidate 68, the user has indicated a desire to use the set of matched characters.
It is noted that the generic segments 64 and the learned segments 72 each comprise, in addition to the characters 56 thereof, a relative frequency value. In the exemplary depicted embodiment, the frequency value has a value between zero and seven, with higher values being indicative of relatively more frequent use. The learned segments 72 are each given a relatively high frequency value. As such, when at 116 a character interpretation of an input sequence is obtained, a preference will exist, as a general matter, for the learned segments 72 when both a learned segment 72 and a generic segment 64 would constitute a valid character interpretation of a given set of adjacent inputs. As such, as the user continues to use the handheld electronic device 4, progressively greater quantities of learned segments 72 are stored, and character interpretations of input sequences progressively have a greater likelihood of being the character interpretation intended by the user.
Learned segments 72 and combination objects 60 can additionally be derived from text received in other fashions on the handheld electronic device. For instance, the exemplary handheld electronic device 4 can receive messages, such as in the form email, or as messages such through the use of short message service (SMS). As can be understood from FIG. 7, such received text can be generally said to be subjected to the input method generally described above and depicted in FIG. 4. Specifically, a string of characters is received, as at 304, on the handheld electronic device 4. The characters of the string of characters might be referred to as reference characters due to their later use in a comparison operation. At least some of the characters are converted into raw inputs 52, as at 312. Typically, a single sentence is converted at one time, although other schemes can be employed for determining which portions of the text to convert into raw inputs 52.
The string of raw inputs 52 is then compared, as at 316, with certain of the objects 44 in the memory 40 in order to obtain a character interpretation of the raw inputs 52. It is then determined, as at 318 whether any portion of the character interpretation is different than the string of reference characters received at 304 and which were converted into raw inputs 52 at 312. If it is determined at 318 that the character interpretation is the same as the received string of reference characters, the character interpretation is ignored as at 322. Processing thereafter continues, as at 312, where additional characters, if any, are converted into raw inputs 52 for further processing as indicated above.
If it is determined at 318 that some of the characters 56 of the character interpretation differ from the characters in the string of characters obtained at 304, a character learning string is generated, as at 324. The character learning string generated at 324 comprises the characters in the string of characters obtained at 304 which were identified as differing between the character interpretation and the received string of reference characters. If desired, the character learning string can additionally include one or more characters in the string of characters that precede and/or follow the differing characters.
Once the character learning string has been generated, as at 324, it is determined at 328 whether at least a portion of the character learning string matches at least a portion of a candidate 68. This occurs in a fashion similar to the processing at 128. If no such match is found at 328, the character learning string is stored, as at 322, as a candidate 68. If, however, a set of matching characters is identified at 328, the matching characters are stored, as at 336, as at least one of a learned segment 72 and a combination object 60, in a fashion similar to the processing at 136. The candidate 68 from which the match was identified is then deleted, as at 340. After processing after 332 or at 340, processing thereafter continues at 312 where additional characters can be converted into raw inputs 52.
It thus can be seen that received text can be employed to learn new learn segments 72 and/or combination objects 60 in a fashion similar to the way in which learned segments 72 and combination objects 60 were learned during text input, as depicted generally in FIG. 4. Moreover, the received text and the input text can together be used to store new learned segments 72 and new combination objects 60. For instance, a candidate 68 stored at 332, i.e., during analysis of the received text, can be the candidate identified at 128 during the text input process. By the same token, a candidate 68 stored at 132, i.e., during text input, can be the candidate identified at 328 during analysis of received text. Of course, candidates 68 stored at 132 during text input can be matched at 128 during other text input, and candidates 68 stored at 332 during analysis of received text can be matched at 328 during analysis of other received text. This provides further customization of the handheld electronic device 4 to the needs of the user.
One of the routines 48 additionally provides a context learning feature when a plurality of adjacent characters 56 in a character interpretation are replaced with an existing segment, either a generic segment 64 or a learned segment 72, or are replaced with individual characters 56. Such a context learning feature is depicted as a flowchart in FIG. 8 and as a set of exemplary outputs in FIGS. 9 and 10. As can be understood from FIG. 8, a replacement of at least a portion of a character interpretation with a segment is detected, as a 406. Thereafter, the segment and either a preceding segment or a preceding character are stored as a combination object 60, as at 410.
Such an operation is depicted, for example, in FIGS. 9 and 10. In FIG. 9, a text component 576 is output and includes an edited segment 584 comprising two characters 556. In response to the edited segment 584 being highlighted, a variant component 580 is displayed and comprises a default segment 588 and a number of variant segments 592. In FIG. 10 the user has selected a replacement segment 596, which has replaced the edited segment 584. The replacement segment 596, plus a preceding object 44 in the text component 576 are stored as a combination object 60. That is, the new combination object 60 comprises the replacement segment 596 plus the object 44 that precedes the replacement segment 596. If what precedes the replacement segment 596 is another segment, the preceding segment is stored as a part of the new combination object 60. If the object 44 that precedes the replacement segment 596 is a character 556, i.e., a character 556 that is not part of a segment, the character 556 is stored as the other portion of the combination object 60.
The new combination object 60 thus can be employed by the input routine to determine whether a preference exists for one segment in the context of another object 44. For instance, the replacement segment 596 portion of the new combination object 60 might be selected over another segment that is a valid character interpretation of a part of a sequence of inputs when it follows the same character 556 or the other segment which preceded the replacement segment 596 during the aforementioned context learning operation. The combination objects 60 thus provide a further level of customization for the user, and facilitate providing a character interpretation that matches the user's original intention.
As noted above, the context learning feature can be initiated when a plurality of adjacent characters 56 in a character interpretation are replaced with other individual characters 56. If a particular character 56 in a string of characters is replaced with another particular character 56 as a result of an editing input, a character learning string is generated, as at 124 in FIG. 4 and as is described elsewhere herein. Such a character learning string can be stored as a candidate, as at 132, or can be stored, in whole or in part, as at least one of a learned segment 72 and a combination object 60, as at 140. If, however, the user thereafter seeks to edit a character 56 adjacent the another particular character 56, the system will interpret the individual editing of two adjacent characters 56 as indicating a need to store a new segment. Processing therefore would immediately be transferred to 410 in FIG. 8, wherein the edited adjacent characters would be stored as a learned segment 72 and as a portion of a combination object 60. In a similar fashion, if a third adjacent character 56 was similarly individually edited, the three edited adjacent characters would be stored as a learned segment 72 and as a portion of a combination object 60.
While specific embodiments of the disclosed and claimed concept have been described in detail, it will be appreciated by those skilled in the art that various modifications and alternatives to those details could be developed in light of the overall teachings of the disclosure. Accordingly, the particular arrangements disclosed are meant to be illustrative only and not limiting as to the scope of the disclosed and claimed concept which is to be given the full breadth of the claims appended and any and all equivalents thereof.

Claims (11)

1. A method comprising:
receiving, by a device, inputs corresponding to a first set of characters selected from a first alphabet;
outputting, by the device, a second set of characters associated with the first set of characters, the second set of characters being selected from a second alphabet;
receiving, by the device, a selection of one or more of the characters of the second set of characters;
outputting, by the device, one or more replacement characters from the second alphabet;
receiving, by the device, an editing input replacing the one or more of the characters of the second set of characters with the one or more replacement characters from the second alphabet;
storing, by the device, a combination object comprising: a representation of the one or more replacement characters, and a representation of at least one of the characters from the second set of characters, different from the one or more replacement characters;
determining a frequency with which the characters represented by the combination object are used together based on user inputs; and
providing the characters represented by the combination object together, in response to one or more subsequent inputs, based on the frequency.
2. The method of claim 1, wherein the characters different from the one or more replacement characters precede the one or more replacement characters in the second set of characters.
3. The method of claim 1, further comprising:
receiving subsequent inputs identifying the characters represented by the combination object; and
categorizing the characters represented by the combination object as a learned segment of characters.
4. The method of claim 1, wherein the combination object is stored after receiving the editing input.
5. A handheld electronic device comprising:
a processor; and
a memory comprising instructions executable by the processor to perform operations comprising:
receiving inputs corresponding to a first set of characters selected from a first alphabet;
outputting a second set of characters associated with the first set of characters, the second set of characters being selected from a second alphabet;
receiving, by the device, a selection of one or more of the characters of the second set of characters;
outputting, by the device, one or more replacement characters from the second alphabet;
receiving, by the device, an editing input replacing the one or more of the characters of the second set of characters with the one or more replacement characters from the second alphabet;
storing a combination object comprising: a representation of the one or more replacement characters, and a representation of at least one of the characters from the second set of characters, different from the one or more replacement characters;
determining a frequency with which the characters represented by the combination object are used together based on user inputs; and
providing the characters represented by the combination object together, in response to one or more subsequent inputs, based on the frequency.
6. The handheld electronic device of claim 5, wherein the characters different from the one or more replacement characters precede the one or more replacement characters in the second set of characters.
7. The handheld electronic device of claim 5 wherein the operations further comprise:
receiving subsequent inputs identifying the characters represented by the combination object; and
categorizing the characters represented by the combination object as a learned segment of characters.
8. The handheld electronic device of claim 5 wherein the combination object is stored after receiving the editing input.
9. The method according to claim 1, wherein:
the inputs identify several characters from the first alphabet that correspond to a single character from the second alphabet.
10. The method according to claim 9, wherein the first alphabet is the Latin alphabet, and the second alphabet includes Mandarin Chinese characters.
11. The method according to claim 10, wherein the several characters from the Latin alphabet comprise a pin corresponding to a single Mandarin Chinese character.
US11/427,971 2006-06-30 2006-06-30 Method of learning a context of a segment of text, and associated handheld electronic device Active 2030-05-21 US8395586B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US11/427,971 US8395586B2 (en) 2006-06-30 2006-06-30 Method of learning a context of a segment of text, and associated handheld electronic device
TW096123877A TWI336450B (en) 2006-06-30 2007-06-29 Method of learning a context of a segment of text, and associated handheld electronic device
US13/760,518 US9171234B2 (en) 2006-06-30 2013-02-06 Method of learning a context of a segment of text, and associated handheld electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/427,971 US8395586B2 (en) 2006-06-30 2006-06-30 Method of learning a context of a segment of text, and associated handheld electronic device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/760,518 Continuation US9171234B2 (en) 2006-06-30 2013-02-06 Method of learning a context of a segment of text, and associated handheld electronic device

Publications (2)

Publication Number Publication Date
US20080002885A1 US20080002885A1 (en) 2008-01-03
US8395586B2 true US8395586B2 (en) 2013-03-12

Family

ID=38876709

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/427,971 Active 2030-05-21 US8395586B2 (en) 2006-06-30 2006-06-30 Method of learning a context of a segment of text, and associated handheld electronic device
US13/760,518 Active US9171234B2 (en) 2006-06-30 2013-02-06 Method of learning a context of a segment of text, and associated handheld electronic device

Family Applications After (1)

Application Number Title Priority Date Filing Date
US13/760,518 Active US9171234B2 (en) 2006-06-30 2013-02-06 Method of learning a context of a segment of text, and associated handheld electronic device

Country Status (2)

Country Link
US (2) US8395586B2 (en)
TW (1) TWI336450B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090119289A1 (en) * 2004-06-22 2009-05-07 Gibbs Kevin A Method and System for Autocompletion Using Ranked Results
US20120166182A1 (en) * 2009-06-03 2012-06-28 Ko David H Autocompletion for Partially Entered Query
US9235637B1 (en) 2004-06-22 2016-01-12 Google Inc. Systems and methods for generating predicted queries and corresponding search results
US9436781B2 (en) 2004-11-12 2016-09-06 Google Inc. Method and system for autocompletion for languages having ideographs and phonetic characters

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6459640B2 (en) * 2015-03-03 2019-01-30 オムロン株式会社 Program and information processing apparatus for character input system

Citations (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5128672A (en) * 1990-10-30 1992-07-07 Apple Computer, Inc. Dynamic predictive keyboard
US5270927A (en) * 1990-09-10 1993-12-14 At&T Bell Laboratories Method for conversion of phonetic Chinese to character Chinese
US5945928A (en) * 1998-01-20 1999-08-31 Tegic Communication, Inc. Reduced keyboard disambiguating system for the Korean language
US6204848B1 (en) * 1999-04-14 2001-03-20 Motorola, Inc. Data entry apparatus having a limited number of character keys and method
US6286064B1 (en) * 1997-01-24 2001-09-04 Tegic Communications, Inc. Reduced keyboard and method for simultaneous ambiguous and unambiguous text input
US6307548B1 (en) * 1997-09-25 2001-10-23 Tegic Communications, Inc. Reduced keyboard disambiguating system
US6346894B1 (en) * 1997-02-27 2002-02-12 Ameritech Corporation Method and system for intelligent text entry on a numeric keypad
US20020045463A1 (en) 2000-10-13 2002-04-18 Zheng Chen Language input system for mobile devices
US20030023420A1 (en) 2001-03-31 2003-01-30 Goodman Joshua T. Machine learning contextual approach to word determination for text input via reduced keypad keys
US20030038735A1 (en) * 1999-01-26 2003-02-27 Blumberg Marvin R. Speed typing apparatus and method
US20030093263A1 (en) * 2001-11-13 2003-05-15 Zheng Chen Method and apparatus for adapting a class entity dictionary used with language models
US6646573B1 (en) * 1998-12-04 2003-11-11 America Online, Inc. Reduced keyboard text input system for the Japanese language
US20040004558A1 (en) * 2002-07-03 2004-01-08 Vadim Fux Apparatus and method for input of ideographic korean syllables from reduced keyboard
US20040006458A1 (en) * 2002-07-03 2004-01-08 Vadim Fux Method and system of creating and using Chinese language data and user-corrected data
US6760012B1 (en) * 1998-12-29 2004-07-06 Nokia Mobile Phones Ltd. Method and means for editing input text
US6822585B1 (en) 1999-09-17 2004-11-23 Nokia Mobile Phones, Ltd. Input of symbols
US20040239534A1 (en) * 2001-08-30 2004-12-02 Kushler Clifford A. Component-based, adaptive stroke-order system
US6848080B1 (en) * 1999-11-05 2005-01-25 Microsoft Corporation Language input architecture for converting one text form to another text form with tolerance to spelling, typographical, and conversion errors
US20050027534A1 (en) * 2003-07-30 2005-02-03 Meurs Pim Van Phonetic and stroke input methods of Chinese characters and phrases
US20050027524A1 (en) 2003-07-30 2005-02-03 Jianchao Wu System and method for disambiguating phonetic input
US6864809B2 (en) * 2002-02-28 2005-03-08 Zi Technology Corporation Ltd Korean language predictive mechanism for text entry by a user
WO2005039064A1 (en) 2003-10-15 2005-04-28 Yun-Kee Kang Method of inputting chinese language using mobile terminal
US20050144566A1 (en) * 2002-03-22 2005-06-30 Zhang Daniel Y. Entering text into an electronic communications device
US20050162395A1 (en) * 2002-03-22 2005-07-28 Erland Unruh Entering text into an electronic communications device
WO2005119512A1 (en) 2004-06-02 2005-12-15 2012244 Ontario Inc. Handheld electronic device with text disambiguation
US20060221057A1 (en) * 2005-04-04 2006-10-05 Vadim Fux Handheld electronic device with text disambiguation employing advanced editing features
US7218781B2 (en) * 2003-09-16 2007-05-15 Tegic Communications, Inc. System and method for chinese input using a joystick
US20070110222A1 (en) * 2003-01-22 2007-05-17 Kim Min-Kyum Apparatus and method for inputting alphabet characters
US7257528B1 (en) * 1998-02-13 2007-08-14 Zi Corporation Of Canada, Inc. Method and apparatus for Chinese character text input
US20080004860A1 (en) * 2006-06-30 2008-01-03 Vadim Fux Method of learning character segments during text input, and associated handheld electronic device
US20080235003A1 (en) * 2007-03-22 2008-09-25 Jenny Huang-Yu Lai Disambiguation of telephone style key presses to yield chinese text using segmentation and selective shifting
US20090058814A1 (en) * 2007-08-31 2009-03-05 Dan Rubanovich Handheld Electronic Device and Associated Method Providing Advanced Text Editing Function in a Text Disambiguation Environment
US20090089666A1 (en) * 2007-10-01 2009-04-02 Shannon Ralph Normand White Handheld Electronic Device and Associated Method Enabling Prioritization of Proposed Spelling Corrections
US20090119582A1 (en) * 2006-06-30 2009-05-07 Elizarov Michael G Handheld Electronic Device and Method for Dual-Mode Disambiguation of Text Input

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2081406C (en) 1991-12-23 1997-09-16 Chinmoy Bhusan Bose Method and apparatus for connected and degraded text recognition
TW338815B (en) 1995-06-05 1998-08-21 Motorola Inc Method and apparatus for character recognition of handwritten input
US5893133A (en) 1995-08-16 1999-04-06 International Business Machines Corporation Keyboard for a system and method for processing Chinese language text
US5952942A (en) * 1996-11-21 1999-09-14 Motorola, Inc. Method and device for input of text messages from a keypad
US6567839B1 (en) 1997-10-23 2003-05-20 International Business Machines Corporation Thread switch control in a multithreaded processor system
US6285786B1 (en) 1998-04-30 2001-09-04 Motorola, Inc. Text recognizer and method using non-cumulative character scoring in a forward search
US7403888B1 (en) * 1999-11-05 2008-07-22 Microsoft Corporation Language input user interface
SE521911C2 (en) 2001-01-15 2003-12-16 Decuma Ab Ideon Res Park Method, device and computer program for recognizing a handwritten character
US20020180806A1 (en) 2001-06-04 2002-12-05 Inventec Appliances Corp. System and method for upgrading input and inquiry efficiency
CN1303564C (en) 2003-06-12 2007-03-07 摩托罗拉公司 Identification of character input in improved electronic device
US7478033B2 (en) 2004-03-16 2009-01-13 Google Inc. Systems and methods for translating Chinese pinyin to Chinese characters
CA2496872C (en) 2004-03-17 2010-06-08 America Online, Inc. Phonetic and stroke input methods of chinese characters and phrases
US7398199B2 (en) 2004-03-23 2008-07-08 Xue Sheng Gong Chinese romanization
CN100437441C (en) * 2004-05-31 2008-11-26 诺基亚(中国)投资有限公司 Method and apparatus for inputting Chinese characters and phrases
US20060048055A1 (en) * 2004-08-25 2006-03-02 Jun Wu Fault-tolerant romanized input method for non-roman characters
US7466859B2 (en) 2004-12-30 2008-12-16 Motorola, Inc. Candidate list enhancement for predictive text input in electronic devices
US7584093B2 (en) 2005-04-25 2009-09-01 Microsoft Corporation Method and system for generating spelling suggestions
TWI295783B (en) 2005-08-12 2008-04-11 Delta Electronics Inc Text inputting device for mobile communication device and method thereof
US7769804B2 (en) 2006-01-17 2010-08-03 Microsoft Corporation Server side search with multi-word word wheeling and wildcard expansion
US7801722B2 (en) 2006-05-23 2010-09-21 Microsoft Corporation Techniques for customization of phonetic schemes
US7665037B2 (en) 2006-06-30 2010-02-16 Research In Motion Limited Method of learning character segments from received text, and associated handheld electronic device
US20080243808A1 (en) 2007-03-29 2008-10-02 Nokia Corporation Bad word list

Patent Citations (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5270927A (en) * 1990-09-10 1993-12-14 At&T Bell Laboratories Method for conversion of phonetic Chinese to character Chinese
US5128672A (en) * 1990-10-30 1992-07-07 Apple Computer, Inc. Dynamic predictive keyboard
US6286064B1 (en) * 1997-01-24 2001-09-04 Tegic Communications, Inc. Reduced keyboard and method for simultaneous ambiguous and unambiguous text input
US6346894B1 (en) * 1997-02-27 2002-02-12 Ameritech Corporation Method and system for intelligent text entry on a numeric keypad
US6307548B1 (en) * 1997-09-25 2001-10-23 Tegic Communications, Inc. Reduced keyboard disambiguating system
US5945928A (en) * 1998-01-20 1999-08-31 Tegic Communication, Inc. Reduced keyboard disambiguating system for the Korean language
US7257528B1 (en) * 1998-02-13 2007-08-14 Zi Corporation Of Canada, Inc. Method and apparatus for Chinese character text input
US6646573B1 (en) * 1998-12-04 2003-11-11 America Online, Inc. Reduced keyboard text input system for the Japanese language
US6760012B1 (en) * 1998-12-29 2004-07-06 Nokia Mobile Phones Ltd. Method and means for editing input text
US20030038735A1 (en) * 1999-01-26 2003-02-27 Blumberg Marvin R. Speed typing apparatus and method
US6204848B1 (en) * 1999-04-14 2001-03-20 Motorola, Inc. Data entry apparatus having a limited number of character keys and method
US6822585B1 (en) 1999-09-17 2004-11-23 Nokia Mobile Phones, Ltd. Input of symbols
US6848080B1 (en) * 1999-11-05 2005-01-25 Microsoft Corporation Language input architecture for converting one text form to another text form with tolerance to spelling, typographical, and conversion errors
US20020045463A1 (en) 2000-10-13 2002-04-18 Zheng Chen Language input system for mobile devices
US20030023420A1 (en) 2001-03-31 2003-01-30 Goodman Joshua T. Machine learning contextual approach to word determination for text input via reduced keypad keys
US20040239534A1 (en) * 2001-08-30 2004-12-02 Kushler Clifford A. Component-based, adaptive stroke-order system
US20030093263A1 (en) * 2001-11-13 2003-05-15 Zheng Chen Method and apparatus for adapting a class entity dictionary used with language models
US6864809B2 (en) * 2002-02-28 2005-03-08 Zi Technology Corporation Ltd Korean language predictive mechanism for text entry by a user
US7385531B2 (en) * 2002-03-22 2008-06-10 Sony Ericsson Mobile Communications Ab Entering text into an electronic communications device
US20050144566A1 (en) * 2002-03-22 2005-06-30 Zhang Daniel Y. Entering text into an electronic communications device
US20050162395A1 (en) * 2002-03-22 2005-07-28 Erland Unruh Entering text into an electronic communications device
US20040006458A1 (en) * 2002-07-03 2004-01-08 Vadim Fux Method and system of creating and using Chinese language data and user-corrected data
US20040004558A1 (en) * 2002-07-03 2004-01-08 Vadim Fux Apparatus and method for input of ideographic korean syllables from reduced keyboard
US7061403B2 (en) * 2002-07-03 2006-06-13 Research In Motion Limited Apparatus and method for input of ideographic Korean syllables from reduced keyboard
US20070110222A1 (en) * 2003-01-22 2007-05-17 Kim Min-Kyum Apparatus and method for inputting alphabet characters
US20050027534A1 (en) * 2003-07-30 2005-02-03 Meurs Pim Van Phonetic and stroke input methods of Chinese characters and phrases
US20050027524A1 (en) 2003-07-30 2005-02-03 Jianchao Wu System and method for disambiguating phonetic input
US7395203B2 (en) * 2003-07-30 2008-07-01 Tegic Communications, Inc. System and method for disambiguating phonetic input
US7218781B2 (en) * 2003-09-16 2007-05-15 Tegic Communications, Inc. System and method for chinese input using a joystick
WO2005039064A1 (en) 2003-10-15 2005-04-28 Yun-Kee Kang Method of inputting chinese language using mobile terminal
WO2005119512A1 (en) 2004-06-02 2005-12-15 2012244 Ontario Inc. Handheld electronic device with text disambiguation
US20060221057A1 (en) * 2005-04-04 2006-10-05 Vadim Fux Handheld electronic device with text disambiguation employing advanced editing features
US20080004860A1 (en) * 2006-06-30 2008-01-03 Vadim Fux Method of learning character segments during text input, and associated handheld electronic device
US20090119582A1 (en) * 2006-06-30 2009-05-07 Elizarov Michael G Handheld Electronic Device and Method for Dual-Mode Disambiguation of Text Input
US7565624B2 (en) * 2006-06-30 2009-07-21 Research In Motion Limited Method of learning character segments during text input, and associated handheld electronic device
US20110219337A1 (en) * 2006-06-30 2011-09-08 Research In Motion Limited Method of learning character segments during text input, and associated handheld electronic device
US20080235003A1 (en) * 2007-03-22 2008-09-25 Jenny Huang-Yu Lai Disambiguation of telephone style key presses to yield chinese text using segmentation and selective shifting
US20090058814A1 (en) * 2007-08-31 2009-03-05 Dan Rubanovich Handheld Electronic Device and Associated Method Providing Advanced Text Editing Function in a Text Disambiguation Environment
US20090089666A1 (en) * 2007-10-01 2009-04-02 Shannon Ralph Normand White Handheld Electronic Device and Associated Method Enabling Prioritization of Proposed Spelling Corrections

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Office Action for Application No. 2653823, from the Canadian Intellectual Property Office, dated Aug. 26, 2011.

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090119289A1 (en) * 2004-06-22 2009-05-07 Gibbs Kevin A Method and System for Autocompletion Using Ranked Results
US9081851B2 (en) 2004-06-22 2015-07-14 Google Inc. Method and system for autocompletion using ranked results
US9235637B1 (en) 2004-06-22 2016-01-12 Google Inc. Systems and methods for generating predicted queries and corresponding search results
US9245004B1 (en) 2004-06-22 2016-01-26 Google Inc. Predicted query generation from partial search query input
US9436781B2 (en) 2004-11-12 2016-09-06 Google Inc. Method and system for autocompletion for languages having ideographs and phonetic characters
US9443035B2 (en) 2004-11-12 2016-09-13 Google Inc. Method and system for autocompletion for languages having ideographs and phonetic characters
US20120166182A1 (en) * 2009-06-03 2012-06-28 Ko David H Autocompletion for Partially Entered Query
US8996550B2 (en) * 2009-06-03 2015-03-31 Google Inc. Autocompletion for partially entered query

Also Published As

Publication number Publication date
TWI336450B (en) 2011-01-21
US9171234B2 (en) 2015-10-27
TW200818029A (en) 2008-04-16
US20080002885A1 (en) 2008-01-03
US20130144820A1 (en) 2013-06-06

Similar Documents

Publication Publication Date Title
US7319957B2 (en) Handwriting and voice input with automatic correction
RU2377664C2 (en) Text input method
US9286288B2 (en) Method of learning character segments during text input, and associated handheld electronic device
US7586423B2 (en) Handheld electronic device and method for dual-mode disambiguation of text input
JP4829901B2 (en) Method and apparatus for confirming manually entered indeterminate text input using speech input
US20050192802A1 (en) Handwriting and voice input with automatic correction
CN101097488B (en) Method for learning character fragments from received text and relevant hand-hold electronic equipments
US20120215522A1 (en) Handheld electronic device providing a learning function to facilitate correction of erroneous text entry, and associated method
WO2005077098A2 (en) Handwriting and voice input with automatic correction
US9171234B2 (en) Method of learning a context of a segment of text, and associated handheld electronic device
JPWO2007097390A1 (en) Speech recognition system, speech recognition result output method, and speech recognition result output program
US20130073572A1 (en) Method of learning character segments from received text, and associated handheld electronic device
CA2658586C (en) Learning character segments from received text
CA2653823C (en) Method of learning a context of a segment of text, and associated handheld electronic device
CA2653843C (en) Learning character segments during text input
JP2002207728A (en) Phonogram generator, and recording medium recorded with program for realizing the same
CN101097487B (en) Method for learning character fragments and related hand-hold electronic equipments
CN101097489B (en) Method and device for input in hand-hold electronic equipments
JP2001109740A (en) Device and method for preparing chinese document
KR20160073146A (en) Method and apparatus for correcting a handwriting recognition word using a confusion matrix
CA2551406C (en) Handheld electronic device and method for dual-mode disambiguation of text input

Legal Events

Date Code Title Description
AS Assignment

Owner name: 2012244 ONTARIO INC., CANADA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:FUX, VADIM;KOLOMIETS, SERGEY;REEL/FRAME:017861/0757

Effective date: 20060615

AS Assignment

Owner name: RESEARCH IN MOTION LIMITED, ONTARIO

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:2012244 ONTARIO INC.;REEL/FRAME:018748/0074

Effective date: 20061020

Owner name: RESEARCH IN MOTION LIMITED,ONTARIO

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:2012244 ONTARIO INC.;REEL/FRAME:018748/0074

Effective date: 20061020

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: BLACKBERRY LIMITED, ONTARIO

Free format text: CHANGE OF NAME;ASSIGNOR:RESEARCH IN MOTION LIMITED;REEL/FRAME:033987/0576

Effective date: 20130709

FPAY Fee payment

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8

AS Assignment

Owner name: MALIKIE INNOVATIONS LIMITED, IRELAND

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BLACKBERRY LIMITED;REEL/FRAME:064104/0103

Effective date: 20230511

AS Assignment

Owner name: MALIKIE INNOVATIONS LIMITED, IRELAND

Free format text: NUNC PRO TUNC ASSIGNMENT;ASSIGNOR:BLACKBERRY LIMITED;REEL/FRAME:064269/0001

Effective date: 20230511