Method and system for asynchronously processing natural language utterances
First Claim
1. A method for asynchronously processing natural language utterances, comprising:
- receiving a natural language utterance at a speech unit connected to a computer device, wherein the speech unit converts the received natural language utterance into an electronic signal;
recognizing one or more words in the electronic signal with a speech recognition engine that operates on the computer device;
identifying a request contained in the natural language utterance with a parser that further operates on the computer device, wherein the parser identifies the request contained in the natural language utterance from the one or more recognized words; and
asynchronously processing the request contained in the natural language utterance in a multi-threaded environment with a domain agent associated with a context relating to the identified request, wherein asynchronously processing the request with the domain agent includes;
submitting a plurality of asynchronous queries created with the domain agent to a plurality of information sources, wherein the plurality of information sources include one or more local information sources and one or more network information sources;
asynchronously evaluating results that the plurality of information sources return to the domain agent in response to the plurality of asynchronous queries;
scoring, at the domain agent, the asynchronously evaluated results returned from the plurality of information sources until one or more of the asynchronously evaluated results have a score that satisfies a predetermined confidence level; and
presenting a single best response to the request on the computer device, wherein the domain agent extracts the single best response from the one or more of the asynchronously evaluated results having the score that satisfies the predetermined confidence level.
5 Assignments
0 Petitions
Accused Products
Abstract
The methods and systems described herein may asynchronously process natural language utterances to provide real-time response performance and natural interaction with users. In particular, the methods and systems described herein may use various natural language speech recognition and interpretation components to identify a request (e.g., a query or command) in an utterance. The request identified in the utterance may then be processed with one or more domain agents, which may submit duplicate queries to multiple different data sources to process the request. The domain agents may then asynchronously evaluate responses to the duplicate queries to return results to users in a timely and natural manner, and further to account the fact that the different data sources may respond to the queries at different speeds, provide unsatisfactory responses to the queries, or fail to respond to the queries at all.
-
Citations
16 Claims
-
1. A method for asynchronously processing natural language utterances, comprising:
-
receiving a natural language utterance at a speech unit connected to a computer device, wherein the speech unit converts the received natural language utterance into an electronic signal; recognizing one or more words in the electronic signal with a speech recognition engine that operates on the computer device; identifying a request contained in the natural language utterance with a parser that further operates on the computer device, wherein the parser identifies the request contained in the natural language utterance from the one or more recognized words; and asynchronously processing the request contained in the natural language utterance in a multi-threaded environment with a domain agent associated with a context relating to the identified request, wherein asynchronously processing the request with the domain agent includes; submitting a plurality of asynchronous queries created with the domain agent to a plurality of information sources, wherein the plurality of information sources include one or more local information sources and one or more network information sources; asynchronously evaluating results that the plurality of information sources return to the domain agent in response to the plurality of asynchronous queries; scoring, at the domain agent, the asynchronously evaluated results returned from the plurality of information sources until one or more of the asynchronously evaluated results have a score that satisfies a predetermined confidence level; and presenting a single best response to the request on the computer device, wherein the domain agent extracts the single best response from the one or more of the asynchronously evaluated results having the score that satisfies the predetermined confidence level. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for asynchronously processing natural language utterances, comprising:
-
a speech unit connected to a computer device, wherein the speech unit is configured to receive a natural language utterance and convert the received natural language speech into an electronic signal; a speech recognition engine that operates on the computer device, wherein the speech recognition engine is configured to recognize one or more words in the electronic signal converted from the natural language utterance; a parser that further operates on the computer device, wherein the parser is configured to identify a request contained in the natural language utterance from the one or more recognized words and determine a context relating to the identified request; and a domain agent associated with the context relating to the identified request, wherein the domain agent further operates on the computer device and is configured to; submit a plurality of asynchronous queries created with the domain agent to a plurality of information sources, wherein the plurality of information sources include one or more local information sources and one or more network information sources; asynchronously evaluate results that the plurality of information sources return to the domain agent in response to the plurality of asynchronous queries; score the asynchronously evaluated results returned from the plurality of information sources until one or more of the asynchronously evaluated results have a score that satisfies a predetermined confidence level; extract a single best response to the request from the one or more of the asynchronously evaluated results having the score that satisfies the predetermined confidence level; and present the single best response to the request on the computer device. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
Specification