声控服务的制作方法

文档序号:2819793阅读:302来源:国知局
专利名称:声控服务的制作方法
技术领域
本发明涉及使用语音识别的自动声音交互服务,它特别适合,但不仅仅适合,在电话网络上使用。
一个典型的应用是一种查询服务,其中使用者被问及一些问题以引出一些答复,这些答复在由语音识别器识别之后,允许用户访问一个信息库中的一个或多个想要的条目,这种应用的一个例子是一种号码簿查询系统,其中一个查询电话订户的电话号码的用户被要求给出该用户地址的城市名和道路名,以及订户的姓氏。
根据本发明的一个特点,它提供有一个语音识别设备,该设备包括含有要识别的条目和信息的数据存贮,其中信息用于为每个条目定义一个与第一组字表中的一个字的联接和一个与第二组字表中的一个字的联接;语音识别装置;以及可操作的控制装置a)用于控制该语音识别装置以便通过参考用于第一组字表的识别信息来识别尽可能多的、满足一个预先确定的与第一接收声音信号相似的标准的第一组字表中的字。
b)在这样的识别的基础上,编辑一个第二组字表中所有字的列表,它们被定义与条目相关联,而条目又被定义与所识别的第一组字表中的字相关联;c)控制该语音识别装置以便通过参考用于第二组字表的识别信息来识别该列表中的与第二接收声音信号相似的一或多个字。
更可取地,根据第一声音信号的接收该语音识别装置可操作地用于为每个识别的字产生一个它与第一声音信号相似性的度量,而且该控制装置可操作用于为该列表中的每个字产生一个从第一组字表中相关字(也就是说,第一组字表中那些识别出的字,它们同列表中的字具有一个共同的条目)的度量中得到的度量。接着,该语音识别装置基于第二声音信号的接收可操作用于进行对列表中一个或多个字的识别,该识别是按照一个根据为列表中的字所产生的度量来加权的识别过程进行的。
该设备还可以包括一个包含用于第二组字表中所有字的识别数据的存贮器,并且控制装置在列表被编辑之后并在识别该列表中的字之前,可以操作用来在识别数据存储器中标记在其中的那些对应于不在列表中的字的数据项或是那些对应于在列表中的字的数据项,由此,识别装置可以忽视所有那些标记过的或是分别没标记过的字。
另一方面,识别数据可在识别前或是在识别中动态地生成,在列表编辑之后可操作控制装置以便为列表中的每个字生成识别数据。用于动态地生成识别数据的方法不属于本发明的范围,但对那些该领域的技术人员来说则是清楚的。
更可取地,该控制装置可操作用于选择输出那个或那些被定义既与第一字表中识别出的字相关联又与第二字表中识别出的字相关联的条目。
数据的存贮器还可以包含为每个条目定义一个与第三字表中的字相联接的信息,控制装置可操作用于d)编辑一个第三字表中所有字的列表,它们均被定义为与条目相连,其中每个条目又被定义为既同一个第一字表中识别出的字相连又同一个第二字表中识别出的字相连;并且e)控制语音识别装置以便通过参考存贮的用于第三字表的识别信息来识别列表中的与第三接收声音信号相似的一或多个字。
另外,也许还应包括用来存贮至少一个接收的声音信号的装置,该设备被安置用来执行一个附加的识别过程,其中控制装置可操作用于a)控制语音识别装置以便通过参考存贮的用于第二字表的识别信息来识别符合一个预定的与第二接收声音信号相似的标准的第二字表中的多个字;b)编辑一个第一字表中所有字的附加列表,它们被定义为与条目相连,这些条目又被定义为与第二字表中识别出的字相连;c)控制语音识别装置以便通过参考存贮的用于第一字表的识别信息来识别所说的附加列表中相似于第一接收声音信号的一或多个字。
更可取地,该设备包括用于识别一种失败的情况并只在这种失败被识别到时初始化所说的附加识别过程的装置。
该设备可以包括一个电话线路联接;一个用于识别通过电话线路联接所接收到的讲述的字的语音识别器,识别是参考代表一组可能的发音的识别数据进行的;以及响应于通过电话线路联接接收到的表明一个电话的起始和目的端的信号的装置,用来访问所存贮的用于确定发音集合的一个子集的信息并限制识别器只对那个子集操作。
根据本发明的一个进一步的特点,一个电话设备包括一个电话线路联接;一个用于确定或确认通过该电话线路联接所收到的讲述字的说话人身份的语音识别器,它是参考对应于一组可能的说话人的识别数据进行的;以及响应于通过该电话线路联接接收到的表明一个电话的起始端和目的端的信号的装置,用来访问所存贮的用于确定说话人集合的一个子集的信息并限制识别器只对那个子集操作。
根据本发明一个更进一步的特点,一个电话信息设备包括一个电话线路联接,一个用于参考所存贮的多个的识别数据集之一来识别经该电话线路联接接收的讲述字的语音识别器,以及响应于通过该电话线路联接接收到的表明一个电话的起始端和目的端的装置,用来访问所存贮的用于确定其中一个识别数据集的信息并将该集合提供给识别器。
举例来说,所存贮的数据集可以对应于不同的语言或地区的口音,或者说,其中两个集合可以对应于不同类型电话设备的特性,比如一个移动电话信道的特性。
根据本发明进一步的特点,一个识别设备包括一个定义第一样本集的存贮器;一个定义第二样本集的存贮器;一个包括要被识别条目的存贮器;一个包含关联每个条目到第一样本集的一个样本和到第二样本集的一个样本的信息的存贮器;可根据第一输入样本信号的接收操作用来识别第一字表中尽可能多的符合一个预定识别标准的样本的识别装置;用来产生关联于一个条目的第二字表所有样本的一个列表的装置,其中该条目亦关联于第一字表中一个被识别的样本;以及可根据第二输入样本信号的接收操作用来识别列表中一个或多个样本的识别装置。
该样本可以代表语音,而且该识别装置可以是一个语音识别器。
根据本发明,一个语音识别设备包括(i)一个包含要识别的条目和为每个条目定义一个与第一信号集中一个信号的联接以及与第二字表中一个字的联接的信息的数据的存贮器;
(ii)装置,用于识别一个接收的信号为对应于第一集合中尽可能多的符合一个预定准则的信号。
(iii)可操作用于编辑一个第二字表中所有字的列表的控制装置,其中第二字表中的字被定义为与一些条目相连,这些条目又被定义与第一集合中被识别的信号相连;以及(iv)可操作用于通过参考存贮的用于第二字表的识别信息来识别列表中相似于接收的声音信号的一个或多个字的语音识别装置。
更可取地,第一信号集是表示第二字表中字的拼写形式或其起始的一部分的声音信号,而识别装置由语音识别装置构成,它通过参考存贮的用于所说的拼写的声音信号的识别信息来操作。要不然,第一信号集可以是包含音调的信号,而识别装置则可以是一个音调识别器。该第一信号集可以表明接收信号的源和目的地。
根据本发明一个进一步的特点,一种通过参考所存贮的定义条目和字之间联接的信息来识别一个数据存贮器中条目的方法包括(a)识别出现在接收到的声音信号中的所说字的一个或多个;(b)编辑那些被定义与条目相联的字的一个列表,这些条目又被定义与识别的字相联;(c)识别出现在接收的声音信号中的列表中的一个或多个字。
在本发明的一个进一步的特点中,一个语音识别设备包括(a)一个包含要识别的条目和为每个条目定义一个至少与两个字相连的联接的信息的数据存贮器;(b)一个能通过参考存贮的用于一个定义的字表的识别信息来识别符合一些预定的与接收的声音信号相似的准则的至少一个字或字序列;(c)一个控制装置可操作用于(i)编辑一个被定义与条目相联的字的列表,这些条目被定义为与一个先前由该语音识别装置识别出的一个字相联;以及(ii)控制该语音识别装置以便通过参考存贮的用于编辑的列表的识别信息来识别与另一个接收的声音信号相似的一个或多个字,或是字序列。
根据本发明,一种通过参考一个存贮的待识别的字表的语音识别方法包括
(a)接收一个语音信号;(b)存贮该语音信号;(c)接收第二个信号;(d)编辑一个字列表,它是字表的一个子字表,作为第二信号的一个函数;(e)向存贮的语音信号提供一个语音识别处理以便通过参考该列表识别该子字表中一个或多个字。
第二信号也可以是一个语音信号,而且第二信号可以通过参考代表字母表中字母的识别数据即可单个地又可作为序列被识别。要不然第二信号也可以是一种包含由键盘生成的音调的信号。
根据本发明的另一个特点,一种语音识别方法包括(a)接收一个语音信号;(b)存贮该语音信号;(c)对语音信号或一些其它信号执行识别操作;(d)在该识别操作不满足一个预定的可靠性标准时,重新获取存贮的语音信号并对其进行一个识别操作。
本发明的一些实施方案将通过例子并参考附图给出描述,其中

图1示意地画出了一个号码查询系统的结构;图2是说明图1号码查询系统的操作的流程图;图2a是说明图1的号码查询系统的操作的第二实施方案的流程图;图3是说明CLI在图1的号码查询系统的操作中的用途的流程图;图3a包括一个用于图1的号码查询系统的操作中的另外的信息收集步骤;图4是说明图1的号码查询系统的另一操作模式的流程图。
现在所要描述的本发明的实施方案完成同介绍中所讨论的相同的号码查询任务。它的操作是首先向查询者询问城镇的名字,并使用一个语音识别器来识别的两个或更多的可能的城镇名。然后,它向查询者询问道路,并且再通过参考存贮的关于在任一候选城镇中所有道路名的数据对该问题的回答进行识别。类似地,询问姓氏,并且一个识别步骤随后处理所有候选城镇中所有候选道路名的识别数据。在每一步所保留的候选者的数量可以是固定的,或者(更可取地)是所有满足一个定义的接受的准则,比如具有一个高于所定义的阈值的识别“分数”的候选者可以保留。
在详细描述处理过程之前,将参考图1描述号码查询系统的结构。一个语音合成器1被提供用来通过一个电话线路接口2,参考所存贮的在消息数据存贮器中的固定的消息,或是由主控单元4提供给它的可变的消息,向用户提供通告。来自该电话线路接口2的输入语音信号被送至一个语音识别器5,它能分别参考存贮在识别数据存贮器6,7,8中的城镇名、道路名或姓氏名识别数据来识别所讲出的字。
对于在由该号码查询服务覆盖的地区范围内的每个电话用户,主查询数据库9包括文本方式的包含该用户姓名、地址和电话号码的条目。城镇名识别数据存贮器6包括文本形式的包括在该查询数据库9中所有城镇名,以及用来使语音识别器5能识别从电话线路接口2接收的语音信号中的那些城镇名的存贮数据。原则上可以使用任何类型的语音识别器,但对于本说明书来说,假设语音识别器5是通过识别输入语音中不同的音素来操作,这些音素是通过参考在存贮器6中代表一个事先构造好的解码树结构的存贮数据从存贮在存贮器6中的城镇名的语音翻译利用viterbi算法解码的。用于道路名识别数据和姓氏名识别数据的存贮器7,8是以相同方式组织的。举例来说,虽然姓氏名识别数据存贮器8包含所有包含在该号码数据库9中的姓氏数据,但是它可由控制单元4控制使识别处理仅限于姓名的一个子集,典型的作法是标记识别数据的相关部分以使得该“识别树”被限制在只识别那些在所需要的名字子集内的名字。
这使得该“识别树”可以在电话开始之前被创建,然后在该电话期间被使用。通过限制识别树的有效子集,可以将计算资源集中于那些最可能讲出的字上。在那些说出这些最易于讲出的字之一的情形下,这将减少错误出现在识别过程中的机会。
在城镇名数据存贮器6中的每个条目,如上面所提到的,包括对应于出现在数据库9中每个城镇名的文本,其作用是作为一个连接存贮器6中条目和数据库9中条目的符号(虽然其它类型的符号也可被使用,如果更好的话)。如果需要,存贮器6可以包含用于每个城镇的一个条目,这样,用户可以使用它来参考由该数据库覆盖的地理位置,而不管是否所有这些名字实际存在于数据库中。值得注意的是一些城镇的名字并不唯一(在英国有4个城镇叫做Southend),而且一些城镇的名字带有相同的意思(比如,Hammersmith,它是伦敦的一个区,就在那个区的条目而言,它的意思同London相同。),同时,一个包括这种等效地名的等效数据存贮器39被提供,在每次对城镇名识别之后将参考该等效地名以返回被考虑要被识别的城镇名集合的额外的可能性。举例来说,如果“Hammersmith”被识别出,London被加到该集合;如果“Southend”被识别出,那么Southend-on-Sea,Southend(Campbeltown),Southend(Swanusea)和Southend(Reading)被添加。
如果需要,等效数据存贮器39可以包含道路和姓氏或者是名字的相似的信息,如果使用的话,比如,Dave和David被认为是表示相同的名字。
作为这种结构的一个可替代的方法,该词汇等效数据存贮器39可以作为一种在名字存贮器6,7,8中使用的符号和在数据库中使用的符号之间的翻译(不论该符号是否是文本方式的名字)。
使用文本来定义语音识别器的基本字表要求该识别器能把一个或多个文本符号关联到一个给定的发音上。也就是说对“识别树”来说,树上的每个叶结点要每一个或多个与之相附的文本符号。如果对识别器所要求的字表的限制也被定义为一个文本列表,那么,该识别器最好能只返回在那个列表中的文本符号,而不是关联于一次发音的符号,该发音与列表中一个符号相关,但又不是列表中代表它们自身的符号。
系统的操作通过图2中给出的流程图来说明。处理过程起始于一次输入电话呼叫的接收,由电话线路接口2以信号通知控制单元4;该控制单元通过指示语音合成器1播放(11)存贮在消息存贮器3中的消息要求呼叫方给出想要查询的城镇名来响应。呼叫方的回答由识别器接收(12)。然后识别器3参考存贮在存贮器6中的数据执行其识别处理过程(13),并将与接收到的回答最相似的城镇名传给控制单元4,或者更可取地,将所有那些符合一个预定的与接收的回答相似的阈值的城镇名传给控制单元4。我们假想(为了这个例子起见)有4个城镇名符合这个标准。控制单元4通过指令语音合成器播放(14)消息数据存贮器3中一条另外的消息来响应,并同时访问(15)号码数据库9来编辑能在任何一个对应于那4个城镇名的地理位置上发现的所有道路名的列表和通过访问等效数据存贮器39获得的任何附加的地点条目的列表。然后,它使用(16)该信息更新道路名识别数据存贮器7,以便识别器3能够只识别在这个列表中的道路名。
下一步是从呼叫方接收(17)关于该道路名的进一步回答,并且通过识别器3利用数据存贮器7处理该回答;假设有5条道路名符合识别标准。然后,控制单元4命令播放(19)另一条消息询问想要查询的电话用户的名字,并同时从数据库9中获取居住在4个地理位置中任一个(和任一等效名)具有这5个道路名中任何一个名字的道路上的所有用户姓氏的一个列表,控制单元4还以如上面描述的用于更新道路名识别数据存贮器的类似的方式更新姓氏名识别数据存贮器8。一旦用户的回答被识别器接收到(22),就可参考在姓氏名识别数据。存贮器中的数据识别(23)姓氏名。
当然有可能有不只一个姓氏满足识别的标准,在任一情况下,数据库9可能对相同城镇中相同道路上相同的名字有不只一个条目。因此在步骤24,对具有识别出的姓氏名之一和识别出的道路名之一以及识别出的城镇名之一的号码条目的数量进行检测。如果该数量是易处理的,比如说如果它是3或更少,那么,控制装置指令(25)语音合成器播放一条从消息数据存贮器3中的消息,其后紧跟着由语音合成器I利用文本-语音合成产生的每个条目的姓名、地址和电话号码的叙述,该过程完毕(26)。另一方面,如果条目的数量过大,那么进入步骤27,将在下面进一步讨论,将是必需的以保证符号呼叫者的查询。
我们将会看到被描述的过程的错误率将比在识别过程的每一步只选择一个候选的城镇、道路或姓氏的系统低,这是因为通过保留第二和更多的候选选择由于误识而造成的错误的可能性被减少,尽管由于扩大的字表增大了误识的机会。当然对这个增加的可靠性的补偿是增加的计算时间,但是通过确保道路名和姓氏名识别过程只在数据库中道路名和姓氏名总数上的一个有限的数量上进行,计算量能被保持在易处理的大小。
而且,同一个二级识别不受前级识别结果限制的系统相比(比如,一个系统其中“道路”识别过程不是限制在已识别出的城镇的道路中进行),所提出的系统在使用在内部“削减”中间结果的识别器时(比如那些使隐马尔可夫模型的识别器),不易于从不想要的城镇的其它候选道路中除去所要的候选者。
还会看到,在大多数应用中,可能的列表的数量应大到足以预先阻止其准备,因此列表的结构是按所要求的完成的。当识别器是一种要求建立一个特别的字表的识别器(比如,使用隐马尔可夫模型的识别器)时,共有两种可选方法用于更新相关的存贮器以限制识别器的操作只对列表中的字进行。一种方法是以一个完全调定的识别器开始,并且使所有不在列表中的字无效;另一种方法是消除相关的识别数据存贮器并重新建立它(或是完全地,或是通过向一个固定的基本集合中添加字来实现)。必须要注意的是一些识别器不存贮所有可能要识别的字的识别数据。这些识别器通常具有一个与可能要识别的字相关的文字信息的存贮器但不预存数据以使得语音识别器能识别在一个接收信号中的字。在这种所谓的“动态识别器”中,识别数据既可立即在识别之前产生,又可在识别期间产生。
第一选择需要大的数据存贮器,但对任何列表大小来说它在计算上的花费相对是不大的。第二可选方法对于大的列表来说通常计算上的花费较大,但它需要小得多的数据存贮器,而且当数据变化非常频繁时是十分有用的。通常上,第一可选方法是较可取的,而第二可选方法只在较短列表或数据变化频繁的情况下被启用。
用于限制在步骤13,18或23的识别“提示”数量的标准是所有满足某些相似准则的候选者被保留,虽然,如果喜欢的话也可选用其它标准,比如,就是保留一个固定数量的候选者。在较早的识别步骤中,保留大量的较低得分的城镇名(所说的话)所带来的计算负担和其对识别操作的影响可能会被认为是不合理的,而相反保留具有相同得分的较少的城镇名可能更合理一些。在这种情况下,一个被识别的字的得分可以被因子加权,该加权因子取决于定位那个字的条目数,这样做是为了得到这种不同的选择。
在上面讨论的例子中,要被识别的字(比如道路名)的列表是根据先前的字(城镇名)的识别结果产生的。但是,在先前的识别步骤中或在列表中的单元并非必须是一个单个的字,它们也可是一串字。一种可能性就是一串由字母组成的名字,比如,用于城镇名识别步骤的字的列表可以从先前对问题“请拼出城镇名头四个字母”的答案进行的识别结果来准备。如果提供有录音功能(如下面要进一步讨论的),识别的顺序就没必要与接收回答的顺序相同(更自然的是首先询问讲述的字,接着是拼写的方式,虽然最好是以相反的顺序处理它们)。
在上面的描述中我们假设识别器总是产生一个结果,也就是说,对于接收到的回答给出最佳匹配的城镇(等等)名是一定会被识别出的。当然,在一个合理的准确匹配找不到的情况下,允许输出一个“失败”消息是可能的。在这种情况下可能需要进一步的操作。这可以简单地把该呼叫切换到手工操作者。另一方面,进一步的信息可自动地如图2a中所示的被处理。在本例中,一个低可信度匹配40仍然产生四个可能的候选城镇。由于这次匹配的可怀疑的准确性,另外一条消息被播放给呼叫者,向其询问一个可用来查对已有的识别结果的额外的回答。在本例中,考虑到在识别字表中所有城镇名字的所有允许的拼写,一个城镇名的拼写被要求41。在一个可靠的识别43之后,两个拼法被识别。这两个城镇名可被认为比先前识别的四个所说的城镇名更可信,但是对两个列表进行比较44可以揭示出列表中一个或多个共同的城镇名。如果是这样,那么46可以对这些共同的城镇名推断出具有很高可信度的结果,而且该查询可以,比如说,象图2中相同的方式进行,使用这些共同的城镇来准备道路名的识别15。如果没有发现共同的城镇名,那么这两个拼出的城镇名被保留47用于下一个步骤,即以这两个城镇名准备道路名的识别15,如图中所示,或是未在图2a中画出的一个不同的处理过程,举例来说,一个同用户一起对两个城镇名的更可信者的确认以便在进一步要求一信息之前提高系统的可靠性。
要识别的回答不必非要是对单个问题的单个回答。对于以这种方式工作的系统来说,它们可以是由识别器从一个连续句子中抽取出来的字。
另一种可能需要变化语音识别器的搜索范围的情况是其中它可以不根据先前的识别结果而是根据某些与查询相关的外部信息进行修改。在号码查询系统中,这可能是一个表明一次电话呼叫起始点的信号,比如说呼叫线路身份(CLI)或一个表明发端电话局的信号。在一个简单的实施中,这可被用来限制城镇名识别只对那些位于和那个呼叫者相同或相邻的电话局地区内的城镇名中进行。在一个更复杂的系统中,这种电话线或电话局的辨认可用于访问存贮的信息,这些信息被编辑用于表明所讨论的用户的查询模式或在那个地区的用户的查询模式(情况可能会是这样)。
举例来说,一个在特定区域内的号码查询抽样可能会表明40%的这种电话是想要与之在相同电话局地区内的电话号码,而20%是紧邻该地区的。单独的统计方式可能会被编辑用于商业或民用线路,或用于一天的不同时间,或用于其它观察趋势,比如,与发端线路的属性或地点无关的服务的全局使用统计。
这个方法的效果是对于常用的查询提高了系统的可靠性,其代价是不常用的查询可靠性的降低。这样一个系统的目标是使大多数常用的或直接的查询自动化,同时其它电话还可以用另一种方式处理,比如被接到一个操作员。
作为一个实例,图1额外地画出了一个CLI检测器20,(这里只用来表明发端电话局),它被用来从存贮器21中选择一个有关来自那个电话局的查询的可能的城镇名列表,被控制单元4用于截短该“城镇名”的识别,正如图3的流程图中所示,其中呼叫线路标记信号在步骤10a被检测,并且从存贮器21选择(12a)一个城镇名的列表,该列表随后被用来(12b)在城镇名识别步骤13之前更新城镇名识别存贮器6。该过程的其余部分与图2所示相同,故未画出。
这个方法的一个扩充是为了提高系统的可靠性和对于常用的查询的响应速度,同时还使用额外的信息来允许较不常用的查询得以进行。这样较不常用的查询仍然能够进行,但是需要由呼叫者提供比常用的查询更多的努力和信息。
作为一个例子见图3a,所讲的城镇名被询问11,而且CLI被检测到10a。如在图3中,接下来CLI与经常被呼叫者要求的同那个CLI身份相同的城镇名相关12a。这些城镇名更新所讲城镇名存贮器12b。该过程同图3中所示的相同。另外,当语音被收集用于识别时,它被存贮用于以后再次识别37。在识别13中使用的受限的城镇名的集合通常将是一个覆盖大部分查询的小字表。如果一个在该字表内的字被讲出并且被可靠地识别出48,那么该查询就会立即使用这个识别出的城镇名来准备道路名存贮器,并且继续如在图2中描述的步骤。
如果被识别出的字落在字表之外或可信度低,那么就播放一条额外的消息49向呼叫者询问更多的信息,在此情况下该信息是城镇名的头四个字母。同时,可进行一个附加的对所讲的城镇名的再识别,它能识别号码薄可能出现的任意城镇名。在本例中,我们假定四个城镇名被识别出54。同时,呼叫者可能正拼出城镇名的头四个字母50,并且两个拼写被可靠地识别51。随后这两个拼写被扩展至符合它们的完整的城镇名,有必要在准备拼写字表时预测通常的拼写错误,添加或遗漏字母,缩写和标点,接下来将拼写识别结果匹配于完整的城镇名。假设,在本例中,有五个城镇名符合这两个拼写。
一个在目的上与在图2a中描述的(44)相同的比较(55)可接下来在从那两个拼写提取的五个城镇名和四个再识别的城镇名之间进行。如果在这两组中发现共同的字,(假设在本例中只有一个共同的字),那么这个城镇名可以被可靠地假设为正确的,并且可以从它预备道路名识别数据存贮器7,而且该查询按图2中所示继续。
在其它情况下,讲述识别53可能会有错而且没有找到共同的字。作为另一种方法,城镇名53的识别和其此后的比较55可被作为可选项并被省略。在这两个例子之中,所讲述的城镇名存贮器将被五个从那两个拼写52和被再次识别的讲述城镇名中获取的城镇名更新57。在例子中,我们假设只识别出一个单独的可信的城镇名。这个城镇名可以用于配置道路名识别数据存贮器7,而且该查询按图2中所示继续下去。
如上所述,限制在将字表严格限制于非常相象的字上的做法不必非要依赖于CLI。基于识别出的城镇名对道路名字表所做的准备本身就是一个例子,而且询问额外信息的方法,如图3a中所示,可用于,没有一个这种受到限制的识别结果是可信的情况下。全局观察或假定的行为也可用来以一个相似的方式限制一个字表(比如,城镇名存贮器)于CLI获取的信息,就像能表明一个电话的受话方的信号一样。举例来说,可以鼓励呼叫者拔打不同的号码以获取特殊的信息。当接收到由普通设备上传来的要求所有信息的呼叫,拔打的号码决定了该设备的下一步操作中所使用的字表的子集。接下来该设备的操作将以类似于上述的与CLI有关的方式继续。
另外,可以在任何一种信息的基础上对一个收集的字再次识别,这个字被附加的信息比如在图3a中所拼出的四个字母限制,上述任何一种信息可以是比如说通过电话键的DTMF条目,或是对限制搜索范围的问题(比如说,“请说是或不是该人住在城内吗?”)的是或否的回答。这个额外的信息可以基于对先前使用的不同的假设通过使用一个不同的地区存贮器21从CLI中获得。
在上述的实施方案中,没有考虑相对的识别概率,举例来说,如果城镇识别步骤13识别出城镇名Norwich和Harwich,那么在道路识别步骤18,当识别器不得不估计呼叫方是说“Wright Street”(我们假想它在Norwith)还是说“Rye Street”(在Harwich)的可能性时,有一个事实没有考虑到,即所说出的城镇名之于“Norwich”的相似性要比其之于“Harwich”的相似性大。但是,如果需要,识别器可被安排来产生(以已知方式)用以表明由识别器识别的每个候选和原始发音的相对的相似性数字或“得分”,并进而产生它是正确的假想概率。然后这些得分可被保留,同时在号码数据库中进行一次搜索,以获取下一次所希望字表的与识别出的字有关的字表条目的列表。然后,相应的匹配字的得分可以赋给这些新的字表条目。在从与先前字表的不只一个识别出的字的匹配中得到的一个字的情况下,例如两个得分中的最高者将被选中。这些得分可随后作为先验概率被送至下一个识别步骤来左右选择。这可以按图2中描述的过程来实现如下。
步骤13,识别器为每个城镇产生一个得分,比如Harwich 40%Norwich 75%Nantwich 20%Northwich 15%步骤15,当道路列表编好时,合适的得分被附给道路名,例如Wright Street 25%Rye Street40%North Street(假定在Norwich和Nantwich中都存在)25%。
并存贮于存贮器7。
步骤18,当识别器开始识别路名时,它会以存贮器7中的得分来预加重识别网络(比如在隐马尔可夫模型的情况下)。然后它识别所提供的字,由此产生的效果是这些权重使得最可能的字不易被过早的裁剪掉。另一种方法,该识别器可以识别发音,并在识别后根据存贮器7中的内容调整它的最终得分。这第二个方法不会给模式匹配过程带来好处,但这两种方法都传递(propagate)逐个字表最后被选中的条目的相对的相似性。举例来说,考虑后加权的方法,如果该识别器已分别将得分60%,30%和10%分派给Wright Street,Rye Street和NorthStreet,那么加权后的得分将是,Wright Street(Norwich)25%×60%=15%Rye Street(Harwich)40%×30%=12%North Street(Norwich和Nantwich)25%×10%=2.5%对步骤20,21,23当然可做类似的修改。这恰好是一个用于得分传递方案的例子。
已经提到过在一个“失败”情况下切换至人工操作的可能性。另一种方法是简单地要求用户重复未被识别的操作。然而,在失败情况下,更自动化的步骤会被采用。
一个失败情况的辨别能通过低的识别器输出“得分”,或输出过多数量的全都具有相似得分的识别出的字(不管是参考当时的得分还是参考加权后的得分),或者通过将得分与那些由将语音和字表外的模型相比较的识别器所产生的得分相比较而看出。这种失败的情况会在象图2中城镇名识别步骤13那种不受限制的搜索中出现。在这种情况下,较好的结果可能会通过首先执行(比如)道路名识别步骤(不受限制)并编辑一个包含发现的道路的所有城镇名的列表来约束下面的城镇名识别步骤来获得。或者它也会出现在比如那些在图3中的步骤13或图2中的步骤18和23的受限制的搜索中,这里也许约束使得正确的候选者被从识别集中移去了;在这种情形时,移去限制,或应用一个不同的限制条件可能会改善情况。
这样,一个可能的方法是为录音呼叫者的回答作好准备,并在失败的情况下,使用在图2中开始的步骤再处理它们(除了“播放消息”步骤11,14,19),但原始的次序城镇名/道路名/姓氏有所改变。当然这些总共会有六种排列。用户可以选择其中一种(或多种)排列次序,其经验能表明它最有可能带来改进。这种再次处理的结果可以单独使用,或同先前结果结合使用,选择那些由两种处理都识别出的条目用于输出。
另一种可能性是执行一个另外的搜索,省略一个步骤并就“拼出的输入”的情况下而言比较结果。
如果需要,使用两个(或多个)这种顺序的处理可被例行地执行(而不是只在失败的情况下),为了减少延迟在第一个完成之前另一个序列就要开始;例如(在图4中),另一个不受限制的“道路名”搜索30在“哪个姓氏”消息期间执行(不记录道路名)。从中,一个姓氏名的列表被编辑(31)而且姓氏名存贮器被更新(32)。一旦列表中的姓氏名被识别出(33),一个城镇名列表被编辑(34)而且城镇名存贮器被更新(35)。接着,在步骤36,所讲的城镇名,先前存贮于步骤37,被识别出。然后,这两个识别处理的结果被编辑,并恰当地选择(38)那些被两个过程都识别出的条目。要不然,如果没找到共同的条目,可以使用由一个过程找到的条目或由另一个找到的或者由两个过程找到的。图4中画出的其余的步骤都与那些在图2中的相同。
存贮一次发音以及它在对稍后发音的识别之后在一个受限制字表识别过程中的使用的技术,已经被描述为一个与顺序处理过程并行使用的可选项,作为一个交叉检查而提供另外的识别结果以供在困难的情况下使用。但是,它仍可以单独使用,例如,在用户选择一种对自己来说是自然的提问顺序的场合,以便提高响应的速度和可靠性,但是要以一个更适合数据特性的顺序来处理答复。例如,在图4中,只使用右边的分支(但是仍保留步骤14,17,19和22供给它),也就是说,省略步骤15,16,18,20,21,23,38。
使用CLI来修正语音服务的期望值不必象已描述的那样局限于对期望的字表条目的修改。要求一定安全级别或身份辨认的查询系统也可利用CLI的优点。由CLI给出的电话呼叫的话源可被用于从存贮器提取与该话源有关的为系统所知的私人号码的身份。这个存储器也可以包括来自于个人的已经经过确认的代表性语音。如果只有一个人经授权从指定的话源访问给定的服务,或呼叫者通过额外的信息做出一个特别的声明来表明身份(比如一个DTMF或者讲述的私人辨认号码),那么所讲的发音从呼叫者处收集并且和存贮的与声明的身份相关的语音样本比较,以确认这个人就是他们所说的他们是的那些人。另一方面,如果有一定数量的个人与呼叫话源相关,那么,呼叫者的身份确认将通过收集来自于呼叫者的发音并将其与存贮的每个人的语音样本依次进行比较,选择满足某一可信度的最可能的候选者来实现。
CLI也可用来访问将语音识别模型关联于呼叫话源的存贮器。这些语音模型随后被装入被语音识别器使用的存储器。这样,比如一个来自蜂窝电话的呼叫可用经过蜂窝语音数据训练的语音识别模型来处理。在一个语音识别系统中对于地区性的口音或不同的语音处理也可得到相似的好处。
权利要求
1.一个语音识别设备包括一个数据存贮器,其中包含有要识别的条目以及为每个条目定义一个同第一字表中的一个字的联接和一个同第二字表中的一个字的联接的信息;语音识别装置;和可操作的控制装置用来(a)控制该语音识别装置以便通过参考用于第一字表的识别信息来识别尽可能多的第一字表中的且满足一个预定的与第一接收声音信号相似的标准的字;(b)基于这样的识别,编辑一个第二字表中所有字的列表,它们被定义与条目相关联,其中该条目又被定义与所识别的第一字表中的字相关联;(c)控制该语音识别装置以使得通过参考用于第二字表的识别信息来识别列表中与第二接收声音信号相似的一个或多个字。
2.一种根据权利要求1的语音识别设备,其中语音识别装置根据第一声音信号的接收可操作地用于为每个识别出的字产生一个它与第一声音信号相似性的度量,而控制装置可操作地用于为列表中的每个字产生一个对于第一字表中相关的字的度量得出的度量,并且语音识别装置根据第二声音信号的接收,按照一个与对于列表中的字所产生的度量有关的加权的识别过程来进行对列中一个或多个字的识别。
3.根据权利要求2的一种语音识别设备,其中控制装置可操作地用于通过一个依赖于第二字表中被定义为与条目相连的字数的因子来加权对于列表中每个字的度量,其中所说条目又被定义与所识别的第一字表中相关的字相关联。
4.根据权利要求2或3的一种语音识别设备,其中控制装置可操作地用于从列表中忽略掉第二字表中那些度量低于阈值的字。
5.根据任一前述的权利要求的语音识别设备,其中该设备包括一个包含有对第二字表中所有字的识别数据的存贮器,并且控制装置按照列表的编辑且在对列表中的字进行识别之前可以操作地用于在识别数据存贮器中标记那些对应于不在列表中的字的数据项或是对应于在列表中的字的数据项,由此,识别装置可以分别地忽略所有标记过的或是未标记过的字。
6.根据权利要求1,2,3或4的语音识别设备,其中控制装置可操作地用于根据编辑的列表来为列表中的每个字产生识别数据。
7.根据任何一条前述权利要求的语音识别设备,其中控制装置可操作地用于选择输出那些被定义为既与第一字表中识别出的字相关联又与第二字表中识别出的字相关联的条目。
8.根据任何一条前述权利要求的语音识别设备,其中数据存贮器还包含为每个条目定义一个与第三字表中的字相关联的信息,并且控制装置可操作地用于(d)编辑第三字表中所有字的一个列表,它们均被定义为与条目相联,其中每个条目又被定义为既与第一字表中识别出的一个字相联又与第二字表中识别出的一个字相联;并且(e)控制语音识别装置以便通过参考用于第三字表的识别信息来识别列表中与第三接收声音信号相似的一或多个字。
9.根据任何一个前述权利要求的语音识别设备应包括用于存贮至少一个接收的声音信号的装置,该识别设备被安排用于执行一个附加的识别过程,其中的控制装置可操作用于(a)控制语音识别装置以便通过参考用于某一字表(不是第一字表)的识别信息来识别该字表中符合一个预定的与相应的接收的声音信号相似的标准的多个字。(b)编辑另一个字表中所有被定义与条目相联的字的一个附加列表,这些条目又被定义与该字表中识别出的字相联,并且(c)控制语音识别装置以使得通过参考用于另一字表的识别信息来识别与相应的接收的声音信号相似的所说附加列表中的一个或多个字。
10.根据权利要求9的语音识别设备,包括用于识别一种失败的情况并只在这种失败被识别到时初始化所说的附加识别过程的装置。
11.根据前述任何一种权利要求的语音识别装置,还包括一个电话线路连接,以及响应于通过电话线路连接对表明一个电话的呼叫方和受话方的信号的接收的装置,用来访问所存贮的用于识别所说字表的至少一个的子集的信息并将用于该字表的该语音识别装置的操作限制在那个子集上。
12.一个电话信息设备包括一个电话线路连接;一个用于通过参考代表一组可能发音的识别数据识别由电话线路连接所接收到的讲述的字的语音识别器;和响应于通过电话线路连接接收到的表明一个电话呼叫方和受话方的信号,以访问存贮的用于识别发音集合的一个子集的信息并限制该识别器只对那个子集操作的装置。
13.根据权利要求12的设备,其中该设备包括一个包含用于字表中所有字的识别数据的存贮器,而且控制装置可操作地用于在识别数据存贮器中标记其中的那些对应于不在该子集中的字的数据项或是对应于在某子集中的字的数据项,由此,识别装置可以分别忽略所有标记过的字或是未标记过的字。
14.根据权利要求12的设备,其中控制装置可操作用于为子集中的每个字产生识别数据。
15.一个电话设备包括一个电话线路连接,一个通过参考对应于一组可能的说话人的识别数据确定或确认由该电话线路连接所接收的讲述字的说话人身份的语音识别器,和响应于通过电话线路连接接收到的表明一个电话的呼叫方和受话方的信号的装置,用来访问存贮的用于识别说话人集合的一个子集的信息并限制识别器只对那个子集操作。
16.一个电话信息设备包括一个电话线路连接,一个用于通过参考存贮的多个识别数据集合之一识别由该电话线路连接接收的讲述字的语音识别器,以及响应于通过电话线路连接接收到的表明一个电话的呼叫方和受话方的信号的装置,用来访问存贮的用于识别其中一个识别数据集合的信息并将该集合提供给识别器。
17.根据权利要求16的电话信息设备,其中所存贮的集合对应于不同的语音或地区的口音。
18.根据权利要求16的电话信息设备,其中至少两个集合对应于不同类型电话设备的特性。
19.根据权利要求18的电话信息设备,其中一个集合对应于移动电话频道的特性。
20.一个语音识别设备包括一个定义第一字表的存贮器;一个定义第二字表的存贮器;一个包含要识别的条目的存贮器;一个包含关联每个条目到第一字表中的一个字和第二字表中的一个字的信息的存贮器;根据第一声音信号的接收可操作地用于识别第一字表中符合预定识别标准的尽可能多的字的语音识别装置;用来产生第二字表中关联于一个又关联于第一字表中一个或一些被识别的字的条目的所有字的一个列表的装置;以及根据第二声音信号的接收可操作地用于识别该列表中一个或多个字的语音识别装置。
21.一个识别设备包括一个定义第一样本集的存贮器;一个定义第二样本集的存贮器;一个包含要识别的条目的存贮器;一个包含关联每个条目到第一样本集中一个样本和第二样本集中一个样本的信息的存贮器;根据第一输入样本信号的接收可操作用于识别第一样本集中符合一个预定识别标准的尽可能多的样本的识别装置。用来产生关联于一个又关联于第一样本集中一个被识别的样本的条目的第二样本集中所有样本的一个列表的装置;以及根据第二输入样本信号的接收可操作地用于识别该列中一个或多个样本的识别装置。
22.一个语音识别设备包括(i)一个数据存贮器,其中包含要识别的条目以及为每个条目定义一个与第一信号集中的一个信号的连接和一个与第二字表中一个字的连接的信息;(ii)用于识别一个接收的信号的装置,对应于第一集合中尽可能多的符合一个预定标准的信号。(iii)可操作地用于编辑第二字表中被定义与条目相连的所有字的列表的装置,这些条目又被定义与第一集合中被识别的信号相连;以及(iv)可操作地用于通过参考用于第二字表的识别信息来识别列表中与接收的声音信号相似的一个或多个字的语音识别装置。
23.根据权利要求22的语音识别设备,其中第一信号集是代表第二字表中字的拼写形式或其一部分的声音信号,而识别装置由语音识别装置构成,它通过参考用于所说的拼出的声音信号的识别信息来操作。
24.根据权利要求22的语音识别设备,其中第一信号集是包含音调的信号,而且识别装置是一个音调识别器。
25.根据权利要求22的语音识别装置,其中第一信号集是表明接收到的信号的来源和目的地的信号。
26.一种通过参考所存贮的定义条目和字之间连接的信息来识别一个数据存贮器中条目的方法,包括(a)识别出现在接收的声音信号中的一个或多个所说的字;(b)编辑一个那些被定义与条目相连的字的列表,这些条目又被定义与所识别的字相连。(c)识别出现在所接收的声音信号中的列表中一个或多个字。
27.一个语音识别设备包括(a)一个数据存贮器,其中包含要识别的条目以及为每个条目定义一个与至少两个字相连的信息;(b)一个语音识别装置,它能够通过参考存贮的用于一个指定字表的识别信息来识别符合某个预定的与接收的声音信号相似的标准的至少一个字或字的序列;(c)一个控制装置,可操作地用于(i)编辑一个被定义与条目相连的字的列表,该条目被定义与一个先前由语音识别装置识别出的一个字相连;并且(ii)控制该语音识别装置以便通过参考用于所编辑的列表的识别信息来识别与另一个接收的声音信号相似的一个或多个字或字的序列。
28.一种通过参考一个存贮的要被识别的字的字表的语音识别方法,包括(a)接收一个语音信号;(b)存贮该语音信号;(c)接收第二个语音信号;(d)编辑一个字的列表,构成字表的一个子字表,作为第二个信号的一个函数,(e)向存贮的语音信号提供一个语音识别过程以便通过参考该列表识别该子字表中一个或多个字。
29.根据权利要求28的一种方法,其中第二个信号也是一个语音信号。
30.根据权利要求29的一种方法,包括通过参考代表一个字母或字母表中一串字母的识别数据来识别第二信号的步骤。
31.根据权利要求28的一种方法,其中第二信号是一个包含由键盘产生的音调的信号。
32.根据权利要求28的一种方法,其中第二信号表明该第二信号的话源或目的地。
33.一种语音识别方法包括(a)接收一个语音信号;(b)存贮该语音信号;(c)对该语音信号或一些其它信号进行识别操作;(d)在该语音识别操作不满足一个预定的可靠性标准时,重新获取所存贮的语音信号并对其进行识别操作。
全文摘要
一种用于访问一个数据库的方法和设备,其中条目都被连接到至少两个样本集。识别装置在一个接收的信号内识别第一样本集内的一或多个样本。被识别的样本被用来识别条目并编辑一个在第二样本集内样本的列表,其中那些条目又是被连接至这些样本的。然后该列表被用来识别一个第二接收信号。举例来说,该接收的信号可以是声音信号或表明该信号话源或目的地的信号。
文档编号G10L15/22GK1164292SQ9519584
公开日1997年11月5日 申请日期1995年10月25日 优先权日1994年10月25日
发明者D·J·艾特沃特, S·J·怀特提克, F·J·斯凯希尔, A·D·西蒙斯 申请人:英国电讯公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1