IP Library Granted Patent US 11,075,007
Granted Patent B2
US 11,075,007 · App. 16/038,332 · Granted Jul 27, 2021

Dynamic selection of virtual agents in a mutli-domain expert system

Inventors: Garfield Vaughn (South Windsor, CT); Gandhi Sivakumar (Bentleigh, AU); Vasanthi M. Gopal (Plainsboro, NJ)
Assignee: International Business Machines Corporation
G16H50/20G06F40/30G06N5/04G06N20/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,075,007
App. No.
16/038,332
Granted
Jul 27, 2021
Kind
B2
Abstract

An expert system incorporates multiple virtual-agent experts, each trained in a particular field or domain. When a user enters a block of input, an interactive front-end infers the semantic meaning of the input and creates a chat-table record that stores the inferred meaning and other characteristics of the input. A distributed virtual-assistant manager (DVAM) module uses that record to identify the domain of the input and, after retrieving cross-reference information stored in a virtual-assistant intent (VAI) table, selects a virtual-agent expert trained in the identified domain. If necessary, the DVAM directs the front-end to seamlessly switch the user to the newly selected expert. As the session continues, the system continues to dynamically switch the user to different experts as the session traverses different domains. The system may also consider the domain history of the entire session when selecting a domain.

Claims (88)

1. A multi-domain expert system comprising a processor, a memory coupled to the processor, and a computer-readable hardware storage device coupled to the processor, the storage device containing program code configured to be run by the processor via the memory to implement a method for dynamic selection of virtual agents in a multi-domain expert system, the method comprising:

a processor of a distributed virtual-assistant manager (DVAM) receiving notice that a user has initiated a user session, where the expert system comprises the DVAM, a front-end program that interacts with the user, a chat table, a virtual agent intent (VAI) table, and a set of pretrained virtual agents;

the processor receiving a communication from the front-end program that a first block of input has been received from the user, as part of an interactive user conversation between the user and the expert system, by the front-end program;

the processor retrieving a first chat-table record from the chat table,

where the first chat-table record identifies a first semantic meaning of the first block of input and

where the processor chooses the first chat-table record over an other chat-table record that identifies a different semantic meaning of the first block of input at least in part because the user's previous interactive conversations, with the expert system, that were related to the first semantic meaning were on average lengthier than the user's previous interactive conversations, with the expert system, that were related to the different semantic meaning;

the processor associating, as a function of the first semantic meaning, the first block of input with a first domain of a set of predefined domains;

the processor selecting a first virtual agent from the set of pretrained virtual agents, where the first virtual agent possesses expert knowledge in the first domain;

the processor directing the front-end program to conduct the user session as an interactive conversation between the user and the first virtual agent.

2. The system of claim 1 , further comprising:

the processor receiving further notice that a second block of input has been received from the user by the front-end program;

the processor retrieving a second chat-table record from the chat table, where the second chat-table record identifies a second semantic meaning of the second block of input;

the processor associating, as a function of the second semantic meaning, the second block of input with a second domain of the set of predefined domains;

the processor selecting a second virtual agent from the set of pretrained virtual agents, where the second virtual agent has been trained to possess expert knowledge in the second domain; and

the processor directing the front-end program to continue the user session as an interactive conversation between the user and the second virtual agent.

3. The system of claim 2 , where the front-end program continues the user session without interruption as an interactive conversation between the user and the second virtual agent, and where the continuing does not reveal to the user that the user is no longer interacting with the first virtual agent.

4. The system of claim 1 , where the associating further comprises:

the processor retrieving a first VAI record from a virtual agent intent (VAI) table, and

where the first VAI record identifies that the first virtual agent has been trained to possess expert knowledge in the first domain.

5. The system of claim 1 , where the processor also considers records of the chat table other than the first chat-table record when associating the first block of input with the first domain.

6. The system of claim 1 ,

where the front-end program comprises a natural-language processing technology configured to infer semantic meaning from natural-language user input submitted to the expert system through the front-end program,

where the first block of input comprises natural-language text or speech,

where the first chat-table record was created by the front-end program upon receipt by the front-end program of the first block of input, and

where the first chat-table record identifies characteristics of the first block of input.

7. The system of claim 6 , where the characteristics of the first block of input comprise:

an identifier of the user session,

a time stamp that identifies when the first block of input was received, and

the first semantic meaning.

8. A method for dynamic selection of virtual agents in a multi-domain expert system, the method comprising:

a processor of a distributed virtual-assistant manager (DVAM) module receiving notice that a user has initiated a user session, where the multi-domain expert system comprises the DVAM, a front-end program that interacts with the user, a chat table, a virtual agent intent (VAI) table, and a set of pretrained virtual agents;

the processor receiving a communication from the front-end program that a first block of input has been received from the user, as part of an interactive user conversation between the user and the expert system, by the front-end program;

the processor retrieving a first chat-table record from the chat table,

where the first chat-table record identifies a first semantic meaning of the first block of input and

where the processor chooses the first chat-table record over an other chat-table record that identifies a different semantic meaning of the first block of input at least in part because the user's previous interactive conversations, with the expert system, that were related to the first semantic meaning were on average lengthier than the user's previous interactive conversations, with the expert system, that were related to the different semantic meaning;

the processor associating, as a function of the first semantic meaning, the first block of input with a first domain of a set of predefined domains;

the processor selecting a first virtual agent from the set of pretrained virtual agents, where the first virtual agent possesses expert knowledge in the first domain; and

the processor directing the front-end program to conduct the user session as an interactive conversation between the user and the first virtual agent.

9. The method of claim 8 , further comprising:

the processor receiving further notice that a second block of input has been received from the user by the front-end program;

the processor retrieving a second chat-table record from the chat table, where the second chat-table record identifies a second semantic meaning of the second block of input;

the processor associating, as a function of the second semantic meaning, the second block of input with a second domain of the set of predefined domains;

the processor selecting a second virtual agent from the set of pretrained virtual agents, where the second virtual agent has been trained to possess expert knowledge in the second domain; and

the processor directing the front-end program to continue the user session as an interactive conversation between the user and the second virtual agent.

10. The method of claim 9 , where the front-end program continues the user session without interruption as an interactive conversation between the user and the second virtual agent, and where the continuing does not reveal to the user that the user is no longer interacting with the first virtual agent.

11. The method of claim 8 , where the associating further comprises:

the processor retrieving a first VAI record from a virtual agent intent (VAI) table, and

where the first VAI record identifies that the first virtual agent has been trained to possess expert knowledge in the first domain.

12. The method of claim 8 , where the processor also considers records of the chat table other than the first chat-table record when associating the first block of input with the first domain.

13. The method of claim 8 ,

where the front-end program comprises a natural-language processing technology configured to infer semantic meaning from natural-language user input submitted to the expert system through the front-end program,

where the first block of input comprises natural-language text or speech,

where the first chat-table record was created by the front-end program upon receipt by the front-end program of the first block of input,

where the first chat-table record identifies characteristics of the first block of input, and

where the characteristics comprise:

an identifier of the user session,

a time stamp that identifies when the first block of input was received, and

the first semantic meaning.

14. The method of claim 8 , further comprising providing at least one support service for at least one of creating, integrating, hosting, maintaining, and deploying computer-readable program code in the computer system, wherein the computer-readable program code in combination with the computer system is configured to implement the receiving notice, the receiving a communication, the retrieving, the associating, the selecting, and the directing.

15. A computer program product, comprising a computer-readable hardware storage device having a computer-readable program code stored therein, the program code configured to be executed by a multi-domain expert system comprising a processor, a memory coupled to the processor, and a computer-readable hardware storage device coupled to the processor, the storage device containing program code configured to be run by the processor via the memory to implement a method for dynamic selection of virtual agents in a multi-domain expert system, the method comprising:

a processor of a distributed virtual-assistant manager (DVAM) module receiving notice that a user has initiated a user session, where the multi-domain expert system comprises the DVAM, a front-end program that interacts with the user, a chat table, a virtual agent intent (VAI) table, and a set of pretrained virtual agents;

the processor receiving a communication from the front-end program that a first block of input has been received from the user, as part of an interactive user conversation between the user and the expert system, by the front-end program;

the processor retrieving a first chat-table record from the chat table,

where the first chat-table record identifies a first semantic meaning of the first block of input and

where the processor chooses the first chat-table record over an other chat-table record that identifies a different semantic meaning of the first block of input at least in part because the user's previous interactive conversations, with the expert system, that were related to the first semantic meaning were on average lengthier than the user's previous interactive conversations, with the expert system, that were related to the different semantic meaning;

the processor associating, as a function of the first semantic meaning, the first block of input with a first domain of a set of predefined domains;

the processor selecting a first virtual agent from the set of pretrained virtual agents, where the first virtual agent possesses expert knowledge in the first domain; and

the processor directing the front-end program to conduct the user session as an interactive conversation between the user and the first virtual agent.

16. The computer program product of claim 15 , further comprising:

the processor receiving further notice that a second block of input has been received from the user by the front-end program;

the processor retrieving a second chat-table record from the chat table, where the second chat-table record identifies a second semantic meaning of the second block of input;

the processor associating, as a function of the second semantic meaning, the second block of input with a second domain of the set of predefined domains;

the processor selecting a second virtual agent from the set of pretrained virtual agents, where the second virtual agent has been trained to possess expert knowledge in the second domain; and

the processor directing the front-end program to continue the user session as an interactive conversation between the user and the second virtual agent.

17. The computer program product of claim 16 , where the front-end program continues the user session without interruption as an interactive conversation between the user and the second virtual agent, and where the continuing does not reveal to the user that the user is no longer interacting with the first virtual agent.

18. The computer program product of claim 15 , where the associating further comprises:

the processor retrieving a first VAI record from a virtual agent intent (VAI) table, and

where the first VAI record identifies that the first virtual agent has been trained to possess expert knowledge in the first domain.

19. The computer program product of claim 15 , where the processor also considers records of the chat table other than the first chat-table record when associating the first block of input with the first domain.

20. The computer program product of claim 15 ,

where the front-end program comprises a natural-language processing technology configured to infer semantic meaning from natural-language user input submitted to the expert system through the front-end program,

where the first block of input comprises natural-language text or speech,

where the first chat-table record was created by the front-end program upon receipt by the front-end program of the first block of input,

where the first chat-table record identifies characteristics of the first block of input, and

where the characteristics comprise:

an identifier of the user session,

a time stamp that identifies when the first block of input was received, and

the first semantic meaning.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: KYNDRYL, INC.
Reel/Frame 057885/0644 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2018
From: VAUGHN, GARFIELD; SIVAKUMAR, GANDHI; GOPAL, VASANTHI M.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 046380/0656 →
Continuity (1)
Related Publication 20200027553A1 · Jan 23, 2020