-
语言模型定义
语言模型用来构建字符串s的概率分布,即一个句子出现的概率。考虑句子中词语的联系,其句子出现的概率计算公式可以表示为:
认为第i个词出现的概率是由前面i-1个历史词决定的,这里使用频率来估计概率(这种估计概率值的方法称为极大似然估计,MLE)。在这种情况下,当i较大时,i-1个历史词的组合方式就很多,我们必须考虑所有i-1个历史词的所有组合方式和出现情况。假设词汇集大小1000,i=3,就有10亿种组合情况,导致几乎无法从训练数据集中正确估计出概率。这就是这种语言模型存在的问题,所以引入n元语法。
-
n元语法
n元语法是指在上述的语言模型中只考虑n-1个历史词的方法。一般n值不能太大,否则也会存在参数(组合情况)过多的问题。当n=1时,称为unigram,即词语i独立于历史;当n=2时,词语i的出现只与前面一个词有关,称为bigram;当n=3时,词语i的出现与前面两个词有关,称为trigram。以二元语法为例(bigram),记为: