Natural language based search engine and methods of use therefor
OwnerJohn Flowers, Martin Quiroga +2inventors
InventorsJohn Flowers, Martin Quiroga, Gordon Fischer, John DeSanto
Life of this patent
Estimating the term…
Abstract
There is provided a search engine or other electronic search application that receives an inputted query in natural language. The search engine then analyzes the query in accordance with the syntactic relationships of the natural language in which it was presented, and generates a result to the query as output. The outputted result is typically an answer, in the form of a sentence or a phrase, along with the document from which the sentence or phrase is taken, including a hypertext link for the document.
Claims60
A method for analyzing a query, comprising:
- receiving a query in natural language;
- and
- providing at least one response to the query in accordance with the relationships of the words to each other in natural language, of the query.
A search engine comprising:
- a first component configured for receiving a query in natural language;
- and
- a second component configured for providing at least one response to the query in accordance with the relationships of the words to each other in natural language, of the query.
A method for isolating data from a corpus, comprising:
- processing at least a portion of the corpus into at least one first collection of syntactic relationships;
- processing at least one query into at least one second collection of syntactic relationships;
- and,
- comparing the at least one second collection of syntactic relationships to the at least one first collection of syntactic relationships.
A method for providing at least one response to at least one query in natural language, comprising:
- populating a data store by obtaining documents from at least a portion of a corpus, isolating sentences from the documents, parsing the sentences into linked pairs of words in accordance with predetermined relationships, assigning concept identifiers to each word of the linked pair of words, assigning concept link identifiers to each pair of concept identifiers corresponding to each linked pair of words, and, combining the concept link identifiers for each sentence into a statement;
- receiving an inputted query in natural language;
- parsing the query into linked pairs of words in accordance with predetermined relationships, assigning concept identifiers to each word of the linked pair of words, assigning concept link identifiers to each pair of concept identifiers corresponding to each linked pair of words, and, combining the concept link identifiers into a query statement;
- analyzing the query statement and the statements in the data store for matches between concept link identifiers;
- isolating statements in the data store having at least one concept link identifier that matches at least one concept link identifier in the query statement;
- and,
- providing at least one sentence corresponding to at least one isolated statement in the data store as a response to the natural language query.
A method for analyzing a query to a search engine, comprising:
- creating related pairs of words in the query;
- assigning concept identifiers to the each of the words in each of the related pairs of words;
- creating pairs of concept identifiers by applying the assigned concept identifiers to each word in the related pairs of words;
- assigning concept link identifiers to each pair of concept identifiers;
- and,
- combining all of the concept link identifiers into a query statement.
A method for analyzing a query to a search engine, placed in natural language, comprising:
- creating related pairs of words from the natural language of the query;
- assigning concept identifiers to the each of the words in each of the related pairs of words;
- creating pairs of concept identifiers by applying the assigned concept identifiers to each word in the related pairs of words;
- assigning concept link identifiers to each pair of concept identifiers;
- and,
- combining all of the concept link identifiers into a query statement.
A method for identifying a document from syntactic relationships:
- electronically maintaining a document database identifying documents;
- electronically maintaining a sentences database identifying sentences of each of the documents;
- electronically maintaining a syntactic relationships database identifying collections of syntactic relationships between pairs of words formed from the words of each of the sentences;
- and,
- electronically linking the document database, the sentences database and the syntactic relationships data base, such that when at least one collection of syntactic relationships is isolated, the corresponding sentence in the sentence database is isolated, and the corresponding document in the document database is isolated from the isolated sentence in the sentence database.
An architecture for isolating data from a corpus, comprising:
- at least one data storage unit including at least one database;
- a database population module in communication with the at least one data storage unit, the database population module configured for;
- processing at least a portion of the corpus into at least one first collection of syntactic relationships;
- and,
- storing the at least one first collection of syntactic relationships in the at least one data storage unit;
- and,
- an answer module in communication with the at least one data storage unit, the answer module configured for;
- processing at least one query into at least one second collection of syntactic relationships;
- and,
- comparing the at least one second collection of syntactic relationships to the at least one first collection of syntactic relationships.
Dependencies are inferred from the claim text.