多种语音工作模式的统一识别方法

文档序号:2835799阅读:698来源:国知局
专利名称:多种语音工作模式的统一识别方法
技术领域
本发明属于语音识别领域。提出一种采用大词汇量连续语音识别作为统一内核引擎,把多种语音识别工作模式转化到该引擎的一个结构以及实现方法。这些语音工作模式覆盖了当前语音识别应用所需的的各种模式,如命令工作模式、多关键词检测工作模式、有限句型识别工作模式、孤立词听写工作模式以及连续语音听写工作模式。在对各种工作模式的差别以及共同点进行分析归纳的基础上,本发明把其它各种工作模式从语音识别算法上通过构造专用词典、进行数据转化以及通道开关切换等手段映射到大词汇量连续语音识别内核上来,并分别加入相应的处理算法以对识别结果进行可靠度的衡量。
语音识别的现状是由于现有各种计算机硬软件技术以及语音识别本身技术的局限性,它还无法处理象人类那样随意的自然语言和任何语音,只是在有限的条件下,取得进展。因而该技术的发展除了需要对本身的一些基础问题进行进一步探索外,如何结合针对实际需求条件下,约束计算机所需要识别的词表和说话的难度是非常重要的一个问题。基于上述背景,目前的语音识别器可以有很多的分类方法,其中一种分类方法可以从语音识别的识别模式进行分类,如图8所示。在图8中从不同角度看有很多分类方法,但对于识别器来说,工作模式的分类决定着识别器语法的不同,进而影响相应的实现框架。概括起来,最大的区别在于
1)各种工作模式所需要的语法约束图是不一样的,有些有回路,有些没有回路;同时所需要的语言模型是不一样的,有些需要,有些并不需要。
2)对于命令表识别、关键词检测需要独立建立集外词模型,从而排除集外词的语音。
绝大多数情况是某个技术只解决某个工作模式的语音识别问题,其系统设计不能扩散到其他的工作模式上,所以一般一类应用确定一个工作模式,然后针对这个工作模式进行软件开发,这大大限制了该类技术的使用场合以及把该项技术从一个领域转向另一个应用领域的时间,也提高了软件的开发成本。
本发明的目的在于提出一种采用大词汇量连续语音识别作为统一内核引擎,把多种语音识别工作模式转化到该引擎的一个结构以及实现方法。这些语音工作模式覆盖了当前语音识别应用所需的的各种模式,如命令工作模式、多关键词检测工作模式、有限句型识别工作模式、孤立词听写工作模式以及连续语音听写工作模式。在对各种工作模式的差别以及共同点进行分析归纳的基础上,把其它各种工作模式从语音识别算法上通过构造专用词典、进行数据转化以及通道开关切换等手段映射到大词汇量连续语音识别内核上来,并分别加入相应的处理算法以对识别结果进行可靠度的衡量。如图5所示,就是充分利用大词汇量连续语音识别的强大功能和包含性,通过对以上各种工作模式语法图的转换以及识别方法的修改,把它们集成在一个统一的识别引擎中。
本发明的技术要点在于首先,各种工作模式都可以归纳为具有以下特性1.孤立命令工作模式在某些场合,计算机只需要听懂识别几个简单命令就可满足用户需求。例如“打开窗户”,“关闭空调”,即语音命令工作模式。语音命令工作模式特点是发音是孤立的一个词或短语,该词或短语前后没有与命令无关的其它语音。这种工作模式的语法描述可以由图1所示。在图1中可看到该语法图没有回路,其只能产生类似“命令1”或“命令n”这样的输出。2.有限句型识别工作模式在有些应用中,人机需要交互的内容可以用一些固定模式的句子来表示,这些句子模式中有某些关键词汇可以替换,理论上可以由一个有限状态的自动机来描述,这种工作模式称为“有限句型语音识别工作模式”,例如“我想<Verb>一下<Year><Month>的<Item>”,此处Verb可以有一大串替换词查询,打印,汇总,显示…; Year也可以有一大串替换词去年,前年,大前年…;Month可以替换成全年,一月,二月,三月…;Item可以替换成银行存款,银行贷款,余额,…。这种工作模式可由图6所示的语法图进行描述。在图6中,圆圈表示自动机的一个节点,它代表可以插入的一组词;节点与节点之间的有序连线表示词与词之间可以连接。显然其只能产生固定格式的连续句子。3.关键词检测工作模式
从语法图1和语法6描述可以看到,上述两种工作模式对用户的发音方式和识别词表有严格的限制,超出词汇集以外的语音,系统在处理上会带来极大的困难,因而在很多场合并不适合。例如在类似“呼叫中心”或“电话分机自动转接”这种应用场合,用户可能说了一大段话,而任务集所关心的仅仅是几个主要的词汇。在这种情况下,计算机只需要识别几个词汇而需要滤掉系统不关心的其它所有词汇。这种工作模式称为“关键词检测工作模式”。例如“我想找***同志!”和“***同志在不在?”这样的自然语言,计算机只需要识别***同志就可以了。在上面例子中,一个句子中只有一个关键词,有一些应用可以有多个关键词例如“我想<查询>去<北京>的航班信息”中就有两个关键词“查询”和“北京”。如图2所示。图2同图1相比,可以看到有两个区别,一个是在关键词检测中需要包含垃圾模型,第二是关键词检测在语法上需要回路,以处理比命令更加复杂的句子。4.孤立词听写工作模式在大词汇量语音识别时,可能会由于计算资源的限制或用户修改习惯的需要,“一字一词“的发音方式也可方便地用于文字的输入,这种工作模式称为“孤立词听写工作模式”。例如“江泽民主席昨天出席了世界计算机大会”就可以按照空格所指示的分词进行间断发音。这种方式当用户对系统包含有的词汇量比较熟悉或者用户使用词汇量相对比较固定时,比较适合,其特点是容易修改结果和获得多个识别候选,便于编辑。该工作模式语法图如3所示。同语法图1相比,词汇量更大,同时需要上下文相关语言的处理,即要加入语言模型。5.连续语音识别工作模式这是一种最为常用的工作模式,可以识别用户连续不断的语音;由于词汇量大,同时词汇之间还可以有任意的组合,因而对于用户来说没有特别的词表限制;在语法图4中,也可以看到由于在词间允许有静音,因而对用户也没有特别的发音方式的限制。这种工作模式也是当前语音识别研究最多的一个工作模式。这种工作模式采用图4的语法图。同样同图1相比,它词汇量更大、含有语法回路以组词以及需要上下文语言处理。
以上几种工作模式基本上覆盖了当前语音识别应用的各种工作模式。在以上各种工作模式中,工作模式1命令可以是通过子单元建模进行拼接也可以整命令建模,它是一个典型的封闭词表匹配问题;工作模式2则其搜索空间是严格限制的,由有限状态语法图描述,识别在上述封闭的语法限制下进行;工作模式3除了对关键词进行建模外,还需要专门的集外词模型,同时非常重要一点是其语法图中加了回落;工作模式4虽然词汇量大,由于语法图上没有回路,所以也是一个封闭的搜索问题;而工作模式5则理论上可以组合出任意长度的句子来,其词与词之间由统计语言模型来约束。
在图4所示的连续语音识别核心中,该识别核心所需要的输入包括1)词库约束了连续语音识别的词汇集,一般目前技术可识别几万词的词汇量;2)词频每个词的使用频率Pu(Wi),Wi表示一个汉语词3)二元概率每两个词的连接概率Pb(Wj|Wi),表示在Wi出现下,Wj出现的概率4)三元概率每三个词的连接概率(Ptrigram(Wk|Wi,Wj)),表示在Wi,Wj出现的条件下,Wk出现的概率本发明的技术要点还在于在其它工作模式转化为本工作模式时都需要对上述输入进行适当的初始化和转化。如图5所示,其流程如下1.输入接口,设置工作模式。工作模式1为命令识别模式,模式2为孤立词识别模式,模式3为有限句型识别模式,模式4为关键词识别模式,模式5为连续语音识别模型;根据设置,转入相应的模块;2.若是命令识别模式,即模式1。则进入转换1、开关设置和过滤垃圾词处理模块;在图4所示的连续语音语法图中,通过打开连续语音识别的回路开关,就可以把图4所示的连接图转化为图3所示的语法图。进一步把所有的命令词表中所有词之间的二元和三元概率置为零。即对所有Wi,Wj,Wk属于命令表,都有P(Wi,Wj)=0;P(Wi,Wj,Wk)=0;若命令表大小为n,则P(Wi)=1/n,则就转化为图1所示的语法图,即单纯的命令识别。但实际应用中,命令识别还需要排除集外词,这是一个非常重要的指标,即对集外词的拒识率。在专用命令识别技术中,一般加入一定数量的垃圾模型或者称为集外词模型来过滤集外词,另外一个办法是加入对识别结果的得分衡量。
在大词汇量连续语音识别引擎下,本发明提出加入大量命令表外集外词的办法作为垃圾模型,这些垃圾词的数量根据识别指标要求可以有几百个到上万个。即在该模式下,识别词库=命令表+大量垃圾词。假设命令表的个数是N,垃圾词的个数是M,这些命令和垃圾词在声学特征空间是均匀分布的,则一个集外词被识别成命令的可能性是误收率=N/(N+M)*100%。
假设命令表有100个词汇,当垃圾词模型有1万个时,则误收率只有1%,通过增加垃圾词模型可以进一步降低误收率,完全可以满足现有语音识别应用的需要。接下来的一个问题是如何选择这些垃圾词模型,能使这些词对输入产生比较平均的反映。本发明设计了构造以上垃圾词模型的一个方法,算法如图7所示,该图表示的算法具体描述如下1)首先对汉语的声母根据其发音相似性按最细的行分类分成8类,如图8所示。
2)然后对汉语的韵母根据其发音相似性按行分类分成4类,如图9所示。
3)对于垃圾词S1Y1S2Y2…SnYn,n从1-5。
4)对于不同长度的词随机从N类中取1类,随机在该类中抽取一个声母;随机从韵母M类中取1类,随机在该类中取一个韵母;5)观察把声母和韵母构成一个音节,若不能构成一个音节,则丢掉,否则把该音节加入词表中。
6)用上述方法构造词,转至4)直到产生一定长度的词为止。
7)用此方法构造一个词,若至对n长度的词满足设定的个数为止。3.若是孤立词语音识别模式,即模式2,则进入开关设置模块。
在图4所示的连续语音语法图中,通过打开连续语音识别的回路开关,就可以把图4所示的连接图转化为图3所示的语法图,即孤立语音识别模式。4.若是有限句型识别模式,即工作模式3,则进入转化模块2和可信度衡量模块;有限句型识别的语法同连续语音识别用的语法有着很大的差别,前者是状态之间确定性的连接关系,后者是概率性的连接关系。有限句型识别模式到连续语音识别模式的转化就是要把这种确定性的语法连接关系转化为概率连接关系。一种做法是用图6所示的有限状态自动机产生大量的句子,然后对这些句子进行三元文法的统计。这种方法对某些状态自动机是有效的,但对具有自转回路的自动机来说就不是非常合适。例如有一个能产生无限长度的数字串文法,它能产生数字串几乎是没有穷尽的,而直观上就可以得出任何一个数字可以后接得数字都是等概率的结论。因而在本发明中,从有限自动机的语法描述直接就可以推算每一个词后面可以接的词的个数来直接确定二元概率,如果节点n后面可以后接L个节点,每个节点中可以有Li个词,则所有这些词与节点n中的词的二元连接概率为。
P(Wi|Wj)=1/(SumLi)此处词Wi属于L个节点中的任何一个节点中的词,Wj属于节点n中的任何一个词。而三元概率我们则直接置为0,即用二元概率来近似三元概率。
以上转化算法,虽然不能从理论上保证概率的约束,但对识别结果不会产生任何负面的影响。对于有限句型的识别也需要有一个可信度衡量的问题,排除背景噪声或同本任务无关的语音。在该算法中,第一遍搜索采用了没有语法限制的语音识别,第二遍搜索则采用具有上述语音概率约束的语法,则两遍搜索可以给出不同的识别结果S1Y1,S2Y2,…,SnYn,(1)S1′Y1′S2′Y2′…,Sm′Ym′(2)通过对上述两个音节串进行动态匹配和规划,可以计算这两个串的相似度Similarity=Distance((S1Y1,S2Y2,…,SnYn),(S1′Y1′,S2′Y2′,…,Sm′Ym′))其中该匹配的基础是实现估算的所有22个声母之间和所有37个韵母之间的混淆度,根据计算得到的Similarity可以作为识别的可信度衡量。若可信度衡量小于某个门限,则可排除该语音。5.若是关键词检测模式,即工作模式4,则进入转化模块3和选取关键词模块;关键词的检测语法图类同连续语音识别工作模式,都有语法回路。主要需要对其词表进行转化。因为关键词检测需要过滤掉关键词词表以外的大量语音,因而作为连续语音的识别需要,可以插入大量的集外词。在汉语中,由于汉语是单音节结构体系的语音,一共只有408个无调音节,因而这408个音节理论上可以滤掉所有的语音。本发明把这408个音节作为词表加入到连续语音识别的搜索中,由于关键词本身也可以由这408个音节拼接而成,因而关键词也有可能被滤掉。本发明把关键词的词频设得高一些,而垃圾音节模型的词频设得低一些。所以把关键词识别工作模式转化为连续语音识别模式需要完成如下步骤(1)词库关键词词库+S1,S2,…,S408,这而S1,S2,…,S408为汉语全部音节(2)词频关键词词频1/n,408个音节词频为1/408个,在一般的应用中n<408个,所以关键词的词频一般高于垃圾音节的词频;(3)在通用的关键词检测中,假设所有词后面可以接所有的词。即P(Wi|Wj)=1/n,而三元概率也是P(Wk|Wi,Wj)=1/n。
通过这种方式,连续语音的识别结果一般是S1,…,Ki,…,Kj,…Sn此处S表示垃圾音节词模型,K表示所需要的关键词。通过简单的后处理,就可以从上面的识别结果中挑出就可以完成关键词的检测。6.若是连续语音识别模式,则直接进入识别引擎。
本发明的优点是以强大的连续语音识别为核心,采用了一种各种工作模式的转化为连续语音识别的方法,并且通过加入一些覆盖所有语音的垃圾模型,有效地压缩了核心引擎。本方法对于关键词检测能作到与词汇量无关,用户可以非常方便的改变核心词汇和词汇量。


图1命令识别模式语法2关键词检测语音识别示意3孤立语音识别示意4连续语音识别示意5基于连续语音识别的多模式工作流程6财务查询有限状态示意7垃圾词选择示意8语音识别分类表图9声母分类表图10韵母分类表实施例1基于上述识别模式转换的语音识别API在以上结构和算法的算法实现了API。该API是在在汉语大词汇量、非特定人、连续语音技术基础上发展出来的专门用于以词、短语或连续语音形式进行语音命令控制、语音录入的一个软件,其内置词汇量达4万余条,对一般文本识别准确率可以达到90%以上。该API提供了命令控制、有限句型识别、关键词检测和语音听写等四种工作模式,用户可以任意选择和切换。其中在连续语音听写模式中,还具有常用编辑命令的命令控制,两者可以并行使用;这四种模式可以并行存在与系统中,并支持这四种模式之间的在线切换。
在该API中,命令词表的定义和关键词检测的文件定义是完全一致的。开发者或最终用户非常简单地在通用的编辑器中定义命令词表,第一行表示命令集中所包含的命令的个数;然后每一行是一个命令的字符表示,然后是发音表示,最后是该命令的动作编码,开发商自行定义动作编码的意义。而词表以及相应数据的转化皆由API内部完成。
而有限句型的定义以及转化则略为复杂,以基于多关键词的财务查询为例。当需要查询各种财务报表时需要输入报表时间和报表类型这两种信息,利用本识别核心提供的技术就能用一句话同时表达这两种关键词信息,例如“请查询去年12月的总帐”。这样就有如图6所示的有限状态语法图。
此处W1可以有请,请马上,给我;此处W2可以有查询,显示,汇报,打印;此处Y可以有前年,去年,今年;此处D有1-12;此处C可以有总帐,资产负债表,银行存款,贷方余额,工资表,工资总额;在上面图中可以说“显示去年的总帐”,“请马上打印今年12月工资表”等话。实施例2通用引擎在多工作模式PDA上的应用以某PDA为例,该PDA希望能对其主菜单中的功能采用声控启动,此为典型的命令识别工作模式;同时该PDA上有电话本功能,需要输入姓名、单位、电话号码等。在姓名、单位输入为典型的孤立词听写,而电话号码则为有限句型识别工作模式;同时该PDA希望能记录用户的发音并把它识别成文字,此为典型的连续语音识别功能;本发明的特点使得一个核心引擎能在同一个应用中需要多种工作模式的情况。因而要在该PDA上完成多个语音识别工作模式。若采用单独的语音识别引擎,在PDA这样存储资源非常有限的环境下是非常困难的。采用本发明以及相应的API就可以以较少的软件量和资源损耗实现以上所有功能。
另外,对于本专业的技术人员能够清楚地了解此发明进行多方面的改变并提出与前问具体提出和描述的实现方案不同的多种实现方法,本发明的方法可以在多方面加以变化。
权利要求
1.一种多种语音工作模式的统一识别方法,其特征在于把所有语音工作模式通过词典构造、数据转化以及通道开关切换转化为统一的大词汇量、连续语音识别内核处理,具体步骤如下1)设置工作模式,工作模式1为命令识别模式,模式2为孤立词识别模式,模式3为有限句型识别模式,模式4为关键词识别模式,模式5为连续语音识别模型;根据模式设置,转入相应的模块;2)若是命令识别模式,即模式1,则进入转换1、开关设置和过滤垃圾词处理模块;3)若是孤立词语音识别模式,即模式2,则进入开关设置模块;4)若是有限句型识别模式,即工作模式3,则进入转换2和可信度衡量模块;5)若是关键词检测模式,即工作模式4,则进入转换3和选取关键词模块;6)若是连续语音识别模式,即工作模式5,则直接进入引擎。7)输出结果。
2.根据权利要求1所述的一种多种语音工作模式的统一识别方法,其特征在于命令识别、多关键词检测以及有限句型识别都需要处理集外词以及非相关语音,对于命令识别、多关键词检测以及有限句型识别采用不同的识别结果可信度衡量策略,即大数量垃圾词策略、全音节填充策略和基于混淆度匹配的可信度策略。
3.根据权利要求1、2所述的一种多种语音工作模式的统一识别方法,其特征在于转换1完成命令识别到连续语音识别的转化,是在最后的命令集识别词典中加入大量经过设计的集外词,这些集外词称为大数量垃圾词,通过集外词的数量的不断加入,保证关键词检测中对关键词的检出准确率;开关设置需把连续语音语法回路开关断开。
4.根据权利要求3所述的一种多种语音工作模式的统一识别方法,特征在于对大数量垃圾词挑选的挑选准则;首先对汉语中声韵母根据其声学相似形进行粗划分,然后通过随机选择粗分类和在该粗分类中随机挑选相应声母和韵母这个二次随机过程,来构造在声学特征空间相对比较均匀的大数量垃圾词,其具体步骤如下1)首先对汉语的声母根据其发音相似性按最细的行分类分成N类;2)然后对汉语的韵母根据其发音相似性按行分类分成M类;3)对于垃圾词S1Y1S2Y2…SnYn,n取从1-5;4)对于不同长度的词随机从N类中取1类,随机在该类中抽取一个声母;随机从韵母M类中取1类,随机在该类中取一个韵母;5)观察把声母和韵母构成一个音节,若不能构成一个音节,则丢掉,否则把该音节加入词表中;6)用上述方法构造词,转至4)直到产生一定长度的词为止;7)用此方法构造一个词,直至对n长度的词满足设定的个数为止。
5.根据权利要求1所述的一种多种语音工作模式的统一识别方法,其特征在于转换2完成从有限句型识别到连续语音识别的转化,即把有限句型中词与词之间的有限自动机关系转化为词与词之间的概率连接关系,具体地是从有限自动机的语法描述直接推算每一个词后面可以接的词的个数来直接确定二元概率,如果节点n后面可以后接L个节点,每个节点中可以有Li个词,则所有这些词与节点n中的词的二元连接概率为P(Wi|Wj)=1/(SumLi)此处词Wi属于L个节点中的任何一个节点中的词,Wj属于节点n中的任何一个词,而三元概率则直接置为0,即用二元概率来近似三元概率。
6.根据权利要求1、2所述的的一种多种语音工作模式的统一识别方法,其特征在于有限句型识别可信度衡量模块完成识别结果的可靠性度量,是采用两遍语音识别的搜索方法,第一遍搜索是没有任何词库和语法限制的自由音节连接语法,第二遍搜索是结合了词库和统计语言概率的连接语法,通过比较两遍识别结果的相似性得出可信度衡量;对于有限句型的识别也需要有一个可信度衡量的问题,排除背景噪声或同本任务无关的语音,具体步骤为在第一遍搜索采用没有语法限制的语音识别,第二遍搜索则采用具有上述语音概率约束的语法,则两遍搜索可以给出不同的识别结果S1Y1,S2Y2,…,SnYn,S1′Y1′,S2′Y2′…,Sm′Ym′通过对上述两个音节串进行动态匹配和规划,计算这两个串的相似度Similarity=Distance((S1Y1,S2Y2,…,SnYn),(S1′Y1′,S2′Y2′,…,Sm′Ym′))其中该匹配的基础是事先估算的所有22个声母之间和所有37个韵母之间的混淆度,根据计算得到的Similarity可以作为识别的可信度衡量。若可信度衡量小于某个门限,则可排除该语音。
7.根据权利要求1,2所述的一种多种语音工作模式的统一识别方法,其特征在于转化3完成把关键词检测任务转化为一般连续语音识别,其转化后的连续语音词汇集中,不但包含所要检测的关键词,而且插入汉语中通用的音节库,同时给这些关键词以及音节赋予适当的概率,其具体步骤如下(1)词库关键词词库+S1,S2,…,S408,这而S1,S2,…,S408为汉语全部音节;(2)词频关键词词频为1/n,408个音节词频为1/408个,在一般的应用中n<408个,所以关键词的词频一般高于垃圾音节的词频;(3)在通用的关键词检测中,我们假设所有词后面可以接所有的词,即P(Wi|Wj)=1/n,而三元概率也是P(Wk|Wi,Wj)=1/n;通过这种方式,连续语音的识别结果一般是S1,…Ki,…,Kj,…Sn此处S表示垃圾音节词模型,而K表示所需要的关键词,其关键词选取模块完成从上面的识别结果中挑出关键词的过程。
全文摘要
多种语音工作模式的统一识别方法属于语音识别领域。本方法提出了一种采用大词汇量连续语音识别作为统一内核引擎,通过构造专用词典、进行数据转化以及通道开关切换等手段把多种语音识别工作模式转化到该引擎的一个结构以及实现。这些语音工作模式覆盖了当前语音识别应用所需的各种模式,如命令工作模式、多关键词检测工作模式、有限句型识别工作模式、孤立词听写工作模式以及连续语音听写工作模式。
文档编号G10L15/00GK1342967SQ00124710
公开日2002年4月3日 申请日期2000年9月13日 优先权日2000年9月13日
发明者徐波, 高升, 黄泰翼 申请人:中国科学院自动化研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1