System and method to answer a question
First Claim
1. A database-processing method of answering a natural-language question by a computer system with a database, the method comprising the steps of:
- analyzing, by the system, the grammatical structure of the natural-language question for parsing the question into its grammatical components based on a pre-defined context-free grammatical structure, using the database and one or more grammatical rules; and
transforming, by the system, at least one component into one or more instructions, using one or more semantic rules and the database, for generating the answer to the natural-language question;
whereinthe step of analyzing includes the steps of;
scanning the question to extract each word in the question; and
parsing the question by applying the grammatical rules and the database on each of the extracted word to identify its grammatical meaning and to match the question with the pre-defined grammatical structure;
a word in the question is not in the database; and
the method further comprises the steps of replacing the word with a word in the database with a minimal number of different characters from the word not in the database.
14 Assignments
0 Petitions
Accused Products
Abstract
A database-processing method and system for answering a natural-language question by a computer system with a database. In one embodiment, the system analyzes the grammatical structure of the question. In the analysis, the system scans the question to extract each word in the question; then based on a pre-defined context-free grammatical structure, the question is parsed into its grammatical components using one or more grammatically rules and the database. After parsing the question, the system transforms the components into one or more instructions, using one or more semantic rules and the database. The instructions, when executed, at least access data from the database for generating the answer to the natural-language question. In another embodiment, the system compares the natural-language question with questions stored in the database; each question in the database has its corresponding answer. If there is a match, the system retrieves the answer to the corresponding matched question and presents the answer to the student.
382 Citations
25 Claims
-
1. A database-processing method of answering a natural-language question by a computer system with a database, the method comprising the steps of:
-
analyzing, by the system, the grammatical structure of the natural-language question for parsing the question into its grammatical components based on a pre-defined context-free grammatical structure, using the database and one or more grammatical rules; and transforming, by the system, at least one component into one or more instructions, using one or more semantic rules and the database, for generating the answer to the natural-language question; wherein the step of analyzing includes the steps of; scanning the question to extract each word in the question; and parsing the question by applying the grammatical rules and the database on each of the extracted word to identify its grammatical meaning and to match the question with the pre-defined grammatical structure; a word in the question is not in the database; and the method further comprises the steps of replacing the word with a word in the database with a minimal number of different characters from the word not in the database. - View Dependent Claims (2, 3, 5, 6, 9, 16)
-
-
4. A database-processing method of answering a natural-language question by a computer system with a database, the method comprising the steps of:
-
analyzing, by the system, the grammatical structure of the natural-language question for parsing the question into its grammatical components based on a pre-defined context-free grammatical structure, using the database and one or more grammatical rules; transforming, by the system, at least one component into one or more instructions, using one or more semantic rules and the database, for generating the answer to the natural-language question; wherein the step of analyzing includes the steps of; scanning the question to extract each word in the question; and parsing the question by applying the grammatical rules and the database on each of the extracted word to identify its grammatical meaning and to match the question with the pre-defined grammatical structure; and the pre-defined grammatical structure includes an interrogative pronoun, followed by an auxiliary verb, which is followed by a noun-phrase; the noun-phrase includes a group-of-nouns followed by a prepositional-noun-phrase; the group-of-nouns includes a modify-article followed by an adjective followed by one or more nouns; the prepositional-noun-phrase includes a preposition followed by a noun-phrase; the question further includes a verb-phrase following the noun-phrase; and the verb-phrase includes a non-auxiliary verb followed by a prepositional-noun-phrase.
-
-
7. A database-processing method of answering a natural-language question by a computer system with a database, the method comprising the steps of:
-
analyzing, by the system, the grammatical structure of the natural-language question for parsing the question into its grammatical components based on a pre-defined context-free grammatical structure, using the database and one or more grammatical rules; and transforming, by the system, at least one component into one or more instructions, using one or more semantic rules and the database, for generating the answer to the natural-language question; wherein the step of analyzing includes the steps of; scanning the question to extract each word in the question; and parsing the question by applying the grammatical rules and the database on each of the extracted word to identify its grammatical meaning and to match the question with the pre-defined grammatical structure; one grammatical component is a non-auxiliary verb; the database includes an event table containing a plurality of non-auxiliary verbs, with each verb including one or more attributes; the step of transforming includes the steps of; transforming said non-auxiliary verb into one or more instructions to select, from the event table, one or more non-auxiliary verbs having similar meaning with said non-auxiliary verb in the question; and transforming the grammatical components in the question other than the component that is said non-auxiliary verb into one or more instructions for at least identifying data in the selected attributes.
-
-
8. A database-processing method of answering a natural-language question by a computer system with a database, the method comprising the steps of:
-
analyzing, by the system, the grammatical structure of the natural-language question for parsing the question into its grammatical components based on a pre-defined context-free grammatical structure, using the database and one or more grammatical rules; and transforming, by the system, at least one component into one or more instructions, using one or more semantic rules and the database, for generating the answer to the natural-language question; wherein the step of analyzing includes the steps of; scanning the question to extract each word in the question; and parsing the question by applying the grammatical rules and the database on each of the extracted word to identify its grammatical meaning and to match the question with the pre-defined grammatical structure; one grammatical component is an interrogative pronoun; the database includes one or more topic-related tables; each table includes one or more attributes; the grammatical components in the question other than the component that is the interrogative pronoun have selected one or more tables; the step of transforming includes the step of transforming the pronoun into one or more instructions for at least identifying one or more attributes in the one or more selected tables.
-
-
10. A database-processing method of answering a natural-language question by a computer system with a database, the method comprising the steps of:
-
analyzing, by the system, the grammatical structure of the natural-language question for parsing the question into its grammatical components based on a pre-defined context-free grammatical structure, using the database and one or more grammatical rules; and transforming, by the system, at least one component into one or more instructions, using one or more semantic rules and the database, for generating the answer to the natural-language question; wherein the step of analyzing includes the steps of; scanning the question to extract each word in the question; and parsing the question by applying the grammatical rules and the database on each of the extracted word to identify its grammatical meaning and to match the question with the pre-defined grammatical structure; and the database includes one or more tables; each table includes one or more attributes; each attribute identifies a plurality of data; one grammatical component is an adjective; the adjective is mapped to an algorithm; at least one of the grammatical components in the question other than the component that is the adjective has selected one or more tables; and the step of transforming includes the steps of identifying one or more attributes in the one or more selected tables for the algorithm to operate on the data in those attributes.
-
-
11. A database-processing method of answering a natural-language question by a computer system with a database, the method comprising the steps of:
-
analyzing, by the system, the grammatical structure of the natural-language question for parsing the question into its grammatical components based on a pre-defined context-free grammatical structure, using the database and one or more grammatical rules; and transforming, by the system, at least one component into one or more instructions, using one or more semantic rules and the database, for generating the answer to the natural-language question; wherein the step of analyzing includes the steps of; scanning the question to extract each word in the question; and parsing the question by applying the grammatical rules and the database on each of the extracted word to identify its grammatical meaning and to match the question with the pre-defined grammatical structure; and the database includes one or more tables; each table includes a plurality of data; one grammatical component is a preposition; the preposition is mapped to an algorithm; and at least one of the grammatical components in the question other than the component that is the preposition has selected one or more tables for the algorithm to operate on the data in those tables.
-
-
12. A database-processing method of answering a natural-language question by a computer system with a database, the method comprising the steps of:
-
analyzing, by the system, the grammatical structure of the natural-language question for parsing the question into its grammatical components based on a pre-defined context-free grammatical structure, using the database and one or more grammatical rules; and transforming, by the system, at least one component into one or more instructions, using one or more semantic rules and the database, for generating the answer to the natural-language question; wherein the step of analyzing includes the steps of; scanning the question to extract each word in the question; and parsing the question by applying the grammatical rules and the database on each of the extracted word to identify its grammatical meaning and to match the question with the pre-defined grammatical structure; and one grammatical component is a preposition; and the step of transforming includes the step of determining by the preposition a grammatical component being processed before another grammatical component.
-
-
13. A database-processing method of answering a natural-language question by a computer system with a database, the method comprising the steps of:
-
analyzing, by the system, the grammatical structure of the natural-language question for parsing the question into its grammatical components based on a pre-defined context-free grammatical structure, using the database and one or more grammatical rules; and transforming, by the system, at least one component into one or more instructions, using one or more semantic rules and the database, for generating the answer to the natural-language question; wherein the step of analyzing includes the steps of; scanning the question to extract each word in the question; and parsing the question by applying the grammatical rules and the database on each of the extracted word to identify its grammatical meaning and to match the question with the pre-defined grammatical structure; and an extracted word in the question has more than one grammatical meaning; and the method further comprises the step of producing an answer for each meaning if there is one.
-
-
14. A database-processing method of answering a natural-language question by a computer system with a database, the method comprising the steps of:
-
analyzing, by the system, the grammatical structure of the natural-language question for parsing the question into its grammatical components based on a pre-defined context-free grammatical structure, using the database and one or more grammatical rules; and transforming, by the system, at least one component into one or more instructions, using one or more semantic rules and the database, for generating the answer to the natural-language question; wherein the step of analyzing includes the steps of; scanning the question to extract each word in the question; and parsing the question by applying the grammatical rules and the database on each of the extracted word to identify its grammatical meaning and to match the question with the pre-defined grammatical structure; and a word in the question is not in the database; and the method further comprises the step of removing the word from the question to generate an answer for the remaining words in the question.
-
-
15. A database-processing method of answering a natural-language question by a computer system with a database, the method comprising the steps of:
-
analyzing, by the system, the grammatical structure of the natural-language question for parsing the question into its grammatical components based on a pre-defined context-free grammatical structure, using the database and one or more grammatical rules; and transforming, by the system, at least one component into one or more instructions, using one or more semantic rules and the database, for generating the answer to the natural-language question; wherein the step of analyzing includes the steps of; scanning the question to extract each word in the question; and parsing the question by applying the grammatical rules and the database on each of the extracted word to identify its grammatical meaning and to match the question with the pre-defined grammatical structure; and the pre-defined grammatical structure includes a non-essential grammatical component; and if the grammatical components of the question do not include the non-essential grammatical component, the method further comprises the step of ignoring the non-essential grammatical component in generating the answer.
-
-
17. A database-processing method of answering a question by a computer system with a database that includes many questions, each with its corresponding answer, the method comprising the steps of:
-
comparing the question with questions in the database; and if there is a match, retrieving the answer corresponding to the matched question in the databases; wherein; said question is a natural-language question; each question includes more than one grammatical component; each question includes essential and non-essential grammatical components; before the step of comparing, the method further comprises the step of extracting the grammatical components from the natural-language question; the step of comparing includes the steps of; comparing the grammatical components of the natural-language question with the grammatical components of the questions in the database; and comparing the essential components of the natural-language question with the essential components of the questions in the database.
-
-
18. A database-processing method of answering a natural-language question by a computer system with a database, the method comprising the steps of:
-
analyzing, by the system, the grammatical structure of the natural-language question for parsing the question into its grammatical components based on a pre-defined context-free grammatical structure, using the database and one or more grammatical rules; transforming, by the system, at least one component into one or more instructions, using one or more semantic rules and the database, for generating the answer to the natural-language question; if the question cannot be parsed into its grammatical components based on the pre-defined structure, then comparing the natural-language question with questions in the database; and if there is a match, retrieving the answer corresponding to the matched question in the database.
-
-
19. A database-processing method of answering a natural-language question by a computer system with a database, the method comprising the steps of:
-
analyzing, by the system, the grammatical structure of the natural-language question for parsing the question into its grammatical components based on a pre-defined context-free grammatical structure, using the database and one or more grammatical rules; and transforming, by the system, at least one component into one or more instructions, using one or more semantic rules and the database, for generating the answer to the natural-language question; wherein the step of analyzing includes the steps of; scanning the question to extract each word in the question; and parsing the question by applying the grammatical rules and the database on each of the extracted word to identify its grammatical meaning and to match the question with the pre-defined grammatical structure; and an extracted word in the question has more than one meaning; and the method further comprises the step of producing an answer for each meaning if there is one. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
Specification