Smoothing Techniques › Absolute Discounting
Language AI HandbookAll chapters Smoothing Techniques › Absolute DiscountingOne section · Sections in this chapter7 / 13 ↓
Reading tools Definitions & inline links
Choose your expertise level to adjust how many terms are explained. Beginners see more tooltips, experts see fewer to maintain reading flow. Hover over underlined terms for instant definitions.
Article links
Make inline references clickable
Before introducing Kneser-Ney, we need to understand absolute discounting, which supports Kneser-Ney's most useful idea.
Absolute discounting is based on a remarkable empirical observation made by Church and Gale (1991): when you subtract a constant from every non-zero bigram count, the resulting adjusted counts closely match the Good-Turing adjusted counts across the whole count spectrum. In other words, Good-Turing's sophisticated per-count calculation can be approximated simply by subtracting a fixed discount from every non-zero count, using the same regardless of the count value.
This is surprising. You might expect that a bigram seen 2 times needs a different proportional discount than one seen 20 times. But Church and Gale found empirically that subtracting the same constant from both cases produces adjusted counts very close to what Good-Turing would give. The reason is that the ratio turns out to be approximately constant for small values of in most natural language distributions, which means the Good-Turing adjustment is approximately linear in for small counts, which in turn means subtracting a constant works well.
The absolute discounting formula combines a discounted seen-bigram term with a lower-order interpolation term:
where:
- : the discount parameter, typically between 0 and 1 (often around 0.75), subtracted from every non-zero bigram count
- : a normalization constant ensuring all conditional probabilities sum to 1
- : a lower-order (backoff or interpolation) probability for
The ensures we never give a negative probability to seen n-grams. For very rare n-grams (count = 1 or 2), is still positive (since ), so this clamp is usually not triggered unless .
The normalization constant captures the total probability mass that was removed from the seen bigrams:
where:
- : the number of distinct words that follow in the training corpus (the number of distinct bigram completions)
- : the total count of
The numerator equals the total probability mass removed from seen bigrams (each of the distinct continuations loses in probability). The denominator normalizes this so that represents the fraction of mass to be redistributed.
Church and Gale estimated the optimal discount as:
where:
- : the number of distinct bigrams seen exactly once
- : the number of distinct bigrams seen exactly twice
This formula is surprisingly accurate: in most real corpora, ends up close to 0.75. The intuition behind the formula is that it minimizes the average squared error between the absolute-discounting adjusted counts and the Good-Turing adjusted counts, given the observed frequency-of-frequency distribution.
The key insight from absolute discounting is that the same discount works well across a wide range of counts. Whether a bigram appeared 2 times or 200 times, subtracting gives a good adjusted count. This is much simpler than Good-Turing's per-count estimation, and it performs nearly as well because the Good-Turing adjustments are themselves nearly constant for typical natural language count distributions.