用于自动语音识别的方法和装置转让专利

申请号 : CN200510114906.7

文献号 : CN1783213B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : B·J·皮克林T·D·波尔特尼B·T·斯塔尼福德M·惠特伯恩

申请人 : 纽昂斯通讯公司

摘要 :

一种自动语音识别(ASR)系统,包括语音-响应应用程序和语音识别引擎。ASR系统生成用户提示以引出某些口语输入,当口语输入被识别时,语音-响应应用程序执行操作。识别引擎将输入音频信号中的声音与声学模型中的音素进行比较,以辨识候选匹配音素。对每个候选匹配音素计算识别置信度分值,置信度分值用于帮助辨识一个或者多个可能的匹配音素序列,该序列似乎匹配语音-响应应用程序的语法中的单词。根据预先定义的置信度分值标准(例如,低于“低置信度”阈值的辨识分值)评估每个音素的置信度分值,评估的结果用于影响随后的用户提示的选择。一种这样的系统使用置信度分值选择用于目标识别训练的提示-鼓励输入被识别为具有低置信度识别分值的音素。另一个系统选择提示以阻止输入不容易被识别的声音。

权利要求 :

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.一种自动语音识别系统,包括语音-响应应用程序和语音识别引擎,所述语音识别系统包括:用于将输入音频信号与声学模型中的音素进行比较以辨识候选匹配音素的装置;

用于对每个所述候选匹配音素计算识别置信度分值的装置;

用于评估所述候选匹配音素的识别置信度分值以辨识至少一个具有预先定义的识别置信度特征的音素的装置;以及用于响应所辨识的至少一个音素和响应所辨识的至少一个音素的识别置信度特征,定制用户提示以引出随后的用户输入的装置。

说明书 :

用于自动语音识别的方法和装置

技术领域

[0001] 本发明提供用于自动语音识别的方法和装置。

背景技术

[0002] 自动语音识别(ASR)系统采用音频信号作为输入,并通常将输入信号与声学模型(AM)的已知声音(音素)和声音序列(轨迹)相比较,以辨识似乎匹配声音的口语序列的
单词。在辨识了对应输入音频信号的一个或者多个单词后,所辨识的匹配单词的文本或者
其它机器可读形式由ASR返回到诸如交互式语音应答(IVR)电话应用程序的应用程序。可
随每个显然匹配的单词返回置信度分值,该置信度分值基于引入的语音片断与和ASR系统
的声学模型中的音素相关联的平均概率分布的紧密度。可以返回多个可能的单词及其各自
的置信度分值,用于选择或者进一步的分析。
[0003] 典型的自动语音识别(ASR)系统需要单个用户(与说话者有关的)或者多个用户(与说话者无关的)的相当大的训练数据,以使ASR系统的识别引擎能够学习将声音输入与
语言的相应的声音(音素标签)相关联。当在实际的应用中使用时,诸如自动电话服务,ASR系统辨识的声音序列也必须匹配特定应用语法,其预先定义了所期望的单词和短语。如果
ASR系统训练了足够的数据,并且如果语法覆盖所有可能的单词和短语,那么识别精度会很高。然而,特定语言中的单个声音可能很容易混淆,诸如英语中的“F”和“S”。这样的声音经常出现在应用语法的单词中。在这种情况下,识别精度会降低。
[0004] 在大多数自动服务中,通常的做法是使用ASR询问用户,以确认ASR结果是否正确。如果没有返回结果,则可要求呼叫者重复没有被识别的单词。例如,呼叫者可说出他们想要联系的人的名字“Stephen James”。如果合成语音响应包括不同的名字,诸如“您是说‘Peter Jones’吗?”,则呼叫者不可能注意。不得不重复他们的输入也可能使呼叫者厌烦。
即使确认仅仅是“Yes”或“No”,ASR系统也可能混淆这两个单词,特别是因为诸如“您是说Stephen James吗?”的用户提示可用“yeah”、“OK”、“correct”或者“nope”、“nah”等回答。

发明内容

[0005] 本发明的第一个方面提供一种用于控制自动语音识别(ASR)系统的操作的方法。在与用户对话期间,ASR系统生成用户提示,以从用户引出所需要的输入。将输入音频信号内的声音与声学模型内的音素进行比较,以辨识候选匹配音素。对各个候选匹配音素计算
识别置信度分值,并评估识别置信度分值,以辨识一个或者多个具有预先定义的识别置信
度特征的候选匹配音素(例如,识别具有高或者低可信度分值的候选音素)。该方法包括选
择用于引出随后的用户输入的用户提示,其中所述选择取决于所辨识的一个或者多个音素
的识别置信度特征。
[0006] 在本说明书中的典型的ASR系统包括语音识别引擎和应用程序,并可以包括如下所述的其它组件。在本说明书中的用户提示是提供给用户以引出用户输入的提示。例如,
通过播放音频提示(诸如存储的音频片断或者动态生成的模拟语音消息)或者在计算机屏
幕上显示文本向用户提出问题。每个用户提示都鼓励用户说话,例如以从选项菜单中进行
选择或者指定用户需要的人员或者服务。
[0007] 在本发明的第一个实施例中,将被辨识为可能匹配输入声音信号的声音的音素序列与语音识别语法(诸如IVR应用的特定应用语法)中的单词进行比较,以辨识候选匹配
单词。在似乎匹配应用语法中的单词的音素序列中,将各个音素的置信度分值相结合以形
成用于评估最可能单词匹配的累积置信度分值。在一个实施例中,如果所匹配的单词内的
任何一个音素的识别置信度分值都低于所定的阈值(低置信度),则修改随后生成的用户
提示以设法解决该问题。
[0008] 在另一个实施例中,具有预先定义的识别置信度特征的候选匹配音素的辨识包括辨识具有高于所定的阈值的识别置信度(高置信度)的音素,提示用户输入高置信度音素
以避免或者克服语音识别问题。
[0009] 因此,置信度分值能够用于确定ASR系统不能高置信度地识别语言的哪个领域。因为特定音素的置信度分值可与引出口语输入的提示相关联地评估和记录,所以置信度分
值还可以显示哪个用户提示导致低识别置信度分值。其后,用于生成用户提示的过程考虑
每个音素的置信度分值以及每个单词(即音素序列)的置信度分值,以改编其用户提示用
于改进的语音识别。可以为了目标语音识别训练而选择用户提示-生成引起具有低识别置
信度分值的音素的输入的提示。可选择地,可以选择用户提示以鼓励用户输入除了难于识
别的单词之外的单词或者短语-试图通过引起用户输入可选择的单词避免具有低识别置
信度的音素。
[0010] 在呼叫者和ASR系统之间的多次交互中,对于第一应用操作要求第一个用户输入,对于第二应用操作要求随后的用户输入。根据本发明的一个方法评估与在第一个用户
输入中的声音和在ASR系统的声学模型中的音素之间的显然的匹配相关联的置信度分值,
然后,响应置信度分值而控制与随后要求的用户输入相关联的用户提示的应用生成。第一
和第二应用操作可以是应用程序的任何两个不同的操作,诸如从分层菜单中连续选择的步
骤,其中第一个和随后的用户输入用于指示从菜单中的选择。
[0011] 如上所述,一个实施例选择期望鼓励输入之前被辨识为具有低识别置信度分值的音素的用户提示-对目标识别训练制作ASR系统生成的用户提示。在一般用户与ASR系统
交互期间,用户提示的选择可动态地实现,无需专门的特定呼叫者的训练期间。对于在呼叫者和ASR系统之间的功能交互的每个连续的步骤,可以修改用户提示。因为允许呼叫者进
行下一个连续的步骤,因此该方法可以比如果要求呼叫者重复先前的输入的情况更有效也
更少地阻扰呼叫者。一种解决方案引起呼叫者输入,该输入将包括低置信度音素的单词与
一个或者多个之前以高置信度识别的单词相结合。
[0012] 上面还提到本发明的一个实施例,其中ASR系统选择期望鼓励输入具有高置信度匹配分值的单词或者阻止输入具有低置信度匹配分值的单词的用户提示。例如,ASR系统
中的应用程序可以通过选择用户提示响应来自ASR系统的识别引擎的低置信度识别分值,
其中该用户提示作为所要求的用户输入,指明之前以低置信度识别的单词的同义词或者其
它可选择的单词。例如,如果呼叫者的“Yes/No”输入难于识别(低置信度匹配分值),那么可以提示呼叫者说“Correct”代替“Yes”,而保持该用户提示的其它部分不变。
[0013] 可以实现用户提示的其它定制。在另一个例子中,低置信度分值可以引发用更明确的条件指令(诸如“如果<条件A>,则说‘Yes please’,如果<条件B>,则说‘No’”)代替用户提示(诸如“如果<条件A>,则说‘Yes’”或者“你需要哪种服务?”),以引起来自呼叫者的更明确的响应。上述用户提示的选择、修改和定制在这里都被称为用户提示的“选
择”。
[0014] 在另一个实施例中,识别语法可被重构或者识别引擎可被优化以响应所评估的识别性能。应用语法的这些变化可以基于在一段时期内对多个呼叫者所评估的音素置信度分
值。因此,可以实现本发明以获取有关实际和潜在的声音混淆的信息,并可以使用该信息修改和改编ASR系统的性能。置信度分值模式可以用于生成用于改变声学模型(通过上述目
标训练)或者使用同义词词典改变应用语法的建议。
[0015] 本发明的第二个方面提供一种自动语音识别(ASR)系统,其包括应用程序和语音识别引擎,其中语音识别引擎包括用于评估与在输入声音和声学模型中的音素之间的显然
的匹配相关联的识别置信度分值的程序代码。响应该置信度分值,ASR系统控制用户提示
的生成,用于影响用户对应用程序的输入。优选地,应用程序是语音-响应应用程序,其基于识别引擎的识别置信度计算选择用户提示,但是语音识别引擎可以输出文本单词,其作
为文本是到应用程序的输入。
[0016] 在一个实施例中,ASR系统包括声音前端(AFE),用于接收来自输入装置的音频信号,消除噪音,辨识包含语音的部分音频信号,并确定所辨识的语音的部分的参数。语音识别引擎接收来自AFE的输入,并将所接收的输入与关于应用语法(主要单词的数据库)和
基类池(baseform pool)(包括已知方式的口语单词或者单词序列的音素的数据库)的声
学模型进行比较。识别引擎输出包括在声学模型的状态之间的候选匹配轨迹、来自对应每
个候选轨迹的应用语法的一个或多个单词以及所计算的音素和轨迹的置信度分值的结果。
[0017] 本发明的另一个方面包括一种用于计算在ASR系统的声学模型内的声音之间的混淆度的方法。在两个音素之间的混淆度基于在与声学模型中的声音相关联的各个概率分
布之间的距离。较小的距离被解释成意味着两个声音比距离更大的声音更容易混淆。例如,考虑概率分布的变化,固有混淆度的计算可以基于在声学模型中的任何两个声音的平均概
率分布之间的欧几里得距离。
[0018] 诸如上述的所计算的固有混淆度可以结合动态计算的识别置信度分值(例如,基于引入的声音片断与声学模型中的声音的平均概率分布的紧密度)。当询问应用语法以确
定在语法中是否有可混淆的单词时,可以使用上述结果,其中语法与一组候选匹配音素有
关。固有混淆度与动态计算的置信度分值的结合可以提供改进的识别置信度的评估,并改
进用户提示的选择以增强识别。
[0019] 本发明的实施例可用于修改应用语法中的单词,以避免语法中的单词之间可能的混淆。在声学模型中的声音之间的固有混淆度的计算可乘以运行时间识别置信度分值,以
辨识识别困难,然后,在语法中有疑问的单词(在应用环境中很容易混淆的单词)可以用不
可能混淆的同义词替换。
[0020] 上述方法可以使用诸如在ASR系统中的计算机程序代码实现。这样的程序代码可以作为一组包括记录在记录介质上的程序代码的一个或者多个计算机程序产品或者模块
可用。

附图说明

[0021] 作为例子,本发明的实施例在下面参照附图详细地说明,其中:
[0022] 图1是诸如在本领域中已知的自动语音识别系统的示意性表示;
[0023] 图2A和2B表示经过声学模型的状态和状态转换的轨迹;
[0024] 图3是根据本发明的实施例的自动语音识别系统的示意性表示;
[0025] 图4和5示出根据本发明的示例性实施例的两个方法的步骤;
[0026] 图6示出来自在呼叫者和根据本发明的实施例的自动语音识别系统之间的示例性对话的摘录。

具体实施方式

[0027] 自动语音识别的概述
[0028] 如图1所示的自动语音识别(ASR)系统包括输入装置100,诸如传统的麦克风或者电话听筒,接收来自输入装置的输入的声音前端(AFE)101,接收来自AFE的输入的语音识
别引擎102,和连接到语音识别引擎的语音-响应应用程序103。应用程序103定义一组将
作为在用户和ASR系统之间的交互的一部分执行的逻辑步骤。应用程序103通常通过用户
提示辨识用户需要什么输入。用户提示可以是显示在屏幕上的文本字符串或者是向用户播
放的音频片断。语音-响应应用程序使用语音识别引擎的结果以基于输入执行动作。
[0029] 作为简单的说明,下面的说明涉及可能的账户余额查询应用。用户必须输入其账号,并要求ASR系统从数据库中取回相关信息(账户余额)。在呼叫者和ASR系统之间的交
互中的事件序列可以表示如下:
[0030] 1.呼叫者访问ASR系统以请求服务;
[0031] 2.ASR系统提示呼叫者输入账号(“请说出您的账号”);
[0032] 3.呼叫者说出账号(“12345”);
[0033] 4.ASR系统从上面的步骤中取出音频输入,并使用识别引擎转换成文本;
[0034] 5.ASR系统回放所识别的账号,并请求确认(“您说的是12345。如果正确,请说Yes。如果不正确,请说No”);
[0035] 6.呼叫者确认(在该情况下为“Yes”);
[0036] 7.ASR系统使用账号12345访问数据库并取回账户余额;
[0037] 8.ASR系统向呼叫者输出所取回的信息(“账号12345的账户余额为100英镑”)。
[0038] 为了输出信息,如在步骤2、5和8,ASR系统可以具有预先录制的音频片断或者可以使用文本转换语音合成。对于在步骤3和6中的用户输入,机器使用识别引擎,具有包
括可能的输入数字和yes/no确认单词的语法。这些语法包括所有可能的输入,这些输入
被应用程序开发者认为是对提示的可能响应。因此在本例中,数字语法将包含所有从0到
9的数字,以允许用户以任何顺序说出任何数字。yes/no确认语法通常不仅包括“yes”和
“no”,还包括诸如“yep”、“yeah”、“ok”、“correct”、“right”、“nah”、“nop”等变形,以及诸如“please”和“thank you”的可选单词。在一些实施例中,可以手工地“加权”特定的术语。这意味着一个或者多个单词可以在语法中被标记为比其它单词更有可能,以便它们被
首选为识别结果。
[0039] 再次参照图1,输入装置100负责捕获音频信号,并把该信号转换为用于机器处理的数字信号。输入装置100可以远离ASR系统的其它组件。从输入装置100接收到的数字
化信号被提供给ASR系统的声音前端(AFE)101。AFE负责:
[0040] 1.预处理音频信号以消除噪音;
[0041] 2.确定音频信号的哪一部分包含有效的语音;
[0042] 3.确定由识别器匹配的信号的连续部分的参数。
[0043] 对于确定参数,AFE提取信号的一部分(例如100毫秒的片段),应用海明窗(Hamming window),生成平滑的谱表示(定义该部分的多项式表示的个数的数组)。该个数
的数组被传送到识别引擎的识别过程,该识别引擎根据声学模型(AM)处理该数组。接着,
AFE返回从该信号中提取下一个部分,可能交迭,并重复上述步骤直到整个音频信号都被处理。
[0044] 如已知的传统的ASR系统的识别引擎,识别引擎102从声音前端(AFE)101接收输入,并处理这些输入-应用关于应用语法105和相关的基类池104的声学模型(AM)。应用
语法105通常是特定应用的“袖珍词典”和“短语集”,并包括应用程序开发者认为用户可作为输入用于语音启动应用的单词。理论上,应用语法可以是完整的语言词典,包括一般的变形,但是大多数应用要求实时响应,所以当前大小有限的应用语法是标准。基类池104包括采用已知的音素发音(声音的较小可辨识单位)的存储器形式的发音词典,其中音素可包
括在应用语法内的输入单词或者短语中。
[0045] 识别引擎试图将输入音频信号中的声音与声学模型中的音素进行匹配,以辨识在对应输入音频信号的声音的音素之间可能的“轨迹”(即在声学模型中的状态和状态转换的序列)。每个音素被映射到一组状态和在声学模型的状态之间的转换,每个轨迹包括一个或者多个音素。
[0046] 声学模型通常是隐马尔可夫模型(HMM),尽管也已知其它技术。图2是在隐马尔可夫模式中的某些轨迹的简化表示。语言中的每个声音可表示为在模型的状态之间的轨迹,
尽管可以有几个轨迹,其是代表同一个声音的每一个候选。每个状态是多维高斯概率分布,其中,维数是固定的,并与用于描述来自AFE处理的多项式的术语的个数有关。在状态之间的转换(包括到同一状态的“零转换”)也是高斯概率分布,它是指当前状态可从前一个状
态到达的可能性。参考图2A和2B,下面更详细地说明识别处理。
[0047] 在图2A中示出的简化轨迹代表单个声音的开始、中间和结尾,如在单词“yes”中说“Y”201。当在识别引擎102接收到来自AFE 101的连续部分时,将它们与每个状态202进行比较,以辨识最有可能匹配各个部分的状态。如果在当前状态发现好的匹配,那么查询零转换概率。如果不同的状态是好的匹配,那么查询在当前状态和下一个状态之间的转换
概率。当依次处理音频输入的各部分时,“轨迹”204经过HMM。当轨迹逐渐经过状态202和转换203时,对该轨迹计算累积概率。实际上,几乎不会有单个轨迹。因此可以发现对于同一个音频信号有多个轨迹经过HMM。如果考虑多个候选轨迹,如果累积概率低于预置的阈
值,则可以舍弃(删除)各个轨迹。在HMM或者HMM的一部分的最后一个状态,剩余的轨迹
(那些还没有被“删除”的轨迹)作为最终的检验反过来验证。
[0048] 图2B是通过两个可选择的轨迹从一个音素标签移动到下一个音素标签的简化表示。因为输入音频信号可以成功地匹配两者之中的任一个,所以与“yes”中的音素“Y”205有关的成功的轨迹和“jelly”中的音素“J”206的可选择的轨迹进行竞争。这两个可能性,“Y”和“J”,都被暂时保留。让我们假定,当信号继续被处理时,输入信号的下一部分似乎可能被辨识为“yes”或者“jelly”中的音素“EH”207。那么,检验来自轨迹的前一部分的被经过的转换208。在这一点,如果相关的转换概率低,那么可能只根据声音舍弃候选音素205
或者206中的一个。
[0049] 一旦到达信号的结尾,并且没有更多的来自AFE的音频部分,那么返回一个或多个最佳匹配轨迹以及在轨迹被经过时所计算的累积概率。轨迹代表潜在的音素序列。回到
图1,识别引擎102使用两个额外的输入以处理音频信号:特定应用语法105和在这里被称
为基类池104的发音词典104。
[0050] 在典型的基于音素的识别器中,AM包含与特定自然语言的所有声音的各部分(诸如开始、中间和结尾)有关的状态和转换。高斯分布在覆盖尽可能多的说话者的所有可能
的组合中的所有可能的声音的音频数据上“训练”。例如,该训练步骤可包括在所有参加训练组的说话者和在训练组中表示的所有上下文中比较和总结音素“Y”的观测变形。
[0051] 因此,在理论上,识别引擎可以识别该语言的任何有效的声音序列。由于这会导致轨迹的扩散,因此定义特定应用语法和相关的基类池以加快和支持识别。语法中的条目
用于辨识并因此限定将被识别的单词。使用域和特定应用语法是常见的,尽管对于自然语
言可能有一般和复杂的语法。前面所定义的语法包括对于给定应用所有允许的单词和短语
(即应用认为是有意义的输入的单词和短语)。对于银行应用(诸如前面所给出的例子),
允许的单词和短语可限于数字和yes/no变形,因此,该应用语法不包括其它诸如正确的姓
名或文学术语的单词。一旦对应用定义了语法,那么在代表语法中单词的所有可能的发音
的编辑期间生成基类池。这些发音-基类-是可被匹配的有效声音序列组。如上所述,语法
中的条目包括将被识别的单词组。例如,如果语法仅仅包括单词“Yes”、“No”和“Correct”,那么只有这些单词可以产生积极的结果。基类池中的条目定义了可在声学模型中潜在地经
过的轨迹。对于语法中的每一个单词,从基类池中取回轨迹以限制将在匹配步骤中保留的
轨迹的数量。因此,语法和基类池被协同用于限制AM内的整个搜索空间。在运行时间,它
们被用于限制和/或“删除”经过AM的状态的轨迹。
[0052] 一旦已从AM返回一个或多个候选轨迹,那么依照语法检验这些轨迹。如果序列由语法中的一个或者多个单词表示,那么返回音素序列和一个或多个匹配单词作为结果。在
第一个例子中,当输入音频被识别为包括轨迹Y-EH-S,并具有从对该轨迹所计算的累积概
率得到的置信度分值(例如0.60的概率,这里被称为60%的置信度分值)时,返回单个结
果。该单个结果包括拼字正确的修正版本“Yes”、以及按顺序排列的基类Y、EH、S和置信度分值。可选择地,如果语法包括多个潜在匹配输入声音的单词,那么可以返回诸如下面例子的N个最好的列表(仅是示意性的):
[0053] Y-EH-S 60% Yes
[0054] Y-EH-L-OW 20% Yellow
[0055] Y-OH-TD 15% Yacht
[0056] J-EH-L-I-Y 3% Jelly
[0057] N-OW 2% No
[0058] 上面的列表包括1个最好的和N-1个最接近的匹配从输入音频信号中提取的语音的单词,它们是通过应用使用在基类池和语法中定义的声音和单词的AM发现的。通常,基
类、各个匹配单词的拼字正确的修正版本和相关的置信度分值在每个结果中返回。
[0059] 因此,识别引擎计算与每个所辨识的轨迹相关联的置信度分值-基于声音匹配紧密度以及也可能的语音上下文。识别引擎或者辨识在对应轨迹的应用语法中的单个单词,
其中该轨迹在所辨识的轨迹中具有最高的置信度分值,或者记录一组轨迹的置信度分值。
不管是否返回单个结果或者多个结果(所谓的“N个最好的列表”),应用可以使用置信度分值确定是否接受结果。例如,高置信度分值可被认为证明接受结果,无需单独的确认步骤,而低置信度分值可以通过回送和再次请求用户输入或者请求所辨识的匹配的确认响应。
[0060] 具有自适应的提示生成的自动语音识别系统
[0061] 下面参照图3说明ASR系统,其中对于第一个用户输入的候选匹配音素,由识别引擎102计算识别置信度分值。识别置信度分值用于控制选择随后的用户提示,随后的用户
提示与用户和ASR系统的交互中的随后的步骤相关联。本发明也能够更新应用语法和声学
模型,作为替换导致低置信度识别分值的用户提示的结果。例如,如果“Yes”与低置信度分值有关,那么单词“Yes”可替换为“Yes please”并相应地修改语法。所计算的识别置信度分值可以显示哪个输入声音不能高置信度地识别。如下所述,本发明不同的实施例以不同
的方式使用该信息。
[0062] 在本发明的第一个ASR程序实施例中,识别引擎使用特定音素识别置信度分值以辨识似乎需要额外识别训练的音素。当用语音-响应应用程序生成随后的用户交互步骤的
用户提示时,ASR程序生成引起输入包含确定需要额外训练的音素的单词的提示。
[0063] 在可选的实施例中,ASR程序生成期望通过鼓励输入除了被识别为低置信度匹配的单词以外的单词避免或者减少潜在的混淆的提示。
[0064] 如下所述,应用语法可以动态地修改以响应用户提示的选择或者定制,尽管应用程序开发者可从一开始就在语法中包括潜在的替换单词。
[0065] 图3示出根据本发明的实施例的自动语音识别(ASR)系统的组件。如图1的例子,图3的ASR系统包括声音前端(AFE)101和查阅应用语法105和基类池104的识别引擎
(RE)102。图3的ASR系统还具有在图1的已知ASR系统中没有的额外组件,包括被修改的
提示数据库106和下面所述的其它组件。已知的ASR系统存储用于向用户提供结果或者指
示需要输入的音频文件或者文本。如下所述,提示数据库106还包括潜在的混淆度和它们
应当如何被处理的指示器。提示数据库106被应用程序103访问以自动地选择用户提示
(选择在用户提示中包含的全部提示或单词)。下面参照图4和5更详细地说明提示数据
库106的使用。
[0066] 在现有的复杂的自然语言系统中,对话管理者工作的一部分是选择适当的提示,而本发明可以实现为使识别引擎102选择用户提示。
[0067] 当开发语音-响应应用程序时,开发者对语法105进行编码,基类池104从特定应用语法中获得。获得基类或者发音的过程取决于处理来自训练数据的结果。如下所述,还
生成同音词表107(单词表,其中单词拼写彼此不同但是发音相同,因此容易混淆):
[0068] 1.基于原始的AM,对每一个音素,通过与每一个其它音素进行比较来计算欧几里得距离量度。因此,对于Y,有包括多个条目的数据组,这些条目显示在声音术语中Y与其它每个音素有多相近。这就是原始混淆度指标:高分值(较大的距离)意味着两个音素不可
能被混淆(例如“O”和“B”);低分值(较小的距离)意味着两个音素在声音上相似,从而
潜在地可混淆(例如“P”和“B”,或者“S”和“F”)。
[0069] 下面说明第一个示例性的用于计算两个不同的声音z和y的状态x之间的欧几里得距离的方法。令xaz1表示对于声音z状态a的第一个参数的平均值,xay1表示对于声音y
状态a的第一个参数的平均值。它们之间的欧几里得距离被定义为: 对于如
在典型的识别引擎102的HMM网络中的多维高斯分布,对于x,该计算从1执行到M,其中M
表示用于代表给定的声音的状态的数量。每个状态的欧几里得距离为:
其中c从1到N,N表示所使用的状态的数量。
[0070] 知道该平均值周围的变化和这两个平均值之间的向量的方向允许扩展和改进混淆指示器。如果扩展该方法,则最佳距离量度为:
[0071]
[0072] 2.另外,对于每个音素计算“音素混淆度指标”,例如低于音素轨迹的每个音素的给定阈值的混淆度指标的平均值。在这里,该音素混淆度指标被称为音素的固有混淆度量度。
[0073] 3.采用特定应用基类池(与应用语法有关的音素轨迹的数据库),原始混淆度指标用于计算应用语法的每个单词的累积混淆度指标,它表示两个或者多个单词可能被混淆
的程度。每对单词的累积混淆度指标被存储在同音词表107中。
[0074] 在该阶段,可以突出可能的混淆,并在配置之前改变应用语法和相关的应用提示,以使上述单词之间的累积混淆度指标被优化。然而,这里所述的ASR系统推迟突出可能的混淆的步骤,直到在运行时间分析语音,使得在应用语法中的单词之间的固有混淆度可与
运行时间识别置信度分值相关。下面参照图3,4和5更详细地说明ASR系统的组件和运行
时间操作。
[0075] 由于自动语音识别系统的输入装置和声音前端的操作在本领域是众所周知的(AFE如上所述),因此图4所示的方法的步骤序列从由识别引擎102接收预处理的、参数化
的音频数据的片断开始(步骤300)。识别引擎102把输入音频片断与声学模型进行比较,
以辨识候选匹配音素(模型中的状态序列)和候选音素序列(称为声学模型中的轨迹),这
些序列可能表示用户所说的声音(步骤301)。接着,识别引擎将候选轨迹与应用语法105
进行比较,试图辨识语法中匹配用户所说的声音的单词(步骤302)。识别引擎102使用输
入音频与平均概率分布的紧密度以计算每个候选匹配音素和单词的置信度分值,其中平均
概率分布与每个候选轨迹的声学模型的各个音素有关(步骤303)。
[0076] 当进行了识别尝试后,对于在一个或多个所匹配的轨迹中的每个单独的音素,将置信度分值收集在音素置信度表108中(步骤303)。音素置信度表108包含所识别的音
素、相关的置信度分值、每个音素的固有混淆度量度和每个所识别的单词的累积混淆度指
标。这些将用于评估结果,如下所述。另外,当在一个时期上重复测量时,各个音素的这些量度的趋势存储在置信度趋势数据库中,也将在下面说明,但没有在图中示出。
[0077] 在如下所述的评估结果中,对特定应用和特定用户分别计算的混淆度指标和运行时间值都被保留-使得通用的混淆量度可动态地修改成实际的配置环境。
[0078] 当单词识别结果变得可用时,来自音素置信度表的固有混淆度条目被应用于所计算的单词的识别置信度值,以提供额外的结果字段连同轨迹(基类)和每个音素置信度分
值。该额外的结果字段在这里被称为运行时间混淆量度。在一个实施例中,在运行时间(此时识别引擎被启动)计算的识别置信度分值与预先计算的固有音素混淆度指标相乘。这
样,如果后两者的值指示高级别的混淆度,那么置信度值将与固有(即通用语言)指标和累
积(即特定应用)指标成比例地减小。
[0079] 为了说明的目的,提供下面的例子:
[0080] ·令(a)为特定识别尝试的置信度分值(例如70%);
[0081] ·令(b)为结果中的所有声音与声学模型中的其它声音比较的固有混淆度(例如25%,如果结果中的语音很容易混淆)。
[0082] ·另外,令(c)为结果中的一个或多个特定单词与语法中的其它所有单词比较的累积混淆度(例如值80%,如果我们预测这个单词或这些单词不容易与语法中的其它单词
混淆,即使各个声音可能混淆)。
[0083] ·已经离线计算值(b)和(c)。把它们相乘,我们得到20%。
[0084] ·将置信度分值(a)乘以这个20%的结果,得到14%的运行时间置信度量度。
[0085] 如果固有混淆度较高(如0.75),那么运行时间混淆量度也会比较高(在本例中是0.42)。可选择地,如果累积混淆度指标较低(如0.50),那么运行时间混淆量度也会变
得更低(在本例中是0.0875)。因此,可能值的范围不需要线性地相关。然而,低运行时间
混淆量度不过意味着结果会导致潜在的混淆和不能识别。
[0086] 如上所述,当评估识别置信度和可能的混淆时,计算和使用三个值:每个说话者、特定环境运行时间识别置信度;固有的每个音素混淆度;单词的累积混淆度指标。这三个值中的每一个值都表示对识别的不同影响。置信度分值表示识别引擎如何在当前条件下对
当前说话者执行。固有的每个音素混淆度指标表示正被发音的一个或多个声音是如何清楚
(在特定语言中)。累积混淆度指标表示固有混淆度对于该特定的应用是如何重要。如果
其它的都相等,而累积混淆度指标尽可能高,那么系统被优化。
[0087] 结合了固有混淆度值和运行时间置信度的运行时间混淆量度由语音-响应应用程序以下述的一种方式使用。
[0088] 低置信度音素的目标训练
[0089] 在第一个实施例中,改编用户输入提示,以试图引出包括之前以低识别置信度识别的音素的用户输入。许多可选的用户提示存储在提示数据库106中,并与应用程序相关
联。这些可选的提示每一个都基于所接收的用户输入和所计算的识别置信度值由提示选择
器110选择,在该示意性实施例中,提示选择器110在识别引擎中实现。连同至少某些用户
提示一起存储的是指向基类池104中的音素的指针,这些音素被期望包括在由用户响应各
个提示而说出的单词中。当音素被识别为具有低运行时间混淆量度时,由提示选择器进行
的随后的用户提示的选择(在ASR系统和当前呼叫者之间的交互期间)倾向于与指向基类
池中的音素的指针一起存储的提示。这鼓励用户再次输入音素,在呼叫者和ASR系统之间
产生的会话中启动目标识别训练。
[0090] 让我们假定会话在用户和ASR系统之间进行,应用程序正在执行操作以响应用户的输入语音。代替总是独立地生成用户提示的应用程序103(如在许多已知系统中的),应
用程序通过响应由识别引擎102输出的结果而调用提示选择器程序110(或者提示选择器
可在识别引擎102中实现)以响应某些用户输入(步骤310)。提示选择器查阅提示数据库
106以辨识一组可选的用户提示,从这些提示中选择下一个用户提示(步骤311)。提示选
择器还查阅音素置信度表108以辨识之前以低置信度识别的音素,这些音素与那组可选的
用户提示有关,并查阅同音词表以辨识可造成混淆问题的所有单词。接着,提示选择器选择期望鼓励输入一个或者多个之前以低置信度识别的音素的用户提示(步骤312)。接着,所
选择的用户提示被返回到应用程序。现在可以用下面两种方式之一使用输入:或者直接用
在支持改编的识别引擎中以提供实时训练数据,或者与相关的识别结果分开地记录用于离
线处理。在任何一种情况下,都期望随着时间过去额外的训练数据能帮助提高识别成功性,从而提高运行时间置信度量度。
[0091] 如果提示用户输入包括至少一个高识别置信度音素和一个或多个需要训练的低识别置信度音素的单词或者短语,那么目标识别训练最有效。任何额外的提示输入(诸如
提示输入“Yes please”代替“Yes”)都将有助于识别训练,因为有更多的数据分析。从一组可选的用户提示中选择可以包括选择引起用户说话以响应问题的单词或者短语,所选择
的单词或者短语用于生成特定用户的定制对话。例如,由ASR系统问的标准问题可以是“如果您希望知道开放时间,说<短语>”,在提示数据库中保存的可选的用户提示可以是诸如
“Yes”、“Yes please”、“Correct”、“开放时间”等的短语。提示选择器可选择“Yes please”响应之前具有低识别分值的识别“Yes”,因为这允许对单词“Yes”中的音素的目标识别训练。因为已知两个之前以高识别置信度产生的声音,所以识别引擎更可能向当前的应用程
序返回成功的结果。其次,因为已知这些声音和产生低分值的声音,所以更容易辨识音频输入的哪一部分需要进行训练。
[0092] 低置信度音素的替换
[0093] 在第二个实施例中,如图5所示,包含固有混淆的音素并因此具有低运行时间混淆量度的单词被替换。辨识了低运行时间混淆量度后,对混淆的单词或者短语查询同音词
词典109以查找可能的同音词(步骤320)。同音词词典包含用于替换包含低置信度音素的
单词的单词,如果还没有被包括该替换单词,那么将其加入语法105,并且可被加权以比原始的单词更有可能。当生成随后的用户提示时,该替换单词与相关的提示文本或者音频文
件相结合,以生成期望鼓励输入替换单词的用户提示(步骤330)。因此,替换同音词被加入提示文本或者音频文件,以生成修改的用户提示。如果需要,可以更新提示数据库106。
[0094] 作为例子,以下说明涉及上文的yes/no确认例子。原始的应用提示包括单词:
[0095] “...如果您希望听到我们的开放时间,请说‘Yes’。否则,请说‘No’”。
[0096] 如果单词Yes以低运行时间混淆量度返回,那么从同义词词典109中取回诸如“Correct”的可选单词,并用于修改该提示,使得修改后的提示包括单词“...请说
‘Correct’...”。如果需要,单词Correct也可以加入语法105,并被加权高于原始单词Yes;
新的提示单词可存储在提示数据库106中。
[0097] 在上例中,在呼叫者和ASR程序之间的未来交互中,当应用程序到达yes/no确认步骤时,用“...说Correct...”提示该用户,该用户更可能用这个提示的单词响应而不是“Yes”,从而减小了不能识别的可能性。
[0098] 也可以定期地更新上述置信度趋势数据库。该置信度趋势数据库可周期地进行查询,以突出在无论哪种上下文中都导致低识别成功率的音素。结果,在AM中可以引发动态
改编。如在现有技术中已知的,改编包括获取运行时间声音数据,不仅进行正常的处理(参见图1和上面的说明),还使用运行时间声音数据额外地加权高斯分布(重新训练)。这可
以随着时间实现改进的匹配,但是在不管问题出现在HMM的哪个部分就使用处理方面,处
理是“盲目的”。在这里所述的系统中,获取实际的性能信息,这可以采用更有目标的方式引发改编。在一个实施例中,除了用户提示的动态改编外,性能信息可以用于根据需要为系统管理员生成单独的重新训练报告,以进行检查和处理。
[0099] 图6示出在呼叫者和ASR系统之间的交互。ASR系统包括提示选择器和存储替换的用户提示的用户提示数据库。在图6的左边示出时间线。交互从呼叫者呼叫ASR系统的
电话号码以确定有关正在电影院放映的电影的信息开始。在这里所述的例子中,ASR系统
通过询问“请问哪个电影院?”响应呼叫者。呼叫者通过确认电影院响应,例如“南安普敦的剧场”。接着,ASR系统分析口语输入以辨识可能匹配的音素和单词,并根据所匹配的轨迹的累积概率确定识别置信度分值。当识别置信度分值低于预置阈值时,通过从提示数据
库中选择可选的单词或者短语响应这个识别困难。
[0100] 在第一个ASR系统中,如果输入单词或者短语以低置信度识别,则随后的用户提示的生成包括从一组可选的用户提示中选择用户提示,该选择基于哪些用户提示与被识别
为具有低置信度识别的音素相关联。为了使用语音识别训练的任何额外的机会,ASR系统
选择与低置信度相关联的用户提示。
[0101] 在实现本发明的可选的ASR系统中,如果输入单词或者短语以低置信度识别,那么不使用可能用同样的输入单词或者短语响应的随后的用户提示,而代之以不会引起同样
的响应的用户提示。选择替换的用户提示,以期望对该替换的用户提示的口语响应比有问
题的输入语音以更高的置信度识别。这样,使用替换的提示可以对特定呼叫者在特定时间
和特定环境中动态地生成定制的对话。在一个例子中,替换的提示引起用户非常明确的响
应(诸如“谢谢。为了听有关的信息,说‘YES PLEASE’”)。随后的呼叫者的响应也可以被分析,所计算的置信度分值和如果需要的置信度分值可用于影响随后的用户提示的生
成。调整随后的用户提示以响应与用户输入的识别有关的置信度分值的步骤可以根据需要
重复多次,诸如直到语音识别程序达到充分的识别置信度以允许更自由形态的输入,或者
直到会话结束。
[0102] 工业应用性和优点
[0103] 自动语音识别系统日益用于许多行业中以提高工作者的效率或生产力,诸如使工作者从普通的呼叫处理中解脱出来,并在某些情况下减少呼叫者的等待时间。例如,ASR系统可以实现另外需要大量的人员处理呼入的呼叫的功能,包括回答可以很容易自动化的琐
细问题。ASR系统可以实现菜单选择操作以指导呼叫者到所记录的信息或者到组织中适当
的人员或者部门。
[0104] 如上所述,置信度分值可以显示自动语音识别系统很难识别语言的哪些领域。识别问题和识别置信度分值的评估可以是特定呼叫者的,因为某些用户提示可仅对某些特定
的呼叫者导致低置信度识别,或者可以是特定环境的,例如在背景噪音下某些用户输入更
容易失真。评估了识别置信度分值后,可以调整用户提示以鼓励呼叫者使用期望以较高置
信度分值识别的单词,或者在呼叫者和语音识别系统之间的功能性对话的上下文中提供训
练机会。然后,识别置信度可以用对呼叫者最小的不便提高,因为用户提示的调整和任何重新训练可无需专门的识别训练期间和潜在地无需呼叫者重复其输入实现。呼叫者通常要求
其电话呼叫很快获得所希望的结果,特别是当向自动语音识别系统说话时。
[0105] 为了响应所评估的识别性能,用户提示的选择或定制可以动态地进行。识别语法可以根据性能进行修改,识别引擎的声学模型可以被优化以提高未来的性能。
[0106] 考虑已知的同音词可以提供额外的检验用于与基类池一起使用,以确定哪些声音固有地易混淆。这与实际所测量的音素置信度分值相结合以辨识需要修改的提示。
[0107] 在上述示例性实施例中,提示选择器被描述为识别引擎的组件,具有连接到识别引擎的应用程序以调用提示选择器的功能。在另一个实施例中,提示选择器在语音-响应
应用程序中实现,但是查阅由识别引擎填充的识别置信度表。在其它实施例中,识别引擎和提示数据库可以连接到传统的语音识别应用程序,并且从该应用程序来看,用户提示选择
操作可透明地执行。