1. A computer-implemented method for developing a semantic understanding of a multi-topic natural language dialog session involving at least two human participants, the method comprising, with a computing system: by a microphone, receiving a plurality of instances of spoken natural language dialog input supplied by a plurality of human participants in the dialog session; for one or more of the instances of dialog input, determining a domain model to apply to the dialog input; developing one or more intents based on the determined domain model, an intent comprising a structured representation of semantic content of the one or more instances of dialog input; storing the intents in a shared dialog context; selecting an intent from the shared dialog context based on an intent mapping, the intent mapping defining a relationship between the selected intent and a current intent, the current intent comprising a structured representation of semantic content of a current instance of the dialog input; creating a shared intent by combining a portion of the selected intent with a portion of the current intent; executing an action by the computing system based on the shared intent; wherein at least one of the intents is based on a domain model relating to a first topic and at least one other of the intents is based on a different domain model relating to a different topic than the first topic; and wherein the selected intent is selected based at least partly on a variable temporal proximity relative to the occurrence of the current intent.