把字的语音或声学描述、发音添加到语音识别词典的方法转让专利

申请号 : CN200510054537.7

文献号 : CN1667700B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : M·-Y·黄

申请人 : 微软公司

摘要 :

方法和计算机可读介质把字的文本和该字的用户发音转换成语音描述,以添加到语音识别词典中。开始,产生至少两个的多个可能语音描述。通过解码代表该字的用户发音的语音信号形成一个语音描述。从该字的文本产生至少一个其它语音描述。包括基于语言和基于文本的语音描述的多个可能序列,基于其对用户发音的对应物,在单个图表中进行对准和计分。然后选择最高分的语音描述作为语音识别词典中的条目。

权利要求 :

1.一种用于把字的语音描述添加到语音识别词典中的方法,包括:在对语言信号进行解码之前使用互信息来产生一类音节单元集合,以标识类音节单元的序列;

产生字的基于语言的语音描述,而无需引用所述字的文本;

基于所述字的文本产生所述字的基于文本的语音描述;

在逐音素基础上对准所述基于语言的语音描述和所述基于文本的语音描述,以形成单个图表;以及从所述单个图表选择语音描述,其中所选择的语音描述既包括基于语言的语音描述的语音单元,也包括基于文本的语音描述的语音单元。

2.如权利要求1所述的方法,其特征在于,还包括基于该字的用户发音产生所述基于语言的语音描述。

3.如权利要求2所述的方法,其特征在于,还包括对代表所述字的用户发音的语言信号进行解码以产生所述字的基于语言的语音描述。

4.如权利要求3所述的方法,其特征在于,对语言信号进行解码包括从所述语言信号识别类音节单元的序列。

5.如权利要求1所述的方法,其特征在于,使用互信息来产生类音节单元包括:计算训练字典中字分段单元对的互信息值;

基于所述互信息值来选择字分段单元对;以及

把所选择的字分段单元对合并成类音节单元。

6.如权利要求2所述的方法,其特征在于,产生所述基于文本的语音描述包括使用字母-声音规则。

7.如权利要求1所述的方法,其特征在于,从所述单个图表中选择语音描述包括:比较语言样本和所述单个图表中语音单元的声学模型。

8.一种用于把字的语音发音添加到语音识别词典中的方法,包括:接收字的文本,该字的语音发音要被添加到语音识别词典中;

接收由某人发音所述字而产生的语言信号的表示;

把所述字的文本转换成语音单元的至少一个基于文本的语音序列;

从所述语言信号的表示中产生语音单元的基于语言的语音序列;

把所述至少一个基于文本的语音序列的语音单元和所述基于语言的语音序列的语音单元置入搜索结构中,所述搜索结构允许所述基于文本的语音序列的语音单元和所述基于语言的语音序列的语音单元之间的转移;以及从所述搜索结构中选择语音发音,其中所选择的语音发音既包括所述基于语言的语音序列的语音单元,也包括所述基于文本的语音序列的语音单元。

9.如权利要求8所述的方法,其特征在于,把语音单元置入搜索结构中包括:对准所述基于语言的语音序列和所述至少一个基于文本的语音序列,以标识彼此作为选择对象的语音单元。

10.如权利要求9所述的方法,其特征在于,对准所述基于语言的语音序列和所述至少一个基于文本的语音序列包括:计算这两种语音序列之间的最小距离。

11.如权利要求9所述的方法,其特征在于,选择所述语音发音部分地基于语音单元的声学模型和所述语言信号的表示之间的比较。

12.如权利要求8所述的方法,其特征在于,产生语音单元的基于语言的语音序列包括:产生语音单元的多个可能的语音序列;

使用至少一个模型以为每个可能的语音序列产生概率得分;以及选择具有最高分的可能的语音序列作为语音单元的所述基于语言的语音序列。

13.如权利要求12所述的方法,其特征在于,使用至少一个模型包括使用声学模型和语言模型。

14.如权利要求13所述的方法,其特征在于,使用语言模型包括使用基于类音节单元的语言模型。

15.如权利要求12所述的方法,其特征在于,选择语音发音包括基于至少一个模型对通过所述搜索结构的路径计分。

16.如权利要求15所述的方法,其特征在于,所述至少一个模型包括声学模型。

17.如权利要求9所述的方法,其特征在于,所述搜索结构包含在所述基于文本的语音序列和所述基于语言的语音序列中都发现的语音单元的单个路径。

18.一种用于把字的声学描述添加到语音识别词典中的方法,其特征在于,所述方法包括:基于所述字的文本产生基于文本的语音描述;

产生基于语言的语音描述,而无需引用所述字的文本;

在结构中对准所述基于文本的语音描述和所述基于语言的语音描述,所述结构包括表示语音单元的路径,至少一个来自所述基于文本的语音描述的语音单元的路径被连接到来自所述基于语言的语音描述的语音单元的路径;

通过所述结构选择路径序列;以及

基于所选定的路径序列产生所述字的声学描述,其中所述声学描述既包括所述基于语言的语音描述的语音单元,也包括所述基于文本的语音描述的语音单元。

19.如权利要求18所述的方法,其特征在于,选择路径序列包括产生所述结构中路径的得分。

20.如权利要求19所述的方法,其特征在于,产生路径的得分包括比较字的用户发音和所述结构中的语音单元的模型。

21.如权利要求19所述的方法,其特征在于,还包括基于所述字的文本产生多个基于文本的语音描述。

22.如权利要求21所述的方法,其特征在于,产生基于语言的语音描述包括对包括所述字的用户发音的语言信号进行解码。

23.如权利要求22所述的方法,其特征在于,对语言信号进行解码包括使用类音节单元的语言模型。

24.如权利要求23所述的方法,其特征在于,还包括通过以下步骤构建类音节单元的所述语言模型:计算训练字典中类音节单元对的互信息值;

基于所述互信息值选择类音节单元对;以及

移除所选择的对,并用新的类音节单元来置换训练字典中的被移除的所选择的对。

25.如权利要求24所述的方法,其特征在于,还包括:重新计算所述训练字典中剩下的类音节单元对的互信息值;

基于经重新计算的互信息值选择新的类音节单元对;以及移除所述新的类音节单元对,并用第二个新的类音节单元来置换训练字典中的所述新的类音节单元对。

26.如权利要求25所述的方法,其特征在于,还包括使用所述训练字典以产生类音节单元的语言模型。

说明书 :

技术领域

本发明涉及语音识别,尤其涉及通过组合基于语言和基于文本的语音描述来改进新字发音以产生发音。

背景技术

本发明涉及语音识别,尤其涉及通过组合基于语言和基于文本的语音描述来改进新字发音以产生发音。
在语音识别中,人类的语音被转换成文本。为了执行该转换,语音识别系统标识可产生语音符号的最可能的声学单元序列。为了减少必须执行的计算量,大多数系统限制对用感兴趣的语言代表文字的声学单元序列的搜索。
声学单元序列和文字之间的映射存储在至少一个词典中(有时称为字典)。不管词典有多大,语音信号中的某些字将会在词典之外。语音识别系统不能识别这些词汇表外(OOV)的字,因为该系统不知道它们的存在。例如,有时在口述期间,用户会发现系统未识别一口述字。这会发生,因为系统对特定字定义有与用户发音不同的发音,即用户带有外国口音地发音该字。有时,字根本就不在词汇表中。相反,识别系统会被强迫去识别其它字来替换词汇表外字,从而导致了识别错误。
在过去的语音识别系统中,通过提供字的拼写以及带有用户声音的字的声学样本或发音,用户可添加语音识别系统未识别的字。
使用字母-声音规则,字的拼写被转换成一组语音描述。将输入字存储为上下文无关语法(CFG)的仅有条目。通过把语音样本应用到语音描述中的音素(phone)的声学模型中,可对它计分。每个语音描述的总分包括语言模型得分。在CFG中,语言模型概率等于1比CFG中每个节点上的分支数。然而,由于输入字是CFG中仅有的条目,仅有从起始节点起的一个分支(CFG中仅有的另一节点是结束节点)。结果,出于字母-声音规则的任何语音描述总是具有语言模型概率为1。
在单独的解码路径中,通过标识类音节单元序列将语音样本转换为语音描述,而该类音节单元序列基于类音节单元中音素的声学模型和类音节单元n-字母语言模型来提供最佳组合的声学和语言模型总分。
然后比较通过字母-声音CFG标识的语音序列总分以及通过类音节单元n-字母解码标识的类音节单元的最可能序列总分。具有最高总分的语音序列被选为字的语音序列。
因而,在现有技术系统中,以两个单独并行路径来执行字母-声音解码和类音节单元解码。这因众多原因而不太理想。
首先,由于两个路径未使用共同的语言模型,两个路径之间的总分不能总进行具有意义的比较。特别地,由于CFG的语言模型总是提供概率1,字母-声音语音描述的总分通常将比类音节单元描述更高,这取决于n-字母语言模型的概率通常会远远小于1。(类音节单元的语言模型概率是10-4的数量级。)
正因为这个,即使当声学样本更匹配于来自类音节单元路径的语音描述时,现有技术系统仍然倾向于来自字母-声音规则的语音序列。
第二种精确性问题在产生诸如“voicexml”的组合字发音时发生。重要的是要注意在现有技术系统中CFG路径和n-字母音节路径彼此无关。因而,类似“voicexml”的组合字可导致发音错误,因为选定的发音必须是CFG发音或者是n-字母音节发音。然而,与CFG引擎一起使用的字母-声音(LTS)规则趋于在类似“voice”的相对可预测的字上执行得较好,而在像“xml”的正确发音几乎与其如何拼写无关的不可预测字上执行得较差。
相反,n-字母音节模型通常在产生类似“xml”的字的发音时就执行得相当好,因为它试图捕捉声学样本中的任何声音或字节序列而与拼写无关。然而对类似“voice”的可预测字它执行得就不如CFG引擎了。
基于这些原因,如果用两个单独路径估算来自两个解码系统的语音描述,从由例如带有首字母缩拼词的可预测字,诸如“voicexml”,组合的组合字可导致发音错误。
用于改进诸如“voicexml”的组合字发音的语音识别系统将具有重要的功用。

发明内容

方法和计算机可读介质把字的文本和该字的用户发音转换成语音描述,以添加到语音识别词典中。开始,产生至少两个的多个可能语音描述。通过解码代表字的用户发音的语音信号形成一个语音描述。从该字的文本产生至少一个其它语音描述。对准包括基于语言和基于文本的语音描述的多个可能序列以产生发音图表。然后通过再次使用用户的发音语音,再次对发音图表计分。然后选择最高分的语音描述作为语音识别词典中的条目。
本发明的一方面是使用类音节单元(SLU)来把语音发音解码成语音描述。类音节单元通常比单个音素大但比字小。本发明提供用于使用不需要语言专用语言学规则的基于互信息的数据驱动方法来定义这些类音节单元的装置。可在语音解码过程中构建和使用基于这些类音节单元的语言模型。
本发明的另一方面使用户能输入与对应于拼写的典型发音很不相同的字的可听发音。例如,当输入英文字的文本时,能可听地对外文字发音。在本发明的该方面下,可从词典检索添加到词典中的新字语音描述,并将其转换成包括例如英文字的外文翻译的可听信号。
本发明提供了一种用于把字的语音描述添加到语音识别词典中的方法,包括:产生字的基于语言的语音描述,而无需引用所述字的文本;基于所述字的文本产生所述字的基于文本的语音描述;在逐音素基础上对准所述基于语言的语音描述和所述基于文本的语音描述,以形成单个图表;以及从所述单个图表选择语音描述,其中所选择的语音描述既包括基于语言的语音描述的语音单元,也包括基于文本的语音描述的语音单元。
如上所述的方法,还包括基于该字的用户发音产生所述基于语言的语音描述。
如上所述的方法,还包括对代表所述字的用户发音的语言信号进行解码以产生所述字的基于语言的语音描述。
如上所述的方法,对语言信号进行解码包括从所述语言信号识别类音节单元的序列。
如上所述的方法,还包括在对语言信号进行解码之前使用互信息来产生一类音节单元集合,以标识类音节单元的序列。
如上所述的方法,使用互信息来产生类音节单元包括:计算训练字典中字分段单元对的互信息值;基于所述互信息值来选择字分段单元对;以及把所选择的字分段单元对合并成类音节单元。
如上所述的方法,产生所述基于文本的语音描述包括使用字母-声音规则。
如上所述的方法,从所述单个图表中选择语音描述包括:比较语言样本和所述单个图表中语音单元的声学模型。
本发明还提供了一种用于把字的语音发音添加到语音识别词典中的方法,包括:接收字的文本,该字的语音发音要被添加到语音识别词典中;接收由某人发音所述字而产生的语言信号的表示;把所述字的文本转换成语音单元的至少一个基于文本的语音序列;从所述语言信号的表示中产生语音单元的基于语言的语音序列;把所述至少一个基于文本的语音序列的语音单元和所述基于语言的语音序列的语音单元置入搜索结构中,所述搜索结构允许所述基于文本的语音序列的语音单元和所述基于语言的语音序列的语音单元之间的转移;以及从所述搜索结构中选择语音发音,其中所选择的语音发音既包括所述基于语言的语音序列的语音单元,也包括所述基于文本的语音序列的语音单元。
如上所述的方法,把语音单元置入搜索结构中包括:对准所述基于语言的语音序列和所述至少一个基于文本的语音序列,以标识彼此作为选择对象的语音单元。
如上所述的方法,对准所述基于语言的语音序列和所述至少一个基于文本的语音序列包括:计算这两种语音序列之间的最小距离。
如上所述的方法,选择所述语音发音部分地基于语音单元的声学模型和所述语言信号的表示之间的比较。
如上所述的方法,产生语音单元的基于语言的语音序列包括:产生语音单元的多个可能的语音序列;使用至少一个模型以为每个可能的语音序列产生概率得分;以及选择具有最高分的可能的语音序列作为语音单元的所述基于语言的语音序列。
如上所述的方法,使用至少一个模型包括使用声学模型和语言模型。
如上所述的方法,使用语言模型包括使用基于类音节单元的语言模型。
如上所述的方法,选择语音发音包括基于至少一个模型对通过所述搜索结构的路径计分。
如上所述的方法,所述至少一个模型包括声学模型。
如上所述的方法,所述搜索结构包含在所述基于文本的语音序列和所述基于语言的语音序列中都发现的语音单元的单个路径。
本发明还提供了一种用于把字的声学描述添加到语音识别词典中的方法,其特征在于,所述方法包括:基于所述字的文本产生基于文本的语音描述;产生基于语言的语音描述,而无需引用所述字的文本;在结构中对准所述基于文本的语音描述和所述基于语言的语音描述,所述结构包括表示语音单元的路径,至少一个来自所述基于文本的语音描述的语音单元的路径被连接到来自所述基于语言的语音描述的语音单元的路径;通过所述结构选择路径序列;以及基于所选定的路径序列产生所述字的声学描述,其中所述声学描述既包括所述基于语言的语音描述的语音单元,也包括所述基于文本的语音描述的语音单元。
如上所述的方法,选择路径序列包括产生所述结构中路径的得分。
如上所述的方法,产生路径的得分包括比较字的用户发音和所述结构中的语音单元的模型。
如上所述的方法,还包括基于所述字的文本产生多个基于文本的语音描述。
如上所述的方法,产生基于语言的语音描述包括对包括所述字的用户发音的语言信号进行解码。
如上所述的方法,对语言信号进行解码包括使用类音节单元的语言模型。
如上所述的方法,还包括通过以下步骤构建类音节单元的所述语言模型:计算训练字典中类音节单元对的互信息值;基于所述互信息值选择类音节单元对;以及移除所选择的对,并用新的类音节单元来置换训练字典中的被移除的所选择的对。
如上所述的方法,还包括:重新计算所述训练字典中剩下的类音节单元对的互信息值;基于经重新计算的互信息值选择新的类音节单元对;以及移除所述新的类音节单元对,并用第二个新的类音节单元来置换训练字典中的所述新的类音节单元对。
如上所述的方法,还包括使用所述训练字典以产生类音节单元的语言模型。

附图说明

图1是本发明可在其中实现的一般计算环境框图。
图2是本发明可在其中实现的一般移动计算环境框图。
图3是本发明中语音识别系统的框图。
图4是本发明一实施例的词典更新组件的框图。
图5是本发明中把字添加到语音识别词典的方法的流程图。
图6是示出本发明对特定字的实现的流程图。
图7是构建一类音节单元集的流程图。

具体实施方式

图1示出了本发明可在其上实现的适当计算系统环境100的示例。该计算系统环境100仅是适当计算环境的一个示例,并非旨在提出本发明使用或功能性范围的任何限制。计算环境100也不应被解释为对示例性操作环境100中所示的任一组件或其组合有任何依赖性或任何需求。
本发明也可在很多其它通用或专用计算系统环境或配置中使用。适于本发明使用的众所周知的计算系统、环境、和/或配置的示例包括,但不限于,个人计算机、服务器计算机、手持式或膝上型装置、多处理器系统、基于微处理器的系统、机顶盒、可编程电器消费品、网络PC、迷你计算机、大型机、电话系统、包括任一种以上系统或装置的分布式计算环境等等。
本发明可以在计算机可执行指令的一般上下文中进行说明,诸如由计算机执行的程序模块。一般而言,程序模块包括执行具体任务或实现具体抽象数据类型的例程、程序、对象、组件、数据结构等等。本发明还可在任务由经通信网络链接的远程处理装置执行的分布式计算环境中实践。在分布式计算环境中,程序模块可置于包括存储器存储装置的本地和远程计算机存储介质。
参照图1,实现本发明的示例性系统包括计算机110形式的通用计算装置。计算机110的组件可包括,但不限于,处理单元120、系统存储器130以及把包括系统存储器在内的各种系统组件耦合到处理单元120的系统总线121。系统总线121可能是若干总线结构类型中的任何一种,包括存储器总线或存储器控制器、外围总线、以及使用多种总线结构的任一种的本地总线。作为示例,而非限制,这些结构包括工业标准结构(ISA)总线、微信道结构(MSA)总线、扩展ISA(EISA)总线、视频电子标准协会(VESA)局部总线和也称为Mezzanine总线的外围部件互连(PCI)总线。
计算机110通常包括各种计算机可读介质。计算机可读介质可以是能被计算机110访问的任何可用介质,并包括易失性和非易失性介质、可移动和不可移动介质。作为示例,而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以任何方法或技术实现、用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的易失性和非易失性介质、可移动和不可移动介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字化视频光盘(DVD)或其它光学存储技术、磁卡、磁带、磁盘存储或其它磁性存储装置、或任何其它可用于存储所需信息并可由计算机110访问的介质。通信介质通常包括诸如载波或其它传输机制的已调制数据信号中的计算机可读指令、数据结构、程序模块、或其它数据,且包括任何信息输送介质。术语“调制数据信号”意指以信息中的信息编码方式设置或改变其一个或多个特征的信号。作为示例,而非限制,通信介质包括诸如有线网络或直线连接的有线介质,和诸如声学、射频、红外线和其它无线介质的无线介质。以上任何介质的组合也应包括在计算机可读介质的范围中。
系统存储器130包括诸如只读存储器(ROM)131和随机存取存储器(RAM)132的易失性和/或非易失性存储器形式的计算机可读介质。包含有助于计算机110如起动时在元件间传送信息的基本例程的基本输入/输出系统(BIOS)133通常存储在ROM 131中。RAM 132通常包含可被处理单元120立即访问和/或现时操作的数据和/或程序模块。作为示例,而非限制,图1示出了操作系统134、应用程序135、其它程序模块136、和程序数据137。
计算机110还可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。作为示例,图1图示了读取和写入不可移动、非易失性磁性介质的硬盘驱动器141,读取和写入可移动、非易失性磁盘152的磁盘驱动器151,读取和写入可移动、非易失性光盘156,诸如CD-ROM或其它光学介质的光盘驱动器155。其它也用在示例性计算环境中的可移动/不可移动、易失性/非易失性计算机存储介质包括,但不限于,如磁带、闪存卡、数字化视频光盘、数字化录像带、固态RAM、固态ROM等等。硬盘驱动器141通常通过诸如接口140的不可移动存储器接口与系统总线121连接,而磁盘驱动器151和光盘驱动器155通常通过诸如接口150的可移动存储器接口与系统总线121连接。
如上所述并如图1所示的盘驱动器及其相关联的计算机存储介质为计算机110提供计算机可读指令、数据结构、程序模块、和其它数据的存储。在图1中,例如,硬盘驱动器141被示为存储操作系统144、应用程序145、其它程序模块146、和程序数据147。注意这些组件可以与操作系统134、应用程序135、其它程序模块136、和程序数据137相同或不同。在此给予操作系统144、应用程序145、其它程序模块146、和程序数据147的数字不同至少说明他们是不同的复制件。
用户可通过输入装置如键盘162、话筒163和诸如鼠标、跟踪球或触摸板等定位装置161向计算机110输入命令和信息。其它输入装置(未示出)可包括话筒、游戏杆、游戏垫、卫星接收器、扫描仪、无线电接收器、或电视或广播视频接收器等等。这些和其它输入装置常常通过与系统总线耦合的用户输入接口160与处理单元120相连,但也可通过诸如并行端口、游戏端口或通用串行总线(USB)的其它接口连接。监视器191或其它类型的显示装置也可通过诸如视频接口190的接口与系统总线121相连。除了监视器,计算机还可包括诸如扬声器197和打印机196的其它输出装置,它们通过输出外围接口195相连。
计算机110可以在使用与一台或多台远程计算机,诸如远程计算机180的逻辑连接的网络化环境中运行。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等装置或其它普通网络节点,而且通常包括上述与个人计算机110相关的许多或全部组件,尽管在图1中仅图示了存储器存储装置181。图1中所描绘的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可包括其它网络。这样的网络化环境在办公室、企业范围计算机网络、企业内部互联网和因特网上是常见的。
当用于LAN网络化环境中时,计算机110通过网络接口或适配器170与局域网171连接。当用于WAN网络化环境中时,计算机110通常包括调制解调器172或其它用于在广域网173,诸如因特网中建立通信的装置。可以是内置式或外置式的调制解调器172与系统总线121通过用户输入接口160或其它适当机制连接。在网络化环境中,与计算机110相关的程序模块或其一部分可存储在远程存储器存储装置中。作为示例,而非限制,图1示出了驻留于远程计算机180中的远程应用程序185。应当理解,所示网络连接是示例性的,且其它用于在计算机间建立通信链路的技术也可以使用。
图2是可选示例性计算环境的移动装置200的框图。移动装置200包括微处理器202、存储器204、输入/输出(I/O)组件206、以及用于与远程计算机或其它移动装置进行通信的通信接口208。在一实施例中,前述组件经适当总线210耦合用于彼此通信。
存储器204被实现为诸如随机存取存储器(RAM)带有电池备份模块(未示出)的非易失性电子存储器,从而当移动装置200的总电源关闭时存储在存储器204中的信息不会丢失。存储器204的一部分更适于被分配为用于程序执行的可寻址存储器,而存储器204的另一部分更适于用来存储,诸如模拟盘驱动器上的存储。
存储器204包括操作系统212、应用程序214以及典型存储器216。在操作期间,操作系统212更适于由处理器202从存储器204上执行。在一优选实施例中,操作系统212是可从微软公司购买的CE品牌的操作系统。操作系统212更适于为移动装置设计,并实现可由应用程序214通过一组外露应用程序编程接口和方法利用的数据库特征。由应用程序214和操作系统212至少部分地响应于对外露应用程序编程接口和方法的调用,来维护对象存储器216中的对象。
通信接口208代表使移动装置200能够发送和接收信息的多种装置和技术。这些装置包括有线和无线调制解调器、卫星接收器和广播调谐器(仅列举若干)。移动装置200还可直接与计算机连接以交换数据。这样,通信接口208可以是都能够传输流信息的红外线收发器或串行或并行通信连接。
输入/输出组件206包括各种输入设备,诸如触摸感应屏幕、按钮、滚轴和话筒以及各种输出设备,诸如音频发生器、振动设备、和显示器。以上所列设备作为示例,且无需都在移动装置200上出现。另外,其它输入/输出设备可附于移动装置200或与其一体,在本发明范围之内。
图3提供了与本发明特别相关的语音识别模块的更详细框图。在图3中,如果需要可由话筒300把输入语音符号转换为电子信号。然后通过模拟-数字或A/D转换器把电子信号转换成电子信号。在若干实施例中,A/D转换器302在16kHz对模拟信号取16比特的样本,因此创建每秒32KB的语音数据。
向框架建构单元304提供数字式数据,该单元把数字式值分组成值的帧。在一实施例中,每个帧25毫秒长,且在前一帧开始之后10毫秒开始。
向从数字信号中提取特征的特征提取器304提供数字式数据的帧。特征提取模块的示例包括用于执行线性预测编码(LPC)、LPC导出对数倒频谱、感应式线性预测(PLP)、听觉模型特征提取、以及Mel频率对数倒频谱系数(MFCC)特征提取。注意,本发明并不限于这些特征提取模块,且可在本发明的上下文中使用其它模块。
特征提取器306能每帧产生一个多维特征向量。特征向量中的维数和数值量取决于使用的特征提取类型。例如,Mel频率对数倒频谱系数向量通常具有12个系数,加上一个代表总共13维的幂数的系数。在一实施例中,通过取Mel频率系数的一阶导数和二阶导数加上相对于时间的幂,特征向量可从Mel系数计算。因而,对于这种特征向量,每帧都与形成特征向量的39个数值相关联。
在语音识别期间,由特征提取器306产生的特征向量流提供给解码器308,该解码器基于特征向量流、系统词典310、应用程序词典312(如果有)、用户词典314、语言模型316、以及声学模型318来标识词的最可能或最相似序列。
在大多数实施例中,声学模型318是由一组隐藏状态组成的隐藏马尔可夫模型,其中每个输入信号帧一个状态。每个状态具有描述匹配特定状态的输入特征向量可能的相关联概率分布组。在某些实施例中,概率的混合(通常为10个高斯概率)关联于每个状态。隐藏马尔可夫模型还包括用于在两个相邻模型状态之间转换、以及用于特定语言学单元状态之间转换的概率。对于本发明的不同实施例,语言学单元的尺寸可不同。例如,语言学单元可以是senones、音素、双音素、三音素、音节、甚至整个字。
系统词典310由对特定语言有效的语言学单元(通常为字或音节)列表组成。解码器308使用系统词典310以把其对可能语言学单元的搜索限制在那些确实是语言一部分的那些单元。系统词典310还包含发音信息(即从每个语言学单元映射到由声学模型318使用的一个声学单元序列)。可任选的应用词典312与系统词典310相似,除了应用词典312包含由特定应用添加的语言学单元,而系统词典310包含由语音识别系统提供的语言学单元。用户词典314也与系统词典310相似,除了用户词典314包含已由用户添加的语言学单元。在本发明中,提供了用于把新语言学单元添加到特别是用户词典314的方法和装置。
语言模型316提供特定的语言学单元序列将出现在特定语言中的一组似然性或概率。在许多实施例中,语言模型316基于诸如北美商业新闻(NAB)的文本数据库,诸如在题为“CSR-III Text Language Model”宾州州立大学1994的文章有更详细的描述。语言模型316可以是上下文无关语法、诸如三字母(trigram)的统计学n-字母模型、或两者的组合。在一实施例中,语言模型316是紧密三字铭模型,它基于字序列的三字分段的组合概率确定该序列的概率。
基于声学模型318、语言模型316、以及词典310、312、314,解码器308从所有可能的语言学单元序列中标识最可能的语言学单元序列。该语言学单元序列代表语音信号的誊本。
该誊本被提供给输出模型320,它处理与把该誊本发送给一个或多个应用程序相关联的开销成本。在一实施例中,输出模块320与存在于图3语音识别引擎和一个或多个应用程序之间的中间层(如果有)进行通信。
在本发明中,可通过在用户界面321上输入字的文本来把新字添加到用户字典314中。由A/D转换器302、帧建构器304以及特征提取器306把发音字转换成特征向量。在添加字的过程期间,这些特征向量提供给字典更新单元322而不是解码器308。更新单元322还从用户界面321接收新字的文本。基于特征向量和新字的文本,字典更新单元322通过以下进一步描述的过程来更新用户字典314和语言模型316。
图4提供了用于更新用户词典314和语言模型316的词典更新单元322的组件的框图。图5提供了由图4组件实现的用于更新用户词典314的方法的流程图。
在步骤502,用户通过对着话筒念字输入新字以产生用户提供声学样本401。用户提供声学样本401如上所述被转换成提供给词典更新单元322的特征向量403。特别地,将特征向量403提供给类音节单元(SLU)引擎405以在图5的步骤504产生由特征向量403代表的类音节单元的最可能序列。SLU引擎405包括或访问SLU字典409和声学模型318以通常基于最高概率得分产生SLU的最可能序列。然后SLU引擎403把类音节单元的最可能序列转换成提供给对准模块414的语音单元序列。SLU字典409将对应于以下的图7进行更详细描述。
重要的是要注意在某些情形中用户对新字的发音与典型发音极为不同。例如,说话者可能通过代之以英文字的外文翻译来发音该英文字。例如这种特征将使得语音识别词典以一种语言存储字的文本或拼写,而用不同于第一种语言的第二语言存储语音描述。
在步骤506,用户输入新字的文本以产生用户提供文本样本402。注意步骤506可在步骤502之前、之后、或者与之同时执行。用户提供文本样本402被提供给语法模块404,它在步骤508将该文本转换成可能的基于文本的语音序列列表。尤其是语法模块404为用户提供文本样本402构建诸如上下文无关语法的语法。语法模块404包括或访问词典406以及字母-声音(LTS)引擎408。语法模块404首先搜索包括系统词典310、可任选应用词典312、以及用户词典314的词典406来为用户提供文本样本402(如果有)以检索可能的语音描述、发音、或序列。
LTS引擎408把用户提供的文本样本402转换成一个或多个可能语音序列,特别是当没有在词典406中发现该字时。通过利用适于感兴趣的特定语言的发音规则集合410来执行该转换。在大多数实施例中,语音序列由一系列音素构建而成。在其它实施例中,该语音序列是三音素序列。语法模块404因而从词典406和LTS引擎408产生了一个或多个可能的基于文本语音序列412。
再看图4,向对准模块414提供来自SLU引擎405的最佳语音序列407以及来自语法模块404的可能语音序列列表402。在步骤510,对准模块414以与用于计算例如来自置换错误、删除错误、以及插入错误的语音识别误差率的众所周知的对准模块和/或方法相似的方式来对准语音序列404和412。在某些实施例中,使用两个序列字符串之间的最小距离(例如正确的基准和识别假设)可执行对准。对准模块414产生经对准语音序列的列表、图表或表格。
在步骤511,对准模块414把经对准语音序列置入单个图表。在该过程期间,相互对准的同一语音单元在单一路径上进行组合。相互对准的相异语音单元则置于图表上的并行的备选路径上。
该单个图表被提供给重新计分模块416。在步骤512,再次使用特征向量403以对由遍布该单个图表的路径所代表的语音单元的可能组合重新计分。在一实施例中,使用通过沿路径比较由用户对字的发音产生的特征向量403和存储在声学模型318中的每个语音单元的模型参数而产生的声学模型得分,重新计分模块416执行维特比(Viterbi)搜索以标识该图表中的最佳路径。该计分过程与由解码器308在语音识别期间执行的计分过程相似。
得分选择和更新模块418选择单个图表中最高得分语音序列或路径。选中序列被提供以在步骤514更新用户词典314,及在步骤516更新语言模型316。
图6示出了本发明如何处理或学习字的发音的示例。框602示出字“voicexml”的用户发音,而框603代表“voicexml”的输入文本。字“voicexml”用于说明本发明在如上所述产生组合字的发音中的优点。字“voicexml”的第一部分或“voice”是诸如图4中LTS引擎408的LTS引擎通常能精确处理的相对可预测字或字分段。然而,该字的第二部分“xml”是LTS引擎会有精确处理问题的不可预测或非典型字或首字母缩拼词。然而,诸如SLU引擎405的典型SLU引擎通常可很好地处理诸如“xml”的字或字分段,因为SLU引擎取决于用户的声学发音。
框604示出诸如由图4中SLU引擎405和图5中步骤504产生的最可能语音序列。因而,字“voicexml”的声学或口语版的最佳发音如下:
ow-s-eh-k-s-eh-m-eh-l。
在此情形中,用户没有对语音单元“v”发音或者SLU模型未较好地预测语音单元“v”。结果,在语音序列的开始去掉了可预期的语音单元“v”。
在框609字“voicexml”的拼写或文本版本的可能语音序列606和608的列表由LTS引擎408产生,包括语音单元的以下序列:
v-oy-s-eh-k-s-m-ax-l,
v-ow-s-g-z-m-ax-l。
由对准模块414在框610所示的对准结构中组合来自框604和609的语音序列。通常,使用动态规划以及基于给定各种对准下语音序列之间差异的成本函数来执行该对准。在框610,经对准语音单元重新在同一竖直列中。注意某些栏具有标识没有语音单元与之相关联的空路径的“-”,意思是该栏是可任选的或可跳过的。
框612示出由包括可从经对准结构形成的可能语音序列的经对准结构610构建的单个图表。框612表示语音单元可置于节点间路径上的搜索结构。在该结构中,在从SLU引擎标识的语音单元、基于语言的语音单元、以及由LTS引擎标识的语音单元、基于文本的语音单元之间允许进行转移。框612还示出选中路径可包括“跳过”,其中该路径中特定栏未包括语音单元。
如上所述,使用字的用户发音和声学模型来选择语音序列或路径。框614示出根据本发明的选中语音序列或路径,且提供如下:
v-oy-s-eh-k-s-eh-m-eh-l。
注意最后路径用由LTS引擎预测的语音序列开始,而用由SLU引擎预测的语音序列结束。在现有技术中,这是不可能的。因而,本发明从结合了来自基于语言SLU引擎和基于文本LTS引擎的可能语音序列的单个图表中选择语音序列,以产生字的更精确发音。
类音节单元(SLU)集
图7示出了构建可用于本发明某些实施例中的类音节单元(SLU)409的字典或集合的方法。通常,图7的方法是有利的,因为它不需要语言专用语言学规则。因而,图7所示的方法可用于任何语言且要实现它相对便宜,因为它不需要其它方法,特别是语言学基于规则方法所必需的熟练语言学家。
图7的方法采用了互信息(MI)以构建SLU集,并使用了类似于用于不同环境的在题为“Modeling Out-of-vocabulary Words For Robust Speech Recognition”Issam Bazzi 2000年的博士论文中所述算法的算法。在本发明中,给定一大语音字典,例如约有5万或更多字的带有语音描述的训练字典,预定或有限尺寸(例如1万单元)的类音节单元集合得以构建。
在框702,起始的SLU集S0等于音素集P={p1,p2,...pn},通常为在英语语音识别系统中发现的40个音素,从而S0={s1,s2,...sm}={p1,p2,...pn},其中m和n是分别SLU和音索的数量,且开始时m=n。
使(u1,u2)为当前迭代中的任一对SLU。在框704,在字典条目中发现的语言学单元对(u1,u2)的互信息由以下等式进行计算。
MI(u1,u2)=Pr(u1,u2)logPr(u1,u2)Pr(u1)Pr(u2)等式1
其中MI(u1,u2)是类音节单元对(u1,u2)的互信息,Pr(u1,u2)是(u1,u2)的联合概率,且Pr(u1)和Pr(u2)分别是u1和u2的单字母概率。
使用以下等式来计算单字母概率Pr(u1)和Pr(u2):
Pr(u1)=Count(u1)Count(*)等式2
Pr(u2)=Count(u2)Count(*)等式3
其中Count(u1)和Count(u2)分别是在训练字典中发现类音节单元u1和u2的次数,而Count(*)是训练字典中类音节单元实例的总数。(u1,u2)的联合概率可由以下等式计算:
Pr(u1,u2)=Pr(u2|u1)Pr(u1)等式4
=Count(u1,u2)Count(u1,*)Count(u1)Count(*)
=Count(u1,u2)Count(*)
其中Count(u1,u2)是(u1,u2)对在训练字典中一起(即相邻)出现的次数。
在框706,选择或标识具有最大互信息的对(u1,u2)。在框708,带有最多互信息的对(u1,u2)被并入新的更长的类音节单元u3。新类音节单元u3替换或置换训练字典的字中的对(u1,u2)。
在框710,判定是否要中止迭代。在某些实施例中,可使用控制LSU最大长度的参数。例如,最大类音节单元长度可设定为4个音素。如果达到了选中长度,则中止对选中对的合并,而改为检查具有最大互信息的下一对。如果不再有其它对或者如果SLU的数量达到所需数量、或者最多互信息降到某阈值之下,图7的方法进行到框712,其中SLU集S被输出。否则,方法返回到框704,其中产生新u3之后重新计算类音节单元的互信息,并重新计算受影响单元的单字母和双字母计数。在一实施例中,在每次迭代中仅并入一对类音节单元。然而,在其它实施例中,如果速度是关注对象,诸如在Bazzi的论文中,可在每次迭代中合并选定的对数(例如50对)。
当图7的算法结束,输入或训练字典被分成最终的SLU集。然后可从分段字典中训练类音节单元n-字母,并以本发明实现之。已发现该数据驱动方法能比基于规则的按音节发音方法获得略好的精确度。然而,更重要的是,可不作代码改变在任何语言中使用该方法,因为它不需要语言专用语言学规则。
尽管已参照特定实施例描述了本发明,本领域技术人员将连接可在形式和细节上作改变,不背离本发明的精神和范围。