As startups like Riya.com create innovative alternative search technologies and initiate the alternative search tech boom, it seems Google has developed an audio based search to recognize voices.
United States Patent | 7,027,987 |
Franz , et al. | April 11, 2006 |
Voice interface for a search engine
Abstract
Inventors: | Franz; Alexander Mark (Palo Alto, CA); Henzinger; Monika H. (Menlo Park, CA); Brin; Sergey (Palo Alto, CA); Milch; Brian Christopher (Mountain View, CA) |
Assignee: | Google Inc. (Mountain View, CA) |
Appl. No.: | 777863 |
Filed: | February 7, 2001 |
Current U.S. Class: | 704/236; 704/252; 707/3; 707/5 |
Current Intern’l Class: | G10L 15/08 (20060101); G06F 17/20 (20060101) |
Field of Search: | 704/231,243,244,251,252,255,257,270,275,236,241 707/.3,.4,.5 |
What is claimed is:
1. A method for providing search results, comprising:
receiving a voice search query from a user;
deriving one or more recognition hypotheses from the voice search query, each recognition hypothesis being associated with a weight and including one or more terms;
constructing a weighted boolean query using the recognition hypotheses, the constructing including:
determining a length of a shortest recognition hypothesis,
pruning a length of each recognition hypothesis up to the length of the shortest recognition hypothesis,
determining a length of a longest pruned recognition hypothesis,
selecting a number of recognition hypotheses based on one or more query parameters,
determining term weights, and
forming a weighted boolean query;
providing the weighted boolean query to a search system; and
providing results of the search system.
2. The method of claim 1 wherein the deriving one or more recognition hypotheses includes:
using one or more of a language model, phonetic dictionary, or acoustic models to derive the recognition hypotheses.
3. The method of claim 2 further comprising:
updating one or more of the language model, phonetic dictionary, or acoustic models using the voice search query.
4. The method of claim 1 further comprising:
identifying a language model based on at least one characteristic associated with the user, and
wherein the deriving one or more recognition hypotheses includes:
using the identified language model to derive the one or more recognition hypotheses.
5. The method of claim 1 wherein the query parameters include the determined length of the longest pruned recognition hypothesis, a value representing a total number of terms to be included in a query, and a value representing a proportion of new terms added from a first recognition hypothesis to a second recognition hypothesis.
6. The method of claim 1 wherein the query parameters vary by user or user group.
7. The method of claim 1 wherein the providing results of the search system includes:
adjusting a ranking of the results of the search system based on the weights.
8. The method of claim 1 wherein the providing results of the search system includes:
organizing the results based on the weights.
9. The method of claim 1 further comprising:
discarding, prior to constructing the weighted boolean query, those recognition hypotheses associated with a weight below a threshold value.
10. The method of claim 1 wherein the weighted boolean query is a weighted OR-query.
11. The method of claim 1 further comprising:
refining the weighted boolean query based on the results of the search system.
12. The method of claim 11 wherein the refining includes:
determining a quantity of results related to each recognition hypothesis, and
discarding recognition hypotheses having no results.
13. The method of claim 11 wherein the refining includes:
determining a quantity of results related to each recognition hypothesis, and
adjusting the weight associated with the recognition hypothesis based on the quantity.
14. The method of claim 1 further comprising:
detecting compounds in the one or more recognition hypotheses, and
wherein the constructing a weighted boolean query includes:
constructing the weighted boolean query using the recognition hypotheses and the detected compounds.
15. The method of claim 1 further comprising:
detecting compounds in the results of the search system;
refining the weighted boolean query based on the detected compounds;
providing the refined weighted boolean query to the search system; and
providing the new results.
16. A method for generating a search query, comprising:
receiving one or more recognition hypotheses, each recognition hypothesis being constructed from a voice search query;
determining a length of a shortest recognition hypothesis;
pruning a length of each recognition hypothesis up to the length of the shortest recognition hypothesis;
determining a length of a longest pruned recognition hypothesis;
selecting a number of recognition hypotheses based on the length of the longest pruned recognition hypothesis;
determining query term weights; and
forming a weighted boolean query out of each term position in the selected recognition hypotheses.
17. The method of claim 16 wherein the pruning includes:
removing noise words from the recognition hypotheses.
18. The method of claim 16 wherein the selecting includes:
identifying a number of recognition hypotheses based on the determined length of the longest pruned recognition hypothesis, a value representing a total number of terms to be included in a query, and a value representing a proportion of new terms added from a first recognition hypothesis to a second recognition hypothesis.
19. A server comprising:
a memory configured to store instructions; and
a processor configured to execute the instructions to receive one or more recognition hypothesis, each recognition hypothesis being constructed from a voice search query, determine a length of a shortest recognition hypothesis, prune a length of each recognition hypothesis up to the length of the shortest recognition hypothesis, determine a length of a longest pruned recognition hypothesis, select a number of recognition hypotheses, the number being based on a value representing the length of the longest pruned recognition hypothesis, determine query term weights, and form a weighted boolean query out of each term position in the selected recognition hypotheses.
20. A computer-readable medium containing instructions for controlling at least one processor to perform a method for generating a search query, comprising:
receiving at least one recognition hypothesis, the recognition hypothesis being constructed from a voice search query and having one or more terms;
determining a length of a shortest recognition hypothesis;
pruning a length of each recognition hypothesis up to the length of the shortest recognition hypothesis;
determining a length of a longest pruned recognition hypothesis;
selecting a number of recognition hypotheses, the number being based on the length of the longest pruned recognition hypothesis;
determining term weights; and
forming a weighted boolean query out of the selected recognition hypotheses.