# US 9,519,461 B2 · Dynamically evolving cognitive architecture system based on third-party developers

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,519,461 B2
- Document ID: US9519461B2
- Status: Granted
- Kind: B2
- Application number: 14/306,856
- Filed: 2014-06-17
- Published: 2014-12-25
- Granted: 2016-12-13
- Earliest claimed: 2013-06-20
- Assignees: Viv Labs, Inc.
- Applicants: Viv Labs, Inc.
- Inventors: Mark Gabel; Christopher Brigham; Adam Cheyer; Dag Kittlaus
- Web page: https://patentgrep.com/patent/US9519461B2

## CPC

- G06F 8/00: Arrangements for software engineering (testing or debugging G06F11/36; administrative, planning or organisation aspects of software project management G06Q10/06)
- G06F 40/284: Lexical analysis, e.g. tokenisation or collocates
- G06F 40/40: Processing or translation of natural language (natural language analysis G06F40/20; semantic analysis G06F40/30)
- G06N 5/02: Knowledge representation; Symbolic representation
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A dynamically evolving cognitive architecture system based on third-party developers is described. A system forms an intent based on a user input, and creates a plan based on the intent. The plan includes a first action object that transforms a first concept object associated with the intent into a second concept object and also includes a second action object that transforms the second concept object into a third concept object associated with a goal of the intent. The first action object and the second action object are selected from multiple action objects. The system executes the plan, and outputs a value associated with the third concept object.

## Claims

### Claim 1

A system for a dynamically evolving cognitive architecture based on third-party developers, the system comprising:
one or more processors; and
a non-transitory computer readable medium storing a plurality of instructions, which
when executed, cause the one or more processors to:
match a first object and a second object with a user input, the first object comprising one of an input action object, an input concept object and an output concept object, the second object comprising another one of the input action object, the input concept object, and the output concept object;
form an intent based on the user input;
create a plan based on the intent, the plan comprising the input action object selected from a plurality of action objects and provided by a first third-party developer that transforms the input concept object associated with the intent into an intermediate concept object, and the output action object selected from the plurality of action objects and provided by a second third-party developer that transforms another intermediate concept object into the output concept object associated with a goal of the intent, the other intermediate concept object being one of the same as the intermediate concept object and different from the intermediate concept object;
execute the plan, and
output a value associated with the output concept object to a user interface associated with the user input.

### Claim 2 (depends on 1)

The system of claim 1, wherein the input concept object is provided by a third third-party developer, the intermediate concept object is provided by a fourth third-party developer, and the output concept object is provided by a fifth third-party developer.

### Claim 3 (depends on 1)

The system of claim 1, wherein the input concept object comprises first data which provides instantiations of the input concept object, the intermediate concept object comprises second data which provides instantiations of the intermediate concept object, and the output concept object comprises third data which provides instantiations of the output concept object.

### Claim 4 (depends on 1)

The system of claim 1, wherein an input parameter of the input action object is mapped to a web service parameter and a web service result is mapped to an output value of the input action object.

### Claim 5 (depends on 1)

The system of claim 1, wherein a another action object is provided by a third third-party developer after the intent is formed based on the user input and before the value associated with the output concept object is output.

### Claim 6

A computer-implemented method for a dynamically evolving cognitive architecture system based on third-party developers, the method comprising:
matching a first object and a second object with a user input, the first object comprising one of an input action object, an input concept object and an output concept object, the second object comprising another one of the input action object, the input concept object, and the output concept object;
forming an intent based on the user input;
creating a plan based on the intent, the plan comprising the input action object selected from a plurality of action objects and provided by a first third-party developer that transforms the input concept object associated with the intent into an intermediate concept object, and the output action object selected from the plurality of action objects and provided by a second third-party developer that transforms another intermediate concept object into the output concept object associated with a goal of the intent, the other intermediate concept object being one of the same as the intermediate concept object and different from the intermediate concept object;
executing the plan, and
outputting a value associated with the output concept object to a user interface associated with the user input.

### Claim 7 (depends on 6)

The method of claim 6, wherein the input concept object is provided by a third third-party developer, the intermediate concept object is provided by a fourth third-party developer, and the output concept object is provided by a fifth third-party developer.

### Claim 8 (depends on 6)

The method of claim 6, wherein the input concept object comprises first data which provides instantiations of the input concept object, the intermediate concept object comprises second data which provides instantiations of the intermediate concept object, and the output concept object comprises third data which provides instantiations of the output concept object.

### Claim 9 (depends on 6)

The method of claim 6, wherein an input parameter of the input action object is mapped to a web service parameter and a web service result is mapped to an output value of the input action object.

### Claim 10

A computer program product, comprising a non-transitory computer-readable medium having a computer-readable program code embodied therein to be executed by one or more processors, the program code including instructions to:
match a first object and a second object with a user input, the first object comprising one of an input action object, an input concept object and an output concept object, the second object comprising another one of the input action object, the input concept object, and the output concept object;
form an intent based on a user input;
create a plan based on the intent, the plan comprising the input action object selected from a plurality of action objects and provided by a first third-party developer that transforms the input concept object associated with the intent into an intermediate concept object, and the output action object selected from the plurality of action objects and provided by a second third-party developer that transforms another intermediate concept object into the output concept object associated with a goal of the intent, the other intermediate concept object being one of the same as the intermediate concept object and different from the intermediate concept object;
execute the plan, and
output a value associated with the output concept object to a user interface associated with the user input.

### Claim 11 (depends on 10)

The computer program product of claim 10, wherein the input concept object is provided by a third third-party developer, the intermediate concept object is provided by a fourth third-party developer, and the output concept object is provided by a fifth third-party developer.

### Claim 12 (depends on 10)

The computer program product of claim 10, wherein the input concept object comprises first data which provides instantiations of the input concept object, the intermediate concept object comprises second data which provides instantiations of the intermediate concept object, and the output concept object comprises third data which provides instantiations of the output concept object.

### Claim 13 (depends on 10)

The computer program product of claim 10, wherein an input parameter of the input action object is mapped to a web service parameter and a web service result is mapped to an output value of the input action object.

### Claim 14 (depends on 10)

The computer program product of claim 10, wherein a another action object is provided by a third third-party developer after the intent is formed based on the user input and before the value associated with the output concept object is output.

### Claim 15 (depends on 6)

The method of claim 6, wherein a another action object is provided by a third third-party developer after the intent is formed based on the user input and before the value associated with the output concept object is output.
