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.