基本思想
-
数据平滑的基本思想
调整最大似然估计的概率值,使零概率增值,使非零概率下调,“劫富济贫”,消除零概率,改进模型的整体正确率。 -
基本目标
测试样本的语言模型困惑度越小越好。
-
基本约束
困惑度定义:
- 对于一个平滑的 n-gram,其概率为,可以计算句子的概率:
- 假定测试语料由个句子构成,那么整个测试集的概率为:
- 模型对于测试语料的交叉熵:
其中, 是测试文本 的词数。 -
模型 p 的困惑度 定义为:
PS: n-gram 对于英语文本的困惑度范围一般为50~1000,对应于交叉熵范围为6~10 bits/word。
数据平滑方法1——加1法(Additive smoothing )
-
基本思想: 每一种情况出现的次数加1。
例如,对于 uni-gram,设 三个词,概率分别为:1/3, 0, 2/3,加1后情况? -
举例
<BOS>John read Moby Dick<EOS>
<BOS>Mary read a different book<EOS>
<BOS>She read a book by Cher<EOS>
词汇量:|V|=11
平滑以后:
p(Cher|<BOS>) = (0+1)/(11+3) = 1/14
p(read|Cher) = (0+1)/(11+1) = 1/12
p(a|read) = (1+2)/(11+3) = 3/14
p(book|a) = (1+1)/(11+2) = 2/13
p(<EOS>|book)= (1+1)/(11+2) = 2/13
数据平滑方法2——减值法/折扣法(Discounting)
1. 基本思想:
修改训练样本中事件的实际计数,使样本中(实际出现的)不同事件的概率之和小于1,剩余的概率量分配给未见概率。
2. Good-Turing 估计
-
基本思想
假设 是原来训练样本数据的大小, 是在样本中正好出现 次的事件的数目(此处事件为 n-gram),即出现 1 次的n-gram有 个,出现 2 次的 n-gram 有个, ……,出现 次的有 个。
那么:
由于我们要减小r,记为::,所以:
那么,Good-Turing估计在样本中出现r次的事件的概率为:
-
举例说明
假设有如下英语文本,估计2-gram概率:
<BOS>John read Moby Dick<EOS>
<BOS>Mary read a different book<EOS>
<BOS>She read a book by Cher<EOS>
……
从文本中统计出不同 2-gram 出现的次数:
<BOS> John 15
<BOS> Mary 10
……
read Moby 5
……
假设要估计以 read 开始的 2-gram 概率,列出以read开始的所有 2-gram,并转化为频率信息:
得到后,便可计算概率:
其中,N 为以 read 开始的bigram的总数(样本空间),即read出现的次数。那么,以 read开始,没有出现过的 2-gram的概率总和为:
以read作为开始,没有出现过的 2-gram的个数等于:,其中,为语料的词汇量。
那么,没有出现过的那些 以read为开始的概率平均为:
注意:
4. 绝对减值法(Absolute discounting )
-
基本思想
从每个计数 中减去同样的量,剩余的概率量由未见事件均分。
设 为所有可能事件的数目(当事件为n-gram 时,如果统计基元为词,且词汇集的大小为, 则 )。
那么,样本出现了r次的事件的概率可以由如下公式估计:
其中, 为样本中未出现的事件的数目。 为减去的常量,。 是由于减值而产生的剩余概率量。 为样本中出现了 次的事件总次数:。
为自由参数,可以通过留存数据(heldout data)方法求得 的上限为:
5. 线性减值法(Linear discounting )
-
基本思想
从每个计数 中减去与该计数成正比的量(减值函数为线性的),剩余概率量被个未见事件均分。
自由参数 的优化值为:
绝对减值法产生的n-gram 通常优于线性减值法。
6. 四种减值法的比较
数据平滑方法3——删除插值法(Deleted interpolation)
-
基本思想:
用低阶语法估计高阶语法,即当 3-gram 的值不能从训练数据中准确估计时,用 2-gram 来替代, 同样,当 2-gram 的值不能从训练语料中准确估计时, 可以用 1-gram 的值来代替。插值公式:
其中 -
的确定
将训练语料分为两部分,即从原始语料中删除一部分作为留存数据(heldout data)。
第一部分用于估计和 。
第二部分用于计算:使语言模型对留存数据的困惑度最小。
网友评论