The technology disclosed relates to an end-to-end neural network for question answering, referred to herein as “dynamic coattention network (DCN)”. Roughly described, the DCN includes an encoder neural network and a coattentive encoder that capture the interactions between a question and a document in a so-called “coattention encoding”. The DCN also includes a decoder neural network and highway maxout networks that process the coattention encoding to estimate start and end positions of a phrase in the document that responds to the question.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method of building a model used by a machine to read and comprehend a document and answer a question based on it, the method including: embedding the document and the question into a word embedding space; providing the document embedding and the question embedding to an encoder LSTM to produce a document contextual encoding and a question contextual encoding; calculating linguistic similarity between the contextual encodings of the document and the question to produce an affinity matrix with document-wise and question-wise dimensions; exponentially normalizing the affinity matrix document-wise and question-wise to produce respective document-to-question attention weights and question-to-document attention weights; combining the document contextual encoding with the document-to-question attention weights, and further combining with the question-to-document attention weights to generate contextual summaries of the document; combining the question contextual encoding with the question-to-document attention weights to generate contextual summaries of the question; and providing the contextual summaries of the document and the question and the document contextual encoding to a bi-directional LSTM to produce a bi-directional document-wise coattention encoding. 2. The method of claim 1, further including: in one or more iterations, analyzing the bi-directional document-wise coattention encoding to generate document-wise hidden states, additionally using a decoder LSTM to take into account, during second and subsequent iterations, results from an immediately prior iteration for the document-wise hidden states and estimated start and end positions scoring potential start positions and then potential end positions by applying separate start scoring and end scoring functions; selecting among scores produced from the document-wise coattention encoding for the potential start and end positions in the document to produce currently estimated start and end positions; and upon reaching a termination condition, outputting the currently estimated start and end positions of a phrase in the document that responds to the question. 3. The method of claim 2, wherein the separate scoring functions both apply separately trained highway maxout networks that process the document-wise coattention encoding for positions in the document, through a linear layer that projects the document-wise hidden states and estimated start and end positions from an immediately prior iteration into a non-linear projection; a first maxout layer that combines each position being scored with the non-linear projection and processes each combination through four or more linear models and selects a max output from one of the linear models; a second maxout layer that processes, for each position being scored, output of the first maxout layer through four or more linear models and selects a max output from one of the linear models; and a third maxout layer that processes, for each position being scored, output of the first and second maxout layers through four or more linear models and selects a max output from one of the linear models. 4. The method of claim 2, wherein the termination condition is reached when the currently estimated start and end positions of the phrase match the previously estimated start and end positions. 5. The method of claim 2, wherein the termination condition is reached when a maximum number of iterations is reached. 6. The method of claim 1, further including: training the encoder LSTM, the bi-directional LSTM, the decoder LSTM, and the highway maxout networks by minimizing a cumulative loss in estimations of start and end positions across all iterations over training examples. 7. The method of claim 6, wherein the cumulative loss is determined using softmax cross entropy. 8. A neural network system implemented by one or more computers, the neural network system comprising: an encoder neural network that generates contextual encodings of a document and a question; a hidden state comparator that generates an affinity matrix using linguistic similarity analysis between positions in the document contextual encoding and the question contextual encoding, the affinity matrix having document-wise and question-wise dimensions; an exponential normalizer that normalizes the affinity matrix document-wise and question-wise to produce respective document-to-question attention weights and question-to-document attention weights; an encoding mixer that combines the document contextual encoding with the document-to-question attention weights, and further combines with the question-to-document attention weights to generate contextual summaries of the document, and combines the question contextual encoding with the question-to-document attention weights to generate contextual summaries of the question; a coattention encoder that takes as input the contextual summaries of the document and the question and the document contextual encoding to produce a document-wise coattention encoding; and a decoder neural network that analyzes the document-wise coattention encoding to generate document-wise hidden states, additionally uses a decoder LSTM that take into account, during second and subsequent iterations, results from an immediately prior iteration for the document-wise hidden states and estimated start and end positions previously produced, scores potential start positions and then potential end positions by applying separate start scoring and end scoring functions, selects among scores produced from the document-wise coattention encoding for the potential start and end positions in the document to produce currently estimated start and end positions, and upon reaching a termination condition, outputs the currently estimated start and end positions of a phrase in the document that responds to the question. 9. The system of claim 8, wherein the separate scoring functions both apply separately trained highway maxout networks that process the document-wise coattention encoding for positions in the document, through a linear layer that projects the document-wise hidden states and estimated start and end positions from an immediately prior iteration into a non-linear projection; a first maxout layer that combines each position being scored with the non-linear projection and processes each combination through four or more linear models and selects a max output from one of the linear models; a second maxout layer that processes, for each position being scored, output of the first maxout layer through four or more linear models and selects a max output from one a third maxout layer that processes, for each position being scored, output of the first and second maxout layers through four or more linear models and selects a max output from one of the linear models. 10. The system of claim 8, wherein the termination condition is reached when the currently estimated start and end positions of the phrase match the previously estimated start and end positions. 11. The system of claim 8, wherein the termination condition is reached when a maximum number of iterations is reached. 12. The system of claim 8, further configured to: train the encoder neural network, the coattention encoder, and the decoder neural network by minimizing a cumulative loss in estimations of start and end positions across all iterations over training examples. 13. The system of claim 8, wherein the cumulative loss is determined using softmax cross entropy. 14. The system of claim 8, wherein the coattention encoder is a bi-directional LSTM. 15. A non-transitory computer readable storage medium impressed with computer program instructions to build a model used by a machine to read and comprehend a document and answer a question based on it, the instructions, when executed on a processor, implement a method comprising: embedding the document and the question into a word embedding space; providing the document embedding and the question embedding to an encoder LSTM to produce a document contextual encoding and a question contextual encoding; calculating linguistic similarity between the contextual encodings of the document and the question to produce an affinity matrix with document-wise and question-wise dimensions; exponentially normalizing the affinity matrix document-wise and question-wise to produce respective document-to-question attention weights and question-to-document attention weights; combining the document contextual encoding with the document-to-question attention weights, and further combining with the question-to-document attention weights to generate contextual summaries of the document; combining the question contextual encoding with the question-to-document attention weights to generate contextual summaries of the question; and providing the contextual summaries of the document and the question and the document contextual encoding to a bi-directional LSTM to produce a bi-directional document-wise coattention encoding. 16. The non-transitory computer readable storage medium of claim 15, implementing the method further comprising: in one or more iterations, analyzing the bi-directional document-wise coattention encoding to generate document-wise hidden states, additionally using a decoder LSTM to take into account, during second and subsequent iterations, results from an immediately prior iteration for the document-wise hidden states and estimated start and end positions previously produced; scoring potential start positions and then potential end positions by applying separate start scoring and end scoring functions; selecting among scores produced from the document-wise coattention encoding for the potential start and end positions in the document to produce currently estimated start and end positions; and upon reaching a termination condition, outputting the currently estimated start and end positions of a phrase in the document that responds to the question. 17. The non-transitory computer readable storage medium of claim 16, wherein the separate scoring functions both apply separately trained highway maxout networks that process the document-wise coattention encoding for positions in the document, through a linear layer that projects the document-wise hidden states and estimated start and end positions from an immediately prior iteration into a non-linear projection; a first maxout layer that combines each position being scored with the non-linear projection and processes each combination through four or more linear models and selects a max output from one of the linear models; a second maxout layer that processes, for each position being scored, output of the first maxout layer through four or more linear models and selects a max output from one of the linear models; and a third maxout layer that processes, for each position being scored, output of the first and second maxout layers through four or more linear models and selects a max output from one of the linear models. 18. The non-transitory computer readable storage medium of claim 16, wherein the termination condition is reached when the currently estimated start and end positions of the phrase match the previously estimated start and end positions. 19. The non-transitory computer readable storage medium of claim 16, wherein the termination condition is reached when a maximum number of iterations is reached. 20. The non-transitory computer readable storage medium of claim 15, implementing the method further comprising: training the encoder LSTM, the bi-directional LSTM, the decoder LSTM, and the highway maxout networks by minimizing a cumulative loss in estimations of start and end positions across all iterations over training examples.