1. A method comprising: receiving a free-text input utterance to be recognized; applying a statistical language model to the free-text input utterance to obtain a plurality of candidate word sequences for automatic speech recognition of the input utterance, each of the plurality of candidate word sequences having a corresponding initial score generated by the statistical language model; for one or more of the plurality of candidate word sequences, detecting words corresponding to a sequence of digits, and analyzing the detected words corresponding to the sequence of digits, using at least one processor, to generate one or more hypotheses that the words corresponding to the sequence of digits belong to one or more semantic classes, and to determine a separate score for each of the one or more hypotheses indicating a probability that the words corresponding to the sequence of digits belong to the semantic class; revising the initial scores for each of the one or more of the plurality of candidate word sequences, wherein revising the initial score for each of the one or more of the plurality of candidate word sequences comprises computing a revised score for the respective candidate word sequence based, at least in part, on the separate scores determined for the one or more hypotheses generated for each of the one or more semantic classes; selecting, from among the plurality of candidate word sequences, a best-scoring candidate word sequence using the revised scores; and outputting the best-scoring candidate word sequence as an output recognized word sequence for the input utterance.
1. A method comprising: receiving a free-text input utterance to be recognized; applying a statistical language model to the free-text input utterance to obtain a plurality of candidate word sequences for automatic speech recognition of the input utterance, each of the plurality of candidate word sequences having a corresponding initial score generated by the statistical language model; for one or more of the plurality of candidate word sequences, detecting words corresponding to a sequence of digits, and analyzing the detected words corresponding to the sequence of digits, using at least one processor, to generate one or more hypotheses that the words corresponding to the sequence of digits belong to one or more semantic classes, and to determine a separate score for each of the one or more hypotheses indicating a probability that the words corresponding to the sequence of digits belong to the semantic class; revising the initial scores for each of the one or more of the plurality of candidate word sequences, wherein revising the initial score for each of the one or more of the plurality of candidate word sequences comprises computing a revised score for the respective candidate word sequence based, at least in part, on the separate scores determined for the one or more hypotheses generated for each of the one or more semantic classes; selecting, from among the plurality of candidate word sequences, a best-scoring candidate word sequence using the revised scores; and outputting the best-scoring candidate word sequence as an output recognized word sequence for the input utterance. 2. The method of claim 1 , wherein the one or more semantic classes are selected from the group consisting of: a year class, a date class, a date of birth class, a social security number class, a blood pressure class, a telephone number class, a postal code class, a street address class, a time of day class, a driver's license number class, a license plate class, a passport number class, an account number class, a card number class, a policy number class, an ISBN class, a road number class, a flight number class, a train number class, an airport gate number class, a latitude class, a longitude class, and an altitude class.