Virtual assistant architecture for natural language understanding in a customer service system
AssigneeInteractions LLC
InventorsYoryos Yeracaris, Michael Johnston, Ethan Selfridge, Phillip Gray, Patrick Haffner
Life of this patent
Estimating the term…
Abstract
A virtual assistant system for communicating with customers uses human intelligence to correct any errors in the system AI, while collecting data for machine learning and future improvements for more automation. The system may use a modular design, with separate components for carrying out different system functions and sub-functions, and with frameworks for selecting the component best able to respond to a given customer conversation.
Claims17
A computer-implemented method performed by a virtual assistant, the method comprising:
- training dialog components to interpret user utterances based on training data including utterance data having been obtained from human intelligence (HI) or having been obtained from artificial intelligence (AI);
- receiving a user utterance within a conversation of a user;
- determining, using data describing availability and capability of HI resources and of AI resources, whether to interpret the user utterance using HI or using AI, the determining comprising comparing prior results of the HI agent resources to results of the AI resources to determine whether the AI resources are above a threshold of quality, the capability data identifying types of tasks that the HI resources and AI resources are capable of performing;
- responsive to determining to use AI to interpret the user utterance:
- selecting, by polling a set of dialog components, a dialog component that can best interpret the user utterance, wherein dialog components are arranged in a hierarchy, and wherein the selecting comprises more specific dialog components lower in the hierarchy delegating processing to more general dialog components higher in the hierarchy responsive to the more specific dialog components having insufficient understanding of the user utterance, interpreting the user utterance data with the selected dialog component, and obtaining a confidence score corresponding to the interpreting;
- responsive to determining that the obtained confidence score is below a confidence threshold:
- providing the user utterance to HI for interpretation.
A non-transitory computer-readable storage medium comprising instructions that when executed by a computer processor perform actions comprising:
- training dialog components to interpret user utterance based on training data including utterances data having been obtained from human intelligence (HI) or having been obtained from artificial intelligence (AI);
- receiving a user utterance within a conversation of a user;
- determining, using data describing availability and capability of HI resources and of AI resources, whether to interpret the user utterance using HI or using AI, the determining comprising comparing prior results of the HI agent resources to results of the AI resources to determine whether the AI resources are above a threshold of quality, the capability data identifying types of tasks that the HI resources and AI resources are capable of performing;
- responsive to determining to use AI to interpret the user utterance:
- selecting, by polling a set of dialog components, a dialog component that can best interpret the user utterance, wherein providing the user utterance to HI for interpretation comprises transferring processing of the user utterance from a first human agent to a second human agent responsive to the first human agent having insufficient understanding of the user utterance,
- interpreting the user utterance data with the selected dialog component, and
- obtaining a confidence score corresponding to the interpreting;
- responsive to determining that the obtained confidence score is below a confidence threshold:
- providing the user utterance to HI for interpretation.
A computer system comprising:
- a computer processor;
- and
- a non-transitory computer-readable storage medium comprising instructions that when executed by the computer processor perform actions comprising:
- training dialog components to interpret user utterances based on training data including utterance data having been obtained from human intelligence (HI) or having been obtained from artificial intelligence (AI);
- receiving a user utterance within a conversation of a user;
- determining, using data describing availability and capability of HI resources and of AI resources, whether to interpret the user utterance using HI or using AI, the determining comprising comparing prior results of the HI agent resources to results of the AI resources to determine whether the AI resources are above a threshold of quality, the capability data identifying types of tasks that the HI resources and AI resources are capable of performing;
- responsive to determining to use AI to interpret the user utterance:
- selecting, by polling a set of dialog components, a dialog component that can best interpret the user utterance, wherein providing the user utterance to HI for interpretation comprises transferring processing of the user utterance from a first human agent to a second human agent responsive to the first human agent having insufficient understanding of the user utterance,
- interpreting the user utterance data with the selected dialog component, and
- obtaining a confidence score corresponding to the interpreting;
- responsive to determining that the obtained confidence score is below a confidence threshold:
- providing the user utterance to HI for interpretation.
Dependencies are inferred from the claim text.