Automatic correction of user input using transliteration
AssigneeGoogle Inc.
InventorsIvan D. Davtchev, Noah Coccaro, Adi Avidor, Nir Andelman, Mario Tanev
Life of this patent
Estimating the term…
Abstract
Methods, systems, and apparatus, including computer program products, in which input keystroke data can be interpreted using a current mapping and a determination can be made whether the current mapping is valid based upon the characters identified by the mapping and the keystroke data. Invalid mappings can be corrected by identifying a transliteration of the characters in an alternative language.
Claims21
A computer implemented method comprising:
- receiving keystroke data for a keyboard input device;
- determining a current mapping for the keyboard input device in response to a language for the keyboard input device;
- identifying characters responsive to the keystroke data and the current mapping;
- comparing the characters to words in the language;
- determining whether the characters identify a word in the language based upon the comparison;
- if a word in the language is identified by the characters, accepting the characters as input;
- and
- if no word in the language is identified by the characters:
- determining one or more spell corrected versions of the characters that match one or more words in the language;
- scoring each of the matching one or more words in the language;
- identifying a phonetic transliteration of the characters in an alternative language;
- comparing the phonetic transliteration of the characters to alternative words in an alternative language;
- if the phonetic transliteration matches one or more alternative words in the alternative language by at least a threshold match, identifying the one or more alternative words as one or more candidate words;
- scoring each of the candidate words;
- and p2 selecting from among the matching one or more words in the language and the one or more candidate words, the word with the highest score as input.
(canceled)
(canceled)
A computer implemented method, comprising:
- receiving keystroke data for a keyboard input device;
- determining a current character mapping for the keyboard input device, the current character mapping corresponding to a language;
- identifying characters responsive to the keystroke data and the current mapping;
- comparing the characters to words in the language;
- determining whether the characters identify a word in the language based on the comparison;
- if a word in the language is identified by the characters, accepting the characters as input;
- if no word in the language is identified by the characters:
- determining one or more spell corrected versions of the characters that match one or more words in the language;
- scoring each of the matching one or more words in the language;
- identifying one or more transliterations from documents included in a network or queries received through a search engine interface;
- comparing the characters to the one or more transliterations identified from the documents and queries received from the network;
- if the characters match the identified one or more transliterations by at least a threshold match, identifying one or more alternative word corresponding to the matching one or more transliterations as a candidate word;
- scoring each of the candidate words;
- and
- selecting from among the matching one or more words in the language and the one or more candidate words, the word with the highest score as input.
(canceled)
A computer readable storage device having instructions stored thereon that, when executed by a processing system, cause the processing system to perform operations comprising:
- receiving keystroke data for a keyboard input device;
- determining a current mapping for the keyboard input device based upon a language associated with the keyboard input device;
- identifying characters responsive to the keystroke data and the current mapping;
- comparing the characters to words in the language;
- determining whether the characters identify a word in the language based on the comparison;
- if a word in the language is identified by the characters, accepting the characters as input;
- and
- if no word in the language is identified by the characters:
- determining one or more spell corrected versions of the characters that match one or more words in the language;
- scoring each of the matching one or more words in the language;
- identifying a phonetic transliteration of the characters in an alternative language;
- comparing the phonetic transliteration of the characters to alternative words in an alternative language;
- and
- if the phonetic transliteration matches one or more alternative words in the alternative language by at least a threshold match, identifying the one or more alternative words as one or more candidate words;
- scoring each of the candidate words;
- and
- selecting from among the matching one or more words in the language and the one or more candidate words, the word with the highest score as input.
A system comprising:
- an input module operable to
- receive keystroke data from an input device and
- to map the keystroke data to characters based on a current mapping of the input device;
- a comparison module operable to:
- compare the characters to words in a language associated with the current mapping to identify the word in the language having at least a threshold match with the characters,
- if no word in the language is identified by comparing the characters to the words in the language, determine one or more spell corrected versions of the characters that match one or more words in the language;
- and
- score each of the matching one or more words in the language;
- and
- a transliteration module operable to:
- receive the characters associated with the not-matching word from the comparison module as an input;
- identify a phonetic transliteration of the characters in an alternative language;
- compare the phonetic transliteration of the characters to alternative words in an alternative language;
- and
- based on the comparison identify candidate word matching the phonetic transliteration of the characters score each of the candidate words;
- and
- select from among the matching one or more words in the language and the one or more candidate words, the word with the highest score as input;
- and
- an output module operable to provide the word or the candidate word to a user device.
Dependencies are inferred from the claim text.