US 12,003,668 B1
Virtual assistant architecture for natural language understanding in a customer service system
Yoryos Yeracaris, Savannah, GA (US); Michael Johnston, New York, NY (US); Ethan Selfridge, New York, NY (US); Phillip Gray, Cary, NC (US); and Patrick Haffner, Atlantic Highlands, NJ (US)
Assigned to Interactions LLC, Franklin, MA (US)
Filed by Interactions LLC, Franklin, MA (US)
Filed on Jun. 11, 2021, as Appl. No. 17/346,071.
Application 17/346,071 is a division of application No. 16/836,487, filed on Mar. 31, 2020, granted, now 11,606,463.
Int. Cl. H04M 3/493 (2006.01); G10L 13/00 (2006.01); G10L 15/01 (2013.01); G10L 21/10 (2013.01); H04M 3/523 (2006.01); H04M 3/53 (2006.01)
CPC H04M 3/4938 (2013.01) [G10L 13/00 (2013.01); G10L 15/01 (2013.01); G10L 21/10 (2013.01); H04M 3/4933 (2013.01); H04M 3/4936 (2013.01); H04M 3/5232 (2013.01); H04M 3/5237 (2013.01); H04M 3/5315 (2013.01); H04M 3/5322 (2013.01); H04M 2203/355 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method comprising:
training dialog components to interpret user utterances based on training data including utterance data obtained from at least one of human intelligence (HI) or artificial intelligence (AI), wherein training the dialog components comprises:
for a first task corresponding to a dialog component:
for prior stored conversations, comparing results obtained by a first task model corresponding to the first task with stored results obtained from human agents who previously handled the conversations, and
responsive to the comparison indicating sufficient confidence in the first task model, adding the dialog component to a set of dialog components eligible for runtime use;
establishing a conversation between a user and a virtual assistant such that the virtual assistant manages the conversation, the conversation having corresponding dialog data including a state of the conversation;
identifying a task within the conversation, the task being associated with one or more of the trained dialog components and having a corresponding task model;
determining, based on a confidence score from application of the task model for the task being below a threshold, that the virtual assistant is unable to complete the task;
responsive to determining that the virtual assistant is unable to complete the task, assigning the task to a human agent for completion in an asynchronous manner, without the virtual assistant transferring control of the conversation to the human agent, such that the virtual assistant interprets a next task of the user in the conversation while the human agent is interpreting the task;
the virtual assistant receiving a result of the task from the human agent; and
the virtual assistant using the result of the task to respond to the user in the conversation.