IP Library › Granted Patent US 11,170,166
Granted Patent B2
US 11,170,166 · App. 16/228,496 · Granted Nov 9, 2021

Neural typographical error modeling via generative adversarial networks

Inventors: Jerome R. Bellegarda (Saratoga, CA); Giulia Pagallo (Cupertino, CA)
Assignee: Apple Inc.
G06F40/232G06F40/30G06N3/0454G06N3/08G06N3/088
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 11,170,166
App. No.
16/228,496
Filed
Dec 20, 2018
Granted
Nov 9, 2021
Kind
B2
Examiner
WONG, LINDA
Art Unit
2655
USPC
704/9
Abstract

Systems and processes for operating an intelligent automated assistant are provided. In one example process, one or more input words can be received. The process can extract, based on the one or more input words, seed data for unsupervised training of a first learning network. Training data that includes a collection of words having typographical errors for the first learning network can be obtained. The process can determine, using the first learning network and based on the seed data and the training data, one or more output words having a probability distribution corresponding to a probability distribution of the training data. The one or more output words can include typographical errors. The process can generate, based on the determined one or more output words, a data set for supervised training of a second learning network. The second learning network can provide one or more typographical error suggestions.

Claims (73)

1. A non-transitory computer-readable storage medium storing one or more programs for detecting a typographical error in a user input, the one or more programs comprising instruction, which when executed by one or more processors of an electronic device, cause the electronic device to:

receive the user input including one or more words;

display the user input;

determine, using a trained first learning network, whether the user input includes a typographical error,

wherein the first learning network is trained in a supervised manner based on a data set generated by a second learning network, and

wherein the second learning network is trained in an unsupervised manner based on input words and training data that includes a collection of words having typographical errors, wherein the second learning network includes a neural network; and

in accordance with a determination that the user input includes a typographical error, correct the displayed user input.

2. The non-transitory computer-readable storage medium of claim 1 , wherein the data set generated by the second learning network is generated using one or more programs comprising instruction, which when executed by one or more processors of a second electronic device, cause the second electronic device to:

receive one or more input words;

extract, based on the one or more input words, seed data for unsupervised training of the second learning network;

obtain the training data that includes a collection of words having typographical errors;

determine, using the second learning network and based on the seed data and the training data, one or more output words having a probability distribution corresponding to a probability distribution of the training data, wherein the one or more output words include typographical errors; and

generate, based on the determined one or more output words, the data set for supervised training of the first learning network.

3. The non-transitory computer-readable storage medium of claim 2 , wherein extracting, based on the one or more input words, the seed data for unsupervised training of the second learning network comprises:

obtaining an input character sequence corresponding to each of the one or more input words;

encoding the input character sequence; and

determining, based on the encoded input character sequence, a vector representing at least a portion of the seed data, wherein the vector is encoded with contextual data associated with the one or more input words.

4. The non-transitory computer-readable storage medium of claim 2 , wherein determining the one or more output words having a probability distribution corresponding to the probability distribution of the training data comprises:

performing an unsupervised training of the second learning network based on the seed data and the training data, wherein the second learning network is a generative adversarial network comprising a generator and a discriminator; and

determining based on the training results of the second learning network, the one or more output words having a probability distribution corresponding to the probability distribution of the training data.

5. The non-transitory computer-readable storage medium of claim 4 , wherein performing the unsupervised training of the second learning network based on the seed data and the training data comprises:

determining a first probability distribution associated with the training data; and

in each iteration of the unsupervised training,

generating, by the generator, representations of a generated character sequence representing a word having one or more typographical errors;

determining a second probability distribution associated with the representations of a generated character sequence; and

determining whether the unsupervised training is completed based on the first and second probability distributions.

6. The non-transitory computer-readable storage medium of claim 1 , wherein the training data that includes a collection of words having typographical errors comprises a plurality of words collected from a plurality of users, each word of the plurality of words including a typographical error made by one of the plurality of users.

7. The non-transitory computer-readable storage medium of claim 1 , wherein a typographical error includes at least one of a non-atomic typographical error or an atomic typographical error, wherein a word having a non-atomic typographical error is lexically incorrect and a word having an atomic typographical error is lexically correct but contextually incorrect.

8. The non-transitory computer-readable storage medium of claim 7 , wherein determining whether the user input includes a typographical error comprises:

determining, based on at least one of the user input or a context of the user input, whether the typographical error is a non-atomic typographical error or an atomic typographical error.

9. The non-transitory computer-readable storage medium of claim 8 , wherein the context of the user input comprises at least one of words preceding a current word of the user input or words following the current word of the user input.

10. The non-transitory computer-readable storage medium of claim 1 , wherein correcting the displayed user input comprises:

determining, using a typographical error model associated with the trained first learning network, a plurality of candidate words absent typographical errors;

providing the plurality of candidate words absent typographical errors to the user; receiving, from the user, a selection of one candidate word of the plurality of candidate words; and

in response to receiving the user selection, displaying a corrected user input.

11. The non-transitory computer-readable storage medium of claim 10 , wherein displaying the corrected user input comprises:

deleting the displayed user input; and

displaying the selected candidate word.

12. The non-transitory computer-readable storage medium of claim 10 , wherein determining whether the user input includes a typographical error comprises determining, using the typographical error model associated with the trained first learning network, one or more incorrect characters of a word of the user input.

13. The non-transitory computer-readable storage medium of claim 12 , wherein displaying the corrected user input comprises:

deleting the one or more incorrect characters of the word of the user input; and

inserting one or more correct characters into the word of the user input.

14. The non-transitory computer-readable storage medium of claim 1 , wherein correcting the displayed user input comprises:

determining, using a typographical error model associated with the trained first learning network, a plurality of candidate words absent typographical errors;

determining a ranking of the plurality of candidate words absent typographical errors; and

correcting the displayed user input with the highest ranked candidate word.

15. The non-transitory computer-readable storage medium of claim 14 , wherein the ranking of the plurality of candidate words is based on the popularity of the candidate words.

16. The non-transitory computer-readable storage medium of claim 14 , wherein the ranking of the plurality of candidate words is based on the context associated with the user input.

17. The non-transitory computer-readable storage medium of claim 14 , wherein correcting the displayed user input with the highest ranked candidate word comprises:

deleting at least portion of the displayed user input; and

displaying the highest ranked candidate word.

18. The non-transitory computer-readable storage medium of claim 14 , wherein determining whether the user input includes a typographical error comprises determining, using a typographical error model associated with the trained first learning network, one or more incorrect characters of a word of the user input.

19. The non-transitory computer-readable storage medium of claim 18 , wherein correcting the displayed user input with the highest ranked candidate word comprises:

deleting the one or more incorrect characters of the word of the user input; and

inserting one or more correct characters into the word of the user input.

20. A method for detecting a typographical error in a user input, comprising:

at an electronic device with one or more processors and memory:

receiving the user input including one or more words;

displaying the user input;

determining, using a trained first learning network, whether the user input includes a typographical error,

wherein the first learning network is trained in a supervised manner based on a data set generated by a second learning network, and

wherein the second learning network is trained in an unsupervised manner based on input words and training data that includes a collection of words having typographical errors, wherein the second learning network includes a neural network; and

in accordance with a determination that the user input includes a typographical error, correcting the displayed user input.

21. An electronic device, comprising:

one or more processors;

memory; and

one or more programs stored in memory, the one or more programs including instructions for:

receiving a user input including one or more words;

displaying the user input;

determining, using a trained first learning network, whether the user input includes a typographical error,

wherein the first learning network is trained in a supervised manner based on a data set generated by a second learning network, and

wherein the second learning network is trained in an unsupervised manner based on input words and training data that includes a collection of words having typographical errors, wherein the second learning network includes a neural network; and

in accordance with a determination that the user input includes a typographical error, correcting the displayed user input.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 27, 2018
From: BELLEGARDA, JEROME R.; PAGALLO, GIULIA
To: APPLE INC.
Reel/Frame 047860/0316 →
Continuity (3)
Provisional Application 62738651 · Sep 28, 2018
Provisional Application 62779980 · Dec 14, 2018
Related Publication 20200104357A1 · Apr 2, 2020
Cited By (2)
US 12,405,876 US 12,748,734