注:本文主要介绍几种方法的个人理解,完全是白话,大神就不要来了。
平滑技术核心思想就是“劫富济贫”,主要是解决数据稀疏(sparsity)问题,主要技术有三:discount,backoff,插值。
一 discount
1 add one (add x)
假设此表包含n个词,就在分子和分母分别加上1和n
2 good turning
假设N元语法出现r次,那就它就按照比例缩小次数,溢出的概率根据开发集中未出现的情况平均分。
3 katz moothing
假设N元语法出现r次,那就它就按照比例缩小次数,溢出的概率根据(N-1)元的比重来分配。这里引入“利用低阶的语言模型概率来推算高阶的未出现的语言模型的概率”的思想,这可以通过迭代来实现。
二 back off
kneser-Ney
它采用了绝对减值法,就是对所有出现的n元语法模型减去一个固定的数,然后再按照(n-1)元的语法模型的概率分配未出现的n元语法模型。
三 插值
就是将上述训练好的模型进行一个插值,插值系数之和为一,需要根据开发集进行调整(tuning)
以上就是所要讲的内容,当然上述三种分类不一定正确,难免牵强,现实当中往往是结合实用的,希望给后来人一点参考。