US 11,790,176 B2
Systems and methods for a virtual agent in a cloud computing environment
Nabil Abu Asba, The Hague (NL); Mark David Griffin, Lakeside, CA (US); and Anuj Jain, Santa Clara, CA (US)
Assigned to ServiceNow, Inc., Santa Clara, CA (US)
Filed by ServiceNow, Inc., Santa Clara, CA (US)
Filed on Jun. 4, 2019, as Appl. No. 16/431,185.
Claims priority of provisional application 62/820,736, filed on Mar. 19, 2019.
Prior Publication US 2020/0302020 A1, Sep. 24, 2020
Int. Cl. G06F 40/30 (2020.01); G10L 15/22 (2006.01); H04L 51/02 (2022.01); G06F 40/295 (2020.01); G10L 15/18 (2013.01); H04L 67/10 (2022.01); G06F 40/35 (2020.01); G06F 40/279 (2020.01)
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
OG exemplary drawing
 
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.