专利名称:来自不可转录数据的诊断识别问题的制作方法
来自不可转录数据的诊断识别问题背景下述论述仅提供用于一般背景信息,不打算用作确定所要求的主题的 范围的目的。小计算设备,诸如个人数字助理(PDA)、设备和便携式电话被人们 在日常活动中日益频繁地使用。随着现在可用于用来运行这些设备的微型 处理器的处理能力的增加,这些设备的功能性也日益增加,以及在一些情 况下,合并。例如,现在,许多便携式电话能访问和浏览互联网以及能用 来存储个人信息,诸如地址、电话号码等等。鉴于这些计算设备正日益频繁地使用,因此,有很必要为用户提供简 单的界面来将信息输入到计算设备中。不幸的是,由于为尽可能小地保持 这些设备以便易于携带它们的需要,由于可用在小计算设备的外壳上的有 限表面积,通常具有作为单独按钮的字母表的所有字母的传统键盘是不可 能的。即使除小计算设备的例子外,对所有类型的计算设备,提供更方便 的界面也是有利的。为解决这一问题,己经增长兴趣和采用使用话音或语音来访问信息, 不管在计算设备本地,本地网络上,还是在诸如互联网的广域网上。通过 语音识别,通常在用户和计算设备间实施对话相互作用。用户通常可听和 /或可视地接收信息,而可听地应答提示或发布命令。通常,语音识别系统使用各种模块,诸如声学模型和语言模型,如本 领域所公知的。以便处理输入话语。如果例如应用是明确定义的,那么能 使用通用模型,或专用模型。尽管在许多情况下,有必要调整语音识别系 统,更具体地说,调整模型来确保语音识别系统对期望的用户组有效地起 作用。只要配置系统,非常有助来俘获、转录和分析实际所说的话语以便 能将语音识别系统调整为最佳性能。例如,语言模型调整能增加系统的覆盖面,而消除不必要的词以便提高系统应答和准确度。同样地,声学模型 调整集中在确定搜索、置信度和声学参数的改进以便增加语音识别系统的 准确度和/或速度的实验上。如上所述,转录从现场收集的记录的语音数据提供用于评价系统性能 和训练数据模型的装置。确切地,当前的实践要求数据转录器/操作器收听 话语,然后键入或者关联用于每一话语的话语的转录。例如,在呼叫转移 系统中,话语能是呼叫者正试图沟通的个人或部门的名称。转录器将收听 每一话语以及转录每一请求,可能通过已知名称的列表。转录耗时,因此 是昂贵的过程。另外,转录也是易出错的,特别是对由不太普遍的词或短 语组成的话语。发明内容提供该概述来以简化的形式介绍在下面的详细说明中将进一步描述 的一些原理。该概述不打算识别所要求的主题的关键特征或基本特征,也 不打算用作确定所要求的主题的范围的目的。识别分析模块接收输入记录应用数据并且对其进行分析。通常,识别 分析模块揭示应用中的问题,例如大量用户正面临的一个或多个识别问 题。识别分析包括接收记录的应用数据中的语义信息并且确定在不对所接 收的应答执行转录的情况下对于给定的接收应答是否进行了良好的识别。 尽管确定过程是在语义级进行的,但是为了调整应用仍能确定有用的分析 数据。
图1是计算设备操作环境的第一实施例的平面图。图2是图1的计算设备的框图。 图3是通用计算机的框图。图4是用于客户机/服务器系统的体系结构的框图。图5是示例说明用于在客户端置标中提供识别和可听提示的方法的框图。图6是示例说明配套控制的框图。
图7是用于创建语音激活应用的方法的流程图。
图8是执行语音激活应用的方法的流程图。 图9是识别分析模块的框图。
图IO是用于由指定用户应答推断语义的第一方法的流程图。
图11是用于评分推论的第一方法的流程图。
图12是用于由指定用户应答推导语义的第二方法的流程图。
图13是用于评分推论的第二方法的流程图。
图14是用于评分确认接受的推论的方法的流程图。
图15是用于将语义项图到结果部分的第一方法的流程图。
图16是用于将语义项图到结果部分的第二方法的流程图。
具体实施例方式
在描述语音使用应用中的诊断语音识别问题的方面前,描述能用在语 音应用中的一般计算设备可能是有用的。现在参考图1,用30示例说明数 据管理设备(PIM、 PDA等等)的示例性形式。然而,预期使用下文所述 的其他计算设备,也能实施在此所述的原理,以及特别地,具有用于输入 按钮等等的有限表面积的那些计算设备。例如,电话和/或数据管理设备将 受益于在此所述的原理。与现有的便携式个人信息管理设备和其他便携式 电子设备相比,这些设备将具有增强的用途,以及这些设备的原理和小型 将更可能促使用户在任何时间携带该设备。因此,不期望在此所述的应用 的范围受示例性数据管理或PIM设备、电话或在此所示的计算机的公开内 容限制。
在图1中示例说明数据管理移动设备30的示例性形式。移动设备30 包括外壳32和具有包括显示器34的用户界面,其使用结合输入笔33的 触敏显示屏。输入笔33用来在指定坐标按压或接触显示器34以便选择字 段、有选择地移动光标的开始位置,或者提供命令信息,诸如通过姿势或 手写。另外,或者,能在设备30上包括一个或多个按钮35,用于导航。 另外,也能提供其他输入机制,诸如可旋转轮、滚轮等等。然而,应注意到本发明不打算受输入机制的这些形式限制。例如,输入的另一形式能包 括可视输入,诸如通过计算机视觉。
现在参考图2,框图示例说明包括移动设备30的功能部件。中央处理 单元(CPU) 50实现软件控制功能。CPU50耦合到显示器34,以便根据 控制软件生成的文本和图形图标出现在显示器34上。通常通过数模转换 器59,将扬声器43耦合到CPU50,以便提供可听输出。由用户下载或输 入到移动设备30的数据存储在双向耦合到CPU50的非易失读/写随机存取 存储器54中。随机存取存储器(RAM) 54提供用于由CPU50执行的指 令的易失存储,以及用于临时数据的存储,诸如注册值。用于配置选项和 其他变形的缺省值存储在只读存储器(ROM) 58中。ROM58也能用来存 储用于控制移动30的基本功能和其他操作系统内核功能(例如将软件部 件加载到RAM54中)的设备的操作系统软件。
以与用来存储应用程序的PC上的硬驱动的功能类似的方式,RAM54 也用作用于代码的存储。应注意到尽管将非易失存储器用于存储代码,另 外,也能存储在不用于执行代码的易失存储器中。
通过耦合到CPU50的无线收发器52,由移动设备传送/接收无线信号。 也能提供可选通信接口 60,用于从计算机(例如台式计算机),或从有线 网络直接下载数据,如果需要的话。因此,接口 60能包括各种形式的通 信设备,例如红外链路、调制解调器、网卡等等。
移动设备30包括麦克风29,以及模数(A/D)转换器37,以及存储 在存储器54中的可选识别程序(语音、DTMF、手写、姿势或计算机视觉)。 举例来说,响应来自设备30的用户的可听信息、指令或命令,麦克风29 提供语音信号,由A/D转换器37数字化。语音识别程序能在数字化语音 信号上执行标准化和/或特征执行功能,以便获得即时语音识别结果。使用 无线收发器52或通信接口 60,可以将语音数据传送到下文所述并在图4 的体系结构中示出的远程识别服务器204。然后,可以将识别结果返回到 移动设备30,用于在其上再现(例如可视和/或可听),并最终传送到Web 服务器202 (图4),其中,Web服务器202和移动设备30以客户机/服务 器关系操作。能将类似的处理用于其他形式的输入。例如,通过或不通过设备30上的预处理,能数字化手写输入。与语音数据相同,可以将这种 形式的输入传送到识别服务器204,用于识别,其中,将识别结果返回到 设备30和/或Web服务器202的至少一个。同样地,能类似地处理DTMF 数据、姿势数据和可视数据。由输入形式而定,设备30 (和下文所述的其 他形式的客户机)将包括必要的硬件,诸如用于可视输入的照相机。
除上文所述的便携式或移动计算设备外,还应理解到在此所述的原理 能与许多其他计算设备,诸如通用台式计算机一起使用。例如,当其他传
统的输入设备,诸如全字母数字键盘难以操作时,具有有限体能的用户能 将文本输入或键入计算机或其他计算设备。
本发明也能通过许多其他通用或专用计算系统、环境或结构操作。可 以适合与本发明一起使用的非常公知的计算系统、环境和/或结构包括但不 限于无线或便携式电话、常规电话(没有任何屏幕)、个人计算机、服务 器计算机、手持或膝上型设备、多处理器系统、基于多处理器的系统、机
顶盒、可编程消费电子设备、网络PCs、迷你计算机、主机、包括上述系 统或设备的任何一个的分布式计算环境等等。
下文是在图3中所示的通用计算机120的简单描述。然而,计算机120 仅是适当的计算环境的一个例子,不打算建议有关本发明的用途或功能性 的任何限制。计算机120也不应当解释为具有与在此所述的部件的任何一 个或组合的任何相关性或要求。
可以在由计算机执行的计算机可执行指令,诸如程序模块的一般上下 文中提供下面的描述。通常,程序模块包括执行特定任务或实现特定抽象 数据类型的程序、对象、部件、数据结构等等。在此所述的示例性实施例 也可以在分布式计算环境中实施,其中,由通过通信网络链接的远程处理 设备执行任务。在分布式计算环境中,程序模块可以位于本地和远程计算 机存储介质,包括存储器存储设备中。在下文并在附图的帮助下描述由程 序和模块执行的任务。本领域的技术人员能将描述和图实现为处理器可执 行指令,其能写在任何形式的计算机可读介质上。
参考图3,计算机120的部件可以包括但不限于处理单元140、系统 存储器150,以及将包括系统存储器的各种系统部件耦合到处理单元140的系统总线141。系统总线141可以是几种类型的总线的任何一种,包括
存储器总线或存储控制器、外围总线以及使用各种总线体系结构的局部总
线。举例来说,而不是限制,这些体系结构包括工业标准体系结构(ISA) 总线、通用串行总线(USB)、增强ISA (EISA)总线、视频电子标准协 会(VESA)局部总线和也称为Mezzanine总线的外围部件互连(PCI)总 线。计算机120通常包括各种计算机可读介质。计算机可读介质能是能由 计算机120存取的任何可用介质以及包括易失和非易失介质、可移动和不 可移动介质。举例来说,而不是限制,计算机可读介质可以包括计算机存 储介质和通信介质。计算机存储介质包括用任何方法或技术实现的易失和 非易失、可移动和不可移动介质,用于存储信息,诸如计算机可读指令、 数据结构和程序模块或其他数据。计算机存储介质包括但不限于RAM、 ROM、 EEPROM、闪存或其他存储器技术、CD-ROM、数字通用盘(DVD) 或其他光盘存储或其他磁存储设备,或任何其他介质,能用来存储所需信 息并能由计算机120存取。
通信介质通常将计算机可读指令、数据结构、程序模块或其他数据嵌 入调制数据信号,诸如载波或其他传输机制,以及包括任何信息传递介质。 术语"调制数据信号"是指具有一个或多个其特征集或以将信号编码在信 号中的方式改变的信号。举例来说,但不是限制,通信介质包括有线介质, 诸如有线网络或直接布线连接,以及无线介质,诸如声波、FR红外和其 他无线介质。上文的任何一个的组合也应当包括在计算机可读介质的范围 内。
系统存储器150包括以易失和/或非易失存储器的形式的计算机存储 介质,诸如只读存储器(ROM) 151和随机存取存储器(RAM) 152。基 本输入/输出系统153 (BIOS),包含有助于在计算机120内的元件间传送 信息,诸如在启动期间的基本例程通常存储在ROM151中。RAM152通常 包含能由处理单元140即时存取和/或目前在其上操作的数据和/或程序模 块。举例来说,而不是限制,图3示例说明操作系统54、应用程序155、 其他程序模块156和程序数据157。
计算机120也可以包括其他可移动/不可移动、易失/非易失计算机存储介质。仅举例来说,图3示例说明能从不可移动、非易失磁性介质读取
或写入的硬盘驱动器161、能从可移动、非易失磁盘172读取或写入的磁 盘驱动器171以及能从可移动、非易失光盘176,诸如CDROM或其他光 学介质读取或写入的光盘驱动器175。能用在示例性操作环境中的其他可 移动/非易失、易失/非易失计算机计算机存储介质包括但不限于磁带盒、 闪存卡、数字通用盘、数字视频带、固态RAM、固态ROM等等。硬盘驱 动器161通常通过不可移动存储器接口,诸如接口160连接到系统141, 以及磁盘驱动器171和光盘驱动器175通常通过可移动存储器接口,诸如 接口 170连接到系统总线141。
上述并在图3中示出的驱动器和它们的相关计算机存储介质为计算机 120提供计算机可读指令、数据结构、程序模块和其他数据的存储。在图 3中,例如,硬盘驱动器161示例为存储操作系统164、应用程序165、其 他程序模块166和程序数据167。注意这些部件能与操作系统154、应用 程序155、其他程序模块156和程序数据157相同或不同。操作系统164、 应用程序165、其他程序模块166和程序数据167指定不同的数字以便最 少说明它们是不同的副本。
用户可以通过输入设备,诸如键盘182、麦克风183和定点设备181, 诸如鼠标、跟踪球和触控板,将命令和信息输入到计算机120中。其他输 入设备(未示出)可以包括操作杆、游戏垫、卫星盘、扫描仪等等。这些 和其他输入设备通过耦合到系统总线的用户输入接口 180连接到处理单元 140,但可以通过其他接口和总线结构,诸如并行端口、游戏端口或通用 串行总线(USB)连接。监视器184或其他类型的显示设备也经接口,诸 如视频接口 185连接到系统总线141。除监视器外,计算机也可以包括其 他外围输出设备,诸如扬声器187和打印机186,可以通过输入外围接口 188连接。
计算机120可以在使用与一个或多个远程计算机,诸如远程计算机194 的逻辑连接的连网环境中操作。远程计算机194可以是个人计算机、手持 设备、服务器、路由器、网络PC、对等设备或其他公用网络节点,以及 通常包括相对于计算机120所述的许多或所有元件。图3中所示的逻辑连接包括局域网(LAN) 191和广域网(WAN) 193,但可以包括其他网络。 这些连网环境在办公室、全企业计算机网络、内联网和互联网是常见的。
当用在LAN连网环境中时,计算机120通过网络接口或适配器190 连接到LAN191。当用在WAN连网环境中时,计算机120通常包括调制 解调器192或用于在WAN193,诸如互联网上建立通信的其他装置。可以 是内部或外部的调制解调器192可以经用户输入接口 180,或其他适当的 机制连接到系统总线141。在连网环境中,相对于计算机120所述的程序 模块,或其一部分可以存储在远程存储器设备中。举例来说,但不是限制, 图3示例说明驻留在远程计算机194上的远程应用程序195。将意识到所 示的网络连接是示例性的,以及可以使用在计算机间建立通信链路的其他 装置。
示例性实施例
图4将用于基于网络的识别(在此通过广域网例示)的体系结构200 示例为能与在此所述的原理一起使用。然而,应理解到与远程部件的相互 作用不过是一个实施例,因为包括识别器的语音应用可以在具有当前的所 有必要部件或模块的单一计算设备上操作。
通常,在Web服务器202中存储的信息能通过移动设备30 (在此还 表示具有显示屏、麦克风、摄像机、触控板等等的其他形式的计算设备, 基于输入形式要求),或通过电话80存取,其中,可听地或响应按下的键, 通过由电话80生成的音调请求信息,以及将来自Web服务器202的信息 仅可听地提供给用户。
在该示例性实施例中,统一体系结构200,因为不管使用语音识别, 通过设备30或电话80获得信息,单一识别服务器204能支持任一模式的 操作。另外,体系结构200使用非常公知的标记语言的扩展(例如HTML、 XHTML、 CHTML、 XML、 WML等等)操作。因此,在Web202上存储 的信息也能使用在这些标记语言中找到的非常公知的GUI方法存取。通过 使用非常公知的标记语言的扩展,在Web服务器202上编辑更容易,以及 也能易于修改目前存在的传统应用来包括话音或其他形式的识别。
通常,设备30执行由Web服务器202提供的HTML+脚本等等。当要求话音识别时,举例来说,将能数字化为音频信号或语音特征的语音数据, 其中,已经由上述的设备30预处理音频信号提供给具有语法或语言模型
的表示的识别服务器304以便在语音识别期间使用。识别服务器204的实 现能采用许多形式,示例说明其中的一种,但通常包括识别器211。将识 别结果提供回设备30,用于本地再现,如果需要或适当的话。在通过识别 以及如果使用的话,任何图形用户界面编译信息后,设备30将信息发送 回Web服务器202,用于进一步处理和接收另外的HTML脚本,如果必 要的话。
如在图4中所示, 一般通过网络205,在此为广域网,诸如互联网连 接设备30、 Web服务器202和识别服务器204并能单独地存取。因此,这 些设备的任何一个物理上彼此相邻旋转是不必要的。特别地,Web服务器 202包括识别服务器204是不必要的。用这种方式,在Web服务器202上 编辑能集中在期望的应用上,而作者无需知道识别服务器204的错综复杂。 相反,能单独地设计识别服务器204并连接到网络205,由此更新和改进, 无需在Web服务器202请求进一步改变。如下文所述,Web服务器202 也能包括能动态地生成客户端标记和脚本的编辑机制。在另外的实施例 中,根据实现机器的性能,可以结合Web服务器202、识别服务器204和 客户机30。例如,如果客户机包括通用计算机,例如个人计算机,客户机 可以包括识别服务器204。同样地,如果需要,Web服务器202和识别服 务器204能集成为单一机。
通过电话80访问Web服务器202包括将电话80连接到有线或无线电 话网208,依次将电话80连接到第三方网关210。网关210将电话80连 接到电话语音浏览器212。电话语音浏览器212包括提供电话接口和语音 浏览器216的媒体服务器214。与设备30相同,电话语音浏览器212从 Web服务器202接收HTML脚本等等。在一个实施例中,HTML脚本是 与提供给设备30的HTML脚本类似的形式。用这种方式,Web服务器202 不需要单独地支持设备30和电话80,或甚至单独地支持标准的GUI客户 机。相反,能使用通用标记语言。另外,与设备30相同,使用TCP/IP, 来自由电话80提供的可听信号的语音识别从语音浏览器216提供给识别服务器204,例如不管是通过网络205,还是通过专用线路207。能将Web 服务器202、识别服务器204和电话语音浏览器212嵌入任何适当的计算 环境中,诸如在图3中所示的通用台式计算机。
然而,应注意到,如果采用DTMF识别,通常在媒体服务器214,而 不是在识别服务器204执行这种形式的识别。换句话说,DTMF语法将由 媒体服务器214使用。
再参考图4, Web服务器202能包括服务器端插件编辑工具或模块209 (例如微软公司、JSP、 Javabeans等等的ASP、 ASP+、 ASP.Net)。服务器 插件模块209能动态地生成客户端标记,甚至用于访问Web服务器202的 客户端类型的特定形式的标记。在初始建立客户机/服务器关系后,将客户 机信息提供给Web服务器202,或Web服务器202能包括检测客户机设备 的性能的模块或例程。用这种方式,服务器端插件模块209能生成用于语 音识别情形,即仅通过电话的语音或用于设备30的多模式的每一个的客 户端标记。通过使用一致的客户端模型,用于许多不同客户机的应用编辑 更容易。
除动态地生成客户端标记外,下文所述的高级会话模块能实现为在存 储器211中存储的服务器端控制,用于在应用编辑中,由开发人员使用。 通常,基于由开发人员指定的参数,在仅语音或多模型情形中,高级会话 模块211能动态地生成客户端标记和脚本。高级会话模块211能包括生成 符合开发人员需要的客户端标记的参数。
生成客户端标记
如上所示,当已经由客户机设备30进行请求时,服务器端插件模块 209输出客户端标记。简单地说,服务器端插件模块209允许定义或构造 网站,由此应用以及由该应用提供的服务。服务器端插件模块209中的指 令由复杂代码组成。然后,服务器端插件模块209输出发送到客户机设备 30的新客户端标记页。众所周知,该过程通称为再现。服务器端插件模块 209对抽象和封装标记语言,由此客户端标记页的代码的"控制"起作用。
如所知,现有技术的服务器端插件模块能生成用于可视再现并与客户 机设备30相互作用的客户端标志。在2004年6月17日公开的U.S.专利申请公开号US 2004/0113908,名为"Web Server Controls for Web Enabled Recognition and/or Audible Prompting"以及在2004年11月18日公开的 U.S.专利申请公开号US 2004/0230637A1,名为"Application Controls for Speech Enabled Recognition"均详细地描述了三种不同的方法,用于扩展 服务器端插件模块209来包括识别和可听提示扩展。尽管本发明的方面能 与所有这些方法一起使用,但为说明示例性实施例的目的,在下文提供一 种方法的简单描述。
参考图5,识别/可听提示控制306与可视控制302分开,但如下文所 述,能有选择地关联。用这种方式,控制306不直接构建在可视控制302 上,但相反提供识别/可听提示激活,而不必重写可视控制302,控制306, 与控制302相同,使用库300。在该实施例中,库300包括可视和识别/可 听提示标记信息。
该方法存在显著的优点。首先,可视控制302不需要改变内容。第二, 控制306能形成根据语音激活控制302的属性一致性且不需要改变的单个 模块。第三,语音激活的过程,即,控制306与可视控制302的外在关联 在设计时完全在开发人员的控制下,因为它是显式和有选择的过程。这也 使得诸如通过由控制306生成的标记语言提供的识别,或通过传统的输入 设备,诸如键盘,可视控制的标记语言从多个源接收输入值成为可能。简 单地说,能将控制306添加到服务器端插件模块209的可视编辑页的现有 应用编辑页上。控制306为客户机设备30的用户提供新形式的相互作用 (即识别和/或可听提示),同时重新使用可视控制的应用逻辑和可视输入/ 输出性能。鉴于控制306能与能在此编辑应用逻辑的可视控制302关联, 在下文中,可以将控制306称为"配套控制306"能及将可视控制302称 为"主控制302"。应注意到为区分控制302和306的目的,提供这些文献, 以及不打算限制。例如,能使用配套控制来开发或编辑不包括可视再现, 诸如仅语音网站的网站。在这种情况下,某些应用逻辑能嵌入配套控制逻 辑中。
在图6中示例说明示例性配套控制集400。在该实施例中,配套控制 400通常包括QA控制402、 Command控制404、CompareValidator控制406、Custom Validator控制408和语义图410。语义图能示意性地示例说明和包 括能视作形成可视域主控制402 (例如配套控制400的HTML和非可视识 别域)间的层的输入字段的语义项412。
QA控制402包括引用提示对象来执行输出控制的功能,S卩,为人工 会话提供"提示"客户端标记的提示属性,通常包含播放预记录的音频文 件,或用于文本到语音转换的文本、直接或经URL引用的包括在标记中 的数据。同样地,输入控制嵌入为QA控制402和Command控制404,以 及还跟踪人工会话以及包括提示属性(引用提示对象),和引用至少一个 应答对象的应答属性。QA控制402和Command控制404将来自客户机设 备30的用户的语法与期望或可能的输入关联。
此时,可以有助于提供每一控制的简短描述。
QA控制
通常,通过所示的属性的QA控制402能执行下述的一个或多个提 供输出可听提示、收集输入数据、执行输入结果的置信度验证、允许输入 数据的确认以及帮助控制网站的对话流等等。换句话说,QA控制402包 含充当用于特定主题的控制的属性。
QA控制402,与其他控制相同,在Web服务器202上执行,意指使 用服务器端标记体系(ASP、 JSP等等),在Web服务器上保存的应用开发 网页上定义它,但作为标记的不同形式输出到客户机设备30。尽管在图6 中示出,其中,qa控制似乎由所有属性Prompt、 Reco、 Answers、 ExtraAnswers和Confirms形成,但应当理解到这些仅是选项,其中,可以 包括一个或多个,用于QA控制。
此时,根据应用情形,说明QA控制402的用法是有帮助的。参考图 6以及在仅语音应用中,QA控制402能充当会话中的问题和答案。由 Prompt对象提供问题,而通过语法对象定义语法,用于识别输入数据和那 一输入上的相关处理。使用包含有关如何处理识别结果的信息的Answer 对象,Answers属性将识别结果与语义图410中的Semanticltem412关联。 行414表示QA控制402与语义图410的关联,以及其中的Semanticltem 412。许多Semanticltem 412单独地与由行418表示的可视或主控制302关联,尽管一个或多个Semanticltem 412可以不与可视控制关联且仅内部使 用。在多模式情况下,其中,客户机设备30的用户可以在可视文本框上 触摸,例如通过"TapEvent ",可听提示可能是不必要的。例如,对包括 具有形成客户机设备的用户应当在相应的字段中输入什么内容的表示的 可视文本的文本框的主控制,相应的QA控制402可以或可以不具有相应 的提示,诸如可听重放或文本-语音转换,但将具有对应于用于识别的期望 值的语法,以及处理该输入的事件句柄,或处理其他识别器事件,诸如未 检测到语音、未识别语音,或超时激发的事件。
在另一实施例中,识别结果包括表示所识别的结果为正确的置信度级 的置信度级度量。在Answer对象中能指定确认阈值,例如ConfirmThreshold 等于0.7。如果确认级超出相关阈值,能将该结果视为确认过。
还应当注意到另外,或在替代方案中,为指定用于语音识别的语法, QA控制和/或Command控制能指定Dtmf (双音调调制频率)语法来响应 提示或问题,识别电话键活动。
此时,应注意到当填充语义图410的Semanticitem 412时,例如通过 识别语音或Dtmf,能采用几种动作。首先,能发出或激发事件,表示己经 "改变"该值。由是否满足确认级而定,能发出或激发的另一事件包括表 示已经确认相应的语义项的"确认"事件。这些事件用于控制对话。
确认属性也能包括具有与相对于Answers属性的上述类似的结构的应 答对象,因为它与Semanticltem 412关联,以及如果需要的话,能包括 ConfirmThreshold。 Confirms属性不打算获得识别结果本身,但相反,确 认已经获得的结果并由用户确定所获得的结果是否正确。Cconfmns属性 是用来断言在前获得的结果值是否正确的Answer对象集。包含QA的 Prompt对象将询问这些项,以及由相关Semanticltem 412获得识别结果, 并在问题中形成它,诸如"你说西雅图?"。如果用户肯定回答,诸如"是", 那么激发确认事件。如果用户否定应答,诸如"否",清除相关的 Semanticltem 412。
在已经将确认提示提供给用户后,Confirms属性也能接受校正。例如, 响应确认提示"你说西雅图?",用户能响应"旧金山"或"不,旧金山",在任一情况下,QA控制已经接收到校正。通过Answer对象确认有关哪一 Semanticltme的信息后,Semanticltme中的值能用校正值替换。还应当注 意到如果需要,能将确认包括在用于诸如"你希望何时去西雅图"的另一 提示中,其中,系统提示包括"西雅图"的确认以及用于出发日的另一提 示。提供目的地地点的校正的用户应答将激活Confirms属性来校正相关语 义项,而仅具有出发日的应答将提供目的地的隐含确认。
ExtraAnswers属性允许应用程序设计者指定除己经做出的提示或询问 外,用户可以提供的Answer对象。例如,如果面向旅行的系统提示用户 目的地城市,但用户通过表示"明天西雅图"来应答,初始提示用户的 Answers属性将检索,因此,将目的地城市"西雅图"与适当的Semanticltem 绑定,而ExtraAnswers属性能将"明天"处理为下一随后日(假定系统已 知当前日期),因此,将该结果与语义图中的适当的Semanticltem绑定。 ExtraAnswers属性包括为用户也可以陈述的可能的额外信息而定义的一个 或多个Answer对象。在上面提供的例子中,己经检索有关出发日的信息, 因此,系统将不需要再次提示用户该信息,假定确认级超出相应的 ConfirmThreshold。如果确认级不超出相应的阈值,将激活适当的Confirms 属性。
Command控制
Command控制404是在仅语音的对话中常见的用户话语,通常具有根 据所询问的问题的少量语义输入,但相反,寻求帮助或实现导航,例如帮 助、取消、重复等等。Command控制404能包括指定提示对象的Prompt 属性。另外,Command控制404也能用来不仅指定语法(通过Grammar 属性)和有关识别的相关处理(而不象不将结果绑定到Semanticltem的 Answer对象),而且指定上下文的"范围"和类型。这考虑有关客户端标 记的全局和上下文敏感的行为的编辑。Command控制404允许另外类型的 输入,诸如"帮助"命令,或允许客户机设备的用户导航到网站的其他被 选地区的命令。
Compare Validator控制
CompareValidator控制根据操作者比较两个值,以及采用适当的动作。将比较的值能是任何形式,诸如整数、文本串等等。CompareValidator包 括表示将验证Semanticltem的属性SemanticltemtoValidate。待验证的 Semanticltem能与常数或另一 Semanticltem进行比较,其中,分别通过属 性 ValuetoCompare 禾卩 SemanticItemtoCompare 提供常数或另一 Semanticltem。与CompareValidator有关的其他参数或属性包括定义将进行 的比较的Operator,以及定义值的类型Type,例如,语义项的整数或串。
如果与CompareValidator控制有关的验证失败,Prompt属性能指定能 重放的Prompt对象,指示用户所获得的结果是不正确的。如果在比较验证 失败后,由Semanticltemto Validate定义的相关Semanticltem表示为空,以 便系统将重新提示用户正确值。然而,在提示用户重申不正确值的情况下, 不清除语义图中的相关Semanticltem的不正确值可能是有帮助的。当相关 Semanticltem的值改变值时,或当已经确认该值时,能启动 CompareValidator控制,由应用程序设计者的需求而定。
Custom Validator控制
CustomValidator控制与CompareValidator控制类似。属性 SemanticItemtoValidate 表示将验证 Semanticltem , 而属性 ClientValidationFunction通过相关函数或脚本,指定定制验证例程。该函数 将提供验证是否失败的布尔值"是"或"否"或其等效。Prompt属性能指 定Prompt对象来提供错误或验证失败的表示。当相关Semanticltem的值 改变或当己经确定该值时,触发CustomValidator控制,由应用程序设计者 的需求而定。
控制执行算法
将客户端脚本或模块(在此称为"RunSpeech")提供给客户机设备, 用于图6的控制。该脚本的目的是当在客户机设备30上执行时,即,由 于包含在其中的值,当激活属于控制的标记,用于在客户机上执行时,经 逻辑执行对话流,其在脚本中指定。脚本允许在页请求间的多个对话回合, 因此,对控制仅语音对话,诸如通过电话浏览器216特别有用。在客户机 设备30上以循环方式执行客户端脚本RunSpeech,直到提交整个表格,或 从客户机设备30请求新页为止。通常,在一个实施例中,算法通过输出语音和识别用户输入,生成对
话回合。对仅语音情形,算法的整个逻辑如下(引用u.s.专利申请公开号 US2004/0113908,名为"Web Server Controls for Web Enabled Recognition and/or Audible Prompting",在2004年6月17日公开,用于上面未论述的 属性或参数)-
1. 按语音索引顺序查找第一有效(如下所定义)QA、 Compare Validator或Custom Validator控帝!j。
2. 如果没有有效控制,提交该页。
3. 否则,运行该控制。 当且仅当下述时,将QA视为有效
1. QA的ClientActivationFunction不存在或返回真,以及
2. 如果Answers属性集不为空,那么由Answers集指向的所有 Semanticltems的语句为空,或
3. 如果Answers属性集为空,Confirm数组中的至少一个 Semanticltems的语句为NeedsConfirmation。
然而,如果QA具有Playonce真,以及已经成功地运行其Prompt (实 现OnComplete), QA将不是用于活动的候选。 QA运行如下
1. 如果存在与在前有效控制不同的控制,那么复位Prompt计数值。
2. 递增Prompt计数值
3. 如果指定PromptSelectFunction,调用该函数以及将Prompt的 inlinePrompt设置成返回串。
4. 如果Reco对象存在,启动它。该Reco应当已经包括任何有效 命令语法。
如果下述成立,验证器(CompareValidator或Custom Validator)有效 1. 通过该验证器未验证SemanticItemtoValidate,以及其值改变。 CompareValidator运行如下
1. 根据验证器的Operator , 比较SemanticItemtoCompare或ValuetoCompare禾卩SemanticltemtoValidate的值。
2. 如果测试返回假,清空Semanticltemto Validate的文本字段以及 重放该提示。
3. 如果测试返回真,通过该验证器,将Semanticltemto Validate标 记为已验证。
Custom Validator运行如下
1. 通 过 Semanticltemto Validate 的 值, 调 用 ClientA ctivationF unction 。
2. 如果该函数返回假,Semanticltem清零以及重放该提示,否则 视为由该验证器已验证。
如果以及仅当下述时,将Command视为有效
1. 其在Scope中,以及
2. 在范围树中不存在更低的相同类型的另一命令。 在多模式情况下,将该逻辑简化为下述算法
1. 等待触发事件-S卩,用户在控制上敲击;
2. 收集期望应答;
3. 侦听输入;
4. 将结果与Semanticltem绑定,或如果没有,发出事件;
5. 返回到1。
在多模式环境中,应注意到如果用户校正与结果的可视表示有关的文 本框或其他输入字段,系统能更新相关Semanticltem来表示已经确认过该 值。
在图6所示的另一实施例中,提供调用控制407,允许应用程序设计 者创建处理电话事务和应用控制430的语音应用,提供在一个控制中打包 公用语音情形的装置。对实施本发明来说,调用控制407和应用控制430 是不必要的,仅为完整性目的而提及。在2004年6月17日公开的U.S. 专利申请公开号US 2004/0113908,名为"Web Server Controls for Web Enabled Recognition and/or Audible Prompting"以及在2004年11月18日 公开的U.S.专利申请公开号US 2004/0230637A1 ,名为"ApplicationControls for Speech Enabled Recognition"中提供每一个的进一步描述。 记录用户相互作用数据
举例来说,使用上述结构,应用开发人员能开发语音激活应用。然而, 在此所述的方面允许开发人员记录或记录用户相互作用数据。
无需说,应理解到在此所述的原理不限于提供对话模型的上述的对话 编辑结构,而是能应用于生成对话模型的任何编辑工具,诸如但不限于实 现为中间件、APIs (应用程序接口)等等并配置成记录一些或所有下述信 息的那些工具。另外,语音激活应用,诸如电话应用的功能属性以及它们 的语音用户界面的具体细节能在域和应用类型间大大地不同,因此,任何 自动登录例能通常仅是启动式而不是确定性的。为此,该实现可能将自动 登录事件属性实现为允许重写缺省值,而不是不可改变属性。然而为简化 和便于大量信息的记录仍然是依赖于手动和可编程编辑的大的进步。
再参考图4,当对任何类型的用户,诸如但不限于经移动设备30或经 电话80访问,该应用执行时,依照对话控制211,执行语音激活应用的 Web服务器202将用户相互作用记录数据记录在存储器217中。
应用通常非穷举地定义或编写为通常通过QA控制402,根据需要, 结合Command控制404、 Application控制430、Call控制407和Validators406 和408,在此简化的分层控制集。分层定义将完成的全部任务及其子任务 以便完成整个任务。分层中的级的数量由应用的复杂性而定。例如,应用 能完全针对进行航线预留(即最高最大任务),而两个主要的子任务针对 获得出发信息和到达信息。同样地,对获得出发信息和获得到达信息,特 别是获得出发/到达飞机信息出发/到达时间等待的主要子任务的每一个, 能定义另外的子任务。这些子任务在它们包含的任务中顺序地出现。
通常,记录两种类型的数据,任务/对话数据和回合数据。以任务/对 话数据开始,如在日志中表示的该数据应当根据任务和子任务,俘获应用 的层次或顺序结构。图7示例说明用于创建应用的方法500。根据嵌套或 顺序任务单元,对话编辑工具在步骤502激活编辑或定义对话,以便当开 发人员编写语音激活应用时,程序设计者通常将其以模块方式编写。艮P, 将促使程序设计者将单个回合分组成实现特定任务的集合,以及将单个任务分组成实现更高级任务的集合。由于单个任务内外的任务结构和流程在
设计时是已知的,允许记录项和退出任务(例如通过TaskStart和 TaskComplete事件)以及在步骤504,用于由应用使用的输入字段(在此 例示为"语义项"),从用户获得回合数据和值以便提供任务结构的顺序和 /或层次的自动记录。这表示能由事件日志清楚地恢复和构建对话流、所获 得的值和任务结构。应注意到仅为说明目的,将步骤502和504示为单独 的,因为可以按不同顺序或同时执行这些步骤的一些或全部特征。
该数据还量化实现任何指定任务或子任务的成功、失败或其他(例如 未知)。另外,任务/对话数据包括任务未功能或失败的原因,或未知其完 成状态的原因,或如果适用的话,如果为了后续,多种原因是可能的,用 于后续的原因。另外的数据能包括表示用户不提供应答或语音识别器不能 识别话语的过程数据。还能记录由应用用作基于或与提示或用户应答有关 的值的输入字段值或存储位置的列表,或也能改变的其状态。
图8示例说明用于执行语音激活应用的方法520。方法520包括在步 骤522,执行根据具有一个或多个Turns的任务定义的语音激活应用。步 骤524包括记录与任务、回合和语义项有关的信息应注意到仅为说明目的, 单独地示出步骤522和524,因为可以以不同顺序或同时执行这些步骤的 一些或全部特征。
在一个实施例中,任务/对话数据包括一些或全部下述信息
任务/对话数据
名称用于任务/对话的程序设计者定义的串标识符,例如
"getCreditCardlnfo"、 "ConfirmTravel"等等。如果程序设计者在设计时未
提交名称,指定缺省名称,例如对话l、对话2、对话N.....。
父包含对话的名称(以便由日志重构对话层次)。 TaskStart:当首次输入任务/对话时的时间戳。
TaskComplete:当退出任务/会话时的时间戳。在通过缺省值结束应用 时,对任何打开的对话,应当总是发出、倒置该事件(即在日志中不存在 "无终止"会话)。
状态任务/对话的完成状态,可由程序设计者设置、基于对话的性能自动地推断,或基于程序设计者定义的条件半自动地设置。在一个实施例 中,缺省值状态可以为"UNSET",其中,顺序值能是下述的一个
SUCCESS FAILURE UNKNOWN 自动任务完成状态
在某些情况下,由其状态是否是成功、失败或未知的一个的任务退出 的属性,通过合理的可信度推断该状态。例如,根据错误或异常的结果结 束的任务能自动地记录失败的完成状态。同样地,取消的任务(例如其中, 在任务对象调用Cancd(()方法)能自动地记录失败的完成状态。类似地, 根据已达到的某些"出局"数的结果而结束的任务将自动地记录失败的完 成状态。
相反,通过在那一任务中遇到,或在设计时指定为属于那一任务,作 为值的基础(用户输入或由其推断)的Turns的所有语义项(即用于应用 的输入字段)自然地(即未被取消)结束的任务将自动地记录成功的完成 状态。
半自动任务完成
任务状态记录的部分自动也是有用的。对任何指定的任务,在步骤 502,程序设计者能指定或定义用于任务成功或失败的条件集,如果满足,
在退出的任何点确定任务的状态。条件可以是可编程的(例如/00=='6^'),
或更有用的,能简化条件,以便程序设计者仅需要每一任务指定一个或多 个语义项(例如为departureCity和arrivalCity而提供的值),以及当那些语 义项具有确认值时,该系统将自动地记录成功,可选地,当那些语义项不 具有确认值时,记录失败。
该方面是有用的省时机制,因为它意味着状态记录不需要从任务的每 一退出点可编程地编码。相反,只要终端用户退出该任务,能自动地评价 条件,及所确定和记录的状态,而不需额外的开发人员编码。
原因对话完成的原因能由例如程序设计者设置。
Command -由用户所说转变到对话的不同部分的命令,以及命令的属性(例如"取消"、"操作符"、"主菜单"等等;
UserHangup-用户挂机或退出或放弃 ApplicationError -出现的应用错误 MaxNoRecos-最多话语,而未得到识别; MaxSilences-所得到的最大默认用户响应数 SemanticUpdate:
项改变其值/状态的任何语义项的列表,包括值和相应的状态。典型
地,该数据与Turn数据关联,如下所述,因为每一对话回合(由应用/响 应提示或缺少用户) 一个或多个语义项值和/或状态将改变。然而,在一些 实例中,应用可以独自地改变语义项。例如,如果应用不能验证值,诸如 信用卡号,可以独自地清零该值并不一定基于对话回合。将无需记录这种 改变。
Turn数据包括与应用的直接相互作用,以及基于由应用提供的提示 (当不期望响应时),或与用户响应或其缺省有关的应用提示,换句话说, 提示/应答交换,或由用户提供的命令,不一定响应提示,或至少是不期望 提示响应的应答组织。因此,能记录的三个数据区包括与由应用提供的提 示有关的信息、由用户提供的应答(期望或不期望应答),以及由系统确 定的识别结果。在一个实施例中,Turn数据包括一些或全部下述信息 Turn数据 配置
名称程序设计者定义的串标识符。如果程序设计者在设计时未提供 名称,能指定缺省名称;然而,在相同对话/任务内的不同回合间,不需要 清楚和一致性地区分。可能的技术是以提示的名称和类型为基础。
类型特定Turn的目的的说明能由与之有关的语义项的属性推断。在 放弃上述描述的情况下,通过Answers、 ExtraAnswers和Confirms的概念, 语义项与Turn有关。
Turn目的的例子包括
询问新信息(Turn使用应答)
确认相关信息(接受/拒绝、Tum使用确认)指定信息语句(Tum保存无应答或确认)。
父包含对话/任务的名称(以便由日志重构对话层次)。 语言所使用的语言。
语音语法与使用的语音识别语法有关的信息。
DMTF语法与使用哪一 DMTF识别语法有关的信息。 阈值用于拒绝值和/或确认值的置信度阈值。
超时在提示后初始沉默、用于确定应答结束的最终沉默所允许的时 间周期,以及认为空谈的时间周期。 提示
名称可选可能是不必要的,因为能使用回合数据名称。
类型对话模型可以包含多个预定提示类型,能由应用选择任何一个,
以及其用法允许记录系统正尝试实现什么,即,Turn的目的。 提示类型的例子包括 MainPrompt-询问问题(或给出陈述) HelpPrompt-提供帮助 RepeatPrompt -重复信息内容 NoRecognitionprompt —应答"无识另寸" SolencePrompt —默认应答
EscalatedNoRecognitionPrompt-在多次尝试后"无识别"应答 EscalatedSolencePrompt-在多次尝试后,默认应答 由于这些类型是预定的且适合于在任何时间选择,能按类型自动地记
录它们,通过获得Tum的目标的指定提示的目的的概述,自动地丰富记录数据。
由此,结合Tum类型的提示类型-在对话编辑模型中均是编程的基 本指令以及当面临应用时,自动地记录-允许在日志中的任何点的系统 目的的丰富视图。
语义项有关提示的语义项(用来链接询问/确认循环等等)。 对话模型使用语义项的概念,分别包含值和状态,惟简化有关对话流 程编辑。通过自动地记录每一语义项的改变值和状态,以及结合任务和用户/系统移动信息,进一步丰富日志。
Answers/ExtraAnswers/Confirms模型将语义项链接到Tums,因此链接 到Tasks。因此,其己知(以及能自动地记录)哪一语义项与哪一系统移 动和哪一用户移动有关,以及哪一语义项对哪些任务有用。
提示的文本内容例如"欢迎"
Bargeim开/关/中间提示时间
用户预测延迟用户应答和下一提示播放期间的时间周期。当系统处 于重负时,该时间周期可能更长,会使用户混淆,因为用户可能认为应用 未应答。
TTS:真/假-用来生成提示的文本-语音。
提示完成时间提示完成/断开的时间。 提示波文件所提供的实际提示。 用户输入
模式用户是否提供DTMF/语音
类型用户是否提供命令,如果是,何种类型(例如帮助/重复等等), 或用户是否提供应答,如果是,何种类型(应答/确认/拒绝)
对话模型将应用语法的功能分类成不同类型的用户应答,表示提供应 答的用户的目的,即应答、接受、拒绝等待。这些类型能直接记录为系统 认为用户正尝试实现何种操作的指示符。不同应答类型的例子如下
Answer-用户提供请求值的问题的应答。 ExtraAnswer-用户提供超出问题的关注的应答。 Accept-用户确认信息。 Deny-用户否认信息的真实性 Help Command-用户要求帮助。 Repeat Command -用户请求重复信息
OtherCommand-用户发出其他形式的命令(未清楚地键入,但我们 知道它不是上述类型的任何一种)。
Silence-用户不说任何信息(有时用途"隐含接受"的形式)。 因为这些类型与特定语法有关,只要用户说出与相应的语法匹配的某些信息,能自动地记录它们。许多系统允许单个对话回合包括多种类型-例如接受不至一项,或在单一回合中,应答一项以及接受另一项。
Silence:如果检测到无声,相对于MaxSilence的数量或计数。 NoReco:如果检测到未识别该话语,相对于MaxNoRecos的数量或计数。
Error:如果遇到错误,由应用或平台发出。 结果
识别结果由该系统返回的识别结果。通常,识别结果包括用于所解 释话语的语义标记语言(SML)标志。另外,能提供N个最好的替代解释, 以及只要适当,音频记录结果。
另外,对每一解释
话语文本,无SML标志(如果提供语音),或按键(如果提供DTMFO。
置信度解释的置信级。
语义映射SML结果和语义项的部分间的链接。换句话说,来自SML 结果的什么值将放在哪一语义项中。
所匹配的语法规则用户输入匹配语法中的哪一规则。 置信度整体话语的置信度。
Bargein:用户干预的时机,或NULL (无干预存在)。
识别波文件实现记录的用户输入或其指针。
总的来说,记录的用户相互作用数据允许将对话看作在感兴趣的某些 字段(例如表格字段或时隙值)上操作的任务的层次或顺序结构,以及任 务内的每一对话回合记录有关表格字段(例如要求值、确认它、重复它等
等)的系统目的(对话移动),而且记录语音识别器认为什么是用户目的 (例如提供值、拒绝它,要求帮助等等)。
通过其结构,实现实际好处。特别地,提高系统性能的分析,因为成 功或失败的任务完成通常是清楚的,因此,大大地简化事务成功率报告, 以及更好理解完成该任务所采用的对话步骤的属性(因为每一步骤后的目 的在编辑时是已知的)。
由于集成到对话编辑工具中的方式,很容易实现该形式的数据记录。该方法的高级属性对大量应用类型是通用的,以及通过原理上以及相对于 记录基本指令集成到编辑工具中,记录的实际细节在编辑时有利。因此, 能促使应用程序设计者使用任务/子任务模型构建应用,以及表示任务外的 哪些事务表示成功完成,以及不需要清楚地指示系统/用户目的记录,因此, 其被构建在对话回合编辑模型中。
诊断语音识别问题 下面的描述允许应用开发人员调整应用来找出显著的识别问题,而没 有与所识别的应答的转录有关的时间和开销。
参考图7,识别分析模块600接收输入记录应用数据,诸如上述(尽
管能使用其他形式的记录数据),及其对执行分析。通常,识别分析模块
600揭示应用中的识别问题,例如,多个用户正面临的一个或多个识别问 题。识别分析模块600接收记录应用数据中的语义信息,以及确定对指定 接收应答,是否产生良好识别,而不执行所接收的应答的转录。尽管在语 义级进行确定,但对调整该应用来说,能获得有用的分析数据。
识别分析模块600能以下述的方式,使用来自记录数据的下述信息。 该信息包括
(a) 有关语义值的信息(即对所接收的应答,由识别器获得的识别结 果),以及相应的状态值,诸如但不限于"空"、"需要确认"或"确认"。
(b) 有关用户正尝试相对于应用完成的任务的信息,例如预订航班、 获得转移到特定个人的电话等等,以及任务的结束状态(例如"成功"、"失 败"、"未知")。通常,使用任务信息来分组所接收的应答,惟例如,如果 任务成功,能知道所接收的应答是正确的;以及
(c) 有关识别状态的信息,即,所使用的语法、识别结果等等。如果 在分析时,通过重新识别执行验证,那么获得实际俘获的数据(例如用户 话语的音频数据)。
为说明和理解目的,能将识别分析模块600描述为在两个主要阶段中 执行分析(在此例示为模块602和604)。不必说,应理解到也能执行单遍 实现。另外,分析的不同变形是可能的,如下所述。通常,记分度量由所 进行的推理的属性而定。选择使用哪一个来使用将通常由应用的属性和可用记录数据量而定。
如在此所例示的,识别分析模块600能包括推理指定用户应答的语义 的推断模块602以及根据多个推断上的语义误差,估计语义识别准确度的
记分模块604。然而,应理解到不需要两个单独的模块。另外,尽管嵌入 模块602和604中的概念能有利地结合使用,但能与另一个无关地使用模 块602。根据由模块602和604所执行的分析,提供报告或其他适当的输 出。
通常,分析模块600执行分析,包括接收系统和至少一个用户间的对 话回合的表示的信息,以及基于分析所接收的信息,将提供所接收的信息 的回合与推导值关联,而不执行用户应答的转录。这些步骤的例子在下文 参考图10、 12和13描述。
如上所示,推断模块602尝试推断用于识别结果(即语义项)的应用 存储位置及能与回合或语法关联的它们的值,以及通过所推导的语义,注 释(即关联)该回合。注意该分析通常包括从应用存储位置(语义项)到 从对下述变形通用的识别器接收的识别结果的映射过程。在下文也提供这 一方面。
记分模块604相对于所推断的语义,记分该回合(或语法)。注意, 不仅在初始识别结果上,而且在音频数据的任何顺序重新识别(例如根据 应答调整过程,为验证语法的任何变化的准确度的目的的重新识别等等) 上,实施该分析。换句话说,对音频数据的重新识别,模块602不需要重 新操作,而仅仅是模块604。
第一变形(仅使用确认信息)
用于模块602和604的分析的第一变形分别在图10和11中示出。通 常,仅使用确认信息,执行该推断分析。
参考图10,使用方法620进行语义推断。(注意在下文的描述中,引 用"语义项"视为用于由应用使用的识别结果的存储位置或输入字段)。 在步骤622接收记录数据。在步骤623搜索所记录的回合数据以便
对每一回合,已知确认过语义项(步骤624),那么, 对Tc中确认的每一语义项(Sic)(步骤626),那么识别Tp,其中,Tp-提供Sic值的最近的在前回合;
识别Rp,其中,Rp-映射到Sic值的识别结果的语义部分;以
及
然后,通过Rp注释所识别的在前回合Tp。 (叙述另一方法,对该特定的语义项,通过认为是正确答案的 识别结果的一部分,注释提供应答的回合。在此并在下文提供的注 释可以包含将字段添加到表示该回合的识别结果的正确性的记录 数据)
同样地,对Tc中的拒绝或校正的每一语义项(Sid)(步骤630),那
么,
识别Tp,其中,Tp:提供Sid值的最近的在前回合;
识别Rp,其中,Rp:映射到Sic值的识别结果的语义部分;以
及
然后,通过"非Rp"注释所识别的在前回合Tp。
(叙述另一方法,对该特定的语义项,通过认为不是正确答案 的识别结果的一部分,注释提供应答的回合。)
参考图11,经方法640执行记分。能使用记分来定位识别问题。在步 骤642实施回合数据。在步骤643搜索回合数据,以便
对根据方法620的结果注释的每一回合(步骤644),那么 对所注释的每一识别部分(Rp)(步骤646),那么
如果在具有相同值的识别结果中,找到Rp,那么对应于该Rp 的识别语义值是正确的,或
如果在具有不同值的识别结果中找到Rp,那么对应于该Rp的 识别语义值是不正确的;或
如果在识别结果中找到Rp (注意仅对重新识别发生),那么对 应于Rp的所识别的语义值可能是未知的。 应注意到通过査找用于Tp的"最接近的在前回合"(而不是直接"即 时在前回合"),该方法允许推断,其中,在提供语义后(例如在用户咕哝 后,或其中,几个项的确认"集总"发生,而不是单个地),确认出现几个回合。该方法在面对拒绝或校正时也是鲁棒的,因为Tp能是"应答" 回合或"校正"回合。
当已知分析受指定任务限制时,通过应用任务辖区信息,能增强方法
620的鲁棒性。当应用将相同的语义项用于不同任务时,该特征特别有用。 在这种情况下,将改变包含Tp的下述步骤
对Tc中确认的每一语义项(Sic)(步骤626),那么
识别Tp,其中,Tp:在提供Sic值的包含任务内的最近在前回合.
识别Rp,其中,Rp:映射到Sic值的识别结果的语义部分;以
及
-对Tc中的拒绝或校正的每一语义项(Sid)(步骤630),那么,
识别Tp,其中,Tp:在提供Sid值的包含任务内的最近的在前 回合;
第二变形(使用确认和任务信息)
前述分析的限制是假定(正确或不正确地)识别在Tp中提供的所有 语义项。因此,如果用户在应答中提供两个语义项(例如,说"从西雅图 到伦敦",但系统仅识别单一项(例如"从西雅图<咕哝>"),那么那一回 合将总是相对于所提供的已知值("西雅图")记分以及在分析中永不知道 丢失值("伦敦")。
下述变形通过将在任务结束时已知的所有确认语义项和"成功"状态 集合成数组来修改该假定,以及通过数组注释任务内的每一回合。用这种 方式,如果实施重新识别,以便识别丢失值(例如,如果从初始语法丢失 "伦敦"),但添加到新语法上),那么记分方法将采集它。
然而,折衷是该分析有时对误识别不太鲁棒,因为它将正确地记分最 终确认的任何语义项的提供,即使当语义项是误识别的结果时。
参考图12,使用方法660,在该变形下,通过模块602执行语义推断。在步骤662接收记录数据。在步骤663搜索所记录的数据,以便 对具有完成状态成功的每一任务(步骤664),那么 识别语义项数组(SIArray),其中,SIArray-与任务有关的所有语义 项的名称和值以及任务完成时"确认的"状态
对SIArray的每一元语义项(步骤666),那么 识别为该语义项提供正确值的回合Tp;
识别Rp,其中,Rp:映射到语义项值的Tp中的识别结果的语 义部分;以及
将Rp添加到RpArray 对任务内的每一回合T (步骤668)(能与Tp回合集不同)
用RpArray注释T 参考图13,经方法680,执行记分。在步骤682接收回合数据。搜索 该回合数据以便
对已经注释过的每一TurnTp (步骤684)
对RpArray注释中的每一识别结果部分(Rp)(步骤686),那么
如果在用于具有相同值的Tp的识别结果中找到Rp,那么,对 应于Rp的识别语义值是正确的,或
如果在用于具有不同值的Tp的识别结果中找到Rp,那么对应 于Rp的识别语义值是不正确的,或者
如果在识别结果中未找到Rp,那么对应于Rp的识别语义值可 能是未知的。 第三变形(用于记分确认回合)
上述变形将用于用户提供语义项的回合。下述变形能用于用户接受或 拒绝确认回合中的语义项,诸如用户确认多个在前提供的应答的回合。关 于上述通用方法,所推断的值包括接受或拒绝确认回合中的值,以及关联 推断值包括关联接受或拒绝的正确性。
在步骤700,分析方法在图14中示出,以及评价确认回合的接受/拒 绝决定的准确度。由于输出通常是得分或其他测量,方法604将用来表示 执行方法700。在步骤702接收记录数据。在步骤703检索所记录的数据,以便对具有完成状态为"成功"的每一任务(步骤704),那么, 对任务内的每一确认回合(Tc),那么
对Tc中接受的每一语义项(状态变为确认)(步骤706),那么 识别Sic,其中,Sic—壬务完成时的语义项 如果STa值-:Sic值,那么Tc中的接受是正确的,否则 Tc中的接受是不正确的。 对Tc中拒绝的每一语义项Sic (状态变为空和/或值改变)(步骤 708),那么,
识别Sic,其中,Si『任务完成时的语义项 如果SIa.valueoSic.value,那么 TC中的拒绝是正确的, 否则
Tc中的拒绝是不正确的。 语义项(SI)和结果部(Rp)间的映射
通常从用户输入的识别结果部分(Rp)导出由应用(例如语义项,SI) 使用和操作的识别应答或语义值。对正确工作的第一和第二变形,映射需 要在Rp和语义项间是己知的。
在许多情况下,映射可以是显式的-例如,与指向XML识别结果的 特定部分中的语义项有关的Xpath。因此例如,FromCity语义项可以与形 式"/SML/DepartureCity"的Xpath关联,意指在XML结果的节点 <SML><DepartureCity>... </DepartureCity></SML>中找到的任何值应当限 制到语义项值。
然而,由于映射不是显式的,例如,未记录Xpath或其他表示,或更 编程地处理结果(例如结果以对象的形式),需要推断映射。该过程通常 是试探的,而不是确定性的。
图15和16示例说明用于推导语义项和用户输入的识别结果间的映射 的方法。首先参考图15,由简单串标识映射组成的方法830包括指定语义 项值"v",其中,通过那一值(例如FromCity:"西雅图")确认语义项, 在步骤832查找初始提供值"v"的识别结果"R"。在步骤834,找到R中的值,保存相同的串(即,〈DepartureCity〉西雅图〈/DepartureCity〉中的 DepartureCity节点),其中,包含该值的节点或属性是识别结果部Rp。
图16示例说明提供结果映射推断的方法850。更确定的变形是可能的, 其中,仅通过应答更新单一语义项。在这种情况下,整个结果对象能与那 一语义项关联。因此,方法850包括指定语义项值"v",其中,通过那一 值确认语义项(例如FromCity:"西雅图"),在步骤852,查找初始提供值 v的回合T。在步骤854,如果回合T仅提供单个语义项,那么R是用于 回合T的识别结果,以及找到R中的所有终端节点/属性(来自获得Rp的 全部识别结果,例如〈City〉西雅图々City、以及那些节点或属性是识别结 果部Rp。
上述在许多情况下更鲁棒,因为它更好地处理复杂的语义结果,包括 复合结果(例如"日期"的语义项等于20050601,以及其中语义 <month>06</month><day>01</day><year>2005</year〉。然而,不能处理多 语义项(即混合迭代)响应。
应注意到直接在前方法能扩展到扫描该数据中的所有Turns的过程, 以及在识别结果和语义项更新间的会话上推断映射。优点是能解决多SI 响应,以及将忽略对结果无用的额外的Rps噪声。因此,将获得更鳜的映 射模式。
尽管参考具体实施例描述了本发明,但本领域的工作人员将意识到在 不背离本发明的精神和范围的情况下,将在形式和细节方面做出改变。
权利要求
1. 一种用于分析在用户和具有对话回合的交互式应用程序之间的识别结果的计算机实现方法(620,660,700),其中,一个回合包括来自该系统的提示和从该用户处接收到的应答,该方法包括接收用于表示该系统和至少一个用户之间的对话回合的信息(622;662;702);以及基于分析所接收的信息(624,626,630;664,665,666,668;704,706,708),将提供应答的回合与推断值关联起来(626;630;666;668;706;708),而不执行用户应答的转录。
2. 如权利要求1所述的计算机实现方法(620),其特征在于,分析 所接收的信息(624, 626, 630)包括分析记录用户确认的回合(624, 626, 630)。
3. 如权利要求2所述的计算机实现方法(620),其特征在于,分析 记录用户确认的确认回合(624, 626, 630)包括识别与每一个确认回合 相关联的应用程序存储位置(624, 626, 630)。
4. 如权利要求3所述的计算机实现方法(620),其特征在于,识别 与每一个确认回合相关联的应用程序存储位置(624, 626, 630)包括识 别该值是已确认、拒绝和校正的中的至少一种的应用程序存储位置(624, 626, 630)。
5. 如权利要求4所述的计算机实现方法(620),其特征在于,分析 确认回合(624, 626, 630)包括对每一个识别出的应用程序存储位置, 识别曾获得确认回合的值的最接近的在先回合(626, 630)。
6. 如权利要求5所述的计算机实现方法(620),其特征在于,分析 确认回合(624, 626, 630)包括识别映射到具有该确认回合的值的应用 程序存储位置的识别结果的语义部分(626, 630)。
7. 如权利要求5所述的计算机实现方法(620),其特征在于,推断 值是确认回合的值,以及其中,将该回合与推断值关联起来(626, 630)包括将最接近的在先回合与该推断值关联起来(626, 630)。
8. 如权利要求4所述的计算机实现方法(620),其特征在于,这些 回合与应用程序的一个或多个任务有关,以及其中,分析确认回合(624, 626, 630)包括对每一个识别出的应用程序存储位置,识别曾获得确认回 合的值且该值处于选定的任务之内的最接近的在先回合。
9. 如权利要求2所述的计算机实现方法(620),基于分别具有相关 推断值的多个回合的分析,提供识别误差的测量(640)。
10. 如权利要求1所述的计算机实现方法(660, 700),其特征在于, 根据任务定义该应用程序,其中,任务包含一个或多个回合,以及其中, 分析所接收的信息(664, 665, 666, 668; 704, 706, 708)包括分析与 成功完成的任务有关的信息(664; 704)。
11. 如权利要求IO所述的计算机实现方法(660),其特征在于,分析 与成功完成的任务有关的信息(664)包括识别与具有任务完成时的确认 状态的值的相应任务相关联的应用程序存储位置。
12. 如权利要求ll所述的计算机实现方法(660),其特征在于,分析 与成功完成的任务有关的信息(664)包括对每一个识别出的应用程序存 储位置,识别该值对应于当成功地完成任务时所接收的值的最接近的在先 回合(666)。
13. 如权利要求12所述的计算机实现方法(660),其特征在于,分 析与成功完成的任务有关的信息(664)包括识别映射到具有当成功地完 成任务时的值的应用程序存储位置的最接近的在先回合的识别结果的语 义部(666)并且将语义部添加到数组。
14. 如权利要求13所述的计算机实现方法(660),其特征在于,推 断值是数组,以及其中,将该回合与推断值关联起来(668)包括将任务 中的所有回合与推断值关联起来。
15. 如权利要求10所述的计算机实现方法(660),其特征在于,基 于分别具有相关推断值的多个回合的分析,提供识别误差的测量(680)。
16. 如权利要求1所述的计算机实现方法(700),其特征在于,根据 任务定义应用程序,以及其中,任务包含一个或多个回合,以及其中,分析所接收的信息(704, 706, 708)包括分析(706, 708)用户在何处接 收或拒绝在已成功完成的任务中的确认回合中的值。
17. 如权利要求16所述的计算机实现方法(700),其特征在于,分 析信息(706, 708)包括识别与具有任务完成时的确认状态的值的确认回 合有关的应用程序存储位置(706, 708)。
18. 如权利要求16所述的计算机实现方法(700),其特征在于,分 析信息(706, 708)包括当任务成功地完成时,将相关确认回合的值与存 储位置的值进行比较。
19. 如权利要求16所述的计算机实现方法(700),其特征在于,所 述推断值包括在确认回合中的值的接受或拒绝,以及其中,关联所述推断 值(706, 708)包括关联接受或拒绝的正确性。
20. —种计算机可读介质,具有可在计算机上执行的指令,用于实现 权利要求1到19的方法(620, 660, 700)中的任何一个。
全文摘要
在语音激活应用中,对于对话回合(用户-系统交换)的记录数据中的上下文信息施加分析处理,以便诊断语音识别问题。诊断可以包括推断给定用户响应的语义(图12)。从语义推断中,还能获得关于语义识别准确度的估计。
文档编号G10L11/00GK101536083SQ200680020179
公开日2009年9月16日 申请日期2006年6月7日 优先权日2005年6月30日
发明者A·W·保科尔, S·F·波特 申请人:微软公司
来自不可转录数据的诊断识别问题的制作方法
相关推荐
专利名称:空气传导防辐射手机耳机的制作方法技术领域:本实用新型涉及一种手机耳机,特别涉及一种空气传导防辐射手机耳机。背景技术:日常生活中我们经常使用手机,手机的辐射一般比较大,通话时间较长会对人体产生一定剂量的辐射,对人体健康有害。资料显示
专利名称:固体摄像装置、其滤色器配置方法及图像记录装置的制作方法技术领域:本实施方式通常涉及固体摄像装置、其滤色器配置方法、以及图像记录装置。 背景技术:固体摄像装置作为进行图像输入处理的基本元件而在各种领域中被广泛使用。目前通常使用的固体
专利名称:具有精度缓冲器的多芯套圈及其制造方法技术领域:本发明主要涉及多芯套圈及其制造方法,尤其涉及的是用于制造缓冲器高度容差和兴趣区表面光洁度得到改善的多芯套圈(multifiber ferrule)组件 的改进的方法。背景技术:以单独或
专利名称:粉末容器、粉末传送设备和成像设备的制作方法技术领域:本发明涉及一种容纳粉末的粉末容器、传送粉末容器内容纳的粉末以排出该粉末的粉末传送设备以及包括粉末传送设备的成像设备。背景技术:电子照相成像设备,如复印机、打印机、传真机和具有复印
专利名称:一种用于儿童玩具的语音点播装置的制作方法技术领域:本实用新型涉及智能玩具领域,尤其是一种用于儿童玩具的语音点播装置。 背景技术:智能玩具越来越受到家长的青睐,随着技术的进步,音乐故事播放类玩具的存储容量越来越大,早教音频内容也越来
专利名称:用于并行传输的光收发组件的制作方法技术领域:本发明涉及一种用于并行传输的光收发组件。 背景技术:随着光通信的飞速发展,对于光纤通信中激光器或探测器与光通道对准耦合,已经有了很多相关研究。大部分产品都是基于单一激光器对准单一光纤实现