A virtual assistant may communicate with a user in a conversational manner based on context. For instances, a virtual assistant may be presented to a user to enable a conversation between the virtual assistant and the user. A response to user input that is received during the conversation may be determined based on contextual values related to the conversation or system that implements the virtual assistant.
Please help me write a proper abstract based on the patent claims. CLAIM: 1-20. (canceled) 21. One or more non-transitory computer-readable storage media storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising: causing a virtual assistant to be presented to enable a conversation between a user and the virtual assistant; receiving user input during the conversation; processing the user input to identify one or more concepts of the user input, each of the one or more concepts comprising a pattern of components; identifying one or more contextual values related to at least one of the conversation or a system that at least partly implements the virtual assistant; determining a response for the user input based at least in part on the one or more concepts of the user input and the one or more contextual values; and causing the response to be presented to the user in real-time via the virtual assistant. 22. The one or more non-transitory computer-readable storage media of claim 21, wherein the one or more contextual values include information related to activity of the user on a site. 23. The one or more non-transitory computer-readable storage media of claim 21, wherein the one or more contextual values include previous user input from the user during the conversation. 24. The one or more non-transitory computer-readable storage media of claim 21, wherein the one or more contextual values include at least one of: a name of the user; an email address; an IP address; a credit card number; or a gender of the user. 25. The one or more non-transitory computer-readable storage media of claim 21, wherein the components of the pattern each include at least one of: one or more vocab terms comprising a grouping of at least one of one or more unambiguous synonyms of a word in the user input or one or more spelling variations of the word in the user input; one or more helper terms comprising one or more words in the user input that have no unambiguous synonyms; or one or more wildcards that each function as a placeholder for a word or words. 26. A method comprising: causing a virtual assistant to carry out a conversation with a user; determining, by a system that is at least partly implemented by a human-trained algorithm, an intent of the user; determining, by the system that is at least partly implemented by the human-trained algorithm, a task based at least in part on the intent of the user; and causing the task to be performed at least in part by the virtual assistant. 27. The method of claim 26, wherein the determining the intent of the user comprises determining one or more concepts that are associated with user input that is received during the conversation. 28. The method of claim 27, wherein the user input comprises natural language input. 29. The method of claim 26, further comprising: capturing information from a previous conversation between the user and the virtual assistant; wherein the intent of the user is determined based at least in part on the information from the previous conversation between the user and the virtual assistant. 30. The method of claim 26, further comprising: identifying one or more values related to at least one of the conversation or the system that is at least partly implemented by the human-trained algorithm; wherein the intent of the user is determined based at least in part on the one or more values. 31. The method of claim 30, wherein the one or more values include at least one of: a name of the user; an email address; an IP address; a credit card number; or a gender of the user. 32. The method of claim 26, wherein the task comprises at least one of: outputting content to the user; causing an action be performed by an application that is external to the system; or providing access to a web page. 33. One or more non-transitory computer-readable storage media storing instructions that, when executed by one or more processors, cause the one or more processors to perform the method of claim 26. 34. A system comprising: one or more processors; and memory communicatively coupled to the one or more processors and storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising: causing a virtual assistant to carry out a conversation with a user; receiving user input during the conversation; determining one or more concepts for the user input; determining a task based at least in part on the one or more concepts and one or more values, the one or more values being related to at least one of the conversation or the system; and causing the task to be performed at least in part by the virtual assistant. 35. The system of claim 34, wherein the task comprises providing content to the user. 36. The system of claim 34, wherein the task comprises calling an external application and passing one or more parameters to the external application. 37. The system of claim 34, wherein the task comprises accessing a web page. 38. The system of claim 34, wherein the one or more values include at least one of: information related to activity of the user on a site; or previous user input from the user during the conversation. 39. The system of claim 34, wherein the one or more values include at least one of: a name of the user; an email address; an IP address; a credit card number; or a gender of the user. 40. The system of claim 34, wherein the one or more concepts for the user input are determined at least in part by a human-trained algorithm. 41. A device comprising: one or more processors; a display device communicatively coupled to one or more processors and configured to display information representing a virtual assistant; a communication component communicatively coupled to the one or more processors and configured to communicate with a remote service to facilitate a conversation with a user, the communication component being configured to: send user input to the remote service for processing; and receive a response for the user input; and a module executable by the one or more processors to cause the virtual assistant to output the response. 42. The device of claim 41, wherein the response is based at least in part on one or more values that are related to the conversation. 43. The device of claim 42, wherein the one or more values include at least one of: a name of the user; an email address; an IP address; a credit card number; or a gender of the user.