Most systems today utilize a very simple approach to interfacing speech recognition and natural language processing. Rather than output the single-best alternative as described above, alternate candidate word sequences are passed to the next stage of processing. This is depicted in Figure 7. The drawback of this approach is that the intermediate output from the recognizer can often require tens of megabytes of memory - more than the original speech signal. Further, generation of the alternate choices is computationally expensive.
Speech recognition is far from being a solved problem.
Changes in the microphone, ambient environment, or even the dialect of the speaker can often have disastrous impacts on performance if suitable measures are not taken. Further, despite the enormous computational resources we can bring to bear on the problem, only modest improvements in performance have resulted. Two of the most active areas of research today are better ways of blending linguistic information with these statistical approaches, and more efficient ways to representing and utilizing domain information to limit the scope of the problem. Speech processing has traditionally been a fertile proving ground for most new signal processing and mathematical algorithms, and will likely remain at the forefront of enginering and computer science research for years to come.