基于话音特征自动标识电话呼叫者的制作方法

文档序号:2821741阅读:380来源:国知局
专利名称:基于话音特征自动标识电话呼叫者的制作方法
技术领域
本发明涉及基于话音特征对呼入电话呼叫的呼叫者进行自动标识的计算机实现的方法和装置,尤其涉及路由和筛选呼入电话呼叫的计算机化语音识别技术。
背景技术
在电话通信系统中,呼叫中心通常被用于基于呼叫者对自动提示的响应来路由和预筛选呼叫。这种提示—响应机制通常非常耗时,因为呼叫者在被路由到所期望的呼叫接收者或信息数据库前必须通过大量提示。另外,这种机制依赖呼叫者以正确地遵循提示命令。如果呼叫者不和提示命令合作,则呼叫就不能被准确地路由。类似地,呼叫筛选机制依赖于呼叫者真实地响应筛选命令的合作。这使呼叫者和接收者难以准确且有效地路由和筛选呼叫。
所以,已提出了语音识别系统以辅助呼叫路由过程。但是,这种语音识别系统也依赖于提示—响应机制,其中,呼叫者必须响应预定提示。例如,系统可能要求呼叫者陈述呼叫者的名字和/或陈述表示该呼叫的主题或所期望的接收者的身份的预定的单词或单词序列。再一次,这些系统只有在呼叫者真实地响应预定提示时才有效。另外,对不同呼叫者的话音输入特征的广泛范围,用来确定语音的内容的语音识别模型必须能够准确对这些内容进行分段。所以,这种系统可能还保持耗时或不准确,并可能被不合作的呼叫者毫不费力地绕过。
所以,需要基于话音特征对呼入电话呼叫进行自动预筛选和路由的改进的方法和装置。

发明内容
本发明的一个实施例针对一种对从呼叫者到接收者的呼叫的呼叫者进行标识的方法。从呼叫者接收话音输入,并将话音输入的特征应用到多个声学模型,以得到多个相应的声学得分。多个声学模型包括通用声学模型和任何先前被标识的呼叫者的声学模型。基于多个声学得分,呼叫者被标识为先前被标识的呼叫者之一或新的呼叫者。如果呼叫者被标识为新的呼叫者,就为该新的呼叫者生成一新的声学模型,它对该新的呼叫者是专用的。
本发明的另一个实施例针对一种对从呼叫者到接收者的呼叫的呼叫者进行标识的系统。该系统包括接收来自呼叫者的话音输入的接收器,和存储多个声学模型的声学模型库。多个声学模型包括通用声学模型和任何先前被标识的呼叫者的声学模型。该系统还包括用于把话音输入的特征应用到多个声学模型以产生多个对应的声学得分,并用于基于多个声学得分把呼叫者标识为先前被标识的呼叫者之一或新的呼叫者的模块。如果通用声学模型的声学得分好于多个先前被标识的呼叫者的声学模型的声学得分,则声学模型发生器就为新的呼叫者生成新的声学模型。
本发明的又一实施例针对一种包含计算机可执行的指令的计算机可读媒质,当由计算机执行指令时,执行标识呼叫的呼叫者的方法。该方法包括接收来自呼叫者的话音输入,和把话音输入的特征应用到多个声学模型,以得到多个对应的声学得分。多个声学模型包括通用声学模型和任何先前被标识的呼叫者的声学模型。基于多个声学得分,呼叫者被标识为先前被标识的呼叫者之一或新的呼叫者。如果呼叫者被标识为新的呼叫者,就为这个新的呼叫者生成新的声学模型,它对新的呼叫者是专用的。
本发明的再一实施例针对一种对呼叫者进行标识的方法,其中,从呼叫者接收话音输入。使用呼叫者不相关的通用声学模型,话音输入被分割成一已识别语音单元序列。话音输入的特征被应用到在多个声学模型中的已识别语音单元的语音单元模型序列,其中,多个声学模型包括通用声学模型和任何先前被标识的呼叫者的声学模型。基于话音输入的特征吻合多个声学模型的程度,呼叫者被标识为先前被标识的呼叫者之一或新的呼叫者。


图1是按照本发明的一个实施例以常规个人计算机形式实现本发明的示例性系统的方框图。
图2是按照本发明的一个实施例标识呼叫者的模块的系统的更详细的方框图。
图3所示是作为时间的函数的从呼叫者接收的声学输入“波”的波形图。
图4所示是为图3所示的声学输入生成的一组特征矢量的图。
图5所示是一个语音单元的基本隐马尔可夫模型(HMM)的状态图。
图6所示是可以用在本发明的一个实施例中的简化语言模型的例子的图。
图7所示是按照本发明的一个实施例对到接收者的电话呼叫的呼叫者进行标识的计算机执行的过程的流程图。
图8所示是按照本发明的一个实施例在图7所示的过程中检测新的呼叫者或先前被标识的呼叫者的流程图。
图9所示是按照本发明的一个实施例训练呼叫者专用语言模型以按呼叫的内容检测呼叫者的流程图。
具体实施例方式
图1和相关的论述是为了提供可以在其中实现本发明的合适的计算环境的简短概括的描述。虽然并非所需,本发明将至少部分地在例如由个人计算机或其它计算设备执行的程序模块等计算机可执行指令的通用环境中被描述。一般而言,程序模块包括完成特定任务或实现特定抽象数据类型的例行程序、对象、组件、数据结构等。另外,本领域的技术人员会理解,本发明可以在其它计算机系统配置中被实现,包括手持设备、多处理器系统、基于微处理器或可编程的消费电子设备、网络PC、小型机和大型计算机等等。本发明也可以在由通过通信网络连接的远程处理设备完成任务的分布式计算环境中被实现。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备两者中。
参考图1,实现本发明的示例性系统包括常规个人计算机20形式的通用计算设备,包括处理单元(CPU)21、系统存储器22和把包括系统存储器22在内的各种系统元件耦合到处理单元21的系统总线23。系统总线23可以是任何几种总线结构的一种,包括存储器总线或存储器控制器、外围总线和使用任何各种总线结构的局部总线。系统存储器22包括只读存储器(ROM)24和随机存取存储器(RAM)25。基本输入/输出(BIOS)26,包含例如在启动时帮助在个人计算机20中的元件之间传输信息的基本例程,被存储在ROM 24中。个人计算机20还包括用于对硬盘(未示出)进行读写的硬盘驱动器27、用于对可移动磁盘29进行读写的磁盘驱动器28、以及用于对诸如CD ROM或其它光媒质等可移动光盘31进行读写的光盘驱动器30。硬盘驱动器27、磁盘驱动器28和光盘驱动器30分别通过硬盘驱动器接口32、磁盘驱动器接口33和光盘驱动器接口34连接到系统总线23。驱动器和关联的计算机可读媒质为个人计算机20提供计算机可读指令、数据结构、程序模块和其它数据的非易失性存储。
虽然这里描述的示例性环境使用了硬盘、可移动磁盘29和可移动光盘31,本领域的技术人员应当理解,能够存储计算机能够存取的数据的其它类型的计算机可读媒质也可以被使用在示例性操作环境中,例如磁带盒、闪存卡、数字视频盘、柏努利盒式磁带、随机存取存储器(RAM)和只读存储器(ROM)等。
许多程序模块可以被存储在硬盘、磁盘29、光盘31、ROM 24或RAM 25中,包括操作系统35、一个或多个应用程序36、其它程序模块37和程序数据38。用户可以通过诸如键盘40、定位设备42和麦克风43等本地输入设备向个人计算机20输入命令和信息。其它输入设备包括操纵杆、游戏垫、圆盘式卫星天线和扫描仪等。这些和其它输入设备通常通过被耦合到系统总线23的串行端口接口46被连接到处理单元21,但也可以通过其它接口,例如声卡、并行端口、游戏端口或通用串行总线(USB)连接。监视器47或其它类型的显示设备通过诸如视频适配器48等接口被连接到系统总线23。除了显示器47之外,个人计算机通常可包括其它外围输出设备,例如扬声器45和打印机(未示出)。
个人计算机20可以在使用逻辑连接到例如远程计算机49等一个或多个远程计算机的联网环境中操作。远程计算机49可以是另一台个人计算机、手持设备、服务器、路由器、网络PC、对等设备或其它网络节点,并通常包括上面相对个人计算机20描述的许多或全部元件,虽然在图1中只示出存储器存储设备50。图1中描述的逻辑连接包括局域网(LAN)和广域网(WAN)。这些联网环境常见于办公室、企业范围计算机内联和因特网。
当在LAN联网环境中使用时,个人计算机20通过网络接口或适配器53被连接到局域网51。当在WAN联网环境中使用时,个人计算机20通常包括调制解调器54或其它装置,以通过广域网52,如因特网建立通信。调制解调器54可以内置或外置,通过串行端口接口46被连接到系统总线23。在网络环境中,相对个人计算机20描述的程序模块或其部分,可以被存储在远程存储器存储设备中。可以理解,所示网络连接是示例性的,也可使用在计算机之间建立通信链路的其它方式。例如,在网络的一个或多个部分之间可建立无线通信链路。
虽然图1示出示例性环境,但是本发明不限于数字计算环境。具体地说,本发明可以在模拟设备或混合信号(模拟和数字)设备上被操作。另外,例如,本发明可以在单个集成电路上实现。模块可以用硬件、软件、或硬件和软件的组合来实现。
如上所述,计算机20通常包括各种计算机可读媒质。计算机可读媒质可以是可以由计算机20存取的任何可用媒质,包括易失和非易失媒质、可移动和不可移动媒质。作为例子而非局限,计算机可读媒质可以包括计算机存储媒质和通信媒质。计算机存储媒质包括以任何方法或技术实现来存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的易失和非易失、可移动和不可移动媒质。计算机存储媒质包括但不限于RAM、ROM、EEPROM、闪存或其它存储技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储器、磁盒、磁带、磁盘存储器或其它磁存储设备、或其它任何可以用来存储所需信息并可以由计算机20存取的媒质。通信媒质通常在诸如载波或其它传输机制等已调制数据信号中包含计算机可读指令、数据结构、程序模块或其它数据,并包括任何信息传递媒质。术语“已调制数据信号”是指其一个或多个特征以在信号中编码信息的方式被设置或改变的信号。作为例子而非局限,通信媒质包括诸如有线网络或直接有线连接等有线媒质,和诸如声学、射频、红外或其它无线媒质等无线媒质。上面任何媒质的组合也应该被包括在计算机可读媒质的范围内。
图2提供了用于按照本发明的一个实施例标识呼叫者的可以在参考图1所描述的通用环境中实现的模块100的系统的更详细的方框图。系统100包括接收器102,用于接收从呼叫者到接收者的呼叫的输入语音信号。输入语音信号可以是模拟信号或数字信号的任何形式。输入语音信号可以通过任何通信方法经由任何传输媒质被传输到接收器102。“接收者”可以是例如个别人、一群人、呼叫路由位置或信息数据库。
接收器102可以包括任何合适的接收器,以接收正在传输的语音输入信号的类型。例如,随着启用电话的个人计算机(PC)和附加电话的袖珍PC的出现,接收器102可以包括用于耦合到LAN 51的网络适配器53,或用于耦合到调制解调器54和WAN 52的串行端口接口46。
如果输入语音信号是模拟信号,则系统100包括模—数转换器(A/D)104,以把信号转换为一系列数字数值。在一个实施例中,A/D转换器104以16kHz对模拟信号进行采样,从而产生每秒16千比特的语音数据。但是,也可以使用任何其它采样率。
表示输入语音信号样值的数字信号被提供被计算机20。计算机20包括特征提取模块106、语音识别器(例如解码器)107、训练器模块108、词典模块109、语言模型库110、声学模型库111、呼叫者标识模块112、呼叫路由器113和提示—响应模块114。计算机20的元件被耦合到例如输出设备115和I/O设备116。
应该注意到,整个系统100或系统100的一部分可以在图1所示的环境中实现。特征提取模块106和训练器模块108可以是计算机20中的硬件模块或存储在图1所示的任何信息存储设备中并可以由CPU21或另一合适的处理器存取的软件模块。另外,词典存储模块109、声学模型111和语言模型110也可以较佳地存储在图1所示的任何合适的存储设备中。另外,搜索引擎107可以在CPU 21中实现,CPU 21可以包括一个或多个处理器,或可以由个人计算机20使用的专用语音识别处理器实现。另外,输出设备112和I/O设备113可以包括图1所示的任何I/O设备,例如键盘40、定位设备43、监视器47、打印机或图1所示的任何存储设备。
由接收器102接收或由A/D转换器104生成的数字信号被提供给特征提取模块106。在一个实施例中,特征提取模块106包括常规阵列处理器,它对数字信号进行频谱分析并为频谱的每一频段计算幅度值。
特征提取模块106把数字信号分割成帧,每帧包括多个数字样点。在一个实施例中,每帧持续时间约是10毫秒。然后,帧被编码成反映多个频段的频谱特征的特征矢量。在离散和半连续隐马尔可夫建模的情况下,特征提取模块106也使用矢量量化技术和源自训练数据的码本把特征矢量编码成一个或多个码字。这样,特征提取模块106在其输出为每一发音提供特征矢量(或码字)。特征提取模块106较佳地以例如约每10毫秒一个特征矢量的速率提供特征矢量。
特征提取模块的例子包括用于执行线性预测编码(LPC)、LPC导出的倒谱、感知线性预测(PLP)、听觉模型特征提取、Mel-频率倒谱系数(MFCC)特征提取的模块。注意,本发明不限于这些特征提取模块,在本发明的上下文中其它模块也可以被使用。
由特征提取模块106产生的特征矢量流被提供给语音识别器107,语音识别器107基于特征矢量流、库111中的一个或多个声学模型、库110中的一个或多个语言模型和词典105来标识最可能的语音单元序列,例如单词或音素。呼叫者标识模块112通过把话音输入的特征矢量应用到由语音识别器107标识的存储在库111中的通用和呼叫者专用的语音单元模型,把呼叫者标识为新呼叫者或先前被标识的呼叫者。在一个实施例中,呼叫者标识模块112也使用存储在库110中的通用和呼叫者专用的语言模型以帮助标识。模块112输出呼叫者身份和/或最可能的发音单词序列的文本到呼叫路由器113,或把这些结果存储在例如图1所示的存储设备之一中。结果也可以通过I/O设备115被输出到用户或操作者。然后呼叫路由器113可以基于呼叫者身份和/或呼叫的内容筛选该呼叫或把该呼叫路由到一个或多个选中的目标。
声学模型是指示特征矢量序列由在假设语音单元序列中发现的特定声学单元序列产生的可能性的模型。在本发明的某些实施例中,每一语音单元可以包括任何常用的声学单元,例如音位、音素、双音素、音节或单词。在某些实施例中,每一语音单元是一组子单元的组合。
如上所述,声学模型库111包括每一先前被标识的呼叫者的至少一个声学模型,和代表各种说话人的语音特征的通用模型。每一声学模型包括所要检测的多个预定义语音单元的一组模型,例如隐马尔可夫模型(HMM)。例如,每一HMM可以模拟单个音素。在一个实施例中,语音识别器107把自特征提取模块106接收的特征矢量应用到通用声学模型,以确定表征特示矢量,从而表示接收自呼叫者的发音的最可能音素。
在被用来解码输入特征矢量序列之前,训练典型声学模型。例如,在图2中,这种训练可以由训练器108基于训练文本118、来自声学模型的以前的模型参数和来自特征提取器106的训练特征矢量来完成。在本发明的某些实施例中,通用声学模型使用代表一组通用发言人的通用训练文本来训练。然后这个通用声学模型可以用来形成呼叫者专用声学模型,其中,用为该呼叫者生成的每组特征矢量来更新HMM。在一个实施例中,基于单个发音,例如一个或多个音素的发音,可以为特定呼叫者生成唯的一声学模型。随着从该呼叫者接收到更多呼叫和发音,该呼叫者对应的声学模型继续被更新。
语音识别器引擎107也可以访问存储在库110中的一个或多个语言模型,以帮助标识由输入数据表示的最可能的单词或单词序列。库110可以存储一通用、呼叫者不相关的语言模型,和/或多个呼叫者专用的语言模型。在一个实施例中,每一语言模型包括与上下文无关的语法(CFG)或统计n字母组(n-gram)模型,例如三字母组。三字母组模型基于序列的三单词片段的组合概论来确定单词序列的概率。这种语言模型可以被修改为向每一先前被标识的呼叫者提供唯一模型,如下文详细论述的。呼叫者专用语言模型可以被用来帮助计算机20标识由特定呼叫者经常使用的单词或主题。
通用语言模型可以包括六万单词的三字母组语言模型,例如,源自北美商务新闻,并在题为“CSR-III文本语言模型(CSR-III Text Language Model)”,宾夕法尼亚大学,1994,的出版物中详细陈述。
图3-5说明一组特征矢量的形成,以及隐马尔可夫模型的细节,它们可以按照本发明的一个实施例被使用。图3所示是从呼叫者接收的作为时间的函数的声学输入“波”的波形图。如上所述,声学输入被划分成多个帧,其每一个长例如10毫秒。特征提取模块106为每一10毫秒帧生成一组特征矢量O[k],k=1,2,...,如图4所示。特征矢量O[k]通常是声学输入“波”的快速傅里叶变换(FFT)的某种变换,以10毫秒的时隙被加窗。FFT系数反映语音特征,例如说话人的基音或声腔。然后,这些特征矢量可以被应用到对应声学模型的隐马尔可夫模型。
图5所示是一个语音单元(例如音素、音位或三字母组等)的基本隐马尔可夫模型(HMM)的状态图。基本HMM模型是语言不相关单元,它表示发音的声学特性。每一状态可以保持在当前状态,或转移到模型中的下一个状态。每一语音单元有三个状态,在图5中被标记为S1、S2和S3,表示语音单元的“开始”状态、“主要”状态和“结束”状态。每一状态可以只保持在当前状态,或沿图5的箭头转移到下一个状态。从一个状态向下一个状态的转移有P(S1|S2)的概率,P(S1|S2)表示在给定当前状态S1时从状态S1向状态S2转移的条件概率。每一状态还有概率分布B[i],i=1到3,表示任何特征矢量O[k]的“输出概率”(在0和1之间的数),它反映观察到任何可能的特征矢量的可能性。例如,概率分布可以是高斯分布。
库111中的每一声学模型包括每一音素的这种隐马尔可夫模型的集合。例如,之前有音素“B”并之后有音素“H”的音素“AX”(符号B-AX+H,如“bah”中)和之前有音素“L”并之后有音素“H”的音素“AX”(符号L-AX+H,如“blah”的最后部分中)不同。
在使用现有声学模型进行语音识别时,系统的初始状态以概率1为S1,而概率P[i|j]和概率密度B[i]对HMM中的每一状态是已知的。在识别音素时,声学输入被转换成特征矢量o[k]的序列,语音识别器107(在图2中示出)确定给定当前HMM模型时的概率P[o[k]|模型]是多少。
换言之,语音识别器107确定由输入特征矢量序列表示的声音实际上有多大可能是由考虑中的当前HMM建模的音素。由具有最大概率的HMM建模的音素被标识为是所发出的音素。
在训练声学模型时,例如在训练通用模型或更新呼叫者专用的模型时,假设声学输入“波”以及随后的特征矢量o[k]序列是已知的。语音识别器107(或呼叫者标识模块112)生成得观察每一音素的O[k]输出序列的最大概率的模型(每一状态的P′[i|j]和B′[i])。例如,在一个实施例中,呼叫者标识模块112使用鲍姆—韦尔奇(Baum-Welch)HMM重估方法来更新或者调整通用声学模型,以反映特定说话人的特征。例如,特定说话人的声学模型最初可以包括通用声学模型的通用HMM模型,然后,在当前呼叫中发生的音素的HMM模型可以通过鲍姆—韦尔奇HMM重估方法来更新,以反映该呼叫者的语音特征。
图6所示是可以在本发明的一个实施例使用中的简化语言模型的例子的图。在构建三字母组语言模型时,第一步是收集代表语言的大量文本。第二步是构建每一单词W的频数P1[W]、每一双字母组(词对)的频数P2[W|W0]、每一三字母组的频数P3[W|W1,W2]。语音识别器也可以由具有对应语言中可能单词列表的词典(WD)进行限制。下一步,使用折扣策略(discounting strategy)来避免使用所有可能的双或三单词序列,因为它们的数量太大。词典中的所有单词都被分解成音素,以由类似于图5所示的音素HMM来表示其特征。
下一步,通过粘合音素HMM并调整初始概率,以按照该HMM模型的P[W|W1,W0]进入它们的每一起始状态(S1),从而创建主HMM。在图6所示的简化例子中,只看到过两个单词“at”和“the”,每个词只看到过一次。这样,主HMM将会有独特的启始状态S0,它具有初始概率“1”,以及到“AX”音素HMM和到“TH”音素HMM的转移概率“0.5”。由于只有两个词,“AX”HMM有到“T”HMM的转移概率1.0,“TH”HMM有到“EH”HMM的转移概率1.0。“TH”HMM和“EH”HMM转移到结束状态S3。
在本发明的一个实施例中,通过调整通用语言模型来为每一唯一标识的呼叫者建立唯一语言模型。通过使用所识别的短语以及从该呼叫者的呼入中收集的“大量文本”来调整通用语言模型。这个过程并不发现新单词,而是发现新概率P[W|W1,W0],因为任何特定呼叫者比其它呼叫者更有可能使用某些单词的组合。另外,在所有实施例中不需要在常规意义上收集“单词”。在一个实施例中,语言模型以与微软公司供应的有其口述语言模型的MS识别器相似的方式收集“单词”。在可选实施例中,语言模型可以仅收集“音素”作为“单词”的音素小组,这和有其发音语言模型的MS识别器相似。后面的实施例有即使呼叫者发出诸如名字等不知道的单词也能提供音素序列的有用概率的优点,但准确度较低。
图7所示是由计算机执行的过程200的流程图,过程200可以作为指令被存储在例如计算机可读媒质中并可以由计算机20执行(在图1中示出)。按照本发明的一个实施例,过程200通过为每一被标识的呼叫者生成唯一声学模型来标识到一个或多个接收者的电话呼叫的呼叫者。
在步骤201,来自呼叫者的呼入呼叫被接收。在步骤202,常规呼叫者身份(callerID)系统被用来捕捉呼入呼叫的电话号码。如果该电话号码和先前定义的可信电话号码相匹配,则在步骤203,系统输出指示检测到可信电话号码的信号。呼叫者身份系统可以被用来标识来自可信源的呼叫,并提供过程200的提早退出,使得从该源接收的呼叫不会被过程200延迟。在步骤203生成的信号可以任何合适的方式使用,例如用来将呼入呼叫路由到特定邮箱,或通过允许该呼叫被路由到接收者的启用电话的设备。
如果呼入呼叫不是可信的,或系统没有用步骤202来配置,则在步骤204,话音输入被应用到语音识别器模块107(在图2中示出),以分割成已知音素序列。特征提取模块106(也在图2中示出)从话音输入生成对应的特征矢量,并把该特征矢量应用到通用、上下文无关语法(CFG)模块和呼叫者不相关通用声学模型(在图7中被标记为“I-AM”)。上下文无关语法模块可以包括例如自由形态的口述模型或发音随机语言模型。CFG允许任何发音的识别。CFG不必要生成发音的文本形式,只要它产生适度准确的音素分段。
呼叫者不相关、通用声学模型I-AM可以包括能够对任何呼叫者起作用的模型。这种通用声学模型有时被称为“性别无关”的声学模型,它对男、女或儿童呼叫者都起作用。
使用CFG和呼叫者不相关通用声学模型I-AM,语音识别器把语音输入分割成所识别的音素的序列。
例如,如果话音输入包括“I am calling…(我正在呼叫……)”,则语音识别器就生成发音的文本形式(“I am calling…”)加上音素分段(“IX<sil>AX M<sil>CAX L IX N G”)。
在步骤205,呼叫者标识模块112(图2)确定该呼叫者是新的呼叫者还是先前所标识的呼叫者。这个过程参考图8在下文详细描述。如果该呼叫者是新的呼叫者,则过程200转移到步骤206,在步骤206,呼叫者标识模块112把新的声学模型AM[i]添加到声学模型库(图2),并对模型数量变量NUMMODELS(即先前所标识的呼叫者的数量)递增一。呼叫者标识模块112通过制作通用声学模型AM
的副本然后如上所述地更新由呼入呼叫中的呼叫者发音的任何音素的HMM,的生成新的声学模型AM[i]。
在步骤207,呼叫者标识模块112输出指示“新的呼叫者”的信号,该信号可以被呼叫路由模块113(也在图2示出)或另一呼叫管理系统使用以按照要求指引该呼叫。呼叫者标识模块112也可以存储表示语音输入的声音文件和对应的文本(如果在步骤204得到识别)。
在一个实施例中,在步骤208,呼叫者标识模块112要求通过I/O设备115(图2)的呼叫者/文本识别的手动检查。用户或系统操作者可以审阅该呼叫的文本、听该呼叫的声音和/或察看呼叫者标识,并通过I/O设备115做出任何纠正。例如,用户可以审阅和丢弃呼叫,或者接受或否定标识模块所做的分类。在步骤207之后,过程200返回到步骤201,以接收另一个呼入呼叫。
如果在步骤205,呼叫者标识模块112标识该呼叫者不是新的呼叫者,则过程200转移到步骤210,以标识哪一个先前所标识的呼叫者再次呼叫。呼叫者标识模块112确定和该呼入呼叫的发音中的语音特征最接近匹配的呼叫者专用声学模型。在一个实施例中,呼叫者标识模块112把话音特征(例如特征矢量)应用到每个呼叫者专用声学模型中的对应的HMM,并标识有最佳声学分数的声学模型AM[j],j=0到NUMMODELS,如图8中详细描述的那样。在步骤211,呼叫者标识模块112输出指示“检测到呼叫者j”的信号,其中“j”对应步骤210中有最佳声学分数的声学模型。
图8所示是按照本发明的一个实施例在图7的步骤205中新的呼叫者或先前标识的呼叫者的检测的流程图。该过程在300进入步骤205。在步骤301,呼叫者标识模块112确定先前标识的呼叫者的声学模型数量NUMMODELS是否大于0。如果不是,则当前呼入呼叫的呼叫者就是新的呼叫者,而过程205就在步骤302退出。如果先前标识的呼叫者的数量NUMMODELS大于0,当前呼叫者就可能是新的呼叫者或先前标识的呼叫者之一。然后过程转移到步骤303。
在步骤303,呼叫者标识模块112为声学模型库111中的每个声学模型AM[j](j=0到NumModels)下的当前发音计算声学或“alpha”分数A[j],其中模型AM
是呼叫者不相关的通用模型I-AM。alpha分数被称为“前向通过分数”,它是由在图7的步骤204中产生的分段上使用声学模型AM[j]时运行语音识别器解码器或搜索树所得的声学分数(通过呼叫者不相关模型AM
)。
在步骤303,呼叫者标识模块112确定通用声学模型AM
的alpha分数是否有最大的(或者最好的)alpha分数。如果当前发音比任何呼叫者专用声学模型更匹配通用声学模型,则该呼叫者就被标识为新的呼叫者,过程在步骤305退出。如果通用声学模型的alpha分数A
不是最大的alpha分数,则该呼叫者就被标识为先前被标识的呼叫者之一,而呼叫者标识模块112转移到步骤306,以标识特定呼叫者。
假设变量“k”等于其alpha分数A[j]为最大的索引(k=argmax(A[j])),则呼叫者k被标识为该呼叫者,而呼叫者“k”的对应的呼叫者专用声学模型AM[k]被更新,以反映该新发音的语音特征。以这种方式,每次呼入呼叫都被先前所标识的呼叫者接收,该呼叫者的对应的声学模型基于该呼叫中包含的声学单元被进一步训练,以更好地表示该呼叫者的语音特征。在呼叫者专用声学模型被更新后,过程在步骤205退出。
在一个实施例中,呼叫者专用声学模型AM[k]可以用小至一个发音来创建或更新,这和常规语音识别或口述软件通常要求通过大量发音以及发音的反复来训练相反。单个发音训练可以用当前可用的语音识别软件,例如微软MS识别器,通过多次重复声音输入并把它重复应用到MS识别器,或通过重新配置MS识别器以用信号发音训练来完成。其它类型的语音识别器或解码器也可以被使用在替代性实施例中。
在一个替换实施例中,步骤304可以通过把当前话音输入分割成若干子段,例如两个子段,并用每一声学模型为两个子段计算两个alpha分数A0[j]和A1[j],来被进一步细化。步骤304只有在A0[j]和A1[j]对同一个索引k都有最大值(argmax(AM[k]))才会返回“否”(通用模型没有最高声学分数)。这个过程有益于对在话音输入中有一个以上说话人的呼叫进行滤波,并有益于进一步细化识别过程。
图9所示是训练呼叫者专用语言模型(“概率性CFG”)以按呼叫的内容(而不是按声学)来检测用户的过程400的流程图。过程400可以和图7所示的过程200一起被用来提高呼叫者标识的准确度,或作为标识呼叫者的替代方法。在步骤401,呼入呼叫被接收。在步骤402,过程400通过运行图7所示的声学呼叫者标识过程得到声学呼叫者标识。在步骤403,过程400把该呼叫(如被图2中的语音识别器107分割)的所标识的“文本”添加到对应的呼叫者专用语言模型的呼叫者文本库。步骤403对应参考图6所描述的“收集大量文本”的步骤。
在步骤404,过程400确定在特定呼叫者文本库中是否有足够的单词来训练语言模型LM(i)。如果没有,则过程400返回到步骤401,以接收更多的来自该呼叫者的呼入呼叫。如果有足够数量的单词,则过程400按照参考图6所述的过程来训练新的语言模型LM[i](用于呼叫者“i”),并在步骤405把LM[i]添加到语言模型库110。然后,过程400把呼叫者专用语言模型的数量NUMLMMODELS加上一。
在步骤406,过程400输出指示“新语言模型”的信号,并可以在步骤407要求系统用户作呼叫和文本识别的手动审阅。用户可以通过I/O设备115(图2所示)审阅和修订数据。然后过程400返回到步骤401,以接收进一步的呼入呼叫。
过程400示出图7中所示的声学呼叫者标识过程可以如何被用于为每个唯一的用户构建对应的语言模型。为了使用语言模型来标识呼叫者,一旦训练好足够多的语言模型,呼叫者标识模块112就只要运行语音识别器模块107,而通用声学模型和每个呼叫者专用语言模型LM[i]被轮流激活。产生有最高概率的文本识别的语言模型对应于当前呼叫者。
使用呼叫者专用语言模型去标识呼叫者将标识当前呼叫的内容和呼叫者专用语言模型LM[i]之一的语义相似度。但是,情况可能是当前呼叫者是谈论和呼叫者“i”所谈论的同一主题的不同呼叫者(不是呼叫者“i”)。所以,呼叫者专用语言模型较佳地和特定呼叫者声学模型一起使用,以正确标识唯一的呼叫者。例如,在向标识系统报告结果时,可向图7所示的声学呼叫者标识过程给予比图9中被训练的语言模型呼叫者标识过程更大的权值。例如,如果两个标识方法产生不同的结果,则仅当语言模型检测结果比最高得分声学模型的呼叫者专用声学分数有更高的概率时,才会使用它。此外,呼叫中心的系统用户或操作者可以不考虑声学模型标识子系统或语言模型标识子系统所做出的任何分类。
图7-9所示的呼叫者标识过程可为被误认为“新呼叫者”的呼叫者创建多个声学和语言模型。例如,在来自同一呼叫者的两个或多个不同的呼叫的音素或主题不重叠时,就可能发生这一情况。由于声学和语言模型继续用来自先前被标识的呼叫者的每个相继的新呼叫来训练,因此对应同一呼叫者的模型将开始彼此重叠随后并然后可以被合并。呼叫者标识系统可以包括一合并模块,它周期性地审阅所有呼叫者专用模型以基于预定义的标准确定是否有任何模型应该被合并。例如,这些标准可以是给定特征矢量组的模型概率的相似度。
更具体地,音素HMM通常使用由均值矢量和方差矩阵确定的多维高斯分布(在特征矢量空间)为状态转移概率建模。合并模型可以简单地为每个用户的对应音素聚集所述均值矢量和/或方差矩阵,并查看它们是否足够相近以作合并(使用距离函数,如Bhattacharya距离,它最适合比较概率函数分离,不象常规的Euclidean距离)。
此外,呼叫者标识系统可以(在知道两个已被训练的AM彼此太相近后)存储“前任”AM(在图8中的步骤306用作输入到训练模块的那一个)以及被用来训练的“波”(当前用户输入),而只在“手动审阅”(如图7的步骤208中)来自所述两个呼叫者的样点话音输入后应用训练。这防止由于已训练的呼叫者专用AM成为来自错误呼叫者的反馈话音输入而导致它们逐步退化。到底什么是“太相近”可以使用任何可用的用户标识任务的主体被实验性地量化(属于大量人的大量电话呼叫/“波”文件)。
上述呼叫者标识过程的一个优点是系统能够用少至来自呼叫者的单个发音来标识呼叫者。从那个发音创建新的呼叫者专用声学模型,以标识来自该呼叫者的更多呼叫。同样,即使呼叫者不配合用来路由呼入呼叫的任何提示—响应机制,系统也能够标识呼叫者。任何发音的声学特征,不管该发音是不是提示的正确应答,都为该呼叫者建模。另外,系统能够在不警告呼叫者有标识过程的情况下来标识呼叫者。例如系统可以被用来从来自已知呼叫者的期望呼叫中轻易虑去不想要的电话推销员的呼叫。
同样,大呼叫中心可以使用这个系统以更有效地把呼叫路由到正确的接收者或信息数据库。一些呼叫中心要求呼叫者在被路由到正确的目标前通过冗长的提示迷宫。本系统可以为先前标识的呼叫者提供基于该呼叫者的声波纹和接收人或先前呼叫的主题从提示—响应机制的快速退出。对这种呼叫者标识系统存在大量其它应用。
虽然本发明是参考优选实施例描述的,但是本领域的技术人员会认识到,可以作形式或细节上的变化而不脱离本发明的精神和范围。
权利要求
1.一种标识从呼叫者到接收者的呼叫的呼叫者的方法,其特征在于,所述方法包括(a)从所述呼叫者接收话音输入;(b)把所述话音输入的特征应用到多个声学模型以获得多个对应的声学分数,所述多个声学模型包括一通用声学模型和任何先前标识的呼叫者的声学模型;(c)基于所述多个声学分数,把所述呼叫者标识为所述先前标识的呼叫者之一或新的呼叫者;以及(d)如果在步骤(c)中所述呼叫者被标识为新的呼叫者,则为所述新的呼叫者生成一新的声学模型,该模型对所述新的呼叫者是专用的。
2.如权利要求1所述的方法,其特征在于,所述(c)中的标识包括(c)(1)如果所述相应的声学模型的声学分数好于所述通用声学模型的声学分数,则把所述呼叫者标识为所述先前标识的呼叫者之一;(c)(2)如果所述通用声学模型的声学分数好于所述多个先前标识的呼叫者的声学模型的声学分数,则把所述呼叫者标识为新的呼叫者。
3.如权利要求1所述的方法,其特征在于步骤(a)包括使用所述通用声学模型把所述话音输入分割成识别的语音单元序列;所述多个声学模型的每一个包括在步骤(a)中分割的所述语音单元的模型;以及步骤(b)包括把所述话音输入的特征应用到步骤(d)中所分割的所述语音单元的模型的序列。
4.如权利要求1所述的方法,其特征在于,所述多个声学模型的每一个包括语音单元的模型,并且其中,所述方法还包括(e)如果在步骤(c)所述呼叫者被标识为所述先前标识的呼叫者之一,则通过基于所述语音输入的特征修改被包括在所述语音输入中的语音单元的模型,来更新所述先前标识的呼叫者的对应的声学模型。
5.如权利要求4所述的方法,其特征在于,步骤(e)包括基于小至单个发音来修改被包括在所述话音输入中的语音单元的模型。
6.如权利要求1所述的方法,其特征在于,它还包括(e)和所述多个声学模型一道把所述新的声学模型存储在一声学模型库中,使得所述新的声学模型成为步骤(b)中的所述多个声学模型之一,而所述新的呼叫者作为先前标识的呼叫者被包括在内。
7.如权利要求1所述的方法,其特征在于,所述通用声学模型包括多个语音单元的呼叫者不相关模型,并且其中,步骤(d)包括(d)(1)从所述通用声学模型的呼叫者不相关模型生成所述新的声学模型,并修改被包括在所述语音输入中的语音单元的呼叫者不相关模型,以表示接收自所述新的呼叫者的话音输入的特征。
8.如权利要求1所述的方法,其特征在于,执行步骤(a)到(c),而不使所述呼叫者在所述呼叫期间警觉到所述呼叫者正被标识。
9.如权利要求1所述的方法,其特征在于步骤(b)包括将所述语音输入分割成子段,并把所述每一子段的特征应用到所述多个声学模型,以得到表示所述每一分段中的特征与所述对应的声学模型的匹配程度的多个对应的声学分数;以及步骤(c)包括,对每一子段,标识具有该子段的最好声学分数的声学模型,并仅当所有子段的最好声学分数对应于同一先前标识的呼叫者时,把所述呼叫者标识为所述先前标识的呼叫者之一。
10.如权利要求1所述的方法,其特征在于,它还包括(e)基于那些呼叫者的所述话音输入,为所述先前标识的呼叫者的每一个维护一呼叫者专用语言模型;(f)把所述话音输入的特征应用到所述通用声学模型和所述呼叫者专用语言模型的每一个,以产生多个已被识别的语音单元序列;(g)选择相对其它所述已被识别的语音单元序列有最高概率的已被识别的语音单元序列;以及(h)至少部分地基于有所述最高概率的已被识别的语音单元序列来标识所述呼叫者。
11.如权利要求10所述的方法,其特征在于,它还包括(i)如果步骤(h)所标识的呼叫者和步骤(c)所标识的呼叫者不同,则生成对下列的至少一个的手动审阅的用户提示所述话音输入、所述已被识别的语音单元序列、所述被标识的呼叫者、步骤(c)所标识的呼叫者的声学模型、以及步骤(h)所标识的呼叫者的呼叫者专用语言模型。
12.如权利要求1所述的方法,其特征在于,它还包括(e)使用所述先前标识的呼叫者的多个声学模型之间的一距离量度,以标记某些声学模型用于合并在一起。
13.如权利要求12所述的方法,其特征在于,步骤(e)包括标记所述某些声学模型用于手动检查。
14.一种标识从呼叫者到接收者的呼叫的所述呼叫者的系统,其特征在于,所述系统包括一接收器,用于从所述呼叫者接收话音输入;一声学模型库,它包括多个声学模型,包括一通用声学模型和任何先前标识的呼叫者的声学模型在内;用于把所述话音输入的特征应用到所述多个声学模型以产生多个相应的声学分数的装置;用于基于所述多个声学分数把所述呼叫者标识为所述先前标识的呼叫者之一或新的呼叫者的装置;以及一声学模型生成器装置,用于如果所述通用声学模型的声学分数好于所述多个先前标识的呼叫者的声学模型的声学分数,则为所述新的呼叫者生成新的声学模型。
15.如权利要求14所述的系统,其特征在于所述系统还包括一语音识别器,它使用所述通用声学模型把所述话音输入分割成所识别的语音单元的序列;所述多个声学模型的每一个包括由所述语音识别器识别的语音单元的模型;以及用于应用的所述装置包括用于把所述话音输入的特征应用到由所述语音识别器为所述多个声学模型分割的所述语音单元的模型的序列的装置。
16.如权利要求14所述的系统,其特征在于所述多个声学模型的每一个包括语音单元的模型;以及所述系统还包括一声学模型更新模块,如果所述呼叫者被标识为所述先前标识的呼叫者之一,则所述声学模型更新模块通过基于所述语音输入的特征修改被包括在所述语音输入中的语音单元的模型,来更新所述先前标识的呼叫者的相应的声学模型。
17.如权利要求16所述的系统,其特征在于,所述声学模型更新模块能够基于来自所述呼叫者的小至单个发音来修改被包括在所述话音输入中的语音单元的模型。
18.如权利要求14所述的系统,其特征在于,所述声学模型生成器装置把所述新的声学模型存储在所述声学模型库中,使得所述新的声学模型成为所述多个声学模型之一,并且所述新的呼叫者作为先前标识的呼叫者被包括在内。
19.如权利要求18所述的系统,其特征在于所述通用声学模型包括多个语音单元的呼叫者不相关模型;以及所述声学模型生成器从所述通用声学模型的呼叫者不相关模型生成所述新的声学模型,并修改被包括在所述语音输入中的语音单元的呼叫者不相关模型,以表示自所述新的呼叫者接收的话音输入的特征。
20.如权利要求14所述的系统,其特征在于,所述系统被配置成接收所述话音输入并标识所述呼叫者,而在所述呼叫期间不使所述呼叫者警觉到所述呼叫者正被标识。
21.如权利要求14所述的系统,其特征在于用于应用的所述装置包括用于将所述语音输入拆分成子段,并把每一子段的特征应用到所述多个声学模型,以得到表示所述每一分段中的特征与所述对应的声学模型的匹配程度的多个对应的声学分数的装置;以及用于标识的所述装置包括,对每一子段,用于标识具有该子段的最好声学分数的声学模型的装置,和用于仅当所有子段的最好声学分数对应于同一先前标识的呼叫者时把所述呼叫者标识为所述先前标识的呼叫者之一的装置。
22.如权利要求14所述的系统,其特征在于,它还包括一语言模型库,用于基于来自那些呼叫者的所述话音输入为所述先前标识的呼叫者的每一个存储一呼叫者专用语言模型;用于把所述话音输入的特征应用到所述通用声学模型和所述呼叫者专用语言模型的每一个以产生多个已被识别的语音单元序列的装置;以及用于选择相对其它已被识别的语音单元序列有最高概率的已被识别的语音单元序列的装置,其中,用于标识的所述装置至少部分地基于有所述最高概率的已被识别的语音单元序列来标识所述呼叫者。
23.如权利要求22所述的系统,其特征在于,用于标识的所述装置包括用于生成对下列至少一个的手动审阅的用户提示的装置(1)所述话音输入,有所述最高概率的已被识别的语音单元序列、(2)产生有所述最高概率的已被识别的语音单元序列的呼叫者专用语言模型、(3)有所述最好声学分数的声学模型,如果有所述最高概率的呼叫者专用语言模型和(3)中有所述最好声学分数的声学模型对应不同的呼叫者
24.如权利要求14所述的方法,其特征在于,它还包括基于所述多个声学模型之间的一距离量度标记某些声学模型用于合并在一起的装置。
25.如权利要求24所述的方法,其特征在于,用于标记的所述装置包括标记所述某些声学模型用于手动检查的装置。
26.一种包括计算机可执行指令的计算机可读媒质,其特征在于,当所述指令由计算机执行时,执行以下方法(a)接收来自呼叫者的呼叫的话音输入;(b)把所述话音输入的所述特征应用到多个声学模型,所述多个声学模型包括一通用声学模型和任何先前标识的呼叫者的声学模型,以得到表示所述特征与所述对应的声学模型的匹配程度的多个对应的声学分数;(c)基于所述多个声学分数,把所述呼叫者标识为所述先前标识的呼叫者之一或新的呼叫者;以及如果在步骤(c)所述呼叫者被标识为新的呼叫者,则为所述新的呼叫者生成一新的声学模型,它对所述新的呼叫者是专用的。
27.如权利要求26所述的计算机可读媒质,其特征在于步骤(a)包括使用所述通用声学模型把所述话音输入分割成所识别的语音单元的序列;所述多个声学模型的每一个包括在步骤(a)中分割的所述语音单元的模型;以及步骤(b)包括把所述话音输入的特征应用到步骤(a)中为所述多个声学模型分割的所述语音单元的模型的序列。
28.如权利要求26所述的计算机可读媒质,其特征在于,所述多个声学模型的每一个包括语音单元的模型,并且其中,所述方法还包括(e)如果在步骤(c)所述呼叫者被标识为所述先前标识的呼叫者之一,则通过基于所述语音输入的特征修改被包括在所述语音输入中的语音单元的模型,来更新所述先前标识的呼叫者的相应的声学模型。
29.如权利要求26所述的计算机可读媒质,其特征在于,所述方法还包括(e)和所述多个声学模型一起把所述新的声学模型存储在一声学模型库中,使得所述新的声学模型成为步骤(b)中的所述多个声学模型之一,并且所述新的呼叫者作为先前标识的呼叫者被包括在内。
30.如权利要求29所述的计算机可读媒质,其特征在于,所述通用声学模型包括多个语音单元的呼叫者不相关模型,并且其中,步骤(d)包括(d)(1)从所述通用声学模型的呼叫者不相关模型生成所述新的声学模型,并把修改被包括在所述语音输入中的语音单元的呼叫者不相关模型,以表示自所述新的呼叫者接收的话音输入的特征。
31.如权利要求26所述的计算机可读媒质,其特征在于,所述方法还包括(e)为所述先前标识的呼叫者的每一个维护一呼叫者专用语言模型;以及(f)至少部分地基于由自所述话音输入的呼叫者专用语言模型产生的已被标识的语音单元序列的概率来标识所述呼叫者。
32.如权利要求31所述的计算机可读媒质,其特征在于,所述方法还包括(g)如果步骤(f)所标识的呼叫者和步骤(c)所标识的呼叫者不同,则生成对下列至少一个的手动审阅的用户提示所述话音输入、所述已被识别的语音单元序列、所述已被标识的呼叫者、步骤(c)所标识的呼叫者的声学模型、以及步骤(f)所标识的呼叫者的呼叫者专用语言模型。
33.如权利要求26所述的计算机可读媒质,其特征在于,所述方法还包括(e)使用所述先前标识的呼叫者的多个声学模型之间的一距离量度,以标记某些声学模型用于合并在一起。
34.如权利要求33所述的计算机可读媒质,其特征在于,步骤(e)包括标记所述某些声学模型用于手动检查。
35.一种对从呼叫者到接收者的呼叫的所述呼叫者进行标识的方法,其特征在于,所述方法包括(a)接收话音输入;(b)使用一呼叫者不相关的、通用声学模型把所述话音输入分割成已识别的语音单元的序列;(c)把所述话音输入的特征应用到多个声学模型中的已识别的语音单元的语音单元模型的序列,所述多个声学模型包括一通用声学模型和任何先前标识的呼叫者的声学模型;以及(d)基于所述话音输入的特征与所述多个声学模型的吻合程度,把所述呼叫者标识为所述先前标识的呼叫者之一或新的呼叫者。
36.如权利要求35所述的方法,其特征在于,它还包括(e)如果在步骤(d)所述呼叫者被标识为新的呼叫者,则通过修改被包括在所述语音输入中的语音单元的语音单元模型以表示自所述新的呼叫者接收的话音输入的特征,从所述通用声学模型为所述新的呼叫者生成一新的声学模型;以及(f)把所述新的声学模型存储在一声学模型库中,使得所述新的声学模型成为步骤(c)中的所述多个声学模型之一,并且所述新的呼叫者作为先前标识的呼叫者被包括在内。
37.如权利要求35所述的方法,其特征在于,它还包括(e)基于那些呼叫者的所述话音输入为所述先前标识的呼叫者的每一个维护一呼叫者专用语言模型;(f)把所述话音输入的特征应用到所述通用声学模型和所述呼叫者专用语言模型的每一个,以产生多个已被识别的语音单元序列;(g)选择相对其它已被识别的语音单元序列有最高概率的已被识别的语音单元序列;(h)基于有所述最高概率的已被识别的语音单元序列来标识所述呼叫者;以及(i)如果步骤(h)所标识的呼叫者和步骤(c)所标识的呼叫者不同,则生成对下列至少一个的手动审阅的用户提示所述话音输入、所述已被识别的语音单元序列、所述被标识的呼叫者、步骤(d)所标识的呼叫者的声学模型、以及步骤(h)所标识的呼叫者的呼叫者专用语言模型。
38.如权利要求35所述的计算机可读媒质,其特征在于,所述方法还包括(e)使用所述先前标识的呼叫者的多个声学模型之间的一距离量度来标记某些声学模型用于合并在一起。
全文摘要
提供对从呼叫者到接收者的呼叫的呼叫者进行标识的一种方法和装置。从所述呼叫者接收话音输入,并将所述话音输入的特征应用到多个声学模型,以得到多个对应的声学得分,其中,所述多个声学模型包括一通用声学模型和任何先前被标识的呼叫者的声学模型。基于所述多个声学得分,所述呼叫者被标识为先前被标识的呼叫者之一或新的呼叫者。如果呼叫者被标识为新的呼叫者,就为所述新的呼叫者生成一新的声学模型,它对所述新的呼叫者是专用的。
文档编号G10L15/06GK1655235SQ20041008187
公开日2005年8月17日 申请日期2004年12月31日 优先权日2004年2月12日
发明者A·帕斯科维西 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1