A computer-based virtual assistant the behavior of which can be changed by
the user, comprising a voice user interface for inputting information
into and receiving information from the virtual assistant by speech, a
communications network, a virtual assistant application running on a
remote computer, the remote computer being electronically coupled to the
user interface via the communications network, wherein the behavior of
the virtual assistant changes responsive to user input. A computer-based
virtual assistant that also automatically adapts its behavior is
disclosed, comprising a voice user interface for inputting information
into and receiving information from the virtual assistant by speech, a
communications network, a virtual assistant application running on a
remote computer, the remote computer being electronically coupled to the
user interface via the communications network, wherein the remote
computer is programmed to automatically change the behavior of the
virtual assistant responsive to input received by the virtual assistant.
As detailed below, the virtual assistant adapts to the user in many
different ways based on the input the virtual assistant receives. Such
input could be user information, such as information about the user's
experience, the time between user sessions, the amount of time a user
pauses when recording a message, the user's emotional state, whether the
user uses words associated with polite discourse, and the amount of time
since a user provided input to the virtual assistant during a session.