9. A speech recognition system comprising: a memory configured to store: a corpus including a plurality of complex proper names; and a model for a speech recognizer; and a processor operatively connected to the memory, the processor being configured to: perform natural language processing to generate syntactic structure corresponding to a plurality of words in one of the plurality of complex proper names in the corpus; generate a plurality of candidate partial names corresponding to the one complex proper name using a machine learning process with reference to the syntactic structure corresponding to the one complex proper name and the plurality of words in the one complex proper name, wherein the one complex proper name is divided into categories of syntactic units and each of the plurality of candidate partial names comprises a subset of words from the plurality of words contained within the one complex proper name and the subset of words classified into a specific syntactic category; select only a portion of the plurality of candidate partial names based on at least one syntactic structural identifier of at least one phrase in each candidate partial name to provide a modified list of candidate partial names; incorporate the modified list of candidate partial names based on the phonetic transcription into the model for the speech recognizer to recognize partial names in a speech recognition process; store the model for the speech recognizer in the memory; receive speech input from a user comprising a candidate partial name from the modified candidate partial names; perform speech recognition, using the model, on the received speech; and identify the one complex proper name based on the recognized speech and performing an action on a user device based on the identified one complex proper name.
16. The system of claim 9 , the processor being further configured to: generate the plurality of partial proper name candidates using a neural network.