System and method for natural language processing of sentence based queries
DCFirst Claim
Patent Images
1. A distributed method of recognizing and responding in real time to a user question posed within an application program executing on a client device, comprising:
- receiving query data generated by the client device over a network;
considering a context experienced by a user within the application and loading one or both of appropriate grammars or dictionaries for the context;
processing the query data at a server device to form a query text associated with the user question using the appropriate grammars and dictionaries;
submitting the query text to a database query engine and a natural language engine;
processing the query text using the natural language engine to identify any word phrases in the query text;
retrieving a first set of question/answer pairs from a question/answer pair database using the database query engine;
forming a combined query to a question/answer pair database using the database query engine, the combined query being based on the query text concatenated with the word phrases and retrieving a second set of question/answer pairs using the combined query;
evaluating the first and second sets of question/answer pairs by comparing word phrases in the sets of question/answer pairs with the word phrases from the query text to identify at least one question/answer pair that best matches the user question; and
providing an answer to the user question in real-time over a distributed query system, the answer being determined from the question/answer pair that best matches the user question.
3 Assignments
Litigations
0 Petitions
Accused Products
Abstract
Sentence based queries from a user are analyzed using a natural language engine to determine appropriate answers from an electronic database. The system and methods are useful for Internet based search engines, as well as distributed speech recognition systems such as a client-server system. The latter are typically implemented on an intranet or over the Internet based on user queries at his/her computer, a PDA, or a workstation using a speech input interface.
834 Citations
20 Claims
-
1. A distributed method of recognizing and responding in real time to a user question posed within an application program executing on a client device, comprising:
-
receiving query data generated by the client device over a network; considering a context experienced by a user within the application and loading one or both of appropriate grammars or dictionaries for the context; processing the query data at a server device to form a query text associated with the user question using the appropriate grammars and dictionaries; submitting the query text to a database query engine and a natural language engine; processing the query text using the natural language engine to identify any word phrases in the query text; retrieving a first set of question/answer pairs from a question/answer pair database using the database query engine; forming a combined query to a question/answer pair database using the database query engine, the combined query being based on the query text concatenated with the word phrases and retrieving a second set of question/answer pairs using the combined query; evaluating the first and second sets of question/answer pairs by comparing word phrases in the sets of question/answer pairs with the word phrases from the query text to identify at least one question/answer pair that best matches the user question; and providing an answer to the user question in real-time over a distributed query system, the answer being determined from the question/answer pair that best matches the user question. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A distributed method of recognizing and responding in real time to a user question posed within an application program executing on a client device, comprising:
-
receiving query data generated by the client device over a network; considering a context experienced by a user within the application and loading one or both of appropriate grammars or dictionaries for the context; processing the query data at a server device to form a query text associated with the user question using the appropriate grammars and dictionaries; submitting the query text to a database query engine and a natural language engine so as to simultaneously process the query text using the natural language engine to identify any word phrases in the query text, and retrieve a first set of question/answer pairs from a question/answer pair database using the database query engine; forming a combined query to a question/answer pair database using the database query engine, the combined query being based on the query text concatenated with the word phrases and retrieving a second set of question/answer pairs using the combined query; evaluating the first and second sets of question/answer pairs by comparing word phrases in the sets of question/answer pairs with the word phrases from the query text to identify at least one question/answer pair that best matches the user question; and providing an answer to the user question in real-time over a distributed query system, the answer being determined from the question/answer pair that best matches the user question. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A distributed method of recognizing and responding in real time to a user question posed within an application program executing on a client device, comprising:
-
receiving query data generated by the client device over a network, the query data being carried over at least a portion of the network using an Internet-based protocol; considering a context experienced by a user within the application and loading one or both of appropriate grammars or dictionaries for the context; processing the query data at a server device to form a query text associated with the user question using the appropriate grammars and dictionaries; submitting the query text to a natural language engine and a database engine; processing the query text with the natural language engine to identify one or more word phrases present in the query text; forming a combined database query including both the query text and the word phrases identified using the natural language engine; retrieving a set of question/answer pairs using the combined query; evaluating the set of question/answer pairs by comparing word phrases in the set of question/answer pairs with the word phrases from the query text to identify at least one question/answer pair that best matches the user question; and providing an answer to the user question in real-time over a distributed query system, the answer being determined from the question/answer pair that best matches the user question. - View Dependent Claims (17, 18, 19, 20)
-
Specification