9. One or more non-transitory computer-readable media having computer-readable instructions thereon which, when executed by one or more processors, cause the one or more processors to perform operations comprising: enabling an interactive session between a virtual agent and a user; receiving user input during the interactive session; determining a concept of the user input; starting a subsequent interactive session between the virtual agent and the user; receiving ambiguous user input during the subsequent interactive session between the virtual agent and the user; determining a meaning of the ambiguous user input based at least in part on the concept of the user input; determining a response for the ambiguous user input based at least in part on the meaning of the ambiguous user input; and causing the virtual agent to provide the response.
9. One or more non-transitory computer-readable media having computer-readable instructions thereon which, when executed by one or more processors, cause the one or more processors to perform operations comprising: enabling an interactive session between a virtual agent and a user; receiving user input during the interactive session; determining a concept of the user input; starting a subsequent interactive session between the virtual agent and the user; receiving ambiguous user input during the subsequent interactive session between the virtual agent and the user; determining a meaning of the ambiguous user input based at least in part on the concept of the user input; determining a response for the ambiguous user input based at least in part on the meaning of the ambiguous user input; and causing the virtual agent to provide the response. 16. The one or more non-transitory computer-readable media of claim 9 , wherein the operations further comprise: identifying a goal associated with the ambiguous user input; assigning a goal variable to be used to complete the identified goal; receiving a tangential request that is unrelated to the identified goal; processing the tangential request; and returning to the goal variable.