Methods for creating and editing topics for virtual robots conversing in natural language
First Claim
1. A method for editing a topic script that controls how a virtual robot processes user input to interact with the user providing the user input, wherein:
- the topic script includes an example statement and a pattern, the example statement has one or more words, wherein the example statement is representative of user input; and
the virtual robot matches the pattern and the user input to determine whether to activate the topic script in response to the user input, the editing method comprising;
matching the example statement and the pattern to determine if the user input of which the example statement is representative will cause the virtual robot to activate the topic script; and
if it is determined that the user input of which the example statement is representative will not cause the virtual robot to activate the topic script, creating a revised pattern for the topic script, wherein the revised pattern creating step includes;
for one or more words in the example statement, identifying a pattern list for the one or more words in the example statement, wherein the pattern list includes one or more elements that are substitutes for the one or more words in the example statement, and adding into the revised pattern the one or more words in the example statement or the pattern list.
8 Assignments
0 Petitions
Accused Products
Abstract
Automated methods are provided for the editing and authoring of topic scripts for the dynamic operation of virtual robots. A virtual robot, or BOT, processes natural language input from a user to effect certain actions according to user input. Typically, BOTs are constructed using topic scripts. Topic scripts may comprise example statements that typify the topic in question and patterns that are matched against user input to determine if the topic is activated by the user input. The steps of one embodiment of the present invention comprise: for an example statement associated with a topic script; testing said example statement against patterns in the topic script to determine if said example statement activates said topic; then for a word in an example statement not activating said topic: identifying zero or more pattern lists matching said word; then choosing one action from among a group of actions comprising: keeping said word; and replacing said word with a pattern list; then adding zero or more revised patterns to said topic script.
90 Citations
26 Claims
-
1. A method for editing a topic script that controls how a virtual robot processes user input to interact with the user providing the user input, wherein:
-
the topic script includes an example statement and a pattern, the example statement has one or more words, wherein the example statement is representative of user input; and
the virtual robot matches the pattern and the user input to determine whether to activate the topic script in response to the user input, the editing method comprising; matching the example statement and the pattern to determine if the user input of which the example statement is representative will cause the virtual robot to activate the topic script; and
if it is determined that the user input of which the example statement is representative will not cause the virtual robot to activate the topic script, creating a revised pattern for the topic script, wherein the revised pattern creating step includes;
for one or more words in the example statement, identifying a pattern list for the one or more words in the example statement, wherein the pattern list includes one or more elements that are substitutes for the one or more words in the example statement, and adding into the revised pattern the one or more words in the example statement or the pattern list. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
filtering the example statement using one or more filter topic scripts.
-
-
3. The method of claim 2, wherein the filter topic scripts include question scripts, wherein the question scripts determine whether the example statement is one of a variety of question types.
-
4. The method of claim 2, wherein one or more of the filter topic scripts are configured to determine a subject of the example statement.
-
5. The method of claim 1, wherein a pattern list is identified for a group of two or more words in the example statement at a time.
-
6. The method of claim 1, wherein one of the elements of the pattern list is a wildcard character.
-
7. The method of claim 1, wherein the example statement includes a first and a second example statement, and wherein matching the example statement and the pattern comprises:
-
matching the first example statement and the pattern, if it is determined that the first example statement matches the pattern, matching the second example statement and the pattern, and if it is determined that the second example statement does not match the pattern, creating the revised pattern based on the second example statement.
-
-
8. The method of claim 1, wherein the example statement includes a first and a second example statement, and wherein matching the example statement and the pattern comprises:
-
matching the first example statement and the pattern, if it is determined that the first example statement does not match the pattern, revising the pattern based on the first example statement, and matching the second example statement and the revised pattern, and if it is determined that the second example statement does not match the pattern, further revising the pattern based on the second example statement.
-
-
9. The method of claim 1, wherein the example statement has one or more phrases, wherein each phrase includes one or more words, and wherein the revised pattern creating step comprises:
-
for one or more phrases in the example statement, identifying a pattern list for each phrase in the example statement, wherein the pattern list includes one or more elements that are substitutes for the phrase in the example statement, and adding into the revised pattern the phrase in the example statement or the pattern list.
-
-
10. The method of claim 1, wherein the pattern and the revised pattern are compiled with the topic script.
-
11. The method of claim 1, wherein identifying a pattern list comprises:
-
iterating through a set of pattern lists; and
for each pattern list, matching the word or words in the example statement to the word or words in the pattern list.
-
-
12. The method of claim 11 further comprising:
generating a list of synonyms for the word or words in the example statement using a database containing synonyms.
-
13. The method of claim 1, wherein the pattern is created in response to a user input.
-
14. A method of creating a topic script that controls how a virtual robot processes user input to interact with the user providing the user input, wherein:
-
the topic script includes a first example statement, the first example statement has one or more words, wherein the example statement is representative of user input, the method comprising; for one or more words in the first example statement, identifying a pattern list for the one or more words in the first example statement, wherein the pattern list includes one or more elements that are substitutes for the one or more words in the first example statement, and creating a pattern using the one or more words in the first example statement or the pattern list, wherein the virtual robot matches the pattern and the user input to determine whether to activate the topic script in response to the user input. - View Dependent Claims (15, 16, 17, 18, 19, 20)
matching the second example statement and the pattern, wherein the second example statement has one or more words representative of user input;
if it is determined that the second example statement will not cause the topic script to be activated, creating a revised pattern for the topic script, wherein the revised pattern creating step includes;
identifying a pattern list for the one or more words in the second example statement, wherein the pattern list includes one or more elements that are substitutes for the one or more words in the second example statement, and creating the revised pattern using the one or more words in the second example statement or the pattern list.
-
-
16. The method of claim 14, wherein the first example statement has one or more phrases, wherein each phrase includes one or more words, and for one or more phrases in the example statement,
identifying a pattern list for each phrase in the first example statement, wherein the pattern list includes one or more elements that are substitutes for the phrase in the first example statement, and adding into the revised pattern the phrase in the first example statement or the pattern list. -
17. The method of claim 14, wherein the topic script includes a second example statement, and if it is determined that the first example statement does not match the pattern,
revising the pattern based on the first example statement, and matching the second example statement and the revised pattern, and if it is determined that the second example statement does not match the pattern, further revising the pattern based on the second example statement. -
18. The method of claim 14, wherein the pattern and the revised pattern are compiled with the topic script.
-
19. The method of claim 14, wherein identifying a pattern list comprises:
-
iterating through a set of pattern lists; and
for each pattern list, matching the word or words in the first example statement to the word or words in the pattern list.
-
-
20. The method of claim 19 further comprising:
generating a list of synonyms for the word or words in the first example statement using a database containing synonyms.
-
21. A computer-readable storage medium containing computer executable code to edit a topic script that controls how a virtual robot processes user input to interact with the user providing the user input, wherein:
-
the topic script includes an example statement and a pattern, the example statement has one or more words, wherein the example statement is representative of user inputs, and the virtual robot matches the pattern and the user input to determine whether to activate the topic script in response to the user input, the computer being instructed to operate as follows; matching the example statement and the pattern to determine if the user input of which the example statement is representative will cause the virtual robot to activate the topic script; and
if it is determined that the user input of which the example statement is representative will not cause the virtual robot to activate the topic script, creating a revised pattern for the topic script, wherein the revised pattern creating step includes;
for one or more words in the example statement, identifying a pattern list for the one or more words in the example statement, wherein the pattern list includes one or more elements that are substitutes for the one or more words in the example statement, and adding into the revised pattern the one or more words in the example statement or the pattern list. - View Dependent Claims (22, 23, 24, 25, 26)
matching the first example statement and the pattern, if it is determined that the first example statement matches the pattern, matching the second example statement and the pattern, and if it is determined that the second example statement does not match the pattern, creating the revised pattern based on the second example statement.
-
-
23. The computer-readable storage medium of claim 21, wherein the example statement includes a first and second example statement, wherein matching the example statement and the pattern comprises:
-
matching the first example statement and the pattern, if it is determined that the first example statement does not match the pattern, revising the pattern based on the first example statement, and matching the second example statement and the revised pattern, and if it is determined that the second example statement does not match the pattern, further revising the pattern based on the second example statement.
-
-
24. The computer-readable storage medium of claim 21, wherein the example statement has one or more phrases, wherein each phrase includes one or more words, and wherein the revised pattern creating step comprises:
-
for each phrase in the example statement, identifying a pattern list for the phrase in the example statement, wherein the pattern list includes one or more elements that are substitutes for the phrase in the example. statement, and adding into the revised pattern the phrase in the example statement or the pattern list.
-
-
25. The computer-readable storage medium of claim 21, wherein identifying a pattern list comprises:
-
iterating through a set of pattern lists; and
for each pattern list, matching the word or words in the example statement to the word or words in the pattern list.
-
-
26. The computer-readable storage medium of claim 25 further comprising:
generating a list of synonyms for the word or words in the example statement using a database containing synonyms.
Specification