User interface for data access and entry
First Claim
1. A method comprising:
- accessing a search string that includes a first component and a second component;
parsing the search string into the first component and the second component;
performing a first search for the first component using a global search space, simultaneous to parsing the search string into the first component and the second component;
outputting a first solution space based on performing the first search using the global search space, the first solution space being a dynamically-limited subset of the search space;
performing, at least partially in parallel with performing the first search using the global search space, a second search for the second component using the first solution space, the second search being peformed simultaneous to parsing the search string into the first component and the second component and simultaneous to outputting at least a portion of the first solution space;
outputting a second solution space based on performing the second search using the first solution space, the second solution space being a dynamically-limited subset of the first solution space and the second solution space being output after outputting the first solution space;
performing, at least partially in parallel with performing the second search, a third search on a combination of the first component and the second component using the second solution space, the third search being performed simultaneous to outputting at least a portion of the second solution space; and
outputting a third solution space based on performing the third search, the third solution space being a dynamically-limited subset of the first solution space and the second solution space, and the third solution space being output after outputting the second solution space.
2 Assignments
0 Petitions
Accused Products
Abstract
Automatically searching for one or more matches to a search string includes accessing a first part and a second part of a search string. A first search space is searched for a match for the first part of the search string, and a second search space is limited based on a result of searching the first search space. The limited second search space is searched for a match for the second part of the search string. Various approaches are described for structuring a grammar of a voice recognition engine to allow efficient, quick recognition, and to enhance recognition by limiting the amount of the grammar that is searched, thus minimizing the incidence of misrecognition. Search strings can be recognized and searched using a multi-cluster approach. Recognition and searching can also be performed using a multi-level, multi-parameter cascade approach. Approaches can also be applied to recognition of other modes of input.
42 Citations
21 Claims
-
1. A method comprising:
-
accessing a search string that includes a first component and a second component; parsing the search string into the first component and the second component; performing a first search for the first component using a global search space, simultaneous to parsing the search string into the first component and the second component; outputting a first solution space based on performing the first search using the global search space, the first solution space being a dynamically-limited subset of the search space; performing, at least partially in parallel with performing the first search using the global search space, a second search for the second component using the first solution space, the second search being peformed simultaneous to parsing the search string into the first component and the second component and simultaneous to outputting at least a portion of the first solution space; outputting a second solution space based on performing the second search using the first solution space, the second solution space being a dynamically-limited subset of the first solution space and the second solution space being output after outputting the first solution space; performing, at least partially in parallel with performing the second search, a third search on a combination of the first component and the second component using the second solution space, the third search being performed simultaneous to outputting at least a portion of the second solution space; and outputting a third solution space based on performing the third search, the third solution space being a dynamically-limited subset of the first solution space and the second solution space, and the third solution space being output after outputting the second solution space. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. An apparatus comprising:
-
an input module configured to access a search string that includes a first component and a second component; a processor configured to; parse the search string into the first component and the second component, perform a first search for the first component using a global search space, simultaneous to parsing the search string into the first component and the second component, output a first solution space based on performing the first search using the global search space, the first solution space being a dynamically-limited subset of the search space, perform, at least partially in parallel with performing the first search using the global search space, a second search for the second component using the first solution space, the second search being performed simultaneous to parsing the search string into the first component and the second component and simultaneous to outputting at least a portion of the first solution space, output a second solution space based on performing the second search using the first solution space, the second solution space being a dynamically-limited subset of the first solution space and the second solution space being output after outputting the first solution space, and perform, at least partially in parallel with performing the second search, a third search on a combination of the first component and the second component using the second solution space, the third search being performed simultaneous to outputting at least a portion of the second solution space; and an output module configured to output a third solution space based on performing the third search, the third solution space being a dynamically-limited subset of the first solution space and the second solution space, and the third solution space being output after outputting the second solution space.
-
-
21. A computer program product, tangibly embodied in a machine-readable medium, the computer program product comprising instructions that, when read by a machine, operate to cause a data processing apparatus to:
-
access a search string that includes a first component and a second component; parse the search string into the first component and the second component; perform a first search for the first component using a global search space, simultaneous to parsing the search string into the first component and the second component; output a first solution space based on performing the first search using the global search space, the first solution space being a dynamically-limited subset of the search space; perform, at least partially in parallel with performing the first search using the global search space, a second search for the second component using the first solution space, the second search being performed simultaneous to parsing the search string into the first component and the second component and simultaneous to outputting at least a portion of the first solution space; output a second solution space based on performing the second search using the first solution space, the second solution space being a dynamically-limited subset of the first solution space and the second solution space being output after outputting the first solution space; perform, at least partially in parallel with performing the second search, a third search on a combination of the first component and the second component using the second solution space, the third search being performed simultaneous to outputting at least a portion of the second solution space; and output a third solution space based on performing the third search, the third solution space being a dynamically-limited subset of the first solution space and the second solution space, and the third solution space being output after outputting the second solution space.
-
Specification