首页> 中国专利> 用语音应用语言标记执行的语义对象同步理解

用语音应用语言标记执行的语义对象同步理解

摘要

一种语音理解系统包括一个语言模式,该语言模式包含一个N-gram语言模式和一个上下文无关文法语言模式的一个组合,该语言模式存储涉及字以及将要识别的语义信息的信息。该语音理解系统还包括一个适用于接收用户输入并捕获该输入用来处理的模块。该模块进一步适用于接收与输入识别有关的SALT应用程序接口,该模块配置成处理SALT用程序接口输入以用来确定与输入的第一部分有关的语义信息并通过访问语言模式来输出包括第一部分的文本和语义信息的语义对象,其中当连续捕获输入的随后部分时执行识别并输出语义对象。

著录项

  • 公开/公告号CN1573928A

    专利类型发明专利

  • 公开/公告日2005-02-02

    原文格式PDF

  • 申请/专利权人 微软公司;

    申请/专利号CN200410059568.7

  • 发明设计人 王冠三;

    申请日2004-05-28

  • 分类号G10L15/22;G10L15/08;G06F9/44;

  • 代理机构上海专利商标事务所;

  • 代理人李家麟

  • 地址 美国华盛顿州

  • 入库时间 2023-12-17 15:47:27

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-05-20

    专利权的转移 IPC(主分类):G10L15/22 变更前: 变更后: 登记生效日:20150506 申请日:20040528

    专利申请权、专利权的转移

  • 2010-01-06

    授权

    授权

  • 2006-06-14

    实质审查的生效

    实质审查的生效

  • 2005-02-02

    公开

    公开

说明书

发明背景

本发明涉及计算机系统中的信息访问和汇报。尤其涉及使用识别和理解来访问信息。

近来,已经发展了允许用户通过提供语音命令,在计算机系统上访问信息的技术。一旦收到一个用户命令,那么为了确定用户的意图,计算机系统将在用户输入的基础上执行语音识别并对该输入作进一步的处理,其目的在于使计算机系统执行所期望的动作。

在某些情况下,用户提供的输入是不完整或不确定的,这将需要计算机系统以视频或音频提示的形式向用户请求进一步的信息。因此可以在用户与计算机系统之间建立一个对话框,其中在确定了用户意图并可以执行一个动作之前,用户和计算机系统轮流提供问题,答案和/或确认。在其他情况中,创建这样一个话框是用于与计算机系统相互作用的优选模式。

为了使语音成为现代用户接口设计的可行输入/输出方式,已经引入了语音应用语言标记(SALT)。SALT的设计目的是使通用语音任务易于编程,而且具有简易实现的高级性能。例如,一个专门通过语音对话框仅与用户相互作用的基于电话的纯语音应用程序。

SALT包括语音输入和输出对象(“listen”和“prompt”),他们具有同一种合并技术的模式设计以检测用户轮次的开始和结尾。因此,许多语音应用程序采用需要用户发信号通知一个用户轮次开始的用户接口。一些计算机系统包括便携式计算机,语音启动模式装置或多模式装置(由一个诸如鼠标此类的输入装置为选择的区域提供语音输入)以及其他解放双眼的应用。尽管如此,在每个情况中,在对话框中仍然存在对比计算机系统的用户轮次上清楚切分的情况。

然而人类对话通常不遵循参与者之间的清楚切分的、轮流的对话。相反地,对话可以包括由一个参与者提供的确认,确定,提问等,此时其他参与者正提供可以彻底影响,轻微影响或甚至一点也不影响说话者正提供信息的方式。人类发言者喜欢这种自然形式的对话。同样地,电话系统采用全双工技术以允许发生这种对话。

相比之下,基于接口的对话框采用在一个用户和一个计算机系统之间固定轮流操作的模式,这导致计算机系统在处理和进行后来的动作之前要等到用户对话框的结束。尽管在用户完成他的/她的轮次而且计算机系统作出了响应之前,诸如穿过计算屏幕的一系列点进程那样的视频指示的简单反馈可以提供给用户一些保证,保证计算机系统至少在处理着什么,但是该计算机系统理解的程度还是未知的。

因此,在计算机系统中需要基于识别和理解的改善。这种改善将提供一种通过对用户更自然,更易于使用的用于访问信息的系统或方法。

发明概述

一种提供动态汇报部分语义解析的语音输入模式的方法和系统,而音频说明仍在进行。可以使用一个立即汇报给用户的结果来评价该语义分析。

一方面,一种语音理解系统包括一个语言模式,该语言模式包含一个N-gram语言模式和一个上下文无关文法语言模式的一个组合。该语言模式存储有关字以及将要识别的语义信息的信息。该语音理解系统还包括一个适用于接收用户输入并捕获该输入以用于处理的模块。该模块进一步适用于接收与输入识别有关的SALT应用程序接口。该模块配置成处理SALT应用程序接口和输入以用来确定与输入的第一部分有关的语义信息并通过访问语言模式来输出包括第一部分的文本和语义信息的语义对象,其中当连续捕获输入的随后部分时执行识别并输出语义对象。

附图简述

图1是一个数据显示系统的方框图;

图2是一个计算装置运行环境的平面图;

图3是图2中计算装置的方框图;

图4是一个电话的平面图;

图5是一个通用计算机的方框图;

图6是一个对于客户/服务器系统的体系结构的方框图;

图7是一个语音识别和理解模块的方框图。

说明性实施例的详细描述

图1是一个用于在声音输入的基础上再现数据的数据显示系统10的方框图。系统10包括一个语音接口模块12,一个语音识别和理解模块14和一个数据再现模块16。用户用声音查询的形式提供输入给语音接口模块12。语音接口模块12从一个用户那儿搜集语音信息并提供一个它的指示性信号。在语音接口模块12搜集了输入的语音之后,语音识别和理解模块14用一个语音识别器识别语音,并且还执行语音理解,其中在本发明的一个方面,提供至今为止接收到的输入的部分语义解析,同时仍然捕获音频语音输入。

将此部分语义解析提供给能够使用多种不同形式实现的应用模块16,该部分语义解析一般包括所接收输入的文本(或者输入文本的其他指示性数据),而且还包括确定的语义信息。例如,在一个实施例中,应用模块16可以是一个用来发送,接收和答复电子邮件,安排会议等诸如此类的个人信息管理器。在这种方式下,用户可以提供音频命令来执行这些任务。更重要的是应用模块16可以提供交互式的反馈和/或在接收部分语义解析信息时对部分语义分析信息采取动作,藉此给用户提供一个应用模块16的高度交互式接口。例如,在一种纯声音的操作方式中,输出20可以包括返回到用户的音频指令,当然,同时可能执行其他涉及此应用程序的任务。该部分语义解析或语义对象可以用来在应用程序中执行对话逻辑。例如,该对话逻辑可以在一个或更多的语义对象基础上向用户显示一个选项或多个选项或一栏选项。

这使得系统10能够在一个部分发言的基础上来立即汇报结果,即在用户轮次结束之前。换言之,通过使用秘密渠道通信来汇报并执行通常与一个系统轮次相关的任务,使用户和系统轮次的定义变得模糊。最传统的对话框计划经常将秘密渠道通信视为仅传送诸如肯定应答,否定应答或中立应答那样简单信号的非交互式反馈,这尤其是那些在人对人对话框基础上的对话框计划。然而,输出20所提供的反馈大概可以传送更多的信息以致于稍微插入到正在进行的用户发言中,该反馈可以导致或不导致用户阐明用户的意图或方向。尽管如此,该方法在用户和系统10之间提供一个更逼真的仿人对话框,多数情况下不认为该对话框烦人,而是对于用户而言更加轻松并逐渐有信心满足用户的需求。

在这一点上,应该注意本发明并不局限于一个纯声音运行环境,而是可以包括在部分语义解析或对象处理基础上反馈给用户的其它形式。例如,在上述应用模块16执行电子邮件任务的应用程序中,输出20可以包括视频反馈,诸如仅仅在一个来自用户的包含“发送电子邮件给Bob”的连续命令中的“发送电子邮件”的短语回执基础上激活一个电子邮件模块,其中短语“给Bob”的处理可以导致应用模块访问数据存储器18中的进一步信息并再现一个名为“Bob”的人员列表。因此参看该列表,用户可简单地确定该预定收件人为“Bob Green”,于是由于系统将已经为此部分发言“Bob Green”提供了另一个语义对象,所以可以选择此人,这依据于应用程序提供的回执,而且对其进行的处理将导致选择“Bob Green”。

如上所示,应用模块16能够以多种形式实现,本发明以下对此方面的进一步描述或许有益。在没有限制的情况下,应用模块16还可以是一个口述模块,用来提供用户口头输入的文本输出。然而,通过同样处理输入的部分输入或输入短语处理语义信息,可以获得一个更精确的转换。

尽管上述关于一个来自用户并包含声音命令的输入,但是本发明的这些方面还可以适用于其它输入形式,诸如手写,DTMF,手势或视频指示。

给予部分语义解析或对象处理广阔的适用性,可以有利于描述上述能够运行于系统10中的一般计算装置。如本领域技术人员所理解那样,系统10的部件可以位于单个计算机之内或分布于使用网络连接或协议的一个分布式计算环境中。

请参看图2,用30来举例说明一个移动装置的示范形式,诸如一个数据管理装置(PIM,PDA等)。然而,应预料的是本发明还可以使用以下讨论的其它计算装置来实现。例如,电话机和/或数据管理装置也将受益于本发明。与现有便携式个人信息管理装置和其他便携式电子装置相比,这种装置将具有一个增强的实用性。

在图2举例说明的数据管理移动装置30的示范形式中,该移动装置30包括一个外壳32并具有一个包括显示屏34的用户界面,该用户界面使用一个结合了指示笔33的触感显示屏。指示笔33用来在设定的坐标上按压或接触显示屏34来选择一个区域,有选择性地移动一个光标的启动位置或另外的用来提供诸如通过手势或手写那样的命令信息。可选或附加地,在设备30上可以包括一个或更多个用于导航的按钮35。另外,还可以提供诸如旋转轮,滚轴等其他输入机制。然而应该注意到本发明并不限于这些输入机制形式。例如,另一种输入形式可以包括诸如通过计算机视觉那样的一种视频输入。

请参看图3,一个举例说明包含移动装置30的功能部件的方框图。中央处理单元(CPU)50执行软件控制功能。CPU50连接于显示器34使得在显示器34上显示根据控制软件所生成的文本和图形图标。扬声器43一般可以通过一个数模转换器59连接到CPU50以提供一个音频输出。在与CPU50双向连接的非易失性读/写随机存取存储器54中存储下载的或由用户输入到移动装置30中的数据。随机存取存储器(RAM)54为CPU50所执行的指令提供易失性存储器,而且为诸如寄存器值此类的临时数据提供存储器。在只读存储器(ROM)58中存储配置选项和其他变量的默认值。ROM58还可以用来为那些控制移动装置30的基本函数以及其它操作系统核函数(例如往RAM54中加载软件部件)的装置存储操作系统软件。

RAM54还充当一个与PC上一个用来存储应用程序的硬盘的功能类似的当场代码存储器。应该注意到尽管非易失性存储器用于存储代码,但可选地,可以在不用于执行代码的易失性存储器中存储该代码。

可以由移动装置通过连接到CPU50的无线收发装置52来发射/接收无线信号。如果需要的话,可以提供一个任选的通信接口60来从一个计算机(例如,台式计算机)或一个有线网络直接下载数据。另外,接口60可以包括多种形式的通信装置,例如红外线路,调制解调器,网卡等。

移动装置30包括一个麦克风29,模数转换器(A/D)37,以及一个在存储器54中存储的任选识别程序(语音,DTMF,手写,手势或计算机视觉)。举例来说,响应来自用户装置30的音频信息,指令或命令,麦克风29提供由A/D转换器37数字化的语音信号。该语音识别程序可以在数字化语音信号上执行标准化和/或特征析取功能来获得中间语音识别结果。使用无线收发装置52或通信接口60可以将语音数据发射到以下讨论并在图6的体系结构中举例说明的远程识别服务器204。然后可以将识别结果返回移动装置30以在其上再现(例如视频的和/或音频的),最后传送到网络服务器202(图6),其中网络服务器202与移动装置30以客户机/服务器的关系进行操作。

类似的处理可以用于其他输入形式。例如,在设备30上可以使用预处理地数字化手写输入或不使用预处理地数字化手写输入。与语音数据类似,可以将这种形式的输入发射到识别服务器204中识别,其中将处理结果返回到装置30和/或网络服务器202中的至少一个上。同样地,可以类似地处理DTMF数据,手势数据和视频数据。取决于输入形式,装置30(和以下讨论的其他客户机形式)将包括对于视频输入所必要的硬件,如照相机。

图4是一个便携式电话机80的实例平面图。该电话机80包括显示屏82和键区84。一般而言,虽然可以要求执行其他功能所必需的附加电路,但是图3的方框图通常应用于图4的电话机。例如,对图3的实施例将需要一个必要的收发装置来作为一个电话机;然而,该电路与本发明无关。

除了上述便携式或移动计算装置以外,还应该理解到本发明可以采用其他众多诸如一般台式计算机那样的计算装置。例如,当其他诸如全字母-数字键盘那样的传统输入设备难于操作时,本发明将允许用户以有限的体能来往计算机或其他计算装置中输入或键入文本。

本发明还可以供其他众多通用或专用计算系统,环境或配置使用。可以适合采用本发明的公知计算系统,环境和/或配置的例子包括(但不限于)常规电话(没有任何屏幕)个人计算机,服务器计算机,手持或膝上型装置,平板计算机,多处理器系统,基于微处理器的系统,置顶盒,可编程消费电子装置,网络PC,小型计算机,大型机,包括以上任何系统或装置等的分布式计算环境等等类似物。

接下来简要描述图5中举例说明的通用计算机120。然而,计算机120仍仅是一个适合的计算环境的例子,而且也不认为是对本发明的用途或功能进行任何限定。不应该将计算机120理解为具有涉及在此举例说明的任何一个部件或这些部件的组合的任何从属性或必要条件。

可以在计算机所执行的诸如程序模块那样的计算机可执行指令的通用上下文中描述本发明。通常,程序模块包括例行程序,程序,对象,部件,数据结构等,他们执行部分任务或执行部分抽象数据类型。本发明还可以在分布计算环境中实现,其中由通过一个通信网络连接的远程处理装置执行该计算环境中的任务。在分布计算环境中,程序模块可以位于包含存储器装置的本地和远程计算机存储媒体中。以下借助于附图来描述由程序和模块执行的任务。本领域技术人员可以将描述和附图实现为可以在任何形式的计算机可读媒体上编写的处理器可执行指令。

参照图5,计算机120的部件可以包括但不局限于:一个处理装置140,一个系统存储器150以及一个把包括系统存储器的多个系统部件连接到处理装置140的系统总线141。系统总线141可以是其中任何一种包括一个存储器总线或存储器控制器,一个外围总线,以及使用多个总线体系结构中的一种的一个本地总线的总线结构。举例来说(但并不局限于此),这种体系结构包括工业标准结构(ISA)总线,通用串行总线(USB),微通道结构(MCA)总线,扩展ISA(EISA)总线,视频电子协会标准(VESA)本地总线,以及也称为附加板总线的周边元件扩展接口(PCI)总线。计算机120一般包括多个计算机可读媒体。计算机可读媒体可以是任何一种能够由计算机120访问的有效媒体并包括易失性和非易失性媒体,可移动和不可移动媒体。举例来说(但并不局限于此),计算机可读媒体可以包含计算机存储媒体和通信媒体。计算机存储媒体包括为了存储诸如计算机可读指令,数据结构,程序模块或其他数据那样的信息,以任何方式或技术实现的易失性和非易失性,可移动和不可移动的媒体。计算机存储媒体包括(但并不限于):RAM,ROM,EEPROM,闪存或其他存储技术,CD-ROM,数字化视频光盘或其他光盘存储器,磁带盒,磁带,磁性光盘存储器或其他磁性存储器装置,或其他任何由计算机120访问并存储想要的信息的媒体。

通信媒体一般在诸如载波或其他传送机制那样的调制数据信号中包含有计算机可读指令,数据结构,程序模块或其他数据,并且该通信媒体包括任何信息传送媒体。术语“调制数据信号”意味着一个具有一个或更多个自己的特征集的信号,或者是一种以这种方式变化以在该信号中对信息编码的信号。举例来说(但并不局限于此),通信媒体包括诸如一个有线网络或直线连接那样的有线媒体,以及诸如声音的,FR,红外线的那样的无线媒体和其他无线媒体。以上任何组合应该包含在计算机可读媒体的范围之内。

系统存储器150包括以诸如只读存储器(ROM)151和随机存取存储器(RAM)152那样的易失性和/或非易失性存储器形式的计算机存储媒体。一般在ROM151中存储一个基本输入/输出系统153(BIOS),该BIOS包含有助于传送计算机120内元件之间信息的基本例行程序,诸如在启动过程中。RAM152一般包含由处理装置140立即可存取的和/或当前执行的数据和/或程序模式。举例来说(但并不局限于此),图5举例说明操作系统154,应用程序155,其他程序模式156和程序数据157。

计算机120还可以包括其他可移动/不可移动的易失性/非易失性计算机存储媒体。仅举例来说,图5举例说明一个从不可移动的,非易失性磁性媒体读取或往其中写东西的硬盘驱动器161,一个从可移动的,非易失性磁盘172读取或往其中写东西的磁盘驱动器171,以及一个从诸如CD-ROM或其他光媒体那样的可移动的,非易失性光盘176中读取或往其中写东西的光盘驱动器175。可以在示范运行环境中使用的其他可移动/不可移动的,易失性/非易失性计算机存储媒体包括(但并不局限于):磁带盒,闪存卡,数字化视频光盘,数字视频磁带,固态RAM,固态RAM等。硬盘驱动器161一般通过诸如接口160那样一个不可移动的存储器接口与系统总线141相连接,而且磁盘驱动器171和光盘驱动器175一般通过诸如接口170那样一个可移动的存储接口与系统总线141相连接。

以上讨论的并在图5中举例说明的驱动器及其相关的计算机存储媒体为计算机120提供计算机可读指令,数据结构,程序模式以及其他数据的存储器。例如在图5中,是以存储了操作系统164、应用程序165、其他程序模块166,以及程序数据167来说明硬盘驱动器161的。注意,这些部件可以相同或不同于操作系统154,应用程序155,其他程序模块156以及程序数据157。在这里将用不同的数字来描述操作系统164,应用程序165,其他程序模块166和程序数据167,至少他们是不同版本的。

用户可以通过诸如键盘182,麦克风183和像鼠标,跟踪球或触摸屏那样的点击装置的输入设备往计算机120中输入命令和指令。其他输入设备(未显示)可以包括游戏控制杆,游戏垫,圆盘式卫星电视天线,扫描仪等。这些输入设备和其他输入设备经常通过一个连接到系统总线的用户输入接口180相连于处理设备140,但是可以通过其他诸如并行端口,游戏端口或通用串行总线(USB)这样的接口和总线结构来连接这些输入设备。监视器184或其他类型的显示设备还经由一个诸如视频接口185那样的接口与系统总线141相连接。除监视器以外,计算机还可以包括其他诸如扬声器187和打印机186那样的外围输出设备,可以通过一个输出外围接口188连接这些外围输出设备。

计算机120可以运行在使用逻辑连接到一个或更多个远程计算机的网络工作环境中,例如一个远程计算机194。远程计算机可以是个人计算机,手持装置,服务器,路由器,网络工作PC,对等装置或其他通用网络节点,而且计算机120一般包括多个或所有上述与计算机120有关的部件。在图5中描述的该逻辑连接包括局域网(LAN)191和广域网(WAN)193,但它还可以包括其他网络。这种网络环境在办公室,企业宽带计算机网络,企业内部互联网和国际互联网中是很平常的。

当应用在一个局域网的网络环境中时,计算机120通过一个网络接口或适配器190与局域网连接。当应用在一个广域网的网络环境中时,计算机120一般包括一个调制解调器192或其他用于在WAN193上建立连接的装置,如国际互联网。或是内部的或是外部的调制解调器192可以经由用户输入接口180或其他合适的机制与系统总线141连接。在一个网络环境中,可以在远程存储器装置中存储与计算机120有关的程序模块或相应的段。举例说明但(并不局限于此),图5说明的远程应用程序195保存在远程计算机194上。应理解得是,所显示的网络连接仅是示例,也可以使用其他装置在计算机之间建立连接。

图6举例说明基于识别和数据再现的网络体系结构200,该体系结构是本发明的一个示范环境。通常,可以通过诸如移动装置30或计算机120那样的一个客户机访问存储在网络服务器202中的信息(其中表示其他形式的具有一个显示屏,一个麦克风,一个照相机,一个触摸板等的计算设备,这需要以输入形式为基础),或者通过其中要求音频信息的电话机80或者响应按下的键由电话机80而产生的音调,而且其中仅将来自网络服务器202的音频信息返回给用户。

在该实施例中,体系结构200在是否通过客户机100或电话机80获得信息是统一标准的,单个识别服务器204可以支持每一种操作模式。另外,体系结构200用一种扩展的众所周知的标记语言来进行操作(例如HTML,XHTML,cHTML,XML,WML等)。因此,还可以使用以这些标记语言创建的众所周知的GUI方法来访问存储在网络服务器202上的信息。使用这些扩展的众所周知的标记语言使得更容易在网络服务器上进行创建,而且还可以易于修改目前存在的传统应用程序使其包含声音识别。

通常,客户100执行由网络服务器202使用一个浏览器所提供的通常用206表示的HTML页面,脚本等。举例来说,当需要声音识别时,将已经如上所述由客户机100预处理其中音频数据的语音数据提供给识别服务器204,该识别服务器具有一个可以由客户100机所提供的在语音识别期间使用的文法或语言模式220的指示。另外,语音服务器204可以包括语言模式220。可以以多种形式来实现该识别服务器,其中一种形式如上所述,但通常包括一个识别器211。如果需要或合适的话,提供识别结果返回到客户100机用来本地再现。如果需要的话,文本-到-语音模块222可以用来提供口头文本到客户机100。如果必要的话,根据通过识别和任何图形用户接口(如果使用)进行的信息编译,客户机100发送信息到网络服务器202用以进一步处理以及进一步接收HTML页面/脚本。

如图6中所述,客户机100,网络服务器202和识别服务器204通常是通过网络205连接并分别寻址的,在这里是诸如国际互联网那样一个广域网。因此任何这些装置没有必要彼此实际互连定位。特别是,网络服务器202没有必要包括识别服务器204。照这样,可以把在网络服务器202上的创建集中在应用程序上,而不需要让创建者知道识别服务器204的复杂性。相反地,可以独立设计识别服务器204并将其连接到网络205,并不需要进一步的改变而对网络服务器202进行更新和改善。网络服务器202还可以包括一个能够动态地产生客户端标记和脚本的创建机制。在进一步的实施例中,可以根据执行机制的能力来结合网络服务器202,识别服务器204和客户机100。例如,如果客户机100包含一个诸如个人计算机那样的通用计算机,该客户机可以包括识别服务器204等,如果需要的话,可以在单个机器中结合网络服务器202和识别服务器204。

通过电话机80对网络服务器202的访问包括将电话机80连接到一个有线或无线的电话网络208,轮流地,将电话机80连接到一个第三部分通路210。通路210把电话机80连接到一个电话声音浏览器212。电话声音浏览器212包括一个提供电话接口和声音浏览器216的媒体服务器214。与客户机100类似,电话声音浏览器212接收HTML页面/脚本或来自网络服务器202的相同东西。在一个实施例中,该HTML页面/脚本与提供给客户100的HTML页面/脚本在形式上相近。照这样,网络服务器不必分别支持客户100和电话80,或者甚至不必分别支持标准GUI客户机。相反地,可以使用一种通用标记语言。另外与客户机100类似,通过网络205或通过专用路线207,例如使用TCP/IP,从声音浏览器216把来自于由电话机80发射的音频信号的声音识别提供给识别服务器204。可以在诸如图5中所描述的通用计算机那样的任何合适的计算环境中嵌入网络服务器202,识别服务器204和电话声音浏览器212。

已经描述了多种环境以及在系统10中运行的体系结构,现在将对多个部件和系统10的功能提供一个更详细的描述。图7举例说明语音识别和理解模块14的一个方框图。把接收自语音接口模块12的输入语音发送到语音识别和理解模块14。语音识别和理解模块14包括具有一个相关的语言模块310的识别引擎306。识别引擎306用语言模块310来确定可能的表面语义结构以显示每一个形成该输入的短语,当接收输入时提供部分语义解析。与等候用户完成发言然后处理所接收的完整输入的系统不同,模块14仅基于至今为止已接收的持续提供语义对象。

识别引擎306在部分发言的基础上提供至少一个表面语义输出对象。在一些实施例中,识别引擎306能够对每一个可选择的结构提供多于一个的可选择表面语义对象。

尽管在图7中举例说明中提供了语音输入,但是本发明可以利用手写识别,手势识别或图形用户接口(其中该用户与一个键盘或其他输入设备相互作用)。在另外的实施例中,用一个合适的识别引擎取代语音识别器306是本领域公知的技术。对于图形用户接口,具有语言模式的文法与诸如通过一个输入框的用户输入有关。另外,在输入方式基础上以一种不需要显著修改的连贯方式处理用户输入。

上述交互式对话框还包括系统10基于部分语义或对象提供的其他形式的信息反馈,该交互式对话框10可以用SALT(语音应用语言标记)或其他语音、手写,以及支持一个语言模式结构的模式识别AIP(应用程序接口)来实现,该语言模式结构能够在一个给定的应用程序和语义对象同步解码的已选择模式的基础上提供语义信息。SALT是一种能够从个人计算机,电话,平面PC和无线移动装置中访问信息,应用程序和网络服务的发展中的标准,例如,SALT还可以应用于应用接口,同时不需要经过网络进行互连。SALT扩展现有诸如HTML,XHTML和XML那样的标记语言。可以在http://www.SALTforum.org上在线找到SALT.10规范。还应该注意到,SALT可以基于用户的输入提供语义信息,例如从语音服务器204,这种信息在完成一个发言后构成提供给数据再现模块16的对象;然而如下进一步描述的,可以先前不打算提供部分语义解析或对象的方式使用SALT。使用SALT扩展或在其他API中类似的扩展,为驱动用户交互的高度交互式事件提供支持。

举例来说使用SALT,该SALT的listen对象可以用来执行语音识别和理解任务。这是因为该设计遵循将语音识别理解为模式识别问题的观点和公式化,,就像语音识别。同样力求从最匹配一个给予的语音信号的一个可能输出的集合中找到一个模式。对于语音识别,要找到的模式是一个字符串,而对于理解是一个语义对象树。传统语音识别任务命令用包含可能的字符串的语言模式进行搜索处理。一个语音理解任务可以以一种类似的方式指导相同的搜索引擎来用一个语义模式组成合适的语义对象树。如经常暗示一个专门词汇和从专门词汇入口组合短语段的规则这样的语言模式,一个语义模式暗示一个所有语义对象和组成它们的规则的字典。当识别结果是一个文本串时,该理解结果是语义对象树。

尽管有可能扩展N-gram来返回一个构成的搜索结果,但是多数标准语音理解应用程序是在其中设计者可以指定组成语义对象的规则而没有庞大的注释培训数据的树库的随机上下文无关文法基础上的。一种指定这些规则的方法与每一个带有产品指向的PCFG有关,该产品执行是关于搜索引擎如何将部分PCFG短语树转换成一个语义对象树。以下显示的是一个用微软语音应用接口(SAPI)编写的实施例(它也是可以用在本发明一个语音API的实施例):

<rule name=”nyc”>

<list>

<phrase>new york?city</phrase>

<phrase>the big apple</phrase>

</list>

<output>

<city_location>

<city>New York</city>

<state>New York</state>

<country>USA</country>

</city_location>

</output>

</rule>

...

<rule name=”NewMeeting”>

<rulerefmin=”0”name=”CarrierPhrase”>

<rulerefmax=”inf”name=”Apptproperty”>

<output>

<NewMeeting>

<DateTime>

<xsl:apply-templates select=”//Date”/>

<xsl:apply-templates select=”//Time”/>

<xsl:apply-templates select=”//Duration”/>

</DateTime>

<Invitees>

<xsl:apply-templates select=”//Person”/>

</Invitees>

...

</NewMeeting>

</output>

</rule>

<rule name=”ApptProperty”>

<list>

<rulerefname=”Date”/>

<rulerefname=”Duration”/>

<rulerefname=”Time”/>

<rulerefname=”Person”max=”inf”/>

<rulerefname=”ApptSubject”/>

....

</list>

</rule>

....

该文法程序段包含三个法则。第一,一个名为“nyc”的前端列出关于纽约市的表达式。本实施例中的标记<output>揭示关于构造语义对象的法则。当搜索路径退出文法节点时启用他们,通过优先立即标记来表示该文法节点。在这种情况下,当一个搜索路径退出“nyc”法则时,创建一个表示为具有一个<city_location>元素的XML的语义对象。该语义对象分别由以下三个语义对象轮流组成:城市名,州和国家名缩写。

语义对象的组成还可以是一个动态过程,例如,在安排一个新的会面中。例如,当用户完成对诸如日期,时间,持续时间和出席者那样的会面属性的指定时将产生一个NewMeeting语义对象。可以用模板往NewMeeting语义对象中粘帖其他语义对象作为其组成部分。还可以把相同的法则运用到这里没有显示的其他法则中。举例来说,以下语义对象将导致一个发言“在1月1日安排LiDeng与AlexAcero进行一个为时1个小时的会面”:

<NewMeeting>

<DateTime>

<Date>01/01/2003</Date>

<Duration>3600</Duration>

</DateTime>

<Invitees>

<Person>Li Deng</Person>

<Person>Alex Acero</person>

</Invitees>

</NewMeeting>

在实际应用中,提高PCFG有效区域是一项艰难的任务。因此需要能够使用一个N-gram到模式,其中,功能语句不传送关键的语义信息,但通常在文法结构中具有相当大的变化(例如,”May I...”,”Couldyou show me...”,”Please showme...”)。在一个实施例中,语言模式310包含一个结合了PCFG和N-gram的语义语言模式。该技术与同样也可以使用的一个统一语言模式稍微不同。除了该统一语言模式允许CFG分段而不仅仅是一列字之外,该统一语言模式是对传统分类N-gram的自然扩展来形成N-gram中的一个特殊标记。使用该模式的识别器306仍然产生接着要解析的文本串。因此设计该统一语言模式以结合某个语言结构来辅助文本翻译。

另一方面,该语义语言模式旨在使用解码器或识别器来对语义结构进行搜索,通常由PCFG来捕获会更好。因此,与在N-gram中嵌入CFG分段相反,通过创建一个响应内部N-gram的专用PCFG前端,PCFG用来包含N-gram。在微软SAPI文法格式中,这可以用带有一个XML<dictation>标记的一个前端来表示,就如同在LCFG<dictateon max=”inf”/>RCFG中。

其中LCFG和RCFG分别表示嵌入的N-gram的左、右上下文。该搜索处理创建作为一个作为标记的<dictation>标记并在N-gram中扩展,仿佛进入一个规则的非终结符号。该标记上的最大属性指定N-gram能够耗费的最大字数。在N-gram内,通过对补偿N-gram内插PCFG来计算字符串概率,更特别地:

P(Wn|Wn-1,Wn-2,...)=λP(Wn|Ngram,Wn-1,Wn-2,...)+

(1-λ)P(Wn|RCFG)P(RCFG|Wn-1,Wn-2,...)            (1)

其中λ是N-gram内插权而且P(RCFG|Wn-1,...)使用N-gram的补偿概率,即创建Wn就好像它不是一个词汇单词。在一个实施例中,术语P(Wn|RCFG)取决于是否达到最大N-gram字符串大小而且该字是否在CFG分段的传送中来假定二元值。既然取自PCFG的字经常具有一个较高概率,那么甚至在将最大N-gram字计算设置成无穷大时,真正适合CFG所转换的路径也倾向于克服他们N-gram副本的障碍。除了功能语句以外,嵌入的N-gran还可以用来构建具有一个作为属性的口述的语义对象。例如,meeting对象是我们以下任务中的模式:

<rule name=”ApptSubject”>

<p><dictation rnax=”inf”/><P>

在K.Wang的“Semantic modeling for dialog system in a pattern recognitionframework”(Proc.Asru-2001,Trento Italy 2001)中描述了关于语义语言模式的进一步细节,在此结合参考了它的全部内容。

本发明进一步包括对SALT的listen对象的新的运用。SALT提供一组具有相关属性和DOM对象属性的XML元素,可以连同一个源标记文件一起用来把一个语音接口运用到一个源页面的事件和方法。通常,该主要元素包括:

<Promt...>用于语音合成配置并提示运行

<Listen...>用于语音识别器配置,识别执行和错后处理,并记录

<dtmf...>用于DTMF配置和控制

<smex...>用于具有平台部件的通用通信

listen和dtmf对象还包含grammar和bind控制:

<grammar...>用于指定输入文法

<bind...>用于处理识别结果

listen元素可以包括一个用来区分三种识别模式的“mode”属性,它命令识别服务器(例如204)怎样以及什么时候返回结果。该返回结果酌情暗示提供“onReco”事件或激活“bind”时间。

在第一个模式中,语音平台“automatic”而非应用程序控制何时停止识别处理。该模式还为电话或解放双手方案进行了发展。一旦一个识别结果有效,和/或一个过去的时间周期表示停止,语音平台自动停止识别器并返回其结果,该结果可以通过bind元素与合适的字段相关。

在第二个操作模式中,一个识别结果的返回“single”是受一个明确的“stop”请求控制的。该停止请求将响应用户的诸如“pen-up”那样的事件,而且该模式为了用在一个多模式环境中而得到了发展,其中在多模式环境中的装置允许语音输入,但是用户一般受到用什么以及什么时候选择字段的控制,诸如通过使用指示笔33(图1)。

语音识别器的第三种操作模式是一个“多模式”。该操作模式用于“打开麦克风”或用在一个口述方案中。通常,在此操作模式中,在接收一个明确的停止请求或其他超出了关于非识别输入的时间周期或听的一个最大时间之前,不时地返回识别结果。通常,以这种操作方式,在接收停止请求之前对每一个识别的语句声明一个“onReco”事件并且返回结果。

然而,作为本发明另一个方面,该操作模式可以提供一种方法,用于通过允许他们每当达到一个显著的语言界标时立即汇报,对于检索引擎用来揭示更多对用户的交互能力。众所周知检索算法基于时间同步解码,并可以对该模式以简单的方式执行该算法。H.Ney,S.Ortmanns 1999年在IEEE Signal ProcessingMagazine,pp.64-83上的“Dynamic programming search for continuous speechrecognition”中描述了其中一种该算法。对于语音识别,该语言界标通常响应一个字或一个短语界面。一旦他们有效,一个SALT多模式识别就可以用来动态显示该字符串假设,通常在多种商业命令软件中显示一个UI效果。然而,在本发明中,该多模式可以创建语义对象的实例作为语言界标和汇报,即提供一些答复用作可以理解的东西的功能,同样以一种动态方式在他们上返回应用程序。这看起来似乎是SALT的应用程序设计者正在执行一个语义对象同步理解。

通过将该操作模式与一个多模式方案进行比较,可以更容易地理解该操作模式。例如,在多模式方案中,用户通过当说话时在一个输入字段中点击并保持指示笔来指示一个字段。当用户可以在一个通用字段上轻敲并发射出一个详细的句子以用一个单句充满多个字段时,该指定-交谈接口(tap-and-talk interface)仍然占用着用户的眼睛和手,这是一种不适合于多种情况的方案。另外,尽管指定-交谈特征在于一个显示有限语音语言处理的容量和进度条的有意义的秘密渠道通信。这些反馈仅对按照速度和精度量化语音语言处理提供非常原始的提示。对于长句可以假定这是更成问题的,其中可以把误差传送到一个宽频带示波器,最后要求仅仅在检验和校正该识别和理解结果方面作进一步的努力。既然可用的方案似乎指示长句是用实验证明语音的实用性超过了增强的或选择的键盘的关键区别因素,那么一个满意的用户界面技巧对成功使用语音作为一个可行的模式是绝对必要的。

为了促使一个仿人的计算机感知在完成一个共同目标中接近于合作伙伴,通过在他们有效时马上汇报部分语义解析或对象来进行语义对象同步理解。在一个实施例中,通过使用SALT中听元素的多模式来实现这个。特别是,对于该听元素,设计一个多模式然后为了识别该输入语音,指定所有识别文法。还可以在Listen对象中指定该指定结果。例如用来获得必要信息的HTML输入代码,诸如日期,时间,地点,对象和与会者等,可以用以下形式创建一个新的会面:

<listen mode=”multiple”...>

<grammar src=”subject.grm”/>

<grammar src=”date.grm”/>

<grammar src=”time_duration.grm”/>

<grammar src=”attendees.grm”/>

<bind targetElement=”subject”

value=”//ApptSubject”/>

<bind targetElement=”date”

value=”//DateTime”/>

<bind targetElement=”start_time”

value=”//start_time”

targetElement=”end_time”

value=”//end_time”

targetElement=”duration”

value=”//DateTime/duration”/>

...

</Listen>

该多个文法包含一个并行搜索空间。用于带有一个返回到入口点的空转换的识别。照这样,SALT允许Listen对象在一旦退出一个文法时产生一个事件。当进行优先音频采集和识别的时侯,该事件派生一个并行处理来依次启用bind指令,因此在对具有一个领域视频再现的应用程序仍然发出一个语音命令的时侯,为用户创建在形式上是充实的相关领域的影响。

对于为了解放双眼应用的用户接口,也许要求有伴生的语音输出。照这样,SALT的prompt对象可以用来提供立即返回。例如,接下来的prompt对象可以用于在数据领域里动态常量的基础上进行同步响应,而且可以如下所述用附加的SALT的bind指令触发该语音同步:

<prompt id=”say_date”>

on<value targetElement=”date”/>

</prompt>

...

<listen...>

<bind targetElement=”date”

value=”//date”

targeElement=”say_date”

targetMethod=”Start”/>

...

</listen>

总效应是用户感觉就像他/她和另一个参与者在交谈,不仅仅是草草记录下来而是重复所听到的东西,就像在下个星期二(10/29/02)两点(在下午两点开始)为时两个小时(持续时间:两个小时)的“安排一个会面(新会面)”中,其中在括号内提供返回到用户的表示音频和/或视频提示(也可以是同步的)的短语。

还应该注意到SALT允许设计者附上自定义识别事件处理程序,该处理程序执行超出诸如SALT的bind指令那样的简单指定的高级计算。在以上实施例中,可以在语义文法中完成数据归一化,然而该数据归一化无法促进高级参考结果(例如,“安排Li Deng与它的经理的一次会面”)。例如,可以将算法作为可达到目标事件处理程序的脚本对象来访问能存储数据以确定无穷的参考。K.Wang的“A plan based dialog system with probabilistic inferences”(Proc.ICSLP-2000,Beijing China 2000)中以及2002年4月24日公开的欧洲专利申请EP1199630A2中描述了这种算法,在此结合参考了它们的全部内容。

还应该注意到尽管为了listen对象退出了该多模式操作,但是在当前执行过程中,该模式对于诸如在口述方案中的输入数据仅提供文本。然而,在本发明中所接收作为输入的部分结果不仅仅是文本,而是还包括与该文本相关的响应语义信息,因此该输出包含部分语义解析或对象,这可以如上所述用来提供用户更多有关计算机已经完全理解所接收的东西的质量反馈。取决于应用程序接收部分语义解析或对象的技巧,系统可以在所接收的部分语义解析或对象的基础上提供反馈给用户确定,选择,校正和澄清。

尽管公知在多模式应用程序中包括多个文法来允许用户在前发言,从而提供该提供还未指定的信息的能力,由于listen元素提供给用户一个更高的理解指示,所以在多模式操作中使用listen元素会更好。在一个纯声音应用程序中产生一个自然形式对话框,反而如果使用执行的视频再现,可以在用户持续发言时,在用户至今为止所提供的部分语义解析的基础上开始处理一个应用程序(开始,显示临时结果或选项,例如通过弹出窗)。

尽管参照部分实施例描述了本发明,但是本领域技术人员将认识到可以在不脱离本发明的精神和范围的情况下进行形式上以及详细地改变。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号