NLP基础之语言模型及其评估方法
1. Noisy Channel Model
2. 语言模型
即判断一句话是不是人话。是计算上文noisy channel model 模型中的P(text)。方法是用markov假设。即一个词出现概率只与它前边的一个词有关,与再往前的词无关(bigram)
2.1 Markov Assumption(马尔科夫假设) 与 Unigram(词相互独立)、Bigram(每个词只与前1个词相关联)、trigram(每个词只与前2个词相关联)、N-gram(每个词与前n-1个词相关联)
3. 语言模型评估(Perplexity)
perplexity越小越好。
perplexity公式见下图
拉普拉斯平滑分母加V的原因如下图:保证在已知条件下(今天),所有情况的家和概率为1.
add_k smoothing: 在拉普拉斯平滑基础上加上k进行调节。
如何选择合适的K, 用优化的思想如下图。选一个K使f(k) 的值最小即为目标值。
训练集LM提供的是各词出现的次数及 两次同时出现的次数。可根据上图公式求P。
interpolation方法:
核心:在计算trigram的同时会考虑unigram和bigram
本文内容参考以下文章编写,如有侵权请联系删除。