US20070094024A1 - System and method for improving text input in a shorthand-on-keyboard interface - Google Patents

System and method for improving text input in a shorthand-on-keyboard interface Download PDF

Info

Publication number
US20070094024A1
US20070094024A1 US11/256,713 US25671305A US2007094024A1 US 20070094024 A1 US20070094024 A1 US 20070094024A1 US 25671305 A US25671305 A US 25671305A US 2007094024 A1 US2007094024 A1 US 2007094024A1
Authority
US
United States
Prior art keywords
word
lexicon
words
input
candidate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/256,713
Inventor
Per-Ola Kristensson
Shumin Zhai
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.)
Nuance Communications Inc
Original Assignee
International Business Machines Corp
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
Priority to US11/256,713 priority Critical patent/US20070094024A1/en
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KRISTENSSON, PER-OLA, ZHAI, SHUMIN
Priority to JP2008536022A priority patent/JP2009512923A/en
Priority to CN2006800392497A priority patent/CN101292214B/en
Priority to PCT/EP2006/067338 priority patent/WO2007045597A1/en
Publication of US20070094024A1 publication Critical patent/US20070094024A1/en
Priority to US12/906,827 priority patent/US8311796B2/en
Assigned to NUANCE COMMUNICATIONS, INC. reassignment NUANCE COMMUNICATIONS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: INTERNATIONAL BUSINESS MACHINES CORPORATION
Priority to JP2012178643A priority patent/JP5738245B2/en
Priority to JP2012178642A priority patent/JP5400200B2/en
Priority to US13/616,311 priority patent/US8543384B2/en
Priority to US13/866,994 priority patent/US8712755B2/en
Priority to US14/206,920 priority patent/US9256580B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • 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/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing

Definitions

  • the present invention generally relates to lexicon-based text entry and text prediction systems. More specifically, the present invention relates to text entry using shorthand-on-keyboard, an efficient method of entering words by drawing geometric patterns on a graphical on-screen keyboard.
  • Shorthand on graphical keyboards (hereafter “shorthand-on-keyboard”) or Shorthand on a Keyboard as Graph (sokgraph), represent an input method and system for efficiently entering text without a physical keyboard, typically using a stylus.
  • Shorthand-on-keyboard enables the user to trace letter or functional keys on the graphical keyboard to enter words and commands into a computer.
  • Experienced users partly or completely memorize the geometric patterns of frequently used words and commands on the keyboard layout and may draw these patterns based on memory recall using, for example, a digital pen.
  • Word-level recognition-based text entry systems such as shorthand-on-keyboard and handwriting/speech recognition as well as text prediction systems all rely on some form of lexicon that defines the set of words that these systems recognize.
  • the input of the user is matched against choices in the lexicon. Words not included in the lexicon are usually not automatically recognized. In such a case, a special mode has to be provided.
  • the user may initially check a candidate list (N-best list). If no choice on the candidate list is the intended word, the user decides if the patterns drawn were incorrect. If the patterns drawn were correct, the user realizes the word intended is not in the lexicon. The user then enters the new word in the lexicon by tapping the individual letters.
  • the lexicon comprises all words a particular user needs to write, no more no less. A lexicon that is either too large or too small can introduce problems to the user.
  • a larger lexicon could present certain challenges, since it tends to reduce the recognition accuracy due to the likelihood of a greater number of distracters for each user input.
  • vocabulary tends to be specialized for a particular individual. For instance, an engineer may compose emails comprising highly technical terms and abbreviations for a particular field or business area. For other users, these specialized terms can be irrelevant and can introduce noise in the recognition process, making the recognition process less robust.
  • a smaller lexicon is typically a more robust lexicon in that user input is more likely to be correctly recognized, provided the intended word is in the lexicon.
  • a smaller lexicon provides more flexibility and tolerance for the input of the user, allowing the input to be imprecise and inaccurate compared to the ideal form of the intended input choice.
  • a further advantage of a small lexicon is that the search space is smaller. Consequently, a small lexicon allows reduction in the latency of a search. This is especially important in mobile devices where processing power is severely limited.
  • a commonly used method is to use a large lexicon and then take advantage of higher order language regularities such as a word-level trigram-model to filter out highly unlikely candidates.
  • the downside of a language model approach is generally the overhead of creating and making efficient use of a large language model.
  • a language model can introduce errors and mistakenly filter out the intended words. This is especially true if the language model is generic rather than customized to a particular user. In practice, efficient customization of a language model is difficult.
  • a language model is difficult to integrate with a recognition technique that already has a high precision, such as shorthand-on-keyboard.
  • An alternative conventional approach creates a customized lexicon for a user by mining the written text generated by the user, for example, written emails and other documents.
  • this approach does result in a lexicon more closely tailored to a specific user, a previously written corpus generated by a user may be to be too small to cover all of the desired words.
  • it is difficult to write a computer program code that can open and read all and various email and document formats that the user may be using. This approach often requires the user to locate and select the previous written documents, which is inconvenient for the user.
  • a customized lexicon may also be difficult to carry over across different devices.
  • the present invention satisfies this need, and presents a system, a computer program product, and an associated method (collectively referred to herein as “the system” or “the present system”) for improving text input in a shorthand-on-keyboard interface.
  • the present system comprises a core lexicon and an extended lexicon.
  • the core lexicon comprises commonly used words in a language.
  • the core lexicon typically comprises approximately 5,000 to 15,000 words, depending on an application of the present system.
  • the extended lexicon comprises words not included in the core lexicon.
  • the extended lexicon comprises approximately 30,000 to 100,000 words.
  • the core lexicon allows the present system to target commonly used words in identifying a gesture as a highest-ranked candidate word, providing more robust recognition performance associated with a smaller lexicon. Only words from the core lexicon can be directly outputted in the present system. Additional candidate words are available from the extended lexicon, allowing a user to find lesser-known words on the candidate list, but only through menu selection. The present system enhances word recognition accuracy without sacrificing selection of words from a large lexicon.
  • the core lexicon provides more flexibility and tolerance for the input of the user to be imprecise and inaccurate from the ideal form of the intended input choice.
  • the present system further comprises a recognition module, a pre-ranking module, and a ranking module.
  • the recognition module generates an N-best list of candidate words corresponding to an input pattern.
  • the pre-ranking module ranks the N-best candidate words according to predetermined criteria.
  • the ranking module adjusts ranking of the N-best list of candidate words to place words drawn from the core lexicon higher than words drawn from the extended lexicon, generating a ranked list of word candidates. Only words in the core lexicon are presented as output by the present system.
  • the present system lists candidate words found in the extended lexicon only in the N-best list; these words require user selection to become output. Once selected by a user from the N-best list, a word from the extended lexicon is admitted to the core lexicon.
  • Words in the core lexicon are outputted by the recognition system. Words in the extended lexicon can only be listed in the N-best list and need explicit user selection to be outputted. Once selected, the words in the extended lexicon also gets admitted to the core lexicon.
  • the present system reduces the overhead inflicted upon the user in the case the word gestured by the user is not in the vocabulary of the core lexicon. Instead of being unsure whether the word is included in the lexicon or if the system misrecognized the input, the user can scan the N-best list and select the desired candidate word.
  • the present system further comprises a concatenation module and a compound word module.
  • the concatenation module enables a user to input parts of a long word separately; the present system automatically combines words and part-of-words that are partial “sokgraphs” into one word that is intended by the user. Word parts can be stems, such as “work” and affixes, such as “ing” or “pre”.
  • the compound word module combines two or more common shorter words whose concatenation forms a long word, such as short+hand in English. The concatenation of several short words into one compound word is more common in some European languages such as Swedish or German.
  • the present system allows user interaction to adjust concatenation of a word 1 and a word 2 and decoupling of a combined word.
  • a concatenated word for example “smokefree”
  • a menu option “split to “smoke free”” or an equivalent option is given to the user.
  • a pen trace motion such as a downward motion crossing the word smokefree, can be defined as a split command.
  • a menu option is embedded in word 1 and word 2 .
  • the option “snap to right” or an equivalent option is selectable.
  • a pen gesture such as a circle crossing both word 1 and word 2 , is defined as the command to join the two words as one concatenated long word.
  • FIG. 1 is a schematic illustration of an exemplary operating environment in which a word pattern recognition system of the present invention can be used;
  • FIG. 2 is a block diagram of a high-level architecture of the word pattern recognition system of FIG. 1 ;
  • FIG. 3 is a process flow chart illustrating a method of operation of the word pattern recognition system of FIGS. 1 and 2 in ranking candidate words according to location in a core lexicon or an extended lexicon;
  • FIG. 4 is a diagram illustrating an N-best list generated by the word pattern recognition system of FIGS. 1 and 2 in which words from the core lexicon and words from the extended lexicon are displayed differently;
  • FIG. 5 is a diagram illustrating an N-best list generated by the word pattern recognition system of FIGS. 1 and 2 in which words from the core lexicon are grouped and ranked higher than words from the extended lexicon;
  • FIG. 6 is a process flow chart illustrating a method of operation of the word pattern recognition system of FIGS. 1 and 2 in recognizing a word candidate as a suffix or a prefix and concatenating the recognized prefix or suffix to a recognized word in a language appropriate manner;
  • FIG. 7 is a process flow chart illustrating a method of operation of the word pattern recognition system of FIGS. 1 and 2 in combining words into a compound word;
  • FIG. 8 is comprised of FIGS. 8A, 8B , and 8 C and represents a diagram illustrating a menu of the word pattern recognition system of FIGS. 1 and 2 in which the menu enables a user to split a compound word into a stem and a suffix;
  • FIG. 9 is a diagram illustrating a pen gesture formed by a user on a compound word presented by the word pattern recognition system of FIGS. 1 and 2 in which the pen gesture splits a compound word into a stem and a suffix;
  • FIG. 10 is comprised of FIGS. 10A, 10B , and 10 C and represents a diagram illustrating a menu of the word pattern recognition system of FIGS. 1 and 2 in which the menu is applied to a stem to enable a user to combine a stem and a suffix into a compound word;
  • FIG. 11 is a diagram illustrating a menu of the word pattern recognition system of FIGS. 1 and 2 in which the menu is applied to a suffix enabling a user to combine a stem and a suffix into a compound word;
  • Lexicon a collection of elements defining the recognizable elements that can be matched against a user's input in a recognition system.
  • PDA Personal Digital Assistant. A pocket-sized personal computer. PDAs typically store phone numbers, appointments, and to-do lists. Some PDAs have a small keyboard; others have only a special pen that is used for input and output on a virtual keyboard.
  • Sokgrah Shorthand on a Keyboard as a Graph. A pattern representation of words on a virtual keyboard.
  • Virtual Keyboard A computer simulated keyboard with touch-screen interactive capability that can be used to replace or supplement a keyboard using keyed entry.
  • the virtual keys are typically tapped serially with a stylus. It is also called graphical keyboard, on-screen keyboard, or stylus keyboard.
  • FIG. 1 portrays an exemplary overall environment in which a system, a computer program product, and an associated method for improving text input in a shorthand-on-keyboard interface (the word pattern recognition system 10 or the “system 10 ”) according to the present invention may be used.
  • System 10 includes a software program code or a computer program product that is typically embedded within, or installed on a computer.
  • the computer in which system 10 is installed can be a mobile device such as a PDA 15 or a cellular phone 20 .
  • System 10 can also be installed in devices such as tablet computer 25 , touch screen monitor 30 , electronic white board 35 , and digital pen 40 .
  • System 10 can be installed in any device using a virtual keyboard or similar interface for entry, represented by auxiliary device 45 .
  • System 10 can be saved on a suitable storage medium such as a diskette, a CD, a hard drive, or like devices.
  • System 10 determines a word from the shape and location of a pen stroke formed by a user on a graphical keyboard.
  • System 10 sends the determined words to a software recipient such as, for example, an application, an operating system, etc.
  • FIG. 2 illustrates a high-level hierarchy of system 10 .
  • System 10 comprises a lexicon 205 .
  • the lexicon 205 comprises a core lexicon 210 and an extended lexicon 215 .
  • the core lexicon 210 comprises commonly used words in a language.
  • the core lexicon 210 typically comprises approximately 5,000 to 15,000 words, depending on an application of system 10 .
  • the extended lexicon 215 comprises words not included in the core lexicon 215 .
  • the extended lexicon 215 comprises approximately 30,000 to 100,000 words.
  • System 10 further comprises a recognition module 220 , a pre-ranking module 225 , and a selector/ranking module 230 .
  • the recognition module 220 generates an N-best list of candidate words corresponding to an input pattern 235 .
  • the pre-ranking module 225 ranks the N-best candidate words according to predetermined criteria.
  • the ranking module 230 adjusts ranking of the N-best list of candidate words to place words drawn from the core lexicon 210 higher than words drawn from the extended lexicon 215 , generating a ranked list of word candidates 240 .
  • words drawn from the extended lexicon are not outputted; only words from the core lexicon are outputted.
  • System 10 further comprises a concatenation module 245 and a compound word module 250 .
  • the concatenation module 245 concatenates words selected from the ranked list of word candidates 240 ; e.g., concatenating “ing” with “code” to form “coding”.
  • the compound word module 250 combines words selected from the ranked list of word candidates 240 into larger words.
  • An output word 255 is a word selected from the ranked list of word candidates 240 and processed by the concatenation module 245 and the compound word module 250 , as necessary. Only words in the core lexicon 210 are presented as the output word 255 by system 10 .
  • System 10 lists candidate words found in the extended lexicon 215 only in the N-best list; these words require user selection to become the output word 255 . Once selected by a user, system 10 admits a word from the extended lexicon 215 to the core lexicon 210 .
  • System 10 adapts recognition of the input pattern 235 by the recognition module 220 to the vocabulary of the user while maintaining maximum signal to noise ratio in the recognition system.
  • System 10 allows the core lexicon 210 and the extended lexicon 215 to participate in the recognition process of the recognition module 220 . However, only words in the core lexicon 210 directly enter output of the recognition module 220 ; these words are a default output. Words in the extended lexicon 215 that match the input pattern 235 are only listed in an “N-best” list for selection by the user. When a user selects one of these candidate words from the N-best list to replace the default output, the selected word is admitted to core lexicon 210 . After a word is admitted to the core lexicon 210 , the admitted word can directly enter the output of the recognition module when the word matches the input pattern 235 .
  • FIG. 3 illustrates a method 300 of system 10 in generating an N-best list of candidates that match the input pattern 235 .
  • the user gestures a word on a shorthand-on-keyboard interface (step 305 ).
  • the recognition module 220 generates an N-best list of word candidates (step 310 ); the pre-ranking module 225 ranks the N-best list of word candidates from the core lexicon 210 and the extended lexicon 215 according to a criterion such as a confidence value or a similarity measure (step 315 ).
  • the ranking module 230 determines whether the highest ranked word in the N-best list of candidate words is drawn from the core lexicon 210 (decision step 320 ). If yes, the ranking module 230 outputs the ranked N-best list of word candidates as the ranked list of word candidates 240 (step 325 ). If the highest ranked candidate in the N-best list of candidate words is not present in the core lexicon 210 , the ranking module 230 searches the N-best list of candidate words to locate the highest ranking word candidate drawn from the core lexicon 210 (step 330 ).
  • the ranking module 230 If a word candidate drawn from the core lexicon 210 is not found in the N-best list of candidate words (decision step 335 ), the ranking module 230 outputs the ranked N-best list of word candidates as the ranked list of word candidates 240 . Otherwise, the ranking module 230 moves the found word candidate to the highest-ranking position in the N-best list of word candidates (step 335 ). The ranking module outputs the ranked N-best list of word candidates as the ranked list of word candidates 240 (step 340 ).
  • a user interface component displays the next best candidate list (N-best list) from which a user can see alternative candidate words that closely match the input pattern 235 .
  • the position of a candidate word on the list is determined by a rank associated with the candidate word independent of whether the candidate word is found in the core lexicon 210 or the extended lexicon 215 , with the exception of the highest ranked word must always be found in the core lexicon with the exception when no word in the core lexicon matches the user's input.
  • candidate words are grouped by lexicon origin; i.e., candidate words from the core lexicon 210 are grouped together and candidate words from the extended lexicon 215 are grouped together.
  • the origin of the candidate words can optionally be indicated by emphasizing different perceptual features that are associated with the candidate words, to facilitate the recognition of the source of the candidate words, e.g., from the core or extended lexicon.
  • Exemplary perceptual features include, for example: color, background shading, bold fond, italicized font, etc.
  • Words drawn from the extended lexicon 215 are accessed from the N-best list of candidate words. Consequently, error tolerance of system 10 in generating the highest-ranked candidate is greatly enhanced, since the highest-ranked candidate that is displayed by the system is drawn from the smaller core lexicon 210 . In rare situations in which the desired word is not found in the core lexicon 210 , the user activates the N-best list and selects the desired candidate.
  • FIG. 4 illustrates an exemplary N-best list of candidate words 400 generated by the ranking module 230 .
  • Candidate words from the core lexicon 210 comprise candidate word 1 , 405 , candidate word 2 , 410 , and candidate word 3 , 415 , collectively referenced as core candidate words 420 .
  • Candidate words from the extended lexicon 215 comprise candidate word 4 , 425 , candidate 5 , 430 , candidate word 6 , 435 , candidate word 7 , 440 , and candidate word 8 , 445 , collectively referenced as extended candidate words 450 .
  • Core candidate words 420 and extended candidate words 450 are displayed with different emphasis.
  • core candidate words 420 are shown in bold text and extended candidate words 450 are shown in italicized text. Any form of emphasis may be used to differentiate the core candidate words 420 and the extended candidate words 450 such as, for example, text color, color background, shading, etc.
  • the candidate words in the exemplary N-best list of candidate words 400 are positioned according to rank given by the recognition module 220 , with the exception of the top word candidate position 455 that is reserved for a word drawn from the core lexicon 210 unless no word from the core lexicon matches the user's input, in which case top word candidate position 455 may be taken by a word from the extended lexicon.
  • FIG. 5 illustrates one embodiment in which an exemplary N-best list 500 comprises candidate words ranked according to source and according to ranking criteria provided by the recognition module 220 .
  • core candidate words 420 and extended candidate words 450 are displayed with different emphasis.
  • core candidate words 420 are shown in bold text and extended candidate words 450 are shown in italicized text.
  • System 10 greatly reduces the overhead inflicted upon the user in the case the word gestured by the user is not in the vocabulary of the core lexicon 210 . Instead of being unsure whether the word is included in the core lexicon 210 or if the system misrecognized the input, the user can scan the N-best list and select the desired candidate word.
  • the lexicon 205 can be conceptualized as layers, a core lexicon layer and an extended lexicon layer, ranked by frequency or priori probability.
  • the frequency or priori probability of the selected word is adjusted to a threshold or other criterion having the effect that the selected word is adjusted to belong to the core layer.
  • System 10 further enables a user to input parts of a long word separately; system 10 automatically combines partial “sokgraphs” into one that is intended by the user.
  • Word parts can be stems, such as “work” and affixes, such as “ming”, or two or more common shorter words whose concatenation forms a long word, such as short+hand in English.
  • the concatenation of several short words into one compound word is more common in some European languages such as Swedish or German.
  • Concatenations are based on individually recognizing parts involved in the concatenated word.
  • stem+suffix the user initially gestures an input pattern 235 for a word that represents the stem, then gestures an input pattern 235 of the suffix.
  • the recognition module 220 finds the optimum matches and outputs these matches to an N-best list with strings S (i) ,i ⁇ [1,N], where a rank i of a string signifies the confidence of the recognition module 220 in the selected string matching input pattern 235 .
  • the recognition module 220 stores the last N-best list in a temporary buffer.
  • the buffered N-best list for a regular word (stem) is denoted as S 0 .
  • suffixes are stored in a list called concatenable suffixes whose sokgraphs, the geometric pattern on a graphical keyboard, are represented in the same way as a common word sokgraph.
  • sokgraph is a continuous trace starting from the i key to the n key ending on the g key.
  • the system recognizes an input pattern 235 for sokgraph “ing” in the same way as any other sokgraph, except the suffix “ing” is stored in the list of concatenable suffixes.
  • both suffixes and regular words can be stored in the same lexicon, but with an identifier differentiating the suffix from the regular word.
  • concatenable suffixes are stored in a lookup table in which each suffix entry, such as “ing”, is associated with a series of pointers that point to the entries in a lexicon that ends with that suffix
  • FIG. 6 illustrates a method 600 of system 10 in combining concatenable suffixes with a stem word.
  • a user gestures a word on a shorthand-on-keyboard interface (step 605 ).
  • the concatenation module 245 obtains a highest ranked word for an output N-best list of word candidates 240 (step 610 ).
  • the concatenation module 245 determines whether the obtained word is a concatenable suffix by, for example, comparing the obtained word with a list of concatenable suffixes (decision step 615 ). If the obtained word is not a concatenable suffix, the concatenation module 245 takes no action (step 620 ).
  • the concatenation module 245 finds concatenation candidates that end with the determined concatenable suffix (step 625 ).
  • the concatenation module 245 strips the concatenable suffix from each concatenation candidate (step 630 ).
  • Words ending with a current suffix are denoted as S 1(i) (e.g. coding or working) and their remainders stripped of the suffix are denoted S 2(i) (e.g. “cod” or “work”).
  • the concatenation module 245 sorts the concatenation candidates by the associated edit distance (step 640 ).
  • the concatenation module 245 returns the concatenation candidate with the smallest edit distance (step 645 ).
  • word frequencies or prior probabilities, or higher-order language regularities are used to rank concatenation candidates that share the same edit distance.
  • a threshold can be set as the lowest acceptable edit-distance mismatch.
  • suffixes are not linked to all words that end with the suffix. Instead, when a suffix is recognized, the system 10 scans the lexicon 205 , finds words that end with the recognized suffix, strips the ending from the found words, matches the stripped remainders with the preceding word, and selects the closest match for concatenation as previously described.
  • the difference between these two embodiments lies in computational time and memory space tradeoff. Scanning the lexicon implies that a separate list of pointers is not needed, hence reducing the storage requirement of the lexicon in the medium the software code is accessing. On the other hand, scanning the lexicon requires more time than to locate a word than a system comprising a lexicon that is indexed with a separate list of pointers.
  • the concatenation module 245 initially recognizes a prefix-based word from the output of the ranked list of word candidates 240 from either a separate list of prefixes or a common lexicon with a prefix identifier. The concatenation module 245 then recognizes the word that follows the prefix. The concatenation module 245 matches all words containing the prefix, strips the matched word of the prefix, and returns the closest match for concatenation.
  • the concatenation of two shorter words into a long one is not deterministic. For example, in Swedish both “smoke free” and “smokefree” are permitted, but their meanings are opposite (smoking allowed as opposed to smoking not allowed).
  • the compound word module 250 uses a statistical and interactive method to handle the concatenation of two words. To support this method, system 10 stores in the lexicon 205 the statistical information including the frequencies of all words (based on the total number of occurrence of each word in a corpus of text) and frequencies of all bigrams (based on the total number of occurrence of two ordered words).
  • FIG. 7 illustrates a method 700 of system 10 in combining words into compound words.
  • Method 700 examines pairs of consecutive words (word 1 , word 2 ) (step 705 ).
  • the compound word module replaces word 1 and word 2 with word 3 (step 730 ). Otherwise, no action is taken (step 715 ).
  • the comparison of the frequency of word 3 and the frequency of the bigram (word 1 , word 2 ) is a weighted comparison.
  • FIG. 8 ( FIGS. 8A, 8B , 8 C) illustrates decoupling of a combined word into two individual words or parts of words.
  • An exemplary screen 805 displays to a user an exemplary concatenated word “coding” 810 .
  • the user selects the displayed concatenated word “coding” by, for example, clicking on the word “coding” 810 ( FIG. 8A ).
  • Selecting the word “coding” 810 displays a menu option 815 comprising, for example, selectable instruction “Split to “Code” and “ing”” or an equivalent option ( FIG. 8B ). If the user selects the instruction shown in menu option 815 , system 10 splits the displayed concatenated word “coding” 810 into stem “code” 820 and suffix “ing” 825 ( FIG. 8C ).
  • FIG. 9 illustrates an exemplary alternative pen trace motion 905 used to split the concatenated word “coding” 810 .
  • the screen 805 displays to the user a concatenated word “coding” 810 .
  • the user forms the pen trace motion 905 over the concatenated word “coding” 810 .
  • System 10 splits the displayed concatenated word “coding” 810 into stem “code” 820 and suffix “ming” 825 as illustrated in FIG. 8C .
  • a menu option is embedded in word 1 and word 2 as illustrated in FIG. 10 .
  • the screen 805 displays to the user a word 1 “code” 1005 and a word 2 “ing” 1010 as shown in FIG. 10A .
  • Selecting the word 1 “code” 1005 displays an option menu 1015 comprising a selectable instruction “snap to right” or an equivalent option ( FIG. 10B ). If the user selects the instruction “snap to right” shown in the option menu 1015 , system 10 concatenates the word 1 “code” 1005 and the word 2 “ming” 1010 , forming the concatenated word “coding” 1020 ( FIG. 10C ).
  • FIG. 11 illustrates an exemplary option menu 1105 displayed when the user selects the word 2 “ming” 1010 . If the user selects the instruction “snap to left” shown in the option menu 1105 , system 10 concatenates the word 1 “code” 1005 and the word 2 “ming” 1010 , forming the concatenated word “coding” 1020 as shown in FIG. 10C .
  • FIG. 12 illustrates an exemplary alternative pen trace motion 1205 used to concatenate the word 1 “code” 1005 and the word 2 “ing” 1010 .
  • the pen trace motion 1205 comprises, for example, a circle crossing the word 1 “code” 1005 and the word 2 “ming” 1010 .
  • System 10 recognizes the command represented by the pen trace motion 1205 and concatenates the word 1 “code” 1005 and the word 2 “ing” 1010 , forming the concatenated word “coding” 1020 as shown in FIG. 10C .

Abstract

A word pattern recognition system improves text input entered via a shorthand-on-keyboard interface. A core lexicon comprises commonly used words in a language; an extended lexicon comprises words not included in the core lexicon. The system only directly outputs words from the core lexicon. Candidate words from the extended lexicon can be outputted and simultaneously admitted to the core lexicon upon user selection. A concatenation module enables a user to input parts of a long word separately. A compound word module combines two common shorter words whose concatenation forms a long word.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application relates to the following co-pending U.S. patent application Ser. No. 10/325,197, titled “System and Method for Recognizing Word Patterns Based on a Virtual Keyboard Layout,” Ser. No. 10/788,639, titled “System and Method for Recognizing Word Patterns in a Very Large Vocabulary Based on a Virtual Keyboard Layout,” and Ser. No. 11/121,637, titled “System and Method for Issuing Commands Based on Pen Motion on a Graphical Keyboard,” all of which are assigned to the same assignee as the present application, and are incorporated herein by reference.
  • FIELD OF THE INVENTION
  • The present invention generally relates to lexicon-based text entry and text prediction systems. More specifically, the present invention relates to text entry using shorthand-on-keyboard, an efficient method of entering words by drawing geometric patterns on a graphical on-screen keyboard.
  • BACKGROUND OF THE INVENTION
  • Shorthand on graphical keyboards (hereafter “shorthand-on-keyboard”) or Shorthand on a Keyboard as Graph (sokgraph), represent an input method and system for efficiently entering text without a physical keyboard, typically using a stylus. Shorthand-on-keyboard enables the user to trace letter or functional keys on the graphical keyboard to enter words and commands into a computer. Experienced users partly or completely memorize the geometric patterns of frequently used words and commands on the keyboard layout and may draw these patterns based on memory recall using, for example, a digital pen.
  • Word-level recognition-based text entry systems such as shorthand-on-keyboard and handwriting/speech recognition as well as text prediction systems all rely on some form of lexicon that defines the set of words that these systems recognize. The input of the user is matched against choices in the lexicon. Words not included in the lexicon are usually not automatically recognized. In such a case, a special mode has to be provided. For example, in shorthand-on-keyboard the user may initially check a candidate list (N-best list). If no choice on the candidate list is the intended word, the user decides if the patterns drawn were incorrect. If the patterns drawn were correct, the user realizes the word intended is not in the lexicon. The user then enters the new word in the lexicon by tapping the individual letters. Ideally, the lexicon comprises all words a particular user needs to write, no more no less. A lexicon that is either too large or too small can introduce problems to the user.
  • A larger lexicon could present certain challenges, since it tends to reduce the recognition accuracy due to the likelihood of a greater number of distracters for each user input. In any language, there tends to be a core set of vocabulary that is common to all individuals. Beyond this core set, vocabulary tends to be specialized for a particular individual. For instance, an engineer may compose emails comprising highly technical terms and abbreviations for a particular field or business area. For other users, these specialized terms can be irrelevant and can introduce noise in the recognition process, making the recognition process less robust.
  • A smaller lexicon is typically a more robust lexicon in that user input is more likely to be correctly recognized, provided the intended word is in the lexicon. A smaller lexicon provides more flexibility and tolerance for the input of the user, allowing the input to be imprecise and inaccurate compared to the ideal form of the intended input choice. A further advantage of a small lexicon is that the search space is smaller. Consequently, a small lexicon allows reduction in the latency of a search. This is especially important in mobile devices where processing power is severely limited.
  • However, when a small lexicon does not contain the word the user needs, the user experience can be frustrating. A user does not know, prior to entry, whether a word is in the lexicon, causing uncertainty for the user. The lack of recognition of a word by a conventional system can occur either when the word is input incorrectly or when the word is not in the lexicon. Consequently, it can be difficult for the user to determine why a word is not recognized. In general, the user cannot know whether a word is in the lexicon except by repeatedly trying the word. When the user is certain that the word is not in the lexicon, the user adds that word to the lexicon via an interface provided by the recognition system by tapping as described earlier. A smaller lexicon requires a user to add words to the lexicon more often.
  • There are several conventional solutions to the lexicon size issue. A commonly used method is to use a large lexicon and then take advantage of higher order language regularities such as a word-level trigram-model to filter out highly unlikely candidates. The downside of a language model approach is generally the overhead of creating and making efficient use of a large language model. Moreover, a language model can introduce errors and mistakenly filter out the intended words. This is especially true if the language model is generic rather than customized to a particular user. In practice, efficient customization of a language model is difficult. Furthermore, a language model is difficult to integrate with a recognition technique that already has a high precision, such as shorthand-on-keyboard.
  • An alternative conventional approach creates a customized lexicon for a user by mining the written text generated by the user, for example, written emails and other documents. Although this approach does result in a lexicon more closely tailored to a specific user, a previously written corpus generated by a user may be to be too small to cover all of the desired words. Furthermore, in practice, it is difficult to write a computer program code that can open and read all and various email and document formats that the user may be using. This approach often requires the user to locate and select the previous written documents, which is inconvenient for the user. A customized lexicon may also be difficult to carry over across different devices.
  • Although these conventional solutions are adequate for their intended purpose, it is desirable to find a solution that enables a lexicon to have a relatively small number of irrelevant distracters to the user's desired input and yet allows easy access to almost all words the user may need, including more specialized words that are infrequently used by most users. Overall, there is a desire to include all words possibly needed by the user in a very large lexicon. However a very large lexicon implies that more words match the pattern drawn on the keyboard given the same matching threshold, reducing the signal-to-noise ratio in the input system. Consequently, a larger lexicon corresponds to less flexibility and robustness to the user. Thus, there is a need for a lexicon configuration for a shorthand-on-keyboard system that balances ease of use with flexibility and robustness.
  • Another challenge to a conventional shorthand-on-keyboard input method is a requirement of entering text exactly at the word level, one word at a time. Some words are long. For relatively new users, it can be cognitively difficult to draw a long word with shorthand-on-keyboard in one stroke. This difficulty is particularly acute in some European languages in which compound long words are more common than in English. Furthermore, a user can find entry more convenient if common affixes can be drawn as a separate stroke from the stem of the word. For example, to write the word “working” with shorthand-on-keyboard, the user may wish to draw the pattern of w-o-r-k on a graphical keyboard, then draw i-n-g and combine the two into one word. Thus, there is a need for an effective system and method to automatically combine partial words on the keyboard (“sokgraphs”) into one word as intended by the user.
  • What is therefore needed is a system, a computer program product, and an associated method for a system and method for improving text input in a shorthand-on-keyboard interface. The need for such a solution has heretofore remained unsatisfied.
  • SUMMARY OF THE INVENTION
  • The present invention satisfies this need, and presents a system, a computer program product, and an associated method (collectively referred to herein as “the system” or “the present system”) for improving text input in a shorthand-on-keyboard interface. The present system comprises a core lexicon and an extended lexicon. The core lexicon comprises commonly used words in a language. The core lexicon typically comprises approximately 5,000 to 15,000 words, depending on an application of the present system. The extended lexicon comprises words not included in the core lexicon. The extended lexicon comprises approximately 30,000 to 100,000 words.
  • The core lexicon allows the present system to target commonly used words in identifying a gesture as a highest-ranked candidate word, providing more robust recognition performance associated with a smaller lexicon. Only words from the core lexicon can be directly outputted in the present system. Additional candidate words are available from the extended lexicon, allowing a user to find lesser-known words on the candidate list, but only through menu selection. The present system enhances word recognition accuracy without sacrificing selection of words from a large lexicon. The core lexicon provides more flexibility and tolerance for the input of the user to be imprecise and inaccurate from the ideal form of the intended input choice.
  • The present system further comprises a recognition module, a pre-ranking module, and a ranking module. The recognition module generates an N-best list of candidate words corresponding to an input pattern. The pre-ranking module ranks the N-best candidate words according to predetermined criteria. The ranking module adjusts ranking of the N-best list of candidate words to place words drawn from the core lexicon higher than words drawn from the extended lexicon, generating a ranked list of word candidates. Only words in the core lexicon are presented as output by the present system. The present system lists candidate words found in the extended lexicon only in the N-best list; these words require user selection to become output. Once selected by a user from the N-best list, a word from the extended lexicon is admitted to the core lexicon.
  • More specifically, in a preferred embodiment, only words in the core lexicon are outputted by the recognition system. Words in the extended lexicon can only be listed in the N-best list and need explicit user selection to be outputted. Once selected, the words in the extended lexicon also gets admitted to the core lexicon.
  • The present system reduces the overhead inflicted upon the user in the case the word gestured by the user is not in the vocabulary of the core lexicon. Instead of being unsure whether the word is included in the lexicon or if the system misrecognized the input, the user can scan the N-best list and select the desired candidate word.
  • The present system further comprises a concatenation module and a compound word module. The concatenation module enables a user to input parts of a long word separately; the present system automatically combines words and part-of-words that are partial “sokgraphs” into one word that is intended by the user. Word parts can be stems, such as “work” and affixes, such as “ing” or “pre”. The compound word module combines two or more common shorter words whose concatenation forms a long word, such as short+hand in English. The concatenation of several short words into one compound word is more common in some European languages such as Swedish or German.
  • The present system allows user interaction to adjust concatenation of a word 1 and a word 2 and decoupling of a combined word. When the user clicks on a concatenated word, for example “smokefree”, a menu option “split to “smoke free”” or an equivalent option is given to the user. Alternatively a pen trace motion, such as a downward motion crossing the word smokefree, can be defined as a split command. For concatenable words with no action due to low confidence, a menu option is embedded in word 1 and word 2. When the user clicks on word 1, the option “snap to right” or an equivalent option is selectable. When the user clicks on word 2, the option “snap to left” or an equivalent option is selectable. Alternatively a pen gesture, such as a circle crossing both word 1 and word 2, is defined as the command to join the two words as one concatenated long word.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The various features of the present invention and the manner of attaining them will be described in greater detail with reference to the following description, claims, and drawings, wherein reference numerals are reused, where appropriate, to indicate a correspondence between the referenced items, and wherein:
  • FIG. 1 is a schematic illustration of an exemplary operating environment in which a word pattern recognition system of the present invention can be used;
  • FIG. 2 is a block diagram of a high-level architecture of the word pattern recognition system of FIG. 1;
  • FIG. 3 is a process flow chart illustrating a method of operation of the word pattern recognition system of FIGS. 1 and 2 in ranking candidate words according to location in a core lexicon or an extended lexicon;
  • FIG. 4 is a diagram illustrating an N-best list generated by the word pattern recognition system of FIGS. 1 and 2 in which words from the core lexicon and words from the extended lexicon are displayed differently;
  • FIG. 5 is a diagram illustrating an N-best list generated by the word pattern recognition system of FIGS. 1 and 2 in which words from the core lexicon are grouped and ranked higher than words from the extended lexicon;
  • FIG. 6 is a process flow chart illustrating a method of operation of the word pattern recognition system of FIGS. 1 and 2 in recognizing a word candidate as a suffix or a prefix and concatenating the recognized prefix or suffix to a recognized word in a language appropriate manner;
  • FIG. 7 is a process flow chart illustrating a method of operation of the word pattern recognition system of FIGS. 1 and 2 in combining words into a compound word;
  • FIG. 8 is comprised of FIGS. 8A, 8B, and 8C and represents a diagram illustrating a menu of the word pattern recognition system of FIGS. 1 and 2 in which the menu enables a user to split a compound word into a stem and a suffix;
  • FIG. 9 is a diagram illustrating a pen gesture formed by a user on a compound word presented by the word pattern recognition system of FIGS. 1 and 2 in which the pen gesture splits a compound word into a stem and a suffix;
  • FIG. 10 is comprised of FIGS. 10A, 10B, and 10C and represents a diagram illustrating a menu of the word pattern recognition system of FIGS. 1 and 2 in which the menu is applied to a stem to enable a user to combine a stem and a suffix into a compound word;
  • FIG. 11 is a diagram illustrating a menu of the word pattern recognition system of FIGS. 1 and 2 in which the menu is applied to a suffix enabling a user to combine a stem and a suffix into a compound word; and
  • FIG. 12 is a diagram illustrating a pen gesture formed by a user on a stem and a suffix presented by the word pattern recognition system of FIGS. 1 and 2 in which the pen gesture combines the stem and the suffix into a compound word.
  • DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
  • The following definitions and explanations provide background information pertaining to the technical field of the present invention, and are intended to facilitate the understanding of the present invention without limiting its scope:
  • Lexicon: a collection of elements defining the recognizable elements that can be matched against a user's input in a recognition system.
  • PDA: Personal Digital Assistant. A pocket-sized personal computer. PDAs typically store phone numbers, appointments, and to-do lists. Some PDAs have a small keyboard; others have only a special pen that is used for input and output on a virtual keyboard.
  • Sokgrah: Shorthand on a Keyboard as a Graph. A pattern representation of words on a virtual keyboard.
  • Virtual Keyboard: A computer simulated keyboard with touch-screen interactive capability that can be used to replace or supplement a keyboard using keyed entry. The virtual keys are typically tapped serially with a stylus. It is also called graphical keyboard, on-screen keyboard, or stylus keyboard.
  • FIG. 1 portrays an exemplary overall environment in which a system, a computer program product, and an associated method for improving text input in a shorthand-on-keyboard interface (the word pattern recognition system 10 or the “system 10”) according to the present invention may be used. System 10 includes a software program code or a computer program product that is typically embedded within, or installed on a computer. The computer in which system 10 is installed can be a mobile device such as a PDA 15 or a cellular phone 20. System 10 can also be installed in devices such as tablet computer 25, touch screen monitor 30, electronic white board 35, and digital pen 40.
  • System 10 can be installed in any device using a virtual keyboard or similar interface for entry, represented by auxiliary device 45. System 10 can be saved on a suitable storage medium such as a diskette, a CD, a hard drive, or like devices.
  • System 10 determines a word from the shape and location of a pen stroke formed by a user on a graphical keyboard. System 10 sends the determined words to a software recipient such as, for example, an application, an operating system, etc.
  • FIG. 2 illustrates a high-level hierarchy of system 10. System 10 comprises a lexicon 205. The lexicon 205 comprises a core lexicon 210 and an extended lexicon 215. The core lexicon 210 comprises commonly used words in a language. The core lexicon 210 typically comprises approximately 5,000 to 15,000 words, depending on an application of system 10. The extended lexicon 215 comprises words not included in the core lexicon 215. The extended lexicon 215 comprises approximately 30,000 to 100,000 words.
  • System 10 further comprises a recognition module 220, a pre-ranking module 225, and a selector/ranking module 230. The recognition module 220 generates an N-best list of candidate words corresponding to an input pattern 235. The pre-ranking module 225 ranks the N-best candidate words according to predetermined criteria. The ranking module 230 adjusts ranking of the N-best list of candidate words to place words drawn from the core lexicon 210 higher than words drawn from the extended lexicon 215, generating a ranked list of word candidates 240. As explained earlier, words drawn from the extended lexicon are not outputted; only words from the core lexicon are outputted.
  • System 10 further comprises a concatenation module 245 and a compound word module 250. The concatenation module 245 concatenates words selected from the ranked list of word candidates 240; e.g., concatenating “ing” with “code” to form “coding”. The compound word module 250 combines words selected from the ranked list of word candidates 240 into larger words. An output word 255 is a word selected from the ranked list of word candidates 240 and processed by the concatenation module 245 and the compound word module 250, as necessary. Only words in the core lexicon 210 are presented as the output word 255 by system 10. System 10 lists candidate words found in the extended lexicon 215 only in the N-best list; these words require user selection to become the output word 255. Once selected by a user, system 10 admits a word from the extended lexicon 215 to the core lexicon 210.
  • System 10 adapts recognition of the input pattern 235 by the recognition module 220 to the vocabulary of the user while maintaining maximum signal to noise ratio in the recognition system. System 10 allows the core lexicon 210 and the extended lexicon 215 to participate in the recognition process of the recognition module 220. However, only words in the core lexicon 210 directly enter output of the recognition module 220; these words are a default output. Words in the extended lexicon 215 that match the input pattern 235 are only listed in an “N-best” list for selection by the user. When a user selects one of these candidate words from the N-best list to replace the default output, the selected word is admitted to core lexicon 210. After a word is admitted to the core lexicon 210, the admitted word can directly enter the output of the recognition module when the word matches the input pattern 235.
  • FIG. 3 illustrates a method 300 of system 10 in generating an N-best list of candidates that match the input pattern 235. The user gestures a word on a shorthand-on-keyboard interface (step 305). The recognition module 220 generates an N-best list of word candidates (step 310); the pre-ranking module 225 ranks the N-best list of word candidates from the core lexicon 210 and the extended lexicon 215 according to a criterion such as a confidence value or a similarity measure (step 315).
  • The ranking module 230 determines whether the highest ranked word in the N-best list of candidate words is drawn from the core lexicon 210 (decision step 320). If yes, the ranking module 230 outputs the ranked N-best list of word candidates as the ranked list of word candidates 240 (step 325). If the highest ranked candidate in the N-best list of candidate words is not present in the core lexicon 210, the ranking module 230 searches the N-best list of candidate words to locate the highest ranking word candidate drawn from the core lexicon 210 (step 330).
  • If a word candidate drawn from the core lexicon 210 is not found in the N-best list of candidate words (decision step 335), the ranking module 230 outputs the ranked N-best list of word candidates as the ranked list of word candidates 240. Otherwise, the ranking module 230 moves the found word candidate to the highest-ranking position in the N-best list of word candidates (step 335). The ranking module outputs the ranked N-best list of word candidates as the ranked list of word candidates 240 (step 340).
  • To allow users to select a candidate word that is not highest ranked, a user interface component displays the next best candidate list (N-best list) from which a user can see alternative candidate words that closely match the input pattern 235. In one embodiment, the position of a candidate word on the list is determined by a rank associated with the candidate word independent of whether the candidate word is found in the core lexicon 210 or the extended lexicon 215, with the exception of the highest ranked word must always be found in the core lexicon with the exception when no word in the core lexicon matches the user's input. In another embodiment, candidate words are grouped by lexicon origin; i.e., candidate words from the core lexicon 210 are grouped together and candidate words from the extended lexicon 215 are grouped together.
  • The origin of the candidate words can optionally be indicated by emphasizing different perceptual features that are associated with the candidate words, to facilitate the recognition of the source of the candidate words, e.g., from the core or extended lexicon. Exemplary perceptual features include, for example: color, background shading, bold fond, italicized font, etc. If a user selects no word, system 10 outputs the highest ranked word in the N-best list of candidate words from the core lexicon. If a user does not select a word, system 10 outputs the highest ranked word in the N-best list of candidate words from the core lexicon.
  • Words drawn from the extended lexicon 215 are accessed from the N-best list of candidate words. Consequently, error tolerance of system 10 in generating the highest-ranked candidate is greatly enhanced, since the highest-ranked candidate that is displayed by the system is drawn from the smaller core lexicon 210. In rare situations in which the desired word is not found in the core lexicon 210, the user activates the N-best list and selects the desired candidate.
  • FIG. 4 illustrates an exemplary N-best list of candidate words 400 generated by the ranking module 230. Candidate words from the core lexicon 210 comprise candidate word 1, 405, candidate word 2, 410, and candidate word 3, 415, collectively referenced as core candidate words 420. Candidate words from the extended lexicon 215 comprise candidate word 4, 425, candidate 5, 430, candidate word 6, 435, candidate word 7, 440, and candidate word 8, 445, collectively referenced as extended candidate words 450. Core candidate words 420 and extended candidate words 450 are displayed with different emphasis.
  • In this example, core candidate words 420 are shown in bold text and extended candidate words 450 are shown in italicized text. Any form of emphasis may be used to differentiate the core candidate words 420 and the extended candidate words 450 such as, for example, text color, color background, shading, etc. The candidate words in the exemplary N-best list of candidate words 400 are positioned according to rank given by the recognition module 220, with the exception of the top word candidate position 455 that is reserved for a word drawn from the core lexicon 210 unless no word from the core lexicon matches the user's input, in which case top word candidate position 455 may be taken by a word from the extended lexicon.
  • FIG. 5 illustrates one embodiment in which an exemplary N-best list 500 comprises candidate words ranked according to source and according to ranking criteria provided by the recognition module 220. As for FIG. 4, core candidate words 420 and extended candidate words 450 are displayed with different emphasis. In this example, core candidate words 420 are shown in bold text and extended candidate words 450 are shown in italicized text.
  • System 10 greatly reduces the overhead inflicted upon the user in the case the word gestured by the user is not in the vocabulary of the core lexicon 210. Instead of being unsure whether the word is included in the core lexicon 210 or if the system misrecognized the input, the user can scan the N-best list and select the desired candidate word.
  • For those familiar with the state of the art, it should be apparent that the division of words into separate lexicons is one implementation that is also a simple conceptual model. Alternatively the lexicon 205 can be conceptualized as layers, a core lexicon layer and an extended lexicon layer, ranked by frequency or priori probability. When a word from the extended lexicon layer is selected from the N-best candidate interface, the frequency or priori probability of the selected word is adjusted to a threshold or other criterion having the effect that the selected word is adjusted to belong to the core layer.
  • System 10 further enables a user to input parts of a long word separately; system 10 automatically combines partial “sokgraphs” into one that is intended by the user. Word parts can be stems, such as “work” and affixes, such as “ming”, or two or more common shorter words whose concatenation forms a long word, such as short+hand in English. The concatenation of several short words into one compound word is more common in some European languages such as Swedish or German.
  • Concatenations are based on individually recognizing parts involved in the concatenated word. For the case of stem+suffix, the user initially gestures an input pattern 235 for a word that represents the stem, then gestures an input pattern 235 of the suffix. For example for the word “coding”, the user initially writes the gesture for “code”, then writes the gesture for “ing”. For an input trace on the keyboard, the recognition module 220 finds the optimum matches and outputs these matches to an N-best list with strings S(i),iε[1,N], where a rank i of a string signifies the confidence of the recognition module 220 in the selected string matching input pattern 235. The string with the rank i=1 is the top choice of the recognition module 220. The recognition module 220 stores the last N-best list in a temporary buffer. The buffered N-best list for a regular word (stem) is denoted as S0.
  • In one embodiment, suffixes are stored in a list called concatenable suffixes whose sokgraphs, the geometric pattern on a graphical keyboard, are represented in the same way as a common word sokgraph. For example, for the suffix “ing”, its sokgraph is a continuous trace starting from the i key to the n key ending on the g key. The system recognizes an input pattern 235 for sokgraph “ing” in the same way as any other sokgraph, except the suffix “ing” is stored in the list of concatenable suffixes. Alternatively both suffixes and regular words can be stored in the same lexicon, but with an identifier differentiating the suffix from the regular word. In one embodiment, concatenable suffixes are stored in a lookup table in which each suffix entry, such as “ing”, is associated with a series of pointers that point to the entries in a lexicon that ends with that suffix
  • FIG. 6 illustrates a method 600 of system 10 in combining concatenable suffixes with a stem word. A user gestures a word on a shorthand-on-keyboard interface (step 605). The concatenation module 245 obtains a highest ranked word for an output N-best list of word candidates 240 (step 610). The concatenation module 245 determines whether the obtained word is a concatenable suffix by, for example, comparing the obtained word with a list of concatenable suffixes (decision step 615). If the obtained word is not a concatenable suffix, the concatenation module 245 takes no action (step 620).
  • If the obtained word is a concatenable suffix, the concatenation module 245 finds concatenation candidates that end with the determined concatenable suffix (step 625). The concatenation module 245 strips the concatenable suffix from each concatenation candidate (step 630). Words ending with a current suffix (e.g. “ing”) are denoted as S1(i) (e.g. coding or working) and their remainders stripped of the suffix are denoted S2(i) (e.g. “cod” or “work”).
  • The concatenation module 245 computes the string edit distance (specifically: the Morgan editing error using the Wagner-Fisher algorithm) between the stripped concatenation candidates and the concatenable suffix (step 635). The remainders S2(i) are then matched against the top choice S0(1) in the buffered N-best list. Since S0 contains whole words, not fragments of words (for example S0(1)=code) the matching is inexact. System 10 uses edit-distance (the minimum number of edit operations chosen from insertion, deletion, or substitution of a single character) to match two strings) to find the string in s2(i) (i=1,N) that is closest to s0(1) and denote it as s2 min. The concatenation module 245 sorts the concatenation candidates by the associated edit distance (step 640). The concatenation module 245 returns the concatenation candidate with the smallest edit distance (step 645).
  • In an alternative embodiment word frequencies or prior probabilities, or higher-order language regularities are used to rank concatenation candidates that share the same edit distance.
  • The word corresponding to s2 min in S1(i) is returned as the concatenation candidate of choice. For example “code” is closer by edit-distance to “cod” (the stripped part of “coding”) than “code” to “work” (the stripped part of “working”). In one embodiment, a threshold can be set as the lowest acceptable edit-distance mismatch.
  • In another embodiment suffixes are not linked to all words that end with the suffix. Instead, when a suffix is recognized, the system 10 scans the lexicon 205, finds words that end with the recognized suffix, strips the ending from the found words, matches the stripped remainders with the preceding word, and selects the closest match for concatenation as previously described. The difference between these two embodiments lies in computational time and memory space tradeoff. Scanning the lexicon implies that a separate list of pointers is not needed, hence reducing the storage requirement of the lexicon in the medium the software code is accessing. On the other hand, scanning the lexicon requires more time than to locate a word than a system comprising a lexicon that is indexed with a separate list of pointers.
  • System 10 treats prefix+stem in a manner similar to stem+suffix. The concatenation module 245 initially recognizes a prefix-based word from the output of the ranked list of word candidates 240 from either a separate list of prefixes or a common lexicon with a prefix identifier. The concatenation module 245 then recognizes the word that follows the prefix. The concatenation module 245 matches all words containing the prefix, strips the matched word of the prefix, and returns the closest match for concatenation.
  • The concatenation of two shorter words into a long one is not deterministic. For example, in Swedish both “smoke free” and “smokefree” are permitted, but their meanings are opposite (smoking allowed as opposed to smoking not allowed). The compound word module 250 uses a statistical and interactive method to handle the concatenation of two words. To support this method, system 10 stores in the lexicon 205 the statistical information including the frequencies of all words (based on the total number of occurrence of each word in a corpus of text) and frequencies of all bigrams (based on the total number of occurrence of two ordered words).
  • FIG. 7 illustrates a method 700 of system 10 in combining words into compound words. Method 700 examines pairs of consecutive words (word 1, word 2) (step 705). The compound word module 245 determines whether the combined consecutive words (word 1+word 2=word 3) are found in the lexicon 205 (decision step 710). If the combined word, word 3, is not found, the compound word module 250 takes no action (step 715). If a match (word 3=word 1+word 2) is found, the compound word module 250 compares the frequency of word 3 with bigram (word1, word2) (step 720). If the frequency of word 3 is greater than the frequency of bigram (word1, word2) compared to a predetermined threshold or the ratio of the frequency of word 3 with respect to the frequency of bigram (word1, word2) is greater than a predetermined threshold (decision step 725), the compound word module replaces word 1 and word 2 with word 3 (step 730). Otherwise, no action is taken (step 715). Alternatively, the comparison of the frequency of word 3 and the frequency of the bigram (word 1, word 2) is a weighted comparison.
  • System 10 provides a user interface that enables user interaction for adjusting concatenation and decoupling. FIG. 8 (FIGS. 8A, 8B, 8C) illustrates decoupling of a combined word into two individual words or parts of words. An exemplary screen 805 displays to a user an exemplary concatenated word “coding” 810. The user selects the displayed concatenated word “coding” by, for example, clicking on the word “coding” 810 (FIG. 8A). Selecting the word “coding” 810 displays a menu option 815 comprising, for example, selectable instruction “Split to “Code” and “ing”” or an equivalent option (FIG. 8B). If the user selects the instruction shown in menu option 815, system 10 splits the displayed concatenated word “coding” 810 into stem “code” 820 and suffix “ing” 825 (FIG. 8C).
  • FIG. 9 illustrates an exemplary alternative pen trace motion 905 used to split the concatenated word “coding” 810. The screen 805 displays to the user a concatenated word “coding” 810. The user forms the pen trace motion 905 over the concatenated word “coding” 810. System 10 splits the displayed concatenated word “coding” 810 into stem “code” 820 and suffix “ming” 825 as illustrated in FIG. 8C.
  • For concatenable words with no action due to low confidence, a menu option is embedded in word 1 and word 2 as illustrated in FIG. 10. For example, the screen 805 displays to the user a word 1 “code” 1005 and a word 2 “ing” 1010 as shown in FIG. 10A. Selecting the word 1 “code” 1005 displays an option menu 1015 comprising a selectable instruction “snap to right” or an equivalent option (FIG. 10B). If the user selects the instruction “snap to right” shown in the option menu 1015, system 10 concatenates the word 1 “code” 1005 and the word 2 “ming” 1010, forming the concatenated word “coding” 1020 (FIG. 10C).
  • FIG. 11 illustrates an exemplary option menu 1105 displayed when the user selects the word 2 “ming” 1010. If the user selects the instruction “snap to left” shown in the option menu 1105, system 10 concatenates the word 1 “code” 1005 and the word 2 “ming” 1010, forming the concatenated word “coding” 1020 as shown in FIG. 10C.
  • FIG. 12 illustrates an exemplary alternative pen trace motion 1205 used to concatenate the word 1 “code” 1005 and the word 2 “ing” 1010. The pen trace motion 1205 comprises, for example, a circle crossing the word 1 “code” 1005 and the word 2 “ming” 1010. System 10 recognizes the command represented by the pen trace motion 1205 and concatenates the word 1 “code” 1005 and the word 2 “ing” 1010, forming the concatenated word “coding” 1020 as shown in FIG. 10C.
  • It is to be understood that the specific embodiments of the invention that have been described are merely illustrative of certain applications of the principle of the present invention. Numerous modifications may be made to the system and method for improving text input in a shorthand-on-keyboard interface described herein without departing from the spirit and scope of the present invention.

Claims (22)

1. A word recognition system for recognizing an input signal entered via a shorthand-on-keyboard interface, the system comprising:
a core lexicon comprising commonly used words;
an extended lexicon comprising words not contained in the core lexicon;
a recognition module for recognizing words associated with the input signal;
a selector module for outputting an output word associated with the input signal from the core lexicon; and
a module for admitting a candidate word associated with the input signal to the core lexicon, upon selection of the candidate word by the user.
2. The system of claim 1, further comprising a user selection interface presenting candidate words associated with the input signal from at least one of the core lexicon and the extended lexicon, for selection by the user.
3. The system of claim 2, wherein the user selection interface lists candidate words from the core lexicon and candidate words from the extended lexicon with different perceptual features for ease of distinction.
4. The system of claim 1, wherein the recognition module generates an N-best list of candidate words from the core lexicon and the extended lexicon.
5. The system of claim 4, further comprising a pre-ranking module for ranking the N-best list of candidate words according to at least one criterion.
6. The system of claim 5, wherein the ranking module outputs a highest ranked word from the core lexicon as the highest ranked word in the N-best list of candidate word.
7. A word recognition method for recognizing a input text entered via a shorthand-on-keyboard interface, the method comprising:
storing commonly used words on a core lexicon;
storing words not contained in the core lexicon in an extended lexicon;
recognizing words associated with the input signal;
outputting an output word associated with the input text from the core lexicon; and
admitting a candidate word associated with the input text to the core lexicon, upon selection of the candidate word by a user.
8. The method of claim 7, further comprising presenting candidate words associated with the input signal from at least one of the core lexicon and the extended lexicon, for selection by the user.
9. The method of claim 8, further comprising listing candidate words from the core lexicon and candidate words from the extended lexicon with different perceptual features for ease of distinction.
10. A computer program product having program codes stored on a computer-usable medium for word for recognizing an input signal entered via a user input interface, comprising:
a core lexicon comprising commonly used words;
an extended lexicon comprising words not contained in the core lexicon;
a program code for recognizing words associated with the input signal;
a program code for outputting an output word associated with the input signal from the core lexicon; and
a program code for admitting a candidate word associated with the input signal to the core lexicon, upon selection of the candidate word by the user.
11. A system for recognizing an input signal entered via a shorthand-on-keyboard interface and for allowing a stem and an affix of the input text to be combined, the system comprising:
a concatenation module for recognizing the input signal as an input affix;
the concatenation module further recognizing a candidate word as neighboring candidate word;
a compound output module for retrieving a set of words in a lexicon containing the input affix;
a ranking module for ranking the set of words containing the input affix according to a similarity function that compares each lexicon word in the set of words containing the input affix, with a string containing the candidate word and the input affix; and
the compound word module outputting a highest ranked lexicon word in the set of words containing the input affix.
12. The system of claim 11, wherein the input affix is a suffix.
13. The system of claim 12, wherein the compound word module compounds the suffix and the highest ranked lexicon word.
14. The system of claim 11, wherein the input affix is a prefix.
15. The system of claim 14, wherein the compound word module compounds the prefix and the highest ranked lexicon word.
16. The system of claim 14, wherein the similarity function includes a distance function.
17. The system of claim 14, wherein the neighboring candidate word includes any one of a candidate word that precedes the input affix or a candidate word that succeeds the input affix.
18. The system of claim 17, wherein if the input text is not recognized as the input affix, the compound word module creates a string resulting from a concatenation of the input text and the neighboring candidate word; determines a frequency of occurrence of the string in the lexicon; compares the frequency of occurrence of the string to frequencies of occurrence of the input text and the neighboring candidate word separately; and if the frequency of occurrence of the string exceeds the frequencies of occurrence of the input text and the neighboring candidate word separately, the compound word module concatenates the input text and the neighboring candidate word as a concatenated word, and replaces the string with the concatenated word.
19. The system of claim 18, wherein a comparison of the frequency of occurrence of the string relative to the frequencies of occurrence of the input text and the neighboring candidate word is a weighted comparison.
20. A method for recognizing an input text entered via a shorthand-on-keyboard interface and for allowing a stem and an affix of the input text to be combined, the method comprising:
recognizing the input text as an input affix;
if the input text is recognized as the input affix, recognizing a candidate word as neighboring candidate word;
retrieving a set of words in a lexicon containing the input affix;
ranking the set of words containing the input affix according to a similarity function by comparing each lexicon word in the set of words containing the input affix, with a string containing the candidate word and the input affix; and
outputting a highest ranked lexicon word in the set of words containing the input affix.
21. The method of claim 19, further comprising compounding the suffix and the highest ranked lexicon word.
22. A computer program product having program codes stored on a computer-usable medium for recognizing an input signal and for allowing a stem and an affix of the input text to be combined, comprising:
a program code for recognizing the input signal as an input affix, and for further recognizing a candidate word as neighboring candidate word;
a program code for retrieving a set of words in a lexicon containing the input affix;
a program code for ranking the set of words containing the input affix according to a similarity function that compares each lexicon word in the set of words containing the input affix, with a string containing the candidate word and the input affix; and
a program code for outputting a highest ranked lexicon word in the set of words containing the input affix.
US11/256,713 2005-10-22 2005-10-22 System and method for improving text input in a shorthand-on-keyboard interface Abandoned US20070094024A1 (en)

Priority Applications (10)

Application Number Priority Date Filing Date Title
US11/256,713 US20070094024A1 (en) 2005-10-22 2005-10-22 System and method for improving text input in a shorthand-on-keyboard interface
JP2008536022A JP2009512923A (en) 2005-10-22 2006-10-12 System, computer program and method for improving text input in short hand on keyboard interface (improving text input in short hand on keyboard interface on keyboard)
CN2006800392497A CN101292214B (en) 2005-10-22 2006-10-12 Improved text input in a shorthand-on-keyboard interface
PCT/EP2006/067338 WO2007045597A1 (en) 2005-10-22 2006-10-12 Improved text input in a shorthand-on-keyboard interface
US12/906,827 US8311796B2 (en) 2005-10-22 2010-10-18 System and method for improving text input in a shorthand-on-keyboard interface
JP2012178643A JP5738245B2 (en) 2005-10-22 2012-08-10 System, computer program and method for improving text input in short hand on keyboard interface (improving text input in short hand on keyboard interface on keyboard)
JP2012178642A JP5400200B2 (en) 2005-10-22 2012-08-10 System, computer program and method for improving text input in a short hand on keyboard interface
US13/616,311 US8543384B2 (en) 2005-10-22 2012-09-14 Input recognition using multiple lexicons
US13/866,994 US8712755B2 (en) 2005-10-22 2013-04-19 System and method for improving text input in a shorthand-on-keyboard interface
US14/206,920 US9256580B2 (en) 2005-10-22 2014-03-12 System and method for improving text input in a shorthand-on-keyboard interface

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/256,713 US20070094024A1 (en) 2005-10-22 2005-10-22 System and method for improving text input in a shorthand-on-keyboard interface

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/906,827 Continuation US8311796B2 (en) 2005-10-22 2010-10-18 System and method for improving text input in a shorthand-on-keyboard interface

Publications (1)

Publication Number Publication Date
US20070094024A1 true US20070094024A1 (en) 2007-04-26

Family

ID=37847184

Family Applications (5)

Application Number Title Priority Date Filing Date
US11/256,713 Abandoned US20070094024A1 (en) 2005-10-22 2005-10-22 System and method for improving text input in a shorthand-on-keyboard interface
US12/906,827 Expired - Fee Related US8311796B2 (en) 2005-10-22 2010-10-18 System and method for improving text input in a shorthand-on-keyboard interface
US13/616,311 Active US8543384B2 (en) 2005-10-22 2012-09-14 Input recognition using multiple lexicons
US13/866,994 Active US8712755B2 (en) 2005-10-22 2013-04-19 System and method for improving text input in a shorthand-on-keyboard interface
US14/206,920 Expired - Fee Related US9256580B2 (en) 2005-10-22 2014-03-12 System and method for improving text input in a shorthand-on-keyboard interface

Family Applications After (4)

Application Number Title Priority Date Filing Date
US12/906,827 Expired - Fee Related US8311796B2 (en) 2005-10-22 2010-10-18 System and method for improving text input in a shorthand-on-keyboard interface
US13/616,311 Active US8543384B2 (en) 2005-10-22 2012-09-14 Input recognition using multiple lexicons
US13/866,994 Active US8712755B2 (en) 2005-10-22 2013-04-19 System and method for improving text input in a shorthand-on-keyboard interface
US14/206,920 Expired - Fee Related US9256580B2 (en) 2005-10-22 2014-03-12 System and method for improving text input in a shorthand-on-keyboard interface

Country Status (4)

Country Link
US (5) US20070094024A1 (en)
JP (3) JP2009512923A (en)
CN (1) CN101292214B (en)
WO (1) WO2007045597A1 (en)

Cited By (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060067252A1 (en) * 2004-09-30 2006-03-30 Ajita John Method and apparatus for providing communication tasks in a workflow
US20060101504A1 (en) * 2004-11-09 2006-05-11 Veveo.Tv, Inc. Method and system for performing searches for television content and channels using a non-intrusive television interface and with reduced text input
US20070156747A1 (en) * 2005-12-12 2007-07-05 Tegic Communications Llc Mobile Device Retrieval and Navigation
US20070255693A1 (en) * 2006-03-30 2007-11-01 Veveo, Inc. User interface method and system for incrementally searching and selecting content items and for presenting advertising in response to search activities
US20070266406A1 (en) * 2004-11-09 2007-11-15 Murali Aravamudan Method and system for performing actions using a non-intrusive television with reduced text input
US20080141125A1 (en) * 2006-06-23 2008-06-12 Firooz Ghassabian Combined data entry systems
US20080313128A1 (en) * 2007-06-12 2008-12-18 Microsoft Corporation Disk-Based Probabilistic Set-Similarity Indexes
US20080313564A1 (en) * 2007-05-25 2008-12-18 Veveo, Inc. System and method for text disambiguation and context designation in incremental search
US20080313574A1 (en) * 2007-05-25 2008-12-18 Veveo, Inc. System and method for search with reduced physical interaction requirements
US20080313174A1 (en) * 2007-05-25 2008-12-18 Veveo, Inc. Method and system for unified searching across and within multiple documents
US20090063135A1 (en) * 2007-08-31 2009-03-05 Vadim Fux Handheld Electronic Device and Method Employing Logical Proximity of Characters in Spell Checking
US20090217203A1 (en) * 2006-03-06 2009-08-27 Veveo, Inc. Methods and systems for segmeting relative user preferences into fine-grain and course-grain collections
US20100073329A1 (en) * 2008-09-19 2010-03-25 Tiruvilwamalai Venkatram Raman Quick Gesture Input
US20100153380A1 (en) * 2005-11-23 2010-06-17 Veveo, Inc. System And Method For Finding Desired Results By Incremental Search Using An Ambiguous Keypad With The Input Containing Orthographic And/Or Typographic Errors
US20100238125A1 (en) * 2009-03-20 2010-09-23 Nokia Corporation Method, Apparatus, and Computer Program Product For Discontinuous Shapewriting
US20100286979A1 (en) * 2007-08-01 2010-11-11 Ginger Software, Inc. Automatic context sensitive language correction and enhancement using an internet corpus
US20110071834A1 (en) * 2005-10-22 2011-03-24 Per-Ola Kristensson System and method for improving text input in a shorthand-on-keyboard interface
US20110208512A1 (en) * 2008-11-07 2011-08-25 Jinglian Gao Method and system for generating derivative words
US8078884B2 (en) 2006-11-13 2011-12-13 Veveo, Inc. Method of and system for selecting and presenting content based on user identification
US8086602B2 (en) 2006-04-20 2011-12-27 Veveo Inc. User interface methods and systems for selecting and presenting content based on user navigation and selection actions associated with the content
US8107401B2 (en) 2004-09-30 2012-01-31 Avaya Inc. Method and apparatus for providing a virtual assistant to a communication participant
US8180722B2 (en) 2004-09-30 2012-05-15 Avaya Inc. Method and apparatus for data mining within communication session information using an entity relationship model
US8270320B2 (en) 2004-09-30 2012-09-18 Avaya Inc. Method and apparatus for launching a conference based on presence of invitees
US8417717B2 (en) 2006-03-30 2013-04-09 Veveo Inc. Method and system for incrementally selecting and providing relevant search engines in response to a user query
US20130262452A1 (en) * 2010-12-17 2013-10-03 Telefonaktiebolaget L M Ericsson (Publ) Server for Conveying a Set of Contact Identification Data to a User Equipment, Methods Therefor, User Equipment, Computer Programs and Computer Program Products
US8667414B2 (en) 2012-03-23 2014-03-04 Google Inc. Gestural input at a virtual keyboard
US8677236B2 (en) 2008-12-19 2014-03-18 Microsoft Corporation Contact-specific and location-aware lexicon prediction
US8701032B1 (en) 2012-10-16 2014-04-15 Google Inc. Incremental multi-word recognition
US20140164996A1 (en) * 2012-12-11 2014-06-12 Canon Kabushiki Kaisha Apparatus, method, and storage medium
US8782549B2 (en) 2012-10-05 2014-07-15 Google Inc. Incremental feature-based gesture-keyboard decoding
US8799804B2 (en) 2006-10-06 2014-08-05 Veveo, Inc. Methods and systems for a linear character selection display interface for ambiguous text input
US8819574B2 (en) 2012-10-22 2014-08-26 Google Inc. Space prediction for text input
US20140278368A1 (en) * 2013-03-14 2014-09-18 Google Inc. Morpheme-level predictive graphical keyboard
US8843845B2 (en) 2012-10-16 2014-09-23 Google Inc. Multi-gesture text input prediction
US8850350B2 (en) 2012-10-16 2014-09-30 Google Inc. Partial gesture text entry
US20140350920A1 (en) 2009-03-30 2014-11-27 Touchtype Ltd System and method for inputting text into electronic devices
US20150066500A1 (en) * 2013-08-30 2015-03-05 Honda Motor Co., Ltd. Speech processing device, speech processing method, and speech processing program
US9015036B2 (en) 2010-02-01 2015-04-21 Ginger Software, Inc. Automatic context sensitive language correction using an internet corpus particularly for small keyboard devices
US9021380B2 (en) 2012-10-05 2015-04-28 Google Inc. Incremental multi-touch gesture recognition
US9046932B2 (en) 2009-10-09 2015-06-02 Touchtype Ltd System and method for inputting text into electronic devices based on text and text category predictions
US9052748B2 (en) 2010-03-04 2015-06-09 Touchtype Limited System and method for inputting text into electronic devices
US9081500B2 (en) 2013-05-03 2015-07-14 Google Inc. Alternative hypothesis error correction for gesture typing
US20150248882A1 (en) * 2012-07-09 2015-09-03 Nuance Communications, Inc. Detecting potential significant errors in speech recognition results
US9135544B2 (en) 2007-11-14 2015-09-15 Varcode Ltd. System and method for quality management utilizing barcode indicators
US9166714B2 (en) 2009-09-11 2015-10-20 Veveo, Inc. Method of and system for presenting enriched video viewing analytics
US9177081B2 (en) 2005-08-26 2015-11-03 Veveo, Inc. Method and system for processing ambiguous, multi-term search queries
US9189472B2 (en) 2009-03-30 2015-11-17 Touchtype Limited System and method for inputting text into small screen devices
US9384185B2 (en) 2010-09-29 2016-07-05 Touchtype Ltd. System and method for inputting text into electronic devices
US9400952B2 (en) 2012-10-22 2016-07-26 Varcode Ltd. Tamper-proof quality management barcode indicators
US9424246B2 (en) 2009-03-30 2016-08-23 Touchtype Ltd. System and method for inputting text into electronic devices
US9547439B2 (en) 2013-04-22 2017-01-17 Google Inc. Dynamically-positioned character string suggestions for gesture typing
US20170025117A1 (en) * 2015-07-23 2017-01-26 Samsung Electronics Co., Ltd. Speech recognition apparatus and method
CN106484133A (en) * 2016-08-24 2017-03-08 苏娜香 The method for input in Chinese being carried out using handwriting stenograph symbol
US9646277B2 (en) 2006-05-07 2017-05-09 Varcode Ltd. System and method for improved quality management in a product logistic chain
US9703779B2 (en) 2010-02-04 2017-07-11 Veveo, Inc. Method of and system for enhanced local-device content discovery
US9747272B2 (en) 2012-10-16 2017-08-29 Google Inc. Feature-based autocorrection
US9830311B2 (en) 2013-01-15 2017-11-28 Google Llc Touch keyboard using language and spatial models
US20180349349A1 (en) * 2017-06-02 2018-12-06 Apple Inc. Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling
US10176451B2 (en) 2007-05-06 2019-01-08 Varcode Ltd. System and method for quality management utilizing barcode indicators
US10191654B2 (en) 2009-03-30 2019-01-29 Touchtype Limited System and method for inputting text into electronic devices
US10235363B2 (en) * 2017-04-28 2019-03-19 Sap Se Instant translation of user interfaces of a web application
US10372310B2 (en) 2016-06-23 2019-08-06 Microsoft Technology Licensing, Llc Suppression of input images
US10445678B2 (en) 2006-05-07 2019-10-15 Varcode Ltd. System and method for improved quality management in a product logistic chain
CN110826322A (en) * 2019-10-22 2020-02-21 中电科大数据研究院有限公司 Method for discovering new words, predicting parts of speech and marking
US10613746B2 (en) 2012-01-16 2020-04-07 Touchtype Ltd. System and method for inputting text
US10697837B2 (en) 2015-07-07 2020-06-30 Varcode Ltd. Electronic quality indicator
US11060924B2 (en) 2015-05-18 2021-07-13 Varcode Ltd. Thermochromic ink indicia for activatable quality labels
US11704526B2 (en) 2008-06-10 2023-07-18 Varcode Ltd. Barcoded indicators for quality management

Families Citing this family (153)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9606634B2 (en) * 2005-05-18 2017-03-28 Nokia Technologies Oy Device incorporating improved text input mechanism
US20090193334A1 (en) * 2005-05-18 2009-07-30 Exb Asset Management Gmbh Predictive text input system and method involving two concurrent ranking means
US8374846B2 (en) * 2005-05-18 2013-02-12 Neuer Wall Treuhand Gmbh Text input device and method
US8036878B2 (en) * 2005-05-18 2011-10-11 Never Wall Treuhand GmbH Device incorporating improved text input mechanism
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
WO2009024194A1 (en) * 2007-08-17 2009-02-26 Nokia Corporation Method and device for word input
US10002189B2 (en) 2007-12-20 2018-06-19 Apple Inc. Method and apparatus for searching using an active ontology
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US20120311585A1 (en) 2011-06-03 2012-12-06 Apple Inc. Organizing task items that represent tasks to perform
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US20130091166A1 (en) * 2011-10-06 2013-04-11 Discovery Engine Corporation Method and apparatus for indexing information using an extended lexicon
EP2812777A4 (en) * 2012-02-06 2015-11-25 Michael K Colby Character-string completion
US9330082B2 (en) * 2012-02-14 2016-05-03 Facebook, Inc. User experience with customized user dictionary
US9330083B2 (en) * 2012-02-14 2016-05-03 Facebook, Inc. Creating customized user dictionary
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US20140136210A1 (en) * 2012-11-14 2014-05-15 At&T Intellectual Property I, L.P. System and method for robust personalization of speech recognition
IN2013CH00469A (en) 2013-01-21 2015-07-31 Keypoint Technologies India Pvt Ltd
US10474355B2 (en) 2013-01-21 2019-11-12 Keypoint Technologies India Pvt. Ltd. Input pattern detection over virtual keyboard for candidate word identification
US9047268B2 (en) * 2013-01-31 2015-06-02 Google Inc. Character and word level language models for out-of-vocabulary text input
US9454240B2 (en) 2013-02-05 2016-09-27 Google Inc. Gesture keyboard input of non-dictionary character strings
KR20230137475A (en) 2013-02-07 2023-10-04 애플 인크. Voice trigger for a digital assistant
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
US9672818B2 (en) 2013-04-18 2017-06-06 Nuance Communications, Inc. Updating population language models based on changes made by user clusters
FR3005175B1 (en) * 2013-04-24 2018-07-27 Myscript PERMANENT SYNCHRONIZATION SYSTEM FOR MANUSCRITE INPUT
US8756499B1 (en) * 2013-04-29 2014-06-17 Google Inc. Gesture keyboard input of non-dictionary character strings using substitute scoring
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
EP3937002A1 (en) 2013-06-09 2022-01-12 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US9423890B2 (en) * 2013-06-28 2016-08-23 Lenovo (Singapore) Pte. Ltd. Stylus lexicon sharing
US9229543B2 (en) * 2013-06-28 2016-01-05 Lenovo (Singapore) Pte. Ltd. Modifying stylus input or response using inferred emotion
CN103531197A (en) * 2013-10-11 2014-01-22 安徽科大讯飞信息科技股份有限公司 Command word recognition self-adaptive optimization method for carrying out feedback on user speech recognition result
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
EP3480811A1 (en) 2014-05-30 2019-05-08 Apple Inc. Multi-command single utterance input method
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
CN104538032B (en) * 2014-12-19 2018-02-06 中国科学院计算技术研究所 A kind of methods for mandarin speech recognition and system for merging user feedback
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9703394B2 (en) * 2015-03-24 2017-07-11 Google Inc. Unlearning techniques for adaptive language models in text entry
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10416868B2 (en) 2016-02-29 2019-09-17 Myscript Method and system for character insertion in a character string
US10248635B2 (en) 2016-02-29 2019-04-02 Myscript Method for inserting characters in a character string and the corresponding digital service
DK201670539A1 (en) * 2016-03-14 2017-10-02 Apple Inc Dictation that allows editing
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
AU2016410752A1 (en) 2016-06-22 2019-01-31 Huawei Technologies Co., Ltd. Method and device for displaying candidate words, and graphical user interface
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US10884610B2 (en) 2016-11-04 2021-01-05 Myscript System and method for recognizing handwritten stroke input
US11281993B2 (en) 2016-12-05 2022-03-22 Apple Inc. Model and ensemble compression for metric learning
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. User interface for correcting recognition errors
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
DK201770428A1 (en) 2017-05-12 2019-02-18 Apple Inc. Low-latency intelligent automated assistant
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
DK179560B1 (en) 2017-05-16 2019-02-18 Apple Inc. Far-field extension for digital assistant services
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US20190079668A1 (en) * 2017-06-29 2019-03-14 Ashwin P Rao User interfaces for keyboards
US10445429B2 (en) 2017-09-21 2019-10-15 Apple Inc. Natural language understanding using vocabularies with compressed serialized tries
US10755051B2 (en) 2017-09-29 2020-08-25 Apple Inc. Rule-based natural language processing
US10636424B2 (en) 2017-11-30 2020-04-28 Apple Inc. Multi-turn canned dialog
US10733982B2 (en) 2018-01-08 2020-08-04 Apple Inc. Multi-directional dialog
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US10789959B2 (en) 2018-03-02 2020-09-29 Apple Inc. Training speaker recognition models for digital assistants
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10909331B2 (en) 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
US11010553B2 (en) * 2018-04-18 2021-05-18 International Business Machines Corporation Recommending authors to expand personal lexicon
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK179822B1 (en) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. Virtual assistant operation in multi-device environments
US11076039B2 (en) 2018-06-03 2021-07-27 Apple Inc. Accelerated task performance
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
CN109712613B (en) * 2018-12-27 2021-04-20 北京百佑科技有限公司 Semantic analysis library updating method and device and electronic equipment
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11217251B2 (en) 2019-05-06 2022-01-04 Apple Inc. Spoken notifications
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
DK201970510A1 (en) 2019-05-31 2021-02-11 Apple Inc Voice identification in digital assistant systems
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. User activity shortcut suggestions
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11227599B2 (en) 2019-06-01 2022-01-18 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
WO2021056255A1 (en) 2019-09-25 2021-04-01 Apple Inc. Text detection using global geometry estimators
RU2741322C1 (en) * 2020-03-13 2021-01-25 Хуавэй Текнолоджиз Ко., Лтд. Method and device for displaying possible word and graphical user interface
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11038934B1 (en) 2020-05-11 2021-06-15 Apple Inc. Digital assistant hardware abstraction
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones

Citations (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4819271A (en) * 1985-05-29 1989-04-04 International Business Machines Corporation Constructing Markov model word baseforms from multiple utterances by concatenating model sequences for word segments
US5680628A (en) * 1995-07-19 1997-10-21 Inso Corporation Method and apparatus for automated search and retrieval process
US5896321A (en) * 1997-11-14 1999-04-20 Microsoft Corporation Text completion system for a miniature computer
US5953541A (en) * 1997-01-24 1999-09-14 Tegic Communications, Inc. Disambiguating system for disambiguating ambiguous input sequences by displaying objects associated with the generated input sequences in the order of decreasing frequency of use
US6018708A (en) * 1997-08-26 2000-01-25 Nortel Networks Corporation Method and apparatus for performing speech recognition utilizing a supplementary lexicon of frequently used orthographies
US6175834B1 (en) * 1998-06-24 2001-01-16 Microsoft Corporation Consistency checker for documents containing japanese text
US6223059B1 (en) * 1999-02-22 2001-04-24 Nokia Mobile Phones Limited Communication terminal having a predictive editor application
US6349282B1 (en) * 1999-04-20 2002-02-19 Larnout & Hauspie Speech Products N.V. Compound words in speech recognition systems
US6401060B1 (en) * 1998-06-25 2002-06-04 Microsoft Corporation Method for typographical detection and replacement in Japanese text
US6438545B1 (en) * 1997-07-03 2002-08-20 Value Capital Management Semantic user interface
US20030110031A1 (en) * 2001-12-07 2003-06-12 Sony Corporation Methodology for implementing a vocabulary set for use in a speech recognition system
US20040070571A1 (en) * 2001-10-11 2004-04-15 Woodard Scott E. Speed writer program and device with speed writer program installed
US20040086179A1 (en) * 2002-11-04 2004-05-06 Yue Ma Post-processing system and method for correcting machine recognized text
US20040120583A1 (en) * 2002-12-20 2004-06-24 International Business Machines Corporation System and method for recognizing word patterns based on a virtual keyboard layout
US20040155869A1 (en) * 1999-05-27 2004-08-12 Robinson B. Alex Keyboard system with automatic correction
US6801893B1 (en) * 1999-06-30 2004-10-05 International Business Machines Corporation Method and apparatus for expanding the vocabulary of a speech system
US6956968B1 (en) * 1999-01-04 2005-10-18 Zi Technology Corporation, Ltd. Database engines for processing ideographic characters and methods therefor
US20050283364A1 (en) * 1998-12-04 2005-12-22 Michael Longe Multimodal disambiguation of speech recognition
US7120582B1 (en) * 1999-09-07 2006-10-10 Dragon Systems, Inc. Expanding an effective vocabulary of a speech recognition system
US7129932B1 (en) * 2003-03-26 2006-10-31 At&T Corp. Keyboard for interacting on small devices
US7158678B2 (en) * 2001-07-19 2007-01-02 Motorola, Inc. Text input method for personal digital assistants and the like
US7199786B2 (en) * 2002-11-29 2007-04-03 Daniel Suraqui Reduced keyboards system using unistroke input and having automatic disambiguating and a recognition method using said system
US7293231B1 (en) * 1999-03-18 2007-11-06 British Columbia Ltd. Data entry for personal computing devices

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2193023B (en) * 1986-07-25 1990-12-12 Hoem Gideon Cullum Display apparatus
JPH04264668A (en) * 1991-02-19 1992-09-21 Nec Off Syst Ltd Document preparing machine
JPH06131328A (en) * 1992-10-16 1994-05-13 Just Syst Corp Method and device for processing document
JPH0744655A (en) * 1993-08-03 1995-02-14 Sony Corp Handwritten input display device
US5574482A (en) * 1994-05-17 1996-11-12 Niemeier; Charles J. Method for data input on a touch-sensitive screen
US6008799A (en) * 1994-05-24 1999-12-28 Microsoft Corporation Method and system for entering data using an improved on-screen keyboard
JPH0863468A (en) * 1994-08-17 1996-03-08 Sharp Corp Japanese syllabary and chinese character conversion system
JP3313978B2 (en) * 1996-07-26 2002-08-12 キヤノン株式会社 Process cartridge and electrophotographic image forming apparatus
JPH1185910A (en) * 1997-07-16 1999-03-30 Matsushita Electric Ind Co Ltd Device for recognizing character and method therefor and recording medium for recording the same method
JP2000200267A (en) * 1998-12-28 2000-07-18 Casio Comput Co Ltd Input character converting device and its program recording medium
GB2388938B (en) * 1999-02-22 2004-03-17 Nokia Corp A communication terminal having a predictive editor application
JP3539479B2 (en) * 1999-03-11 2004-07-07 シャープ株式会社 Translation apparatus, translation method, and recording medium recording translation program
JP3492981B2 (en) * 1999-05-30 2004-02-03 テジック・コミュニケーションズ・インコーポレーテッド An input system for generating input sequence of phonetic kana characters
JP2001034495A (en) * 1999-07-27 2001-02-09 Nec Corp Dual system
JP3935374B2 (en) * 2002-02-28 2007-06-20 株式会社東芝 Dictionary construction support method, apparatus and program
US7380203B2 (en) * 2002-05-14 2008-05-27 Microsoft Corporation Natural input recognition tool
US7098896B2 (en) * 2003-01-16 2006-08-29 Forword Input Inc. System and method for continuous stroke word-based text input
JP4357240B2 (en) * 2003-08-28 2009-11-04 三洋電機株式会社 Character recognition device, character recognition method, program, and storage medium
US7706616B2 (en) 2004-02-27 2010-04-27 International Business Machines Corporation System and method for recognizing word patterns in a very large vocabulary based on a virtual keyboard layout
US7376938B1 (en) * 2004-03-12 2008-05-20 Steven Van der Hoeven Method and system for disambiguation and predictive resolution
US7487461B2 (en) 2005-05-04 2009-02-03 International Business Machines Corporation System and method for issuing commands based on pen motions on a graphical keyboard
US7583205B2 (en) * 2005-07-28 2009-09-01 Research In Motion Limited Handheld electronic device with disambiguation of compound word text input
US20070094024A1 (en) 2005-10-22 2007-04-26 International Business Machines Corporation System and method for improving text input in a shorthand-on-keyboard interface

Patent Citations (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4819271A (en) * 1985-05-29 1989-04-04 International Business Machines Corporation Constructing Markov model word baseforms from multiple utterances by concatenating model sequences for word segments
US5680628A (en) * 1995-07-19 1997-10-21 Inso Corporation Method and apparatus for automated search and retrieval process
US5953541A (en) * 1997-01-24 1999-09-14 Tegic Communications, Inc. Disambiguating system for disambiguating ambiguous input sequences by displaying objects associated with the generated input sequences in the order of decreasing frequency of use
US6286064B1 (en) * 1997-01-24 2001-09-04 Tegic Communications, Inc. Reduced keyboard and method for simultaneous ambiguous and unambiguous text input
US6438545B1 (en) * 1997-07-03 2002-08-20 Value Capital Management Semantic user interface
US6018708A (en) * 1997-08-26 2000-01-25 Nortel Networks Corporation Method and apparatus for performing speech recognition utilizing a supplementary lexicon of frequently used orthographies
US5896321A (en) * 1997-11-14 1999-04-20 Microsoft Corporation Text completion system for a miniature computer
US6175834B1 (en) * 1998-06-24 2001-01-16 Microsoft Corporation Consistency checker for documents containing japanese text
US6401060B1 (en) * 1998-06-25 2002-06-04 Microsoft Corporation Method for typographical detection and replacement in Japanese text
US20050283364A1 (en) * 1998-12-04 2005-12-22 Michael Longe Multimodal disambiguation of speech recognition
US6956968B1 (en) * 1999-01-04 2005-10-18 Zi Technology Corporation, Ltd. Database engines for processing ideographic characters and methods therefor
US6223059B1 (en) * 1999-02-22 2001-04-24 Nokia Mobile Phones Limited Communication terminal having a predictive editor application
US7293231B1 (en) * 1999-03-18 2007-11-06 British Columbia Ltd. Data entry for personal computing devices
US6349282B1 (en) * 1999-04-20 2002-02-19 Larnout & Hauspie Speech Products N.V. Compound words in speech recognition systems
US20040155869A1 (en) * 1999-05-27 2004-08-12 Robinson B. Alex Keyboard system with automatic correction
US6801893B1 (en) * 1999-06-30 2004-10-05 International Business Machines Corporation Method and apparatus for expanding the vocabulary of a speech system
US7120582B1 (en) * 1999-09-07 2006-10-10 Dragon Systems, Inc. Expanding an effective vocabulary of a speech recognition system
US7158678B2 (en) * 2001-07-19 2007-01-02 Motorola, Inc. Text input method for personal digital assistants and the like
US20040070571A1 (en) * 2001-10-11 2004-04-15 Woodard Scott E. Speed writer program and device with speed writer program installed
US20030110031A1 (en) * 2001-12-07 2003-06-12 Sony Corporation Methodology for implementing a vocabulary set for use in a speech recognition system
US20040086179A1 (en) * 2002-11-04 2004-05-06 Yue Ma Post-processing system and method for correcting machine recognized text
US7199786B2 (en) * 2002-11-29 2007-04-03 Daniel Suraqui Reduced keyboards system using unistroke input and having automatic disambiguating and a recognition method using said system
US20040120583A1 (en) * 2002-12-20 2004-06-24 International Business Machines Corporation System and method for recognizing word patterns based on a virtual keyboard layout
US7129932B1 (en) * 2003-03-26 2006-10-31 At&T Corp. Keyboard for interacting on small devices

Cited By (176)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8107401B2 (en) 2004-09-30 2012-01-31 Avaya Inc. Method and apparatus for providing a virtual assistant to a communication participant
US7936863B2 (en) * 2004-09-30 2011-05-03 Avaya Inc. Method and apparatus for providing communication tasks in a workflow
US20060067252A1 (en) * 2004-09-30 2006-03-30 Ajita John Method and apparatus for providing communication tasks in a workflow
US8270320B2 (en) 2004-09-30 2012-09-18 Avaya Inc. Method and apparatus for launching a conference based on presence of invitees
US8180722B2 (en) 2004-09-30 2012-05-15 Avaya Inc. Method and apparatus for data mining within communication session information using an entity relationship model
US20070266406A1 (en) * 2004-11-09 2007-11-15 Murali Aravamudan Method and system for performing actions using a non-intrusive television with reduced text input
US20060101504A1 (en) * 2004-11-09 2006-05-11 Veveo.Tv, Inc. Method and system for performing searches for television content and channels using a non-intrusive television interface and with reduced text input
US9177081B2 (en) 2005-08-26 2015-11-03 Veveo, Inc. Method and system for processing ambiguous, multi-term search queries
US9256580B2 (en) 2005-10-22 2016-02-09 Nuance Communications, Inc. System and method for improving text input in a shorthand-on-keyboard interface
US8543384B2 (en) 2005-10-22 2013-09-24 Nuance Communications, Inc. Input recognition using multiple lexicons
US20110071834A1 (en) * 2005-10-22 2011-03-24 Per-Ola Kristensson System and method for improving text input in a shorthand-on-keyboard interface
US8311796B2 (en) 2005-10-22 2012-11-13 Nuance Communications, Inc. System and method for improving text input in a shorthand-on-keyboard interface
US8370284B2 (en) 2005-11-23 2013-02-05 Veveo, Inc. System and method for finding desired results by incremental search using an ambiguous keypad with the input containing orthographic and/or typographic errors
US20100153380A1 (en) * 2005-11-23 2010-06-17 Veveo, Inc. System And Method For Finding Desired Results By Incremental Search Using An Ambiguous Keypad With The Input Containing Orthographic And/Or Typographic Errors
US8589324B2 (en) * 2005-11-23 2013-11-19 Veveo, Inc. System and method for finding desired results by incremental search using an ambiguous keypad with the input containing typographic errors
US20070156747A1 (en) * 2005-12-12 2007-07-05 Tegic Communications Llc Mobile Device Retrieval and Navigation
US8825694B2 (en) * 2005-12-12 2014-09-02 Nuance Communications, Inc. Mobile device retrieval and navigation
US20110126146A1 (en) * 2005-12-12 2011-05-26 Mark Samuelson Mobile device retrieval and navigation
US7840579B2 (en) * 2005-12-12 2010-11-23 Tegic Communications Inc. Mobile device retrieval and navigation
US8429188B2 (en) 2006-03-06 2013-04-23 Veveo, Inc. Methods and systems for selecting and presenting content based on context sensitive user preferences
US8380726B2 (en) 2006-03-06 2013-02-19 Veveo, Inc. Methods and systems for selecting and presenting content based on a comparison of preference signatures from multiple users
US9213755B2 (en) 2006-03-06 2015-12-15 Veveo, Inc. Methods and systems for selecting and presenting content based on context sensitive user preferences
US8583566B2 (en) 2006-03-06 2013-11-12 Veveo, Inc. Methods and systems for selecting and presenting content based on learned periodicity of user content selection
US9128987B2 (en) 2006-03-06 2015-09-08 Veveo, Inc. Methods and systems for selecting and presenting content based on a comparison of preference signatures from multiple users
US9092503B2 (en) 2006-03-06 2015-07-28 Veveo, Inc. Methods and systems for selecting and presenting content based on dynamically identifying microgenres associated with the content
US8825576B2 (en) 2006-03-06 2014-09-02 Veveo, Inc. Methods and systems for selecting and presenting content on a first system based on user preferences learned on a second system
US8543516B2 (en) 2006-03-06 2013-09-24 Veveo, Inc. Methods and systems for selecting and presenting content on a first system based on user preferences learned on a second system
US8478794B2 (en) 2006-03-06 2013-07-02 Veveo, Inc. Methods and systems for segmenting relative user preferences into fine-grain and coarse-grain collections
US8112454B2 (en) 2006-03-06 2012-02-07 Veveo, Inc. Methods and systems for ordering content items according to learned user preferences
US20090217203A1 (en) * 2006-03-06 2009-08-27 Veveo, Inc. Methods and systems for segmeting relative user preferences into fine-grain and course-grain collections
US8943083B2 (en) 2006-03-06 2015-01-27 Veveo, Inc. Methods and systems for segmenting relative user preferences into fine-grain and coarse-grain collections
US8438160B2 (en) 2006-03-06 2013-05-07 Veveo, Inc. Methods and systems for selecting and presenting content based on dynamically identifying Microgenres Associated with the content
US9075861B2 (en) 2006-03-06 2015-07-07 Veveo, Inc. Methods and systems for segmenting relative user preferences into fine-grain and coarse-grain collections
US8429155B2 (en) 2006-03-06 2013-04-23 Veveo, Inc. Methods and systems for selecting and presenting content based on activity level spikes associated with the content
US8949231B2 (en) 2006-03-06 2015-02-03 Veveo, Inc. Methods and systems for selecting and presenting content based on activity level spikes associated with the content
US20100325111A1 (en) * 2006-03-06 2010-12-23 Veveo, Inc. Methods and Systems for Selecting and Presenting Content Based on Context Sensitive User Preferences
US8417717B2 (en) 2006-03-30 2013-04-09 Veveo Inc. Method and system for incrementally selecting and providing relevant search engines in response to a user query
US20070255693A1 (en) * 2006-03-30 2007-11-01 Veveo, Inc. User interface method and system for incrementally searching and selecting content items and for presenting advertising in response to search activities
US9223873B2 (en) 2006-03-30 2015-12-29 Veveo, Inc. Method and system for incrementally selecting and providing relevant search engines in response to a user query
US8086602B2 (en) 2006-04-20 2011-12-27 Veveo Inc. User interface methods and systems for selecting and presenting content based on user navigation and selection actions associated with the content
US8423583B2 (en) 2006-04-20 2013-04-16 Veveo Inc. User interface methods and systems for selecting and presenting content based on user relationships
US8688746B2 (en) 2006-04-20 2014-04-01 Veveo, Inc. User interface methods and systems for selecting and presenting content based on user relationships
US10146840B2 (en) 2006-04-20 2018-12-04 Veveo, Inc. User interface methods and systems for selecting and presenting content based on user relationships
US9087109B2 (en) 2006-04-20 2015-07-21 Veveo, Inc. User interface methods and systems for selecting and presenting content based on user relationships
US8375069B2 (en) 2006-04-20 2013-02-12 Veveo Inc. User interface methods and systems for selecting and presenting content based on user navigation and selection actions associated with the content
US9646277B2 (en) 2006-05-07 2017-05-09 Varcode Ltd. System and method for improved quality management in a product logistic chain
US10726375B2 (en) 2006-05-07 2020-07-28 Varcode Ltd. System and method for improved quality management in a product logistic chain
US10037507B2 (en) 2006-05-07 2018-07-31 Varcode Ltd. System and method for improved quality management in a product logistic chain
US10445678B2 (en) 2006-05-07 2019-10-15 Varcode Ltd. System and method for improved quality management in a product logistic chain
US20080141125A1 (en) * 2006-06-23 2008-06-12 Firooz Ghassabian Combined data entry systems
US8799804B2 (en) 2006-10-06 2014-08-05 Veveo, Inc. Methods and systems for a linear character selection display interface for ambiguous text input
US8078884B2 (en) 2006-11-13 2011-12-13 Veveo, Inc. Method of and system for selecting and presenting content based on user identification
US10176451B2 (en) 2007-05-06 2019-01-08 Varcode Ltd. System and method for quality management utilizing barcode indicators
US10776752B2 (en) 2007-05-06 2020-09-15 Varcode Ltd. System and method for quality management utilizing barcode indicators
US10504060B2 (en) 2007-05-06 2019-12-10 Varcode Ltd. System and method for quality management utilizing barcode indicators
US8296294B2 (en) 2007-05-25 2012-10-23 Veveo, Inc. Method and system for unified searching across and within multiple documents
US20080313564A1 (en) * 2007-05-25 2008-12-18 Veveo, Inc. System and method for text disambiguation and context designation in incremental search
US8429158B2 (en) 2007-05-25 2013-04-23 Veveo, Inc. Method and system for unified searching and incremental searching across and within multiple documents
US20080313574A1 (en) * 2007-05-25 2008-12-18 Veveo, Inc. System and method for search with reduced physical interaction requirements
US20080313174A1 (en) * 2007-05-25 2008-12-18 Veveo, Inc. Method and system for unified searching across and within multiple documents
US8549424B2 (en) * 2007-05-25 2013-10-01 Veveo, Inc. System and method for text disambiguation and context designation in incremental search
US8886642B2 (en) 2007-05-25 2014-11-11 Veveo, Inc. Method and system for unified searching and incremental searching across and within multiple documents
US7610283B2 (en) * 2007-06-12 2009-10-27 Microsoft Corporation Disk-based probabilistic set-similarity indexes
US20080313128A1 (en) * 2007-06-12 2008-12-18 Microsoft Corporation Disk-Based Probabilistic Set-Similarity Indexes
US20100286979A1 (en) * 2007-08-01 2010-11-11 Ginger Software, Inc. Automatic context sensitive language correction and enhancement using an internet corpus
US8914278B2 (en) * 2007-08-01 2014-12-16 Ginger Software, Inc. Automatic context sensitive language correction and enhancement using an internet corpus
US9026432B2 (en) 2007-08-01 2015-05-05 Ginger Software, Inc. Automatic context sensitive language generation, correction and enhancement using an internet corpus
US20090063135A1 (en) * 2007-08-31 2009-03-05 Vadim Fux Handheld Electronic Device and Method Employing Logical Proximity of Characters in Spell Checking
US8452584B2 (en) 2007-08-31 2013-05-28 Research In Motion Limited Handheld electronic device and method employing logical proximity of characters in spell checking
US7949516B2 (en) * 2007-08-31 2011-05-24 Research In Motion Limited Handheld electronic device and method employing logical proximity of characters in spell checking
US20110197127A1 (en) * 2007-08-31 2011-08-11 Research In Motion Limited Handheld electronic device and method employing logical proximity of characters in spell checking
US8296128B2 (en) 2007-08-31 2012-10-23 Research In Motion Limited Handheld electronic device and method employing logical proximity of characters in spell checking
US9836678B2 (en) 2007-11-14 2017-12-05 Varcode Ltd. System and method for quality management utilizing barcode indicators
US9558439B2 (en) 2007-11-14 2017-01-31 Varcode Ltd. System and method for quality management utilizing barcode indicators
US10262251B2 (en) 2007-11-14 2019-04-16 Varcode Ltd. System and method for quality management utilizing barcode indicators
US10719749B2 (en) 2007-11-14 2020-07-21 Varcode Ltd. System and method for quality management utilizing barcode indicators
US9135544B2 (en) 2007-11-14 2015-09-15 Varcode Ltd. System and method for quality management utilizing barcode indicators
US10417543B2 (en) 2008-06-10 2019-09-17 Varcode Ltd. Barcoded indicators for quality management
US10049314B2 (en) 2008-06-10 2018-08-14 Varcode Ltd. Barcoded indicators for quality management
US10885414B2 (en) 2008-06-10 2021-01-05 Varcode Ltd. Barcoded indicators for quality management
US11238323B2 (en) 2008-06-10 2022-02-01 Varcode Ltd. System and method for quality management utilizing barcode indicators
US10303992B2 (en) 2008-06-10 2019-05-28 Varcode Ltd. System and method for quality management utilizing barcode indicators
US11341387B2 (en) 2008-06-10 2022-05-24 Varcode Ltd. Barcoded indicators for quality management
US9646237B2 (en) 2008-06-10 2017-05-09 Varcode Ltd. Barcoded indicators for quality management
US9626610B2 (en) 2008-06-10 2017-04-18 Varcode Ltd. System and method for quality management utilizing barcode indicators
US10089566B2 (en) 2008-06-10 2018-10-02 Varcode Ltd. Barcoded indicators for quality management
US9384435B2 (en) 2008-06-10 2016-07-05 Varcode Ltd. Barcoded indicators for quality management
US10572785B2 (en) 2008-06-10 2020-02-25 Varcode Ltd. Barcoded indicators for quality management
US11704526B2 (en) 2008-06-10 2023-07-18 Varcode Ltd. Barcoded indicators for quality management
US9996783B2 (en) 2008-06-10 2018-06-12 Varcode Ltd. System and method for quality management utilizing barcode indicators
US9710743B2 (en) 2008-06-10 2017-07-18 Varcode Ltd. Barcoded indicators for quality management
US10789520B2 (en) 2008-06-10 2020-09-29 Varcode Ltd. Barcoded indicators for quality management
US9317794B2 (en) 2008-06-10 2016-04-19 Varcode Ltd. Barcoded indicators for quality management
US11449724B2 (en) 2008-06-10 2022-09-20 Varcode Ltd. System and method for quality management utilizing barcode indicators
US10776680B2 (en) 2008-06-10 2020-09-15 Varcode Ltd. System and method for quality management utilizing barcode indicators
US8769427B2 (en) 2008-09-19 2014-07-01 Google Inc. Quick gesture input
US20100073329A1 (en) * 2008-09-19 2010-03-25 Tiruvilwamalai Venkatram Raman Quick Gesture Input
US10466890B2 (en) 2008-09-19 2019-11-05 Google Llc Quick gesture input
US9639267B2 (en) 2008-09-19 2017-05-02 Google Inc. Quick gesture input
US8560302B2 (en) * 2008-11-07 2013-10-15 Guangdong Guobi Technology Co. Ltd Method and system for generating derivative words
US20110208512A1 (en) * 2008-11-07 2011-08-25 Jinglian Gao Method and system for generating derivative words
US8677236B2 (en) 2008-12-19 2014-03-18 Microsoft Corporation Contact-specific and location-aware lexicon prediction
US20100238125A1 (en) * 2009-03-20 2010-09-23 Nokia Corporation Method, Apparatus, and Computer Program Product For Discontinuous Shapewriting
US9659002B2 (en) 2009-03-30 2017-05-23 Touchtype Ltd System and method for inputting text into electronic devices
US9424246B2 (en) 2009-03-30 2016-08-23 Touchtype Ltd. System and method for inputting text into electronic devices
US20140350920A1 (en) 2009-03-30 2014-11-27 Touchtype Ltd System and method for inputting text into electronic devices
US9189472B2 (en) 2009-03-30 2015-11-17 Touchtype Limited System and method for inputting text into small screen devices
US10073829B2 (en) 2009-03-30 2018-09-11 Touchtype Limited System and method for inputting text into electronic devices
US10445424B2 (en) 2009-03-30 2019-10-15 Touchtype Limited System and method for inputting text into electronic devices
US10402493B2 (en) 2009-03-30 2019-09-03 Touchtype Ltd System and method for inputting text into electronic devices
US10191654B2 (en) 2009-03-30 2019-01-29 Touchtype Limited System and method for inputting text into electronic devices
US9166714B2 (en) 2009-09-11 2015-10-20 Veveo, Inc. Method of and system for presenting enriched video viewing analytics
US9046932B2 (en) 2009-10-09 2015-06-02 Touchtype Ltd System and method for inputting text into electronic devices based on text and text category predictions
US9015036B2 (en) 2010-02-01 2015-04-21 Ginger Software, Inc. Automatic context sensitive language correction using an internet corpus particularly for small keyboard devices
US9703779B2 (en) 2010-02-04 2017-07-11 Veveo, Inc. Method of and system for enhanced local-device content discovery
US9052748B2 (en) 2010-03-04 2015-06-09 Touchtype Limited System and method for inputting text into electronic devices
US10146765B2 (en) 2010-09-29 2018-12-04 Touchtype Ltd. System and method for inputting text into electronic devices
US9384185B2 (en) 2010-09-29 2016-07-05 Touchtype Ltd. System and method for inputting text into electronic devices
US20130262452A1 (en) * 2010-12-17 2013-10-03 Telefonaktiebolaget L M Ericsson (Publ) Server for Conveying a Set of Contact Identification Data to a User Equipment, Methods Therefor, User Equipment, Computer Programs and Computer Program Products
US10613746B2 (en) 2012-01-16 2020-04-07 Touchtype Ltd. System and method for inputting text
US8667414B2 (en) 2012-03-23 2014-03-04 Google Inc. Gestural input at a virtual keyboard
US20180158448A1 (en) * 2012-07-09 2018-06-07 Nuance Communications, Inc. Detecting potential significant errors in speech recognition results
US11495208B2 (en) * 2012-07-09 2022-11-08 Nuance Communications, Inc. Detecting potential significant errors in speech recognition results
US20150248882A1 (en) * 2012-07-09 2015-09-03 Nuance Communications, Inc. Detecting potential significant errors in speech recognition results
US9818398B2 (en) * 2012-07-09 2017-11-14 Nuance Communications, Inc. Detecting potential significant errors in speech recognition results
US9021380B2 (en) 2012-10-05 2015-04-28 Google Inc. Incremental multi-touch gesture recognition
US9552080B2 (en) 2012-10-05 2017-01-24 Google Inc. Incremental feature-based gesture-keyboard decoding
US8782549B2 (en) 2012-10-05 2014-07-15 Google Inc. Incremental feature-based gesture-keyboard decoding
US9747272B2 (en) 2012-10-16 2017-08-29 Google Inc. Feature-based autocorrection
US10140284B2 (en) 2012-10-16 2018-11-27 Google Llc Partial gesture text entry
US10977440B2 (en) 2012-10-16 2021-04-13 Google Llc Multi-gesture text input prediction
US9710453B2 (en) 2012-10-16 2017-07-18 Google Inc. Multi-gesture text input prediction
US9798718B2 (en) 2012-10-16 2017-10-24 Google Inc. Incremental multi-word recognition
US10489508B2 (en) 2012-10-16 2019-11-26 Google Llc Incremental multi-word recognition
US9678943B2 (en) 2012-10-16 2017-06-13 Google Inc. Partial gesture text entry
US9134906B2 (en) 2012-10-16 2015-09-15 Google Inc. Incremental multi-word recognition
US11379663B2 (en) 2012-10-16 2022-07-05 Google Llc Multi-gesture text input prediction
US9542385B2 (en) 2012-10-16 2017-01-10 Google Inc. Incremental multi-word recognition
US8850350B2 (en) 2012-10-16 2014-09-30 Google Inc. Partial gesture text entry
US8843845B2 (en) 2012-10-16 2014-09-23 Google Inc. Multi-gesture text input prediction
US8701032B1 (en) 2012-10-16 2014-04-15 Google Inc. Incremental multi-word recognition
US10552719B2 (en) 2012-10-22 2020-02-04 Varcode Ltd. Tamper-proof quality management barcode indicators
US10839276B2 (en) 2012-10-22 2020-11-17 Varcode Ltd. Tamper-proof quality management barcode indicators
US10242302B2 (en) 2012-10-22 2019-03-26 Varcode Ltd. Tamper-proof quality management barcode indicators
US8819574B2 (en) 2012-10-22 2014-08-26 Google Inc. Space prediction for text input
US9400952B2 (en) 2012-10-22 2016-07-26 Varcode Ltd. Tamper-proof quality management barcode indicators
US9965712B2 (en) 2012-10-22 2018-05-08 Varcode Ltd. Tamper-proof quality management barcode indicators
US10019435B2 (en) 2012-10-22 2018-07-10 Google Llc Space prediction for text input
US9633296B2 (en) 2012-10-22 2017-04-25 Varcode Ltd. Tamper-proof quality management barcode indicators
US20140164996A1 (en) * 2012-12-11 2014-06-12 Canon Kabushiki Kaisha Apparatus, method, and storage medium
US11727212B2 (en) 2013-01-15 2023-08-15 Google Llc Touch keyboard using a trained model
US9830311B2 (en) 2013-01-15 2017-11-28 Google Llc Touch keyboard using language and spatial models
US10528663B2 (en) 2013-01-15 2020-01-07 Google Llc Touch keyboard using language and spatial models
US11334717B2 (en) 2013-01-15 2022-05-17 Google Llc Touch keyboard using a trained model
US9199155B2 (en) * 2013-03-14 2015-12-01 Google Inc. Morpheme-level predictive graphical keyboard
US20140278368A1 (en) * 2013-03-14 2014-09-18 Google Inc. Morpheme-level predictive graphical keyboard
US9547439B2 (en) 2013-04-22 2017-01-17 Google Inc. Dynamically-positioned character string suggestions for gesture typing
US9841895B2 (en) 2013-05-03 2017-12-12 Google Llc Alternative hypothesis error correction for gesture typing
US9081500B2 (en) 2013-05-03 2015-07-14 Google Inc. Alternative hypothesis error correction for gesture typing
US10241673B2 (en) 2013-05-03 2019-03-26 Google Llc Alternative hypothesis error correction for gesture typing
US20150066500A1 (en) * 2013-08-30 2015-03-05 Honda Motor Co., Ltd. Speech processing device, speech processing method, and speech processing program
US9336777B2 (en) * 2013-08-30 2016-05-10 Honda Motor Co., Ltd. Speech processing device, speech processing method, and speech processing program
US11060924B2 (en) 2015-05-18 2021-07-13 Varcode Ltd. Thermochromic ink indicia for activatable quality labels
US11781922B2 (en) 2015-05-18 2023-10-10 Varcode Ltd. Thermochromic ink indicia for activatable quality labels
US11009406B2 (en) 2015-07-07 2021-05-18 Varcode Ltd. Electronic quality indicator
US11614370B2 (en) 2015-07-07 2023-03-28 Varcode Ltd. Electronic quality indicator
US11920985B2 (en) 2015-07-07 2024-03-05 Varcode Ltd. Electronic quality indicator
US10697837B2 (en) 2015-07-07 2020-06-30 Varcode Ltd. Electronic quality indicator
US20170025117A1 (en) * 2015-07-23 2017-01-26 Samsung Electronics Co., Ltd. Speech recognition apparatus and method
US9911409B2 (en) * 2015-07-23 2018-03-06 Samsung Electronics Co., Ltd. Speech recognition apparatus and method
US10372310B2 (en) 2016-06-23 2019-08-06 Microsoft Technology Licensing, Llc Suppression of input images
CN106484133A (en) * 2016-08-24 2017-03-08 苏娜香 The method for input in Chinese being carried out using handwriting stenograph symbol
US10235363B2 (en) * 2017-04-28 2019-03-19 Sap Se Instant translation of user interfaces of a web application
US20180349349A1 (en) * 2017-06-02 2018-12-06 Apple Inc. Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling
US10657328B2 (en) * 2017-06-02 2020-05-19 Apple Inc. Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling
CN110826322A (en) * 2019-10-22 2020-02-21 中电科大数据研究院有限公司 Method for discovering new words, predicting parts of speech and marking

Also Published As

Publication number Publication date
US9256580B2 (en) 2016-02-09
US8712755B2 (en) 2014-04-29
JP5738245B2 (en) 2015-06-17
JP2009512923A (en) 2009-03-26
CN101292214B (en) 2010-07-21
US20130006639A1 (en) 2013-01-03
US8543384B2 (en) 2013-09-24
JP5400200B2 (en) 2014-01-29
US20130234947A1 (en) 2013-09-12
US20140278374A1 (en) 2014-09-18
JP2012256354A (en) 2012-12-27
WO2007045597A1 (en) 2007-04-26
CN101292214A (en) 2008-10-22
US20110071834A1 (en) 2011-03-24
JP2012256353A (en) 2012-12-27
US8311796B2 (en) 2012-11-13

Similar Documents

Publication Publication Date Title
US8543384B2 (en) Input recognition using multiple lexicons
US11614862B2 (en) System and method for inputting text into electronic devices
US10073829B2 (en) System and method for inputting text into electronic devices
JP4829901B2 (en) Method and apparatus for confirming manually entered indeterminate text input using speech input
US7319957B2 (en) Handwriting and voice input with automatic correction
EP1018069B1 (en) Reduced keyboard disambiguating system
CA2556065C (en) Handwriting and voice input with automatic correction
US20050192802A1 (en) Handwriting and voice input with automatic correction
US20140108004A1 (en) Text/character input system, such as for use with touch screens on mobile phones
JP2005530272A (en) Clear character filtering of ambiguous text input
JPH11312046A (en) Input system for generating input sequence of voice kana character

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KRISTENSSON, PER-OLA;ZHAI, SHUMIN;REEL/FRAME:017127/0040

Effective date: 20051020

AS Assignment

Owner name: NUANCE COMMUNICATIONS, INC., MASSACHUSETTS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:025608/0301

Effective date: 20100813

STCB Information on status: application discontinuation

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