IP Library Granted Patent US 8,126,832
Granted Patent B2
US 8,126,832 · App. 12/043,911 · Granted Feb 28, 2012

Artificial intelligence system

Assignee: Cognitive Code Corp.
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 8,126,832
App. No.
12/043,911
Granted
Feb 28, 2012
Kind
B2
Abstract

An artificial intelligence system and method for interpreting input from a user and generating a response to the user. The input is converted into an array of concepts which are compared to a database of interrelated concepts. A response is generated based on the concepts in the database and their relationship to the concepts in the input array. The system and method may be implemented in a number of electronic or computer devices to interact with humans or computer systems.

Claims (89)

1. A method for a computer system to interpret an input from a user and generate a response, comprising:

receiving a user input;

converting the user input into an input array comprising rows and columns having a plurality of concepts;

determining if any of the plurality of concepts in the input array is derived from a root concept;

if any of the plurality of concepts is derived from a root concept,

replacing each such derived concept with the corresponding root concept,

identifying one or more related concepts that relate to the root concept, and

generating a multi-dimensional array based on the input array that includes the one or more related concepts;

generating one or more additional multi-dimensional arrays, based on the input, containing any composite concepts, each derived from two or more concepts contained in the original array;

marking one or more concepts in the multi-dimensional arrays as essential based on application-specific criteria;

correlating a plurality of concepts in the multi-dimensional array to a plurality of first elements in a database by comparing a plurality of linear arrays derived from the multidimensional array to the plurality of elements in the database, wherein the first elements in the database includes a link to a second element in the database do not comprise possible responses;

determining a plurality of possible responses to the user input based on the correlation of the multi-dimensional array and the plurality of elements in the database; and

generating a response to the user input.

2. The method of claim 1 wherein the response is presented in a textual, audio, visual, or audiovisual format.

3. The method of claim 1 , further comprising determining if any two or more concepts in the input array comprise a composite concept, and if so, replacing the two or more concepts with the composite concept.

4. The method of claim 1 , wherein the response to the user input is generated based on a selection of one of the plurality of possible responses.

5. The method of claim 1 , wherein the response to the user input is generated based on a selection of predefined output elements that correlate to the one or more concepts in the multi-dimensional array.

6. The method of claim 5 , wherein the selection of the predefined output elements is based on an identification of one or more closest correlations to the one or more concepts in the multi-dimensional array.

7. The method of claim 1 , wherein the multi-dimensional array comprises a plurality of tokens and wherein each token corresponds to a concept.

8. The method of claim 1 , wherein generating a response comprises:

analyzing a plurality of possible responses for the response that more closely relates to the correlation than the other possible responses; and

generating a set of tokens to form the response that more closely relates to the correlation.

9. The method of claim 1 , wherein generating a response to the user input comprises executing at least one transaction, and wherein the transaction is selected from the group comprising: execution of a script, invocation of a web service, execution of an API call, and interacting with an external system.

10. The method of claim 1 , wherein the link is a pointer.

11. The method of claim 1 , further comprising generating an output array to use in responding to the user input, wherein the output array is based on an analysis of a selection of predetermined output elements.

12. The method of claim 1 wherein the user is a human.

13. The method of claim 1 wherein the user is a computer.

14. The method of claim 1 , wherein the user is a human.

15. The method of claim 1 , wherein the user is a computer.

16. A method for a computer system to interpret an input from a user and generate a response, comprising:

receiving a user input;

converting the user input into an input array having a plurality of concepts;

determining if any of the plurality of concepts in the input array is derived from a root concept;

if any of the plurality of concepts is derived from a root concept,

replacing each such derived concept with the corresponding root concept,

identifying one or more related concepts that relate to the root concept, and

generating a multi-dimensional array based on the input array that includes the one or more related concepts;

correlating a concept in the multi-dimensional array to a first element in a database, wherein the first element in the database includes a link to a second element in the database;

determining a plurality of possible responses to the user input based on the correlation of the multi-dimensional array and the database;

generating a response to the user input, wherein generating a response comprises:

analyzing a plurality of possible responses for the response that more closely relates to the correlation than the other possible responses, and

generating a set of tokens to form the response that more closely relates to the correlation;

generating an output array to use in responding to the user input, wherein the output array is based on an analysis of a selection of predetermined output elements; and

identifying a first token from the multi-dimensional array as data to be stored in memory for later use.

17. A method for a computer system to interpret an input from a user and generate a response, comprising:

receiving the user input in a first format;

converting the user input into a second format comprising a one-dimensional token array having at least one token, wherein each token corresponds to a portion of the user input;

generating a root token array, corresponding to the one-dimensional token array, having at least one root token, wherein each root token corresponds to the root from which one of the one-dimensional tokens is derived;

generating a multi-dimensional token array, based on the root token array, having a plurality of tokens, wherein each token corresponds to at least one root token; and

generating one or more additional multi-dimensional arrays, based on the input, containing any composite concepts, each derived from two or more concepts contained in the original array;

marking one or more concepts in the multi-dimensional arrays as essential based on application-specific criteria;

correlating a token in the multi-dimensional token array to a first element in a database, wherein the first element in the database includes a link to a second element in the database; and

generating a response to the user input.

18. The method of claim 17 , further comprising determining if any two or more tokens in the input array comprise a composite token, and if so, replacing the two or more tokens with the composite token.

19. The method of claim 17 , further comprising determining a plurality of possible responses to the user input based on the correlation of the multi-dimensional array and the database.

20. The method of claim 19 , wherein the response to the user input is generated based on a selection of predetermined output elements that correlate to tokens in the multi-dimensional array.

21. The method of claim 20 wherein generating a response further comprises:

analyzing a plurality of possible responses for the response that more closely relates to the correlation than the other possible responses; and

selecting one or more predetermined output elements to form the response that more closely relate to the correlation.

22. The method of claim 20 , wherein the selection of the predetermined output elements is based on an identification of one or more closest correlations to the tokens in the multi-dimensional array.

23. The method of claim 17 , wherein the multi-dimensional token array comprises a plurality of tokens, wherein each token corresponds to a concept.

24. The method of claim 17 , wherein generating a response comprises:

analyzing a plurality of possible responses for the response that more closely relates to the correlation than the other possible responses; and

generating a set of tokens to form the response that more closely relates to the correlation.

25. The method of claim 17 , wherein generating a response to the user comprises executing at least one transaction, and wherein the transaction is selected from the group comprising: execution of a script, invocation of a web service, execution of an API call, and interacting with an external system.

26. The method of claim 17 , wherein the link is a pointer.

27. The method of claim 17 , wherein each token is an integer.

28. The method of claim 17 , further comprising assigning each token a corresponding integer.

29. The method of claim 17 , wherein each token corresponds to a concept.

30. The method of claim 17 wherein the response is presented in a textual, audio, visual, or audiovisual format.

31. The method of claim 17 wherein the user is a human.

32. The method of claim 17 wherein the user is a computer.

33. A method for a computer system to interpret an input from a user and generate a response, comprising:

receiving the user input in a first format;

converting the user input into a second format comprising a one-dimensional token array having at least one token, wherein each token corresponds to a portion of the user input;

generating a root token array, corresponding to the one-dimensional token array, having at least one root token, wherein each root token corresponds to the root from which one of the one-dimensional tokens is derived;

generating a multi-dimensional token array, based on the root token array, having a plurality of tokens, wherein each token corresponds to at least one root token;

correlating a token in the multi-dimensional token array to a first element in a database, wherein the first element in the database includes a link to a second element in the database;

generating a response to the user input, wherein generating a response comprises:

analyzing a plurality of possible responses for the response that more closely relates to the correlation than the other possible responses, and

generating a set of tokens to form the response that more closely relates to the correlation; and

generating an output array to use in responding to the user input, wherein the output array is based on an analysis of a selection of predetermined output elements, and wherein the selection of the predetermined output elements is based on an identification of one or more closest correlations to the tokens in the multi-dimensional array.

34. A method for a computer system to interpret an input from a user and generate a response, comprising:

receiving the user input in a first format;

converting the user input into a second format comprising a one-dimensional token array having at least one token, wherein each token corresponds to a portion of the user input;

generating a root token array, corresponding to the one-dimensional token array, having at least one root token, wherein each root token corresponds to the root from which one of the one-dimensional tokens is derived;

generating a multi-dimensional token array, based on the root token array, having a plurality of tokens, wherein each token corresponds to at least one root token;

determining a match between the multi-dimensional token array and the one-dimensional token array; and

generating a response to the user input using a combination of tokens.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2011
From: SPRING, LESLIE
To: COGNITIVE CODE CORP.
Reel/Frame 027186/0696 →
Continuity (2)
Provisional Application 60893237 · Mar 6, 2007
Related Publication 20080235162A1 · Sep 25, 2008