Numbers and alphanumerics are the part of a transcript that people most often act on: amounts, dates, doses, phone numbers, account references. They are also where speech and writing diverge most. One written value has many spoken forms, languages build numbers in different orders, and locales write them with different separators. Getting them right needs accurate recognition, correct conversion to written form, and a metric that checks the value rather than the words.
Key takeaways
- "One fifty" can mean 150, 1.50 or 1:50. Context, not acoustics, decides.
- Dutch and German say units before tens, French counts partly in twenties, and Dutch "half drie" means 2:30.
- Converting spoken words to digits, symbols and dates is inverse text normalisation, and it follows locale rules.
- WER over-penalises format differences and under-penalises wrong values. Score numbers by exact value.
- Fifteen and fifty, thirteen and thirty, B and D are classic confusions. Confirm high-stakes values.
Why numbers are hard#
A general recogniser handles "the meeting is at three" easily. Numbers become hard when they are long, when they are mixed with letters, and when the same sounds can map to different values.
Many spoken forms, one value#
The value 1,500 can be said as "fifteen hundred", "one thousand five hundred", "one and a half thousand" or "one point five k". The telephone number 020 707 7700 can be said as "oh two oh, seven oh seven, seven seven double oh" or "zero twenty, seven hundred and seven, seventy-seven hundred". A system has to recognise the words and assemble the value.
Ambiguous grouping#
one fifty could be 150, 1.50 or 1:50. "Two thousand and five" is a year in one sentence and an amount in the next. The correct written form depends on context the audio alone does not give.
Acoustic near-misses#
English "fifteen" and "fifty" differ mainly in stress and the final syllable, and fast or telephone speech blurs both. "Thirteen" and "thirty", "fourteen" and "forty" follow the same pattern. In a sum of money or a dosage, this is the most dangerous error in the transcript.
How languages build numbers#
Number grammar differs sharply across European languages, which affects both recognition and formatting.
| Language | 97 spoken | Structure | Decimal mark |
|---|---|---|---|
| English | ninety-seven | Tens then units | Point |
| Dutch | zevenennegentig | Units then tens ("seven-and-ninety"), written as one word | Comma |
| German | siebenundneunzig | Units then tens, one word | Comma |
| French (France) | quatre-vingt-dix-sept | 4 × 20 + 10 + 7 | Comma |
| French (Belgium, Switzerland) | nonante-sept | Decimal tens | Comma |
| Spanish | noventa y siete | Tens "and" units | Comma (point in parts of Latin America) |
| Italian | novantasette | Tens then units, one word | Comma |
| Portuguese | noventa e sete | Tens "and" units | Comma |
| Polish | dziewięćdziesiąt siedem | Tens then units; case endings vary | Comma |
| Swedish | nittiosju | Tens then units, one word | Comma |
Two consequences follow. First, in Dutch and German a long number is heard in an order that differs from how it is written: "vierentwintig" is heard as four, then twenty, and written 24. Second, languages that write numbers as single long words, like Dutch, German and Swedish, make WER sensitive to word boundaries, a topic covered in compound words and morphology.
From spoken words to written values#
Most recognisers produce a spoken-style sequence internally and apply inverse text normalisation (ITN) to turn it into the written form a reader expects. Some end-to-end models write digits directly, having learned formatting from written-form training transcripts. Either way, the output has to follow the conventions of the locale.
ITN has to decide the category of each number span: cardinal, ordinal, money, date, time, measure, telephone number, or an identifier that should stay as spoken digits. Text normalisation research, originally for text-to-speech, lists these categories and shows how many edge cases each carries.
Alphanumerics#
Postcodes, reference numbers, plates and serial numbers mix letters and digits. They add the letter-name problem: B, D, E, P, T and V differ only in a short consonant, as do M and N. Speakers use spelling alphabets ("D for Delta"), groupings ("AB, twelve, CDE") and shorthand ("double seven") that the recogniser must reassemble into one string.
1016 EV vs 10 16 EB
Because these strings have a fixed format and no linguistic prior, they are best handled with format constraints and validation, covered in structured identifiers.
Measuring number accuracy#
WER is a poor fit for numbers. "Twenty-four" against "24" costs two word errors after naive scoring and none after normalisation, while "24" against "25" costs one error either way, though it is the only one that matters. Better measures:
- Numeric exact match: the share of numeric spans whose written value is exactly right after locale normalisation.
- By category: report amounts, dates, times, phone numbers and identifiers separately. They fail in different ways.
- Digit-level error rate: for long digit strings such as account numbers, a character error rate over digits shows how close near-misses were.
See entity and keyword accuracy for building span-level metrics, and financial services transcription for a domain where numeric errors carry regulatory weight.
How Reson8 approaches this#
For alphanumeric codes with a known structure, Reson8's Patterns lets you supply the expected format, such as INV[0-9]{3}, and the model biases toward it. Reson8 reports identifier WER on order numbers falling from 8.0% to 1.5% and on licence plates from 6.6% to 4.7%. Resonant-1 covers nine European languages, each with its own number grammar. Details are in the documentation.
Common questions#
Should numbers be transcribed as digits or words?
For most applications, digits in the locale's written convention. Keep a spoken-form option for cases such as verbatim legal transcripts or when you plan to run your own formatting.
How do I handle "fifteen" versus "fifty" errors?
Measure them explicitly, then add a confirmation step where the value matters. In voice agents, read amounts back in a different form ("one five, fifteen euros") so a mismatch is obvious.
Are dates harder than amounts?
Often. "The third of the fifth" is 3 May in most of Europe and would be read as 5 March in the United States, and many speakers mix ordinals, month names and numbers in one phrase. Fix a single output format, such as ISO 8601, for anything a system will parse.
Why does my WER jump when I switch vendors?
Often because the new system formats numbers differently. Normalise both outputs the same way before comparing. See word error rate.
References#
- Sproat, R. et al. (2001). Normalization of Non-Standard Words. Computer Speech & Language, 15(3).
- Ebden, P., & Sproat, R. (2015). The Kestrel TTS Text Normalization System. Natural Language Engineering, 21(3).
- Pusateri, E. et al. (2017). A Mostly Data-Driven Approach to Inverse Text Normalization. Interspeech.
- Zhang, H. et al. (2019). Neural Models of Text Normalization for Speech Applications. Computational Linguistics, 45(2).
- Peyser, C., Zhang, H., Sainath, T. N., & Wu, Z. (2019). Improving Performance of End-to-End ASR on Numeric Sequences. Interspeech.