用于语音识别的设备,方法,计算机***和存储介质
本发明涉及用于语音识别的设备和方法,特别地涉及用于语音识别的设备以及因此识别文本形式的自然人类语言并准备自动地去除被称为不流畅词的无意义单字后的文本数据的方法。
存在已知的使用声音模型和语言模型用于识别语音的统计方法,这些方法的一些例子在诸如“连续语音识别的最大概率方法”(L.R。Bahl等,IEEE学报卷PAMI-5第2期,1983年3月)和“基于字的大字汇量连续日语语音识别方法”(Nishimura等,日本信息处理协会,卷40第4期,1999年4月)等论文中被描述。这些方法的要点如下:文本W被生成并被发音;该语音被一声音处理器处理为一系列信号,从中语音的特征X被提取;然后使用这些X和W,并根据下面的表达式,W’作为最适合的识别结果被输出;从而文本被构造。
[表达式1]
即,当一字序列W被说出时所说的特征(X)的概率P(X|W)被乘以W本身的概率P(W),使乘积最大(argmax)的字序列W’被选作识别结果。
声音模型在此被用于计算前一概率P(X|W),使这概率足够大的字被选作识别结果的候选。另一方面,经常被用于估算后一概率P(W)的是语言模型,更具体地,N-gram模型。这是一种基于一组连续N(整数)个字的概率估算一整个文本,一字序列W的出现概率的方法,被表示为下面表达式的形式:
[表达式2]
在这个表达式中假设字w[n]的概率只依赖于N-1(整数)个直接在正被讨论的字前面的字。N的值可以改变,但是折中模型的有效性和需要学习的数据大小,通常令N=3。表达式2也显示了N=3的情形。假设由m(整数)个字组成的文本W的第n个字此后被表示为w[n],那么字序列W的概率被计算为所有w[n]在所说的N-1(即2)个字出现的条件下出现的概率,即P(w[n]|w[n-2],w[n-1]),的乘积。这里,在所说的表达式中,在|左边的(w[n])指示识别的目标单字,而在|右边的(w[n-2],w[n-1])表示在目标单字直接前面的两个字,这两个字组成了用于预测字w[n]的条件。每个不同的字w[n]的条件概率P(w[n]|w[n-2],w[n-1])通过对文本数据的学习得到,其中文本数据被单独准备并以字典形式的数据库被存储,例如字“word”在文本开头出现的概率是0.0021,字“search”紧接在字“word”后面的概率是0.001,等等。
上面的N-gram模型对于识别从准备好的文本中读取的语音已足够好,但是在语音识别的应用领域中很少给出书面文本,在该技术的实际应用中重要的是识别自然语音。在这些情况下,不仅具有语义内容或意义的正常字被说出,而且诸如“well”和“you know”一类的***语以及诸如“um”和“er”一类无意义的字也被发音。这些字被称为不必要的字或不流畅词(disfluencies)。需要研究出能够处理不流畅词的N-gram模型以自动地把它们去除。
为上述目的提出的对N-gram模型的传统扩展利用了“透明单字”的概念。其中一些提出的扩展在诸如“在基于字的N-gram语音识别***中处理字典外单字和填充的停顿”(Kai等,日本信息处理协会,卷40第4期,1999年4月)和“广播新闻录音研究”(Nishimura,Ito,日本声学协会秋季会议论文集,1998)一类的报告中被描述。举例来说,在前面的报告中描述的扩展模型中,假设不流畅词在字组并因而N-gram间的出现相对独立,在学习和识别过程中计算概率时忽略不流畅词的存在,这是对关联事件的限制,不能期望它有效。举例来说,如果字w[n-1]是一个不流畅词,字w[n]的概率被估计为P(w[n]|w[n-3],w[n-2]),忽略了w[n-1],而不是计算为P(w[n]|w[n-2],w[n-1])。一个不流畅词是这样被忽略或遗漏的字,被称为“透明单字”。在此模型中的概率计算假设不流畅词在非不流畅词单字(正常字)间以相同的概率出现。
但是,一些报告说,不流畅词实际上不携载信息并在正常单字间独立出现的假设在英语中是不成立的。举例来说,在题为“语音不流畅词的统计语言模型”(A.Stolcke,E。Shriberg,ICASSP96论文集)的论文中指出,作为普通N-gram应用于不流畅词的结果,与透明单字模型相比,预测在一不流畅词后面单字的准确性提高了。然而,正如从上面对透明单字的说明中显而易见的,由于不流畅词的性质经验上不同于正常字,在字序列中包含不流畅词作为简单的连续序列不是最好的解决方案。
另一方面,最近的语音识别***通常用于听写的目的,经常使用在两个或多个语言模型间插补的方法。这种技术用在当用作基本模型的通用模型不能有效地处理诸如计算机,体育等专业领域的特殊文本时,关于该专业领域的语言模型被与通用的语言模型一起使用,该专业领域的语言模型已经学习了被讨论领域的特殊文本。在这种方法中,概率被如下计算:
Pr(w[n]|w[n-2],w[n-1])=λP1(w[n]|w[n-2],w[n-1])+(1-λ)P2(w[n]|w[n-2],w[n-1])其中P1指示一通用语言模型,P2指示专业领域的语言模型,λ是插补系数,通过实验被设置为一优化的值。
本发明的目标是提供具有比传统的类似技术有更高识别准确度的语音识别设备和语音识别方法。
本发明的又一目标是提高不流畅词附近的部分文本中字的预测准确度。
本发明通过将字区分为不流畅词和非不流畅词的正常字,并将所说的插补方法以不同的方式应用于包含不流畅词的字序列来提高不流畅词附近的部分文本中字的预测准确度,其中应用插补方法的不同方式是根据所说的区分是在被预测的字中还是在组成预测的一个条件的前导字中。
更具体地,本发明提供用于语音识别的设备,包括用于将模拟语音输入信号转换为数字信号的声音处理装置;存储声音模型的存储装置,该声音模型具有已学习的声音特征;存储字典的另一存储装置,该字典包含第一语言模型,该模型具有以前学习的由不流畅词和正常的非不流畅词字(正常字)组成的文本,以及第二语言模型,该模型具有仅由忽略了不流畅词的正常字组成的已学习的文本;以及使用所说的声音模型和所说的字典计算关于所说的数字信号的概率的装置,以把显示最高概率的字识别为输入语音。
本发明还提供一计算机***,包括模拟输入装置;用于将所说的模拟语音转换为数字信号的处理装置;存储声音模型的存储装置,该模型具有已学习的声音特征;存储字典的另一存储装置,该字典包含第一语言模型,该模型具有以前学习的由不流畅词和正常的非不流畅词字(正常字)组成的文本,以及第二语言模型,该模型具有仅由忽略了不流畅词的正常字组成的已学习的文本;使用所说的声音模型和所说的字典计算关于所说的数字信号的概率的装置,以把显示最高概率的字识别为输入语音;以及用于显示识别结果的显示装置。
本发明进一步提供一种用于语音识别的方法,该方法将模拟语音输入信号转换为数字信号;存储一字典,该字典包含第一语言模型,该模型具有以前学习的由不流畅词和正常的非不流畅词字(正常字)组成的文本,以及第二语言模型,该模型具有仅由忽略了不流畅词的正常字组成的已学习的文本;使用所说的声音模型和所说的字典计算关于所说的数字信号的概率,以把显示最高概率的字识别为输入语音。
本发明还提供一种用于语音识别的方法,该方法接收模拟语音输入;将所说的模拟语音转换为数字信号;存储一字典,该字典包含第一语言模型,该模型具有以前学习的由不流畅词和正常的非不流畅词字(正常字)组成的文本,以及第二语言模型,该模型具有仅由忽略了不流畅词的正常字组成的已学习的文本;使用所说的声音模型和所说的字典计算关于所说的数字信号的概率,以把显示最高概率的字识别为输入语音;并显示识别的结果。
此外,本发明提供可被包含一计算机程序的计算机读取的存储介质,该介质存储一声音模型,也存储一字典,该字典包含第一语言模型,该模型具有以前学习的由不流畅词和正常的非不流畅词字(正常字)组成的文本,以及第二语言模型,该模型具有仅由忽略了不流畅词的正常字组成的已学习的文本;所说的计算机程序被设计来使用所说的字典计算关于数字信号的概率,该数字信号从输入到计算机的模拟语音信号转换而来,以把显示最高概率的字识别为输入语音。
本发明进一步提供存储一字典的存储介质,该字典包含第一语言模型,该模型具有以前学习的由不流畅词和正常的非不流畅词字(正常字)组成的文本,以及第二语言模型,该模型具有仅由忽略了不流畅词的正常字组成的已学习的文本。
本发明进一步提供用于对由不流畅词和正常的非不流畅词字(正常字)组成的文本进行语音识别的设备,该设备包含用于判断作为识别的目标输入的单字是否是一个正常字的装置;用于在所说的输入单字已经被判断为正常字时进一步判断是否构成将输入单字识别为仅由正常字组成的必要条件的装置;以及用于在所说的条件字被判断为不仅包含正常字,还包含不流畅词时通过使用一字典计算所说的概率的装置,该字典包含第一语言模型,该模型已经学习了由不流畅词和正常的非不流畅词字(正常字)组成的文本,以及第二语言模型,该模型已经学习了仅由忽略了不流畅词的正常字组成的文本,从而把显示最高概率的字识别为输入语音。
本发明进一步提供用于对由不流畅词和正常的非不流畅词字(正常字)组成的文本进行语音识别的方法,该方法包含用于判断作为识别的目标输入的单字是否是一个正常字的步骤;用于在所说的输入单字已经被判断为正常字时进一步判断是否构成将输入单字识别为仅由正常字组成的必要条件的步骤;以及用于在所说的条件字被判断为不仅包含正常字,还包含不流畅词时通过使用一字典计算所说的概率的步骤,该字典包含第一语言模型,该模型已经学习了由不流畅词和正常的非不流畅词字(正常字)组成的文本,以及第二语言模型,该模型已经学习了仅由忽略了不流畅词的正常字组成的文本,从而把显示最高概率的字识别为输入语音。
本发明进一步提供包含可被计算机读取的存储介质,该计算机包含用于对由不流畅词和正常的非不流畅词字(正常字)组成的文本进行语音识别的计算机程序,其中该计算机程序被设计为使计算机执行用于判断作为识别的目标输入的单字是否是一个正常字的过程;用于在所说的输入单字已经被判断为正常字时进一步判断是否构成将输入单字识别为仅由正常字组成的必要条件的过程;以及用于在所说的条件字被判断为不只包含正常字,还包含不流畅词时通过使用一字典计算所说的概率的过程,该字典包含第一语言模型,该模型已经学习了由不流畅词和正常的非不流畅词字(正常字)组成的文本,以及第二语言模型,该模型已经学习了仅由忽略了不流畅词的正常字组成的文本,从而把显示最高概率的字识别为输入语音。
本发明进一步提供用于语音识别的设备,该设备包含一声音处理设备,并用于将模拟语音输入信号转换为数字信号;第一存储设备,该设备存储具有已学习的声音特征的声音模型;第二存储设备,存储一字典,该字典包含第一语言模型,该模型具有以前学习的由不流畅词和正常的非不流畅词字(正常字)组成的文本,以及第二语言模型,该模型具有仅由忽略了不流畅词的正常字组成的已学习的文本;以及连接到所说的声音处理设备和所说的第一和第二存储设备的设备,用于使用所说的声音模型和所说的字典计算关于所说的数字信号的概率,以把显示最高概率的字识别为输入语音。
本发明进一步提供包含一输入模拟语音的输入设备的计算机***;连接到所说的输入设备用于将所说的模拟语音转换为数字信号的转换设备;存储具有已学习的声音特征的声音模型的第一存储设备;存储字典的第二存储设备,该字典包含第一语言模型,该模型已经学习了由不流畅词和正常的非不流畅词字(正常字)组成的文本,以及第二语言模型,该模型已经学习了仅由忽略了不流畅词的正常字组成的文本;连接到所说的转换设备以及所说的第一和第二存储设备的设备,该设备使用所说的声音模型和所说的字典计算关于所说的数字信号的概率,以把显示最高概率的字识别为输入语音;以及用于显示识别结果的显示设备。
图1是显示本发明结构的块图。
图2是显示一计算机***例子的附图,通过该计算机***本发明得以实现。
图3是在本发明中使用的字典的一示例。
图4是显示本发明的处理过程的流程图。
图5是显示本发明的处理过程的流程图。
图6是显示语音识别的处理过程的流程图。
符号描述
110:语音识别装置
210:麦克风
220:计算机
221:声卡
222:存储器
223:中央处理器
230:显示设备
图1是显示本发明结构的块图。在块101中生成的文本W(即实际文本)被发音为S(102)。通常一说话人使文本的生成和发音发生。语音S是一声音序列,不仅包含文本W,还包含诸如“well”,“um”,等等的不流畅词。输入语音S被语音识别装置110的声音处理器111转换为一系列信号X,并随后被存储。转换后的信号X在语言解码器112通过从实际文本W和不流畅词的混合物中提取出被认为有意义的字,使用具有已学习的声音特征的声音模型113以及通过下文描述的学习过程事先准备的语言模型的字典114,被处理为识别结果W’。这样一个处理序列有时被称为对以声音形式编码的数据中有意义数据的解码。然后作为识别结果产生的文本被显示(120)。
接下来,图2显示本发明得以实现的典型设备***。由一说话者说出的语音通过麦克风210被作为模拟信号输入,被声卡221转换为数字信号,并被存储在存储器222,声卡221和存储器222都是计算机220的组成部分。需要指出,只要能实现上述功能,任何已有的硬件和软件都可被用于本发明。此外,一声音模型和包含通过下文描述的学习过程事先准备的语言模型的字典也被存储在存储器中。CPU223使用字典实现从被转换和存储的信号中的语言解码,并在显示设备230上显示识别结果。还需要指出,麦克风既可以作为计算机的组成部分,也可以作为显示设备的组成部分,此外识别结果也可以通过打印机打印在纸上,而不是被显示在使用CRT或液晶的显示设备上。
图1中显示的块图与图2中显示的***之间对应的例子如下:声音处理器的功能的前一阶段由麦克风,声卡和存储器实现;声音模型和字典(语言模型)被存储在存储器中;声音处理器功能的后一阶段以及语言解码使用CPU来执行(CPU是必须的,因为在声音处理器中的处理不仅涉及简单的向数字信号的转变,还涉及诸如提取特征X之类的处理)。文本的显示在显示设备上完成。但是这些联系不是固定的;例如,存储转换后的信号的存储器和存储字典的存储器在物理上不必是同一个存储器。但是,在这种情形下,可以把这分开的存储器认为是单个存储器设备。
如上面描述的,本发明的目的是通过将字区分为不流畅词和非不流畅词的正常字,并进一步将插补方法以不同的方式应用于包含不流畅词的字序列来提高不流畅词附近的部分文本中字的预测准确度,其中应用插补方法的不同方式是根据所说的区分是在被预测字中还是在组成预测的一个条件的前导字中。此后将详细描述。
不流畅词字的一个显著特征是该字所携载的信息对于预测后续字的贡献度是不清楚的。因此,作为背景技术描述的透明字模型的基本思想是为预测字起见忽略不流畅词而使用被忽略的不流畅词前面的正常字是更可取的。另一方面,正常(或典型)N-gram模型的基本思想是用于预测一个字的最有用的信息是在该字前面的字。在这种情况下,准备基于上述两种方法的多个语言模型并在这些模型间插补来实施字的预测。学习和计算概率的特定过程如此后描述的那样发生。为方便说明,N=3(3-gram)被应用于下面所有的说明中。
首先,在图3中显示的字典300通过基于事先准备的文本数据的学习被创建。基于两种模型的字典以下面描述的方式被创建。注意在两种模型中,举例来说,当不流畅词连续出现,在学习时连续的disfluences可以被当作一个来处理。
1.每个正常字的3-gram概率使用去除了不流畅词只包含正常字的学习文本数据被学习。即这是基于上面说明的透明单字模型思想的语言模型。该模型被称为U模型(310)。
2.包含不流畅词的文本被学习。这里,进一步有下面两种情形:(这里wfil指示一个不流畅词)
(1)在被预测的字是一个不流畅词wfil的情形下,3-gram概率,即P(wfil|w[n-2],w[n-1]),被学习。这里存在一种可能,举例来说,其中一个前导字w[n-1]是正常字,而另一个前导字w[n-2]是一个不流畅词。在这种情形下,w[n-2]被跳过而字w[n-3]被引入条件中,学习的目标变为P(wfil|w[n-1],w[n-3]),即条件被改变以去除不流畅词。
(2)在被预言的字是一个正常字而在其前面的字是一个不流畅词的情形下,2-gram概率P(w[n]|wfil)被学习,只使用不流畅词作为条件。即这是在正常字前面是一个不流畅词的情形下的概率。
如上面所述,这些学习过程的本质是,对于不流畅词和正常字,概率的学习被分开实施,不管这些字是组成条件还是被预测的字。2(1)和2(2)的结果放在一起组成模型D(320)。
然后根据图4所示的流程图,使用通过上面描述的学习被准备的字典,用于识别的概率计算被实施。关于图4的说明在此后给出。
首先,基于关于被声音处理器转换的语音信号的使用声音模型的计算结果,字被选择(400)作为识别的候选字。在这一步,用于识别的候选字的数目被减少为,比如,几百。其次,每个候选字是正常字还是不流畅词的判断(410)被作出。这个判断的理由在于依据本发明,概率计算依赖于目标字是正常字或不流畅词而不同。
在候选字是一个正常字w[n]的情况下,进一步检查条件w[n-2],w[n-1]是否仅由正常字组成(420)。如果条件w[n-2],w[n-1]仅由正常字组成,对w[n]的预测。即概率计算通过模型U的P(w[n]|w[n-2],w[n-1])被实现。
当将被识别的字是一个正常字w[n],但是条件被判断为包含一不流畅词时,同时使用模型U和模型D计算概率(440)。
根据本发明的模块440此后被更详细地说明。当将被识别的字是正常字w[n],在条件中是否存在不流畅词的判断被作出(510)。然后,如果在被识别的字前面的字w[n-1]是一个不流畅词,该字被忽略并向后检索直到一个正常字被遇到。然后w[n]的概率通过在采用遇到的正常字为条件依据模型U的概率和在前导字为不流畅词的条件下依据模型D的概率之间插补被计算(520)。概括地说,被讨论的概率Pr根据下面表达式被计算:
Pr=λPU(w[n]|w[n-2],w[n-1])+(1-λ)PD(w[n]|wfil)其中PU是依据模型U的概率,而PD是依据模型D的概率。λ是一个插补系数,将通过实验被设置为一个优化的值:举例来说,在一系列实验中,插补系数λ的值从0到1以0.1的间隔变化,产生关于包含不流畅词的语音数据的最高识别精度的值将被接受。
当一个将被识别的字是不流畅词w[n],并且条件w[n-1],w[n-2]含有不流畅词,字被向后检索跳过不流畅词(530)直到第一和第二个正常字w[n-i],w[n-j]被遇到,然后依据模型D的概率被计算,该概率PD(w[n]|w[n-i],w[n-j])采用遇到的正常字作为条件。
基于上面的结果,将被预测的字依据语言模型的概率被计算(460)。这里,显示最高概率的字可以作为被识别的字显示,或者,反之,从上面的预测结果开始,候选字的数目可以被进一步减少到大约100个,关于被选择字的依据声音模型的概率可以被再次仔细计算以得到识别结果。
如上面所述,根据本发明,正常字和不流畅词的作用在概率计算中以更适当的比例被考虑,这是由于不流畅词和正常字之间或者作为被预测的字或者作为条件时的区别,根据上述区别被分开学习,以及概率计算时在两种模型间插补。
注意,根据本发明,将插补系数λ的值设置为一个优化的值对于得到好的结果是重要的。但是,有许多因子影响λ的值,诸如不流畅词的出现频率,被学习的文本的大小,等等,因此很难从理论上检验它们各自的效果。因此λ的值经常基于通过实验获得的指示每种语言模型有效性的值来被确定。
被称为费解性(perplexity)的统计通常被用于测量一个语言模型的有效性。其详细定义在诸如“语音数据的数字信号处理”(Kano等,Shokodo,1997)之类的论文中被描述。然而,从直觉上,perplexity是用于识别的字汇表的全部大小通过使用语言模型被减少的度的指示器,举例来说,从原来的60000字到相当于某某数目的目标字。Perplexity的数字越小,模型越好。
举例来说,在通过电视讲座录音准备的包含约一百万字的文本的情形下,优化的λ值是0.2。然后perplexity被计算:透明字模型的perplexity是225.0,而本发明的模型的perplexity值为195.1,改进了约13%。熟悉此技术的人应当理解,与在这个领域的各种其它改进建议,而不限于那些涉及不流畅词的建议相比,这个改进比率是显著的,
除上面的例子外,本发明允许各种各样组合的应用,注入插补,在预测一不流畅词时插补两个不流畅词连续出现条件下的概率和模型D的概率,其中不流畅词不用于条件,举例来说,当在被预测的字前面的字也是一个不流畅词时。
在上面的例子中,模型D通过对在目标字前面的字是一个不流畅词的情形的学习被形成。在插补时额外考虑一种情形的概率也是可能的,该种情形诸如,在目标字前面的第二个字是一个不流畅词(3-gram模型)。
依据本发明,如前面所描述的,关于被声音处理器转换的语音信号的最终识别结果通过下列步骤得到:基于计算结果有限数量的字被选择作为识别的候选结果,该计算首先使用声音模型,然后应用语言模型,在计算候选字的概率的过程中,一个全面的判断被作出(图6(a))。相反的过程也是可能的,即,首先使用基于被识别单字的历史的语言模型,较少数量的候选字被选择,然后将声音模型应用于候选字完成识别(图6(b))。
本发明使提供具有比传统技术更高的识别准确率的用于语音识别的设备和方法成为可能,此外,也使提高在不流畅词附近的文本中字的预言准确率成为可能。