A method and apparatus are provided for performing speech recognition
using a dynamic vocabulary. Results from a preliminary speech recognition
pass can be used to update or refine a language model in order to improve
the accuracy of search results and to simplify subsequent recognition
passes. This iterative process greatly reduces the number of alternative
hypotheses produced during each speech recognition pass, as well as the
time required to process subsequent passes, making the speech recognition
process faster, more efficient and more accurate. The iterative process
is characterized by the use of results from one or more data set queries,
where the keys used to query the data set, as well as the queries
themselves, are constructed in a manner that produces more effective
language models for use in subsequent attempts at decoding a given speech
signal.