Bigram


A bigram or digram is a sequence of two adjacent elements from a string of tokens, which are typically letters, syllables, or words. A bigram is an n-gram for n=2. The frequency distribution of every bigram in a string is commonly used for simple statistical analysis of text in many applications, including in computational linguistics, cryptography, speech recognition, and so on.
Gappy bigrams or skipping bigrams are word pairs which allow gaps.
Head word bigrams are gappy bigrams with an explicit dependency relationship.
Bigrams help provide the conditional probability of a token given the preceding token, when the relation of the conditional probability is applied:
That is, the probability of a token given the preceding token is equal to the probability of their bigram, or the co-occurrence of the two tokens, divided by the probability of the preceding token.

Applications

Bigrams are used in most successful language models for speech recognition. They are a special case of N-gram.
Bigram frequency attacks can be used in cryptography to solve cryptograms. See frequency analysis.
Bigram frequency is one approach to statistical language identification.
Some activities in logology or recreational linguistics involve bigrams. These include attempts to find English words beginning with every possible bigram, or words containing a string of repeated bigrams, such as logogogue.

Bigram frequency in the English language

The frequency of the most common letter bigrams in a small English corpus is:
th 1.52 en 0.55 ng 0.18
he 1.28 ed 0.53 of 0.16
in 0.94 to 0.52 al 0.09
er 0.94 it 0.50 de 0.09
an 0.82 ou 0.50 se 0.08
re 0.68 ea 0.47 le 0.08
nd 0.63 hi 0.46 sa 0.06
at 0.59 is 0.46 si 0.05
on 0.57 or 0.43 ar 0.04
nt 0.56 ti 0.34 ve 0.04
ha 0.56 as 0.33 ra 0.04
es 0.56 te 0.27 ld 0.02
st 0.55 et 0.19 ur 0.02
Complete bigram frequencies for a larger corpus are available.