IP Library Granted Patent US 11,093,813
Granted Patent B2
US 11,093,813 · App. 15/787,615 · Granted Aug 17, 2021

Answer to question neural networks

Inventors: Ni Lao (Belmont, CA); Lukasz Mieczyslaw Kaiser (Mountain View, CA); Nitin Gupta (Sunnyvale, CA); Afroz Mohiuddin (San Jose, CA); Preyas Popat (Mountain View, CA)
Assignee: GOOGLE LLC
G06N3/006G06N3/0445G06N3/0454G06N5/04G06N3/084
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,093,813
App. No.
15/787,615
Granted
Aug 17, 2021
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for identifying answers to questions using neural networks. One of the methods includes receiving an input text passage and an input question string; processing the input text passage using an encoder neural network to generate a respective encoded representation for each passage token in the input text passage; at each time step: processing a decoder input using a decoder neural network to update the internal state of the decoder neural network; and processing the respective encoded representations and a preceding output of the decoder neural network using a matching vector neural network to generate a matching vector for the time step; and generating an answer score that indicates how well the input text passage answers a question posed by the input question string.

Claims (44)

1. A method comprising:

receiving (i) an input text passage comprising a plurality of passage tokens and (ii) an input question string comprising a respective question token at each of a plurality of time steps;

processing the input text passage using an encoder neural network, wherein the encoder neural network is configured to receive the input text passage and to process the input text passage to generate a respective encoded representation for each passage token in the input text passage;

at each time step:

processing a decoder input for the time step using a decoder neural network, wherein the decoder input comprises at least a preceding token in the input question string and a preceding internal state of the decoder neural network, and wherein the decoder neural network is configured to, for each time step, process the decoder input to at least update an internal state of the decoder neural network;

processing the respective encoded representations and a preceding output of the decoder neural network using a matching vector neural network, wherein the matching vector neural network is configured to receive the preceding output of the decoder neural network and the encoded representations and to process the preceding output and the encoded representations to generate a matching vector for the time step;

processing the respective encoded representations and the preceding output of the decoder neural network using an attention vector neural network, wherein the attention vector neural network is configured to receive the preceding output of the decoder neural network and the encoded representations and to process the preceding output and the encoded representations to generate an attention vector for the time step, wherein the attention vector includes a respective value for each passage token; and generating an answer score that indicates how well the input text passage answers a question posed by the input question string based at least on the matching vectors for the time steps.

2. The method of claim 1 , wherein the attention vector has the same dimensionality as the matching vector.

3. The method of claim 2 , wherein the attention vector neural network has the same neural network architecture as the matching vector neural network but different parameter values.

4. The method of claim 1 , wherein at each time step the decoder input further comprises the attention vector for the time step.

5. The method of claim 1 , wherein generating the answer score comprises generating a matching vector score by determining an average or a weighted average of the entries of the matching vectors for the time steps.

6. The method of claim 5 , wherein the decoder neural network is further configured to, at each time step, generate a set of question token scores that includes a respective score for each question token in a vocabulary of possible question tokens.

7. The method of claim 6 , wherein generating the answer score comprises:

determining a perplexity score from an average perplexity of the question tokens in the input question string as reflected by the question token scores generated by the decoder neural network for the question tokens in the input question string; and

combining the perplexity score and the matching vector score to generate the answer score.

8. The method of claim 1 , wherein the encoder neural network and the decoder neural network are recurrent neural networks.

9. The method of claim 1 , wherein the preceding output is an output of one of the layers of the decoder neural network at a preceding time step.

10. The method of claim 1 , further comprising:

determining, based on the answer score, that the input passage answers the question posed by the input passage string; and

in response, outputting data derived from the input passage.

11. 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 comprising:

receiving (i) an input text passage comprising a plurality of passage tokens and (ii) an input question string comprising a respective question token at each of a plurality of time steps;

processing the input text passage using an encoder neural network, wherein the encoder neural network is configured to receive the input text passage and to process the input text passage to generate a respective encoded representation for each passage token in the input text passage;

at each time step:

processing a decoder input for the time step using a decoder neural network, wherein the decoder input comprises at least a preceding token in the input question string and a preceding internal state of the decoder neural network, and wherein the decoder neural network is configured to, for each time step, process the decoder input to at least update an internal state of the decoder neural network;

processing the respective encoded representations and a preceding output of the decoder neural network using a matching vector neural network, wherein the matching vector neural network is configured to receive the preceding output of the decoder neural network and the encoded representations and to process the preceding output and the encoded representations to generate a matching vector for the time step;

processing the respective encoded representations and the preceding output of the decoder neural network using an attention vector neural network, wherein the attention vector neural network is configured to receive the preceding output of the decoder neural network and the encoded representations and to process the preceding output and the encoded representations to generate an attention vector for the time step, wherein the attention vector includes a respective value for each passage token; and

generating an answer score that indicates how well the input text passage answers a question posed by the input question string based at least on the matching vectors for the time steps.

12. The system of claim 11 , wherein the attention vector has the same dimensionality as the matching vector.

13. The system of claim 12 , wherein the attention vector neural network has the same neural network architecture as the matching vector neural network but different parameter values.

14. The system of claim 11 , wherein at each time step the decoder input further comprises the attention vector for the time step.

15. The system of claim 11 , wherein generating the answer score comprises generating a matching vector score by determining an average or a weighted average of the entries of the matching vectors for the time steps.

16. The system of claim 15 , wherein the decoder neural network is further configured to, at each time step, generate a set of question token scores that includes a respective score for each question token in a vocabulary of possible question tokens.

17. The system of claim 16 , wherein generating the answer score comprises:

determining a perplexity score from an average perplexity of the question tokens in the input question string as reflected by the question token scores generated by the decoder neural network for the question tokens in the input question string; and

combining the perplexity score and the matching vector score to generate the answer score.

18. One or more non-transitory computer readable media storing instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:

receiving (i) an input text passage comprising a plurality of passage tokens and (ii) an input question string comprising a respective question token at each of a plurality of time steps;

processing the input text passage using an encoder neural network, wherein the encoder neural network is configured to receive the input text passage and to process the input text passage to generate a respective encoded representation for each passage token in the input text passage;

at each time step:

processing a decoder input for the time step using a decoder neural network, wherein the decoder input comprises at least a preceding token in the input question string and a preceding internal state of the decoder neural network, and wherein the decoder neural network is configured to, for each time step, process the decoder input to at least update an internal state of the decoder neural network;

processing the respective encoded representations and a preceding output of the decoder neural network using a matching vector neural network, wherein the matching vector neural network is configured to receive the preceding output of the decoder neural network and the encoded representations and to process the preceding output and the encoded representations to generate a matching vector for the time step;

processing the respective encoded representations and the preceding output of the decoder neural network using an attention vector neural network, wherein the attention vector neural network is configured to receive the preceding output of the decoder neural network and the encoded representations and to process the preceding output and the encoded representations to generate an attention vector for the time step, wherein the attention vector includes a respective value for each passage token; and

generating an answer score that indicates how well the input text passage answers a question posed by the input question string based at least on the matching vectors for the time steps.

Assignments (2)
CHANGE OF NAME Recorded Oct 24, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044581/0746 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2017
From: LAO, NI; KAISER, LUKASZ MIECZYSLAW; GUPTA, NITIN; MOHIUDDIN, AFROZ; POPAT, PREYAS
To: GOOGLE INC.
Reel/Frame 043905/0181 →
Continuity (2)
Provisional Application 62410773 · Oct 20, 2016
Related Publication 20180114108A1 · Apr 26, 2018
Cited By (1)
US 12,530,362