A data processing method comprising: receiving, at a computing system, a production symbol stream comprising symbols representing spoken words of a particular language from an acoustic processing system; the method being characterized by further comprising: extracting, from the production symbol stream, a plurality of production patterns comprising one or more of: an InterVowel Consonant pattern or a Vowel Neighborhood pattern (403, 401); using stored production to canonical mapping data comprising conditional probabilities for one or more mappings of production patterns (403, 401) to canonical target patterns comprising one or more of: an InterVowel Consonant pattern or a Vowel Neighborhood pattern (404, 400), each mapping of the one or more mappings comprising at least a production pattern (403, 401) and a canonical target pattern (404, 400), generating candidate syllables and a probability of each candidate syllable from the plurality of production patterns (403, 401); using a stored syllable to orthographic pattern mapping comprising conditional probabilities for one or more mappings, generating candidate orthographic patterns and a probability of each candidate orthographic pattern from the candidate syllables; based, at least in part, on the probabilities for each candidate orthographic pattern, generating an orthographic representation of the production symbol stream. receiving, at a computing system, a production symbol stream comprising symbols representing spoken words of a particular language from an acoustic processing system; the method being characterized by further comprising: extracting, from the production symbol stream, a plurality of production patterns comprising one or more of: an InterVowel Consonant pattern or a Vowel Neighborhood pattern (403, 401); using stored production to canonical mapping data comprising conditional probabilities for one or more mappings of production patterns (403, 401) to canonical target patterns comprising one or more of: an InterVowel Consonant pattern or a Vowel Neighborhood pattern (404, 400), each mapping of the one or more mappings comprising at least a production pattern (403, 401) and a canonical target pattern (404, 400), generating candidate syllables and a probability of each candidate syllable from the plurality of production patterns (403, 401); using a stored syllable to orthographic pattern mapping comprising conditional probabilities for one or more mappings, generating candidate orthographic patterns and a probability of each candidate orthographic pattern from the candidate syllables; based, at least in part, on the probabilities for each candidate orthographic pattern, generating an orthographic representation of the production symbol stream. extracting, from the production symbol stream, a plurality of production patterns comprising one or more of: an InterVowel Consonant pattern or a Vowel Neighborhood pattern (403, 401); using stored production to canonical mapping data comprising conditional probabilities for one or more mappings of production patterns (403, 401) to canonical target patterns comprising one or more of: an InterVowel Consonant pattern or a Vowel Neighborhood pattern (404, 400), each mapping of the one or more mappings comprising at least a production pattern (403, 401) and a canonical target pattern (404, 400), generating candidate syllables and a probability of each candidate syllable from the plurality of production patterns (403, 401); using a stored syllable to orthographic pattern mapping comprising conditional probabilities for one or more mappings, generating candidate orthographic patterns and a probability of each candidate orthographic pattern from the candidate syllables; based, at least in part, on the probabilities for each candidate orthographic pattern, generating an orthographic representation of the production symbol stream.