NLP笔记之 语言模型的平滑技术

基于markov的语言模型,在遇到未登录词时,会将语法合理的句子概率计算为0.这是不合理的。

Add-one Smoothing (laplace smoothing)

P_{MLE}\left ( w_{i}|w_{i-1} \right )=\frac{c\left (w_{i-1}\cdot w_{i} \right )}{c\left (w_{i} \right )}

P_{Add-1}\left ( w_{i}|w_{i-1} \right )=\frac{c\left (w_{i-1}\cdot w_{i} \right ) +1 }{c\left (w_{i} \right ) + V}

分母上加一个V(词典大小)的一个理由,使概率之和为1.

Add-K Smoothing 

P_{Add-k}\left ( w_{i}|w_{i-1} \right )=\frac{c\left (w_{i-1}\cdot w_{i} \right ) +\boldsymbol{{\color{Red} k}} }{c\left (w_{i} \right ) + \boldsymbol{{\color{Red} kV}}}

以perplexity为优化目标,计算最优的

\boldsymbol{k}

Interpolation平滑

核心思想:计算Trigram概率时同时考虑Unigram,Bigram,Trigram出现的频次。

P\left ( w_{n}|w_{n-1},w_{n-2} \right )=\lambda _{1}P\left ( w_{n}|w_{n-1},w_{n-2} \right ) +\lambda _{2}P\left ( w_{n}|w_{n-1} \right ) +\lambda _{3}P\left ( w_{n} \right )

\lambda _{1}+\lambda _{2}+\lambda _{3}=1

Good-Turing平滑

相关文章

python方向·数据分析   ·自然语言处理nlp   案例:中...
原文地址http://blog.sina.com.cn/s/blog_574a437f01019poo....
ptb数据集是语言模型学习中应用最广泛的数据集,常用该数据集...
 Newtonsoft.JsonNewtonsoft.Json是.Net平台操作Json的工具...
NLP(NaturalLanguageProcessing)自然语言处理是人工智能的一...
做一个中文文本分类任务,首先要做的是文本的预处理,对文本...