N元语法模型(语言模型)

目录

简单的(非平滑)N元语法模型

语言模型的评测方法

外部评测

内部评测

平滑方法

Laplace Smoothing(Add-one Smoothing)

Add-K Smoothing

Interpolation(插值法)

Good-Turing Smoothing

缺点

Katz回退法(Katz Backoff)

Kneser-Ney Smoothing


简单的(非平滑)N元语法模型

马尔可夫假设

unigram/bigram/trigram

Noisy Channel Model     https://www.cnblogs.com/hapjin/p/8012069.html

语言模型的评测方法

外部评测

通过查看该模型在实际应用(如拼写检查、机器翻译)中的表现来评价,优点是直观、实用,缺点是缺乏针对性、不够客观且耗时

内部评测

困惑度(preplexity)

N-gram Model

平滑方法

对于各类平滑方法总结比较好的一篇文章

https://blog.csdn.net/baimafujinji/article/details/51297802

Laplace Smoothing(Add-one Smoothing)

N-gram Model

Add-K Smoothing

N-gram Model

K该如何选择?

1.穷举K

2.以优化的角度来找到K值

N-gram Model

Interpolation(插值法)

N-gram ModelN-gram Model

 

Good-Turing Smoothing

本方法的实质就是利用出现次数为一次的元素的频率个数作为零计数的一元语法的频率来估计概率大小。

N-gram Model

我们先定义出现次数为c次的单词的个数记为N-gram Model

N-gram Model的最大似然估计MLE的计数为c,Good-Turing利用出现次数为c+1的事物的概率来估计该语料库中出现次数为c次的事物的概率,记为c*

N-gram Model

具体例子:

N-gram Model

缺点

估计c*时要依赖于N-gram Model,但N-gram Model有时无法求出,可能为0.

解决办法为simple Good-Turing,利用线性回归来计算N-gram Model(具体见自然语言处理总论4.5.3)

Katz回退法(Katz Backoff)

N-gram Model

Kneser-Ney Smoothing

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相关文章: