目录
\[\begin{equation}
P(S)=P(w_1,w_2,w3,\cdots,w_n)
\end{equation}\]
根据条件概率公式:
\[\begin{equation}
=P(w_1|<s>)P(w_2|w_1)P(w_3|w_1,w_2),\cdots,P(w_i|w_1,w_2,w_3,\cdots,w_{i-1}),P(w_n|w_1,w_2,w_3,\cdots,w_{n-1}))
\end{equation}\]
根据马尔可夫假设:
当N=2,二元模型
\[ \approx P(w_1|<s>)P(w_2|w_1)P(w_3|w_2)P(w_i|w_{i-1})P(w_n|w_{n-1}) \]
当N=3,三元模型
\[
\begin{equation}
=P(w_1|<s>)P(w_2|w_1)P(w_3|w_1,w_2)P(w_4|w_1,w_2,w_3)P(w_5|w_2,w_3,w_4),\cdots,P(w_i|w_{i-3},w_{i-2},w_{i-1}),P(w_n|w_{n-3},w_{n-2},w_{n-1}))
\end{equation}
\]
N元模型
\[ =P(w_1|<s>)P(w_2|w_1)P(w_3|w_1,w_2),\cdots,P(w_i|w_{i-1-N},\cdots,w_{i-1}),P(w_n|,w_{n-1-N},\cdots,w_{n-1})) \]
马尔可夫假设推导形成的常见语言模型
| N=1 | Unigram | 一元语言模型 |
| --- | --- | --- |
| N=2 | Bigram | 二元语言模型 |
| N=3 | Trigram | 三元语言模型 |
| N=? | N-gram | N元gram模型 |
对于任意给定单词\(w_i\),\(P(w_i)\)当取二元模型时:
\[
\begin{equation}
P(w_i) = \frac{
P(w_{i-1},w_i)
}{
P(w_{i-1})
}
\label{eq:qmath}
\end{equation}
\]
$ P(w_{i-1},w_i)\(是联合概率,\)P(w_{i-1})$是边缘概率。我们要计算这两个的概率,需要用到大数定理。当有大量重复事件时,事件发生的频率接近于概率。
\[
\begin{equation}
f(w_{i-1},w_i)=\frac{\#(W_{i-1},w_i)}{\#}
\end{equation}
\]
\[
\begin{equation}
f(w_{i-1})=\frac{\#(W_{i-1})}{\#}
\end{equation}
\]
当统计量足够,相对频度和概率就几乎相等。(同时这个地方的假设我个人认为也是对我们的语料库提出了要求。)
\[
\begin{equation}
f(w_{i-1},w_i)=\frac{\#(W_{i-1},w_i)}{\#}\approx P(w_{i-1},w_i)
\end{equation}
\]
\[
\begin{equation}
f(w_{i-1})=\frac{\#(W_{i-1})}{\#}\approx P(w_{i-1})
\end{equation}
\]
\[
\begin{equation}
P(w_i|w_{i-1})=\frac{P(w_{i-1},w_i)}{P(w_{i-1})}\approx \frac{f(w_{i-1},w_i)}{f(w_{i-1})}
=\frac{\frac{\#(w_{i-1},w_i)}{\#}}{\frac{\#(w_{i-1})}{\#}}
=\frac{\#(w_{i-1},w_i)}{\#(w_{i-1})}
\end{equation}
\]
联合概率
边缘概率
条件概率
马尔可夫假设
大数据定理
语料库
相对频度
费里尼克
马尔可夫
李开复
罗赛塔
使用语言模型的条件是得知道所有词的出现条件概率值,然后将他们按照预测的句子概率相乘得到句子概率。所以我们需要先计算每一个的条件概率,这些概率值我们称为模型的参数。通过对语料的统计,得到这些参数的过程称作模型的训练。
假如我们使用二元统计语言模型,根据前面的推理公式有:
\[ P(S)\approx P(w_1|<s>)P(w_2|w_1)P(w_3|w_2)P(w_i|w_{i-1})P(w_n|w_{n-1}) \]
\[
\begin{equation}
P(w_i|w_{i-1})=\frac{P(w_{i-1},w_i)}{P(w_{i-1})}\approx \frac{f(w_{i-1},w_i)}{f(w_{i-1})}
=\frac{\frac{\#(w_{i-1},w_i)}{\#}}{\frac{\#(w_{i-1})}{\#}}
=\frac{\#(w_{i-1},w_i)}{\#(w_{i-1})}
\end{equation}
\]
我们考虑以下两种情况
当$#(w_{i-1},w_i)=1,#(w_{i-1})=1 \(,即该联合词和前面的词在语料库中只出现一次。则,\)P(w_i|w_{i-1})=1=100%$.
以上两种情况,从数学的推导上面看似是没有问题,但是我们结合现实情况考虑以下,这样的结论是否是完备和太过于绝对。即当该词在语料库中一次都没有我们就说这个不合理,当两个都出现1次就一定会出现,显然语料库是有可能不完整和充分的。因此这样的结论和概率是不合适的,需要我们解决该问题。
运用更为通俗的学生例子加以解释
古德图灵估计-3元模型
\[
P(w_i|w_{i-2},w_{i-1})= \left\{
\begin{aligned}
f(w_i|w_{i-2,w_{i-1}}) &&& if \#(w_{i-2},w_{i-1},w_i) >=T \f_{gt}(w_i|w_{i-2},w{i-1}) &&& if 0<\#(w_{i-2},w_{i-1},w_i)< T \Q(w_{i-2},w_{i-1}) \cdot P(w_i|w_{i-1}) &&& otherwise \\end{aligned}
\right.\]
对语料数据,处理中,对于一些有规律、模式的噪声应该加以清除过滤。
zipf定律
卡茨退避法
不平滑模型,即条件概率大部分为0的模型。
概率估计,统计语言模型的训练好坏的艺术就是在统计样本不足的情况下如何更好的概率估计。
古德图灵估计(Good-Turing Estimate)
中文语料库是否具备zipf定律,如何运用中文语料库和英文语料库进行重现。
http://www.52nlp.cn/%E4%B8%AD%E8%8B%B1%E6%96%87%E7%BB%B4%E5%9F%BA%E7%99%BE%E7%A7%91%E8%AF%AD%E6%96%99%E4%B8%8A%E7%9A%84word2vec%E5%AE%9E%E9%AA%8C
吴恩达马尔可夫
http://open.163.com/movie/2008/1/2/N/M6SGF6VB4_M6SGKSC2N.html
吴恩达序列模型-nlp
https://mooc.study.163.com/learn/2001280005?tid=2001391038#/learn/content
原文:https://www.cnblogs.com/luomgf/p/10971773.html