IP Library › Granted Patent US 8,386,405
Granted Patent B2
US 8,386,405 · App. 13/195,208 · Granted Feb 26, 2013

Method and a computer program product for providing a response to a statement of a user

Inventors: Amil Antebi (Hod Hasharon, IL); Hanoch Rahimi (Rehovot, IL)
Assignee: Support Machines Ltd.
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,386,405
App. No.
13/195,208
Granted
Feb 26, 2013
Kind
B2
Abstract

A method for interacting with a person, the method comprising: receiving a user textual input; matching a structured representation of the user textual input against expected user statement fields of knowledge database entries; wherein a knowledge database entry comprises an expected user statement field and at least one action field; wherein multiple entries of the knowledge database form a data structure that comprises multiple expected user statements fields that match an expected sequence of user textual inputs.

Claims (74)

1. A method for interacting with a user, the method performed by a computer having access to an electronic knowledge database, the method comprising:

automatically with the computer

(a) generating a structured representation of a received user input;

(b) comparing the structured representation of the received user input with each of a plurality of expected user statement fields that are entries in the electronic knowledge database, and are associated with respective action fields specifying at least one action; and

(c) when one of the plurality of expected user statements fields matches the structured representation of the received user inputs, causing the at least one action specified by the action field associated with the matching one of the plurality of expected user statement fields to be performed;

the method further comprising:

(i) when a match is identified in part (c), generating a second structural representation of a second received user input; and

(ii) comparing the second structured representation of the second received user input with a second plurality of expected user statement fields that are entries in the electronic knowledge database and are associated with respective actions fields specifying at least one action:

(A) wherein the entries of the knowledge database are arranged in a hierarchical structure;

(B) wherein each entry in the electronic knowledge database also comprises an associated identification field indicative of a position in the hierarchical structure; and

(C) wherein all the positions indicated by the identification fields associated with the second plurality of expected user statement fields substantially match; and

(iii) when one of the second plurality of expected user statements fields matches the second structured representation of the second received user input, causing the at least one action specified by the action field associated with the matching one of the second plurality of expected user statement fields to be performed.

2. The method according to claim 1 wherein the at least one action in part (c) comprises a link to another of the plurality of knowledge database entries.

3. The method according to claim 2 comprising graphically displaying links between linked knowledge database entries.

4. The method according to claim 1 wherein the action comprises a flow control command that is one of: an if command, an else command, a call command, a goto command, and an input command.

5. The method according to claim 1 further comprising detecting a need to request an intervention of a third party to respond to the received user input.

6. The method according to claim 1 further comprising:

(i) presenting to the user for review a list of previously received user inputs and corresponding responses previously sent by the computer;

(ii) thereafter, receiving a version of at least one of the previously received user inputs that has been altered by the user; and

(iii) in response, providing an updated response.

7. The method according to claim 1 wherein at least one of the plurality of expected statement fields comprises at least one expected user statement expressed in natural language.

8. The method according to claim 1 further comprising providing the user an indication relating to unknown words, spelling errors, or at least one difference between the received user input and at least one of the plurality of expected statement fields.

9. The method according to claim 1 wherein the action comprises a flow control command.

10. The method according to claim 1 further comprising:

(i) when no match is identified in part (c), comparing the structured representation of the received user input with each of a second plurality of expected user statement fields that are entries in the electronic knowledge database and are associated with respective actions fields specifying at least one action;

(A) wherein each entry in the electronic knowledge database further comprises an associated context field specifying a context; and

(B) wherein each context specified by the context fields associated with the second plurality of expected user statements does not match any of the contexts specified by the context fields associated the plurality of expected user statement fields in part (b); and

(ii) when one of the second plurality of expected user statements fields matches the structured representation of the received user input, causing the at least one action specified by the action field associated with the matching one of the second plurality of the expected user statement fields to be performed.

11. A computer-readable non-transitory storage medium storing a set of computer instructions for interacting with a user, wherein the set of computer instructions, when executed on a computer having access to an electronic knowledge database, causes the computer to, automatically:

(a) generate a structured representation of a received user input;

(b) compare the structured representation of the received user input with a plurality of expected user statement fields that are entries in the electronic knowledge database, and are associated with respective action fields specifying at least one action; and

(c) when one of the plurality of expected user statements fields matches the structured representation of the received user input, cause the at least one action specified by the action field associated with the matching one of the plurality of expected user statement fields to be performed;

further, the set of computer instructions, when executed on the computer, causes the computer to:

(i) when a match is identified in part (c), generate a second structural representation of a second received user input; and

(ii) compare the second structured representation of the second received user input with a second plurality of expected user statement fields that are entries in the electronic knowledge database and are associated with respective action fields specifying at least one action;

(A) wherein the entries of the knowledge database are arranged in a hierarchical structure;

(B) wherein each entry in the electronic knowledge database also comprises an associated identification field indicative of a position in the hierarchical structure; and

(C) wherein all the positions indicated by the identification fields associated with the second plurality of expected user statement fields substantially match; and

(iii) when one of the second plurality of expected user statements fields matches the second structured representation of the second received user input, cause the at least one action specified by the action field associated with the matching one of second plurality of expected user statement fields to be performed.

12. The storage medium of claim 11 wherein the at least one action in part (c) comprises a link to another of the plurality of knowledge database entries.

13. The storage medium of claim 12 wherein, further, the set of computer instructions, when executed on the computer, causes the computer to graphically display links between linked knowledge database entries.

14. The storage medium of claim 11 wherein the action comprises a flow control command that is one of: an if command, an else command, a call command, a goto command, and an input command.

15. The storage medium of claim 11 wherein, further, the set of computer instructions, when executed on the computer, causes the computer to:

present to a the user for review a list of previously received user inputs and corresponding responses previously sent by the computer;

(ii) thereafter, receiving a version of at least one of the previously received user inputs that has been altered by the user; and

(iii) in response, provide an updated response.

16. The storage medium of claim 11 wherein the action comprises a flow control command.

17. The storage medium of claim 11 wherein, further, the set of computer instructions, when executed on the computer, causes the computer to:

(i) when no match is identified in part (c), compare the structured representation of the received user input with each of a second plurality of expected user statement fields that are entries in the electronic knowledge database and are associated with respective action fields specifying at least one action;

(A) wherein each entry in the electronic knowledge database further comprises an associated context field specifying a context; and

(B) wherein each context specified by the context fields associated with the second plurality of expected user statements does not match any of the contexts specified by the context fields associated the plurality of expected user statement fields in part (b); and

(ii) when one of the second plurality of expected user statements fields matches the structured representation of the received user input, cause the at least one action specified by the action field associated with the matching one of the second plurality of expected user statement fields to be performed.

18. A computer for interacting with a user, the computer having access to an electronic knowledge database and structured and programmed to, automatically:

(a) generate a structured representation of a received user input;

(b) compare the structured representation of the received user input with a plurality of expected user statement fields that are entries in the electronic knowledge database and are associated with respective action fields specifying at least one action; and

(c) when one of the plurality of expected user statements fields matches the structured representation of the received user input, cause the at least one action specified by the action field associated with the matching one of the plurality of expected user statement fields to be performed;

further, the computer is structured and programmed to:

(i) when a match is identified in part (c), generate a second structural representation of a second received user input; and

(ii) compare the second structured representation of the second received user input with a second plurality of expected user statement fields that are entries in the electronic knowledge database and are associated with respective actions fields specifying at least one action;

(A) wherein the entries of the knowledge database are arranged in a hierarchical structure;

(B) wherein each entry in the electronic knowledge database also comprises an associated identification field indicative of a position in the hierarchical structure; and

(C) wherein all the positions indicated by the identification fields associated with the second plurality of expected user statement fields substantially match; and

(iii) when one of the second plurality of expected user statements fields matches the second structured representation of the second received user input, cause the at least one action specified by the action field associated with the matching one of the second plurality of expected user statement fields to be performed.

19. The computer of claim 18 wherein the action comprises a flow control command.

20. The computer of claim 18 wherein the action comprises a flow control command that is one of: an if command, an else command, a call command, a goto command, and an input command.

21. The computer of claim 18 wherein, further, the computer is structured and programmed to:

(i) present to the user for review a list of previously received user textual inputs and corresponding responses previously sent by the computer;

(ii) thereafter, receiving at least one of the previously received user inputs that has been altered by the user; and

(iii) in response, provide an updated response.

22. The computer of claim 18 wherein, further, the computer is structured and programmed to:

(i) when no match is identified in part (c), compare the structured representation of the received user input with each of a second plurality of expected user statement fields that are entries in the electronic knowledge database and are associated with respective actions fields specifying at least one action;

(A) wherein each entry in the electronic knowledge database further comprises an associated context field specifying a context; and

(B) wherein each context specified by the context fields associated with the second plurality of expected user statements does not match any of the contexts specified by the context fields associated the plurality of expected user statement fields in part (b); and

(ii) when one of the second plurality of expected user statements fields matches the structured representation of the received user input, cause the at least one action specified by the action field associated with the matching one of the second plurality of expected user statement fields to be performed.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2015
From: SUPPORT MACHINES LTD.
To: KNAPP INVESTMENT COMPANY LIMITED
Reel/Frame 035010/0847 →
Continuity (3)
Division 11961035 · Dec 20, 2007
Provisional Application 60871139 · Dec 21, 2006
Related Publication 20120030149A1 · Feb 2, 2012