IP Library Granted Patent US 9,798,393
Granted Patent B2
US 9,798,393 · App. 14/631,552 · Granted Oct 24, 2017

Text correction processing

Inventors: Alice E. Neels (San Francisco, CA); Nicholas K. Jong (Campbell, CA)
Assignee: Apple Inc.
G06F3/0237G06F3/04886
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,798,393
App. No.
14/631,552
Granted
Oct 24, 2017
Kind
B2
Abstract

Text correction processing is disclosed. An initial score is assigned to each of a plurality of candidate sequences of one or more characters, based at least in part on a keyboard geometry-based value associated with the received user input with respect to the candidate key. Further processing is performed with respect to a subset of the candidate sequences having the highest initial score(s) to determine for each candidate sequence in the subset a refined score. A candidate sequence is selected for inclusion in a result set based at least in part on a determination that a refined score of the selected candidate is higher than an initial score of one or more candidate sequences that are not included in the subset and with respect to which the further processing has not been performed.

Claims (40)

1. A computer-implemented method of processing user input, comprising:

mapping a sequence of touches on an input device to candidate sequences of one or more characters of a displayed keyboard interface;

assigning to each of the candidate sequences an initial score based at least in part on a keyboard geometry-based value associated with each of the touches with respect to candidate keys;

determining a refined score with respect to a subset of the candidate sequences having the highest initial scores; and

selecting a candidate sequence for inclusion in a result set if the refined score is greater than an initial score of a candidate sequence not included in the subset of the candidate sequences having the highest initial scores.

2. The method of claim 1 , wherein the sequence of touches comprises touches on a touch-sensitive display.

3. The method of claim 1 , wherein the keyboard geometry-based value comprises an error vector representing a detected location of user input relative to a location at which a user interface image associated with the candidate key is displayed.

4. The method of claim 1 , further comprising using a language model to determine the refined score.

5. The method of claim 4 , wherein the language model is used to determine a probability of occurrence of the candidate sequence in a language with which the user input is associated.

6. The method of claim 1 , wherein result set comprises a set of N candidate sequences to be carried forward into a next iteration of processing.

7. The method of claim 6 , wherein the result set comprises a starting set of candidate sequences to be used to evaluate a next user input.

8. The method of claim 6 , wherein the steps of determining and selecting are repeated until N candidate sequences have been added to the result set.

9. The method of claim 8 , wherein an iteration of the method of claim 1 ends without further processing being performed on any further candidate sequences in the plurality of candidate sequences once N candidate sequences have been added to the result set.

10. The method of claim 1 , wherein the determining includes using a language model and an n-gram context data associated with the candidate sequence to determine the refined score.

11. The method of claim 10 , wherein the n-gram context data comprises two words preceding the candidate sequence.

12. The method of claim 1 , wherein the determining includes using a language model and an n-gram context data associated with the candidate sequence to determine at least in part whether the received user input should be mapped to the candidate key.

13. A system configured to process text input, comprising:

an input device configured to receive a sequence of user inputs; and

a processor coupled to the input device and configured to:

map a sequence of touches on the input device to candidate sequences of one or more characters of a displayed keyboard interface;

assign to each of the candidate sequences an initial score based at least in part on a keyboard geometry-based value associated with each of the touches with respect to candidate keys;

determine a refined score with respect to a subset of the candidate sequences having the highest initial scores; and

select a candidate sequence for inclusion in a result set if the refined score is greater than an initial score of a candidate sequence not included in the subset of the candidate sequences having the highest initial scores.

14. The system of claim 13 , wherein the input device comprises a touch-sensitive device.

15. The system of claim 13 , wherein the input device comprises a touch-sensitive display device and the processor is configured to display on the display device, for each received user input, a selected character to which the input has been mapped.

16. The system of claim 13 , wherein the processor is further configured to generate, based at least in part on the result set, an auto-correction/completion candidate.

17. The system of claim 16 , wherein the processor is further configured to display a selected auto-correction/completion candidate.

18. The system of claim 13 , wherein the determining includes using a language model to determine the refined score; and wherein the system further includes a storage device configured to store the language model.

19. A non-transitory computer program product for processing user input, the computer program product being embodied in a computer readable storage medium and comprising computer instructions for:

mapping a sequence of touches on an input device to candidate sequences of one or more characters of a displayed keyboard interface;

assigning to each of the candidate sequences an initial score based at least in part on a keyboard geometry-based value associated with each of the touches with respect to candidate keys;

determining a refined score with respect to a subset of the candidate sequences having the highest initial scores; and

selecting a candidate sequence for inclusion in a result set if the refined score is greater than an initial score of a candidate sequence not included in the subset of the candidate sequences having the highest initial scores.

20. The non-transitory computer program product of claim 19 , wherein the sequence of touches comprises touches on a touch-sensitive display.

21. The non-transitory computer program product of claim 19 , wherein the keyboard geometry-based value comprises an error vector representing a detected location of user input relative to a location at which a user interface image associated with the candidate key is displayed.

22. The non-transitory computer program product of claim 19 , further comprising computer instructions for using a language model to determine the refined score.

23. The non-transitory computer program product of claim 22 , wherein the language model is used to determine a probability of occurrence of the candidate sequence in a language with which the user input is associated.

24. The non-transitory computer program product of claim 23 , wherein result set comprises a set of N candidate sequences to be carried forward into a next iteration of processing.

25. The non-transitory computer program product of claim 24 , wherein the result set comprises a starting set of candidate sequences to be used to evaluate a next user input.

26. The non-transitory computer program product of claim 24 , wherein the steps of determining and selecting are repeated until N candidate sequences have been added to the result set.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 25, 2015
From: NEELS, ALICE E.; JONG, NICHOLAS K.
To: APPLE INC.
Reel/Frame 035031/0527 →
Continuity (2)
Continuation 13220202 · Aug 29, 2011
Related Publication 20150169081A1 · Jun 18, 2015