用于高级交互接口的语义对象同步理解的制作方法

文档序号:2821758阅读:488来源:国知局
专利名称:用于高级交互接口的语义对象同步理解的制作方法
技术领域
本发明涉及在计算机系统中信息的访问和再现。更详细的说,本发明涉及使用识别和理解来访问信息。
近来,科技已经进步到允许用户通过提供语音命令来在一台计算机上访问信息。根据收到的用户命令,计算机系统在用户输入上执行语音识别,并且进一步处理该输入,来确定用户的意图,以使该计算机系统执行期望的动作。
在某些情况中,由用户提供的输入是不完整或者不明确的,这就要求计算机系统以可视或可听的提示的形式来向用户请求进一步的信息。这样,一个在用户和计算机系统之间的对话就可以被建立,其中双方轮流提出问题,答案和/或确认直到用户的意图被确定并且动作可以被执行。在其它的情况中,创建这样的对话对于和计算机系统交互是首选模式。
语音应用程序语言标签(SALT)已经被引入以促进语音作为用于现代用户接口设计的可行的输入/输出模态。SALT的设计目的在于使普通的语音任务易于编程,也允许直接实现高级的性能。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包括外壳32并且具有包括显示器34的用户接口,该显示器使用连同输入笔的触感显示屏幕。输入笔33被用来在指定的坐标处按压或接触该显示器34来选择一区域,以可选择的移动光标的开始位置,或用来提供命令信息,例如通过做手势或手写输入。可选择的或作为附加,一个或更多的按钮35可以为了导航而被包括在设备30上。此外,也可以提供其他输入机制,如滚轮,滚柱或类似物。然而,应当注意本发明并不倾向于限定于这些输入机制。例如,其他输入形式可以包括可视输入,例如通过计算机视觉。
现在参考图3,一流程图举例说明了包括移动设备30的功能组件。中央处理单元(CPU)50执行软件控制函数。CPU50与显示器34耦合以便生成的文本和图形图标与在显示器34上出现的控制软件一致。扬声器43可以典型的通过数模转换器59耦合到CPU50来提供音频输出。被用户下载或输入到移动设备30的数据被存储在双向连接到CPU50的非易失性的读/写随机存取存储器54上。随机存取存储器(RAM)54为由CPU50执行的指令提供易失的存储,并存储临时数据,例如寄存器值。配置选项的缺省值和其他变量被存储在只读存储器(ROM)58中。ROM58也可以被用来存储设备的操作系统软件,用来控制移动设备30的基本功能和其他操作系统核函数(例如,载入软件组件到RAM54中)。
RAM54也可以作为代码存储器,以与在PC机上用来存储应用程序的硬盘驱动器的功能类似的方式来存储。应当注意尽管非易失性存储器被用来存储代码,它可以可选择的被存储在不被用来执行代码的易失性存储器中。
无线信号可以由移动设备通过无线收发器52传输/接收,该收发器被连接到CPU50。可选择的通信接口60也可以被用来从计算机上直接下载数据(例如,桌面计算机),或者从有线网络,如果期望的话。因此,接口60可以包括各种形式的通信设备,例如,红外链接,调制解调器,网卡,或类似物。
移动设备30包括麦克风29,以及模数(A/D)转换器37,和在存储器54中存储的可选的识别程序(语音,DTMF,笔迹,手势或计算机视觉)。以举例的方式,相应来自设备30的用户的音频信息的指令或命令,麦克风29提供语音信号,该语音信号被A/D转换器37数字化。语音识别程序可以执行标准化和/或在数字语音信号上的特征提取功能以来获取立即语音识别结果。使用无线收发器52或通信接口60,语音数据可以被传输到远程识别识别服务器204,该远程服务器在下面被描述,并且在图6中的体系结构中被举例说明。然后识别结果可以被转回到移动设备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和系统总线141,该系统总线将包括系统存储器的各种系统组件到处理单元140。系统总线141可以是总线结构的几种类型的任意一种,该总线结构包括存储器总线或存储器控制器,外围总线,以及使用各种总线体系结构的任何一种的本地总线。以举例的方式,但不是限制,这种体系结构包括工业标准体系结构(ISA)总线,通用串行总线(USB),微通道体系结构(MCA)总线,扩展工业标准结构(EISA)总线,视频电子标准协会(VESA)本地总线,以及公知的作为中间总线的外设部件互连(PCI)总线。计算机120典型的包括各种计算机可读媒体。计算机可读媒体可以是任意可被计算机120访问的可用媒体,包括易失性和非易失性媒体,可移动和不可移动媒体。作为例子,但不局限于,计算机可读媒体可以包含计算机存储媒体和通信媒体。计算机存储媒体包括以任何方法或技术实现的易失性和非易失性,可移动和非可移动媒体,用来存储信息,比如计算机可读指令、数据结构、程序模块或其他数据。计算机存储媒体包括,但不局限于,RAM(随机访问存储器),ROM(只读存储器)、EEPROM(电擦写可编程只读存储器)、闪存或其他内存技术,CD-ROM、数字多功能盘(DVD)、或其他光盘存储,盒式磁带、磁带、磁盘存储或其他磁存储设备,或任意其他媒体,该媒体可用来存储期望的信息并可以被计算机120存取。
通信媒体在如载波或其他传输机制这样的调制数据信号中典型地包括表现计算机可读指令,数据结构,程序模块或其他数据,并包括任何信息传输媒体。术语“调制数据信号”表示一种信号拥有一个或更多的特性,其可以像用编码信号中地信息的方式来设置或改变。作为例子,但不局限于,通信媒体包括如有线网络或直接有线连接这样的有线媒体和如声学,FR,红外这样的无线媒体和其他无线媒体。以上任意的组合也应该包括在计算机可读媒体范畴之内。
系统内存150包括易失和/或非易失内存形态的计算机存储媒体,比如只读存储器(ROM)151和随机存取存储器(RAM)152。基本输入/输出系统153(BIOS),包括基本例程来帮助在计算机120内部各元件之间传输信息,比如在启动期间,它典型的存储在ROM151中。RAM152典型包括数据和/或程序模块,它们可立即访问和/或当即被处理单元140运行。作为例子,但不局限于,图5图示了操作系统154,应用程序155,其他程序模块156,和程序数据157。
计算机120也可以包括其他可移动/非可移动,易失性/非易失性计算机存储媒体。只作为例子,图5图示了硬盘驱动器161,它读取或写入非可移动的非易失性的磁媒体;磁盘驱动器171,它读取或写入可移动的非易失性的磁盘172;以及光盘驱动器175,它读取或写入可移动的非易失性的光盘176比如CD-ROM或其他光学媒体。其他可用于示范操作环境中的可移动/不可移动,易失性/非易失性计算机存储媒体包括,但不局限于,磁带,闪存卡,数字多功能盘,数字视频磁带,固态RAM,固态ROM和类似物。硬盘驱动器161典型的通过如接口160这样的不可移动内存接口连接到系统总线141上,磁盘驱动器171和光盘驱动器175典型的通过如接口170这样的可移动内存借口连接到系统总线141上。
前面讨论过的并在图5中图示的驱动器和它们相关的计算机存储媒体为计算机120提供了计算机可读指令、数据结构、程序模块和其他数据的存储。图5中,举个例子,硬盘驱动器161被说明用来存储操作系统164,应用程序165,其他程序模块166,和程序数据167。注意,这些组件可以一致于也可以不同于操作系统154,应用程序155,其他程序模块156,和程序数据157。操作系统164,应用程序165,其他程序模块166,和程序数据167在这里被赋予了不同的标号来说明,至少,它们是不同的复本。
用户可以输入命令和信息到计算机120,通过输入设备比如键盘182,麦克风183,和指示设备181,比如鼠标,轨迹球或触摸板。其他输入设备(未示出)可以包括操纵杆,游戏手柄,卫星天线,扫描仪,或类似物。这些和其他的输入设备通常通过耦合到系统总线的用户输入接口180连接到处理单元140,但是可以通过其他接口和总线结构连接,比如并行端口,游戏端口或通用串行总线(USB)。监视器184或其他类型的显示设备也通过如视频接口185这样的接口连接到系统总线141。除了监视器,计算机还可以包括其他外围输出设备比如扬声器187和打印机186,它们通过输出外围接口188连接。
计算机120使用逻辑连接到如远程计算机194这样的一台或更多的远程计算机上,可以运行在网络环境中。远程计算机194可以是个人计算机,手持设备,服务器,路由器,网络PC,对等设备或其他通用网络节点,并典型的包括许多或全部上面提及的关于计算机120的元件。图5中描述的逻辑连接包括局域网(LAN)191和广域网(WAN)193,也可以包括其他网络。这种网络环境在办公室、企业计算机网络、企业内部网和互联网是很平常的。
当在LAN网络环境中使用时,计算机120通过网络接口或适配器190连接到局域网191。当在WAN网络环境中使用时,计算机120典型包括调制解调器192或其他在如INTERNET的WAN193上建立通信的方式。调制解调器192,其可以是内置的或外置的,可以通过用户输入接口180或其他适当的机制连接到系统总线141上。在网络环境中,所描述的和计算机120相关的程序模块或其中的一部分,可以被存储在远程内存存储设备上。作为例子,但不局限于,图5说明了远程应用程序195位于远端计算机194。值得注意的是所示的网络连接是示范性的,并且其他在计算机间建立通信连接的方式也可以使用。
图6说明了对于基于识别和数据再现的网络的体系结构200,该体系结构是本发明的一个示范性环境。通常,存储在网络服务器202的信息可以通过如移动设备30或计算机120这样的客户机100被存取(它们在这里代表计算设备的其他形式,该计算设备具有显示屏幕、麦克风、照相机、触感屏,等等,如同根据输入的形式要求的那样),或者通过电话80,其中信息要求可听得见,或者通过电话80根据压下的按键所产生的声音,其中来自网络服务器202的信息只提供可听的反馈给用户。
在这个实施例中,体系结构200是统一化的,其中无论信息是否是从客户端100或从电话80中使用语音识别获得的,单个识别服务器204可以支持任意一个操作模式。并且,体系结构200使用广为人知的标记语言(例如,HTML,XHTML,cHTML,XML,WML,和类似的语言)的扩展来操作。因此,在网络服务器202上存储的信息也可以使用广为人知的可在这些标记语言中找到的图形用户接口(GUI)方法访问。通过使用广为人知的标记语言的扩展,在网络服务器202上的创作更容易,并且遗留下来现存的应用程序也能被容易的修改以包含语音识别。
通常,客户机100使用浏览器执行通常如206所指示的由网络服务器202提供的HTML页面、脚本或类似物。作为一个例子,当需要语音识别时,语音数据,其可以为数字化的音频信号或其中音频信号已经被如前该的客户机100处理过的语音特性,提供给识别服务器204连同语音识别时使用的文法指示或语言模型220,该模型可以是由客户端100提供。换种方式,语音服务器204也可以包括语言模型220。识别服务器204的实现可以采用许多形式,其中之一已经被图示,但是通常包括识别器211。如果期望或者合适,识别的结果为了在本地再现而被提供回给客户机100。如果期望,文本一语音模块222可以被用于将语音文本提供给客户端。通过识别进行信息编译且如果使用任何图形用户接口,客户机100发送信息给网络服务器202用来进一步处理并且如果必要进行接收进一步的HTML页面/脚本。
如图6所示,客户机100,网络服务器202和识别服务器204通常通过网络205互相连接、独立编址,这里是如互联网的广域网。因此这些设备中的任何一些都不必彼此物理上位置相邻。特别是,网络服务器202不必包括识别服务器204。以这种方式,在网络服务器上的设计可以专注于应用程序上,而不要求作者需要知道识别服务器204的复杂性。相反的,识别服务器204可以独立设计并连接到网络205上,并且,被更新和改进而网络服务器202端不需要进一步的改变。网络服务器202也可以包括创作机制,它可以动态生成客户端标记和脚本。在更进一步的实施例中,网络服务器202,识别服务器204和客户端100可以依赖于实现机器的功能而被组合。举一个实例,如果客户端100包括通用目的计算机,如个人计算机,客户端可以包括识别服务器204。同样的,如果想要,网络服务器202和识别服务器204可以合并成单个机器。
通过电话80访问网络服务器包括电话80到有线或无线电话网络208的连接,依次,连接电话80到第三方网关210。网关210连接电话80到电话语音浏览器212。电话语音浏览器212包括媒体服务器214,它提供电话接口和语音浏览器216。与客户端100相似,电话语音浏览器212从网络服务器202接收到HTML页面/脚本或类似物,在一个实施例中,HTML网页/脚本形态类似于提供给客户端100的HTML网页/脚本的形态。以这种方式,网络浏览器202不需要分别支持客户端100和电话80,甚至分别支持标准的GUI客户端。相反的,可以使用通用的标记语言。并且,像客户机100,从由电话80传输的可听信号进行的语音识别被从语音浏览器216提供给识别服务器204,或者通过网络205,或者通过直连线207,例如,使用TCP/IP。网络服务器202,识别服务器204和电话语音浏览器212可以在任何合适的计算环境中被实施,比如图5中举例的通用目的桌面计算机。
已经描述了系统10中不同的环境和体系结构功能,现在给出对于系统10中不同组件和功能更具体的描述。图7描述了语音识别和理解模块14的框图。从语音接口模块12中接收到的输入语音被发送到语音识别和理解模块14。语音识别和理解模块14包括识别引擎306,它有一个相关语言模型310。当输入被接收到时,识别引擎306使用语言模型310来标识出每个短语的可能的表面语义结构,该结构构成输入,并提供部分语义解析或对象。不像等待用户完成发言然后才处理接收到的输入的系统,模块14仅仅基于目前所被接收到的输入持续地提供语义对象。
识别引擎306基于部分发言提供至少一个表面语义输出对象。在一些实施例中,识别引擎306能为每一个可选的结构提供一个以上可选的表面语义对象。
尽管图7中说明了提供语音输入的示例,但是本发明可以用于笔迹识别,手势识别或图形用户接口(用户接口具有键盘或其他输入设备)。如本领域中众所周知的,在这些其他的实施例中,语音识别引擎306被合适的识别引擎替代。对于图形用户接口,文法(拥有语言模型)是关联到用户输入的,比如通过输入盒。因此,基于这种输入方式,用户的输入以一致的方式被处理而没有重大的改变。
前面讨论过的交互对话,他也包括其他由系统10基于部分语义解析或对象反馈的形式,可以使用SALT(语音应用程序语言标签)或其他语音、手写和模式识别API(应用程序接口),该API支持语言模型结构,该结构能基于为给定应用程序选择的大纲和语义对象同步解码提供语义信息。SALT是一个正在开发中的标准用来比如从个人计算机、电话、平板PC和无线移动设备上访问信息、应用程序、网络服务,也可以应用于不通过网络互连的应用程序接口。SALT扩展现存的标记语言比如HTML、XHTML和XML。XALT1.0规范可以从HTTP//WWW.SALTforum.org在线获取。应该注意的是SALT可以基于用户输入提供语义信息,比如从语音服务器204中,这种信息形成在发表完成之后提供给数据再现模块16的对象。然而正如下面进一步讨论的那样,SALT可以以不预先企图提供部分语义解析或对象的方式使用。使用SALT扩展或类似的其他API扩展,为高度交互事件驱动的用户交互提供支持。
如示例中使用SALT,SALT收听对象可以被用来执行语音识别和理解任务。这是因为其设计遵从把语音理解看作一种模式识别的观点和表示,就像语音识别。两者都是力求从最好的匹配给出的语音信号的可能的结果集合中找到模式。对于语音识别,要找到的模式是一个单词串,然而,为了理解,是一个语义对象树。传统的语音识别任务指挥搜索过程用一个语言模型在包含可能单词的字符串中的搜索过程。多少有一些近似,语音理解任务可以指导相同的搜索引擎适用语义模型来组成合适的语义对象树。类似于通常具备一个词典以及从字典条目组成语段的规则的语言模型,语义模型具备一个所有语义对象的字典以及组成它们的规则。当识别结果是文本串时,理解结果是一棵语义对象树。
虽然可以扩充文字索引(N-gram)来返回结构化的搜索结果,但是大多数典型语音理解应用程序基于概率上下文无关文法(PCFG)其中设计者可以指定组成语义对象的规则,在没有大规模的被注释为语料库的训练数据情况下。制定这样的规则的一种方法是将对于搜索引擎的生成指示关联到每个PCFG规则和生成指示,该关联关于如何把PCFG解析树转换成语义对象树。用微软语音应用程序接口(SAPI)编写的一个例子(它也是一个可以在本发明中使用的语音API的例子)格式如下所示<pre listing-type="program-listing"><![CDATA[<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></rule>...<rule name=”NewMeeting”> <rulerefmin=”0”name=”CarrierPhrase”/> <rulerefmax=”inf”name=”ApptProperty”/> <output><NewMeeting> <DateTime><xslapply-templates select=”//Date”/><xslapply-templates select==”//Time”/><xslapply-templates select=”//Duration”/></DateTime/><Invitees> <xslapply-templates select=”//Person”/></Invitees>....</NewMeeting></rule> <rule name=”Apptproperty”><list> <rulerefname=”Date”/> <rulerefname=”Duration”/> <rulerefname=”Time”/> <rulerefname=”Person”max=”inf”/> .... </list></rule> ....]]></pre>该文法片断包含三条规则。第一条,一个命名为“nyc”的前置终结符列出了纽约市的表达式。例子中的&lt;output&gt;标志扩起了构造语义对象的规则。当搜索路径离开文法节点时被调用,该节点被令牌标记为马上处理。这种情况下,一个语义对象,在XML中用&lt;city_location&gt;单元所描绘的,当搜索路径离开“nyc”规则时被创建。这个语义对象依次由三个语义对象组成城市名字,州和国家名字分别的缩写。
语义对象的组成也可以是一个动态过程,比如,安排一个新的会议。例如,当用户完成指定会议属性比如日期、时间、长度、参加者时,一个NewMeeting语义对象将被处理。模板可以用来粘贴其他的语义对象要素到NewMeeting语义对象。同样的原理也适用于其他没有在这里示出的规则。作为一个例子,一个发言“安排一个与Li Deng和Alex Acero的会见,在一月一日,为期一个小时”将会导致如下的语义对象<pre listing-type="program-listing"><![CDATA[<NewMeeting><DateTime> <Date>01/01/2003</Date> <Duration>3600</Duration> </DateTime> <Invitees><Person>LiDeng</Person><Person>Alex Acero</Person> </Invitees></NewMeeting>]]></pre>在真正的应用程序中,提高PCFG覆盖率是一个令人畏惧的任务。因此理想的是能用N-gram来在其他事物中构造功能短语,它不携带关键语义信息但通常具有在句法结构上相当大的变化(比如,“MayI...”,“Could you show me...”,“Please show me...”)。在一个实施例中,语言模型310包含一个语义语言模型,它组合了PCFG和N-gram。该技术也可以与使用的统一的语言模型有些细微的差别。统一语言模型是对传统类别N-gram的自然扩展,除了它允许CFG片断,不仅仅是单词列表,也将被作为N-gram中单独的令牌被构造。识别器306不停的使用这个模型产生文本串,它们被连续的解析。这样统一语言模型被设计来结合某种语言结构以辅助文本翻译。
另一方面说,语义语言模型旨在使用解码器或识别器起来搜索语义结构,它通常被PCFG更好的捕获。因此,替代内嵌CFG片段到N-gram,通过创建一个特殊的对应于感兴趣的一个N-gram的PCFG前端终结符,PCFG被用于包含N-gram。在微软SAPI文法格式中,这可以使用一个前端终结符用XML&lt;dictation&gt;标志来指示,就像在
LCFG&lt;dictation max=″inf″&gt;RCFG中,其中LCFG和RCFG分别指示了内嵌的N-gram文本的左和右。搜索过程把&lt;dictation&gt;标志当作一个令牌并扩展到N-gram中,好像进入一个正规的非终结符一样。标签上的最大属性指定了可以被N-gram消化的单词的最大值。在这个N-gram内部,单词串可能将PCFG插入通过补偿N-gram而被计算,更具体,P(Wn|Wn-1,Wn-2,...)=λP(Wn|Ngram,Wn-1,Wn-2,...)+(1-λ)P(Wn|RCFG)P(RCFG|Wwn-1,Wn-2,...)其中λ是N-gram内插权重,P(RCFG|Wn-1,...)使用N-gram的补偿概率,即,Wn被当作它是一个不在词汇表中的单词。在一个实施例中,术语P(Wn|RCFG)假设只有二进制数值依赖于是否N-gram达到了最大单词串长度和单词是否在CFG片断覆盖之内。由于从PCFG中得出的单词往往具有更高的概率,真正属于被CFG覆盖的路径拥有即使当最大N-gram单词计数设置为无限时胜出它们的N-gram技术部分的趋势。除了功能短语之外,嵌入的N-gram也可以被用于使用像属性一样的口述来构造语义对象。举个例子,在我们的任务模拟的会议主题如,&lt;rule name=″ApptSubject″&gt;
&lt;p&gt;&lt;dictation max=″inf″/&gt;&lt;/p&gt;
更具体的考虑K.Wang描述的语义语言模型,“在一个模式识别框架之中的对话系统的语义模型”,在Proc.ASRU-2001,Trento Italy,2001中,它因此通过引用全部合并进来。
本发明更进一步的方面包括SALT收听对象的全新使用。SALT提供一组XML元素,和相关的属性及DOM(文档对象模型)对象属性、事件和方法,它可以同源标记文档联合使用,来将语音接口应用到源页面中。通常,主要的元素包括&lt;prompt...&gt;用于语音合成配置和提示音播放&lt;listen...&gt;用于语音识别器配置,识别执行,后期处理和录音。
&lt;dtmf...&gt;用于DTMF的配置和控制&lt;smex...&gt;用来同平台组件进行通用目的的通信收听和dtmf对象也包含文法和绑定控制&lt;grammar...&gt;用来指定输入文法资源&lt;bind...&gt;用来处理识别结果收听元素可以包括一个“模式”属性来区分识别的三种模式,它命令识别服务器(比如204)怎样和何时返回结果。结果的返回意味着适当的时候提供“OnReco”事件或激活“bind”元素。
在第一种模式“自动”中,语音平台,而不是应用程序,是在什么时候停止识别过程的控制之中的。该模式为电话或自动对讲机环境而发展。一旦识别结果可用,和/或有一段时间过去并指示静音,语音平台自动停止识别器并返回结果,然后它能通过绑定元素与合适的域关联。
在第二种操作模式“单一”中,识别结果的返回要在显式对“停止”的调用的控制下。停止调用对应用户产生的比如“笔-抬起”事件,这种模式为用于多样模式的环境而发展,其中设备允许语音输入,但是用户通常在哪个和何时选择域的控制之下,比如通过笔尖33(图1)的使用。
语音识别器的第三种操作模式是“多样模式”。这种操作模式用于“打开麦克”或在口述环境中。通常,在这种操作模式中,识别结果被以一时间间隔返回直到一个显式停止调用被收到或其他相关于未识别输入的时段或要开始收听的最大时间已经超过。通常,在这种操作模式中,对于每一个被识别的短语,一个“onReco”事件就要发出并且结果直到接收到stop()调用才返回。
然而这种操作模式,像本发明的其他方面,可以为搜索引擎提供一种方法向用户揭示更多的交互能力,通过允许它们来立刻报告何时达到一个显著的语言学上的界碑。基于时间同步解码的搜索算法是广为人知的并且可以以直接的方式被使用于这种模式。一个这样的算法被描述在H.Ney,S.Ortamanns,“连续语音识别的动态程序查找”,IEEE信号处理杂志,64-83页,1999。对于语音识别,语言学上的界碑通常对应于一个单词或一个短语的边界。假定它们一旦可用,SALT多样模式识别可以因此用来动态显示的单词串,一个UI效果一般在许多商业听写软件中见到。然而,在本发明中,多样模式可以把语义对象的实例当作语言学上的界碑和报告等,即提供某种响应作为所理解的内容的功能,也用一种动态方式返回关于它们的应用程序。这再现给应用程序设计者好像SALT正执行一个语义对象同步理解。
这种操作模式通过把它与多样模式的环境比较可以更好的理解。在多样模式的环境下,用户指定一个域,比如当说话时,通过指向和保持笔尖在输入字段。当用户可以在一个通用域轻击并说出一段精心设计的句子来用单句填充许多域,轻击-讲话接口不过使用户的眼睛和手参与进来,计划对于大多数情况不适用。另外,虽然轻击-讲话反映丰富的返回通道通信,它显示音量和后台口头语言过程的进度条,那些反馈仅仅在速度和精度方面提供对于口头语言处理质量的非常原始的线索。这对于长句子可能潜在的存在更多的问题,其中错误可能传播到更广的范围,最后在仅仅验证和改正识别和理解输出方面需要更努力。既然易用性研究看起来预示着长句子是一个关键区分因素,它示例了语音工具像不只键盘增强或其他的,令人满意的UI经验是绝对需要的以成功地使用语音作为可行的形态。
为了促进人类-计算机的知觉作为达到共同目标的紧密合作伙伴,当它们一旦可用时,通过报告部分的语义分析或对象,语义对象同步理解是有效的。在一个实施例中,这被通过使用SALT中收听元素的多样模式来实现。特别的,对于收听元素一个多样模式被指定并且然后所有的识别文法被指定用于将被识别的输入语音。结果的委派也在收听对象中被指定。例如,HTML输入代码来获取必需的信息,比如日期、时间、定位、主题、和会议出席者,等等,来一个新的会议的创办可能采用如下表格<pre listing-type="program-listing"><![CDATA[<listen mode=”multiple”...> <grammar src=”subject.grm”/> <grammar src=”date.grm”/> <grammar src=”time_duration.grm”/> <grammar src=”attendees.grm”/> <bind targetElement=”date”value=”//start_time”targetElement=”duration”value=”//DateTime/duration”/>...</listen>]]></pre>多样文法为识别用一个空转换循环回到入口点来构成一个并行搜索空间。以这种模式,SALT允许收听对象当文法一旦退出就产生一个事件。该事件派生一个并行过程,当后台音频采集和识别进行中时来依次的调用绑定指令,因此对用户产生了影响,当对于一个拥有可视化域表示的应用程序的一个语音指令还正在发出时,表格上的相应域被填充。
对于不需要可见的应用程序用户接口,可能被期望伴有语音输出。在那种情况下,SALT提示对象可能被用来给出一个立即地反馈。例如,下面的SALT提示对象可以用来基于数据域中的动态内容合成响应,且语音合成可以用如下附加的SALT绑定指令来引发<pre listing-type="program-listing"><![CDATA[<promptid=”say_date”> on<value targetElemenT=”date”/></prompt>...<listen...><bind targetElement=”date”value=”//date”targetElement=”say_date”targetMethod=”Start”/>... </listen>]]></pre>实际结果就是用户感觉好像他/她正和另一个不仅仅是记录下来还复述所听到的事物的参与者交谈,如在“安排一个为期两个小时(为期两小时)的会议(新会议)在下个星期二(2002年10月29日)两点(下午两点钟开始)”,其中圆括号中提供的短语描绘了听得见的和/或可视的提示(它也能被同步)返回给用户。
应该注意的是,SALT允许设计者附加定制的识别事件处理程序,当使用SALT绑定指令时,它执行超出简单分配的复杂的计算。在上例中,日期标准化可以用语义文法完成,然而,它并不能简化高级的引用分解(比如,“安排一个会议给Li Deng和他的主管”)。对于这种情况,算法可以被实现为对于正确的事件处理程序可访问的脚本,以访问存储的数据来探知未定义的引用。这种算法被描述在K.Wang,“一个使用概率推论的平面有基对话系统”,在Proc.ICSLP-2000,中国北京,2002年和欧洲专利申请EP 1199630A2,公布于2002年4月24日,它特此通过引用它们的全部被结合进来。
应该注意的是虽然对于收听对象存在多样模式操作,在本发明中,这种模式仅仅为在比如听写环境中接收到的输入提供文本。然而,这本发明的这个方面,作为正在接收到的输入的部分结果不仅仅是文本,也包括附属于文本的相应的语义信息,因此输出包含部分语义分析或对象,它能如上该的被使用来提供给用户更高质量的反馈,即计算机已经正确的理解了所接收到的信息。依赖于接受部分语义分析或对象的应用程序的完善度,系统可以基于接收到的部分语义分析提供回给用户确定、备选、修正和说明。
虽然在多样模式的应用程序中都知道包括多重文法来允许用户提前讲话,因而,提供能力来提供没有指出的信息,使用收听单元在多样模式操作中可能更好,因为它提供给用户一个更高的理解的指示。在一个只有语音的应用程序中,生成一个对话的自然形式,然而如果采用使用可视化再现,一个应用程序可以开始处理(采取行动、显示中期的结果或选项等等,例如通过弹出窗口)仅仅基于用户目前所提供的部分语义分析,且当用户连续讲话时。
虽然本发明已经被结合具体的实施例描述,本领域的技术人员将意识到可以采取形式上和细节上的改变而不违背本发明的思想和范围。
权利要求
1.一个计算机实现的方法,用来与计算机系统交互,该方法包括从用户接收输入并捕获输入用于处理;并根据输入进行识别来确定符合输入的最初部分的语义信息并输出一个语义对象,该语义对象包含以一种要被计算机应用程序处理的格式存在的数据并与已经被识别的输入和最初部分的语义信息一致,其中进行识别和输出语义对象被执行同时对于后续的输入部分的捕获继续执行。
2.如权利要求1所述的计算机实现的方法,还进一步包括建立一个语言模型来进行识别和理解,该语言模型适合提供以一种要被计算机应用程序处理的格式存在的数据并与接收到的输入一致并对接收到的输入提供语义信息。
3.如权利要求2所述的计算机实现的方法,其中语言模型包括N-gram语言模型和上下文无关文法语言模型的结合。
4.如权利要求3所述的计算机实现的方法,其中建立一个语言模型包括为识别而定义将被使用的多重文法。
5.如权利要求4所述的计算机实现的方法,其中建立一个语言模型包括使用应用程序接口来未识别定义多重文法来使用。
6.如权利要求5所述的计算机实现的方法,其中建立一个语言模型包括使用SALT。
7.如权利要求6所述的计算机实现的方法,其中处理输入包括在多样模式中实现SALT的收听对象。
8.如权利要求1或2所述的计算机实现的方法,其中输出语义对象包括以文本格式输出数据。
9.如权利要求8所述的计算机实现的方法,其中接收和捕获输入包括从用户接收和捕获可听的输入。
10.如权利要求9所述的计算机实现的方法,其中接收和捕获输入包括从用户接收和捕获语音输入。
11.如权利要求1或2所述的计算机实现的方法,其中接收和捕获输入包括从用户接收和捕获手写输入。
12.如权利要求1或2所述的计算机实现的方法,其中接收和捕获输入包括从用户接收和捕获可视输入。
13.如权利要求1或2所述的计算机实现的方法,还进一步包括当用户提供输入时再现信息给用户,该信息是收到的语义对象的功能。
14.如权利要求13所述的计算机实现的方法,其中再现信息包括通过再现作为一个对于语义对象的语义信息的功能的信息确认已经收到的。
15.如权利要求14所述的计算机实现的方法,其中再现信息包括再现信息作为与已经被识别的输入一致的数据的功能。
16.如权利要求15所述的计算机实现的方法,其中再现信息包括向用户再现一个选项作为与已经被识别的输入一致的数据的功能。
17.如权利要求16所述的计算机实现的方法,其中再现信息包括向用户再现多个的选项作为与已经被识别的输入一致的数据的功能。
18.如权利要求13所述的计算机实现的方法,其中再现信息包括向用户再现一个可听的提示。
19.如权利要求18所述的计算机实现的方法,其中再现信息包括向用户再现一个可视化的指示。
20.如权利要求19所述的计算机实现的方法,其中再现信息包括向用户再现同步的可听的和可视化的指示。
21.一个计算机可读介质包括计算机可读的指令,当它被实现时,促使计算机执行任何前述方法权利要求中的方法之一。
22.一个系统,适合于执行任何前述方法权利要求的方法之一。
23.一个计算机可读介质包括可由计算机设备读取的指令,包括一个模块适合于从用户接收输入并捕获输入来处理,该模块适合于根据输入执行识别来确定符合输入的最初部分的语义信息并适合输出语义对象,其包含以一种要被计算机应用程序处理的格式存在的数据并与已经被识别的输入和最初部分的语义信息一致,其中进行识别和输出语义对象被执行同时对于后续的输入部分的捕获继续执行。
24.一个计算机可读介质,可由计算机设备可读的指令,包括一个模块被配置来执行选择的任务,该模块适合同步地与用于输入一致的接收语义对象,每个语义对象包括以一种要被计算机应用程序处理的格式存在的数据并与从用户输入的部分一致并且语义信息符合从用户输入的部分,该模块适合采取行动作为同步的处理语义对象的一个功能。
全文摘要
一种方法和系统提供一种语音输入模式,它在音频字幕生成仍然在进行中时动态的报告部分语义分析。该语义分析可以被计算同时结果立即被报告回给用户。实际结果是传统地在系统时机被执行的任务现在在用户时机中被执行,因此提出了一个重大的对依次发言的口语对话的原始状态的违背。
文档编号G10L15/18GK1591315SQ200410085649
公开日2005年3月9日 申请日期2004年5月31日 优先权日2003年5月29日
发明者王冠三 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1