System for semantic interpretation
First Claim
1. A method comprising:
- receiving by one or more text processors, text from one or more text sources;
converting, by the one or more text processors, the text into a plurality of intermediate logical statements that abstract over the syntactic form of information in the text;
converting, by the one or more text processors using a semantic model, each intermediate logical statement into a semantic representation that equates intermediate logical statements having equivalent meaningssuch thatthe semantic model comprises a plurality of frames, each frame representing a relation or event and comprising one or more variables serving roles in the relation or event and each frame comprising one or more equivalent patterns, each pattern having a form of an intermediate logical statement including at least one variable and comprising a definition of a logical form that corresponds to a plurality of logically equivalent grammatical forms;
sending, by one or more text processors, the semantic representation to a semantic database configured to store the semantic representation;
receiving a query from a computing device;
converting the query, by one or more query processors, connected to the semantic database into one or more semantic subqueries;
matching, by the semantic database, each semantic subquery to stored semantic representations and joining results as appropriate to determine one or more answers to the query;
sending, by the one or more query processors, the one or more answers to the computing device from which the query was received.
2 Assignments
0 Petitions
Accused Products
Abstract
A semantic database is generated to provide answers to questions by users. Text processors can receive text from text sources, and can convert the text into intermediate logical statements. The text processors can then convert these statements into unambiguous semantic representations. A semantic database connected to the text processors can store the semantic representations. Query processors connected to the semantic database can receive a question from a computing device operated by a user, and can convert the question into intermediate logical subqueries. The query processors can then use a disambiguation table to generate unambiguous semantic subqueries from these intermediate logical subqueries. Using the semantic database, the query processors can match each semantic subquery to the stored semantic representation, and join results of the matching as appropriate, to determine one or more answers to the question. The query processors can send the one or more answers to the computing device.
22 Citations
29 Claims
-
1. A method comprising:
-
receiving by one or more text processors, text from one or more text sources; converting, by the one or more text processors, the text into a plurality of intermediate logical statements that abstract over the syntactic form of information in the text; converting, by the one or more text processors using a semantic model, each intermediate logical statement into a semantic representation that equates intermediate logical statements having equivalent meanings such that the semantic model comprises a plurality of frames, each frame representing a relation or event and comprising one or more variables serving roles in the relation or event and each frame comprising one or more equivalent patterns, each pattern having a form of an intermediate logical statement including at least one variable and comprising a definition of a logical form that corresponds to a plurality of logically equivalent grammatical forms; sending, by one or more text processors, the semantic representation to a semantic database configured to store the semantic representation; receiving a query from a computing device; converting the query, by one or more query processors, connected to the semantic database into one or more semantic subqueries; matching, by the semantic database, each semantic subquery to stored semantic representations and joining results as appropriate to determine one or more answers to the query;
sending, by the one or more query processors, the one or more answers to the computing device from which the query was received. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method comprising:
-
receiving by one or more text processors text for one or more text sources; converting, by one or more text processors, the text into a plurality of intermediate logical statements that abstract over syntactic form of information in the text, wherein the converting of the text into intermediate logical statements of the text by the one or more text processors comprises one or more of, parsing the text into a parse tree; extracting and labeling named entities; resolving entity mentions within and across documents for coreference; disambiguating word senses, so as to assign sense identifiers to words; replacing relative pronouns in the parse tree with corresponding referents; replacing entity mentions including pronouns and definite nominal in the parse tree with canonical mentions; identifying intermediate logical statements from at least one of verbs, verbals, appositives, event nouns, possessives, and special constructs in the parse tree; identifying for each intermediate logical statement the corresponding logical subjects, logical objects, prepositional phrases, and other modifiers from the parse tree; converting possessives from the parse tree into prepositional forms; converting indirect objects from the parse tree into prepositional forms; and distributing over conjunctions in the parse tree; and
sub-substituting variables for subordinate clauses in the parse tree;converting, by the one or more text processors using a semantic model, each intermediate logical statement into a semantic representation that equates logical statements having equivalent meanings; sending, by one or more text processors, the semantic representation to a semantic database configured to store the semantic representation; receiving a query from a computing device; converting the query, by one or more query processors, connected to the semantic database into one or more semantic subqueries; matching, by the semantic database, each semantic subquery to stored semantic representations and joining results as appropriate to determine one or more answers to the query; and sending, by the one or more query processors, the one or more answers to the computing device from which the query was received.
-
-
13. A method comprising:
-
receiving by one or more text processors, text from one or more text sources; converting, by the one or more text processors, the text into a plurality of intermediate logical statements that abstract over the syntactic form of information in the text; converting, by the one or more text processors using a semantic model, each intermediate logical statement into a semantic representation that equates intermediate logical statements having equivalent meanings such that the semantic model comprises a plurality of frames, each frame representing a relation or event and comprising one or more variables serving roles in the relation or event and each frame comprising one or more equivalent patterns, each pattern having a form of an intermediate logical statement including at least one variable and comprising a definition of a logical form that corresponds to a plurality of logically equivalent grammatical forms; sending, by one or more text processors, the semantic representation to a semantic database configured to store the semantic representation; receiving a query from a computing device; converting the query, by one or more query processors, connected to the semantic database into one or more semantic subqueries; matching, by the semantic database, each semantic subquery to stored semantic representations and joining results as appropriate to determine one or more answers to the query;
sending, by the one or more query processors, the one or more answers to the computing device from which the query was receivedwherein the conversion of each intermediate logical statement into the semantic representation by the one or more text processors comprises; receiving the intermediate logical statement; identifying candidate interpretations associated with the intermediate logical statement, a candidate interpretation being characterized by a frame, bindings for some or all variables of the frame, and possibly supplemental modifiers; and selecting, from the candidate interpretations, a best interpretation based on at least one of variable type compatibility and likelihood, the best interpretation characterizing the semantic representation; wherein the conversion of each intermediate logical statement into the semantic representation by the one or more text processors further comprises; specializing the selected interpretation to a narrower meaning as applicable based on at least one of variable type compatibility and likelihood; deducing any applicable lateral implications from the specialized interpretation; and recursively specializing and deducing lateral implications for each new fact concluded from a lateral implication in order to generate the semantic representation.
-
-
14. A method comprising:
-
receiving by one or more text processors, text from one or more text sources; converting, by the one or more text processors, the text into a plurality of intermediate logical statements that abstract over the syntactic form of information in the text; converting, by the one or more text processors using a semantic model, each intermediate logical statement into a semantic representation that equates intermediate logical statements having equivalent meanings such that the semantic model comprises a plurality of frames, each frame representing a relation or event and comprising one or more variables serving roles in the relation or event and each frame comprising one or more equivalent patterns, each pattern having a form of an intermediate logical statement including at least one variable and comprising a definition of a logical form that corresponds to a plurality of logically equivalent grammatical forms; sending, by one or more text processors, the semantic representation to a semantic database configured to store the semantic representation; receiving a query from a computing device; converting the query, by one or more query processors, connected to the semantic database into one or more semantic subqueries; matching, by the semantic database, each semantic subquery to stored semantic representations and joining results as appropriate to determine one or more answers to the query;
sending, by the one or more query processors, the one or more answers to the computing device from which the query was received;wherein the conversion of each intermediate logical statement into the semantic representation by the one or more text processors comprises; receiving the intermediate logical statement; identifying candidate interpretations associated with the intermediate logical statement, a candidate interpretation being characterized by a frame, bindings for some or all variables of the frame, and possibly supplemental modifiers; and selecting, from the candidate interpretations, a best interpretation based on at least one of variable type compatibility and likelihood, the best interpretation characterizing the semantic representation; wherein identifying the candidate interpretations by the one or more text processors comprises; identifying matching pattern forms, a pattern form of the matching pattern forms being a pattern with wildcard characters in place of variables to indicate that the variables are undistinguished; selecting, from the identified pattern forms, a pattern form that binds to the most elements of the intermediate logical statement and is maximally specific to the intermediate logical statement; identifying patterns in frames that match the selected pattern form; and determining interpretations given by each matching pattern, the determined interpretations being the candidate interpretations.
-
-
15. A method comprising:
-
receiving, by one or more query processors, a question from a computing device; converting, by one or more query processors, the question into one or more intermediate logical subqueries that abstract over the syntactic form of the question;
wherein the conversion of the question into the intermediate logical subqueries by the one or more query processors comprises one or more of;parsing the question into a parse tree; converting the parse tree into a declarative form; identifying explicit and implicit query variables in the parse tree; replacing relative pronouns in the parse tree with corresponding referents; replacing entity mentions including pronouns and definite nominals in the parse tree statements with canonical mentions; identifying intermediate logical subqueries from at least one of verbs, verbals, appositives, event nouns, possessives, and special constructs in the parse tree; identifying, for each intermediate logical subquery, corresponding logical subjects, logical objects, prepositional phrases, and other modifiers from the parse tree; converting possessives from the parse tree into prepositional forms; converting indirect objects from the parse tree into prepositional forms; and distributing over conjunctions in the parse tree; and
substituting variables for subordinate clauses in the parse tree;converting, by the one or more query processors, each intermediate logical subquery into a semantic subquery in a representation that equates intermediate logical subqueries having equivalent meanings; sending, by one or more query processors, the semantic query to the database, the semantic query being one or more semantic subqueries joined together; retrieving, by one or more database processors, facts from the database that match the semantic subqueries; joining, by one or more database processors, the facts when necessary to generate one or more answers to the question; returning by one or more database processors, the joined facts to the one or more query processors; and sending, by one or more query processors, the one or more answers to the computing device. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A system comprising:
-
one or more text processors receiving text from one or more text sources, the one or more text processors converting the text into intermediate logical statements that abstract over syntactic form, the one or more text processors converting each intermediate logical statement into a semantic representation that equates intermediate logical statements having equivalent meanings; a semantic database connected to the one or more text processors, the semantic database receiving the semantic representation from the one or more text processors, the semantic database storing the semantic representation; one or more query processors connected to the semantic database, the one or more query processors receiving a question from a computing device, the one or more query processors converting the question into one or more intermediate logical subqueries that abstract over syntactic form, the one or more query processors converting each intermediate logical subquery into a semantic subquery in a representation that equates intermediate logical subqueries having equivalent meanings, wherein the converting into a semantic subquery uses a semantic model that comprises a plurality of frames, each frame representing a relation or event and comprising one or more variables serving roles in the relation or event and each frame comprising one or more equivalent patterns, each pattern having a form of an intermediate statement including at least one variable and comprising a definition of a logical form that corresponds to a plurality of logically equivalent grammatical forms, the semantic database matching each semantic subquery to the stored semantic representations and joining results as appropriate to determine one or more answers to the question, the one or more query processors sending the one or more answers to the computing device that outputs the one or more answers.
-
-
25. A system comprising:
-
one or more text processors receiving text from one or more text sources, the one or more text processors converting the text into intermediate logical statements that abstract over syntactic form and converting each logical statement into a semantic representation that equates logical statements that have equivalent meanings, wherein the converting into a semantic representation uses a semantic model that comprises a plurality of frames, each frame representing a relation or event and comprising one or more variables serving roles in the relation or event and each frame comprising one or more equivalent patterns, each pattern having a form of an intermediate statement including at least one variable and comprising a definition of a logical form that corresponds to a plurality of logically equivalent grammatical forms; a semantic database connected to the one or more text processors and receiving and storing the semantic representation; and one or more query processors connected to the semantic database, the one or more query processors receiving a query from a computing device and converting the query into one or more semantic subqueries, wherein the semantic database matches each semantic subquery to stored semantic representations and joins results to determine one or more answers to the query, the one or more query processors sending the determined one or more answers to the computing device. - View Dependent Claims (26, 27, 28, 29)
-
Specification