An automatic speech recognition system for converting spoken commands to text and interpreting a recognized speech, the automatic speech recognition system comprising: a processor configured to: receive a spoken utterance; convert, through a plurality of automatic speech recognition modules of the automatic speech recognition system, the spoken utterance to a plurality of text strings, wherein each of the automatic speech recognition modules is configured to provide a text string as a speech recognition result and assign a confidence level to the speech recognition result; provide, to a natural language processor of the automatic speech recognition system, speech recognition results having a confidence level exceeding a threshold, the natural language processor comprising a plurality of natural language processing modules; receive, from the plurality of natural language processing modules, an interpreted intent for each of the speech recognition results; add the intents to the respective speech recognition results; pass each of the plurality of speech recognition results to which the intents have been added to a plurality of conversation modules of the automatic speech recognition system, wherein each of the plurality of conversation modules is configured to process the interpreted speech received from the plurality of natural language processing modules, whereby the interpreted speech is represented by the speech recognition results to which the intents have been added, to determine if a context of each of the plurality of speech recognition results is relevant to the subject matter domain of the respective conversation module, which then determines which conversation module takes preference or precedence over the other conversation modules and completes the action or command associated with the utterance, wherein each of the plurality of conversation modules is further configured to assign a rating to the determined context of each speech recognition result to allow the processor to determine which recognition module or set of recognition modules will convert the next spoken utterance to text; determine an affinity status from the plurality of rating values assigned by the plurality of conversation modules and the determined context of each of the plurality of speech recognition results; and assign the affinity status to one or more automatic speech recognition modules of the plurality of automatic speech recognition modules to restrict a conversion of a subsequent spoken utterance to the one or more automatic speech recognition modules assigned the affinity status, wherein the automatic speech recognition modules are decoupled from the conversation modules. receive a spoken utterance; convert, through a plurality of automatic speech recognition modules of the automatic speech recognition system, the spoken utterance to a plurality of text strings, wherein each of the automatic speech recognition modules is configured to provide a text string as a speech recognition result and assign a confidence level to the speech recognition result; provide, to a natural language processor of the automatic speech recognition system, speech recognition results having a confidence level exceeding a threshold, the natural language processor comprising a plurality of natural language processing modules; receive, from the plurality of natural language processing modules, an interpreted intent for each of the speech recognition results; add the intents to the respective speech recognition results; pass each of the plurality of speech recognition results to which the intents have been added to a plurality of conversation modules of the automatic speech recognition system, wherein each of the plurality of conversation modules is configured to process the interpreted speech received from the plurality of natural language processing modules, whereby the interpreted speech is represented by the speech recognition results to which the intents have been added, to determine if a context of each of the plurality of speech recognition results is relevant to the subject matter domain of the respective conversation module, which then determines which conversation module takes preference or precedence over the other conversation modules and completes the action or command associated with the utterance, wherein each of the plurality of conversation modules is further configured to assign a rating to the determined context of each speech recognition result to allow the processor to determine which recognition module or set of recognition modules will convert the next spoken utterance to text; determine an affinity status from the plurality of rating values assigned by the plurality of conversation modules and the determined context of each of the plurality of speech recognition results; and assign the affinity status to one or more automatic speech recognition modules of the plurality of automatic speech recognition modules to restrict a conversion of a subsequent spoken utterance to the one or more automatic speech recognition modules assigned the affinity status,