IP Library Granted Patent US 11,200,492
Granted Patent B1
US 11,200,492 · App. 16/735,453 · Granted Dec 14, 2021

Training a document classification neural network

Inventors: Andrew M. Dai (San Francisco, CA); Quoc V. Le (Sunnyvale, CA)
Assignee: Google LLC
G06N3/08G06N3/0445
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,200,492
App. No.
16/735,453
Granted
Dec 14, 2021
Kind
B1
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for training a document classification neural network. One of the methods includes training an autoencoder neural network to autoencode input documents, wherein the autoencoder neural network comprises the one or more LSTM neural network layers and an autoencoder output layer, and wherein training the autoencoder neural network comprises determining pre-trained values of the parameters of the one or more LSTM neural network layers from initial values of the parameters of the one or more LSTM neural network layers; and training the document classification neural network on a plurality of training documents to determine trained values of the parameters of the one or more LSTM neural network layers from the pre-trained values of the parameters of the one or more LSTM neural network layers.

Claims (82)

1. A method for training a first neural network to perform a document processing task, wherein the first neural network comprises one or more initial neural network layers and a first output layer, wherein the one or more initial neural network layers have parameters, and wherein the method comprises:

training an autoencoder neural network to autoencode input documents, wherein the autoencoder neural network comprises the one or more initial neural network layers and an autoencoder output layer, and wherein training the autoencoder neural network comprises determining pre-trained values of the parameters of the one or more initial neural network layers from initial values of the parameters of the one or more initial neural network layers; and

training the first neural network on a plurality of training documents to determine trained values of the parameters of the one or more initial neural network layers from the pre-trained values of the parameters of the one or more initial neural network layers.

2. The method of claim 1 , wherein training the first neural network on a plurality of training documents to determine trained values of the parameters of the one or more initial neural network layers from the pre-trained values of the parameters of the one or more initial neural network layers comprises:

initializing, for the training of the first neural network, the values of the parameters of the one or more initial neural network layers to be the pre-trained values of the parameters of the one or more initial neural network layers.

3. The method of claim 1 , wherein the autoencoder neural network further comprises:

an embedding input layer configured to, for each word in an input sequence of words, receive the word and map the word to a numeric embedding of the word.

4. The method of claim 3 , wherein training the autoencoder neural network to autoencode input documents comprises, for a particular input document:

obtaining a sequence of input words that comprises words from the particular input document arranged in the order in which the words appear in the particular input document;

for each particular input word in the sequence:

processing the word preceding the particular input word in the sequence using the embedding input layer to map the word preceding the particular input word in the sequence to a numeric embedding; and

processing the numeric embedding through the one or more initial neural network layers generate an initial output in accordance with current values of the parameters of the initial neural network layers; and

processing the initial output using the autoencoder output layer to generate a set of word scores for the particular input word, wherein the set of word scores comprises a respective score for each of a plurality of vocabulary words that represents a likelihood that the vocabulary word is the particular input word.

5. The method of claim 4 , wherein training the autoencoder neural network to autoencode input documents further comprises, for the particular input document:

adjusting the current values of the parameters of the initial neural network layers using the set of word scores for each of the particular input words in the sequence.

6. The method of claim 5 , wherein adjusting the current values of the parameters of the initial neural network layers comprises, for each particular input word in the sequence:

determining an error between the likelihoods represented by the set of word scores for the particular input word and a known set of word scores for the particular input word that identifies the particular input word; and

updating values of the parameters of the initial neural network layers based on the error using a backpropagation-through-time training technique.

7. The method of claim 4 , wherein, for a first input word in the sequence, the preceding word is a predetermined end-of-sentence token.

8. The method of claim 1 , wherein training the autoencoder neural network comprises training the autoencoder neural network on unlabeled training documents and labeled training documents, and wherein training the first neural network comprises training the first neural network on the labeled training documents and not on the unlabeled training documents.

9. The method of claim 1 , wherein the first neural network further comprises an embedding input layer configured to, for each word in an input sequence of words, receive the word and map the word to a numeric embedding of the word.

10. The method of claim 9 , further comprising classifying an input document using the first neural network in accordance with the trained values of the parameters of the one or more initial neural network layers, comprising, for each input word in a sequence of words from the input document:

processing the word preceding the input word in the sequence using the embedding input layer to map the word preceding the input word in the sequence to a numeric embedding;

processing the numeric embedding through the one or more initial neural network layers to generate an initial output in accordance with the trained values of the parameters of the initial neural network layers; and

processing the initial output using the first output layer to generate one or more classification scores for the input word.

11. The method of claim 10 , wherein classifying the input document further comprises:

classifying the input document from the classification scores for a last input word in the sequence.

12. The method of claim 10 , wherein classifying the input document further comprises:

classifying the input document from a combination of the classification scores for the input words in the sequence.

13. The method of claim 10 , wherein the classification scores comprise a respective score for each label in a predetermined set of labels that represents a likelihood that the label is an accurate label for the input document.

14. The method of claim 10 , wherein the classification scores comprise a sentiment score that measures a degree to which the sentiment of the input document is positive or negative.

15. A method for training a first neural network to perform a document processing task, wherein the first neural network comprises one or more initial neural network layers and a first output layer, wherein the one or more initial neural network layers have parameters, and wherein the method comprises:

training a language model neural network to predict missing words in word sequences, wherein the language model neural network comprises the one or more initial neural network layers and a language model output layer, and wherein training the language model neural network comprises determining pre-trained values of the parameters of the one or more initial neural network layers from initial values of the parameters of the one or more initial neural network layers; and

training the first neural network on a plurality of training documents to determine trained values of the parameters of the one or more initial neural network layers from the pre-trained values of the parameters of the one or more initial neural network layers.

16. The method of claim 15 , wherein training the first neural network on a plurality of training documents to determine trained values of the parameters of the one or more initial neural network layers from the pre-trained values of the parameters of the one or more initial neural network layers comprises:

initializing, for the training of the first neural network, the values of the parameters of the one or more initial neural network layers to be the pre-trained values of the parameters of the one or more initial neural network layers.

17. The method of claim 15 , wherein the language model neural network further comprises:

an embedding input layer configured to, for each word in an input sequence of words, receive the word and map the word to a numeric embedding of the word.

18. The method of claim 17 , wherein training the language model neural network comprises, for a particular input document:

obtaining a sequence of input words that comprises words from the particular input document arranged in the order in which the words appear in the particular input document;

obtaining a held-out word that appears in a corresponding position in the particular input document relative to the words in the sequence of input words;

generating an initial output by processing each input word in the sequence of input words using the language model neural network in accordance with current values of the parameters of the initial neural network layers; and

processing the initial output using the language model output layer to generate a set of word scores, wherein the set of word scores comprises a respective score for each of a plurality of vocabulary words that represents a likelihood that the vocabulary word is the word that appears in the corresponding position in the particular input document relative to the words in the sequence of input words.

19. The method of claim 18 , wherein training the language model neural network further comprises, for the particular input document:

adjusting the current values of the parameters of the initial neural network layers using the set of word scores.

20. The method of claim 19 , wherein adjusting the current values of the parameters of the initial neural network layers comprises:

determining an error between the likelihoods represented by the set of word scores and a known set of word scores for the sequence that indicates that the held-out word is the word that appears in the corresponding position in the particular input document relative to the words in the sequence of input words; and

updating values of the parameters of the initial neural network layers based on the error using a backpropagation-through-time training technique.

21. The method of claim 15 , wherein training the language model neural network comprises training the language model neural network on sequences from unlabeled training documents, and wherein training the first neural network comprises training the first neural network on labeled training documents.

22. A system comprising one or more computers and one or more storage devices storing instructions that when executed by the one or more computers cause the one or more computers to perform operations for training a first neural network to perform a document processing task, wherein the first neural network comprises one or more initial neural network layers and a first output layer, wherein the one or more initial neural network layers have parameters and wherein the operations comprise:

training an autoencoder neural network to autoencode input documents, wherein the autoencoder neural network comprises the one or more initial neural network layers and an autoencoder output layer, and wherein training the autoencoder neural network comprises determining pre-trained values of the parameters of the one or more initial neural network layers from initial values of the parameters of the one or more initial neural network layers; and

training the first neural network on a plurality of training documents to determine trained values of the parameters of the one or more initial neural network layers from the pre-trained values of the parameters of the one or more initial neural network layers.

23. The system of claim 22 , wherein training the first neural network on a plurality of training documents to determine trained values of the parameters of the one or more initial neural network layers from the pre-trained values of the parameters of the one or more initial neural network layers comprises:

initializing, for the training of the first neural network, the values of the parameters of the one or more initial neural network layers to be the pre-trained values of the parameters of the one or more initial neural network layers.

24. The system of claim 22 , wherein training the autoencoder neural network comprises training the autoencoder neural network on unlabeled training documents and labeled training documents, and wherein training the first neural network comprises training the first neural network on the labeled training documents and not on the unlabeled training documents.

25. The system of claim 22 , the operations further comprising classifying an input document using the first neural network in accordance with the trained values of the parameters of the one or more initial neural network layers, comprising, for each input word in a sequence of words from the input document:

processing the word preceding the input word in the sequence using an embedding input layer to map the word preceding the input word to the sequence to a numeric embedding;

processing the numeric embedding through the one or more initial neural network layers to generate an initial output in accordance with the trained values of the parameters of the initial neural network layers; and

processing the initial output using the first output layer to generate one or more classification scores for the input word.

26. One or more non-transitory computer-readable storage media storing instructions that when executed by one or more computers cause the one or more computers to perform operations for training a first neural network to perform a document processing task, wherein the first neural network comprises one or more long initial neural network layers and a first output layer, wherein the one or more initial neural network layers have parameters and wherein the operations comprise:

training an autoencoder neural network to autoencode input documents, wherein the autoencoder neural network comprises the one or more initial neural network layers and an autoencoder output layer, and wherein training the autoencoder neural network comprises determining pre-trained values of the parameters of the one or more initial neural network layers from initial values of the parameters of the one or more initial neural network layers; and

training the first neural network on a plurality of training documents to determine trained values of the parameters of the one or more initial neural network layers from the pre-trained values of the parameters of the one or more initial neural network layers.

27. The computer-readable storage media of claim 26 , wherein

training the first neural network on a plurality of training documents to determine trained values of the parameters of the one or more initial neural network layers from the pre-trained values of the parameters of the one or more initial neural network layers comprises:

initializing, for the training of the first neural network, the values of the parameters of the one or more initial neural network layers to be the pre-trained values of the parameters of the one or more initial neural network layers.

28. The computer-readable storage media of claim 26 , wherein training the autoencoder neural network comprises training the autoencoder neural network on unlabeled training documents and labeled training documents, and wherein training the first neural network comprises training the first neural network on the labeled training documents and not on the unlabeled training documents.

29. The computer-readable storage media of claim 26 , the operations further comprising classifying an input document using the first neural network in accordance with the trained values of the parameters of the one or more initial neural network layers, comprising, for each input word in a sequence of words from the input document:

processing the word preceding the input word in the sequence using an embedding input layer to map the word preceding the input word in the sequence to a numeric embedding;

processing the numeric embedding through the one or more initial neural network layers to generate an initial output in accordance with the trained values of the parameters of the initial neural network layers; and

processing the initial output using the first output layer to generate one or more classification scores for the input word.

30. A system comprising one or more computers and one or more storage devices storing instructions that when executed by the one or more computers cause the one or more computers to perform operations for training a first neural network to perform a document processing task, wherein the first neural network comprises one or more initial neural network layers and a first output layer, wherein the one or more initial neural network layers have parameters and wherein the operations comprise:

training a language model neural network to predict missing words in word sequences, wherein the language model neural network comprises the one or more initial neural network layers and a language model output layer, and wherein training the language model neural network comprises determining pre-trained values of the parameters of the one or more initial neural network layers from initial values of the parameters of the one or more initial neural network layers; and

training the first neural network on a plurality of training documents to determine trained values of the parameters of the one or more initial neural network layers from the pre-trained values of the parameters of the one or more initial neural network layers.

31. The system of claim 30 , wherein training the first neural network on a plurality of training documents to determine trained values of the parameters of the one or more initial neural network layers from the pre-trained values of the parameters of the one or more initial neural network layers comprises:

initializing, for the training of the first neural network, the values of the parameters of the one or more initial neural network layers to be the pre-trained values of the parameters of the one or more initial neural network layers.

32. The system of claim 30 , wherein training the language model neural network comprises training the language model neural network on sequences from unlabeled training documents, and wherein training the first neural network comprises training the first neural network on labeled training documents.

33. One or more non-transitory computer-readable storage media storing instructions that when executed by one or more computers cause the one or more computers to perform operations for training a first neural network to perform a document processing task, wherein the first neural network comprises one or more initial neural network layers and a first output layer, wherein the one or more initial neural network layers have parameters and wherein the operations comprise:

training a language model neural network to predict missing words in word sequences, wherein the language model neural network comprises the one or more initial neural network layers and a language model output layer, and wherein training the language model neural network comprises determining pre-trained values of the parameters of the one or more initial neural network layers from initial values of the parameters of the one or more initial neural network layers; and

training the first neural network on a plurality of training documents to determine trained values of the parameters of the one or more initial neural network layers from the pre-trained values of the parameters of the one or more initial neural network layers.

34. The computer-readable storage media of claim 33 , wherein training the first neural network on a plurality of training documents to determine trained values of the parameters of the one or more initial neural network layers from the pre-trained values of the parameters of the one or more initial neural network layers comprises:

initializing, for the training of the first neural network, the values of the parameters of the one or more initial neural network layers to be the pre-trained values of the parameters of the one or more initial neural network layers.

35. The computer-readable storage media of claim 33 , wherein training the language model neural network comprises training the language model neural network on sequences from unlabeled training documents, and wherein training the first neural network comprises training the first neural network on labeled training documents.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2020
From: DAI, ANDREW M.; LE, QUOC V.
To: GOOGLE INC.
Reel/Frame 052127/0234 →
CHANGE OF NAME Recorded Mar 16, 2020
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 052179/0130 →
Continuity (2)
Continuation 15257539 · Sep 6, 2016
Provisional Application 62214790 · Sep 4, 2015
Cited By (2)
US 12,307,367 US 12,387,099