语料库文本:
研究 生命 起源
研究生 命题 大纲
研究生 招生 信息网
计算3个句子的概率:
p ( 研究 生命 起源 ) = 1 3 p(研究\ 生命\ 起源)=\frac{1}{3} p(研究 生命 起源)=31
p ( 研究生 命题 大纲 ) = 1 3 p(研究生\ 命题\ 大纲)=\frac{1}{3} p(研究生 命题 大纲)=31
p ( 研究生 招生 信息网 ) = 1 3 p(研究生\ 招生\ 信息网)=\frac{1}{3} p(研究生 招生 信息网)=31
问题:以一本书多几本书作为训练集,书中大部分句子不同,所以概率相等,而实际使用模型时,传入的句子在训练集中没有,则会概率为0。
由于句子都是由单词构成的,句子没有重复的,但是单词却是不断重复使用的。所以我们用单词每个单词的概率以数学角度计算句子的概率。
把句子表示成单词列表 w = w 1 w 2 … w k w=w_1 w_2 \dots w_k w=w1w2…wk
p ( w ) = p ( w 1 w 2 … w k ) = p ( w 1 ∣ w 0 ) × p ( w 2 ∣ w 0 w 1 ) × ⋯ × p ( w k + 1 ∣ w 0 w 1 w 2 … w k ) = ∏ t = 1 k + 1 p ( w t ∣ w 0 w 1 w 2 … w t − 1 ) p(w) = p(w_1w_2\dots w_k) \\ =p(w_1|w_0)\times p(w_2|w_0w_1)\times \dots \times p(w_{k+1}|w_0w_1w_2\dots w_k)\\ =\prod_{t=1}^{k+1} p(w_{t}|w_0w_1w_2\dots w_{t-1}) p(w)=p(w1w2…wk)=p(w1∣w0)×p(w2∣w0w1)×⋯×p(wk+1∣w0w1w2…wk)=t=1∏k+1p(wt∣w0w1w2…wt−1)
其中 w 0 = B O S w_0=BOS w0=BOS(Begin Of Sentence,有时也用
), w k + 1 = E O S w_{k+1}=EOS wk+1=EOS(End Of Sentence,有时也用表示)是用来标示句子首尾的两个特殊单词。
p ( w ) = p ( w 1 w 2 … w k ) = p ( w 1 ∣ w 0 ) × p ( w 2 ∣ w 1 ) × ⋯ × p ( w k + 1 ∣ w k ) = ∏ t = 1 k + 1 p ( w t ∣ w t − 1 ) p(w)=p(w_1w_2\dots w_k)\\ = p(w_1|w_0)\times p(w_2|w_1)\times \dots \times p(w_{k+1}|w_k)\\ =\prod_{t=1}^{k+1}p(w_t|w_{t-1}) p(w)=p(w1w2…wk)=p(w1∣w0)×p(w2∣w1)×⋯×p(wk+1∣wk)=t=1∏k+1p(wt∣wt−1)
简单来说,当前词概率只与前一个词有关。
一元则是只与当前词有关,n元则是当前词概率则与前n-1个词有关
隐马尔可夫模型(Hidden Markov Model,HMM)是描述两个时序序列联合分布 p ( x , y ) p(x, y) p(x,y)的概率模型:
x x x序列外界可见,称为观测序列;
y y y序列外界不可见,称为状态序列。
比如观测 x x x为单词,状态 y y y为词性。我们需要根据单词序列去猜测单词的词性。之所以称为“隐”是因为在外界看来,状态序列(例如词性)是隐藏不可见的。
马尔可夫假设,每个事件发生的概率只取决于前一个事件,将满足该假设的连续多个事件串联在一起,就构成马尔可夫链。在NLP中马尔可夫链模型就是二元语法模型。
4个盒子,每个盒子里面有不同数量的红、白两种颜色的球:
盒子 | 1 | 2 | 3 | 4 |
---|---|---|---|---|
红球数 | 5 | 3 | 6 | 8 |
白球数 | 5 | 7 | 4 | 2 |
有放回地抽出5个球: O = { 红 , 红 , 白 , 白 , 红 } O=\{红, 红, 白, 白, 红\} O={红,红,白,白,红}
π = ( 0.25 , 0.25 , 0.25 , 0.25 ) T \pi = (0.25,0.25,0.25,0.25)^T π=(0.25,0.25,0.25,0.25)T
表示第一个球从每个盒子抽取的概率,4个盒子概率相同,则分别是0.5
A = [ 0 1 0 0 0.4 0 0.6 0 0 0.4 0 0.6 0 0 0.5 0.5 ] A=\begin{bmatrix} 0 & 1 & 0 & 0 \\ 0.4 & 0 & 0.6 & 0 \\ 0 & 0.4 & 0 & 0.6\\ 0 & 0 & 0.5 & 0.5 \\ \end{bmatrix} A= 00.400100.4000.600.5000.60.5
第一行表示由第一个盒子 转移 到第一个盒子抽的概率为0,第二个盒子的概率为1,第三个盒子的概率为0,第四个盒子的概率为0
第二行则是第二个盒子转移到每个盒子的概率…
B = [ 0.5 0.5 0.3 0.7 0.6 0.4 0.8 0.2 ] B = \begin{bmatrix} 0.5 & 0.5 \\ 0.3 & 0.7 \\ 0.6 & 0.4 \\ 0.8 & 0.2 \end{bmatrix} B= 0.50.30.60.80.50.70.40.2
4行分别代表4个盒子,第一列则是从盒子中抽红球的概率,第二行表示抽白球的概率
心得:了解了一些基本概念,对模型的使用场景有了简单的了解。