首页 > 代码库 > 语音识别概率问题,一段在数学之美了看到的话
语音识别概率问题,一段在数学之美了看到的话
如果 S 表示一连串特定顺序排列的词 w1, w2,…, wn ,
换句话说,S 可以表示某一个由一连串特定顺序排练的词而组成
的一个有意义的句子。现在,机器对语言的识别从某种角度来说,
就是想知道 S 在文本中出现的可能性,也就是数学上所说的 S 的
概率用 P(S) 来表示。利用条件概率的公式,S 这个序列出现的
概率等于每一个词出现的概率相乘,于是 P(S) 可展开为:
P(S) = P(w1)P(w2|w1)P(w3| w1 w2)…P(wn|w1 w2…wn-1)
其中 P (w1) 表示第一个词 w1 出现的概率;P (w2|w1) 是在
已知第一个词的前提下,第二个词出现的概率;以次类推。不难
看出,到了词 wn,它的出现概率取决于它前面所有词。从计算
上来看,各种可能性太多,无法实现。因此我们假定任意一个词
wi 的出现概率只同它前面的词 wi-1 有关(即马尔可夫假设),
于是问题就变得很简单了。现在,S 出现的概率就变为:
P(S) = P(w1)P(w2|w1)P(w3|w2)…P(wi|wi-1)…
(当然,也可以假设一个词又前面 N-1 个词决定,模型稍微复
杂些。)
接下来的问题就是如何估计 P (wi|wi-1)。现在有了大量机
读文本后,这个问题变得很简单,只要数一数这对词(wi-1,wi)
在统计的文本中出现了多少次,以及 wi-1 本身在同样的文本中
前后相邻出现了多少次,然后用两个数一除就可以了,P(wi|wi-1)
= P(wi-1,wi)/ P (wi-1)。
也许很多人不相信用这么简单的数学模型能解决复杂的语音
识别、机器翻译等问题。其实不光是常人,就连很多语言学家都
曾质疑过这种方法的有效性,但事实证明,统计语言模型比任何
已知的借助某种规则的解决方法都有效。比如在 Google 的中英
文自动翻译中,用的最重要的就是这个统计语言模型。去年美国
标准局(NIST) 对所有的机器翻译系统进行了评测,Google 的系
统是不仅是全世界最好的,而且高出所有基于规则的系统很多。
现在,读者也许已经能感受到数学的美妙之处了,它把一些
复杂的问题变得如此的简单。当然,真正实现一个好的统计语言
模型还有许多细节问题需要解决。贾里尼克和他的同事的贡献在
于提出了统计语言模型,而且很漂亮地解决了所有的细节问题。
十几年后,李开复用统计语言模型把 997 词语音识别的问题简
化成了一个 20 词的识别问题,实现了有史以来第一次大词汇量
非特定人连续语音的识别。
语音识别概率问题,一段在数学之美了看到的话