CN1223985C - 语音识别置信度评价方法和***及应用该方法的听写装置 - Google Patents
语音识别置信度评价方法和***及应用该方法的听写装置 Download PDFInfo
- Publication number
- CN1223985C CN1223985C CNB021486867A CN02148686A CN1223985C CN 1223985 C CN1223985 C CN 1223985C CN B021486867 A CNB021486867 A CN B021486867A CN 02148686 A CN02148686 A CN 02148686A CN 1223985 C CN1223985 C CN 1223985C
- Authority
- CN
- China
- Prior art keywords
- phoneme
- confidence
- state
- speech
- speech frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Machine Translation (AREA)
Abstract
本发明公开一种语音识别置信度的评价方法及其***,其评价方法中利用目标单元的隐马尔可夫模型对所述语音段作强制对齐时,生成所述目标单元的状态音素序列及各状态音素对应语音段的起始边界,基于状态音素关于对应语音段中各语音帧的后验概率的计算得到识别结果目标单元的声学置信度量,同时公开了一种并行计算方法和相应的存储结构,本发明的置信度计算是基于更基本的声学结构来进行的,因此可以使置信度评价的结果更为准确有效,更由于采用了并行计算方法及相应的利于并行计算的存储结构,运算速度也大大提高;本发明还公开了一种根据置信度量对识别结果加以标记的方法,以及一种带识别结果置信度评价的听写装置。
Description
技术领域
本发明涉及一种语音识别置信度的评价方法及其***,以及带有识别结果置信度评价的听写装置。
背景技术
一般而言,当前的连续语音识别***是面向大量用户的,尤其是那些不经常使用***的用户,例如,使用语音自动总机、电话股票信息查询服务的用户,这些用户的语音输入可能会超出语音识别***所能处理的任务域的范围,导致识别***的错误识别。引起这种情况的原因比较复杂,例如,用户的语音输入中可能有非话语音,如停顿、咳嗽声以及环境噪声等;识别***中语言模型不完整,即识别***没有对用户说的词或词串建模等。语音识别置信度评价技术利用置信度可以对识别结果的可靠性进行假设检验,定位识别结果中的错误所在,提高识别***的稳健性和识别率,改善人机交互的界面。例如,对于电话股票查询***,如果用户所说的股票名不在***设定的股票名字表中,具有语音识别置信度评价技术的识别***可以拒绝掉这些不在任务域中的语音输入,识别***可提示用户“对不起,我不知道您所要查询的股票”;而不具有语音识别置信度评价技术的识别***不能拒绝掉这样的语音输入,会提示给用户一支错误识别的股票名及其相关信息。
在语音识别中,置信度可以定义成一个用来衡量声学模型和语音观察数据之间匹配程度的函数,且该函数的值对于不同的观察数据具有可比性,计算出识别结果的置信度后,与一预设阀值进行比较即可得到评价结果,并执行相应操作。文献,Ze’ev Rivlin et al.“A phone-dependent confidencemeasure for utterance rejection,”ICASSP96(1996),提出了对连续语音输入的识别结果作置信度评价的方法,该方法是一种基于音素进行计算的声学层置信度量方法。音素是构成词的基本单位,词的序列构成句子,音素有两种类型:一种是上下文有关音素(TRI-PHONE),另一种是上下文无关音素(MONO-PHONE),文中的音素可以是上下文有关音素(TRI-PHONE),也可以是上下文无关音素(MONO-PHONE)。例如:词“中国”的上下文有关音素表示序列为:“sil-zh+ong zh-ong+g ong-g+uo g-uo+sil”(其中“sil”是一个特殊音素,用来描述用户语音中的停顿),其上下文无关音素表示序列为:“sil zh ong g ou sil”。显然,与上下文无关音素相比,上下文有关音素可描述更精细的声学特征,但在一个识别***中,其数目远远大于上下文无关音素的数目。
识别***尽管采用了置信度评价的措施,但是使用中仍存在相当的误报或漏报的情况,即其评价结果的有效性还有待提高,在置信度计算中采用更精细的声学特征来与输入语音段比较是提高评价结果有效性的重要手段。在当今流行的语音识别***中,声学模型都是用隐马尔可夫模型(HMM)来描述,一个HMM表示一个音素,如图1所示,音素10的HMM还包含了若干个HMM状态,此处为三个,每个状态对应一个状态音素11,音素P由SP1、SP2及SP3三个状态音素11构成,因为状态音素是比音素更基本的声学结构,描述了更精细的声学特征,因此在上述采用HMM的识别***中,无论其采用上下文有关音素还是采用上下文无关音素,如果将其置信度计算基于状态音素进行,将提高原置信度评价方法的有效性。
上述方法的另一缺点是计算量较大,尤其是对基于上下文有关音素计算声学层置信度量的识别***,该方法的缺点会表现得更加明显,例如,对于电话信息服务***,由于该方法的计算量较大,降低了***对用户语音输入的***响应和吞吐率,势必导致***硬件投入的增加。
语音识别置信度评价方法可应用于听写装置中,听写装置根据使用者的语音输入进行语音识别,并输出识别结果至某一显示设备。当前的听写装置,例如:IBM的ViaVoice,Microsoft OfficeXP中的语音识别模块,以及会议记录仪(离线方式运行的听写装置),在办公室环境下,可达到90%~95%的识别正确率,而5%~10%的错误识别的词需要用户手工校错,由于这些错误识别的词与其它词以同样方式显示,用户要发现错误很不方便,其手工校错的效率有待提高。
发明内容
本发明要解决的技术问题是提供一种语音识别置信度评价方法,其计算基于HMM状态音素,可提高置信度评价结果的有效性。
为了达到上述目的,本发明提供了一种语音识别置信度的评价方法,包括以下步骤:
识别***对输入语音进行识别运算得到识别结果,该识别结果包含目标单元及对应的由语音帧序列组成的语音段;
利用所述目标单元的隐马尔可夫模型对所述语音段作强制对齐,生成目标单元的状态音素序列及各状态音素对应语音段的起始边界;
计算所述状态音素关于对应语音段中各语音帧的后验概率;
基于所述后验概率计算所述目标单元的声学置信度量;以及
将目标单元的声学置信度量和一预设置信度阀值比较,得到置信度评价结果。
上述方案中,其特点是对所述目标单元对应语音段作强制对齐时还生成了该目标单元的音素序列及各音素对应语音段的起始边界,该音素序列中的每个音素包含若干所述状态音素,且基于所述后验概率计算所述目标单元的声学置信度量时,先根据所述状态音素后验概率计算出所述音素的声学置信度量,再根据所述音素的声学置信度量计算所述目标单元的声学置信度量,所述音素为上下文有关音素或上下文无关音素。
上述方案中,其特点是计算所述状态音素关于对应语音段中各语音帧的后验概率的方法如下:
其中:SPi表示所述状态音素序列中的状态音素,ot表示第t个语音帧,bi≤t≤ei,bi和ei分别是状态音素SPi对应语音段的起始和结束语音帧的指标;M为识别***所包含状态音素SPj的个数;P(ot|SPi)及P(ot|SPj)是状态音素关于语音帧ot的条件概率;P(SPi)及P(SPj)是状态音素的先验概率;logP(SPt|ot)是状态音素SPt关于语音帧ot的对数后验概率。
上述方案中,其特点是根据所述状态音素后验概率计算所述音素的声学置信度量的方法如下:
先计算所述音素P包含的各状态音素SPi的声学置信度量CM(SPi):
其中,bi和ei分别是状态音素SPi对应语音段起始和结束语音帧的指标。再计算所述音素P的声学置信度量CM(P):
其中V为音素P所包含的状态音素的个数。
上述方案中,其特点是根据所述状态音素后验概率计算所述音素的声学置信度量CM(P)的方法还可以为:
其中,bi和ei分别是状态音素SPi对应语音段的起始和结束语音帧的指标,b1和eV分别是所述音素对应语音段的起始和结束语音帧的指标,V为音素P所包含的状态音素SPi的个数。
上述方案中,其特点是所述目标单元的声学置信度量也可以按以下方法计算:等于该目标单元包含的所有状态音素关于对应语音段中各语音帧的对数后验概率的算术平均值。
上述方案中,其特点是计算所述目标单元的声学置信度量时,当该目标单元为目标词时,该目标词的声学置信度量等于其包含的所有音素的声学置信度量的算术平均值;当该目标单元为句子或子句时,先按上述方法计算该句子或子句所包含的每个词的声学置信度量,再计算该句子或子句包含的所有词的声学置信度量的算术平均值,即得到目标单元的声学置信度量。
上述方案中,其特点是在利用所述目标单元的隐马尔可夫模型对所述语音段作强制对齐前,还有一从识别结果中选择出目标单元的步骤。
由上所述可见,本发明的语音识别置信度评价方法,由于其置信度量值的计算是基于更基本的声学结构—状态音素来进行的,因此可以使置信度评价的结果更为准确有效,在所作的统计实验中,使用本发明方法的语音识别***置信度评价的有效性高于基于音素计算的已知***。
为了取得更佳的效果,提高本发明置信度评价方法的运算速度,本发明还提供一种计算上述状态音素关于对应语音段中语音帧的后验概率的并行计算方法,利用计算设备中的单指令多数据指令,采用的步骤如下:
第一步:对识别***中的每个状态音素,并行计算出该状态音素关于所述语音段中各语音帧的一组对数条件概率;
第二步:对识别***中的每个状态音素,将第一步中得到每个状态音素的一组对数条件概率,并行累加上该状态音素的对数先验概率,得到该状态音素关于所述语音段中各语音帧的一组对数联合概率;
第三步:对所述语音段中各语音帧,基于识别***中的各状态音素关于该语音帧的对数联合概率,同时作递归计算,得到各语音帧ot对应的 值,该递归计算方法如下:
第四步:将每一状态音素关于对应语音段中各语音帧的对数联合概率值并行减去该语音帧对应的
值,即得到各状态音素关于对应语音段中各语音帧的对数后验概率。
由于对数后验概率的计算占据了整个声学置信度量计算的主要部分,因此采用上述并行计算方法后可以大大提高本发明置信度评价方法的运算速度。
为了取得更佳的效果,本发明又提供一种有利于上述并行计算的存储方法如下:
第一步得到的每一状态音素关于所述语音段中各语音帧的一组对数条件概率,按照各语音帧在语音段中的顺序或用户订制的其它顺序存放在一片连续的内存区中;
第二步得到的每一状态音素关于所述语音段中各语音帧的一组对数联合概率,按照第一步中各语音帧的顺序存放在一片连续的内存区中;
第三步得到的每一语音帧ot对应的
值按第一步中各语音帧的顺序存放在一片连续的内存区中;
在第三步之前或第三步与第四步之间还有一数据提取步骤:从第二步得到的对数联合概率中抽取所述状态音素序列中各状态音素关于对应语音段中各语音帧的联合概率,按第一步中各语音帧的顺序存放在一片连续的内存区中。
采用上述存储方法有利于并行计算时对数据的快速存取,从而进一步加快本发明置信度评价方法的运算速度。
本发明要解决的另一技术问题是提供一种具有置信度评价功能的语音识别***,其置信度计算基于状态音素,以提高其置信度评价结果的有效性。
为了解决该问题,本发明提供了一种具有置信度评价功能的语音识别***,包括:识别引擎,根据用户的语音输入生成识别结果,该识别结果包含目标单元及其对应的语音段;声学模型,采用隐马尔可夫模型;解码器,基于目标单元的声学模型,对所述语音段做强制对齐,生成目标单元的状态音素序列及每个状态音素对应语音段的起始边界;置信度量计算单元,基于状态音素的后验概率计算出目标单元的声学置信度量;及比较器,将该声学置信度量与一预设置信度阀值比较,得到评价结果。
上述方案中,其特点是所述解码器在对所述语音段做强制对齐时还生成了目标单元的音素序列及每个音素对应语音段的起始边界,该音素序列中的每个音素包含若干所述状态音素,所述音素为上下文有关音素或上下文无关音素。
上述方案中,其特点是本发明语音识别***还包括一目标单元选择器,从识别结果中选择出要作置信度计算的目标单元及其对应的语音段。
上述方案中,其特点是所述置信度量计算单元执行以下步骤:计算所述状态音素关于对应语音段中各语音帧的后验概率;根据所述状态音素后验概率计算所述音素的声学置信度量;以及根据所述音素的声学置信度量计算所述目标单元的声学置信度量。
上述方案中,其特点是计算所述状态音素关于对应语音段中各语音帧的后验概率的方法、根据所述状态音素后验概率计算所述音素的声学置信度量的方法,以及根据所述音素的声学置信度量计算所述目标单元的声学置信度量的方法均与本发明语音识别置信度评价方法的技术方案相同。
上述方案中,其特点是计算所述状态音素关于对应语音段中语音帧的后验概率时,利用计算设备中的单指令多数据指令,并采用与本发明语音识别置信度评价方法相同的并行算法和存储结构。
上述方案中,其特点是所述目标单元的声学置信度量等于该目标单元包含的所有状态音素关于对应语音段中各语音帧的对数后验概率的算术平均值。
由上所述可见,本发明具有置信度评价功能的语音识别***,由于其置信度量值的计算是基于更基本的声学结构—状态音素来进行的,因此可以使置信度评价的结果更为准确有效,更由于采用了并行计算方法及其相应的存储结构,本***的运算速度也大大提高。
本发明要解决的又一技术问题是提供一种根据置信度量对识别结果加以标记的方法,能对低置信度的识别结果加以标记,以警示用户。
为了解决上述问题,本发明提供了一种根据置信度量对识别结果加以标记的方法,包括以下步骤:
(a)用户语音信号输入听写装置识别引擎,产生识别结果;
(b)利用本发明语音识别置信度评价方法中的置信度计算方法,计算所述识别结果中各目标词的声学置信度量;
(c)取出第一个目标词及其置信度量值;
(d)判断该词的置信度量值是否小于或小于等于***预设的置信度阀值,若是,则执行步骤(e),若否,则执行步骤(f);
(e)给该词置上错误警示标记;
(f)取下一个词及其置信度量值,若取到,则返回执行步骤(d),若未取到,则执行步骤(g);以及
(g)输出将带有错误警示标记的识别结果。
上述方案中,其特点是在步骤(g)中,识别结果输出到一显示设备,该显示设备对带错误警示标记的词的显示方式不同于无错误警示标记的词。
本发明要解决的再一技术问题是提供一种带识别结果置信度评价的听写装置,能够对识别结果进行自动分析并自动定位可能错误识别的词。
为了达到上述目的,本发明提供一种带识别结果置信度评价的听写装置,包括:一语音识别引擎,根据用户的语音输入信号得到识别结果;一置信度评价引擎,利用本发明语音识别置信度评价方法中的计算方法计算识别结果中目标词的置信度量值,并对低置信度量的词置上错误警示标记;及一反馈用户模块,输出带错误警示标记的识别结果。
上述方案中,其特点是该听写装置还连接有一显示识别结果的显示设备,其对带错误警示标记的词的显示方式不同于无错误警示标记的词。
由上可见,本发明带识别结果置信度评价的听写装置,借助于对识别结果的置信度评价,能够对置信度量值低于***预制的置信度阀值的词加以标记,并向用户提供警示,可以提高用户手工校错的效率,从而可提高听写装置的实用性。
附图说明
图1是HMM模型中音素和状态音素的关系示意图。
图2是本发明实施例具有置信度评价功能的语音识别***的结构框图。
图3是本发明实施例置信度评价方法的流程图。
图4是图3中计算识别结果声学置信度量的方法的子流程图。
图5是本发明实施例并行计算状态音素后验概率的流程图。
图6是本发明带识别结果置信度评价的听写装置的结构框图。
图7是本发明带识别结果置信度评价的听写装置的工作流程图。
具体实施方式
在不同的语音识别置信度评价***中,需要进行置信度评价的目标单元不同,例如在语音自动总机中,可能只需对识别结果中的某一特定词或子句或句子进行置信度评价,而在听写装置中,则需对识别结果中所有内容作评价,我们将识别结果中需进行置信度评价的内容称为目标单元,目标单元可以是整个识别结果的内容,识别结果中的句子、子句、词或单个字。在本实施例中,假设目标单元是识别结果中特定的句子或子句,包含若干个目标词,如果需对识别结果中所有内容作评价,即不需从识别结果中选择特定内容,则可以略去图2中的目标单元选择器21和图3中选择目标单元的步骤101,如果目标单元是识别结果中的某一特定词或单个字,则在计算出目标词的置信度量后即可得到评价结果,无需下述各实施例中根据目标词置信度量计算句子或子句置信度量的步骤。
图2是本发明实施例具有置信度评价功能的语音识别***的结构框图,该识别***采用HMM模型,共包含M个状态音素SPj,图3是本发明实施例置信度评价方法的流程图,现根据图3中的流程,同时结合图2中的功能单元,具体说明该语音识别***及该评价方法的步骤:
步骤100,用户的语音输入识别引擎20生成识别结果,该识别结果包括了需要做置信度评价的目标单元;
步骤101,将该识别结果输入目标单元选择器21,将上述目标单元及对应的语音段从识别结果中选择出来;
步骤102,将目标单元对应的语音段输入一个VITERBI解码器22,该解码器22基于识别***中目标单元的声学模型23(由音素HMM依音素顺序串接而成,每个音素包含若干个状态音素)对语音段作强制对齐,生成目标单元的目标词序列及其中每个目标词对应语音段的起始边界、每个目标词的音素序列及其中每个音素对应语音段的起始边界、每个音素的状态音素序列及其中每个状态音素对应语音段的起始边界。
对目标单元对应语音段的强制对齐过程,可以是先对目标单元中某一目标词对应语音段进行强制对齐,再依次选择其它目标词的对应语音段,也可以是一次对整个目标单元的对应语音段进行强制对齐;对目标词对应语音段进行强制对齐,可以是对目标词中各音素对应语音段依次对齐或一次对整个词的对应语音段对齐。本实施例中是采用了一次对整个目标单元的对应语音段作强制对齐。
步骤103,将步骤102生成的数据输入声学置信度量计算单元24,计算出目标单元的声学置信度量;
步骤104,比较器25将目标单元的声学置信度量与一预设置信度阀值进行比较,得到置信度评价结果,并可根据该结果执行相应操作,如:若大于阀值则正常输出识别结果,若小于阀值则拒绝识别结果或输出警示信息。
上述步骤中,步骤103具体算法的一个实施例见图4中的流程,如图所示,计算目标单元声学置信度量的步骤包括:
步骤200,计算各目标词中每个状态音素关于对应语音段中各语音帧的后验概率。以目标词W为例,假定其对应的语音段为o1…oN,其中o1是起始语音帧,oN为结束语音帧,该目标词包含的状态音素序列表示为SPi1 SPi2…SPiK,其中每个状态音素对应的语音段分别表示为(SPi1:o1…oi1)(SPi2:oi1+1…oi2)…(SPiK:oiK-1+1…oN),所述音素可以是上下文有关音素或上下文无关音素;其所用公式为:
其中:SPi表示目标词状态音素序列中的状态音素,ot表示第t个语音帧,bi≤t≤ei,bi和ei分别是状态音素SPi对应语音段的起始和结束语音帧的指标;logP(SPi|ot)是状态音素SPi关于语音帧ot的对数后验概率;M为识别***所包含状态音素SPj的个数;P(ot|SPi)及P(ot|SPj)是状态音素关于语音帧ot的条件概率,当前主流语音识别***均假设该条件概率由一组具有对角协方差矩阵的联合高斯分布的加权线性组合而得到;P(SPi)及P(SPj)是状态音素的先验概率,识别***中状态音素的先验概率可由识别***的训练语料统计生成并存在表中,亦可假设它满足均匀分布。
公式(1)中,
是和的对数,求和运算是对识别***所包含的所有状态音素SPj作的,运用下面的递归方法可以将和的对数转化成对数的和的运算:
并且有
即得到语音帧ot要计算的和的对数值。
由上可见,采用上述递归算法后,状态音素SPi关于对应语音段中语音帧ot的对数后验概率log(SPi|t)的计算可转化为计算对数条件概率logP(ot|SPj)j=1…M(其中包含有要计算的logP(ot|SPi))、对数先验概率logP(SPj)j=1…M(其中包含有要计算的logP(SPi))以及上述递归算法中的少量的对数运算和指数运算,其中,对数先验概率可以预先计算存放在表中,对数运算和指数运算可用基于多项式逼近的计算方法实现。
步骤201,根据上述后验概率计算目标词W中每个音素的声学置信度量CM(P),可以有两种计算方法,若要作基于音素持续长度的规整,则采用第一种计算方法如下:
其中,bi和ei分别是状态音素SPi对应语音段起始语音帧和结束语音帧的指标,b1和eV分别是音素P对应语音段的起始语音帧和结束语音帧的指标,V为音素P所包含的状态音素的个数,从式中可见,音素P的声学置信度量是该音素包含的所有状态音素关于对应语音段中各语音帧的对数后验概率的算术平均值;
若要作基于状态音素持续长度的规整,则采用第二种计算方法如下:
先计算音素P包含的各状态音素SPi的声学置信度量CM(SPi):
其中,bi和ei分别是状态音素SPi对应语音段的起始语音帧和结束语音帧的指标,状态音素SPi的声学置信度量等于该状态音素关于对应语音段内各语音帧的对数后验概率的算术平均值;
再计算所述音素P的声学置信度量CM(P):
其中V为音素P所包含的状态音素的个数,音素P的声学置信度量等于该音素包含的所有状态音素的声学置信度量的算术平均值。
步骤202,根据上述音素的声学置信度量计算目标词W的声学置信度量CM(W),其方法如下:
其中,此处的L为目标词W所包含的音素的个数,目标词W的声学置信度量等于词W包含的所有音素的声学置信度量的算术平均值。
步骤203,在计算出目标单元中所有词的声学置信度量后,该目标单元的声学置信度量CM(S)计算方法为:
其中,U为目标单元包含的目标词的个数,目标单元的声学置信度量等于其所包含的所有目标词的声学置信度量的算术平均值。
除以上方法外,步骤103具体算法也可以采取其它方式,在计算出各目标词中每个状态音素关于对应语音段中各语音帧的后验概率后,可以直接计算目标词的置信度量,其方法类似于公式(3),只需将其中的b1和eV分别用目标词对应语音段的起始语音帧和结束语音帧的指标替换,V用目标词包含的状态音素个数替换,即目标词的声学置信度量等于:该目标词包含的所有状态音素关于对应语音段中各语音帧的对数后验概率的算术平均值,在计算出目标词的声学置信度量后,用公式(7)计算出目标单元的置信度量。
也可以基于状态音素后验概率直接计算目标单元的置信度量,其方法类似于公式(3),只需将其中的b1和eV分别用目标单元对应语音段的起始语音帧和结束语音帧的指标替换,V用目标单元包含的状态音素个数替换,即目标单元的声学置信度量等于:该目标单元包含的所有状态音素关于对应语音段中各语音帧的对数后验概率的算术平均值。
上述步骤102及103中,也可以先对目标单元中某一目标词强制对齐,生成目标词的音素序列及其中每一音素对应语音段的起始边界、每一音素的状态音素序列及其中每一状态音素对应语音段的起始边界,在计算出该目标词的声学置信度量后,再对目标单元中其它目标词进行对齐,逐个计算出所有目标词的声学置信度量,再利用步骤203的公式计算目标单元的置信度量。
图2中各单元的功能均可用软件在具算术、逻辑运算功能的芯片及存储器的硬件基础上实现。
在上述计算中,状态音素对数后验概率的计算占据了整个声学置信度量计算的主要部分,而状态音素SPi关于对应语音段中语音帧ot的对数后验概率logP(SPi|ot)的计算,可转化为计算识别***中所有状态音素的对数条件概率logP(ot|SPj)j=1…M、对数先验概率logP(SPj)j=1…M以及公式(2)递归算法中的少量的对数运算和指数运算。
基于上述分析,本发明提供了一种基于语音段(语音帧序列)并行计算一组状态音素对数后验概率的方法,这是一种基于语音帧序列的并行计算方式,而不是逐个对语音帧计算。本发明同时提供了一种利于并行计算的存储结构的实施例,使得在置信度量计算过程中可利用计算设备中的单指令多数据指令(SIMD技术,这种技术仅使用一条简单指令就可以通过并行方式同时处理多个数据元素),例如:Intel Pentium系列CPU中MMX指令集,AMD CPU系列中的3D Now指令集以及DSP芯片中的并行计算指令集等,实现对置信度量的并行计算。进行并行计算的一组状态音素包含在一个计算单位中,该计算单位可以为一个音素、一个目标词、一个句子/子句,甚至可以为两个或两个以上的句子,只要已获得该计算单位的状态音素序列及其中每个状态音素对应语音段的起始边界,就可以得到每个状态音素关于对应语音段中语音帧的后验概率。在以下的实施例中,是以一个目标词为例,该目标词包含的状态音素序列为SPi1 SPi2…SPiK,该目标词对应的语音段为o1…oN,每个状态音素对应的语音段(语音帧序列)分别为(SPi1:o1…oi1)(SPi2:oi1+1…oi2)…(SPiK:oiK-1+1…oN),如图5所示,各状态音素关于对应语音段中各语音帧的后验概率的并行计算方法,包括以下步骤:
步骤300,对识别***中M个状态音素中的每个状态音素SPj,利用计算设备中的SIMD指令,并行计算状态音素SPj关于各语音帧o1…oN的一组对数条件概率
表1给出M个状态音素下语音段o1…oN的对数条件概率的一种存储结构实施例:
表1
1 2 .... N
12M
logP(o1|SP1) | logP(o2|SP1) | … | logP(oN|SP1) |
logP(o1|SP2) | logP(o2|SP2) | … | logP(oN|SP2) |
| | | |
logP(o1|SPM) | logP(o2|SPM) | … | logP(oN|SPM) |
它是一张二维表,存储结构中每一行依语音段中各语音帧的顺序存放在计算机的一片连续内存区中。用户也可订制语音段o1…oN中各语音帧的次序关系,得到其它存储结构实施例。
步骤301,对表1的每一行,利用计算设备中的SIMD指令,并行累加上该行对应的状态音素的对数先验概率,得到该状态音素的一组对数联合概率,其运算结果及一种对应于表1的存储结构实施例如表2所示:
表2
1 2 ..... N
12M
logP(o1|SP1)+logP(SP1) | logP(o2|SP1)+log(SP1) | … | logP(oN|SP1)+log(SP1) |
logP(o1|SP2)+logP(SP2) | logP(o2|SP2)+logP(SP2) | … | logP(oN|SP2)+logP(SP2) |
| | … | |
logP(o1|SPM)+log(SPM) | logP(o2|SPM)+logP(SPM) | … | logP(oN|SPM)+logP(SPM) |
它是一张二维表,存放的是识别***的M个状态音素中每个状态音素SPj关于各语音帧o1…oN的对数联合概率,该存储结构中每一行存储了一个状态音素对应各语音帧的一组对数联合概率,并依语音段中各语音帧的顺序存放在计算机的一片连续内存区中。
步骤302,从表2中抽取目标词状态音素序列SPi1 SPi2…SPiK中各状态音素SPi关于对应语音段(SPi1:o1…oi1)(SPi2:oi1+1…oi2)…(SPiK:oiK-1+1…oN)中各语音帧的对数联合概率,依各语音帧在语音段中的顺序存放在计算机的一片连续内存区中,表3给出了一种对应于表2的实施例:
表3
1 …… i1+1 …… N
logP(o1|SPi1)+logP(SPi1) | … | logP(oi1+1|SPi2)+logP(SPi2) | … | logP(oN|SPiK)+logP(SPiK) |
步骤303,利用计算设备中的SIMD指令,同时对表2中的各列进行公式(2)中的递归计算,运算结果及对应于表2的一种存储结构实施例如表4所示:
表4
1 …… i1+1 …… N
这是一张长度为N的一维表,存放在一片连续的内存空间。
步骤304,利用计算设备中的SIMD指令,将表3中存储的数据并行减去图4的对应存储位置的数据,其运算结果及一种对应于表3、表4的存储结构实施例如表5所示:
表5
1 …… i1+1 …… N
logP(SPi1|o1) | … | logP(SPi2|oi1+1) | … | logP(SPiK|oN) |
它是长度为N的一维表,其中存放的就是各状态音素SPi1 SPi2…SPiK关于对应语音段中各语音帧的一组状态音素后验概率。
对于其它计算单位,如音素、句子/子句或多个句子,在获得该计算单位的状态音素序列及其中每个状态音素对应语音段的起始边界,就可以用同样的并行计算方法得到该计算单位中每个状态音素关于对应语音段中语音帧的后验概率。
采用本发明上述实施例的并行算法和存储结构可用软件在具SIMD指令集的算术、逻辑运算芯片及存储器等硬件平台上实现,可以大大提高置信度计算的速度。
本发明带识别结果置信度评价的听写装置如图6所示,包括一语音识别引擎60,将用户的语音输入信号转化成文本形式的识别结果:一置信度评价引擎61,计算识别结果中目标词(一个或一组)的置信度量值并对低置信度量的词置上错误警示标记;及一反馈用户模块62,将带错误警示标记的识别结果以某种方式输出给用户。上述功能单元可用软件在包含算术、逻辑运算芯片及存储器等硬件平台上实现。
图7给出了带识别结果置信度评价的听写装置的操作流程图,包括以下步骤:
步骤400,用户语音信号输入至听写装置识别引擎,产生识别结果,一般而言是一个词串;
步骤401,把识别结果输入置信度评价引擎,产生词串中每个词的置信度量值;
步骤402,取出词串中第一个目标词及其置信度量λ;
步骤403,判断该词的置信度量值λ是否小于***预制的置信度阀值θ,若是,则执行步骤404,若否,则执行步骤405;
步骤404,给该词置上错误警示标记;
步骤405,取下一个词及其置信度量值,若取到,则返回执行步骤403,若未取到,则执行步骤406;
步骤406,输出带有错误警示标记的识别结果,一般输出到显示设备上,该显示设备对带错误警示标记的词的显示方式不同于无错误警示标记的词,警示标记在显示设备上的显示可以多种多样,例如,依词串中词的顺序用一种颜色显示不带错误警示标记的词,用另一种不同颜色显示带错误警示标记的词,或加粗、加阴影等。
步骤401中把识别结果输入置信度评价引擎,产生词串中每个词的置信度量值的方法可以采用已知的各种置信度量计算方法,但采用本发明的置信度量计算方法时,可以提高听写装置对识别错误预警的有效性和运算速度。
本发明的带识别结果置信度评价的听写装置针对自动语音识别***的误识进行处理,它包括对识别结果进行的自动分析,自动定位发生识别错误的词,用户在文本校错过程中,可直接修正带错误警示标记的词,从而可提高人工修正识别错误的效率,提高听写装置的实用性。
Claims (25)
1、一种语音识别置信度的评价方法,包括以下步骤:
识别***对输入语音进行识别运算得到识别结果,该识别结果包含目标单元及对应的由语音帧序列组成的语音段;
利用所述目标单元的隐马尔可夫模型对所述语音段作强制对齐,生成目标单元的状态音素序列及各状态音素对应语音段的起始边界;
计算所述状态音素关于对应语音段中各语音帧的后验概率;
基于所述后验概率计算所述目标单元的声学置信度量;以及
将目标单元的声学置信度量和一预设置信度阀值比较,得到置信度评价结果。
2、如权利要求1所述的语音识别置信度的评价方法,其特征在于对所述目标单元对应语音段作强制对齐时还生成了该目标单元的音素序列及各音素对应语音段的起始边界,该音素序列中的每个音素包含若干所述状态音素,且基于所述后验概率计算所述目标单元的声学置信度量时,先根据所述状态音素后验概率计算出所述音素的声学置信度量,再根据所述音素的声学置信度量计算所述目标单元的声学置信度量,所述音素为上下文有关音素或上下文无关音素。
3、如权利要求1或2所述的语音识别置信度的评价方法,其特征在于计算所述状态音素关于对应语音段中各语音帧的后验概率的方法如下:
其中:SPi表示所述状态音素序列中的状态音素,Ot表示第t个语音帧,bi≤t≤ei,bi和ei分别是状态音素SPi对应语音段的起始和结束语音帧的指标;M为识别***所包含状态音素SPj的个数;P(ot|SPi)及P(ot|SPj)是状态音素关于语音帧ot的条件概率;P(SPi)及P(SPj)是状态音素的先验概率;log P(SPi|Ot)是状态音素SPi关于语音帧ot的对数后验概率。
4、如权利要求2所述的语音识别置信度的评价方法,其特征在于根据所述状态音素后验概率计算所述音素的声学置信度量的方法如下:先计算所述音素P包含的各状态音素SPi的声学置信度量CM(SPi):
其中,bi和ei分别是状态音素SPi对应语音段起始和结束语音帧的指标,Ot表示第t个语音帧,bi≤t≤ei;
再计算所述音素P的声学置信度量CM(P):
其中V为音素P所包含的状态音素的个数。
5、如权利要求2所述的语音识别置信度的评价方法,其特征在于根据所述状态音素后验概率计算所述音素的声学置信度量CM(P)的方法为:
其中,bi和ei分别是状态音素SPi对应语音段的起始和结束语音帧的指标,Ot表示第t个语音帧,bi≤t≤ei,b1和eV分别是所述音素对应语音段的起始和结束语音帧的指标,V为音素P所包含的状态音素SPi的个数。
6、如权利要求1所述的语音识别置信度的评价方法,其特征在于所述目标单元的声学置信度量等于该目标单元包含的所有状态音素关于对应语音段中各语音帧的对数后验概率的算术平均值。
7、如权利要求2所述的语音识别置信度的评价方法,其特征在于计算所述目标单元的声学置信度量时,当该目标单元为目标词时,该目标词的声学置信度量等于其包含的所有音素的声学置信度量的算术平均值;当该目标单元为句子或子句时,先按上述方法计算该句子或子句所包含的每个词的声学置信度量,再计算该句子或子句包含的所有词的声学置信度量的算术平均值,即得到目标单元的声学置信度量。
8、如权利要求3所述的语音识别置信度的评价方法,其特征在于计算所述状态音素关于对应语音段中语音帧的后验概率时,利用计算设备中的单指令多数据指令,采用了下述并行计算方法:
第一步:对识别***中的每个状态音素,并行计算出该状态音素关于所述语音段中各语音帧的一组对数条件概率;
第二步:对识别***中的每个状态音素,将第一步中得到每个状态音素的一组对数条件概率,并行累加上该状态音素的对数先验概率,得到该状态音素关于所述语音段中各语音帧的一组对数联合概率;
第三步:对所述语音段中各语音帧,基于识别***中的各状态音素关于该语音帧的对数联合概率,同时作递归计算,得到各语音帧Ot对应的 值,该递归计算方法如下:
第四步:将每一状态音素关于对应语音段中各语音帧的对数联合概率值并行减去该语音帧对应的
值,即得到各状态音素关于对应语音段中各语音帧的对数后验概率。
9、如权利要求8所述的语音识别置信度的评价方法,其特征在于所述并行计算方法中数据存储方法如下:
第一步得到的每一状态音素关于所述语音段中各语音帧的一组对数条件概率,按照各语音帧在语音段中的顺序或用户订制的其它顺序存放在一片连续的内存区中;
第二步得到的每一状态音素关于所述语音段中各语音帧的一组对数联合概率,按照第一步中各语音帧的顺序存放在一片连续的内存区中;第三步得到的每一语音帧Ot对应的
值按第一步中各语音帧的顺序存放在一片连续的内存区中;
在第三步之前或第三步与第四步之间还有一数据提取步骤:从第二步得到的对数联合概率中抽取状态音素序列中各状态音素关于对应语音段中各语音帧的对数联合概率,按第一步中各语音帧的顺序存放在一片连续的内存区中。
10、如权利要求1所述的语音识别置信度的评价方法,其特征在于在利用所述目标单元的隐马尔可夫模型对所述语音段作强制对齐前,还有一从识别结果中选择出目标单元的步骤。
11、一种具有置信度评价功能的语音识别***,包括:
识别引擎,根据用户的语音输入生成识别结果,该识别结果包含目标单元及其对应的语音段;
声学模型,采用隐马尔可夫模型;
解码器,基于目标单元的声学模型,对所述语音段做强制对齐,生成目标单元的状态音素序列及每个状态音素对应语音段的起始边界;
置信度量计算单元,基于状态音素的后验概率计算出目标单元的声学置信度量;及
比较器,将该声学置信度量与一预设置信度阀值比较,得到评价结果。
12、如权利要求11所述的具有置信度评价功能的语音识别***,其特征在于所述解码器在对所述语音段做强制对齐时还生成了目标单元的音素序列及每个音素对应语音段的起始边界,该音素序列中的每个音素包含若干所述状态音素,所述音素为上下文有关音素或上下文无关音素。
13、如权利要求11或12所述的具有置信度评价功能的语音识别***,其特征在于还包括一目标单元选择器,从识别结果中选择出要作置信度计算的目标单元及其对应的语音段。
14、如权利要求12所述的具有置信度评价功能的语音识别***,其特征在于所述置信度量计算单元执行以下步骤:
计算所述状态音素关于对应语音段中各语音帧的后验概率;
根据所述状态音素后验概率计算所述音素的声学置信度量;以及
根据所述音素的声学置信度量计算所述目标单元的声学置信度量。
15、如权利要求14所述的具有置信度评价功能的语音识别***,其特征在于计算所述状态音素关于对应语音段中各语音帧的后验概率的方法如下:
其中:Ot表示t时刻的语音帧,1≤t≤N;SPi表示所述状态音素序列中的状态音素;M为识别***所包含状态音素SPj的个数;P(ot|SPi)及P(ot|SPj)是状态音素关于语音帧ot的条件概率;P(SPi)及P(SPj)是状态音素的先验概率;log P(SPi|Ot)是状态音素SPi关于语音帧ot的对数后验概率。
16、如权利要求14所述的具有置信度评价功能的语音识别***,其特征在于根据所述状态音素后验概率计算所述音素的声学置信度量的方法如下:
先计算所述音素P包含的各状态音素SPi的声学置信度量CM(SPi):
其中,bi和ei分别是状态音素SPi对应语音段起始和结束语音帧的指标,Ot表示第t个语音帧,bi≤t≤ei;
再计算所述音素P的声学置信度量CM(P): ,其中V为音素P所包含的状态音素的个数。
17、如权利要求14所述的具有置信度评价功能的语音识别***,其特征在于根据所述状态音素后验概率计算所述音素的声学置信度量CM(P)的方法如下:
其中,bi和ei分别是状态音素SPi对应语音段的起始和结束语音帧的指标,Ot表示第t个语音帧,bi≤t≤ei,b1和eV分别是所述音素对应语音段的起始和结束语音帧的指标,V为音素P所包含的状态音素SPi的个数。
18、如权利要求14所述的具有置信度评价功能的语音识别***,其特征在于根据所述音素的声学置信度量计算所述目标单元的声学置信度量时,当该目标单元即为所述目标词时,该目标词的声学置信度量等于其包含的所有音素的声学置信度量的算术平均值;当该目标单元为句子或子句时,先按上述方法计算该句子或子句所包含的每个词的声学置信度量,再计算该句子或子句包含的所有词的声学置信度量的算术平均值,即得到该目标单元的声学置信度量。
19、如权利要求15所述的具有置信度评价功能的语音识别***,其特征在于计算所述状态音素关于对应语音段中各语音帧的后验概率时,利用计算设备中的单指令多数据指令,采用了下述并行计算方法:
第一步:对识别***中的每个状态音素,并行计算出该状态音素关于所述语音段中各语音帧的一组对数条件概率;
第二步:对识别***中的每个状态音素,将第一步中得到每个状态音素的一组对数条件概率,并行累加上该状态音素的对数先验概率,得到该状态音素关于所述语音段中各语音帧的一组对数联合概率;
第三步:对所述语音段中各语音帧,基于识别***中的各状态音素关于该语音帧的对数联合概率,同时作递归计算,得到各语音帧Ot对应的 值,该递归计算方法如下:
第四步:将每一状态音素关于对应语音段中各语音帧的对数联合概率值并行减去该语音帧对应的
值,即得到各状态音素关于对应语音段中各语音帧的对数后验概率。
20、如权利要求19所述的具有置信度评价功能的语音识别***,其特征在于所述并行计算方法中数据存储方法如下:
第一步得到的每一状态音素关于所述语音段中各语音帧的一组对数条件概率,按照各语音帧在语音段中的顺序或用户订制的其它顺序存放在一片连续的内存区中;
第二步得到的每一状态音素关于所述语音段中各语音帧的一组对数联合概率,按照第一步中各语音帧的顺序存放在一片连续的内存区中;
第三步得到的每一语音帧Ot对应的
值按第一步中各语音帧的顺序存放在一片连续的内存区中;
在第三步之前或第三步与第四步之间还有一数据提取步骤:从第二步得到的对数联合概率中抽取状态音素序列中各状态音素关于对应语音段中各语音帧的联合概率,按第一步中各语音帧的顺序存放在一片连续的内存区中。
21、如权利要求11所述的语音识别置信度的评价方法,其特征在于所述目标单元的声学置信度量等于该目标单元包含的所有状态音素关于对应语音段中各语音帧的对数后验概率的算术平均值。
22、一种根据置信度量对识别结果加以标记的方法,包括以下步骤:
(a)用户语音信号输入听写装置识别引擎,产生识别结果;
(b)利用权利要求1-10中任一权利要求所述的置信度计算方法,计算所述识别结果中各目标词的声学置信度量;
(c)取出第一个目标词及其置信度量值;
(d)判断该词的置信度量值是否小于或小于等于***预设的置信度阀值,若是,则执行步骤(e),若否,则执行步骤(f);
(e)给该词置上错误警示标记;
(f)取下一个词及其置信度量值,若取到,则返回执行步骤(d),若未取到,则执行步骤(g);以及
(g)输出将带有错误警示标记的识别结果。
23、如权利要求22所述的根据置信度量对识别结果加以标记的方法,其特征在于在步骤(g)中,识别结果输出到一显示设备,该显示设备对带错误警示标记的词的显示方式不同于无错误警示标记的词。
24、一种带识别结果置信度评价的听写装置,包括:
一语音识别引擎,根据用户的语音输入信号得到识别结果;
一置信度评价引擎,利用权利要求1-10中任一权利要求所述的置信度计算方法计算识别结果中目标词的置信度量值,并对低置信度量的词置上错误警示标记;及
一反馈用户模块,输出带错误警示标记的识别结果。
25、如权利要求24所述的带识别结果置信度评价的听写装置,其特征在于还连接有一显示识别结果的显示设备,该显示设备对带错误警示标记的词的显示方式不同于无错误警示标记的词。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021486867A CN1223985C (zh) | 2002-10-17 | 2002-11-15 | 语音识别置信度评价方法和***及应用该方法的听写装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN02131189 | 2002-10-17 | ||
CN02131189.7 | 2002-10-17 | ||
CNB021486867A CN1223985C (zh) | 2002-10-17 | 2002-11-15 | 语音识别置信度评价方法和***及应用该方法的听写装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1490786A CN1490786A (zh) | 2004-04-21 |
CN1223985C true CN1223985C (zh) | 2005-10-19 |
Family
ID=34195419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB021486867A Expired - Lifetime CN1223985C (zh) | 2002-10-17 | 2002-11-15 | 语音识别置信度评价方法和***及应用该方法的听写装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1223985C (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101118745B (zh) * | 2006-08-04 | 2011-01-19 | 中国科学院声学研究所 | 语音识别***中的置信度快速求取方法 |
CN108877777A (zh) * | 2018-08-01 | 2018-11-23 | 云知声(上海)智能科技有限公司 | 一种语音识别方法及*** |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101452701B (zh) * | 2007-12-05 | 2011-09-07 | 株式会社东芝 | 基于反模型的置信度估计方法及装置 |
CN101393739B (zh) * | 2008-10-31 | 2011-04-27 | 清华大学 | 一种汉语语音识别可信度特征值的计算方法 |
CN101645064B (zh) * | 2008-12-16 | 2011-04-06 | 中国科学院声学研究所 | 一种浅层自然口语理解***及方法 |
CN101609672B (zh) * | 2009-07-21 | 2011-09-07 | 北京邮电大学 | 一种语音识别语义置信特征提取的方法和装置 |
CN101763855B (zh) * | 2009-11-20 | 2012-01-04 | 安徽科大讯飞信息科技股份有限公司 | 语音识别的置信度判决方法及装置 |
CN102194454B (zh) * | 2010-03-05 | 2012-11-28 | 富士通株式会社 | 用于检测连续语音中的关键词的设备和方法 |
CN107068144A (zh) * | 2016-01-08 | 2017-08-18 | 王道平 | 一种语音识别中便于人工修改文字的方法 |
CN106057196B (zh) * | 2016-07-08 | 2019-06-11 | 成都之达科技有限公司 | 车载语音数据解析识别方法 |
CN106486126B (zh) * | 2016-12-19 | 2019-11-19 | 北京云知声信息技术有限公司 | 语音识别纠错方法及装置 |
CN106782536B (zh) * | 2016-12-26 | 2020-02-28 | 北京云知声信息技术有限公司 | 一种语音唤醒方法及装置 |
US11276390B2 (en) * | 2018-03-22 | 2022-03-15 | Casio Computer Co., Ltd. | Audio interval detection apparatus, method, and recording medium to eliminate a specified interval that does not represent speech based on a divided phoneme |
CN110782898B (zh) * | 2018-07-12 | 2024-01-09 | 北京搜狗科技发展有限公司 | 端到端语音唤醒方法、装置及计算机设备 |
CN110111775B (zh) * | 2019-05-17 | 2021-06-22 | 腾讯科技(深圳)有限公司 | 一种流式语音识别方法、装置、设备及存储介质 |
-
2002
- 2002-11-15 CN CNB021486867A patent/CN1223985C/zh not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101118745B (zh) * | 2006-08-04 | 2011-01-19 | 中国科学院声学研究所 | 语音识别***中的置信度快速求取方法 |
CN108877777A (zh) * | 2018-08-01 | 2018-11-23 | 云知声(上海)智能科技有限公司 | 一种语音识别方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN1490786A (zh) | 2004-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1223985C (zh) | 语音识别置信度评价方法和***及应用该方法的听写装置 | |
CN100347741C (zh) | 移动语音合成方法 | |
CN1150515C (zh) | 语音识别方法和装置 | |
CN1169116C (zh) | 语音识别装置和识别方法 | |
CN1199148C (zh) | 语音识别装置、语音识别方法 | |
CN1296886C (zh) | 语音识别***和方法 | |
US6839667B2 (en) | Method of speech recognition by presenting N-best word candidates | |
CN1159702C (zh) | 具有情感的语音-语音翻译***和方法 | |
US7412387B2 (en) | Automatic improvement of spoken language | |
CN1143263C (zh) | 识别有调语言的***和方法 | |
CN1157712C (zh) | 语音识别方法和装置 | |
CN1725295A (zh) | 语音处理装置、语音处理方法、程序、和记录介质 | |
CN101042867A (zh) | 语音识别设备和方法 | |
CN111611792B (zh) | 一种语音转录文本的实体纠错方法及*** | |
CN1781102A (zh) | 低速存储器判定树 | |
CN1196103C (zh) | 语音识别设备和方法以及记录了语音识别程序的记录媒体 | |
CN1573926A (zh) | 用于文本和语音分类的区别性语言模型训练 | |
CN1293428A (zh) | 基于语音识别的信息校核方法 | |
CN1750120A (zh) | 索引设备和索引方法 | |
CN1655235A (zh) | 基于话音特征自动标识电话呼叫者 | |
Qian et al. | Capturing L2 segmental mispronunciations with joint-sequence models in computer-aided pronunciation training (CAPT) | |
CN1692405A (zh) | 语音处理设备、语言处理方法、存储介质及程序 | |
CN101051458A (zh) | 基于组块分析的韵律短语预测方法 | |
CN1841496A (zh) | 测量语速的方法和装置以及录音设备 | |
CN1534597A (zh) | 利用具有转换状态空间模型的变化推理的语音识别方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20051019 |