A method for operating a virtual assistant on an electronic device, the method comprising: receiving, at the electronic device, an audio input; monitoring the audio input to identify a first spoken user input; identifying the first spoken user input in the audio input; determining whether to respond to the first spoken user input based on contextual information associated with the first spoken user input, wherein the contextual information comprises a spatial distance between a user and the electronic device when the first spoken user input was received, wherein the determining comprises: calculating a likelihood score that the virtual assistant should respond to the first spoken user input based on the contextual information associated with the first spoken user input; decreasing the likelihood score of responding to the first spoken user input in response to the spatial distance being greater than a threshold distance, and increasing the likelihood score of responding to the first spoken user input in response to the spatial distance being less than the threshold distance; in response to a determination to respond to the first spoken user input: generating a response to the first spoken user input; and monitoring the audio input to identify a second spoken user input; and in response to a determination not to respond to the first spoken user input, monitoring the audio input to identify the second spoken user input without generating the response to the first spoken user input. receiving, at the electronic device, an audio input; monitoring the audio input to identify a first spoken user input; identifying the first spoken user input in the audio input; determining whether to respond to the first spoken user input based on contextual information associated with the first spoken user input, wherein the contextual information comprises a spatial distance between a user and the electronic device when the first spoken user input was received, wherein the determining comprises: calculating a likelihood score that the virtual assistant should respond to the first spoken user input based on the contextual information associated with the first spoken user input; decreasing the likelihood score of responding to the first spoken user input in response to the spatial distance being greater than a threshold distance, and increasing the likelihood score of responding to the first spoken user input in response to the spatial distance being less than the threshold distance; in response to a determination to respond to the first spoken user input: generating a response to the first spoken user input; and monitoring the audio input to identify a second spoken user input; and calculating a likelihood score that the virtual assistant should respond to the first spoken user input based on the contextual information associated with the first spoken user input; decreasing the likelihood score of responding to the first spoken user input in response to the spatial distance being greater than a threshold distance, and increasing the likelihood score of responding to the first spoken user input in response to the spatial distance being less than the threshold distance; in response to a determination to respond to the first spoken user input: generating a response to the first spoken user input; and monitoring the audio input to identify a second spoken user input; and generating a response to the first spoken user input; and monitoring the audio input to identify a second spoken user input; and in response to a determination not to respond to the first spoken user input, monitoring the audio input to identify the second spoken user input without generating the response to the first spoken user input.