3、可能性更大的组合被放到了前面。现在组合可能是舞人月、无人月、无人约、武人月、伍仁月等等。有些组合可能声调不对却仍然被列在了候选中,这是因为识别的时候其它声调也有一些可能性,不能完全排除,万一是人发错了音呢。d)这段语音所有的字都给出之后,语音变成“wu-rcn-yueblng”。这时候,大多数人的第一反应大概就是“五仁月饼”。当然其它的可能性也不是没有,但要比这个汉字组合的可能性小。如果用拼音输入法,依次输入上述拼音的时候,可以看到候选项的变化如下。当然每个人的候选是不相同的,它会根据个人的习惯改变候选排序。使用语音输入法,通常给出的都是可能性最大的一个结果,所以看不到候选。但可以通过输入的语音,观察随着语音长度变化,识别结果的变化。3、进阶版先祭出公式:表示其中3中上式中W表示汉字序列,Y表示语音输入。公式1语音识别的目标是在给定语音输入的情况下,找到可能性最大的汉字序列。根据BayeRule,可以得到公式2,分母表示出现这条语音的概率,它同要求解的汉字序列没有参数关系,可以在求解时忽略,进而得到公式3。公式第一部分
4、表示给定一个汉字序列出现这条音频的概率,它就是语音识别中的声学模型;第二部分表示出现这个汉字序列的概率,它就是语音识别中的语言模型。声学模型可以理解为是对发声的建模,因此它能够把语音输入转换成声学表示的输出,或者简单的理解成拼音的输出。如果给定了唯一的拼音序列,要求解汉字序列,那么这个问题就简化成了同拼音输入法类似的问题。当然声学模型的输出不是唯一的拼音序列,而是很多种拼音序列组成的网格(lattice),所以声学模型的解码要比输入法的设计复杂。抛开声学模型,我们假定已经知道了唯一的拼音序列,现在只需求解汉字序列,问题简化成了通俗易懂版本。下面我们来看语言模型如何在发挥作用,排除多音字的干扰。关于语言模型,目前最常见的是N-Gram语言模型和基于RNN的语言模型,这里先介绍下N-gram的语言模型。首先考虑给定一句话:其中是统计基元,可以是字、词、短语等。这个句子的概率有下面的公式来计算:从公式中可以看到的概率由决定,由特定的一组构成的序列,称为的历史。随着历史基元数量的增加,不同的“历史”(路径)按指数级增长。对于第i(i
5、>1)个统计基元,历史基元的个数,i-1,如果共有L个不同的基元,如词汇表,理论上每一个单词都有可能出现在1到i-1的每一个位置上,那么,i基元就有种不同的历史情况。我们必须考虑在所有的种不同历史情况下产生第i个基元的概率。那么中有个自由参数。如果L=5000,m=3,自由参数的数目为1250亿。这个参数量显然是无法接受的。为了减少参数,我们考虑n阶马尔科夫链,即认为当前词只跟它之前出现的n个词有关系,那么对于单个词的概率则由变成。a)当n=1时,即出现在第i位上的基元wi独立于历史,n-gram被称为一阶马尔柯夫链(uni-gram或monogram)b)当n=2时,n-gram被称为2阶马尔柯夫链(bi-gram)c)当n=3时,n-gram被称为3阶马尔柯夫链(tri-gram)。为了保证条件概率在i=1时有意义,同时为了保证句子内所有字符串的概率和为1,可以在句子首尾两端增加两个标志w1w2,wm。据此,对于n>2的n-gram,上述整句的概