CPC G06F 40/30 (2020.01) [G06F 40/295 (2020.01); G10L 15/1822 (2013.01); G10L 15/22 (2013.01); H04L 51/02 (2013.01); G06F 40/279 (2020.01); G06F 40/35 (2020.01); G10L 2015/223 (2013.01); H04L 67/10 (2013.01)] | 20 Claims |
1. A method of operating a virtual agent, comprising:
executing a global topic flow that defines a series of nodes having instructions that are executed for each natural language exchange between the virtual agent and a plurality of users, wherein executing the global topic flow comprises:
executing a greetings node of the global topic flow that outputs a predefined greeting; and then
executing a topic discovery node of the global topic flow, wherein executing the topic discovery node comprises:
receiving a user utterance,
providing the user utterance to a natural language understanding (NLU) service,
receiving, from the NLU service, a scored set of intents and entities derived from the user utterance,
selecting a topic flow in response to determining that an intent from the scored set of intents and entities is associated with the topic flow,
applying entities from the scored set of intents and entities to input nodes of the topic flow, and
executing the topic flow to respond to the user utterance; and then
executing an additional topic node of the global topic flow that outputs a predefined prompt regarding additional topics to be discussed and receives input in response to the predefined prompt; and then
executing a decision node of the global topic flow that repeats execution of the topic discovery node based on the input received in response to the predefined prompt.
|