IP Library › Granted Patent US 10,565,509
Granted Patent B2
US 10,565,509 · App. 14/923,592 · Granted Feb 18, 2020

Adaptive virtual intelligent agent

Inventor: Justin London (Chicago, IL)
G06N5/04G06F16/90332G06N20/00G06Q30/016G06Q30/0613
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 10,565,509
App. No.
14/923,592
Filed
Oct 27, 2015
Granted
Feb 18, 2020
Kind
B2
Art Unit
2121
USPC
706/45
Abstract

Embodiments of an adaptive virtual intelligent agent (“AVIA”) service are disclosed. It may include the functions of a human administrative assistant for an enterprise including customer support, customer relationship management, and fielding incoming caller inquiries. It also has multi-modal applications for the home through interaction with AVIA implemented in the home. It may engage in free-form natural language dialogs. During a dialog, embodiments maintain the context and meaning of the ongoing dialog and provides information and services as needed by the domain of the application. Over time, the service automatically extends its knowledge of the domain (as represented in the Knowledge Tree Graphs) through interaction with external resources. Embodiments can intelligently understand and converse with users using free-form speech without pre-programmed deterministic sequences of questions and answers, can dynamically determine what it needs to know to converse meaningfully with users, and knows how to obtain information it needs.

Claims (73)

1. A conversational system comprising:

a microphone; and

a processor coupled to memory that includes:

a data structure object that includes a graph data structure comprising structure nodes, wherein the structure nodes include structure edges that define links between the structure nodes; and

a program that instructs the processor to perform:

receiving a first voice-based input via the microphone;

generating, in response to the first voice-based input, a knowledge-tree graph instantiation based on the data structure object, wherein the knowledge tree graph instantiation includes:

instantiation nodes based on the structure nodes, wherein the instantiation nodes each include an initial node timestamp; and

instantiation edges based on the structure edges, wherein the instantiation edges define links between the instantiation nodes, wherein the instantiation edges each include an initial edge timestamp;

receiving a second voice-based input via the microphone;

modifying the instantiation nodes based on the second voice-based input and including a modified node timestamp corresponding to the modification;

modifying the instantiation edges based on the second voice-based input and including a modified edge timestamp of the modification; and

tracing the knowledge-tree graph instantiation backwards based on:

the received second voice-based input,

the initial node timestamp,

the initial edge timestamp,

the modified node timestamp, and

the modified edge timestamp.

2. The conversational system of claim 1 , wherein the program instructs the processor to further perform:

communicating with sensors placed remotely from the system to receive sensor data; and

controlling a home device based on the sensor data and the knowledge tree graph instantiation nodes.

3. The conversational system of claim 2 , wherein:

the home device includes a security camera and an alarm; and

the data structure template object includes a security alarm ontology.

4. The conversational system of claim 3 , wherein the sensors include the security camera.

5. The conversational system of claim 1 further including a communications interface to a display, wherein the communications interface is controlled based the second voice-based input.

6. The conversational system of claim 1 further including a panel display, wherein the panel display is controlled based the second voice-based input.

7. The conversational system of claim 1 , wherein the program instructs the processor to further perform:

determining a prompt based on the knowledge tree graph instantiation nodes;

issuing the prompt; and

receiving the second voice-based input via the microphone further includes receiving the second voice-based input via the microphone after the prompt is issued.

8. The conversational system of claim 1 , wherein:

the memory further includes additional data structure objects that each include a graph data structure comprising structure nodes and template edges; and

generating, in response to the first voice-based input, a knowledge-tree graph instantiation based on the data structure object includes:

selecting a select data structure template object from among the data structure template object and the additional data structure template objects based on the first voice-based input; and

generating the knowledge-tree graph instantiation based on the select data structure template object and the first voice-based input.

9. The conversational system of claim 8 , wherein selecting a select data structure object from among the data structure object and the additional data structure objects based on the first voice-based input includes:

determining an identity of a speaker of the first voice-based input; and

selecting a select data structure object from among the data structure object and the additional data structure objects based on the identity of the speaker.

10. The conversational system of claim 1 , further including:

determining an identity of a speaker of the first voice-based input;

wherein:

generating, in response to the first voice-based input, a knowledge-tree graph instantiation based on the data structure object further includes:

generating a knowledge-tree graph instantiation based on the data structure object if the speaker is unknown; and

utilizing a previously generated knowledge-tree graph instantiation as the knowledge-tree graph instantiation if the user is known.

11. The conversational system of claim 1 , wherein:

the data structure template object includes a car ontology; and

the program instructs the processor to further perform communicating with sensors within a vehicle to receive sensor data.

12. The conversational system of claim 11 , wherein the program instructs the processor to further perform:

determining whether the second voice-based input indicates that a speaker of the second voice-based input wants information about the sensor; and

relaying the information about the sensor via an audio speaker of the car.

13. The conversational system of claim 12 with a housing including a communications interface to a display.

14. The conversational system of claim 12 further including a panel display, wherein the panel display is controlled based on the second voice-based input.

15. The conversational system of claim 11 further including a camera sensor.

16. The conversational system of claim 15 , wherein the program further instructs the processor to communicate with sensors of a vehicle based on the camera sensor.

17. The conversational system of claim 15 , wherein the program further instructs the processor to communicate with a panel display of a vehicle based on the camera sensor.

18. A conversational system comprising:

a processor coupled to memory that includes:

a data structure object that includes a graph data structure comprising structure nodes, wherein the structure nodes include structure edges that define links between the structure nodes; and

a program that instructs the processor to perform:

receiving a first voice-based input;

generating, in response to the first voice-based input, a knowledge-tree graph instantiation based on the data structure object, wherein the knowledge tree graph instantiation includes:

instantiation nodes based on the structure nodes, wherein the instantiation nodes each include an initial node timestamp; and

instantiation edges based on the structure edges, wherein the instantiation edges define links between the instantiation nodes, wherein the instantiation edges each include an initial edge timestamp;

receiving a second voice-based input;

modifying the instantiation nodes based on the second voice-based input and including a modified node timestamp corresponding to the modification;

modifying the instantiation edges based on the second voice-based input and including a modified edge timestamp of the modification; and

tracing the knowledge-tree graph instantiation backwards based on:

the received second voice-based input,

the initial node timestamp,

the initial edge timestamp,

the modified node timestamp, and

the modified edge timestamp.

Continuity (4)
Continuation 14546097 · Nov 18, 2014
Provisional Application 62026023 · Jul 17, 2014
Provisional Application 61906839 · Nov 20, 2013
Related Publication 20160117593A1 · Apr 28, 2016
Cited By (39)
US 12,190,069 US 12,210,841 US 12,210,843 US 12,217,009 US 12,217,010 US 12,223,285 US 12,223,286 US 12,223,287 US 12,236,199 US 12,242,812 US 12,242,813 US 12,242,814 US 12,254,277 US 12,254,278 US 12,260,181 US 12,260,182 US 12,314,660 US 12,315,604 US 12,321,697 US 12,340,180 US 12,353,827 US 12,393,777 US 12,400,085 US 12,406,146 US 12,430,503 US 12,430,504 US 12,430,505 US 12,456,008 US 12,499,320 US 12,518,107 US 12,524,619 US 12,554,935 US 12,567,482 US 12,585,883 US 12,596,881 US 12,596,936 US 12,730,976 US 12,737,552 US 12,743,304