AICurious Logo

What is: Unigram Segmentation?

SourceSubword Regularization: Improving Neural Network Translation Models with Multiple Subword Candidates
Year2000
Data SourceCC BY-SA - https://paperswithcode.com

Unigram Segmentation is a subword segmentation algorithm based on a unigram language model. It provides multiple segmentations with probabilities. The language model allows for emulating the noise generated during the segmentation of actual data.

The unigram language model makes an assumption that each subword occurs independently, and consequently, the probability of a subword sequence x=(x1,,xM)\mathbf{x} = (x_1,\ldots,x_M) is formulated as the product of the subword occurrence probabilities p(xi)p(x_i):

P(x)=i=1Mp(xi),ixiV,xVp(x)=1, P(\mathbf{x}) = \prod_{i=1}^{M} p(x_i), \\\\ \forall i\,\, x_i \in \mathcal{V},\,\,\, \sum_{x \in \mathcal{V}} p(x) = 1, \nonumber

where V\mathcal{V} is a pre-determined vocabulary. The most probable segmentation x\mathbf{x}^* for the input sentence XX is then given by:

x=argmaxxS(X)P(x), \mathbf{x}^{*} = \text{argmax}_{\mathbf{x} \in \mathcal{S}(X)} P(\mathbf{x}),

where S(X)\mathcal{S}(X) is a set of segmentation candidates built from the input sentence XX. x\mathbf{x}^* is obtained with the Viterbi algorithm.