Noisy channel model
From Wikipedia, the free encyclopedia
The noisy channel model is a framework used in spell checkers, question answering, speech recognition, and machine translation. In this model, the goal is to find the intended word given a word where the letters have been scrambled in some manner.
Example
See Chapter B of.[1]
Given an alphabet , let be the set of all finite strings over . Let the dictionary of valid words be some subset of , i.e., .
The noisy channel is the matrix
- ,
where is the intended word and is the scrambled word that was actually received.
The goal of the noisy channel model is to find the intended word given the scrambled word that was received. The decision function is a function that, given a scrambled word, returns the intended word.
Methods of constructing a decision function include the maximum likelihood rule, the maximum a posteriori rule, and the minimum distance rule.
In some cases, it may be better to accept the scrambled word as the intended word rather than attempt to find an intended word in the dictionary. For example, the word schönfinkeling may not be in the dictionary, but might in fact be the intended word.
Consider the English alphabet . Some subset makes up the dictionary of valid English words.
There are several mistakes that may occur while typing, including:
- Missing letters, e.g., leter instead of letter
- Accidental letter additions, e.g., misstake instead of mistake
- Swapping letters, e.g., recieved instead of received
- Replacing letters, e.g., fimite instead of finite
To construct the noisy channel matrix , we must consider the probability of each mistake, given the intended word ( for all and ). These probabilities may be gathered, for example, by considering the Damerau–Levenshtein distance between and or by comparing the draft of an essay with one that has been manually edited for spelling.
In machine translation
One naturally wonders if the problem of translation could conceivably be treated as a problem in cryptography. When I look at an article in Russian, I say: 'This is really written in English, but it has been coded in some strange symbols. I will now proceed to decode.
— Warren Weaver, Letter to Norbert Wiener, March 4, 1947
See chapter 1, and chapter 25 of.[2]
Suppose we want to translate a foreign language to English, we could model directly: the probability that we have English sentence E given foreign sentence F, then we pick the most likely one . However, by Bayes law, we have the equivalent equation:The benefit of the noisy-channel model is in terms of data: If collecting a parallel corpus is costly, then we would have only a small parallel corpus, so we can only train a moderately good English-to-foreign translation model, and a moderately good foreign-to-English translation model. However, we can collect a large corpus in the foreign language only, and a large corpus in the English language only, to train two good language models. Combining these four models, we immediately get a good English-to-foreign translator and a good foreign-to-English translator.[3]
The cost of noisy-channel model is that using Bayesian inference is more costly than using a translation model directly. Instead of reading out the most likely translation by , it would have to read out predictions by both the translation model and the language model, multiply them, and search for the highest number.