使用多模式输入进行多模式焦点检测,参考岐义解析和语气分类的系统和方法

文档序号:6354485阅读:508来源:国知局
专利名称:使用多模式输入进行多模式焦点检测,参考岐义解析和语气分类的系统和方法
技术领域
本发明涉及多模式数据处理技术,尤其涉及根据多模式输入数据执行焦点检测、参考歧义解析和语气分类的系统和方法。
背景技术
在当前基于计算机的处理系统中,越来越普遍地使用不止一个输入模式得到可以被用来执行各种计算任务的数据。使用这种"多模式"输入技术的系统具有超越仅仅使用一种数据输入模式的系统的优点。
例如存在这样的系统,其中包含视频输入源和更加传统的计算机数据输入源,例如与多窗口图形用户接口(GUI)协同地人工操作鼠标设备和/或键盘。在Yamaguchi等人于1999年6月15日授权的美国专利5,912,721中公开了这种系统的例子。根据Yamaguchi等人提出的系统的指导,可以提供这样的设备,该设备通过检测用户的注视点,从而允许用户指定显示屏幕上的位置,并且用户不必人工操作传统输入设备中的一个,其中由用户针对屏幕的视线指定所述注视点。
其它依赖视线跟踪的系统可以包含除了视频之外、用于得到后续处理的数据的输入源。例如,Kaufman等人于1996年5月14日授权的美国专利5,517,021公开了使用眼电图(EOG)设备检测眼睛运动和其它眼睛动作产生的信号的方案。这种EOG信号充当用于控制某些任务执行功能的输入。
其它多模式系统能够使用语音和动作输入接受用户命令。Ando等人于1997年2月4日授权的美国专利5,600,765公开了这种系统,其中在通过定点输入设备在图形显示系统的显示屏幕上点向显示对象或显示位置的同时,用户命令图形显示系统在图形显示器上产生事件。
另一个使用语音和动作输入的多模式计算概念被称作"自然计算"。根据自然计算技术,将动作直接作为命令的一部分提供给系统。可选地,用户可以提供口语命令。
然而,虽然这种多模式系统看上去具有超越只使用一个数据输入模式的先天优势,然而现有多模式技术明显不能在用户和用户希望与之交互的计算系统之间提供有效的会话环境。也就是说,传统多模式系统无法提供有效的会话计算环境。例如,如上所述的在传统系统中使用用户动作或眼睛注视的方法仅仅是对传统GUI点击设备的使用的替代。在使用自然计算技术的情况下,系统独立地识别基于语音的命令,并且独立地识别基于动作的命令。于是,在传统系统中没有尝试使用一或多个输入模式澄清或理解通过一或多个其它输入模式输入的数据。此外,在传统系统中没有尝试使用多模式输入执行用户语气或注意点分类。此外,在使用视频作为数据输入模式的传统系统中,视频输入机构仅限于可见波长频谱。于是,这种系统的使用仅限于光线充足的环境。不幸的是,根据工作条件,光线有可能不会很充足,或者光线水平会频繁改变(例如在移动的汽车中)。
因此,如果提供在发生改变的工作条件下根据多模式输入数据执行焦点检测、参考歧义解析和语气分类的系统和方法,以便为一或多个用户提供有效的会话计算环境,则会非常有利。

发明内容
本发明提供了在发生改变的工作条件下根据多模式输入数据执行焦点检测、参考歧义解析和语气分类的技术,以便为一或多个用户提供有效的会话计算环境。
在本发明的一个方面,多模式会话计算系统包括用户接口子系统,用户接口子系统被构造成从采用用户接口子系统的环境输入多模式数据。多模式数据至少包含基于音频的数据和基于图像的数据。该环境包含一或多个用户和可被本发明的多模式系统控制的一或多个设备。系统还包括至少一个处理器,该处理器在操作中被连接到用户接口子系统,并且被构造成从用户接口子系统接收至少一部分多模式输入数据。处理器还被构造成根据至少一部分接收的多模式输入数据确定一或多个用户中的至少一个用户的意图、焦点和语气。处理器还被构造成根据所确定的意图、焦点和语气中的至少一个致使在环境中执行一或多个操作。系统还包括存储器,存储器在操作中被连接到至少一个处理器,并且存储与处理器进行的意图、焦点和语气确定相关的至少一部分结果,以备后续确定或操作中可能的使用。
有利的是,这种多模式会话计算系统提供以下能力(i)确定用户所寻址的对象、应用或设备;(ii)确定用户焦点并因此确定用户是否主动聚焦在适当的应用上,并且以此为基础,确定是否应当采取行动;(iii)根据在用户提供多模式查询/命令时该用户与谁说话或做了什么,其焦点是什么,以及这些命令和聚焦的历史记录是什么,理解查询;和(iv)估计用户的语气并且相应启动和/或调整某些行为/服务/设备。计算系统也可以改变用户与之交互的应用的相关业务逻辑。
应当理解,根据本发明,多模式可以包括除了语音和视频之外的其它模式的组合。例如,多模式可以包含键盘/指针/鼠标(或电话键盘)和其它传感器等等。本发明的通过至少两个不同传感器(和用于输出的激励器)的组合模式以消除输入歧义并且猜测语气或焦点的一般原理可以被概括为任何这种组合。用于确定语气或焦点的引擎或分类器则会特定于传感器,但是其使用方法与这里公开的相同。在这里的整个描述中均应当如此理解,即使图解实施例侧重于产生音频和视频数据流的传感器。
通过以下结合附图对图解实施例进行的详细描述可以理解本发明的这些和其它目的、特性和优点。


图1的模块解了基于本发明实施例的多模式会话计算系统;图2的流程解了基于本发明实施例的多模式会话计算系统所执行的参考歧义解析方法;图3的流程解了基于本发明实施例的多模式会话计算系统所执行的语气/焦点分类方法;图4的模块解了根据本发明实施例使用的音频-可视语音识别模块;图5A是图解用于本发明实施例的示例性正面面孔姿态和非正面面孔姿态的图例;图5B是用于本发明实施例的面孔/相貌和正面姿势检测方法的流程图;图5C是用于本发明实施例的事件检测方法的流程图;图5D是使用本发明实施例的、使用发声检验的事件检测方法的流程图;图6的模块解了用于本发明实施例的音频-可视发话人识别模块;图7是用于本发明实施例的发声检验方法的流程图;图8A和8B的模块解了用于本发明实施例的会话计算系统;图9A-9C的模块解了用于本发明实施例的各个语气分类系统;而图10是基于本发明的多模式会话计算系统的图解硬件实现的模块图。
具体实施例方式
参照图1,一个模块解了基于本发明实施例的多模式会话计算系统。如图所示,多模式会话计算系统10包括输入/输出(I/O)子系统12,I/O管理器模块14,一或多个识别引擎16,对话管理器模块18,上下文堆栈20和语气/焦点分类器22。
通常,本发明的多模式会话计算系统10接收音频输入数据、视频输入数据以及其它类型的输入数据形式的多模式输入(根据I/O子系统12),处理多模式数据(根据I/O管理器14),并且根据需要使用这种经过处理的数据执行各种识别任务(例如根据识别引擎16执行语音识别、发话人识别、姿势识别、读唇、面孔识别等等)。如下文所述,识别任务的结果和/或处理数据本身接着被用来执行一或多个会话计算任务,例如焦点检测、参考歧义解析和语气分类(根据对话管理18、上下文堆栈20和/或分类器22)。
虽然本发明的多模式会话计算系统不局限于具体应用,然而最初描述少数示例性应用会有助于全面理解系统提供的各种特征和系统能够执行的功能。
于是,根据第一图解应用,多模式会话计算系统10可以被使用在交通工具内。在这种例子中,系统可以被用来根据对异常长时间闭眼或注视另一个方向的检测(通过视频输入),和/或对指示分心或欲睡的话音的检测(通过音频输入),来检测注意力分散或困乏的操作人员,并且提醒操作人员存在这种可能的危险状态。这被称作焦点检测。通过提取和跟踪眼睛状况(例如张开或闭合)和/或面孔方向,系统可以确定操作人员的注意力所在。如上所述,系统10可以被构造成不仅接收和处理可见图像数据,而且(或可选地)接收和处理非可视图像数据,例如红外(IR)可视数据。并且(或可选地),可以接收和处理射频(RF)数据。所以,当在光线不充足(即照明状况不佳)的操作环境,例如在夜间行驶的交通工具中采用多模式会话计算系统时,系统仍然可以获得多模式输入,处理数据并且根据需要输出适当响应。因此,系统也可以在没有照明的情况下工作。
交通工具应用有助于理解参考歧义解析的概念。考虑这样的情况,其中交通工具内有多个用户,并且多模式会话计算系统10被连接到若干设备(例如电话、无线设备、电视、照明设备),这些设备可通过由系统接收和处理的用户输入命令控制。在这种情况下,不仅存在多模式输入,而且存在来自交通工具的多个乘员的多模式输入。
于是,系统10必须能够进行用户参考解析,例如系统可以接收口语发声"呼叫我的办公室",但是除非系统能够解析出哪个乘员发出这个语句,否则将不知道要指示相关蜂窝电话呼叫哪个办公室电话号码。因此,通过得到音频输入数据和图像数据输入并且对其进行处理以作出用户解析确定,系统10针对多个用户进行参考歧义解析。这可以包含根据音频和图像提示检测语音活动和/或用户身份。下面会说明用于完成此任务的技术。
类似地,用户可以向系统说出"将其关闭",但是没有设备参考解析,则系统不会知道要指示关闭的相关设备。因此,通过得到音频输入数据和图像数据输入并且对其进行处理以作出设备解析确定,系统10针对多个设备进行参考歧义解析。这可以包含使用对所冲方向的总量空间解析检测发话人的头部姿态或身体姿势(例如朝向)。这也可以包含消除先前产生并且存储在上下文管理器/历史记录堆栈中的I/O(输入/输出)事件的歧义(例如,如果报警器鸣叫并且用户请求"将它关闭",代词"它"可以被消除歧义)。下面会说明用于完成此任务的技术。
另外,系统10可以确定交通工具乘员的语气或情绪状态,以完成对可能影响该状态的其它相关设备的控制。例如,如果系统检测到用户感觉热或冷,则系统可以针对每个乘客调整温度。如果乘客感觉疲劳,系统可以调节座位,提高音乐音量等等。作为另一个例子(但不必在车辆系统中),可以调整应用接口响应以匹配用户的语气。例如,如果用户似乎有些困惑,则系统可以提供帮助。此外,如果用户似乎有些心烦,则尝试更快的执行。另外,如果用户不确定,系统可以请求确认或提示以引导用户。
虽然上述例子图解了在交通工具中采用多模式会话计算系统10的应用,然而在另一个图解方案中,可以在较大的区域,例如具有多个视频输入和语音输入设备,以及多个由系统10控制的相关设备的房间中采用该系统。根据这里提供的发明构思,本领域的普通技术人员可以实现能够使用多模式会话计算系统的其它应用。
在提供图1的多模式会话计算系统的功能部件并且了解了如上所述的示例性应用的情况下,下面图2和3的描述针对一或多个这种应用的执行期间系统10的功能部件的交互提供了一般说明。
现在参照图2,流程解了多模式会话计算系统执行的方法200,其中多模式会话计算系统通过该方法完成参考歧义解析(例如用户和/或设备歧义消除)。
首先在步骤202,从与系统相关的多模式数据来源得到原始多模式输入数据。根据图1中的计算系统10,这种数据源如I/O子系统12所示。如上所述,子系统的数据输入部分可以包括一或多个照相机或传感器,用于捕捉表示其中采用该系统(或至少I/O子系统)的环境的视频输入数据。照相机/传感器不仅能够捕捉可视图像数据(可视电磁频谱的图像),而且能够捕捉IR(近、中和/或远距现场IR视频)和/或RF图像数据。当然,在具有不止一个照相机的系统中,可以使用照相机/传感器的不同混合,例如系统具有一或多个摄像机,一或多个IR传感器和/或一或多个RF传感器。
除了一或多个照相机之外,I/O子系统12可以包括一或多个话筒,用于捕捉来自采用系统的环境的音频输入数据。此外,I/O子系统也可以包含模数转换器,用于将话筒产生的电信号转换成代表发出的语音或捕捉的其它声音的数字信号。此外,子系统可以采样语音信号并且将信号划分成重叠帧,使得每个帧均被系统的剩余部分离散处理。
于是,参照上述交通工具例子,应当理解,照相机和话筒可以被精心布置在交通工具各处,以便尝试完全捕捉系统进行歧义解析确定所需的所有视觉活动和音频活动。
此外,I/O子系统12也可以包括其它用于得到用户输入的典型输入设备(例如基于GUI的设备,比如键盘鼠标等等),和/或其它用于捕捉电子手写输入的设备(例如输入笔和数字化垫)等等。应当理解,本领域的普通技术人员会实现其它可以被包含以便捕捉用户活动的用户接口和设备。
接着在步骤204,原始多模式输入数据被抽象成一或多个事件。根据图1的计算系统10,由I/O管理器14执行数据抽象。I/O管理器接收原始多模式数据,并且将数据抽象成表示一或多个事件(例如口语发声,可视动作等等)的形式。众所周知,数据抽象操作可以涉及概括与所有或部分输入数据相关的细节,以便产生更加概括的数据表示,以用于进一步的操作。
在步骤206,I/O管理器14根据需要将抽象数据或事件发送到一或多个识别引擎16,以便识别事件。也就是说,根据事件的性质,一或多个识别引擎可以被用来识别事件。例如,如果事件是由话筒拾取发声的声频部分而照相机拾取发声的可视部分(例如嘴唇运动)的某种形式的口语发声,事件可以被发送到音频-可视语音识别引擎,以便使用音频输入和与语音相关的视频输入识别发声。可选或另外地,事件可以被发送到音频-可视发话人识别引擎,以便识别、验证和/或认证发声的发话人。并且,可以针对相同发声组合语音识别和发话人识别。
如果事件是由照相机拾取的某些形式的用户姿势,则事件可以被发送到姿势识别引擎以进行识别。并且,根据系统提供的用户接口的类型,事件可以包括用户提供的手写输入,使得识别引擎中的一个可以是手写识别引擎。对于更加典型的基于GUI的输入(例如键盘、鼠标等等),可以不必识别数据,因为数据在没有识别操作的情况下已经是可识别的。
在于1999年8月6日提交的美国专利申请09/369,707(attorneydocket no.YO999-317),"音频-可视语音检测和识别的方法和装置(Methods and Apparatus for Audio-visual Speech Detection andRecognition)"中公开了可以被用作识别引擎16中的一个的音频-可视语音识别模块,这里参考引用了所述公开内容。下面描述这种音频-可视语音识别系统。在于1999年8月6日提交的美国专利申请09/369,706(attorney docket no.YO999-318),"音频-可视发话人识别和发声检验的方法和装置(Methods And Apparatus for Audio-Visual Speaker Recognition and Utterance Verification)"中公开了可以被用作识别引擎16中的一个的音频-可视发话人识别模块,这里参考引用了所述公开内容。下面描述这种音频-可视发话人识别系统。应当理解,可以使用上述专利申请所述的识别模块执行姿势识别(例如身体、手臂和/或手的运动等等,其中用户使用上述运动被动或主动地向系统提供指令)和焦点识别(例如用户面孔和眼睛的方向)。然而对于焦点检测,分类器22最好被用来确定用户焦点和用户语气。
应当理解,通过2000年2月18日提交的美国专利申请09/507,526(attorney docket no.YO999-178),"同步多模式交互的系统和方法(Systems and Method for Synchronizing Multi-modal Interactions)"中公开的技术可以同步这里描述的2个,2个以上或全部输入模式,所述美国专利申请要求1999年4月7提交的美国临时专利申请60/128,081和1999年10月12日提交的美国临时专利申请60/158,777的优先权,这里参考引用了所述公开内容。
在步骤208,识别的事件和不需要识别的事件被存储在存储单元中,该存储单元被称作上下文堆栈20。上下文堆栈被用来产生用户和系统之间的交互的历史记录,以便在确定用户意图时协助对话管理18进行参考歧义解析确定。
接着在步骤210,系统10尝试根据当前事件和上下文堆栈中存储的历史交互信息确定用户意图,并且接着确定和执行一或多个完成用户意图并且/或者响应用户活动的应用程序。应用取决于采用系统的环境。可以使用任何计算机编程语言编写应用,但是最好使用会话标记语言(CML),其中在以下文献中公开了所述会话标记语言2000年4月6日提交的美国专利申请09/544,823(attorney docket no.YO999-478),标题为"用于多模式浏览和会话标记语言实现的方法和系统(Methods and Systems for Multi-modal Browsing andImplementation of a Conversational Markup Language)";1998年10月2日提交的美国专利申请60/102,957(attorney docket no.YO998-392),标题为"会话浏览器和会话系统(Conversational Browser andConversational Systems)",其中1999年10月1日提交的PCT专利申请PCT/US99/23008要求该申请的优先权;以及上述美国专利申请09/507,526(attorney docket no.YO999-178),这里参考引用了所述公开内容。
于是,对话管理必须首先根据当前事件和上下文堆栈中存储的历史信息(例如过去事件)(如果可用)确定用户意图。例如,返回交通工具例子,用户可以说出"把它打开",同时指向交通工具无线设备。因此,会话管理器会接收与口语发声"把它打开"和指向无线设备的姿势相关的识别事件的结果。根据这些事件,会话管理器搜寻这种发声和姿势可能与之相关的现有应用、事务、"对话"或其部分。相应如图1所示,对话管理18确定适当的CML编写的应用24。应用可以存储在系统10,或者可以从某个远程位置访问(例如下载)。如果会话管理器以某个预定的置信度确定其选择的应用是能够实现用户期望的应用,则会话管理器根据多模式输入执行该应用的多模式对话的下一个步骤(例如提示或显示遗漏、歧义或混乱信息,请求确认或启动相关动作的执行,以完全理解来自用户的多模式请求)。也就是说,会话管理器选择适当设备(例如无线设备)激活例程并且指示I/O管理器输出命令以激活无线设备。预定置信度可以是接收的事件满足或提供应用的至少两个输入参数或变量。当然,根据应用,可以确定其它置信度水平和算法,例如以下文献中描述的K.A.Papineni,S.Roukos,R.T.Ward的"使用表格的自由流程对话管理(Free-flowdialog management using forms)"Proc.Eurospeech,Budapest,1999;和K.Davies等人的"用于财务应用的IBM会话电话系统(TheIBM conversational telephony system for financial applications)"Proc.Eurospeech,Budapest,1999,这里参考引用了所述公开内容。
考虑以下情况,其中用户首先说出"把它打开",并且接着在几秒以后指向无线设备。会话管理器首先会单纯基于"把它打开"命令尝试确定用户意图。然而由于交通工具中可能存在其它会被打开的设备,系统可能无法以足够的置信度确定用户所指的设备。然而这个识别的口语发声事件被存储在上下文堆栈中。接着,当接收到识别的姿势事件(例如指向无线设备)时,会话管理器得到该事件和前面存储在上下文堆栈的口语发声事件,并且确定用户试图打开无线设备。
考虑以下情况,其中用户说出"把它打开",但是没有任何姿势,并且不提供任何其它发声。在这种情况下,假定会话管理器所具有的输入不足以确定用户意图(图2中的步骤212)和实施命令。会话管理器接着在步骤214导致产生针对用户的输出以请求进一步的输入数据,使得可以消除用户意图的歧义。这可以由会话管理器完成,从而指示I/O管理器让I/O子系统输出澄清请求。在一个实施例中,I/O子系统12可以包括文本-语音(TTS)引擎和一或多个输出扬声器。会话管理器接着产生预定问题(例如"你希望打开哪个设备?"),而TTS引擎将该问题转换成由扬声器声频输出到用户的合成发声。在听到询问时,用户可以指向无线设备或说出"无线设备",从而为会话管理器提供附加输入数据以澄清其请求。也就是说,参照图2,系统10再次在步骤202得到原始输入数据,并且方法200根据新数据重复执行。这种迭代可以继续下去,只要会话管理器为确定用户意图而需要如此。
当在步骤218处理事件,分配任务并且/或者执行某些其它动作(例如打开无线设备)之前,对话管理18也可以通过与请求更多信息(步骤214)相同的方式在步骤向用户寻求确认。例如,系统可以输出"你希望打开无线设备吗?"用户可以对其答复"是"。系统则打开无线设备。此外,对话管理18可以在上下文堆栈20上存储其产生的信息,并且/或者在以后当处理当前事件时获得该信息以用于解析或其它确定。
当然应当理解,上述例子只是设备歧义解析的简单例子。如上所述,系统10也可以进行用户歧义解析确定,例如在多用户环境中某人说出"拨打我办公室的电话"。根据前面的说明,本领域普通技术人员会理解系统10如何能够处理这种命令以便决定多个用户中的哪个用户发出请求,并且接着完成命令。
并且,提供给用户以请求进一步输入的输出可以通过任何其他的方式进行,并且与用户之间可能有任何数量的交互轮次,以及任何数量的从系统到用户的反馈。例如,I/O子系统12可以包含基于GUI的显示器,系统通过该显示器以在显示器屏幕上显示的文本消息的形式发出请求。本领域的普通技术人员会理解许多其它用于实现这里的指导的输出机构。
应当理解,1999年10月1日提交的PCT专利申请PCT/US99/22927(attorney docket no.YO999-111),"通过会话虚拟机进行的会话计算(Conversational Computing Via Conversational VirtualMachine)"中公开的会话虚拟机可以被用来提供用于本发明的I/O管理器、识别引擎、会话管理器和上下文堆栈的架构。下面描述这种会话虚拟机。
并且,虽然如下所述最好使用焦点/语气分类器22执行焦点或注意点检测,然而应当理解,也可以由如上所述的对话管理18执行这种操作。
现在参照图3,流程解了由多模式会话计算系统执行的方法300,其中通过该方法完成语气分类和/或焦点检测。应当理解,系统10可以和图2的方法并行地执行图3的方法,或者在不同时间执行。因此,一个进程在上下文堆栈中存储的事件可以被其它进程使用。
应当理解,步骤302到308类似于图2中的步骤202到208。也就是说,I/O子系统12从各种多模式数据源获得原始多模式输入数据(步骤302);I/O管理器14将多模式输入数据抽象成一或多个事件(步骤304);根据需要,一或多个识别引擎16根据一或多个事件的性质识别事件(步骤306);事件被存储在上下文堆栈中(步骤308)。
如前面交通工具例子中所述,对于焦点检测,系统10可以确定用户的焦点(和焦点历史记录),以便确定其是否对行驶任务付出足够的注意力(假定其是驾驶员)。通过对异常长时间闭眼或注视另一个方向的检测(通过视频输入),和/或对指示分心或欲睡的话音的检测可以进行这种判断。接着,系统可以提醒操作人员存在这个可能的危险状态。另外,对于语气分类,系统可以确定交通工具乘员的语气或情绪状态,以完成对可能影响该状态的其它相关设备的控制。由焦点/语气分类器22在步骤310进行这种焦点和语气确定。
焦点/语气分类器22直接从I/O管理器14接收事件,或者在必要时,分类器根据事件的性质从一或多个识别引擎16接收识别的事件。例如,在交通工具例子中,焦点/语气分类器可以接收指示用户眼睛和/或头部的位置的可视事件,以及指示用户可能正在发出的声音(例如打鼾)的音频事件。使用这些事件以及上下文堆栈上存储的以往信息,分类器进行焦点检测和/或语气分类确定。这种确定的结果也可以被存储在上下文堆栈中。
接着在步骤312,分类器可以根据确定结果导致执行某个动作。例如,如果确定驾驶员注意力分散,则分类器可以指示I/O管理器通过TTS系统和一或多个输出扬声器向驾驶员输出警告信息。如果确定驾驶员疲劳(例如因为其受到监视的身体姿势),分类器可以指示I/O管理器提供警告信息,在交通工具中调整温度或无线设备音量,等等。
应当理解,1999年8月10日提交的美国专利申请09/371,400(attorney docket no.YO999-227),"会话数据挖掘"中公开的会话数据挖掘系统可以被用来提供用于本发明的语气/焦点分类器的架构,这里参考引用了所述公开内容。下面描述这种会话数据挖掘系统。
为了便于参考,其余的详细描述被分成以下部分(a)音频-可视语音识别;(b)音频-可视发话人识别;(c)会话虚拟机;和(d)会话数据挖掘;如下所述,这些部分描述了图1的多模式会话计算系统10的某些部件的详细优选实施例。
A.音频-可视语音识别现在参照图4,模块解了音频-可视语音识别模块的优选实施例,音频-可视语音识别模块可以被用作图1的识别模块中的一个,以便使用根据本发明接收的多模式输入数据执行语音识别。应当理解,在1999年8月6日提交的美国专利申请09/369,707(attorneydocket no.YO999-317),"音频-可视语音检测和识别的方法和装置"中公开了这种音频-可视语音识别模块。下面在这个部分中提供用于本发明的多模式会话计算系统的优选实施例的这种音频-可视语音识别模块的一个实施例的描述。然而应当理解,可以使用其它机构来执行语音识别。
如下所述,这个具体的图解实施例描述了使用联合判决方案的音频-可视识别。应当理解,这里描述的音频-可视语音识别模块所提供的一个优点是处理任意内容视频的能力。也就是说,前面尝试在语音识别情况下使用来自视频源的可视提示的系统使用了具有受控条件的视频,即非任意内容视频。也就是说,视频内容只包含面孔,其中从面孔得到可视提示以便尝试在绝对无噪声的环境中识别短命令或单词。然而如下所述,这里描述的模块最好能够处理任意内容视频,任意内容视频不仅含有面孔,而且含有含噪声环境中的任意背景目标。任意内容视频的一个例子是广播新闻环境。这种视频可能含有在一个位置上讲话的记者,其中在该位置存在任意活动和背景噪声。如下所述,在这种情况下,模块能够定位和跟踪面孔,尤其是嘴部,以确定用于更加精确地识别发话人提供的伴随语音的相关可视信息。当发话人面孔不可见(仅有音频)或当语音听不见(仅进行读唇)时,模块还能够继续识别。
于是,模块能够通过I/O管理器14从摄像机404和话筒406接收实时任意内容。应当理解,照相机和话筒是I/O子系统12的一部分。虽然在图4中从照相机404接收的视频信号和从话筒406接收的音频信号是非压缩的,然而它们可以被压缩,并且因此需要根据应用的压缩方案进行解压缩。
应当理解,照相机404捕捉的视频信号可以具有任何具体类型。如上所述,面孔和姿态检测技术可以处理任何波长的图像,例如可见和/或非可见电磁频谱图像。例如,可以包含红外(IR)图像(例如近、中和远距现场IR视频)和射频(RF)图像.相应地,模块可以在不良照明条件,变化的照明条件或无照明环境下执行音频-可视语音检测和识别技术。例如,系统可以被安装在汽车或某些其它形式的交通工具中,并且能够捕捉IR图像,使得可以执行改进的语音识别。因为在语音识别处理中使用视频信息(即包含可见和/或非可见电磁频谱图像),系统不易于受噪声条件导致的识别错误的影响,而仅仅使用音频信息的传统识别系统则受到这种识别错误的显著影响。另外,由于这里描述的处理可视信息的方法,模块提供执行精确LVCSR(大词汇表连续语音识别)的能力。
罗马数字I表示的虚线代表音频信息信号在模块内采取的处理路径,而罗马数字II表示的虚线代表视频信息信号在模块内采取的处理路径。首先讨论音频信号路径I,接着讨论视频信号路径II,随后说明如何组合两种信息以改进识别精度。
模块包含听觉特征提取器414。特征提取器414接收音频或语音信号,并且如本领域中所知的,按照规则间隔从信号提取频谱特征。频谱特征具有声音特征向量(信号)形式,并且接着被传递到概率模块416。在提取声音向量之前,按照16千赫(kHz)的速率采样语音信号。帧可以包括具有25毫秒时长的语音段。在这种方案中,提取过程最好通过下述处理产生24维声音倒谱向量。每次将帧前进10毫秒以获得后继声音向量。注意,也可以使用具有其它帧尺寸和采样速率/信号带宽的声音前端。
首先,根据优选声音特征提取过程,按照对数扭曲频率比例衡量帧中语音数据样本的离散富立叶变换的量级。接着,将这些幅值本身转换到对数比例。后2个步骤受人类听觉对频率和振幅的对数灵敏度的推动。随后进行离散余弦变换形式的旋转。一个捕捉动态的方式是使用增量(一阶差分)和增量-增量(二阶差分)信息。一个捕捉动态信息的可选可选是将一组(例如4个)前后向量附加到有关向量后面,并且接着将该向量投影到较低维度的空间,该空间被选择成具有最强鉴别能力。后一种过程被称作线性判别分析(LDA),并且在本领域是众所周知的。
在提取图4中字母A表示的声音特征向量之后,概率模块用一或多个先前存储的音素标记提取的向量,如本领域中所知的,所述音素是语音的子拼音或声音单元。模块也可以使用词素(lefeme)工作,词素是指定上下文中音素的部分。与一或多个特征向量相关的每个音素具有与其相关的概率,此概率指示音素是说出的特定声音单元的似然度。于是,概率模块以概率形式产生每个所考虑的音素的似然度分数,其中所述概率是指对于指定的特定音素或声音单元(au),声音单元代表以一或多个声音特征向量A为特征的发出语音的概率,即P(A|声音单元)。应当理解,通过能够提取和标记声音特征向量的任何传统声学信息识别系统均可以完成块414和416中执行的处理,例如Lawrence Rabiher,Biing-Hwang Juang,"语音识别基础(Fundamentals of Speech Recognition)",Prentice Hall,1993。
现在参照图4的视频信号路径II,现在说明处理可视信息的方法。音频-可视语音识别模块(在图4中表示为图1的块16的一部分)包含主动发话人面孔检测模块418。主动发话人面孔检测模块418从照相机404接收视频输入。应当理解,也可以直接在压缩数据域执行发话人面孔检测,并且/或者根据音频和视频信息而不是仅仅根据视频信息来执行。总之,模块418通常在任意视频背景内定位和跟踪发话人面孔和面部特征。下面会对此进行详细说明。
识别模块最好还包含正面姿态检测模块420。应当理解,检测模块420被用来确定视频帧中的发话人是否处于正面姿态。其功能是可靠确定某人何时可能发出或可能开始发出由模块处理,例如由模块识别的语音。例如至少当发话人面孔在一个照相机中可见时。当不可见时,可以使用具有例如静音检测、语音活动检测和/或噪声补偿功能的传统语音识别。于是,背景噪声不被识别,尽管它也是语音,并且发声的开始不被错误丢弃。应当理解,并非模块收听范围内执行的所有语音动作均是准备用于系统的。用户可能没有对系统讲话,而是向另一个人讲话,或是在电话中讲话。相应地,模块实现了检测模块,使得结合语音模式使用视觉模式,以确定何时执行听觉和可视语音识别中的某些功能。
一个确定何时用户对系统讲话的方法是检测用户何时面对照相机并且何时其嘴部指示语音或口头活动。这很好地复制了人类行为。也就是说,当某人看着你并且活动其嘴唇时,这通常表明他正对你讲话。
根据面孔检测模块418和正面姿态检测模块420,我们检测所考虑的视频图像中的面孔姿态的"非正面(frontalness)"。当用户被认为处于以下状态时,我们将面孔姿态称为"正面"(i)或多或少地看向照相机;或(ii)直接看向照相机(被称作"严格正面")。于是在一个最优实施例中,我们通过确定面孔为绝对的不在正面(被称作"非正面")来确定"非正面"。非正面面孔姿态是头部取向足够偏离严格正面取向,使得注视不能被解释为朝向照相机,也不能被解释为或多或少地朝向照相机。图5A中示出了在一个最优实施例中正面面孔姿态和非正面面孔姿态的例子。姿态I、II和III图解了用户面孔被认为是正面的面孔姿态,姿态IX和V图解了被认为是非正面的面孔姿态。
参照图5B,示出了关于执行面孔检测和正面姿态检测的图解方法的流程图。第一步骤(步骤502)是检测从照相机404接收的任意内容视频帧中的面孔候选。接着在步骤504,我们检测每个候选的面部特征,例如鼻子、眼睛、嘴部、耳朵、等等。于是,我们在步骤506使用全部必要信息精减属于非正面的面孔候选。也就是说,我们清除不具有足够正面特征(例如若干良好检测的面部特征,和这些特征之间的距离)的的候选。在步骤506的剪裁方法的一个可选过程涉及分层模板匹配技术,如下所述。在步骤508,如果在剪裁机构之后有至少一个面孔候选,则确定正面面孔在所考虑的视频帧中。
有若干方式可解决姿态检测的一般问题。首先,几何方法建议根据姿态简单考虑面孔的二维表示(即照相机图像)中的某些特征之间的距离差异。例如,在略微转动的面孔的图片上,右眼睛和鼻子之间的距离应当不同于左眼睛和鼻子之间的距离,并且随着面孔转动这个差异应当进一步提高。我们也可以尝试根据面孔的先天属性估测面部取向。在A.Gee和R.Cipolla,"根据单个面孔视图估测注视(Estimating Gaze from a Single View of a Face)",Tech.Rep.CUED/F-INFENG/TR174,1994年3月中,建议通过主要考虑面孔内的姿态不变距离比值来估测面部法线。
另一个方式是对初始图像或面孔区域使用滤波器和其它简单的变换。例如在R.Brunelli的文章"面孔处理的姿态和发光方向估测(Estimation of pose and illuminant direction for face processing)",Image and Vision Computing 15,pp.741-748,1997中,在往往降低照明灵敏度的预处理阶段之后,2个眼睛被投影在水平轴上,并且非对称量值产生面孔旋转估测。
在被称作训练方法的方法中,人们尝试通过模拟面孔的若干可能姿态来"识别"面孔姿态。一个可能性是使用类似A.J.Howell和Hilary Buxton的文章"使用基于外表的模型的朝向视觉仲裁交互(Towards Visually Mediated Interaction Using Appearance-BasedModels)",CSRP 490,1998年6月中描述的光线基本功能(RBF)网络的神经网络。训练RBF网络以便根据姿态类别从低分辨率面孔图片中分类图像。
另一个方案是使用3维模板匹配。在N.Kruger,M.Potzch和C.von der Malsburg的文章"使用基于标记图表的学习表示确定面孔位置和姿态(Determination of face position and pose with a learnedrepresentation based on labeled graphs)",Image and VisionComputing 15,pp.665-673,1997中,建议使用弹性图表匹配表示面孔。每个节点与一组Gabor jet相关,并且通过变形图表来优化候选图表和不同姿态的模板之间的相似度。
当然,这些不同方式可以被组合以产生更好的结果。几乎全部这些方法均假定面孔已经预先位于图片上,并且通常假定已经检测出面孔中类似眼睛,鼻子等等的某些特征。此外,某些技术,尤其是几何技术非常依赖这种特征位置检测的精度。
但是图片上的面孔和特征寻找问题还有许多不同的解决方案。在一个最优实施例中,我们考虑一个2类检测问题,该问题没有以非常精确地确定面孔姿态为目标的一般姿态检测问题那么复杂。与多类检测相反,通过2类检测,我们试图说明在2个选项,例如存在面孔或不存在面孔之间进行二元判决。虽然可以使用一或多个如上所述的技术,然而下面描述我们在一个最优实施例中实现的技术。
在这种优选实施例中,被主动发话人面孔检测模块418和正面姿态检测模块420用来进行面孔和特征检测的主要技术所基于的是Fisher线性判别(FLD)分析。FLD分析的目标是在类别之间得到最大鉴别,并且降低特征空间的维度。对于面孔检测,我们考虑2个类别(i)入类别,包括面孔;和(ii)出类别,由非面孔组成。FLD分析的条件是寻找使以下比值最大的特征空间的向量 J(w→)=w→tSBw→w→tSWw→.....(1)]]>其中SB是类间散布矩阵,Sw是类内散布矩阵。
当找到正确的 (被称作FLD)时,通过计算 将各个特征向量 投影在它上面,并且将结果与一个阈值相比较以决定 是否属于入类别或出类别。应当注意,我们可以使用众所周知的主要分量分析(PCA)以在找到使等式(1)中的比值最大的特征空间向量 之前降低特征空间的维度,例如参见P.N.Belhumeur,J.P.Hespanha和D.J.Kriegman,"本征面孔与Fisher面孔使用类特定线性投影的识别(Eigenfaces vs.FisherfacesRecognition Using Class Specific LinearProjection)",IEEE Transactions on Pattern Analysis and MachineIntelligence,vol.19,no.7,1997年7月。
面孔检测(图5B的步骤502)涉及首先定位视频序列的第一帧中的面孔,并且在视频片段的帧中跟踪位置。最好按照下面的方式执行面孔检测。为了定位面孔,产生具有允许比例的图像金字塔,并且针对金字塔中的每个位置,我们将周围区域评为面孔位置。在其目标是在颜色可以指示面孔存在的金字塔中定位图像区域的肤色分段过程之后,图像被子样本化,并且使用FLD分析将区域与预先存储的不同面孔模板训练集合相比较。这产生一个分数,该分数与面孔空间距离(DFFS)测量组合以提供面孔似然度分数。众所周知,DFFS考虑到协方差矩阵的本征向量上的图像能量分布。总分数越高,则所考虑的区域是面孔的机会就越高。于是,在所有条件下得分很高的位置被确定为面孔。对于各个高得分面孔位置,我们考虑从一个到下一帧的较小转换、比例和旋转变化,并且在所有这些变化下面重新评分面孔区域,以优化这些参数的估测(即FLD和DFFS)。在M.Turk和A.Pentland的文章"用于识别的本征面孔(Eigenfaces forRecognition)",Journal of Cognitive Neuro Science,vol.3,no.1,pp.71-86,1991中也描述了DFFS。在Andrew Senior,"用于面孔识别系统的面孔和特征寻找(Face and feature finding for facerecognition system)",2nd Int.Conf On Audio-Video basedBiometric Person Authentication,Washington DC,1999年3月中描述了用于面孔和特征寻找的、基于计算机视觉的面孔识别方法,该方法可以用于本发明。
结合位置的统计因素应用类似方法,以检测面孔内的特征(图5B的步骤504)。注意,这种面孔和特征检测技术仅被设计用来严格检测正面面孔,并且模板仅仅用于严格区分正面面孔和非面孔根本没有考虑更加一般的正面面孔。
当然,这种方法需要创建面孔和特征模板。根据正面面孔图像数据库产生这些。训练面孔或特征向量被加到入类别中,并且根据我们的训练图像中的背景随机产生某些出类别向量。
在分数阈值限定技术中,可以将总分数与阈值相比较以决定面孔候选或特征候选是否真实面孔或特征。对于实际姿态检测问题,这种基于FLD分析的分数具有吸引人的性质。实际上,对于指定用户,当用户转动他的头部时,分数发生改变,例如当面孔更加正面时,分数变高。
接着,在已经得到从中严格检测正面面孔和特征的方法的前提下,我们对其进行调整以便尽可能紧密地切合我们的2类检测问题。在一个最优实施例中,模块提供2个可选方式以调整(图5B的步骤506)检测方法(i)剪裁机构和;(ii)分层模板匹配技术。
剪裁机构这里,我们重用已经计算的模板进行面孔检测。我们的面孔和特征检测技术只需要严格正面面孔训练数据,于是我们不需要更宽泛的数据库。该方法涉及组合面孔和特征检测以精减非正面面孔。我们首先根据前面已经讨论的算法(但有意使用低评分阈值)检测帧中的面孔。这种低阈值允许我们检测远远不及严格正面的面孔,使得我们不会遗漏任何或多或少正面的面孔。当然,这产生了某些轮廓面孔,甚至是非面孔的检测。接着,在各个候选中,我们估测面孔特征(眼睛、鼻子、嘴唇等等)的位置。
根据以下独立计算从候选中精减假候选(i)所有面部特征得分的和数这是通过组合FLD和DFFS得到的分数。将和数与阈值相比较以决定是否应当丢弃候选。
(ii)良好识别的主要特征的数量我们丢弃眼睛、鼻子和嘴部的具有低分数的候选。实际上,这些是人类面孔的最特征化和可见的特征,并且它们在正面和非正面面孔之间存在很大的不同。
(iii)各个眼睛和鼻子中心之间的距离的比值。
(iv)各个眼睛和面孔区域一侧之间的距离的比值(通过用于模板匹配的正方形限定各个面孔,参见上述A.Senior的文献)。具体地,比值是左眼外端与中轴之间的距离与右眼外端与中轴之间的距离的比值。比值取决于观察者的透视角度,因此可以被用作条件。
由于二维投影,这些比值会不同于1,如果面孔是非正面的,则比值会更高。所以,我们针对各个面孔候选计算这些比值,并且将其与1相比较以决定是否应当丢弃候选。
接着,如果候选堆栈中剩余一或多个面孔候选,我们会认为在所考虑的帧中已经检测出正面面孔。
最终,基于实际原因,我们最好使用突发(burst)机构使结果平滑。这里,我们使用交互系统的特性由于我们考虑位于(或不位于)照相机前端的用户,我们可以考虑其及时行为。由于摄像机预计会高速(通常每秒30帧)地从用户得到图片,我们可以使用前面的帧的结果预测当前帧的结果,其中考虑到人的活动慢于帧速率。
所以,如果在当前帧中已经检测到正面面孔,我们可以认为它在接着x个帧(x取决于帧速率)中仍然是正面的。当然,当随着用户转动其头部或离开而使面孔实际从正面变成非正面时,这会引入假的肯定检测,但是我们可以接受多一些的假肯定检测,如果我们得到的假否定检测更少。实际上,与假肯定检测相比,假否定检测对我们的人-机交互系统产生的影响更坏非常重要的是不要遗漏用户语音的单词,即使计算机有时会收听到过多的语音。
这种剪裁方法具有许多优点。例如,它不需要具体数据库的计算我们可以重用已计算出的结果进行面孔检测。并且,与简单阈值限定相比较,它丢弃了某些高得分的非面孔,因为它依赖某些特定于面孔的因素,例如面孔特征和面孔几何结构。
分层模板匹配另一个解决我们的检测问题的解决方案是修改模板匹配技术。实际上,我们的FLD计算技术根本不考虑"非正面"面孔入类别只包括"严格正面"的面孔,而出类别仅仅包括非面孔。所以,根据这种可选实施例,我们可以使用其它形式的模板,例如(i)面孔模板,其中入类别包含正面面孔以及非正面面孔,这不同于前面的技术,并且出类别包含非正面面孔。
(ii)姿态模板,其中入类别包含严格正面面孔,出类别包含非正面面孔。
使用这2个模板允许我们进行分层模板匹配。首先,我们与面孔模板进行模板匹配,以计算真实面孔似然度得分。这会指示(在与阈值比较之后)我们具有面孔(正面或非正面)还是非面孔。接着,如果通过这种匹配已经实际检测出面孔,我们可以与姿态模板进行第二个模板匹配,该匹配此时会产生非正面似然度分数。与前面的面孔分数相比,这种最终姿态分数在非正面和正面面孔之间具有良好的差异性。
于是,分层模板方法易于寻找用户独立性较低的阈值,使得我们可以通过简单的面孔寻找分数阈值限定来解决问题。分层模板匹配方法的一个优点是非面孔(即可能被面孔模板匹配错误检测为面孔的非面孔)的姿态分数(即姿态模板匹配提供的分数)极低,这有助于丢弃非面孔。
根据剪裁方法或分层模板匹配方法的结果,模块420(图4)输出一或多个正面姿态存在估测。这些估测(可以包含根据模块418和420计算的FLD和DFFS参数)表示在所考虑的视频帧中是否检测出具有正面姿态的面孔。如下所述,这些估测和模块414中提取的音频特征向量A,以及可视语音特征提取器模块422中提取的可视语音特征向量V一起被事件检测模块428使用。
现在回到图4,可视语音特征提取器422从主动发话人面孔检测器418在视频帧中检测的面孔提取如图4中字母V所示的可视语音特征向量(例如与嘴部或嘴唇相关的参数)。
可以提取的可视语音特征的例子是嘴部区域的灰度级参数;基于几何/模型的参数,例如嘴部区域的面积、高度、宽度;通过曲线拟合所达到的嘴唇轮廓;内部/外部轮廓的齿条(spline)参数;和通过3维跟踪获得的运动参数。可以通过模块422提取的另一个特征集合考虑到上述因素。这种技术被称作主动形状模拟,并且在IainMatthews,"音频可视语音识别特征(Features for audio visualspeech recognition)",博士论文,School of Information Systems,University of East Angalia,1998年1月中被描述。
于是,虽然可视语音特征提取器422可以实现一或多个已知的可视特征提取技术,然而在一个实施例中,提取器提取与图像的嘴部区域相关的灰度级参数。在提供唇角位置的情况下,当比例规格化和旋转之后,含有位于矩形中心的嘴唇区域的矩形区域被从初始解压缩视频帧中提取出来。众所周知,主要分量分析(PCA)可以被用来从这种灰度比例数值向量中提取具有较小维数的向量。
可以在模块422中实现的另一个提取可视特征向量的方法可以包含提取几何特征。这需要从嘴唇轮廓的几何形状及其时间动态特性中提取拼音/视位(visemic)信息。典型参数可以是嘴角,开口的高度或面积,内部和外部嘴唇的曲率。发声部位(例如牙齿和舌头)的位置也可以是特征参数,直到它们可被照相机辨别。
从灰度比例数值提取这些参数的方法可以涉及函数(例如成本函数)的最小化,所述函数描述与参数数值相关的嘴唇轮廓和灰度比例图像之间的失配。色彩信息可以被用来提取这些参数。
对捕捉(或多路分解和解压缩)的视频流进行边界检测,最终结果是参数化轮廓,例如圆圈、抛物线、椭圆或更通常的齿条轮廓,每种轮廓均可通过有限参数集合描述。
可以提取的其它特征包含基于2维或3维线框模型的技术,这种技术用于计算机图形学的动画制作。线框可以包括大量三角贴片。这些贴片共同提供嘴部/嘴唇/下颚区域的结构表示,各个贴片均含有可用于语音读取的特征。这些参数也可以和图像的灰度比例数值结合使用,以便从两个方案的相对优点中得到益处。
接着在块424中相对检测模块420产生的正面姿态估测对提取的可视语音特征向量进行规格化。规格化的可视语音特征向量接着被提供到概率模块426。类似于音频信息路径中的用一或多个音素标记声音特征向量的概率模块416,概率模块426用一或多个预先存储的音素标记提取的可视语音向量。并且,与一或多个可视语音特征向量相关的每个音素具有与其相关的概率,此概率指示音素是在所考虑的视频段中说出的特定声音单元的似然度。于是,概率模块以概率形式产生每个所考虑的音素的似然度分数,其中所述概率是指对于指定的特定音素或声音单元(au),声音单元代表以一或多个可视语音特征向量V为特征的发出语音的概率,即P(V|声音单元)。可选地,可以用视位(viseme)标记可视语音特征向量,如上所述,视位是伴随语音发声的可视音素或典型嘴部形状。
接着,模块416和426产生的概率被A,V概率模块430联合使用。在模块430中,根据置信度测量432组合来自模块416和426的相应概率。置信度估测是指针对识别输入确定的似然度或其它置信度测量。最近,已经开始投入力量开发适用于识别语音的置信度测量。例如,在NIST和DARPA于1996年4月29日-5月1日在MITAGS,MD组织的LVCSR Hub5研讨会中,建议了为每个单词附上置信水平的不同方案。第一个方法使用了通过单词相关特性(训练发声量,最小和平均三音出现率,语言模型训练中的出现率,音素/词素(lefeme)数量,时长,声学评分(更快匹配和更细匹配),语音或非语音),句相关特性(信噪比,发声速率估测每秒内单词、辅音或元音的数量,语言模型提供的句子似然度,语言模型中的三字母组出现率),上下文特征中的单词(语言模型中的三字母组出现率)以及发话人分布特征(口音,方言,性别,年龄,发声速率,身份,音频质量,信噪比,等等)训练出的决策树。针对决策树的每个叶上的训练数据计算误差概率。例如在Breiman等人,"分类和回归树(Classification and regressiontrees)",Chapman&Hal,1993中描述了建立这种决策树的算法。在进行识别时,在识别期间并且针对每个单词测量所有或某些这样的特征,决策树前进到一个提供某个置信水平的叶子。在C.Neti,S.Roukos和E.Eide,标题为"作为语音识别中堆栈搜索参考的、基于单词的置信度测量",ICASSP97,慕尼黑,德国,1997年4月这一参考文献中,描述了一个完全依赖一个IBM堆栈解码器返回的评分的方法(使用对数-似然度-实际平均增量对数-似然度,详细匹配,快速匹配)。在LVCSR会议录中,提供了另一个使用预测值通过线性回归估测置信水平的方法。使用的预测值是单词时长,语言模型评分,每个帧的平均声学评分(最优评分)和与顶端选择具有相同单词的N-Best列表的部分。
本实施例最好提供这两个方案(通过决策树和线性预测值测量的置信水平)的组合以便系统地在不仅限于语音识别的任何转换过程中提取置信水平。在美国专利5,937,383"包含用于快速单词接受或拒绝的个人或发话人类别相关解码历史记录缓存器的语音识别设备和方法(Apparatus and Methods for Speech Recognition IncludingIndividual or Speaker Class Dependent Decoding History Caches forFast Word Acceptance or Rejection)"中公开了另一个检测错误识别的单词的方法,这里参考引用了所述公开内容。
于是,根据置信度测量,概率模块430决定更加依赖哪个概率,即来自可视信息路径的概率或来自音频信息路径的概率。可以按照下面的方式进行这种确定w1vP+w2αP(2)应当理解,vP表示与可视信息相关的概率,αP表示与对应音频信息相关的概率,并且w1和w2表示相应权重。于是,模块430根据置信度测量432为概率分配适当权重。例如,如果周围的环境噪声水平特别高,即导致较低的声音置信度测量,则声音解码路径产生的概率更可能含有错误。于是,模块430为w2分配的权重低于为w1分配的权重,从而更加依赖于来自可视路径的解码信息。然而如果噪声水平较低并且声音置信度测量相对较高,则模块可以将w2设置成高于w1。可选地,可以使用可视置信度测量。应当理解,模块430中对可视信息和音频信息的第一联合使用被称作判决或分数联合。可选实施例实现了在上述美国专利申请09/369,707(attorney docket no.YO999-317)中描述的特征联合。
接着,在具有语言模型(LM)的搜寻模块434中根据从模块430接收的加权概率进行搜寻。也就是说,被识别成具有最高概率(表示任意内容视频中发出的声音的概率)的声音单元被组合在一起以构成单词。搜索引擎434输出单词以作为解码系统输出。可以使用传统搜索引擎。如上所述,这个输出被提供到图1的对话管理器18以用于澄清用户意图。
在一个最优实施例中,图4的音频-可视语音识别模块还包含事件检测模块428。如上所述,传统语音识别系统的一个问题是不能区别外部声频活动(例如不准备解码的背景噪声或背景语音)和准备解码的语音。这导致诸如系统未触发和"无意义"识别的问题。根据各种实施例,模块可以使用仅来自视频路径的信息,仅来自音频路径的信息,或同时来自两个路径的信息来决定是否解码信息。这由事件检测模块428完成。应当理解,"事件检测"是指确定准备解码的实际语音事件是否正在发生或将要发生。根据事件检测模块的输出,可以使能/禁止话筒406或搜索引擎434。注意,如果没有检测出面孔,则音频可以被用来进行判决。
现在参照图5C,其中示出了使用仅来自视频路径的信息进行检测判决的图解事件检测方法。为了进行这个确定,事件检测模块428从正面姿态检测器420,可视特征提取器424(通过姿态规格化模块426)和音频特征提取器414接收输入。
首先在步骤510,检测被识别为"非正面"的面孔上的任何嘴部张开。如上面针对模块418和420所详细描述的,这个检测基于与检测的正面面孔相关的面部特征的跟踪。如果检测出嘴部张开或某些嘴部运动,在步骤512打开话筒406。一旦话筒被打开,任何从中接收的信号被存储在缓冲区中(步骤514)。接着,对与缓冲信号相关的嘴部运动进行嘴部张开模式识别(例如周期性),以确定缓冲内容事实上是否语音(步骤516)。通过将可视语音特征向量与预先存储的符合语音的可视语音模式相比较来进行这种确定。如果在步骤518将缓冲数据标记为语音,则通过声音路径发送缓冲数据,使得可以在步骤520识别缓冲数据,从而产生解码输出。针对缓冲数据的各个后续部分重复该过程,直到没有检测到更多的嘴部张开。在这种情况下,话筒被关闭。应当理解,图5C描述了可视信息(例如嘴部张开)如何被用来决定是否解码输入音频信号的一个例子。根据是否检测出语音事件,事件检测模块可以交替地控制搜寻模块434,例如打开或关闭。于是,事件检测模块通常是一个决定话筒捕捉的输入信号是否提供语音的音频和对应视频信息,或决定P(语音|A,V)的模块。
还应当理解,可以只使用音频路径信息执行事件检测方法。在这种情况下,事件检测模块428可以执行一或多个基于纯语音的检测方法,例如信号能量级检测(例如是高于指定水平的音频信号);信号零交叉检测(例如有足够高的零交叉);在以下文献中描述的语音活动检测(非稳态频谱)例如N.R.Garner等人,"用于语音识别和增强的健壮噪声检测(Robust noise detection for speech recognitionand enhancement)",Electronics letters,1997年2月,vol.33,no.4,pp.270-271;D.K.Freeman等人,"全欧洲数字移动电话服务的语音活动检测器(The voice activity detector of the pan-Europeandigital mobile telephone service)",IEEE 1989,CH2673-2;N.R.Garner,不利移动电话声音环境中的语音检测(Speech detection inadverse mobile telephony acoustic environments)",SpeechCommunications;B.S Atal等人,"应用于语音识别的语音-无语音-静音分类的模式识别方案(A pattern recognition approach to voiced-unvoiced-silence classification with applications to speechrecognition)"IEEE Trans.Acoustic,Speech and Signal Processing,vol.ASSP-24 n3,1976。还参见L.R.Rabiner,"语音信号的数字处理(Digital processing of speech signals)",Prentice-hall,1978。
现在参照图5D,其中示出了同时使用来自视频路径和音频路径的信息进行检测判决的图解事件检测方法。流程解了非监视发声验证方法,在1999年8月6日提交的美国专利申请09/369,706(attorney docket no.YO999-317),"音频-可视发话人识别和发声检验的方法和装置"中也描述了这种方法,这里参考引用了所述公开内容。在非监视模式中,当文字(脚本)已知并且可用于系统时,执行发声验证。
于是在步骤522,通过典型的语音识别技术可以对要验证的发出语音进行解码,使得解码脚本和相关时间调整(alignment)可用。使用来自声音特征提取器414的特征数据完成此步骤。同时在步骤524,来自可视特征提取器422的可视语音特征向量被用来产生可视音素(视位)序列。
接着在步骤526,使脚本与视位对准。可以通过传统方式执行快速(或其它)对准,以便尝试同步2个信息流。例如在一个实施例中,可以使用在美国专利申请09/015,150(docket no.YO997-386),"用于根据登记发声产生拼音转录的设备和方法"中公开的快速对准,这里参考引用了所述公开内容。接着在步骤528计算对准的似然度,以确定脚本与可视数据对准的良好程度。接着在步骤530使用似然度结果决定实际语音事件是否发生或正在发生,以及是否需要识别路径中的信息。
图4的音频-可视语音识别模块可以应用在事件检测模块428中描述的2个或所有3个方案的组合以执行事件检测。可以使用仅仅基于视频信息的检测,使得模块可以检测背景噪声何时对于纯语音判决显得过高。当在没有可视面孔出现的情况下出现语音时,可以使用纯音频方案。当可通过正确姿态检测面孔以改进声音判决时,非监视发声验证提供的组合方案改进了判决过程。
除了最小化或消除识别引擎未触发和/或"无意义"识别之外,事件检测方法良好地模拟了背景噪声,也就是说,当没有检测出语音时,检测到静音。并且对于嵌入式应用,这种事件检测提供额外的优点。例如,与嵌入设备相关的CPU可以侧重于其它任务,而不是必须在语音检测模式下运行。并且,由于当没有语音出现时可以关闭语音识别引擎和相关部件,实现了节电。这个语音检测方法的其它一般应用包含(i)在基于交通工具的语音检测或噪声环境中用于可见电磁频谱图像或非可见电磁频谱图像(例如远红外)照相机;(ii)在听众中进行发话人检测以聚焦本地或阵列话筒;(iii)新闻广播或电视会议中的发话人识别(如docket no.为YO999-318的美国专利申请中所述)和标记。根据这里描述的发明,本领域的普通技术人员会考虑到其它应用。
应当理解,图4的音频-可视语音识别模块可以使用如美国专利申请09/369,707(attorney docket no.YO999-317)中所述的音频-可视语音检测和识别的可选实施例。例如,虽然图4的实施例图解了判决或分数联合方案,然而模块可以使用如美国专利申请09/369,707(attorney docket no.YO999-317)中描述的特征联合方案和/或顺序重新评分方案。
B.音频-可视发话人识别现在参照图6,模块解了音频-可视发话人识别模块的优选实施例,音频-可视发话人识别模块可以被用作图1的识别模块中的一个,以便使用根据本发明接收的多模式输入数据执行发话人识别。应当理解,在1999年8月6日提交的美国专利申请09/369,706(attorneydocket no.YO999-318),"音频-可视发话人识别和发声验证的方法和装置"中公开了这种音频-可视发话人识别模块。下面在这个部分中提供用于本发明的多模式会话计算系统的优选实施例的这种音频-可视发话人识别模块的一个实施例的描述。然而应当理解,可以使用其它机构来执行发话人识别。
图6示出的音频-可视发话人识别和发声验证模块使用了判决联合方案。类似于图4的音频-可视语音识别模块,图6的发话人识别模块可以通过I/O管理器14从照相机604接收相同类型的任意内容视频,并且从话筒606接收音频。虽然图6和图4中的照相机和话筒具有不同的附图标记,然而应当理解,它们可以是相同的照相机和话筒。
罗马数字I表示的虚线代表音频信息信号在模块内采取的处理路径,而罗马数字II表示的虚线代表视频信息信号在模块内采取的处理路径。首先讨论音频信号路径I,接着讨论视频信号路径II,随后说明如何组合两种信息以改进发话人识别精度。
模块包含听觉特征提取器614。特征提取器614接收音频或语音信号,并且如本领域中所知的,按照规则间隔从信号提取频谱特征。频谱特征具有声音特征向量(信号)形式,并且接着被传递到音频发话人识别模块616。在提取声音向量之前,按照16千赫(kHz)的速率采样语音信号。帧可以包括具有25毫秒时长的语音段。在这种方案中,提取过程最好通过下述处理产生24维空间声音倒谱向量。每次将帧提前10毫秒以获得后继声音向量。当然,可以使用其它前端。
首先,根据优选声音特征提取过程,按照对数扭曲频率比例衡量帧中语音数据样本的离散富立叶变换的量级。接着,将这些幅值本身转换到对数比例。后2个步骤受人类听觉对频率和振幅的对数灵敏度的推动。随后进行离散余弦变换形式的旋转。一个捕捉动态的方式是使用增量(一阶差分)和增量-增量(二阶差分)信息。一个捕捉动态信息的可选可选是将一组(例如4个)前后向量附加到有关向量后面,并且接着将该向量投影到较低维度的空间,该空间被选择成具有最强鉴别能力。后一种过程被称作线性判别分析(LDA),并且在本领域是众所周知的。应当理解,可以使用其它特征差异,例如LPC倒谱,PLP等等,并且本发明不局限于任何特定类型。
在图6中字母A表示的声音特征向量被提取之后,它们被提供到音频发话人识别模块616。应当理解,模块616可以使用提取的声音特征向量执行发话人识别和/或发话人验证。可以通过任何传统的声音信息发话人识别系统完成发话人识别和验证的过程。例如,发话人识别模块616可以实现在1997年1月28日提交的美国专利申请08/788,471,"用于透明命令歧义解析和连续访问控制的文字独立发话人识别"中描述的识别技术,这里参考引用了所述公开内容。
现在描述用于模块616的图解发话人识别过程。在H.Beigi,S.H.Maes,U.V.Chaudari和J.S.Sorenson的"基于IBM模型和逐帧的发话人识别(IBM model-based and frame-by-frame speakerrecognition)",Speaker Recognition and its Commercial and ForensicApplications,Avignon,France 1998中公开了图解系统。图解的发话人识别系统可以使用2个技术基于模型的方案和基于帧的方案。在这里描述的例子中,我们使用基于帧的方案根据音频进行发话人识别。可以按照下面的方式描述基于帧的方案。
令Mi是对应于第i个加入的发话人的模型。由通过参数集合{μi,j,Σi,j,Pi,j}j=1,...ni]]>定义的混合高斯模型表示Mi包括均值向量,协方差矩阵和发话人i的模型的ni个分量的每个的混合权重。使用训练数据产生这些模型,所述训练数据包括具有d维倒谱特征向量{fm}m=1,...K的K个语音帧的序列。发话人识别的目标是寻找模型Mi,该模型最优解释N帧序列{fn}n=1,...N表示的测试数据。在进行判决时,我们使用以下基于帧的加权似然度距离测量di,ndi,n=-log[Σj=1niPi,jP(fn|μi,j,Σi,j)]]]>接着得到模型Mi与测试数据的总距离Di,以作为所有测试帧上距离的和数Di=Σn=1Ndi,n]]>
于是,上述方案寻找最紧密匹配的模型,并且模型所表示的人被确定为其发声正被处理的人。
然而可以通过类似方式执行发话人验证,比较输入声音数据以确定数据是否足够紧密地与存储的模型匹配。如果比较产生足够紧密的匹配,则验证了发出语音的人。通过比较与竞争模型的匹配来接受或拒绝匹配。这些模型可以被选定为类似于原发话人(claimantspeaker)或发话人无关的(即单个或一组发话人无关模型)。如果原发话人胜出并且以足够余量(根据似然度水平或相对模型的距离计算出的)胜出,我们接受原发话人。否则拒绝原发话人。应当理解,在加入时,针对发话人收集输入语音以建立表征每个发话人的混合高斯模型Mi。
现在参照图6的视频信号路径II,现在说明处理可视信息的方法。音频-可视发话人识别和发声验证模块包含主动发话人面孔分段模块620和面孔识别模块624。主动发话人面孔分段模块620从照相机604接收视频输入。应当理解,也可以直接在压缩数据域执行发话人面孔检测,并且/或者根据音频和视频信息而不是仅仅根据视频信息来执行。总之,分段模块620通常在任意视频背景内定位和跟踪发话人面孔和面部特征。下面会对此进行详细说明。根据来自分段模块622的数据,识别模块624可以执行识别和/或验证操作以便识别和/或验证假定为视频中发话人的个人的面孔。也可以通过加入分数阈值限定或竞争模型来执行验证。于是,可视模式的发话人识别被实现成面孔识别系统,其中在视频序列中寻找和跟踪面孔,并且通过与候选面孔模板数据库相比较来识别面孔。如下所述,发声验证提供一种验证此人实际发出被用来对其进行识别的语音的技术。
可以通过各种方式执行面孔检测和识别。例如,在使用红外照相机604的实施例中,如Francine J.Prokoski和Robert R.Riedel,"面孔和身体部分的红外识别(Infrared Identification of Faces andBody Parts)",BIOMETRICS,Personal Identification in NetworkedSociety,Kluwer Academic Publishers,1999中所述,可以执行面孔检测和识别。在一个最优实施例中,使用在Andrew Senior,"用于面孔识别系统的面孔和特征寻找(Face and feature finding for facerecognition system)",2nd Int.Conf.On Audio-Video basedBiometric Person Authentication,Washington DC,1999年3月中描述的技术。以下是分别由分段模块622和识别模块624执行的面孔检测和识别的图解描述。
面孔检测面孔在视频帧中可以按照各种比例、位置和取向出现。在这个系统中,我们假设面孔接近垂直,并且没有低于66象素的面孔。然而,为了在所有其余位置和比例上对面孔进行测试,系统在图像金字塔中搜寻固定尺寸模板。通过重复下降采样初始图像以提供分辨率逐渐降低的初始帧表示,构造图像金字塔。在所有这些子图像内,我们将与面孔模板具有相同尺寸(通常为11×11象素)的所有正方形区域视作候选面孔位置。测试序列被用来测试区域是否含有面孔。
首先,区域必须含有最高比例的肤色象素,并且将候选区域的亮度与训练面孔模型相比较。落入预定色相-色度-亮度空间的立方体的象素被认为是肤色,并且肤色象素的比例必须超过进一步考虑的候选区域的阈值。
面孔模型基于裁剪、规格化、灰度级面孔图像的训练集合。收集这些面孔的统计数据,并且根据这些统计数据训练各种分类器。人们找到使用线性程序训练的Fisher线性判别(FLD)以区分面孔和背景图像,并且如M.Turk和A.Pentland,"用于识别的本征面孔(Eigenfaces for Recognition)",Journal of Cognitive NeuroScience,vol.3,no.1,pp.71-86,1991中描述的"面孔空间距离"(DFFS),被用来对第一方法给出高分数的面孔的质量评分。来自这些面孔检测器的高组合分数表明候选区域实际上是面孔。还测试相对高得分面孔候选具有较小比例、位置和旋转扰动的候选面孔区域,并且选择扰动中具有最大得分的候选,从而改进这3个参数的估测。
在后续帧中,通过使用速度估测预测新面孔位置来跟踪面孔,并且模型被用来在接近具有类似比例和旋转的预测位置的候选区域中搜寻面孔。低得分被解释为跟踪失败,并且算法再次开始进行详尽的搜寻。
面孔识别当找到面孔时,使用用于面孔检测的相同技术(FLD和DFFS)找到K个面部特征。使用分层方案寻找特征,其中诸如眼睛、鼻子和嘴部的大比例特征首先被找到,接着相对这些特征找到子特征。使用29个子特征,包含发际、下巴、耳朵和嘴角、鼻子、眼睛和眉毛。当前统计数据被用来限制各个特征和子特征相对面孔和特征位置的搜寻区域。在各个估测的子特征位置上,产生Gabor Jet表示,参见L.Wiskott和C.von der Malsburg的"通过动态链接匹配识别面孔(Recognizing Faces by Dynamic Link Matching)",Proceedings ofthe International Conference on Artificial Neural Networks,pp.347-352,1995。Gabor jet是一组二维Gabor滤波器-每个均经过高斯正弦波调制。每个滤波器具有定标(正弦波长和具有固定比率的高斯标准偏差)和取向(正弦波)。我们使用5个定标和8个取向,从而在每个特征位置上提供40个复系数(α(j),j=1,...,40)。
简单距离度量被用来计算训练面孔和测试候选的特征向量之间的距离。特征k的第i个训练候选和测试候选之间的距离被定义成Sik=Σjα(j)αi(j)Σjα(j)2Σjαi(j)2]]>这些相似性的简单平均值Si=1/KΣ1kSik]]>提供了测试面孔与数据库中面孔模板的相似性的总体测量。因此,根据相似性测量,进行所考虑的视频序列中的个人的识别和/或验证。
接着,面孔识别模块624和音频发话人识别模块616的结果被提供到相应置信度估测模块626和618,其中执行置信度估测。置信度估测是指针对识别输入确定的似然度或其它置信度测量。在一个实施例中,置信度估测过程可以包含测量分别与音频信号和视频信号相关的噪声水平。可以针对系统在内部或外部测量这些水平。与信号相关的高噪声水平通常意味着与该信号相关的识别结果的置信度较低。因此如下所述,在可视和声音结果的加权期间考虑这些置信度测量。
在由相应模块616和624提供基于音频的发话人识别和面孔识别分数的情况下,如下所述,通过联合识别/验证模块630可以执行音频-可视发话人识别/验证。根据基于音频和视频的识别技术产生前N个分数。通过加权和数组合2个列表,并且选择具有最优得分的候选。由于权重只需要被定义成不超过比例系数,我们可以将组合分数Siαv定义成单个参数α的函数Siαv=cosαDi+sinαSi]]>必须根据音频识别和面孔识别的相对可靠率选择混合角度α。其一个实现方式是优化α,以便使某些训练数据上的音频-可视精度最大。令Di(n)和Si(n)表示在第n个训练选段上计算的第i个加入发话人(i=1...P)的音频ID(识别)和视频ID分数。当第n个片段属于第i个发话人时,将变量Ti(n)定义成零,否则定义成1。被最小化的成本函数是经验误差,如V.N.Vapnik,"统计学习理论的本质(The Nature ofStatistical Learning Theory)",Springer,1995,该函数可以被写成C(α)=1NΣn=1NTi^(n)]]>其中i^=argmaxiSiαv(n)]]>其中Siαv(n)=cosαDi(n)+sinαSi(n)]]>为了防止过拟合,也可以借助于平滑的差错率,如H.Ney,"神经网络分类和判别训练条件的概率性解释(On the ProbabilisticInterpretation of Neural Network Classification and DiscriminativeTraining Criteria)",IEEE Transactions on Pattern Analysis andMachine Intelligence,vol.17,no.2,pp.107-119,1995,差错率被定义为C′(α)=1NΣn=1NΣiTi(n)expηSiαv(n)Σj=1PexpηSjαv(n)]]>当η较大时,内部和数的所有项逼近零,除了 之外,并且C′(α)逼近原始误差计数C(α)。否则,所有不正确的假设(对于Ti(n)=1)具有一贡献(contribution),该贡献是其分数和最大分数之间的距离的递减函数。如果最优假设不正确,则具有最大贡献。因此,通过最小化后一种成本函数,往往不仅使训练数据的识别精度最大,而且使最优分数胜出的余量最大。这个函数还表现出可区分的优点,这利于当存在不止一个参数时的优化过程。
图6的音频-可视发话人识别模块提供了根据前面技术导出的另一个判决或分数联合技术,但是该技术不需要任何训练。它包括在测试时针对每个片段在指定范围内选择使最高和次最高分数之间的差最大的α数值。接着选择对应的最优假设I(n)。我们具有α^(n)=argmaxα1<α2<α3[maxiSiαv(n)-2ndmaxiSiαv(n)]]]>并且I(n)=argmaxi[cosα^(n)Di(n)+sinα^(n)Si(n)]]]>α1和α2的数值应当被限制在区间 内。这些技术的原理如下所述。在{Di,Si}平面内,期望对应于正确判决的点与其它点相分离。固定线性权重假定可以相对其它点找到这个点的"方向"始终相同,这不必是真实的。上述涉及 和I(n)的等式在α1和α2之间的方向上找到最远离其它点的点。
另一个解释是,最优组合分数和次最优组合分数之间的距离是判决可靠率的指示。方法自适应地选择使该置信度测量最大的权重。
于是,联合识别/验证模块630针对发话人进行判决。在验证的情况下,根据如上所述的一种技术,可以使判决接受发话人,如果他经过声音路径和可视路径的验证。然而,如果他仅仅通过一个路径的验证,则将其拒绝。例如在进行识别的情况下,面孔识别过程的前3个分数可以和来自声音发话人识别过程的前3个分数组合。最高组合分数被识别为发话人。
在一个最优实施例中,当模块对发话人进行最终处置之前,系统执行发声验证操作。应当理解,发声验证模块628(图6)根据来自声音特征提取器614和可视语音特征提取器622的输入执行发声验证。在描述发声验证之前,描述用于提取可视语音特征向量的图解技术。具体地,可视语音特征提取器622从主动发话人面孔分段模块620在视频帧中检测的面孔提取如图6中字母V所示的可视语音特征向量(例如与嘴部或嘴唇相关的参数)。
可以提取的可视语音特征的例子是嘴部区域的灰度比例参数;基于几何/模型的参数,例如嘴部区域的面积、高度、宽度;通过曲线拟合所达到的嘴唇轮廓;内部/外部轮廓的齿条参数;和通过3维跟踪获得的运动参数。可以通过模块622提取的另一个特征集合考虑到上述因素。这种技术被称作主动形状模拟,并且在IainMatthews,"音频可视语音识别特征(Features for audio visualspeech recognition)",博士论文,School of Information Systems,University of East Angalia,1998年1月中被描述。
于是,虽然可视语音特征提取器622可以实现一或多个已知的可视特征提取技术,然而在一个实施例中,提取器提取与图像的嘴部区域相关的灰度级参数。在提供唇角位置的情况下,当比例规格化和旋转之后,含有位于矩形中心的嘴唇区域的矩形区域被从初始解压缩视频帧中提取出来。众所周知,主要分量分析(PCA)可以被用来从这种灰度比例数值向量中提取具有较小维数的向量。
可以在模块622中实现的另一个提取可视特征向量的方法可以包含提取几何特征。这需要从嘴唇轮廓的几何形状及其时间动态特性中提取拼音/视位(visemic)信息。典型参数可以是嘴角,开口的高度或面积,内部和外部嘴唇的曲率。发声部位(例如牙齿和舌头)的位置也可以是特征参数,直到它们可被照相机辨别。
从灰度比例数值提取这些参数的方法可以涉及函数(例如成本函数)的最小化,所述函数描述与参数数值相关的嘴唇轮廓和灰度比例图像之间的失配。色彩信息可以被用来提取这些参数。
对捕捉(或多路分解和解压缩)的视频流进行边界检测,最终结果是参数化轮廓,例如圆圈、抛物线、椭圆或更通常的齿条轮廓,每种轮廓均可通过有限参数集合描述。
可以提取的其它特征包含基于2维或3维线框模型的技术,这种技术用于计算机图形学的动画制作。线框可以包括大量三角贴片。这些贴片共同提供嘴部/嘴唇/下颚区域的结构表示,各个贴片均含有可用于语音读取的特征。这些参数也可以和图像的灰度比例数值结合使用,以便从两个方案的相对优点中得到益处。
在提供从提取器622提取的可视语音特征向量(V)和从提取器614提取的声音特征向量(A)的情况下,AV发声验证器628执行验证。验证可以包括比较在随机视位序列上对准音频的结果似然度。众所周知,视位或可视音素通常是伴随语音发声的典型嘴部形状,与声音音素类似地被分类和预先存储。与发声验证相关的目标是确定被用来在音频路径I中验证发话人的语音和被用来在视频路径II中验证发话人的可视提示相关或对准。这允许系统确信被用来识别发话人的语音数据实际是发话人发出的语音。这种确定具有许多优点。例如,通过发声验证可以确定用户嘴唇是否与预先记录的带子(被回放以试图欺骗系统)同步。并且,可以根据发声验证检测音频解码路径中的错误。根据错误数量,系统可以产生和使用置信度测量。
现在参照图7,其中示出了发声验证方法的流程图。可以通过以下方式执行发声验证(i)监视模式,即当文字(脚本)已知并且可用于系统时;或(ii)非监视模式,即当文字(脚本)已知并且可用于系统时。
于是在步骤702A(非监视模式),通过典型的语音识别技术可以对要验证的发出语音进行解码,使得解码脚本和相关时间调整可用。使用来自声音特征提取器614的特征数据完成此步骤。同时在步骤704,来自可视特征提取器622的可视语音特征向量被用来产生可视音素或视位序列。
接着在步骤706,使脚本与视位对准。可以通过传统方式执行快速(或其它)对准,以便尝试同步2个信息流。例如在一个实施例中,可以使用在美国专利申请09/015,150(docket no.YO997-386),"用于根据登记发声产生拼音转录的设备和方法"中公开的快速对准,这里参考引用了所述公开内容。注意,在监视模式中,步骤702B替代步骤702A,使得在步骤706期望或已知脚本与视位对准,而不是脚本的解码版本与视位对准。接着在步骤708计算对准的似然度,以确定脚本与可视数据对准的良好程度。接着向判决块632提供似然度结果,判决块632结合分数模块630的结果决定对发话人的最终处置,例如接受或拒绝。这可以被用来允许或拒绝对各种设备、应用、设施等等的访问。
所以,在非监视发声验证模式中,系统能够检查用户是实际上的发话人,而不是使用回放设备并且活动其嘴唇。
并且,可以先验地(a priori)检测音频解码中的错误。在监视模式中,如果识别的文字与提取的嘴唇参数足够对准或相关,系统能够证明该用户说出该文字。
应当理解,非监视模式中的发声验证可用于执行如上述美国专利申请09/369,707(attorney docket no.YO999-317)中公开的语音检测。实际上,如果检测出声音和可视活动,可以彼此针对地对其进行验证。当接受所得到的发声时,系统认为检测出语音。否则认为出现外部活动。
应当理解,图6的音频-可视发话人识别模块可以使用如美国专利申请09/369,706(attorney docket no.YO999-318)中所述的音频-可视发话人识别的可选实施例。例如,虽然图6的实施例图解了判决或分数联合方案,然而模块20可以使用如美国专利申请09/369,706(attorney docket no.YO999-318)中描述的特征联合方案和/或顺序重新评分方案。
还应当理解,图6的音频-可视发话人识别系统的输出被提供到图1的对话管理器18,以用于如上所述的用户意图澄清。
C.会话虚拟机现在参照图8A和8B,模块解了会话虚拟机(CVM)的优选实施例。应当理解,在1999年10月1日提交的PCT国际专利申请US99/22927(attorney docket no.YO999-111),"通过会话虚拟机的会话计算"中公开了这种会话虚拟机。下面在这个部分中提供用于本发明的多模式会话计算系统的优选实施例的这种机器的一个实施例的描述。然而应当理解,可以使用其它用于实现本发明如下所述的会话计算的机构。
应当理解,下面描述的CVM可以被用来提供以下部分的架构图1的I/O子系统12;I/O管理器14;识别引擎16;对话管理器18;和上下文堆栈20。在下面针对CVM的整个描述中,说明了CVM的可以被用来实现图1的这些功能部件的部件。然而,虽然由于其能够实现I/O管理器,模式无关上下文管理器(上下文堆栈),会话管理器当执行歧义消除时),分类器(当确定语气或焦点时),会话管理器运行应用所需的引擎和API/接口,而使得能够使用CVM,但是必须注意,也可以代替使用其它机构实现本发明的多模式会话计算系统的这些功能部件。例如,可以通过执行这些功能的浏览器,OSS(操作系统服务)层,VM(虚拟机),或实现所有这些功能(可能没有明确标识这些部件,而是实现硬编码等价服务)的应用程序来实现本发明的多模式会话计算系统的功能部件。还应当理解,实现可以仅支持语音和视频模式,并且在这种情况下,不需要支持其它模式(例如手写、GUI等等)。
于是,CVM可以被用作实现基于前面针对本发明描述的会话计算模式的会话计算的主要部件。在一个实施例中,CVM是一个运行在常规OS(操作系统)或RTOS(实时操作系统)顶端的会话平台或内核。也可以用PvC(普及计算)客户端以及服务器实现CVM平台,并且CVM平台可以分布在多个系统(客户端和服务器)上。通常,CVM在会话子系统(例如语音识别引擎,文本-语音等等)与会话和/或常规应用之间提供会话API(应用编程接口)和协议。CVM也可以通过有更多限制的接口为现有应用提供向后兼容。如下所述,CVM提供了会话服务和行为特性以及会话协议,以便与多个同样配备了一个CVM层或至少可以理解会话的应用和设备进行交互。
应当理解,这里描述的不同单元和协议/API是根据其执行的功能或交换的信息来定义的。其实际组织或实现可以发生变化,例如,通过相同或不同的实体来实现,被实现成较大部件的一个部件,或者作为独立实例化的对象或一组这样的对象或类。
一个基于这里描述的会话计算模式的CVM(或操作系统)允许计算机或任何其他交互设备与用户进行交谈。无论一台机器是否有显示器或GUI能力,也无论其是否有任何键盘,输入笔或定点设备,CVM还允许用户在该机器上运行多个任务。实际上,用户可以管理这些类似一个会话的任务并且最终完成一个任务或多个同时执行的任务。为了管理类似一个会话的任务,基于本发明的CVM提供根据混合主动方式,上下文和高层抽象执行其各种功能的能力。混合主动方式或自由流程导航允许用户通过与系统进行会话自然地完成,修改或校正一个请求。混合主动方式还意味着CVM可以积极帮助(主动帮助)并且指导用户完成任务,在语音应用中尤其如此,其中混合主动能力是补充显示能力较弱的系统或具有有限显示能力的系统的自然方式。通常,CVM被用来补充常规接口和用户输入/输出,而不是替代它们。这就"多模式"的概念,其中可以与鼠标,键盘及其他诸如输入笔的输入设备并行地使用如上所述的语音和视频。当设备局限性对某些接口的实现有限制时可以取代常规接口。另外,在设备,对等层次和服务之间形成的接口的普适性和统一性是一个附加的强制特征。应当理解,CVM系统可以大范围地用于具有常规输入和/或输出介质的功能。实际上,利用CVM可以使具有与常规监视显示器相连的典型键盘输入和定点设备的计算机显著受益。在以下文献中描述了一个例子2000年2月18日提交的美国专利申请09/507,526(attorney docketno.YO999-178),"多模式命令解释程序",所述美国专利申请要求1999年4月7提交的美国临时专利申请60/128,081和1999年10月12日提交的美国临时专利申请60/158,777的优先权,这里参考引用了所述公开内容(其中描述了用于构造在GUI模式和语音模式之间具有紧密同步的真实多模式应用的方法)。换句话说,甚至不希望与其计算机交谈的用户也可以使其与CVM机器的交互得到显著的改进。
现在参照图8A,一个模块解了基于优选实施例的CVM系统,其中可以在客户端设备或服务器上实现该系统。对于上述交通工具例子,这意味着系统10的部件可以位于本地(在交通工具中),远端(例如无线连接到交通工具),或本地和远程方式的某种结合。通常,CVM提供统一协调的多模式对话用户界面(CUI)780。CUI的"多模式"特性意味着诸如语音,键盘,输入笔和定点设备(鼠标),小键盘,触摸屏等等的各种I/O资源,以及如上所述的视频可被用于CVM平台。CUI 10的"通用性"特性意味着无论通过一个桌面计算机,具有有限显示能力的PDA还是没有显示能力的电话来实现CVM,CVM系统均为用户提供相同的UI(用户接口)。换句话说,通用性意味着CVM系统可以适当地处理具有从纯语音到多模式,即语音+GUI,并且再到纯GUI的能力的设备的UI。按照本发明,系统可以被扩展成包含视频输入数据。所以,无论访问模式如何,通用CUI为所有用户交互提供相同的UI。
此外,通用CUI的概念扩展到协同CUI的概念。具体地,假定多个设备(在多个计算机对等层次内部或之间)提供相同的CUI,可以通过一个单独的对话-即协同接口管理这些设备。也就是说,当多个设备以会话方式相连(即,彼此知道)时,可以通过其中一个接口(例如单个话筒)同时控制这些设备。例如,语音可以通过统一协同的CUI自动控制以会话方式相连的智能电话,寻呼机,PDA(个人数字助理),网络计算机和IVR(交互式语音响应),以及车载计算机。下面会更详细地解释这些CUI概念。
CVM系统可以运行多个应用,其中包含了解会话的应用782(即用会话协议"交谈"的应用)和常规应用784。了解会话的应用782是被专门编程以便通过针话应用API 786与CVM核心层(或内核)进行操作的应用。通常,CVM内核788根据其登记的会话能力和要求控制应用和设备之间的对话,并且提供统一的CVM用户界面,该界面不单纯是把语音添加成提供会话系统行为特性的I/O模式。CVM系统可以建立在常规OS,API 790和常规设备硬件792的顶端,并且位于服务器或任何客户端设备(PC,PDA,PvC)上面。由CVM内核层788管理常规应用784,其中CVM内核层788负责通过OS API,GUI菜单和常规应用的命令,以及基础OS命令进行访问。The CVM自动处理所有的输入/输出事务,其中包含会话子系统796(即,会话引擎)和常规OS 790的常规子系统(例如,文件系统和常规驱动器)。通常,会话子系统796负责使用适当的数据文件794(例如,上下文,有限状态语法,词汇表,语言模型,符号查询映射等等)把语音请求转换成查询,并且把输出和结果转换成口语消息。会话应用程序API 786传递CVM 788的全部信息以便把查询转换成应用程序调用,反之在输出被提供到用户之前把输出转换成语音并且加以适当的分类。
现在参照图8B,该解了基于优选实施例的CVM的抽象编程层。CVM的抽象层包括可以在CVM顶部运行的了解会话的应用800和传统应用801。依赖多模式歧义消除的应用是这种在CVM顶部执行的会话应用的例子。类似地,使用焦点信息或语气的应用可以被看作是CVM顶部的会话应用。这些应用是被系统执行以便为用户提供其期望在采用系统的环境内进行的交互的程序。如上所述,可理解对话的应用800通过对话应用API层803与CVM内核层802交互。会话应用API层803包括会话编程语言/脚本和库(会话基础类),以便提供CVM内核802开放的各种功能。例如,会话编程语言/脚本提供允许应用开发者专注于(或开发)了解会话的应用800的会话API。它们也提供允许开发者把会话功能融入应用以便使之"了解会话"的会话API层803,会话协议804和系统调用。实现应用,API调用和协议调用的代码包含经过解释和编译的、具有库链接,会话逻辑引擎调用和会话基础类的脚本和程序。
更具体地说,会话应用API层803包括多个会话基础类805(或基础对话部件),通过可以被用来建立CUI或了解会话的应用800的库函数把这些基础类提供给应用开发者。会对话基础类805是独立于模式或模式组合(可以通过过程性或说明性的方式实现)、表征所有对话的基本部件或会话姿态(如T.V.Raman在"听觉用户接口,关于会说话的计算机(Auditory User Interfaces,Toward The SpeakingComputer)",Kluwer Academic Publishers,Boston 1997中描述的)。会话基础类805包括CUI建立模块与会话平台库,对话模块与部件,和对话脚本与小程序(bean)。会话基础类805可以在本地被编译成会话对象806。更具体地说,通过在用诸如Java或C++的程序设计语言调用这些库的代码中综合不同的个体类,从会话基础类805(基础会话部件)编译出会话对象805(或对话部件)。
如上所述,编码包括把这种基础对话部件嵌入到说明性代码中,或者把它们链接到到命令代码中。嵌套调用和嵌入会话基础类805允许为执行特定对话任务或应用而构造(按照说明性方式或通过编译/解释)会话对象806(可重用或不可重用)。注意,CFC(会话基础类)或CML并不是编程CVM的唯一方法。与应用程序API和和协议接口的任何编程语言均是适用的。可以通过说明性的方式实现会话对象806,例如通过由1999年10月1日提交的PCT专利申请PCT/US99/23008 ( attorney docket no.YO999-392),"会话浏览器和会话系统"公开的会话浏览器(或查看器)(800a)处理或加载的CML(会话标记语言)页面(嵌套或不嵌套)。会话对象包括可以通过CML(会话标记语言)页面(通过会话浏览器)加载的applet或对象,CVM顶端的命令对象(可能分布在CVM的顶端),CML中的脚本标签和servlet部件。
可以实现的会话姿态的某些例子如下所述。会话姿态消息被机器用来向用户传递信息类消息。姿态消息通常会被呈现为显示字符串或口语提示。被说出的消息部分可以是在CVM顶端运行的各种应用/对话的当前状态的函数。会话姿态"从集合中选择"被用来封装期待用户从一组离散选项中选择选项的对话。它封装了提示,缺省选择,和合法选项集合。会话姿态"从范围中选择"被用来封装允许用户从一个连续数值范围中选择一个数值的对话。该姿态封装了有效范围,当前选择,和信息性提示。另外,当输入约束更加复杂(或许不存在)时,会话姿态输入被用来获得用户输入。该姿态封装用户提示,关于所请求的信息项的应用级语义,并且可能还包括测试输入有效性的谓词。然而如上所述,会话基础类包含但已超越了会话姿态的概念(即扩展到基本行为和服务以及执行会话任务的规则的层次)。
如下所述,编程模型允许通过会话API在主对话管理器和引擎之间建立连接。应当理解,这种主对话管理器可以被实现成图1的对话管理器18的部分,而引擎会包含图1的一或多个识别引擎。基础类的数据文件,以及任何识别引擎所需的数据(例如语法、声音模型、视频模式等等)存在于CVM上(可针对嵌入平台或客户端平台加载)。可以扩充和加载对象的数据文件。
CVM提供的开发环境在这里被称作SPOKEN AGETM。SpokenAge允许开发者针对CVM建立,模拟和调试了解会话的应用。除了提供API呼叫的直接实现之外,还提供工具以建立具有多种个性化特点,允许用户选择提供输出的语音类型的语音字体,和建立会话呈现、类似于Postcript和AFL(音频格式语言)的会话格式语言的高级会话接口。
如上所述,会话应用API层803包括会话编程语言和脚本,以便提供通用会话输入和输出,会话逻辑和会话元信息交换协议。会话编程语言/脚本允许把任何可用资源用作输入或输出流。通过使用会话引擎808(图1的识别引擎16)和会话数据文件809(由CVM 802通过会话引擎API 807访问),各个输入被转换成二进制或ASCII输入,所述输入可以被编程语言直接处理成内置对象。可以自动包含调用,标志和标签以便在对象之间进行发送,并且处理与不同对象正确接口所需的会话元信息。此外,可以根据应用或用户的需要专门对输出流进行格式化。这些编程工具允许容易地建立多模式对话处理。此外,扩充逻辑语句状态和操作符以适应会话查询的多样性,其中可以根据其ASCII/二进制内容、其经过NLU转换(自然语言理解转换)的查询(常规和会话子系统的输入/输出)或基于FSG的查询(其中系统使用受限制的命令)对查询进行比较。可以实现逻辑操作符以便测试或修改这种系统。所扩充的会话逻辑数值/操作符包含从ASCII码的角度看,有真,假,不完整,歧义,不同/等价,从NLU的角度看,有不同/等价,从活跃查询字段的角度看,有不同/等价,以及未知,不兼容和不可比。
此外,会话应用API层803包括提供基础OS功能和行为的扩展的代码。这种扩展包含高层抽象和与任何对象相关的抽象类别,抽象类别的自登记机制,记录,总结,会话搜寻,选择,重定向,用户定制,训练能力,帮助,多用户和安全能力,以及基础类库。
图8B的会话计算系统还包括在核心引擎会话引擎808(例如语音识别,发话人识别,NL分析,NLU,TTS和语音压缩/解压缩引擎,可视识别)和使用它们的应用之间提供接口的会话引擎API层807。引擎API层807还提供与本地或远程的核心引擎进行通信的协议。I/OAPI层810提供针对诸如键盘,鼠标,触摸屏,小键盘等等的传统I/O资源811的接口(用于提供多模式会话UI),用于捕捉语音I/O(音频入/音频出)的音频子系统,和用于捕捉视频I/O的视频子系统。I/O API层810提供设备抽象、I/O抽象和UI抽象。I/O资源811会通过I/OAPI层810在CVM内核层802上登记。应当理解,I/O API 810可以被实现成图1的I/O管理器14的部分,而I/O资源811可以被实现成图1的I/O子系统12的部分。
核心CVM内核层802包括编程层,例如会话应用和行为/服务管理器层815,会话对话管理器(仲裁器)层819,会话资源管理器层820,任务/分配器管理器821和元信息管理器822,它们提供CVM层802的核心功能。应当理解,这些部件可以被实现成图1的对话管理器18的部分。会话应用和行为/服务管理器层815包括用于管理传统和了解会话的应用800和801的功能。这种管理功能包含例如跟踪哪些应用被登记(本地和网络分布),应用的对话接口(如果有)是哪些,以及各个应用的状态如何。另外,会话应用和服务/行为管理器815启动与CVM系统提供的任何具体服务或行为相关的所有任务。会话服务和行为是用户可以期待在应用和交互中发现的会话UI的所有行为和功能,以及应用开发者可以期待能够通过API访问(在不必通过应用开发来实现的情况下)的功能。CVM内核802提供的会话服务和行为的例子包含但不限于会话分类与元信息,会话对象,资源和文件管理,会话搜寻,会话选择,会话定制,会话安全,会话帮助,会话划分优先权,会话资源管理,输出格式化与呈现,总结,会话延迟动作/代理/记录,会话逻辑和协同接口与设备。由会话应用API层803通过API调用提供这种服务。会话应用和行为/服务管理器215负责执行所有为使UI适应设备,应用的能力与约束和/或用户偏爱所需的所有不同功能。
会话对话管理器819包括管理所有登记应用上的对话(包括语音与诸如GUI键盘,指针,鼠标以及视频输入等等的其它多模式I/O的会话对话)和仲裁(对话管理器仲裁器或DMA)的功能。具体地,会话对话管理器819确定用户具有什么信息,用户提供了什么输入,以及哪个应用应当处理用户输入。DMA使用上下文/历史记录处理抽象I/O事件(由I/O管理器抽象),以便理解用户意图。当抽象事件出现时,DMA确定事件的目标,并且如果需要,寻求确认,歧义消除,校正,更多详细资料等等,直到意图无歧义并且被最终确定。DMA接着启动与用户询问相关的动作。DMA功能处理多模式I/O事件以便(1)确定目标应用或对话(或其部分);和(2)使用以往历史记录和上下文以便(a)理解用户意图;(b)跟踪对话以澄清,完成,校正或确认理解;(c)分配根据对用户意图的充分理解所得到的任务。
会话资源管理器820确定登记哪个会话引擎808(本地对话808和/或网络分布式资源),各个登记资源的能力和各个登记资源的状态。另外,会话资源管理器820划分CPU周期分配或输入/输出的优先权,以便保持一个正在与活跃应用(例如,用于识别或处理具有优先权的当前输入或输出的引擎)进行的通畅会话。类似地,对于分布式应用,它路由并选择被用来使活跃前台处理的任何网络延迟最小化的引擎和网络路径。
任务调度器/管理器821分配并协同分散(由用户和机器)在本地与联网的常规和会话资源上的不同任务和进程。元信息管理822通过元信息注册表818管理与系统相关的元信息。元信息管理器822和注册表818收集通常假定在会话交互中已知但在当前会话的层次上得不到的全部信息。例子是先验知识,文化,教育假设和永久信息,以往请求,参考,关于用户的信息,应用,新闻等等。这些信息通常是需要保存并保持超过会话历史记录/上下文的存在时间长度/寿命的信息,和期待成为会话的公共知识的信息,因而这些信息从未在当前和过去的会话交互期间被定义。并且,针对命令,资源和宏等等的快捷方式由元信息管理器822管理,并且被存储在元信息注册表818中。另外,元信息注册表818包含基于用户身份的用户使用记录。应当理解,根据存储在元信息注册表818中并且与应用相关的用户使用历史记录,可以定制CVM系统提供的诸如会话帮助和支持的服务,以及某些对话提示(介绍,提问,反馈等等)。如果用户以前已经与指定应用进行交互,则在假定用户已经对其熟悉的情况下可以减少解释。类似地,如果用户犯了许多错误,由于多个错误被解释成用户对应用或功能不确定,不熟悉或不理解/误解,所以解释可以更加复杂。
上下文堆栈817由对话管理器819,并且可能还通过与会话管理器和仲裁器交互的上下文管理器来管理。应当理解,上下文堆栈817可以被实现成图1的上下文堆栈20的部分。上下文堆栈817包括有关应用的全部信息。这种信息包含所有针对在对话的上下文环境中执行的后台程序和任何在对话期间发生的外部事件的变量,状态,输入,输出和查询。上下文堆栈与对应于各个活跃对话(或延迟对话-代理/记录)、经过组织/分类的上下文相关。全局历史记录816被包含在CVM系统中,其中包含被存储在各个应用的上下文之外的信息。全局历史记录存储与所有应用和在会话对话期间采取的动作相关的信息(即,当前会话的用户和机器之间的对话的历史记录,或从机器被启动开始的历史记录)。
CVM内核层802还包括允许通过对话管理器819(而不是绕过对话管理器819)访问后端业务逻辑813的后端抽象层823。这允许将这种访问加到上下文堆栈817和全局历史记录816上。例如,后端抽象层823可以把针对对话管理器819的输入和输出转换成数据库查询。这个层823会把标准化属性值n元组转换成数据库查询,并且把查询结果转换成返回给对话管理器819的属性值n元组的表格或集合。另外,提供会话代码转换层824,以便根据运行CVM系统的设备的I/O和引擎能力修改呈现给用户的行为,UI和对话。
CVM系统还包括作为OS 812提供的基础系统服务的一部分的通信堆栈814(或通信引擎)。CVM系统使用通信堆栈通过会话协议804发送信息,其中会话协议804扩展常规通信服务以便提供会话通信。应当理解,可以结合众所周知的OSI(开放系统互联)协议层实现通信堆栈814,以便在会话设备之间提供会话通信交换。如本领域中所知的,OSI包括七个层,其中每个层执行各自的功能以便在网络连接设备的网络分布式会话应用之间提供通信。这些层(其功能是易理解的)包括应用层,表示层,会话层,传送层,网络层,数据链接层和物理层。通过会话协议804扩展应用层以便允许会话通信。
会话协议804通常允许远程应用和资源登记其会话能力和代理。在1999年10月1日提交的PCT专利申请PCT/US99/22925(attorneydocket no.YO999-113),"用于提供联网协同会话服务的系统和方法"中进一步公开了这些会话协议804,这里参考引用了该申请(其中在不使用CVM系统的系统中使用会话协议)。
应当理解,虽然图1的多模式会话计算系统10的优选实施例可以实现结合图8A和8B描述的基于CVM的系统,然而如上述PCT专利申请PCT/US99/23008(attorney docket no.YO998-392)所述,多模式会话计算系统10可以被实现成"会话浏览器"。通过这里提供的指导,本领域的普通技术人员会得到各种其它实现本发明的多模式会话计算系统的方式。
D.会话数据挖掘现在参照图9A和9B,模块解了相应会话数据挖掘系统的优选实施例。应当理解,在1999年8月10日提交的美国专利申请09/371,400(attorney docket no.YO999-227),"会话数据挖掘"中公开了这种会话数据挖掘系统,这里参考引用该申请。在下面这个部分中提供了对这种系统的描述,其中一个系统可以被用来实现图1的语气/焦点分类器模块22。然而应当理解,可以使用其它用于实现本发明的语气分类和焦点检测的机构。
虽然可以根据对话管理器18(图1)并且结合歧义解析来执行焦点检测,然而最好根据语气/焦点分类器22(图1)执行焦点检测,正面会描述其实现。应当理解,通过方式与确定语气或用户分类相同的分类和数据挖掘(如下所述)可以确定焦点,即用户的姿态和活动/动作被用来随机确定最可能的焦点项和焦点状态。
图9A和9B被用来概括描述可以被用于针对基于语音的事件数据的语气/焦点分类器22(图1)的语气/焦点分类技术。然而在图9C中图解了包含与基于视频的事件数据相关的模式的扩展应用,其中这些分类技术可以容易地应用于多模式输入。
图9A根据本发明描述了用于收集与用户语音相关的数据的设备。设备通常被表示成900。设备包含与用户进行会话的对话管理单元902。应当理解,最好通过图1的I/O管理器14将用户提供的输入数据事件提供到系统900。设备900还包含音频捕捉模块906,音频捕捉模块906被连接到对话管理单元902并且捕捉与用户904在会话期间的发声相关的语音波形。虽然在图9A中为了便于说明而示出,然而音频捕捉单元906可以是图1的I/O子系统12的一部分。在这种情况下,通过I/O管理器14向系统900传递捕捉的输入数据。在这里,会话应当被广泛地理解为包含第一人与第二人,机器或其组合之间的至少包含某种语音的任何交互。并且,根据本发明的多模式系统10的上述指导,语气分类(焦点检测)系统900可以被扩展成以类似方式处理视频。
设备900还包含声音前端908,声音前端908被连接到音频捕捉模块906并且被构造成接收和数字化语音波形,以便提供数字化话音波形。此外,声音前端908还被构造成从数字化话音波形中提取至少一个声音特征,该声音特征与至少一个用户属性相关。至少一个用户属性可以包含以下至少一个用户性别,用户年龄,用户口音,用户母语,用户方言,用户社会经济学分类,用户教育水平,和用户情绪状态。对话管理单元902可以使用从声音前端908获得的诸如MEL倒谱的声音特征,并且可以在必要时与其具有直接连接。
设备900还包含处理模块910,处理模块910被连接到声音前端908并且分析至少一个声音特征以确定至少一个用户属性。此外,设备900包含数据仓库912,数据仓库912被连接到处理模块910,并且以用于在其上进行后续数据挖掘的形式存储至少一个用户属性和至少一个识别标记。这里将在其它地方讨论识别标记。
通过对用户语音的音调进行分类,或者通过简单地对特征进行聚集,可以确定用户性别。在后一种方法中,建立与大集合的指定性别发话人相关的语音印模(print),并且接着用2套模型执行发话人分类。与性别类似地,也可以通过年龄组分类来确定用户年龄。虽然具有有限的可靠性,然而可以按照这种方式分隔较宽的年龄类别,例如儿童,少年,成人和老人。
根据声音特征确定口音是本领域已知的。例如Lincoln等人在1998 International Conference on Spoken Language Processing,Sidney,Australia [此后称为ICSLP′98]发表的文章"口音识别的2个非监视方案的比较(A Comparison of Two Unsupervised Approaches toAccent Identification)"提出了有用的技术。通过与口音分类基本上相同的方式可以确定用户母语。可以加入关于发话人母语的元信息以定义各个口音/母语模型。
也就是说,在创建各个母语的模型时,使用被标记成以该语言为其母语的发话人。Matrouf等人在ICSLP′98上发表的文章"引入词法信息的语言识别(Language Identification Incorporating LexicalInformation)"讨论了各种用于语言识别的技术。
根据口音和特定于指定方言的关键字或成语的用法,可以确定用户方言。例如在法语中,针对数字90选择"nonante"而不是"Quatre Vingt Dix"表明发话人具有比利时或端士血统,而不是法国或加拿大。此外,接着针对数字80选择"quatre-vingt"而不是"octante"或"Huitante"表明此人是比利时而不是端士人。在美国英语中,选择"grocery sack"而不是"grocery bag"表明某人是中西部人,而不是中部大西洋人。中西部美国英语与中部大西洋美国英语的另一个例子是在中西部选择用"pop"表示软饮料,而在中部大西洋区域选择用"soda"表示对应的软饮料。在特定场合下,使用"holiday "而不是"vacation"表明某人是英国人而不是美国人。使用下面讨论的语音识别器126可以执行这里描述的操作。
用户的社会经济学分类可以包含诸如用户人种背景,用户种族背景和用户经济类别的因素,例如蓝领阶层、白领阶层-中产阶层或富裕阶层。通过在训练时注释的口音和方言,并且通过检查用户的单词选择,可以进行这种确定。虽然仅仅有一定的可靠性,然而相信这些技术会提供足够的用户背景信息以用于数据挖掘。
按照类似于社会经济学分类的方式通过单词选择和口音可以确定用户的教育水平;并且,虽然只期望具有一定的可靠性,然而足够用于数据挖掘目的。
根据声音特征确定用户情绪状态的技术是本领域众所周知的。可以识别的情绪类别包含极度愤怒、愤怒、惊慌、恐惧、忧虑、悲哀、得意、失望、快乐、关心、厌倦、羞耻、轻视、困惑、厌恶和自豪。在下面文章中提出了根据相关声音特征确定情绪状态的示例性方法Pereira和Watson的"情绪的某些声音特征(Some AcousticCharacteristics of Emotion)",Amir和Ron的"语音中情绪的自动分类(Towards an Automatic Classification of Emotions in Speech)",和Whiteside的"模拟情绪语音的声学研究和扰动测量(SimulatedEmotionsAn Acoustic Study of Voice and PerturbationMeasures)",所有的文章均在ICSLP′98上发表。
音频捕捉模块906可以包含例如模数转换器板、交互式语音应答系统和话筒中的至少一个。对话管理单元902可以包含电话交互式语音应答系统,例如被用来实现音频捕捉的相同设备。可选地,对话管理单元可以仅仅是针对人类操作员的声音接口。对话管理单元902可以包含自然语言理解(NLU),自然语言生成(NLG),有限状态语法(FSG)和/或文本-语音合成(TTS)-用于提示用户的机器,以代替或补充人类操作员。处理模块910可以被实现在IVR的处理器部分中,或者可以被实现在具有适当软件的分立通用计算机中。此外,可以使用诸如专用集成电路(ASIC)的专用电路实现处理模块,或者可以通过使用离散部件或离散与集成部件的组合的专用电路实现处理模块。
处理模块910可以包含情绪状态分类器914。分类器914可以包含情绪状态分类模块916和情绪状态原型数据库918。
处理模块910还可以包含发话人聚集器和分类器920。单元920还可以包含发话人聚集和分类模块922,以及发话人类别数据库924。
处理模块910还可以包含语音识别器926,语音识别器926可以本身包含语音识别模块928和语音原型,语言模型和语法数据库930。语音识别器926可以是对话管理单元902的一部分,或者是例如处理模块910的实现内的分立单元。此外,处理模块910可以包含口音识别器932,而口音识别器932包含口音识别模块934和口音数据库936。
处理模块910可以包含单元914、920、926和932中的任何一个;全部那些单元;或其任何组合。
设备900还可以包含后处理器938,后处理器938被连接到数据仓库912,并且被构造成转录用户发声和对其执行关键字定位。虽然图9A中将其示出为分立项目,然而后处理器可以是处理模块910的一部分,或者是其任何子部件。例如,它可以被实现成语音识别器926的部分。后处理器938可以被实现成IVR的处理器部分,专用电路,或在具有适当软件模块的通用计算机上实现。后处理器938可以使用语音识别器926。后处理器938也可以包含语义模块(未示出)以解释字句的含义。语义模块可以被语音识别器926用来指示列表中的某些解码候选无意义并且应当丢弃/被有意义的候选替换。
如本领域已知的,声音前端908通常可以是8维加能量前端。然而应当理解,可以使用13、24、任何其他数量的维数。可以在具有10ms重叠的25ms帧上计算MEL倒谱,以及增量和增量增量参数,即一阶和二阶有穷导数。如图9A所示,这种声音特征可以被提供给发话人聚集器和分类器920,语音识别器926和口音识别器932。
声音前端908可以提取其它类型的声音特征。这些可以被指定为情绪状态特征,例如移动平均音调、移动音调方差、音调抖动、移动能量方差、语音速率、闪光(shimmer)、基础频率和基础频率偏差。音调抖动是指音调的一阶导数的符号变化数量。闪光是能量抖动。可以从声音前端908向情绪状态分类器914提供这些特征。上述包含MEL倒谱和情绪状态特征的声音特征可以被认为是原始,即未处理的特征。
用户查询可以被IVR转录,反之亦然。语音特征可以首先被例如发话人聚集器和分类器920中的文字-无关发话人分类系统处理。这允许根据其语音的声音相似度对发话人进行分类。在以下文献中公开了这种系统的实现和使用1996年2月2日提交的美国专利申请60/011,058;1997年1月28日提交的美国专利申请08/787,031(目前于1999年4月20日授权的美国专利5,895,447);1997年1月28日提交的美国专利申请08/788,471;和1997年1月28日提交的美国专利申请08/787,029,所有这些均被转让给国际商用机器公司,并且这里参考引用了上述所有公开内容以用于任何目的。发话人分类可以是监视或非监视方式的。在监视的情况下,事先根据外部信息判定类别。通常,这种分类可以区分男性和女性,成人和儿童,母语发话人和不同类别的非母语发话人,等等。这个分类处理的指标构成处理特征。这个处理的结果可以被提供给情绪状态分类器914,并且可用来针对中性情绪状态,相对于训练期间针对指定类别观察的平均值(均值)规格化情绪状态特征。规格化的情绪状态特征被情绪状态分类器914使用,情绪状态分类器914接着输出情绪状态的估测。这个输出还被认为是处理特征的一部分。概括地讲,情绪状态分类器914可以相对语音聚集器和分类器920产生的各个类别对情绪状态特征进行规格化。可以按照以下方式对特征进行规格化。令X0是正常频率。令Xi是测量频率。于是,规格化特征被指定为Xi减去X0。这个数量可以是正数或5负数,并且通常不是无维的(dimensionless)。
语音识别器926可以转录来自用户的查询。它可以是发话人无关或类别相关的大词汇表连续语音识别,或者系统可以只是简单的关键字定位器,用于检测侮辱性语言(例如)等等。这种系统是本领域众所周知的。输出可以是完整的句子,但是也可以达到更精细的粒度;例如识别单词的时间对准。带时间标签的转录也可以被看作是处理特征的一部分,并且下面会针对本发明的方法对其进行进一步的讨论。于是,来自事务的每个阶段的会话可以被转录和存储。如图9A所示,适当数据被从发话人聚集器和分类器920传送到情绪状态分类器914和语音识别器926。如上所述,可以用来自用户的输入语音执行口音、方言和语言识别。可以用若干具有将被识别的不同口音的发话人对连续语音识别器进行语音训练。各个训练发话人还与口音向量相关,其中每个维数表示与各个词素的各个状态相关的最可能混合分量。可以根据这些口音向量之间的距离聚集发话人,并且可以通过例如成员发话人的口音识别聚集。通过从用户语音提取口音向量并且对其分类,可以执行口音识别。如上所述,可以根据用户使用的词汇和单词序列估计方言、社会经济学分类等等。可以通过专家语言知识编译要检测的适当关键字、句子或语法错误。口音、社会经济学背景、性别、年龄等等是处理特征的一部分。如图9A所示,如实箭头所示的任何处理特征均可以被存储在数据仓库912中。此外,如点线所示的原始特征也可以被存储在数据仓库912中。
任何处理或原始特征均可以被存储在数据仓库912中,并且在完成事务时与其它已经收集的数据相关。可以应用典型的数据挖掘技术。这种技术是已知的,例如参见书籍"数据仓库,数据挖掘和OAAP(Data Warehousing,Data Mining and OAAP)",Alex Berson和Stephen J.Smith,McGraw Hill于1997年出版,和"数据挖掘探索(Discovering Data Mining)",Cabena等人,Prentice Hall于1998年出版。对于指定企业目的,通过应用适当的挖掘方法自动获得例如目标市场、预测模型或分类器。可以以利于后续数据挖掘的格式存储数据仓库912中的所有存储数据。如上述两个参考书籍所提出的,本领域的技术人员知道用于将被挖掘的数据的适当格式。企业目标可以包含例如检测易受购买指定产品或服务的建议的影响的用户,检测在使用自动系统时遇到问题并且应当被转移到操作员的用户,和检测对服务不满并且应当被转移到监督人的用户。用户可以是使用设备900的企业的客户,也可以是某些其它类型的机构,例如非赢利机构,政府代理等等的客户。
可以提取特征,并且判决被模型动态返回。下面会进一步对其进行讨论。
图9B根据本发明描述了用于和用户交互的实时可修改语音系统1000。图9B中与图9A的单元相似的单元的附图标记为相同附图标记递增100。系统1000可以包含与上述类似的对话管理单元1002。具体如图9B所示,单元1002可以是人类操作员或超级用户,IVR或语音用户接口(VUI)。系统1000也可以包含与上述类似的音频捕捉模块1006,和与上述类似的声音前端1008。正象设备900那样,单元1002在必要时可以被直接连接到声音前端1008,以允许使用前端1008确定的MEL倒谱或其它声音特征。此外,系统1000包含与上述类似的处理模块1010,但是具有某些如下所述的附加特性。处理模块1010可以包含动态分类模块1040,动态分类模块1040执行用户动态分类。因此,处理模块1010被构造成根据至少一个用户属性修改语音系统1000的行为,其中已经根据从用户语音提取的至少一个声音特征确定了所述用户属性。系统1000还可以包含业务逻辑单元1042,业务逻辑单元1042被连接到对话管理单元1002,动态分类模块1040,并且可选地,被连接到声音前端1008。业务逻辑单元可以被实现在IVR或VUI的处理器部分中,可以是适当编程的通用计算机的一部分,或者可以是专用电路。当前,处理模块1010(包含模块1040)最好被实现成通用计算机,并且业务逻辑1042最好被实现在交互式语音应答系统的处理器部分中。动态分类模块1040可以被构造成向业务逻辑单元1042和对话管理单元1002提供反馈(可以是实时反馈)。
可选地,可以如图所示地提供数据仓库1012和后处理器1038,并且数据仓库1012和后处理器1038可以如上所述地针对数据收集设备900操作。然而应当强调,在本发明的实时可修改语音系统1000中,数据仓库是可选的,并且在必要时,系统可以被限制于针对单元1040、1042和1002讨论的实时反馈。
如与对话管理单元1002连接的反馈线所示,通过提示其人类操作员,处理模块1010可以至少部分地修改系统1000的行为。例如,当检测出用户的愤怒情绪状态时可以提醒人类操作员,并且可以提示人类操作员说出抚慰用户的话,或者将用户转移到高层人类管理员。此外,处理模块1010可以修改系统1000的业务逻辑1042。例如当处理模块1010和业务逻辑单元1042是IVR系统的一部分时,可以进行此操作。下面会进一步地讨论修改业务逻辑的例子,但是所述例子可以包含根据系统1000检测的用户属性定制针对用户的市场报价。
现在参照图9C,模块解了在包含语音和视频输入事件数据的多模式环境中如何通过语气/焦点分类器2(图1)实现如上所述的语气/焦点分类技术。如图所示,图9C示出的分类器包括语音输入通道1050-1,语音通道控制器1052-1和基于语音的语气分类子系统1054-1。分类器还包括视频输入通道1050-N,视频通道控制器1052-N和基于视频的语气分类子系统1054-N。当然,可以包含其它输入通道和对应的分类子系统以便将分类器扩展到其它模式。个人分类子系统均从其相应输入通道得到原始特征,使用识别和分类引擎处理特征,并且结合数据仓库1058进行动态分类确定。前面针对图9A和9B描述了这些处理的细节。可以按照类似于语音特征的方式处理视频特征。接着,可以在模块1056中使用来自每个输入模式的数据执行联合动态分类,以便进行总体分类确定。业务逻辑单元1060和多模式命令解释程序1062被用来根据语气/焦点分类器运行的特定应用控制处理。通道控制器1052-1和1052-N分别被用来控制语音数据和视频数据的输入。
因此应当理解,在确定用户语气之后,如上所述的语气分类系统可以通过I/O管理器14指示图1的I/O子系统12调整环境中的设备(例如温度控制系统、音乐系统等等),这会导致改变用户语气和/或焦点。
现在参照图10,其中示出了基于本发明的多模式会话计算系统的图解硬件实现的模块图。在这个特定实现中,用于控制和执行与图1-9C中描述的本发明的图解系统相关的各种操作的处理器1092被连接到存储器1094和用户接口1096。应当理解,这里使用的术语"处理器"被用来包含任何处理设备,例如包含CPU(中央处理单元)和/或其它处理电路的处理设备。例如,处理器可以是本领域中所知的数字信号处理器。并且术语"处理器"可以表示不止一个单个的处理器。这里使用的术语"存储器"被用来包含与处理器或CPU相关的存储器,例如RAM、ROM、固定存储器设备(例如硬盘驱动器)、可移动存储器设备(例如磁盘)、快擦写存储器等等。另外,这里使用的术语"用户接口"被用来包含例如用于向处理单元输入数据的一或多个输入设备(例如键盘),和/或用于提供与处理单元相关的结果的一或多个输出设备(例如CRT显示器和/或打印机)。用户接口1096还被用来包含用于接收用户语音的一或多个话筒,用于捕捉图像数据的一或多个照相机/传感器,以及多模式系统中使用的任何其他I/O接口设备。
因此,包含用于执行如这里描述的本发明方法的指令或代码的计算机软件可以被存储在一或多个相关存储器设备(例如ROM、固定或活动存储器)中,并且在准备使用时,被CPU部分或全部加载(例如到RAM)和执行。总之应当理解,可以通过各种形式的硬件、软件或其组合实现图1图解的单元,例如通过具有相关存储器的一或多个数字信号处理器,专用集成电路,功能电路,一或多个具有相关存储器、经过适当编程的通用数字计算机。根据这里提供的本发明的指导,本领域普通技术人员会能够想到本发明的单元的其它实现。
虽然这里已经针对附图描述了本发明的实施例,但应当理解,本系统和方法不局限于这些详细的实施例,并且本领域的技术人员在不偏离本发明的范围和宗旨的前提下可以进行各种其他的改变和修改。
权利要求
1.一种多模式会话计算系统,该系统包括用户接口子系统,该用户接口子系统被构造成从采用用户接口子系统的环境输入多模式数据,多模式数据包含与第一模式输入传感器相关的数据,和与至少一个第二模式输入传感器相关的数据,并且环境包含一或多个用户和可被多模式系统控制的一或多个设备;至少一个处理器,所述至少一个处理器在操作中被连接到用户接口子系统,并且被构造成(i)从用户接口子系统接收至少一部分多模式输入数据;(ii)根据至少一部分接收的多模式输入数据确定一或多个用户中的至少一个用户的意图、焦点和语气;和(iii)根据确定的意图,确定的焦点和确定的语气中的至少一个导致在环境中执行一或多个动作;和存储器,该存储器在操作中被连接到至少一个处理器,并且存储与处理器进行的意图、焦点和语气确定相关的至少一部分结果,以备后续确定中可能的使用。
2.如权利要求1所述的系统,其中意图确定包括根据至少一部分接收的多模式数据解析与环境中一或多个用户相关的参考歧义。
3.如权利要求1所述的系统,其中意图确定包括根据至少一部分接收的多模式数据解析与环境中一或多个设备相关的参考歧义。
4.如权利要求1所述的系统,其中在环境中执行一或多个动作包括控制环境中一或多个设备的至少一个,以执行以下操作中的至少一个完成确定的一或多个用户的意图,影响确定的一或多个用户的焦点,和影响确定的一或多个用户的语气。
5.如权利要求1所述的系统,其中在环境中执行一或多个动作包括控制环境中一或多个设备的至少一个,以请求进一步的用户输入以便辅助进行所述确定的至少一个。
6.如权利要求1所述的系统,其中执行一或多个动作包括启动处理以执行以下操作中的至少一个进一步完成,校正和澄清系统根据前面输入理解的内容。
7.如权利要求1所述的系统,其中至少一个处理器还被构造成在进行一或多个确定之前将接收的多模式输入数据抽象成一或多个事件。
8.如权利要求1所述的系统,其中至少一个处理器还被构造成在进行一或多个确定之前对接收的多模式输入数据执行一或多个识别操作。
9.一种多模式会话计算系统,该系统包括用户接口子系统,该用户接口子系统被构造成从采用用户接口子系统的环境输入多模式数据,多模式数据包含与第一模式输入传感器相关的数据,和与至少一个第二模式输入传感器相关的数据,并且环境包含一或多个用户和可被多模式系统控制的一或多个设备;输入/输出管理器模块,在操作中被连接到用户接口子系统,并且被构造成将多模式输入数据抽象成一或多个事件;一或多个识别引擎,在操作中被连接到输入/输出管理器模块,并且被构造成当必要时对抽象的多模式输入数据执行一或多个识别操作;对话管理器模块,在操作中被连接到一或多个识别引擎和输入/输出管理器模块,并且被构造成(i)接收至少一部分抽象的多模式输入数据,并且当必要时接收识别的多模式输入数据;(ii)根据至少一部分接收的多模式输入数据确定一或多个用户中的至少一个用户的意图;和(iii)根据确定的意图导致在环境中执行一或多个动作;焦点和语气分类模块,在操作中被连接到一或多个识别引擎和输入/输出管理器模块,并且被构造成(i)接收至少一部分抽象的多模式输入数据,并且当必要时接收识别的多模式输入数据;(ii)根据至少一部分接收的多模式输入数据确定一或多个用户中的至少一个用户的焦点和语气中的至少一个;和(iii)根据确定的焦点和语气中的至少一个导致在环境中执行一或多个动作;和上下文堆栈存储器,在操作中被连接到对话管理器模块,一或多个识别引擎和焦点和语气分类模块,并且存储与对话管理器和分类模块进行的意图、焦点和语气确定相关的至少一部分结果,以备后续确定中可能的使用。
10.一种基于计算机的会话计算方法,该方法包括步骤从包含一或多个用户和一或多个可控制设备的环境获得多模式数据,多模式数据包含与第一模式输入传感器相关的数据,和与至少一个第二模式输入传感器相关的数据;根据至少一部分获得的多模式输入数据确定一或多个用户中的至少一个用户的意图、焦点和语气;根据确定的意图,确定的焦点和确定的语气中的至少一个导致在环境中执行一或多个动作;和存储与意图、焦点和语气确定相关的至少一部分结果,以备后续确定中的可能使用。
11.如权利要求10所述的方法,其中意图确定步骤包括根据至少一部分接收的多模式数据解析与环境中一或多个用户相关的参考歧义。
12.如权利要求10所述的方法,其中意图确定步骤包括根据至少一部分接收的多模式数据解析与环境中一或多个设备相关的参考歧义。
13.如权利要求10所述的方法,其中导致在环境中执行一或多个动作的步骤包括控制环境中一或多个设备的至少一个,以执行以下操作中的至少一个完成确定的一或多个用户的意图,影响确定的一或多个用户的焦点,和影响确定的一或多个用户的语气。
14.如权利要求10所述的方法,其中导致在环境中执行一或多个动作的步骤包括控制环境中一或多个设备的至少一个,以请求进一步的用户输入以便辅助进行所述确定的至少一个。
15.如权利要求10所述的方法,其中导致执行一或多个动作的步骤包括启动处理以执行以下操作中的至少一个进一步完成,校正和澄清系统根据前面输入理解的内容。
16.如权利要求10所述的方法,其中还包括在进行一或多个确定之前将接收的多模式输入数据抽象成一或多个事件的步骤。
17.如权利要求10所述的方法,其中还包括在进行一或多个确定之前对接收的多模式输入数据执行一或多个识别操作的步骤。
18.用于执行会话计算的制造产品,包括含有一或多个程序的机器可读介质,所述程序在执行时实现步骤从包含一或多个用户和一或多个可控制设备的环境获得多模式数据,多模式数据包含与第一模式输入传感器相关的数据,和与至少一个第二模式输入传感器相关的数据;根据至少一部分获得的多模式输入数据确定一或多个用户中的至少一个用户的意图、焦点和语气;根据确定的意图,确定的焦点和确定的语气中的至少一个导致在环境中执行一或多个动作;和存储与意图、焦点和语气确定相关的至少一部分结果,以备后续确定中的可能使用。
19.一种多模式会话计算系统,该系统包括用户接口子系统,该用户接口子系统被构造成从采用用户接口子系统的环境输入多模式数据,多模式数据至少包含基于音频的数据和基于图像的数据,并且环境包含一或多个用户和可被多模式系统控制的一或多个设备;至少一个处理器,所述至少一个处理器在操作中被连接到用户接口子系统,并且被构造成(i)从用户接口子系统接收至少一部分多模式输入数据;(ii)根据至少一部分接收的多模式输入数据确定一或多个用户中的至少一个用户的意图、焦点和语气;和(iii)根据确定的意图,确定的焦点和确定的语气中的至少一个导致在环境中执行一或多个动作;和存储器,该存储器在操作中被连接到至少一个处理器,并且存储与处理器进行的意图、焦点和语气确定相关的至少一部分结果,以备后续确定中可能的使用。
20.如权利要求19所述的系统,其中意图确定包括根据至少一部分接收的多模式数据解析与环境中一或多个用户相关的参考歧义。
21.如权利要求19所述的系统,其中意图确定包括根据至少一部分接收的多模式数据解析与环境中一或多个设备相关的参考歧义。
22.如权利要求19所述的系统,其中用户接口子系统包括一或多个在环境中采用的图像捕捉设备,用于捕捉基于图像的数据。
23.如权利要求22所述的系统,其中基于图像的数据是具有可见波长频谱和不具有可见波长频谱中的至少一个。
24.如权利要求22所述的系统,其中基于图像的数据是基于视频、红外和射频的图像数据中的至少一个。
25.如权利要求19所述的系统,其中用户接口子系统包括一或多个在环境中采用的音频捕捉设备,用于捕捉基于音频的数据。
26.如权利要求25所述的系统,其中一或多个音频捕捉设备包括一或多个话筒。
27.如权利要求19所述的系统,其中用户接口子系统包括一或多个在环境中采用的基于图形用户接口的输入设备,用于捕捉基于图形用户接口的数据。
28.如权利要求19所述的系统,其中用户接口子系统包括一或多个在环境中采用的基于输入笔的输入设备,用于捕捉基于手写的数据。
29.如权利要求19所述的系统,其中在环境中执行一或多个动作包括控制环境中一或多个设备的至少一个,以执行以下操作中的至少一个完成确定的一或多个用户的意图,影响确定的一或多个用户的焦点,和影响确定的一或多个用户的语气。
30.如权利要求19所述的系统,其中在环境中执行一或多个动作包括控制环境中一或多个设备的至少一个,以请求进一步的用户输入以便辅助进行所述确定的至少一个。
31.如权利要求19所述的系统,其中至少一个处理器还被构造成在进行一或多个确定之前将接收的多模式输入数据抽象成一或多个事件。
32.如权利要求19所述的系统,其中至少一个处理器还被构造成在进行一或多个确定之前对接收的多模式输入数据执行一或多个识别操作。
33.如权利要求32所述的系统,其中一或多个识别操作中的一个包括语音识别。
34.如权利要求32所述的系统,其中一或多个识别操作中的一个包括发话人识别。
35.如权利要求32所述的系统,其中一或多个识别操作中的一个包括姿势识别。
36.如权利要求19所述的系统,其中执行一或多个动作包括启动处理以执行以下操作中的至少一个进一步完成,校正和澄清系统根据前面输入理解的内容。
37.一种多模式会话计算系统,该系统包括用户接口子系统,该用户接口子系统被构造成从采用用户接口子系统的环境输入多模式数据,多模式数据至少包含基于音频的数据和基于图像的数据,并且环境包含一或多个用户和可被多模式系统控制的一或多个设备;输入/输出管理器模块,在操作中被连接到用户接口子系统,并且被构造成将多模式输入数据抽象成一或多个事件;一或多个识别引擎,在操作中被连接到输入/输出管理器模块,并且被构造成当必要时对抽象的多模式输入数据执行一或多个识别操作;对话管理器模块,在操作中被连接到一或多个识别引擎和输入/输出管理器模块,并且被构造成(i)接收至少一部分抽象的多模式输入数据,并且当必要时接收识别的多模式输入数据;(ii)根据至少一部分接收的多模式输入数据确定一或多个用户中的至少一个用户的意图;和(iii)根据确定的意图导致在环境中执行一或多个动作;焦点和语气分类模块,在操作中被连接到一或多个识别引擎和输入/输出管理器模块,并且被构造成(i)接收至少一部分抽象的多模式输入数据,并且当必要时接收识别的多模式输入数据;(ii)根据至少一部分接收的多模式输入数据确定一或多个用户中的至少一个用户的焦点和语气中的至少一个;和(iii)根据确定的焦点和语气中的至少一个导致在环境中执行一或多个动作;和上下文堆栈存储器,在操作中被连接到对话管理器模块,一或多个识别引擎和焦点和语气分类模块,并且存储与对话管理器和分类模块进行的意图、焦点和语气确定相关的至少一部分结果,以备后续确定中可能的使用。
38.一种基于计算机的会话计算方法,该方法包括步骤从包含一或多个用户和一或多个可控制设备的环境获得多模式数据,多模式数据至少包含基于音频的数据和基于图像的数据;根据至少一部分获得的多模式输入数据确定一或多个用户中的至少一个用户的意图、焦点和语气;根据确定的意图,确定的焦点和确定的语气中的至少一个导致在环境中执行一或多个动作;和存储与意图、焦点和语气确定相关的至少一部分结果,以备后续确定中的可能使用。
全文摘要
本发明提供了一个方法,用于在发生改变的工作条件下根据多模式输入数据执行焦点检测、参考歧义解析和语气分类(815),以便为一或多个用户(812)提供有效的会话计算环境(418、422)。
文档编号G06T7/20GK1494711SQ02805565
公开日2004年5月5日 申请日期2002年1月31日 优先权日2001年2月5日
发明者斯蒂普汉·H.·密斯, 斯蒂普汉 H. 密斯, 兹 V. 尼迪, 卡拉裴兹·V.·尼迪 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1