解决因该词词典中不存在而句子概率为零问题----------------Smoothing

  • Add-one Smoothing即Laplace Smoothing 拉普拉斯平滑

    • MLE(最大似然估计)
      P M L E ( w i w i 1 ) = c ( w i 1 , w i ) c ( w i ) \mathrm{P}_{\mathrm{MLE}}\left(\mathrm{w}_{\mathrm{i}} | \mathrm{w}_{\mathrm{i}-1}\right)=\frac{\mathrm{c}\left(\mathrm{w}_{\mathrm{i}-1}, \mathrm{w}_{\mathrm{i}}\right)}{\mathrm{c}\left(\mathrm{w}_{\mathrm{i}}\right)}
      其中c代表语料库词频 C ( W i 1 , W i ) \mathbf{C}\left(\mathbf{W}_{\mathbf{i}-1}, \mathbf{W}_{\mathbf{i}}\right) 为在Wi出现之后, Wi-1出现多少次
    • Add-one
      P A d d 1 ( w i w i 1 ) = c ( w i 1 , w i ) + 1 c ( w i ) + V P_{A d d-1}\left(w_{i} | w_{i-1}\right)=\frac{c\left(w_{i-1}, w_{i}\right)+1}{c\left(w_{i}\right)+V}
      V为语料库中的总单词量
  • Add-k Smoothing
    P A d d k ( w i w i 1 ) = c ( w i 1 , w i ) + k c ( w j ) + k V \mathrm{P}_{\mathrm{Add}-\mathrm{k}}\left(\mathrm{w}_{\mathrm{i}} | \mathrm{w}_{\mathrm{i}-1}\right)=\frac{\mathrm{c}\left(\mathrm{w}_{\mathrm{i}-1}, \mathrm{w}_{\mathrm{i}}\right)+\mathrm{k}}{\mathrm{c}\left(\mathrm{w}_{\mathrm{j}}\right)+\boldsymbol{k} \mathrm{V}}
    超参数 k :

    • 人工选择
    • 机器自动选择:
      • 在训练语言模型的时候 ,用语言模型的验证集语料库来计算语言模型的perplexity,即
        p e r p l e x i t y ( L M ) = f ( k ) perplexity(LM)=f(k)
        k k ^ = arg m i n f ( k ) 最合适的k为 \hat{k}=\arg min f(k)
  • Interpolation
    解决只考虑Trigram时概率为零问题
    在计算Trigram概率时同时考虑Unigram,Bigram, Trigram出现的频次,即把几个语言模型做一个加权平均,即
    p ( w n w n 1 , w n 2 ) = λ 1 p ( w n w n 1 , w n 2 ) + λ 2 p ( w n w n 1 ) + λ 3 p ( w n ) λ 1 + λ 2 + λ 3 = 1 \begin{aligned} \mathrm{p}\left(\mathrm{w}_{\mathrm{n}} | \mathrm{w}_{\mathrm{n}-1}, \mathrm{w}_{\mathrm{n}-2}\right)=& \lambda_{1} \mathrm{p}\left(\mathrm{w}_{\mathrm{n}} | \mathrm{w}_{\mathrm{n}-1}, \mathrm{w}_{\mathrm{n}-2}\right) \\ &+\lambda_{2} \mathrm{p}\left(\mathrm{w}_{\mathrm{n}} | \mathrm{w}_{\mathrm{n}-1}\right) \\ &+\lambda_{3} \mathrm{p}\left(\mathrm{w}_{\mathrm{n}}\right) \\ \lambda_{1}+\lambda_{2}+\lambda_{3}=1 \end{aligned}

  • Good-Turning Smoothing
    分一些概率给目前没有出现单词

    • 没有出现的单词
      最大似然估计(MLE),Good-Turning Smoothing(GT)
      N n \mathrm{N}_{n} 即语料库中频数为n的单词个数
      P M L E = 0 P G T = N 1 N \begin{aligned} &\mathrm{P}_{\mathrm{MLE}}=0\\ &\mathrm{P}_{\mathrm{GT}}=\frac{\mathrm{N}_{1}}{\mathrm{N}} \end{aligned}
    • 已出现的单词
      c为已出现单词的频数

P M L E = c N P G T = ( c + 1 ) N c + 1 N c N \begin{array}{l} {P_{M L E}=\frac{c}{N}} \\ {P_{G T}=\frac{(c+1) N_{c+1}}{N_{c}*N}} \end{array}

发布了542 篇原创文章 · 获赞 133 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/qq_41228218/article/details/103815834