用于自动语音识别的方法和装置转让专利
申请号 : CN200510114906.7
文献号 : CN1783213B
文献日 : 2010-06-09
发明人 : B·J·皮克林 , T·D·波尔特尼 , B·T·斯塔尼福德 , M·惠特伯恩
申请人 : 纽昂斯通讯公司
摘要 :
权利要求 :
1.一种用于控制自动语音识别(ASR)系统的操作的方法,包括以下步骤:将输入音频信号中的声音与声学模型中的音素进行比较,以辨识候选匹配音素;
对各个候选匹配音素计算识别置信度分值;
评估所述识别置信度分值,以辨识至少一个具有预定识别置信度特征的候选匹配音素;以及定制用于引出随后的用户输入的用户提示,其中所述定制取决于所辨识的至少一个音素和所辨识的至少一个音素的识别置信度特征。
2.如权利要求1所述的方法,用在ASR系统中,其中对于所述ASR系统的第一操作要求第一个用户输入,对于所述ASR系统的第二操作要求随后的用户输入,所述方法包括以下步骤:评估作为所述第一个用户输入中的声音的候选匹配音素的音素的识别置信度分值;以及定制所述ASR系统的第二操作所要求的随后的用户输入的用户提示,其中所述定制取决于对所述第一个用户输入中的声音的候选匹配音素评估的识别置信度分值。
3.如权利要求2所述的方法,其中,所述定制步骤包括选择至少一个用户提示以鼓励输入被识别为具有低置信度识别分值的音素。
4.如权利要求3所述的方法,还包括以下步骤:
将随后的输入音频信号中的声音与声学模型中的音素进行比较,以辨识候选匹配音素;
对所述候选匹配音素计算识别置信度分值;以及
更新识别置信度分值,其联系所述第一个用户输入的识别置信度分值和随后的用户输入的识别置信度分值。
5.如权利要求3所述的方法,其中,所述定制步骤包括将被识别为具有低识别置信度分值的具有可选的用户提示列表的音素与所期望的与所述可选的用户提示相关联的输入音素进行比较,以选择与所期望的输入音素相关联的输入提示,其中所期望的输入音素被识别为具有相对高的与其它音素混淆的可能性。
6.如权利要求1所述的方法,其中,所述定制步骤包括选择至少一个用户提示以阻止输入被识别为具有低置信度识别分值的音素。
7.如权利要求6所述的方法,其中,所述定制步骤包括选择引起输入被识别为具有低置信度识别分值的音素的同义词的用户提示。
8.如权利要求1所述的方法,还包括以下步骤:在音素和其它音素之间计算固有的混淆可能性;其中,评估置信度分值的步骤包括将所计算的识别置信度分值与所计算的固有的混淆可能性相结合,然后将结合的结果与预先定义的识别置信度特征进行比较。
9.如权利要求8所述的方法,其中,计算固有的混淆可能性的步骤包括计算在声学模型的第一状态和所述模型的其它状态之间的距离,所述第一状态对应第一个声音,所述其它状态对应一组最接近所述第一状态的状态。
10.如权利要求1所述的方法,其中,修改应用语法以响应所计算的识别置信度分值。
11.如权利要求10所述的方法,其中,所述修改应用语法包括以下步骤:辨识在与低于预先定义的阈值分值的置信度识别分值相关联的应用语法中的单词;以及用同义词替换所述应用语法中所辨识的单词。
12.如权利要求11所述的方法,在执行所述替换步骤之前,还包括以下步骤:检验在所述同义词与所述语法中的其它单词之间的固有混淆度是否低于阈值。
13.一种自动语音识别系统,包括语音-响应应用程序和语音识别引擎,所述语音识别系统包括:用于将输入音频信号与声学模型中的音素进行比较以辨识候选匹配音素的装置;
用于对每个所述候选匹配音素计算识别置信度分值的装置;
用于评估所述候选匹配音素的识别置信度分值以辨识至少一个具有预先定义的识别置信度特征的音素的装置;以及用于响应所辨识的至少一个音素和响应所辨识的至少一个音素的识别置信度特征,定制用户提示以引出随后的用户输入的装置。
说明书 :
用于自动语音识别的方法和装置
技术领域
背景技术
单词。在辨识了对应输入音频信号的一个或者多个单词后,所辨识的匹配单词的文本或者
其它机器可读形式由ASR返回到诸如交互式语音应答(IVR)电话应用程序的应用程序。可
随每个显然匹配的单词返回置信度分值,该置信度分值基于引入的语音片断与和ASR系统
的声学模型中的音素相关联的平均概率分布的紧密度。可以返回多个可能的单词及其各自
的置信度分值,用于选择或者进一步的分析。
语言的相应的声音(音素标签)相关联。当在实际的应用中使用时,诸如自动电话服务,ASR系统辨识的声音序列也必须匹配特定应用语法,其预先定义了所期望的单词和短语。如果
ASR系统训练了足够的数据,并且如果语法覆盖所有可能的单词和短语,那么识别精度会很高。然而,特定语言中的单个声音可能很容易混淆,诸如英语中的“F”和“S”。这样的声音经常出现在应用语法的单词中。在这种情况下,识别精度会降低。
即使确认仅仅是“Yes”或“No”,ASR系统也可能混淆这两个单词,特别是因为诸如“您是说Stephen James吗?”的用户提示可用“yeah”、“OK”、“correct”或者“nope”、“nah”等回答。
发明内容
识别置信度分值,并评估识别置信度分值,以辨识一个或者多个具有预先定义的识别置信
度特征的候选匹配音素(例如,识别具有高或者低可信度分值的候选音素)。该方法包括选
择用于引出随后的用户输入的用户提示,其中所述选择取决于所辨识的一个或者多个音素
的识别置信度特征。
通过播放音频提示(诸如存储的音频片断或者动态生成的模拟语音消息)或者在计算机屏
幕上显示文本向用户提出问题。每个用户提示都鼓励用户说话,例如以从选项菜单中进行
选择或者指定用户需要的人员或者服务。
单词。在似乎匹配应用语法中的单词的音素序列中,将各个音素的置信度分值相结合以形
成用于评估最可能单词匹配的累积置信度分值。在一个实施例中,如果所匹配的单词内的
任何一个音素的识别置信度分值都低于所定的阈值(低置信度),则修改随后生成的用户
提示以设法解决该问题。
以避免或者克服语音识别问题。
值还可以显示哪个用户提示导致低识别置信度分值。其后,用于生成用户提示的过程考虑
每个音素的置信度分值以及每个单词(即音素序列)的置信度分值,以改编其用户提示用
于改进的语音识别。可以为了目标语音识别训练而选择用户提示-生成引起具有低识别置
信度分值的音素的输入的提示。可选择地,可以选择用户提示以鼓励用户输入除了难于识
别的单词之外的单词或者短语-试图通过引起用户输入可选择的单词避免具有低识别置
信度的音素。
输入中的声音和在ASR系统的声学模型中的音素之间的显然的匹配相关联的置信度分值,
然后,响应置信度分值而控制与随后要求的用户输入相关联的用户提示的应用生成。第一
和第二应用操作可以是应用程序的任何两个不同的操作,诸如从分层菜单中连续选择的步
骤,其中第一个和随后的用户输入用于指示从菜单中的选择。
交互期间,用户提示的选择可动态地实现,无需专门的特定呼叫者的训练期间。对于在呼叫者和ASR系统之间的功能交互的每个连续的步骤,可以修改用户提示。因为允许呼叫者进
行下一个连续的步骤,因此该方法可以比如果要求呼叫者重复先前的输入的情况更有效也
更少地阻扰呼叫者。一种解决方案引起呼叫者输入,该输入将包括低置信度音素的单词与
一个或者多个之前以高置信度识别的单词相结合。
中的应用程序可以通过选择用户提示响应来自ASR系统的识别引擎的低置信度识别分值,
其中该用户提示作为所要求的用户输入,指明之前以低置信度识别的单词的同义词或者其
它可选择的单词。例如,如果呼叫者的“Yes/No”输入难于识别(低置信度匹配分值),那么可以提示呼叫者说“Correct”代替“Yes”,而保持该用户提示的其它部分不变。
择”。
值。因此,可以实现本发明以获取有关实际和潜在的声音混淆的信息,并可以使用该信息修改和改编ASR系统的性能。置信度分值模式可以用于生成用于改变声学模型(通过上述目
标训练)或者使用同义词词典改变应用语法的建议。
的匹配相关联的识别置信度分值的程序代码。响应该置信度分值,ASR系统控制用户提示
的生成,用于影响用户对应用程序的输入。优选地,应用程序是语音-响应应用程序,其基于识别引擎的识别置信度计算选择用户提示,但是语音识别引擎可以输出文本单词,其作
为文本是到应用程序的输入。
基类池(baseform pool)(包括已知方式的口语单词或者单词序列的音素的数据库)的声
学模型进行比较。识别引擎输出包括在声学模型的状态之间的候选匹配轨迹、来自对应每
个候选轨迹的应用语法的一个或多个单词以及所计算的音素和轨迹的置信度分值的结果。
布之间的距离。较小的距离被解释成意味着两个声音比距离更大的声音更容易混淆。例如,考虑概率分布的变化,固有混淆度的计算可以基于在声学模型中的任何两个声音的平均概
率分布之间的欧几里得距离。
定在语法中是否有可混淆的单词时,可以使用上述结果,其中语法与一组候选匹配音素有
关。固有混淆度与动态计算的置信度分值的结合可以提供改进的识别置信度的评估,并改
进用户提示的选择以增强识别。
辨识识别困难,然后,在语法中有疑问的单词(在应用环境中很容易混淆的单词)可以用不
可能混淆的同义词替换。
可用。
附图说明
具体实施方式
别引擎102,和连接到语音识别引擎的语音-响应应用程序103。应用程序103定义一组将
作为在用户和ASR系统之间的交互的一部分执行的逻辑步骤。应用程序103通常通过用户
提示辨识用户需要什么输入。用户提示可以是显示在屏幕上的文本字符串或者是向用户播
放的音频片断。语音-响应应用程序使用语音识别引擎的结果以基于输入执行动作。
互中的事件序列可以表示如下:
括可能的输入数字和yes/no确认单词的语法。这些语法包括所有可能的输入,这些输入
被应用程序开发者认为是对提示的可能响应。因此在本例中,数字语法将包含所有从0到
9的数字,以允许用户以任何顺序说出任何数字。yes/no确认语法通常不仅包括“yes”和
“no”,还包括诸如“yep”、“yeah”、“ok”、“correct”、“right”、“nah”、“nop”等变形,以及诸如“please”和“thank you”的可选单词。在一些实施例中,可以手工地“加权”特定的术语。这意味着一个或者多个单词可以在语法中被标记为比其它单词更有可能,以便它们被
首选为识别结果。
化信号被提供给ASR系统的声音前端(AFE)101。AFE负责:
的数组被传送到识别引擎的识别过程,该识别引擎根据声学模型(AM)处理该数组。接着,
AFE返回从该信号中提取下一个部分,可能交迭,并重复上述步骤直到整个音频信号都被处理。
语法105通常是特定应用的“袖珍词典”和“短语集”,并包括应用程序开发者认为用户可作为输入用于语音启动应用的单词。理论上,应用语法可以是完整的语言词典,包括一般的变形,但是大多数应用要求实时响应,所以当前大小有限的应用语法是标准。基类池104包括采用已知的音素发音(声音的较小可辨识单位)的存储器形式的发音词典,其中音素可包
括在应用语法内的输入单词或者短语中。
尽管可以有几个轨迹,其是代表同一个声音的每一个候选。每个状态是多维高斯概率分布,其中,维数是固定的,并与用于描述来自AFE处理的多项式的术语的个数有关。在状态之间的转换(包括到同一状态的“零转换”)也是高斯概率分布,它是指当前状态可从前一个状
态到达的可能性。参考图2A和2B,下面更详细地说明识别处理。
概率。当依次处理音频输入的各部分时,“轨迹”204经过HMM。当轨迹逐渐经过状态202和转换203时,对该轨迹计算累积概率。实际上,几乎不会有单个轨迹。因此可以发现对于同一个音频信号有多个轨迹经过HMM。如果考虑多个候选轨迹,如果累积概率低于预置的阈
值,则可以舍弃(删除)各个轨迹。在HMM或者HMM的一部分的最后一个状态,剩余的轨迹
(那些还没有被“删除”的轨迹)作为最终的检验反过来验证。
或者206中的一个。
图1,识别引擎102使用两个额外的输入以处理音频信号:特定应用语法105和在这里被称
为基类池104的发音词典104。
的组合中的所有可能的声音的音频数据上“训练”。例如,该训练步骤可包括在所有参加训练组的说话者和在训练组中表示的所有上下文中比较和总结音素“Y”的观测变形。
用于辨识并因此限定将被识别的单词。使用域和特定应用语法是常见的,尽管对于自然语
言可能有一般和复杂的语法。前面所定义的语法包括对于给定应用所有允许的单词和短语
(即应用认为是有意义的输入的单词和短语)。对于银行应用(诸如前面所给出的例子),
允许的单词和短语可限于数字和yes/no变形,因此,该应用语法不包括其它诸如正确的姓
名或文学术语的单词。一旦对应用定义了语法,那么在代表语法中单词的所有可能的发音
的编辑期间生成基类池。这些发音-基类-是可被匹配的有效声音序列组。如上所述,语法
中的条目包括将被识别的单词组。例如,如果语法仅仅包括单词“Yes”、“No”和“Correct”,那么只有这些单词可以产生积极的结果。基类池中的条目定义了可在声学模型中潜在地经
过的轨迹。对于语法中的每一个单词,从基类池中取回轨迹以限制将在匹配步骤中保留的
轨迹的数量。因此,语法和基类池被协同用于限制AM内的整个搜索空间。在运行时间,它
们被用于限制和/或“删除”经过AM的状态的轨迹。
第一个例子中,当输入音频被识别为包括轨迹Y-EH-S,并具有从对该轨迹所计算的累积概
率得到的置信度分值(例如0.60的概率,这里被称为60%的置信度分值)时,返回单个结
果。该单个结果包括拼字正确的修正版本“Yes”、以及按顺序排列的基类Y、EH、S和置信度分值。可选择地,如果语法包括多个潜在匹配输入声音的单词,那么可以返回诸如下面例子的N个最好的列表(仅是示意性的):
类、各个匹配单词的拼字正确的修正版本和相关的置信度分值在每个结果中返回。
其中该轨迹在所辨识的轨迹中具有最高的置信度分值,或者记录一组轨迹的置信度分值。
不管是否返回单个结果或者多个结果(所谓的“N个最好的列表”),应用可以使用置信度分值确定是否接受结果。例如,高置信度分值可被认为证明接受结果,无需单独的确认步骤,而低置信度分值可以通过回送和再次请求用户输入或者请求所辨识的匹配的确认响应。
提示与用户和ASR系统的交互中的随后的步骤相关联。本发明也能够更新应用语法和声学
模型,作为替换导致低置信度识别分值的用户提示的结果。例如,如果“Yes”与低置信度分值有关,那么单词“Yes”可替换为“Yes please”并相应地修改语法。所计算的识别置信度分值可以显示哪个输入声音不能高置信度地识别。如下所述,本发明不同的实施例以不同
的方式使用该信息。
用户提示时,ASR程序生成引起输入包含确定需要额外训练的音素的单词的提示。
(RE)102。图3的ASR系统还具有在图1的已知ASR系统中没有的额外组件,包括被修改的
提示数据库106和下面所述的其它组件。已知的ASR系统存储用于向用户提供结果或者指
示需要输入的音频文件或者文本。如下所述,提示数据库106还包括潜在的混淆度和它们
应当如何被处理的指示器。提示数据库106被应用程序103访问以自动地选择用户提示
(选择在用户提示中包含的全部提示或单词)。下面参照图4和5更详细地说明提示数据
库106的使用。
生成同音词表107(单词表,其中单词拼写彼此不同但是发音相同,因此容易混淆):
能被混淆(例如“O”和“B”);低分值(较小的距离)意味着两个音素在声音上相似,从而
潜在地可混淆(例如“P”和“B”,或者“S”和“F”)。
状态a的第一个参数的平均值。它们之间的欧几里得距离被定义为: 对于如
在典型的识别引擎102的HMM网络中的多维高斯分布,对于x,该计算从1执行到M,其中M
表示用于代表给定的声音的状态的数量。每个状态的欧几里得距离为:
其中c从1到N,N表示所使用的状态的数量。
的程度。每对单词的累积混淆度指标被存储在同音词表107中。
运行时间识别置信度分值相关。下面参照图3,4和5更详细地说明ASR系统的组件和运行
时间操作。
的音频数据的片断开始(步骤300)。识别引擎102把输入音频片断与声学模型进行比较,
以辨识候选匹配音素(模型中的状态序列)和候选音素序列(称为声学模型中的轨迹),这
些序列可能表示用户所说的声音(步骤301)。接着,识别引擎将候选轨迹与应用语法105
进行比较,试图辨识语法中匹配用户所说的声音的单词(步骤302)。识别引擎102使用输
入音频与平均概率分布的紧密度以计算每个候选匹配音素和单词的置信度分值,其中平均
概率分布与每个候选轨迹的声学模型的各个音素有关(步骤303)。
素、相关的置信度分值、每个音素的固有混淆度量度和每个所识别的单词的累积混淆度指
标。这些将用于评估结果,如下所述。另外,当在一个时期上重复测量时,各个音素的这些量度的趋势存储在置信度趋势数据库中,也将在下面说明,但没有在图中示出。
值。该额外的结果字段在这里被称为运行时间混淆量度。在一个实施例中,在运行时间(此时识别引擎被启动)计算的识别置信度分值与预先计算的固有音素混淆度指标相乘。这
样,如果后两者的值指示高级别的混淆度,那么置信度值将与固有(即通用语言)指标和累
积(即特定应用)指标成比例地减小。
混淆,即使各个声音可能混淆)。
得更低(在本例中是0.0875)。因此,可能值的范围不需要线性地相关。然而,低运行时间
混淆量度不过意味着结果会导致潜在的混淆和不能识别。
当前说话者执行。固有的每个音素混淆度指标表示正被发音的一个或多个声音是如何清楚
(在特定语言中)。累积混淆度指标表示固有混淆度对于该特定的应用是如何重要。如果
其它的都相等,而累积混淆度指标尽可能高,那么系统被优化。
联。这些可选的提示每一个都基于所接收的用户输入和所计算的识别置信度值由提示选择
器110选择,在该示意性实施例中,提示选择器110在识别引擎中实现。连同至少某些用户
提示一起存储的是指向基类池104中的音素的指针,这些音素被期望包括在由用户响应各
个提示而说出的单词中。当音素被识别为具有低运行时间混淆量度时,由提示选择器进行
的随后的用户提示的选择(在ASR系统和当前呼叫者之间的交互期间)倾向于与指向基类
池中的音素的指针一起存储的提示。这鼓励用户再次输入音素,在呼叫者和ASR系统之间
产生的会话中启动目标识别训练。
用程序通过响应由识别引擎102输出的结果而调用提示选择器程序110(或者提示选择器
可在识别引擎102中实现)以响应某些用户输入(步骤310)。提示选择器查阅提示数据库
106以辨识一组可选的用户提示,从这些提示中选择下一个用户提示(步骤311)。提示选
择器还查阅音素置信度表108以辨识之前以低置信度识别的音素,这些音素与那组可选的
用户提示有关,并查阅同音词表以辨识可造成混淆问题的所有单词。接着,提示选择器选择期望鼓励输入一个或者多个之前以低置信度识别的音素的用户提示(步骤312)。接着,所
选择的用户提示被返回到应用程序。现在可以用下面两种方式之一使用输入:或者直接用
在支持改编的识别引擎中以提供实时训练数据,或者与相关的识别结果分开地记录用于离
线处理。在任何一种情况下,都期望随着时间过去额外的训练数据能帮助提高识别成功性,从而提高运行时间置信度量度。
提示输入“Yes please”代替“Yes”)都将有助于识别训练,因为有更多的数据分析。从一组可选的用户提示中选择可以包括选择引起用户说话以响应问题的单词或者短语,所选择
的单词或者短语用于生成特定用户的定制对话。例如,由ASR系统问的标准问题可以是“如果您希望知道开放时间,说<短语>”,在提示数据库中保存的可选的用户提示可以是诸如
“Yes”、“Yes please”、“Correct”、“开放时间”等的短语。提示选择器可选择“Yes please”响应之前具有低识别分值的识别“Yes”,因为这允许对单词“Yes”中的音素的目标识别训练。因为已知两个之前以高识别置信度产生的声音,所以识别引擎更可能向当前的应用程
序返回成功的结果。其次,因为已知这些声音和产生低分值的声音,所以更容易辨识音频输入的哪一部分需要进行训练。
词典109以查找可能的同音词(步骤320)。同音词词典包含用于替换包含低置信度音素的
单词的单词,如果还没有被包括该替换单词,那么将其加入语法105,并且可被加权以比原始的单词更有可能。当生成随后的用户提示时,该替换单词与相关的提示文本或者音频文
件相结合,以生成期望鼓励输入替换单词的用户提示(步骤330)。因此,替换同音词被加入提示文本或者音频文件,以生成修改的用户提示。如果需要,可以更新提示数据库106。
‘Correct’...”。如果需要,单词Correct也可以加入语法105,并被加权高于原始单词Yes;
新的提示单词可存储在提示数据库106中。
改编。如在现有技术中已知的,改编包括获取运行时间声音数据,不仅进行正常的处理(参见图1和上面的说明),还使用运行时间声音数据额外地加权高斯分布(重新训练)。这可
以随着时间实现改进的匹配,但是在不管问题出现在HMM的哪个部分就使用处理方面,处
理是“盲目的”。在这里所述的系统中,获取实际的性能信息,这可以采用更有目标的方式引发改编。在一个实施例中,除了用户提示的动态改编外,性能信息可以用于根据需要为系统管理员生成单独的重新训练报告,以进行检查和处理。
电话号码以确定有关正在电影院放映的电影的信息开始。在这里所述的例子中,ASR系统
通过询问“请问哪个电影院?”响应呼叫者。呼叫者通过确认电影院响应,例如“南安普敦的剧场”。接着,ASR系统分析口语输入以辨识可能匹配的音素和单词,并根据所匹配的轨迹的累积概率确定识别置信度分值。当识别置信度分值低于预置阈值时,通过从提示数据
库中选择可选的单词或者短语响应这个识别困难。
为具有低置信度识别的音素相关联。为了使用语音识别训练的任何额外的机会,ASR系统
选择与低置信度相关联的用户提示。
的响应的用户提示。选择替换的用户提示,以期望对该替换的用户提示的口语响应比有问
题的输入语音以更高的置信度识别。这样,使用替换的提示可以对特定呼叫者在特定时间
和特定环境中动态地生成定制的对话。在一个例子中,替换的提示引起用户非常明确的响
应(诸如“谢谢。为了听有关
成。调整随后的用户提示以响应与用户输入的识别有关的置信度分值的步骤可以根据需要
重复多次,诸如直到语音识别程序达到充分的识别置信度以允许更自由形态的输入,或者
直到会话结束。
细问题。ASR系统可以实现菜单选择操作以指导呼叫者到所记录的信息或者到组织中适当
的人员或者部门。
的呼叫者导致低置信度识别,或者可以是特定环境的,例如在背景噪音下某些用户输入更
容易失真。评估了识别置信度分值后,可以调整用户提示以鼓励呼叫者使用期望以较高置
信度分值识别的单词,或者在呼叫者和语音识别系统之间的功能性对话的上下文中提供训
练机会。然后,识别置信度可以用对呼叫者最小的不便提高,因为用户提示的调整和任何重新训练可无需专门的识别训练期间和潜在地无需呼叫者重复其输入实现。呼叫者通常要求
其电话呼叫很快获得所希望的结果,特别是当向自动语音识别系统说话时。
应用程序中实现,但是查阅由识别引擎填充的识别置信度表。在其它实施例中,识别引擎和提示数据库可以连接到传统的语音识别应用程序,并且从该应用程序来看,用户提示选择
操作可透明地执行。