音字转换
S |
da |
jia |
hao |
T1 |
大 |
家 |
好 |
T2 |
打 |
架 |
好 |
为了知道拼音转换成哪一个翻译,我们可以求哪一个概率大
T=max(P(T1),P(T2))
因此需要先求
P(T)
句子概率
那么怎么求一个句子的概率呢?假如一个句子S=w1,w2,…wl由l个词组成。
P(S)=p(w1)p(w2|w1)p(w3|w2,w1)…p(wl|wl−1,wl−2,…w1)=∏i=1lp(wi|wi−1,wi−2,…w1)
但是这有一个问题,假如字典中有L个词,我们计算第i个词的概率时,第
i个词与前
i−1个词
都有关系,就有
Li 种可能,这就太可怕了。
![语言模型 语言模型](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzQxMi9mMTQzNGZjNTc0MzkzNjRjYjE0YWUyNzZiMDRkZGFhNC5wbmc=)
假如我们让第i个词只与第i−1个词有关系,
P(S)=∏i=1lp(wi|wi−1,wi−2,…w1)=∏i=1lp(wi|wi−1)
我们让
w0=<BOS>即开始符,
wl+1=<EOS>即结束符 。这样就只有
L种可能,
我们计算第i个词的概率就不需要再从头开始计算了,只需要就算前一个词就行了(这里指条件概率) ![语言模型 语言模型](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzM3MS9mN2VlMjYxOGQ1ODBjMDY3ZWU0MzM3MmRiNzEwMTQ2My5wbmc=)
掐指一算,这不就是一阶马尔科夫链吗