Techniques and architectures for analyzing conversations between users and virtual assistants to identify instances where the virtual assistants have not satisfied user requests are described. The techniques and architectures may use such analysis to tag conversations regarding unsatisfied user requests, provide information to users regarding conversations with unsatisfied user requests, learn conversation or contextual data for unsatisfied user requests, and/or perform a variety to other processes to improve the virtual assistants.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method comprising: providing, by a computing device, a virtual assistant via a smart device to facilitate a first conversation between a user and the virtual assistant; analyzing, by the computing device, the first conversation, the analyzing including analyzing at least one of explicit user input or output from the virtual assistant; based at least in part on the analysis: determining that an escalation to a human representative occurred in the first conversation; and determining a type of the escalation that occurred in the first conversation; based at least in part on the type of the escalation, determining contextual data for the escalation; based at least in part on the type of the escalation, determining conversation data for the escalation, the conversation data comprising at least one of (i) user input at the escalation, (ii) a response of the virtual assistant at the escalation, (iii) a goal that is determined for responding to the user input at the escalation, (iv) a task that was performed by the virtual assistant at the escalation, (v) Natural Language Processing (NLP) output from processing the user input at the escalation, (vi) a duration of time in the first conversation up to the escalation, (vii) a number of turns in the first conversation up to the escalation, or (viii) a length of the user input or virtual assistant output at the escalation; learning, by the computing device, that the contextual data and the conversation data are associated with the escalation to the human representative; providing the virtual assistant via the smart device or another smart device to facilitate a second conversation between the virtual assistant and the user or another user; based at least in part on the learning, determining to escalate the second conversation to at least one of the human representative or another human representative; and causing the second conversation to be transferred to at least one of the human representative or the other human representative. 2. The method of claim 1, wherein the determining the type of escalation that occurred in the first conversation includes: determining that the escalation is not associated with a user greeting; determining that the first conversation does not include a single turn; determining that the escalation is not included in a list of predetermined escalations; and determining that the escalation is a particular type of escalation indicating that the escalation was due to a failure of the virtual assistant. 3. The method of claim 1, wherein the determining the type of escalation that occurred in the first conversation includes: determining that the escalation is not associated with a first escalation class, the first escalation class indicating that a user desires to be transferred to the human representative; determining that the escalation is not associated with a second escalation class, the second escalation class indicating that the virtual assistant is required to transfer to the human representative; and based at least in part on determining that the escalation is not associated with the first escalation class and the second escalation class, determining that the escalation is associated with a third escalation class, the third escalation class indicating that the escalation was due to a failure of the virtual assistant. 4. The method of claim 1, wherein the NLP output comprises at least one of: a concept determined for user input at the escalation; a vocab term determined for the user input at the escalation; a building block determined for the user input at the escalation; or an intent determined for the user input at the escalation 5. The method of claim 1, wherein the contextual data comprises at least one of: a geographic location of the user when the escalation occurred in the first conversation; a sentiment of the user when the escalation occurred in the first conversation; a sensor reading from the smart device obtained when the escalation occurred in the first conversation; a calendar event during a period of time that includes the escalation; weather conditions when the escalation occurred in the first conversation; a time of day when the escalation occurred in the first conversation; an input mode used by the user when the escalation occurred in the first conversation; or user profile information for the user. 6. The method of claim 1, further comprising: receiving input from at least one of the human representative or the other human representative; determining a response for the second conversation based at least in part on the input from the human representative or the other human representative; and providing the response during the second conversation as originating from the virtual assistant. 7. A system comprising: one or more processors; and memory communicatively coupled to the one or more processors and storing executable instructions that, when executed by the one or more processors, cause the one or more processors to perform acts comprising: receiving a conversation record regarding a conversation between a virtual assistant and a user; determining that a failure occurred in the conversation that is attributable to the virtual assistant; determining a location in the conversation where the failure occurred; determining contextual data for the location in the conversation; determining conversation data for the location in the conversation; and learning that the contextual data and the conversation data are associated with the failure. 8. The system of claim 7, wherein the determining that the failure occurred in the conversation that is attributable to the virtual assistant comprises determining that the virtual assistant was unable to provide a response or perform a task that satisfies user input in the conversation. 9. The system of claim 7, wherein the determining that the failure occurred in the conversation that is attributable to the virtual assistant comprises determining that an escalation to a human representative occurred in the conversation. 10. The system of claim 7, wherein the determining that the failure occurred in the conversation that is attributable to the virtual assistant comprises determining that a sentiment of the user changed from a first state to second state due to a response from the virtual assistant. 11. The system of claim 7, wherein the determining that the failure occurred in the conversation that is attributable to the virtual assistant comprises determining that a sentiment of the user changed from a first state to second state due to a task that was performed by the virtual assistant. 12. The system of claim 7, wherein the determining that the failure occurred in the conversation that is attributable to the virtual assistant comprises: determining that the conversation does not include a single user turn; determining that the conversation is associated with an escalation to a human representative; determining that the conversation includes at least one user turn that is (i) not related to the escalation and (ii) not a user greeting; determining that the escalation is not included in a list of predetermined escalations; and determining that the failure is attributable to the virtual assistant. 13. The system of claim 7, wherein the operations further comprise: providing the virtual assistant via the smart device or another smart device to facilitate another conversation between the virtual assistant and the user or another user; based at least in part on the learning, determining to escalate, during the other conversation, to a human representative; and causing the other conversation to be transferred to the human representative. 14. The system of claim 7, wherein the contextual data comprises at least one of: a geographic location of the user when the failure occurred in the conversation; a sentiment of the user when the failure occurred in the conversation; a sensor reading from the smart device obtained when the failure occurred in the conversation; a calendar event during a period of time that includes the failure; weather conditions when the failure occurred in the conversation; a time of day when the failure occurred in the conversation; an input mode used by the user when the failure occurred in the conversation; or user profile information for the user. 15. The system of claim 7, wherein the conversation data comprises at least one of: user input at the failure; a response of the virtual assistant at the failure; a goal that is determined for responding to the user input at the failure; a task that was performed by the virtual assistant at the failure; Natural Language Processing (NLP) output from processing the user input at the failure; a duration of time in the first conversation up to the failure; a number of turns in the first conversation up to the failure; or a length of the user input or virtual assistant output at the failure. 16. One or more non-transitory computer readable media storing computer-readable instructions that, when executed, instruct one or more processors to perform operations comprising: receiving conversation records, the conversation records including data regarding a plurality of conversations; performing a first filtering process with the plurality of conversations to remove conversations that each include a single user turn, the first filtering process determining a subset of the plurality of conversations; performing a second filtering process with a first conversation in the subset of the plurality of conversations, the second filtering process including: filtering out user turns in the first conversation that are associated with a greeting; filtering out user turns in the first conversation that are part of a sequential series of user turns requesting to escalate where the sequential series of user turns includes an initial user turn in the first conversation; and filtering out user turns in the first conversation that are associated with an escalation from a list of predetermined escalations; determining that an escalation is associated with a particular user turn in the first conversation that has not been filtered out in the second filtering process; and tagging, with an identifier, the particular user turn, the identifier indicating that the escalation was due to a failure of the virtual assistant. 17. The one or more non-transitory computer readable media of claim 16, wherein the operations further comprise: based at least in part on tagging the user turn with the identifier: determining contextual data at a time of the escalation associated with the particular user turn; determining conversation data at the time of the escalation associated with the particular user turn; and learning that the contextual data and the conversation data are associated with escalating to a human representative. 18. The one or more non-transitory computer readable media of claim 17, wherein the contextual data comprises at least one of: a geographic location of the user during the first conversation; a sentiment of the user during the first conversation; a sensor reading obtained during the first conversation; a calendar event during a period of time that includes the escalation; weather conditions during the first conversation; a time of day when the first conversation occurred; an input mode used during the first conversation; or user profile information for a user of the first conversation. 19. The one or more non-transitory computer readable media of claim 17, wherein the conversation data comprising at least one of: user input at the escalation; a response of a virtual assistant at the escalation; a goal that is determined for responding to the user input at the escalation; a task that was performed by the virtual assistant at the escalation; Natural Language Processing (NLP) output from processing the user input at the escalation; a duration of time in the first conversation up to the escalation; a number of turns in the first conversation up to the escalation; or a length of the user input or virtual assistant output at the escalation. 20. The one or more non-transitory computer readable media of claim 19, wherein the NLP output comprises at least one of: a concept determined for the user input at the escalation; a vocab term determined for the user input at the escalation; a building block determined for the user input at the escalation; or an intent determined for the user input at the escalation.