Language model


A statistical language model is a probability distribution over sequences of words. Given such a sequence, say of length, it assigns a probability to the whole sequence.
The language model provides context to distinguish between words and phrases that sound similar. For example, in American English, the phrases "recognize speech" and "wreck a nice beach" sound similar, but mean different things.
Data sparsity is a major problem in building language models. Most possible word sequences are not observed in training. One solution is to make the assumption that the probability of a word only depends on the previous n words. This is known as an n-gram model or unigram model when n = 1. The unigram model is also known as the bag of words model.
Estimating the relative likelihood of different phrases is useful in many natural language processing applications, especially those that generate text as an output. Language modeling is used in speech recognition, machine translation, part-of-speech tagging, parsing, Optical Character Recognition, handwriting recognition, information retrieval and other applications.
In speech recognition, sounds are matched with word sequences. Ambiguities are easier to resolve when evidence from the language model is integrated with a pronunciation model and an acoustic model.
Language models are used in information retrieval in the query likelihood model. There, a separate language model is associated with each document in a collection. Documents are ranked based on the probability of the query Q in the document's language model :. Commonly, the unigram language model is used for this purpose.

Model types

Unigram

A unigram model can be treated as the combination of several one-state finite automata. It splits the probabilities of different terms in a context, e.g. from
to
In this model, the probability of each word only depends on that word's own probability in the document, so we only have one-state finite automata as units. The automaton itself has a probability distribution over the entire vocabulary of the model, summing to 1. The following is an illustration of a unigram model of a document.
TermsProbability in doc
a0.1
world0.2
likes0.05
we0.05
share0.3
......

The probability generated for a specific query is calculated as
Different documents have unigram models, with different hit probabilities of words in it. The probability distributions from different documents are used to generate hit probabilities for each query. Documents can be ranked for a query according to the probabilities. Example of unigram models of two documents:
TermsProbability in Doc1Probability in Doc2
a0.10.3
world0.20.1
likes0.050.03
we0.050.02
share0.30.2
.........

In information retrieval contexts, unigram language models are often smoothed to avoid instances where P = 0. A common approach is to generate a maximum-likelihood model for the entire collection and linearly interpolate the collection model with a maximum-likelihood model for each document to smooth the model.

''n''-gram

In an n-gram model, the probability of observing the sentence is approximated as
It is assumed that the probability of observing the ith word wi in the context history of the preceding i − 1 words can be approximated by the probability of observing it in the shortened context history of the preceding n − 1 words.
The conditional probability can be calculated from n-gram model frequency counts:
The terms bigram and trigram language models denote n-gram models with n = 2 and n = 3, respectively.
Typically, the n-gram model probabilities are not derived directly from frequency counts, because models derived this way have severe problems when confronted with any n-grams that have not been explicitly seen before. Instead, some form of smoothing is necessary, assigning some of the total probability mass to unseen words or n-grams. Various methods are used, from simple "add-one" smoothing to more sophisticated models, such as Good-Turing discounting or back-off models.

Bidirectional

Bidirectional representations condition on both pre- and post- context in all layers.

Example

In a bigram language model, the probability of the sentence I saw the red house is approximated as
whereas in a trigram language model, the approximation is
Note that the context of the first n – 1 n-grams is filled with start-of-sentence markers, typically denoted .
Additionally, without an end-of-sentence marker, the probability of an ungrammatical sequence *I saw the would always be higher than that of the longer sentence I saw the red house.

Exponential

language models encode the relationship between a word and the n-gram history using feature functions. The equation is
where is the partition function, is the parameter vector, and is the feature function. In the simplest case, the feature function is just an indicator of the presence of a certain n-gram. It is helpful to use a prior on or some form of regularization.
The log-bilinear model is another example of an exponential language model.

Neural network

Neural language models use continuous representations or embeddings of words to make their predictions. These models make use of Neural networks.
Continuous space embeddings help to alleviate the curse of dimensionality in language modeling: as language models are trained on larger and larger texts, the number of unique words increases. The number of possible sequences of words increases exponentially with the size of the vocabulary, causing a data sparsity problem because of the exponentially many sequences. Thus, statistics are needed to properly estimate probabilities. Neural networks avoid this problem by representing words in a distributed way, as non-linear combinations of weights in a neural net. An alternate description is that a neural net approximates the language function. The neural net architecture might be feed-forward or recurrent, and while the former is simpler the latter is more common.
Typically, neural net language models are constructed and trained as probabilistic classifiers that learn to predict a probability distribution
I.e., the network is trained to predict a probability distribution over the vocabulary, given some linguistic context. This is done using standard neural net training algorithms such as stochastic gradient descent with backpropagation. The context might be a fixed-size window of previous words, so that the network predicts
from a feature vector representing the previous words. Another option is to use "future" words as well as "past" words as features, so that the estimated probability is
This is called a bag-of-words model. When the feature vectors for the words in the context are combined by a continuous operation, this model is referred to as the continuous bag-of-words architecture.
A third option that trains slower than the CBOW but performs slightly better is to invert the previous problem and make a neural network learn the context, given a word. More formally, given a sequence of training words, one maximizes the average log-probability
where, the size of the training context, can be a function of the center word. This is called a skip-gram language model. Bag-of-words and skip-gram models are the basis of the word2vec program.
Instead of using neural net language models to produce actual probabilities, it is common to instead use the distributed representation encoded in the networks' "hidden" layers as representations of words; each word is then mapped onto an -dimensional real vector called the word embedding, where is the size of the layer just before the output layer. The representations in skip-gram models have the distinct characteristic that they model semantic relations between words as linear combinations, capturing a form of compositionality. For example, in some such models, if is the function that maps a word to its -d vector representation, then
where ≈ is made precise by stipulating that its right-hand side must be the nearest neighbor of the value of the left-hand side.

Other

A positional language model assesses the probability of given words occurring close to one another in a text, not necessarily immediately adjacent. Similarly, bag-of-concepts models leverage the semantics associated with multi-word expressions such as buy_christmas_present, even when they are used in information-rich sentences like "today I bought a lot of very nice Christmas presents".
Despite the limited successes in using neural networks, authors acknowledge the need for other techniques when modelling sign languages.

Benchmarks

Various data sets have been developed to use to evaluate language processing systems. These include:
  • Corpus of Linguistic Acceptability
  • GLUE benchmark
  • Microsoft Research Paraphrase Corpus
  • Multi-Genre Natural Language Inference
  • Question Natural Language Inference
  • Quora Question Pairs
  • Recognizing Textual Entailment
  • Semantic Textual Similarity Benchmark
  • SQuAD question answering Test
  • Stanford Sentiment Treebank
  • Winograd NLI

    Citations

Software

*
*
  • – Free software for language modeling
  • – Free language modeling toolkit in Java
  • – Fast, Free software for language modeling
  • – Free language model toolkit for Kneser–Ney-smoothed n-gram models and recurrent neural network models
  • – MIT Language Modeling toolkit. Free software
  • – Free toolkit for feedforward neural language models
  • library – Free software for language modeling. Built on OpenFst.
  • – Free toolkit for feedforward neural language models
*
  • – Free software for randomised language modeling
  • – Free recurrent neural network language model toolkit
  • – Proprietary software for language modeling
  • – Free software for creating, growing and pruning Kneser-Ney smoothed n-gram models.
*
*