数据平滑 自然语言处理

时间:2021-04-16 01:35:42

问题提出:为了解决训练语料中的零概率问题。平滑处理的基本思想是一种“劫富济贫”,即提高低(零)概率,降低高概率,尽量使得概率分布趋于均匀。

加一平滑方法

假设每个二元语法出现的次数比实际出现的次数多一次,不妨将该处理方法称为加1法。

p ( w i | w I 1 ) = 1 + c ( w i 1 , w i ) w i [ 1 + c ( w i 1 , w i ) ] = 1 + c ( w i 1 , w i ) | V | + w i [ 1 + c ( w i 1 , w i ) ]
加法平滑方法
p ( w i | w I 1 ) = δ + c ( w i 1 , w i ) δ | V | + w i [ 1 + c ( w i 1 , w i ) ]

其中 0 δ 1

Good-Turing估计法

n r r n r

r = ( r + 1 ) n r + 1 n r

对于统计数为r的n元语法,其概率为 p r = r r = 1 n r r
该方法不能直接用于估计 n r = 0 的n-gram概率。也不能实现高阶模型与低阶模型的结合。

Katz平滑方法

p k a t z ( w I 1 i ) = d r c ( w i 1 i ) c ( w i 1 ) r > 0
d r = r r ( k + 1 ) n k + 1 n 1 1 ( k + 1 ) n k + 1 n 1
p k a t z ( w I 1 i ) = α ( w i 1 p M L ( w i ) ) r = 0
α ( w i 1 ) = 1 w j : c ( w i 1 i ) > 0 p k a t z ( w i | w i 1 ) 1 w j : c ( w i 1 i ) > 0 p M L ( w i )
p k a t z ( w i | w i 1 ) = c k a t z ( w i 1 i ) w i c k a t z ( w i 1 i )

Jelinek-Mercer平滑方法

p i n t e r p ( w i | w I n + 1 I 1 ) = λ w I n + 1 I 1 p M L ( w i | w I n + 1 I 1 ) + ( 1 λ w I n + 1 I 1 ) p i n t e r p ( w i | w I n + 2 i 1 )

Witten-Bell平滑方法

p W B ( w i | w I n + 1 I 1 ) = c ( w I n + 1 i ) + | w i : c ( w i n + 1 w i i 1 ) > 0 | p W B ( w i | w I n + 2 I 1 ) w i c ( w i n + 1 i ) + | w i : c ( w i n + 1 w i i 1 ) > 0 |

绝对值减法

p a b s ( w i | w I n + 1 I 1 ) = m a x { ( w i n + 1 i D , 0 ) } w i c ( w i n + 1 i )

Knerser-Ney平滑方法

p K N ( w i ) = N 1 + ( w i ) N 1 + ( )
p K N ( w i | w i n + 2 i 1 ) = N 1 + ( w i n + 2 i 1 ) N 1 + ( w i n + 2 i 1 )

修正的Knerser-Ney平滑方法

修正的KN平滑方法修改 p K N ( w i | w i n + 1 i 1 ) 的表示如下:

p K N ( w i | w i n + 1 i 1 ) = c ( w i n + 1 i ) D ( c ( w i n + 1 i ) ) w i c ( w i n + 1 i ) + γ ( w i n + 1 i 1 ) p K N ( w i | w i n + 2 i 1 )

γ ( w i n + 1 i 1 ) = D 1 N 1 ( w i n + 1 i 1 ) + D 2 N 2 ( w i n + 1 i 1 ) + D 3 + N 3 + ( w i n + 1 i 1 ) w i c ( w i n + 1 i )
D ( c ) = 0 , c = 0 = D 1 , c = 1 = D 2 , c = 2 = D 3 + , c 3

Y = n 1 n 1 + 2 n 2 D 1 = 1 2 Y n 2 n 1 D 2 = 2 3 Y n 3 n 2 D 3 + = 3 4 Y n 4 n 3

Reference:
《统计自然语言处理》