Extending keyword searching to syntactically and semantically annotated data
First Claim
1. A method in a computing system for performing enhanced electronic relationship searches on a corpus of documents, comprising:
- receiving a designated query indicating one or more terms;
in response to the received designated query, determining a plurality of matching rules that correspond to at least one indicated term of the designated query, each rule including a term used to decide whether the designated query matches the rule and including a relationship search specification string that specifies syntax for a corresponding relationship search to be executed as a search against the corpus when the rule is matched, the relationship search indicating one or more terms and associated syntactic and/or semantic information used to convey how the one or more terms are to be understood in relation to the corpus;
for each of the plurality of determined matching rules, determining and executing the corresponding relationship search specified by the relationship search specification string in parallel against the corpus to validate whether the corresponding relationship search produces a successful result, thereby causing multiple different relationship searches to be executed against the same corpus in response to a same designated query at the same time; and
for each of a plurality of the executed corresponding relationship searches that have been validated as producing a successful result, forwarding an indication of the corresponding relationship search as a suggested search tip, each suggested search tip indicative of a different relationship search applicable to the same designated query.
5 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems for extending keyword searching techniques to syntactically and semantically annotated data are provided. Example embodiments provide a Syntactic Query Engine (“SQE”) that parses, indexes, and stores a data set as an enhanced document index with document terms as well as information pertaining to the grammatical roles of the terms and ontological and other semantic information. In one embodiment, the enhanced document index is a form of term-clause index, that indexes terms and syntactic and semantic annotations at the clause level. The enhanced document index permits the use of a traditional keyword search engine to process relationship queries as well as to process standard document level keyword searches.
-
Citations
41 Claims
-
1. A method in a computing system for performing enhanced electronic relationship searches on a corpus of documents, comprising:
-
receiving a designated query indicating one or more terms; in response to the received designated query, determining a plurality of matching rules that correspond to at least one indicated term of the designated query, each rule including a term used to decide whether the designated query matches the rule and including a relationship search specification string that specifies syntax for a corresponding relationship search to be executed as a search against the corpus when the rule is matched, the relationship search indicating one or more terms and associated syntactic and/or semantic information used to convey how the one or more terms are to be understood in relation to the corpus; for each of the plurality of determined matching rules, determining and executing the corresponding relationship search specified by the relationship search specification string in parallel against the corpus to validate whether the corresponding relationship search produces a successful result, thereby causing multiple different relationship searches to be executed against the same corpus in response to a same designated query at the same time; and for each of a plurality of the executed corresponding relationship searches that have been validated as producing a successful result, forwarding an indication of the corresponding relationship search as a suggested search tip, each suggested search tip indicative of a different relationship search applicable to the same designated query. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A computer-readable medium containing instructions that, when executed, control a computer processor to provide search navigation tips by performing a method comprising:
-
receiving a designated query indicating one or more terms; in response to the received designated query, determining a plurality of matching rules that correspond to at least one indicated term of the designated query, each rule including a term used to decide whether the designated query matches the rule and including a relationship search specification string that specifies syntax for a corresponding relationship search to be executed as a search against the corpus when the rule is matched, the relationship search indicating one or more terms and associated syntactic and/or semantic information used to convey how the one or more terms are to be understood in relation to the corpus; for each of the plurality of determined matching rules, determining and executing the corresponding relationship search specified by the relationship search specification string asynchronously against the corpus to validate whether the corresponding relationship search produces a successful result, thereby causing multiple different relationship searches to be executed against the same corpus in response to a same designated query at the same time; and for each of a plurality of the executed corresponding relationship searches that have been validated as producing a successful result, forwarding an indication of the corresponding relationship search as a suggested search tip, each suggested search tip indicative of a different relationship search applicable to the same designated query. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A relationship search navigation tip engine comprising:
-
a computer processor; a data repository configured to maintain rules that map between one or more relationship query components and corresponding relationship query specification strings that specify syntax for corresponding relationship queries to be executed as searches against a corpus when the corresponding rule is matched; a storage medium comprising a tip search manager that, when executed on the computer processor, is configured to parse the rules stored in the data repository to generate rule mappings between potential input queries and corresponding relationship searches to be executed, each relationship search indicating one or more terms and associated syntactic and/or semantic information used to convey how the one or more terms are to be understood in relation to the corpus; and a storage medium comprising a tip searcher that, when executed on the computer processor, is configured to receive an input query, determine, using the tip search manager, a plurality of rule mappings that correspond to the input query by matching a term of the input query to a plurality of the stored rules, execute the plurality of different corresponding relationship search queries that are specified by the relationship search specification strings of the determined plurality of rule mappings to generate corresponding search results, and return indications to the executed relationship searches that generated successful corresponding search results. - View Dependent Claims (32, 33, 34, 35, 36)
-
-
37. A computer-implemented method for performing a relationship search against a corpus of documents comprising:
-
receiving from a user a relationship query indicating one or more terms and semantic and/or syntactic information associated with the one or more terms, the received relationship query including a separate document constraint portion, the terms and associated semantic and/or syntactic information specifying what relationships in one or more documents of the corpus will match the query using, at least in part, the indicated semantic and/or syntactic information, the document constraint portion specifying a document constraint operator symbol or phrase and a designated ontology path specification; executing a relationship search against the corpus of documents for a designated entity and/or designated action of the received relationship query to yield a plurality of indications of documents in the corpus, where each indicated document contains at least one relationship involving the designated entity and/or designated action as specified by the indicated terms and associated semantic and/or syntactic information indicated by the query; as a filter of results obtained by executing the relationship search, determining whether each of the indicated documents also contains a term that matches the designated ontology path specification of the document constraint portion of the received indicated relationship query; and for each determined document that satisfies the document constraint portion, returning an indication of the document as a successful result of the relationship search.
-
-
38. A computer-implemented method for performing a relationship search against a corpus of documents comprising:
-
receiving from a user a designated relationship query indicating one or more terms and semantic and/or syntactic information associated with the one or more terms, the received designated relationship query including a separate context operator portion, the terms and associated semantic and/or syntactic information specifying what relationships in one or more documents of the corpus will match the query using, at least in part, the indicated semantic and/or syntactic information, the context portion specifying a context operator symbol or phrase and an entity and/or an action; executing a relationship search that corresponds to the designated relationship search query to yield one or more indications of documents in the corpus, where each document contains at least one sentence or clause that matches the relationship specified by the indicated terms and associated semantic and/or syntactic information of the designated relationship query; and predetermining a number of sentences or clauses for determining a surrounding context for use with the context operator portion of the designated relationship query; for each indicated document, determining whether the context surrounding the at least one matching sentence or clause, within the predetermined number of sentences or clauses before or after the at least one matching sentence or clause, further matches the entity or the action specified by the context operator portion of the designated relationship query, wherein the context is a sentence or clause that is distinct from the at least one matching sentence or clause. - View Dependent Claims (39, 40, 41)
-
Specification