IP Library Granted Patent US 7,624,007
Granted Patent B2
US 7,624,007 · App. 11/003,842 · Granted Nov 24, 2009

System and method for natural language processing of sentence based queries

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,624,007
App. No.
11/003,842
Granted
Nov 24, 2009
Kind
B2
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.

Claims (47)

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.

2. The method of claim 1 , wherein the word phrases include noun phrases.

3. The method of claim 1 , wherein the word phrases include adjective phrases.

4. The method of claim 3 , wherein the word phrases include verb phrases.

5. The method of claim 1 , wherein the question/answer pair database is configured with a full-text unique key column so that when processing the query, the database query engine returns key values of rows from the question/answer pair database that match search criteria specified by the query.

6. The method of claim 1 , further comprising considering the context experienced by the user in processing the query text with the natural language engine.

7. The method of claim 1 , wherein the response is provided in audible form.

8. The method of claim 1 , wherein the receiving query data, the loading of the appropriate grammars and dictionaries, the submitting the query text, and the processing the query text with a natural language engine occur simultaneously across multiple servers in response to a speech utterance.

9. The method of claim 1 , wherein the query data is transmitted over the network using an Internet-based protocol.

10. The method of claim 1 , wherein the answer is transmitted to the client device using an Internet-based protocol.

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.

12. The method of claim 11 , wherein only a single answer is presented to the user within a portable client device interface.

13. The method of claim 11 , wherein the answer is provided in audible form.

14. The method of claim 11 , wherein the receiving query data, the loading of the appropriate grammars and dictionaries, the submitting the query text, and the processing the query text with a natural language engine occur simultaneously across multiple servers in response to a speech utterance.

15. The method of claim 11 , wherein the query data is transmitted over the network using an Internet-based protocol.

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.

17. The distributed method of claim 16 , further comprising, prior to the evaluating, using the natural language engine on the set of question/answer pairs to identify the word phrases in the set of question/answer pairs.

18. The method of claim 16 , wherein only a single answer is presented to the user within a portable client device interface.

19. The method of claim 16 , wherein the answer is provided in audible form.

20. The method of claim 16 , wherein the receiving query data, the loading of the appropriate grammars and dictionaries, the submitting the query text, and the processing the query text with a natural language engine occur simultaneously across multiple servers in response to a speech utterance.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 6, 2013
From: PHOENIX SOLUTIONS, INC.
To: NUANCE COMMUNICATIONS, INC.
Reel/Frame 030949/0249 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2009
From: BENNETT, IAN M.
To: PHOENIX SOLUTIONS, INC.
Reel/Frame 022708/0202 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2006
From: GURURAJ, PALLAKI
To: PHOENIX SOLUTIONS, INC.
Reel/Frame 018433/0739 →