System and method for processing a query
First Claim
1. A method of processing a query directed to a database, said method comprising the steps of:
- obtaining said query from a user;
disambiguating said query using a knowledge base to obtain a set of identifiable interpretations associated with words in said query;
selecting one interpretation from said set of interpretations as a best interpretation based on a likelihood of intended meaning;
identifying relevant results from said database based on said best interpretation;
expanding said best interpretation to obtain related word meanings for said best interpretation to produce an expanded best interpretation of said query;
comparing said expanded best interpretation of said query to an index associated with said database;
selectively processing remaining interpretations of said set of interpretations by;
re-disambiguating said query by excluding results associated with said best interpretation;
selecting as a next best interpretation a best interpretation from said remaining interpretations;
identifying relevant results from said database related to said next best interpretation; and
identifying a term associated with said next best interpretation which distinguishes said next best interpretation from said best interpretation;
obtaining results from said database based on said expanded best interpretation of said query;
generating a question to said user based on said term to test whether said next best interpretation was the interpretation meant by said user;
obtaining from said user a response to said question to identify an intended interpretation; and
further disambiguating said query based on said user response.
1 Assignment
0 Petitions
Accused Products
Abstract
The invention provides a system and method of processing a query directed to a database. The invention comprises implementing the steps of: obtaining the query from a user; and disambiguating the query using a knowledge base to obtain a set of identifiable senses associated with words in the query. Further if the set comprises more than one identifiable sense, then the following additional steps are executed: selecting one sense from the set as a best sense; utilizing the best sense of the query to identify relevant results from the database related to the best sense; re-disambiguating the remaining senses of the set by excluding results associated with the best sense; selecting a next best sense from the remaining senses; and utilizing the next best sense of the query to identify relevant results from the database related to the next best sense. The invention also provides updates to databases for users, sessions and common data relating to the best identified results for the queries, to improve and personalize disambiguation of subsequent queries by a user.
-
Citations
9 Claims
-
1. A method of processing a query directed to a database, said method comprising the steps of:
-
obtaining said query from a user; disambiguating said query using a knowledge base to obtain a set of identifiable interpretations associated with words in said query; selecting one interpretation from said set of interpretations as a best interpretation based on a likelihood of intended meaning; identifying relevant results from said database based on said best interpretation; expanding said best interpretation to obtain related word meanings for said best interpretation to produce an expanded best interpretation of said query; comparing said expanded best interpretation of said query to an index associated with said database; selectively processing remaining interpretations of said set of interpretations by; re-disambiguating said query by excluding results associated with said best interpretation; selecting as a next best interpretation a best interpretation from said remaining interpretations; identifying relevant results from said database related to said next best interpretation; and identifying a term associated with said next best interpretation which distinguishes said next best interpretation from said best interpretation; obtaining results from said database based on said expanded best interpretation of said query; generating a question to said user based on said term to test whether said next best interpretation was the interpretation meant by said user; obtaining from said user a response to said question to identify an intended interpretation; and further disambiguating said query based on said user response. - View Dependent Claims (2, 4)
-
-
3. A method of processing a query directed to a database, said method comprising the steps of:
-
obtaining said query from a user; disambiguating said query using a knowledge base to obtain a set of identifiable interpretations associated with words in said query; selecting one interpretation from said set as a best interpretation based on a likelihood of intended meaning; selectively processing remaining interpretations of said set of interpretations by; re-disambiguating said query by excluding results associated with said best interpretation; and selecting at least a next best interpretation from said remaining interpretations to form set of re-disambiguated remaining interpretations; for said best interpretation and each member of said second set of re-disambiguated remaining interpretations; expanding and paraphrasing its associated interpretation to obtain semantically related interpretations to produce an expanded interpretation of the query; comparing the expanded interpretation of the query to an index associated with said database; and obtaining results from said database based on said expanded interpretation; obtaining from said user an indication of which result from all results returned from said database corresponds to the intended interpretation of said query; and further disambiguating said query based on said indication. - View Dependent Claims (5)
-
-
6. A method of processing a query directed to a database, said method comprising the steps of:
-
obtaining said query from a user; disambiguating said query using a knowledge base to obtain a set of meanings for words in said query and to obtain a set of interpretations of said query, each of said interpretations comprising a collection of word meanings; ranking said set of interpretations based on a likelihood of intended meaning, wherein the highest ranked interpretation comprises a best interpretation; identifying relevant results from said database based on said best interpretation; expanding said best interpretation to obtain related word meanings for said best interpretation to produce an expanded best interpretation of said query; comparing said expanded best interpretation of said query to an index associated with said database; selectively processing remaining interpretations of said set of interpretations by; re-disambiguating said query by excluding results associated with said best interpretation; selecting as a next best interpretation a best interpretation from said remaining interpretations; identifying relevant results from said database based on said next best interpretation; and identifying a term associated with said next best interpretation which distinguishes said next best interpretation from said best interpretation; obtaining results from said database based on said expanded best interpretation of said query; generating a question to said user based on said term to test whether said next best interpretation was the interpretation meant by said user; obtaining from said user a response to said question to identify an intended interpretation; and further disambiguating said query based on said user response.
-
-
7. A method of processing a query directed to a database, said method comprising the steps of:
-
obtaining said query from a user; disambiguating said query using a knowledge base to obtain a set of meanings for words in said query and to obtain a first set of interpretations of said query, each of said interpretations comprising a collection of word meanings; ranking said set of interpretations based on a likelihood of intended meaning, wherein the highest ranked interpretation comprises a best interpretation; selectively processing remaining interpretations of said set of interpretations by; re-disambiguating said query by excluding results associated with said best interpretation; and selecting at least a next best interpretation from said remaining interpretations to form a second set of interpretations; for said best interpretation and each member of said second set of interpretations; expanding and paraphrasing its associated meaning to obtain semantically related meanings to produce an expanded interpretation of the query; comparing the expanded interpretation of the query to an index associated with said database; and obtaining results from said database based on said expanded interpretation; obtaining from said user an indication of which result from all results returned from said database is an intended interpretation of said query; and further re-disambiguating said query based on said indication.
-
-
8. A system for processing a query directed to a database, said system comprising:
-
an input means operable to receive said query from a user; an output means operable to provide results responsive to the query; a database comprising a store of encoded information and a knowledge base; a processor operable to; disambiguate said query using said knowledge base to obtain a set of interpretations of said query, each of said interpretations comprising a collection of related word meanings of words in the query; select one interpretation from said set of interpretations as a best interpretation based on a likelihood of intended meaning; identify relevant results from said database based on said best interpretation; expand said best interpretation to obtain related word meanings for said best interpretation to produce an expanded best interpretation of said query; compare said expanded best interpretation of said query to an index associated with said database; selectively process remaining interpretations of said set of interpretations by; re-disambiguating said query by excluding results associated with said best interpretation; selecting as a next best interpretation a best interpretation from said remaining interpretations; identifying relevant results from said database related to said next best interpretation; and identifying a term associated with said next best interpretation which distinguishes said next best interpretation from said best interpretation; obtain results from said database based on said expanded best interpretation of said query; generate a question to said user based on said term to test whether said next best interpretation was the interpretation meant by said user; obtain from said user a response to said question to identify an intended interpretation; and to further disambiguate said query based on said user response.
-
-
9. A system for processing a query directed to a database, said system comprising:
-
an input means operable to receive said query from a user; an output means operable to provide results responsive to the query; a database comprising a store of encoded information and a knowledge base; a processor operable to; disambiguate said query using said knowledge base to obtain a set of interpretations of said query, each of said interpretations comprising a collection of related word meanings of words in the query; select one interpretation from said set of interpretations as a best interpretation based on a likelihood of intended meaning; selectively process remaining interpretations of said set of interpretations by; re-disambiguating said query by excluding results associated with said best interpretation; and
,selecting at least a next best interpretation from said remaining interpretations to form set of re-disambiguated remaining interpretations; for said best interpretation and each member of said second set of re- disambiguated remaining interpretations; expand and paraphrase its associated interpretation to obtain semantically related interpretations to produce an expanded interpretation of the query; compare the expanded interpretation of the query to an index associated with said database; and obtain results from said database based on said expanded interpretation; obtain from said user an indication of which result from all results returned from said database corresponds to the intended interpretation of said query; and to further disambiguate said query based on said indication.
-
Specification