具体实施方式
根据本发明的具体实施例,下面将结合从图1开始的附图对用于在web页框架中启用语法的示范性方法、装置和产品进行描述。图1示出了根据本发明的实施例在web页框架中启用语法的示范性系统的网络图。根据本发明的实施例,图1的系统通常通过:在多模式设备(152)上的多模式应用(195)中接收框架集文档,其中该框架集文档包括定义web页框架的标记;由多模式应用获取显示在每个web页框架中的内容文档,其中该内容文档包括可导航标记元素;由多模式应用针对每个内容文档中的每个可导航标记元素产生定义语音识别语法的标记段(segment of markup),包括在每个这种语法中插入识别当语法中的词匹配时待显示的内容的标记和识别该内容将显示于何处的框架的标记;以及由多模式应用启用所有产生的用于语音识别的语法,从而在web页框架中启用语法。典型地,图1中系统的工作还包括由多模式应用向自动话音标记语言解释装置(interpreter)提供来自用户的用于识别的语音;由带有启用语法的自动话音标记语言解释装置对至少部分用于识别的语音进行匹配;以及将指示代表匹配语音的指令的事件从自动话音标记语言解释装置返回至多模式应用。
根据本发明的实施例,多模式应用(195)是能够将多模式设备作为支持在web页框架中启用语法的装置来操作的计算机程序指令的模块。多模式设备(152)为自动设备,即在能够接收来自用户的语音输入、将语音数字化并且向自动话音标记语言解释装置提供数字化语音和话音识别语法的自动计算机器或者在自动设备上运行的计算机程序。多模式设备可以和例如膝上型计算机上话音启用的浏览器、电话听筒上的话音浏览器、与个人计算机上的Java一同执行的在线游戏以及和本领域的技术人员可能想到的其他硬件和软件的组合一起实现。图1的系统包括几个实例多模式设备:
●为了数据通信通过有线连接(120)耦接于数据通信网(100)的个人计算机(108),
●为了数据通信通过无线连接(114)耦接于数据通信网(100)的个人数字助理(PDA)(108),
●为了数据通信通过无线连接(116)耦接于数据通信网(100)的移动电话(110),以及
●为了数据通信通过无线连接(118)耦接于数据通信网(100)的膝上型计算机(126)。
图1系统中的每个实例多模式设备(152)都包括麦克风、音频放大器、数模转换器以及能够从用户(128)接受用于识别的语音(315)、将语音数字化并且向自动话音标记语言解释装置提供数字化语音和话音识别语法的多模式应用。可以根据工业标准的编解码器,包括但不局限于那些同样用于分布式语音识别的编解码器对语音进行数字化。用于对语音进行“编码/解码”的方法称为“编解码器”。欧洲电信标准协会(ETSI)提供了几种可用于DSR中的对语音进行编码的编解码器,包括,例如ETSI ES 201 108 DSR前端编解码器、ETSIES 202 050高级DSR前端编解码器、ETSI ES 202 211扩展DSR前端编解码器以及ETSI ES 202 212扩展高级DSR前端编解码器。在诸如标题为
RTP Payload Format for European TelecommunicationsStandards Institute(ETSI)European Standard ES 201 108Distributed Speech Recognition Encoding
的RFC3557和标题为
RTP Payload Formats for European TelecommunicationsStandards Institute(ETSI)European Standard ES 202 050,ES 202211,and ES 202 212 Distributed Speech Recognition Encoding
的因特网草案的标准中,IETF为不同的编解码器提供了标准的RTP净荷格式。因此,值得注意的是本发明中没有关于编解码器、净荷格式或者分组结构的限制。根据本发明的实施例,可以通过包括例如:
●AMR(自适应多速率语音编码器)
● ARDOR(自适应速率失真优化声音编码器)
●杜比数码(A/52,AC3)
●DTS(DTS相干声学)
●MP1(MPEG音频层-1)
● MP2(MPEG音频层-2)层2音频编解码器(MPEG-1,MPEG-2和非ISO MPEG-2.5)
●MP3(MPEG音频层-3)层3音频编解码器(MPEG-1,MPEG-2和非ISO MPEG-2.5)
●感知音频编码
●FS-1015(LPC-10),
●FS-1016(CELP),
●G.726(A DPCM),
●G.728(LD-CELP)
●G.729(CS-ACELP)
●GSM
● HILN(MPEG-4参数音频编码)以及
●本领域的技术人员可能想到的其他
任何编解码器对用于在web页框架中启用语法的语音进行编码。
图1系统中的每个实例多模式设备(152)可以包括自动话音标记语言解释装置。自动话音标记语言解释装置(191)可以本地安装于多模式设备本身,或者自动话音标记语言解释装置(192)可以跨过数据通信网(100)相对于该多模式设备远程安装在话音服务器(151)中。当多模式设备包括自动话音标记语言解释装置时,可以通过借助从多模式应用到自动话音标记语言解释装置的一个或多个应用编程接口(API)调用向该自动话音标记语言解释装置提供语法完成启用产生的语法。当自动话音标记语言解释装置位于话音服务器时,该多模式设备可以为了数据通信耦接于话音服务器,可以通过借助从多模式应用到话音服务器上的自动话音标记语言解释装置的一个或多个通信协议消息向自动话音标记语言解释装置提供语法完成启用产生的语法。
根据本发明的实施例,图1系统中的每个实例多模式设备(152)都被配置并编程为能够通过:在多模式设备(152)上的多模式应用(195)中接收框架集文档,其中该框架集文档包括定义web页框架的标记;由多模式应用获取显示在每个web页框架中的内容文档,其中该内容文档包括可导航标记元素;由多模式应用针对每个内容文档中的每个可导航标记元素产生定义语音识别语法的标记段,包括在每个这种语法中插入识别当语法中的词匹配时待显示的内容的标记和识别将显示该内容的框架的标记;以及由多模式应用启用(enable)所有产生的用于语音识别的语法,在web页框架中启用语法。
对这四个实例多模式设备(152)的描述仅仅用于解释本发明,而并非对本发明加以限制。根据本发明的实施例,任何能够接受来自用户的语音、向自动话音标记语言解释装置提供数字化的语音并且接收和播放语音提示和响应的自动计算机器都可以改进为用于在web页框架中启用语法的多模式设备。
图1的系统还包括通过有线连接(122)连接于数据通信网(100)的话音服务器(151)。话音服务器(151)是运行例如,诸如VoiceXML解释装置等自动话音标记语言解释装置的计算机,自动话音标记语言解释装置通过接受带有话音识别语法的语音识别请求并返回可能包括表示识别的语音或事件的文本以由多模式客户应用处理的响应,来为多模式设备提供话音识别服务。话音服务器(151)还向多模式客户端应用,例如诸如X+V应用或者Java话音应用中的用户输入提供用于话音提示和话音响应(314)的文本到语音(TTS)转换。
图1的系统包括为了数据通信连接多模式设备(152)和话音服务器(151)的数据通信网(100)。根据本发明的实施例,用于在web页框架中启用语法的数据通信网是由多个为了带有分组交换协议的数据通信而连接的起数据通信路由器作用的计算机组成的数据通信网。这种数据通信网可以通过光连接、有线连接或者无线连接的方式实现。这种数据通信网可以包括企业内部互联网、因特网、局域数据通信网(LAN)和广域数据通信网(WAN)。这种数据通信网可以实现,例如:
●具有EthernetTM协议或者无线EthernetTM协议的链路层,
●具有因特网协议(IP)的数据通信网络层,
●具有传输控制协议(TCP)或者用户数据报协议(UDP)的传输层,
●具有超文本传输协议(HTTP)、会话初始协议(SIP)、实时协议(RTP)、分布式多模式同步协议(DMSP)、无线接入协议(WAP)、手持设备传输协议(HDTP)、被称为H.323的ITU协议的应用层,以及
●本领域的技术人员所能想到的其他协议。
组成图1所示的示范性系统的话音服务器(151)、多模式设备(152)和数据通信网(100)的排列仅仅是为了解释本发明,而并非对本发明加以限制。根据本发明的不同实施例,可用于在web页框架中启用语法的数据处理系统可以包括图1中未示出而本领域的技术人员可能想到的额外的服务器、路由器、其他设备和对等体系结构。这种数据处理系统中的数据通信网可以支持除上面所提及的那些协议之外的许多数据通信协议。可以在除图1所示的那些硬件平台之外的多种硬件平台上实现本发明的不同实施例。
术语“标记”用于本文指的是HTML、XHTML、XML、X+V、VoiceXML等标记语言中的标记元素和标记属性。web页框架是定义了多个用于内容显示的视图、窗口或子窗口的标记,例如,XHTML<frame>元素。术语“框架”(frame)既用来指定义视图的标记又用来指视图本身。多个视图为设计者提供了使特定信息可视的途径,而其他视图可以被滚动或替换。例如,在同一个窗口中,一个框架可能显示静态横幅,第二个框架可能显示导航菜单,而第三个框架可能显示能够通过第二个框架中的导航滚动或者替换的主文档。
框架集文档是描述框架布局的标记文档,例如诸如X+V文档。框架集文档具有与没有框架的HTML文档不同的标记。标准的HMTL、XHTML或者X+V文档有一个<head>部分和一个<body>。框架集文档具有<head>和取代了<body>的<frameset>。标记文档的<frameset>部分规定了计算机显示屏上视图的布局。框架中的待显示内容不包括在框架集文档中框架被定义的同一文档里。这些内容在另一个文档,“内容文档”中,典型地,该文档远程存储在web服务器上,而往往不是向多模式设备提供框架集文档的同一web服务器上。内容文档的位置在框架标记,“scr”属性中规定。典型地,每个内容文档实际上都是web页本身,典型地,HTML、XHTML、XML或者X+V文档还包含诸如链接<link>元素和锚<a>元素等可导航标记元素。
语法是向自动话音标记语言解释装置传递可被识别的词和词的顺序的标记。根据本发明的实施例,用于在web页框架中启用语法的语法可以以任何ASR引擎所支持的任何格式表示,包括以例如Java语音语法格式(JSGF)、W3C语音识别语法规范(SRGS)的格式、源于IETF RFC2234的增强型Backus-Naur格式(ABNF)、以W3C的随机语言模型(N-Gram)规范中描述的随机语法的形式以及本领域技术人员可能想到的其他语法格式来表示。典型地,语法如同对话的元素,例如诸如VoiceXML<menu>或者X+V<form>一样工作。语法的定义可以在对话(dialog)中内嵌表示。或者语法可以在独立的语法文档中外部实现并在对话内通过URL引用。这里是用JSFG表示语法的实例:
<grammar scope=”dialog”><![CDATA[
#JSGF V 1.0;
grammar command;
<command>=[remind me to]call|phone|telephone<name>
<when>;
<name>=bob|martha|joe|pete|chris|john|artoush;
<when>=today|this afternoon|tomorrow|next week;
]]>
</grammar>
在本实例中,标记元素<command>、<name>和<when>是语法的规则。规则是规则名称和向自动话音标记语言解释装置建议当前哪些词可以被识别的规则扩展的组合。在本实例中,扩展包括联合(conjunction)和析取(disjunction),垂直条“|”表示“或”。自动话音标记语言解释装置依次对规则进行处理,首先是<command>,其次是<name>,再次是<when>。<command>规则匹配“call”或“phone”或“telephone”加上,即结合从<name>规则和<when>规则返回的任何东西。<name>规则匹配“bob”或“martha”或“joe”或“pete”或“chris”或“john”或“artoush”,<when>规则匹配“today”或“this afternoon”或“tomorrow”或“next week”。命令语法总体上匹配类似这些的言语,例如:
●“phone bob next week,”
●“telephone martha this afternoon,”
●“remind me to call chris tomorrow,”以及
●“remind me to phone pete today.”
图1的系统包括采用诸如HTTP等请求/响应协议向多模式设备(152)提供web页、常规web页和框架集文档的web服务器(149)。可以通过在HTTP消息中接收诸如本实例框架集文档的框架集文档来完成在多模式设备(152)的多模式应用(195)中框架集文档的接收,其中框架集文档包括定义web页框架的标记:
<!DOCTYPE HTML PUBLIC“-//W3C//DTD HTML 4.01
Frameset//EN”
“http://www.w3.org/TR/html4/frameset.dtd”>
<HTML>
<HEAD>
<TITLE>A frameset document</TITLE>
</HEAD>
<FRAMESET id=“framesetl”cols=“33%,33%,33%”>
<FRAMESET id=“frameset2”rows=“*,200”>
<FRAME id=“framel”scr=“contents_of_framel.html”>
<FRAME id=“frame2”scr=“contents_of_frame2.gif”>
</FRAMESET>
<FRAME id=“frame3”scr=“contents_of_frame3.html”>
<FRAME id=“frame4”ser=“contents_of_frame4.html”>
</FRAMESET>
该框架集文档定义了通过框架集“frameset1”和“frameset2”组织在分层结构中的四个框架。Frameset2嵌套在frameset1中,创建了frame3和frame4在顶层而frame1和frame2在下层的分层结构。每个框架中待显示的内容文档在src属性中被识别为名为“contents_of_framel.html”、“contents_of_frame3.html”和“contents_of_frame4.html”的三个HTML文档以及一幅图像,名为“contents_of_frame2.gif”的可交换图形格式(GIF)文档。每个src值,即每个内容文档名称实际上都是相对的统一资源定位符(URL),它除了提供内容文档的名称以外,还规定了该内容文档在信息空间中的位置(在本实例中,相对于被视为基准位置的//www.w3.org/TR/html4/)。
本实例中的每个HTML内容文档都可以包含可导航标记元素、链接元素和锚元素。GIF文档可以不包含导航元素。通过借助HTTP从//www.w3.org/TR/html4/检索被识别的内容文档,可由多模式应用获得显示在每个web页框架(此处为frame1到frame4)中的内容文档。然后,多模式应用通常将每个内容文档显示在其被称为内容文档的“目标框架”的指定框架中。
多模式应用为每个内容文档中的每个可导航标记元素产生定义语音识别语法的标记段,包括在每个这种语法中插入识别当语法中的词匹配时待显示的内容的标记和识别将显示该内容的框架的标记。在每个这种语法中插入识别当语法中的词匹配时待显示的内容的标记可以通过在每个文档中扫描可导航标记元素、链接元素和锚元素来完成(每个元素都具有规定为另一个内容文档提供位置的URL并且将“href”值、URL写入语法的“href”属性)。当自动话音标记语言解释装置将词与来自用户的用于识别的语音匹配时,则语法中的该词“匹配”。在每个这种语法中插入识别将显示该内容的框架的标记可通过在语法中插入该内容文档的目标框架的框架标识,“id”属性值来完成。这样,下面来自内容文档的实例锚元素:
<a href=”pizza/pizza.html”target=”contentFrame”>Pizza
Demo</a>
就为话音激活该锚元素所表示的超链接产生下列语法:
$grammar=Pizza Demo {$.link=”pizza/pizza.html”;
$.target=”contentFrame”}
根据本发明的实施例,多模式应用为由框架集文档中的文档定位的每个内容文档中的每个导航元素创建语法。然后,多模式应用可以通过动态产生规定语法的标记语言片段并向自动话音标记语言解释装置提供该标记语言片段来启用所有产生的用于语音识别的语法。动态产生规定语法的标记语言片段意味着将每个产生的语法放置在当这一语法中的词由自动话音标记语言解释装置匹配时向多模式应用返回事件的标记段中。
这样,多模式应用可以利用应用编程接口(API)调用或者数据通信协议中的消息为自动话音标记语言解释装置提供包含<link>元素的标记段,例如诸如VoiceXML段。当链接语法被匹配时,解释结果作为事件被提交回应用。以下是包括产生的语法和事件的VoiceXML链接元素的实例:
<vxml:link
eventexpr=”application.lastresult$.interpretation.c3n”>
<vxml:grammar><![CDATA[
#JSGF V1.0;
$grammar=Pizza Demo{$.link=”pizza/pizza.html”;
$.target=“contentFrame”}
]]>
</vxml:grammar>
<catch event=”command link”>
<value
expr=”window.c3nEvent(application.lastresult$.interpretation.c
3n)”/>
</catch>
<vxml:link>
当VoiceXML解释装置与用户的言语匹配时,其语义解释功能构造事件串。事件是与内容文档中的元素变得关联(以其为目标)的特定异步发生(如元素表示上的鼠标单击、元素的语法中词的匹配、元素的属性值中的算术错误或者众多其他可能性中的任何一种)的表示。多模式应用的一般行为是当事件发生时,通过将其传递至DOM文档树来将其分派到事件发生处的元素(称为其目标)。动作是对事件进行响应的某种方式;处理装置(handler)是针对这种动作的某种规范,例如采用脚本或者某种其他方式。监听器是这种处理程序到以文档中某个元素为目标的事件的绑定。在本实例中,事件是锚元素所代表的超链接的话音激活,处理程序是<catch>元素,而监听器是由多模式应用中的<form>元素所规定的对话。
包括该Pizza Demo实例里<vxml:link>的“eventexpr”属性中的事件串导致了语义解释功能将该事件串作为调用Pizza Demo锚元素所代表的超链接的事件提交(raise)。<vxml:link>也包括处理由语义解释功能产生的事件的<catch>元素。在catch元素内,文档对象模型(DOM)功能“window.c3nEvent()”被执行,并经过事件串。
多模式应用为来自由目标框架引用的内容文档中可导航标记元素的<vxml:link>元素产生标记。多模式应用将<vxml:link>和<catch>添加至带有语法的标记段并将完整的标记段提供给VoiceXML解释装置。 现在如果用户发出“Pizza Demo”,则包含“application.lastresult$.interpretation.c3n”的<vxml:link>的事件表达属性解析到串“link.pizza/pizza.html.contentFram”。该事件被<vxml:link>抛出并由<vxml:link>中的<catch>处理程序捕获。捕获处理程序中被调用的DOM API根据由包含在<vxml:link>元素中的语法所建立的事件分层结构对该事件串进行解释。以“command.”开始的串可以解释为菜单命令,而以“link.”开始的串可以解释为内容导航。该Pizza Demo是内容导航的实例。
根据本发明的实施例,在web页框架中启用语法通常通过一个或多个多模式设备,即自动计算机器或者计算机实现。例如,在图1的系统中,所有的多模式设备至少在某种程度实现为计算机。因此,为了进一步解释本发明,图2示出了根据本发明的实施例在web页框架中启用语法的包括用作多模式设备(152)的计算机实例的自动计算机器的框图。图2的多模式设备(152)包括至少一个计算机处理器(156)或“CPU”以及通过高速存储器总线(166)和总线适配器(158)连接于处理器(156)和多模式设备其他部件的随机存取存储器(168)(RAM)。
根据本发明的实施例,存储在RAM(168)中的有多模式应用(195),能够将多模式设备作为支持在web页框架中启用语法的装置来操作的计算机程序指令的模块。根据本发明的实施例,本实例中的多模式应用(195)被编程为通过:在多模式设备(152)上接收框架集文档,其中该框架集文档包括定义web页框架的标记;由多模式应用获取显示在每个web页框架中的内容文档,其中该内容文档包括可导航标记元素;由多模式应用针对每个内容文档中的每个可导航标记元素产生定义语音识别语法的标记段,包括在每个这种语法中插入识别当语法中的词匹配时待显示的内容的标记和识别将显示该内容的框架的标记;以及由多模式应用启用所有产生的用于语音识别的语法,来在web页框架中启用语法。本实例中的多模式应用(195)被编程为向自动话音标记语言解释装置提供来自用户的用于识别的语音。在本实例中,自动话音标记语言解释装置表示为VoiceXML解释装置(192)。当自动话音标记语言解释装置将用户话音中的一个或多个词与启用的语法匹配时,多模式应用从解释装置接受并处理指示代表匹配语音的指令的事件。自动话音标记语言解释装置(192)包括语法(104),该语法如上所述依次包括定义当前针对识别启用了哪些词和词的顺序的规则。
典型地,多模式应用(195)是提供语音接口的用户级、多模式、客户端的计算机程序,其中通过所述语音接口,用户可以通过麦克风(176)提供用于识别的口述语音,通过音频放大器(195)和声卡(174)的编码器/解码器(编解码器)(183)将语音数字化,并且将用于识别的数字化话音提供给此处表示为VoiceXML解释装置的自动话音标记语言解释装置(192)。多模式应用可以是其本身处理语法并直接通过API为ASR引擎(150)提供语法和用于识别的数字化语音的Java话音应用。或者多模式应用可以是运行于浏览器或者微浏览器内将VoiceXML语法通过API调用直接传递给嵌入式VoiceXML解释装置(192)处理的X+V应用。嵌入式VoiceXML解释装置(192)可以直接通过API调用向嵌入式ASR引擎(150)依次发出语音识别请求。多模式应用(195)还通过到嵌入式TTS引擎(194)的API调用,向例如诸如X+V应用或者Java话音应用等多模式应用中的用户输入提供用于话音提示和话音响应的TTS转换。本实例中的多模式应用(195)不通过网络将用于识别的话音发送给话音服务器识别,本实例中的多模式应用(195)不通过网络从话音服务器接收TTS提示和响应。本实例中所有的语法处理、话音识别和文本到语音转换都在多模式设备本身中以嵌入式的方式完成。
在本实例中,同样存储在RAM中的ASR引擎(150)是用于完成自动语音识别的计算机程序指令的模块。根据本发明的实施例,可以改进为用于在web页框架中启用语法的嵌入式ASR引擎的实例是IBM的Embedded ViaVoice Enterprise,一种也包括嵌入式TTS引擎的ASR产品。存储在RAM(168)中的还有嵌入式TTS引擎(194),是将文本作为输入接受并且将相同文本以数字编码语音的形式返回的计算机程序指令的模块,可用于为多模式系统的用户提供作为提示和响应的语音。
存储在RAM(168)中的还有操作系统(154)。根据本发明的实施例,可用于话音服务器中的操作系统包括UnixTM、LinuxTM、Microsoft NTTM、AIXTM、IBM’s i5/OSTM以及本领域的技术人员可能想到的其他操作系统。图3的实例中,操作系统(154)、多模式应用(195)、VoiceXML解释装置(192)、ASR引擎(150)、JVM(102)和TTS引擎(194)都显示为在RAM(168)中,但是典型地,这种软件的许多组件也存储在非易失存储器中,例如,在磁盘驱动器(170)上。
图2的多模式设备(152)包括总线适配器(158),包含针对高速总线、前端总线(162)、视频总线(164)和存储器总线(166)以及针对较慢扩展总线(160)的驱动电子技术的计算机硬件部件。根据本发明的实施例,可用于多模式设备的总线适配器的实例包括Intel北桥(Northbridge)、Intel存储器控制器集线器、Intel南桥和Intel I/O控制器集线器。根据本发明的实施例,可用于多模式设备的扩展总线的实例包括工业标准体系结构(ISA)总线和外设部件互联(PCI)总线。
图2的多模式设备(152)包括通过扩展总线(160)和总线适配器(150)耦接于处理器(156)和多模式设备(152)的其他部件的磁盘驱动适配器(172)。磁盘驱动适配器(172)以磁盘驱动器(170)的形式将非易失数据存储器连接至多模式设备(152)。可用于多模式设备的磁盘驱动适配器包括集成驱动电子技术(IDE)适配器、小型计算机系统接口(SCSI)适配器和本领域的技术人员可能想到的其他适配器。另外,非易失计算机存储器可以针对多模式设备实现为光盘驱动器、电可擦除可编程只读存储空间(所谓的“EEPROM”或者“Flash”存储器)、RAM驱动器以及本领域的技术人员可能想到的其他存储器等等。
图2的实例多模式设备包括一个或者多个输入/输出(I/O)适配器(178)。多模式设备中的I/O适配器通过例如,用于控制到诸如计算机显示屏等显示设备以及来自诸如键盘和鼠标等用户输入设备(181)的用户输入的软件驱动程序和计算机硬件实现面向用户的输入/输出。图2的多模式设备包括视频适配器(209),它是为了向诸如显示屏和计算机监视器等显示设备(180)进行图形输入而专门设计的I/O适配器的实例。视频适配器(209)通过高速视频总线(164)、总线适配器(158)和同样为高速总线的前端总线(162)连接于处理器(156)。
图2的多模式设备还包括声卡(174),它是为了从麦克风(176)接受模拟音频信号并将该模拟音频信号转换为数字格式以便由编解码器(183)做进一步处理而专门设计的I/O适配器的实例。声卡(174)通过扩展总线(160)、总线适配器(158)和前端总线(162)连接于处理器(156)。
图2的示范性多模式设备(152)包括用于与其他计算机(182)进行数据通信以及与数据通信网(100)进行数据通信的通信适配器(167)。这种数据通信可以通过串行地通过RS-232连接、通过诸如通用串行总线(USB)等外部总线、通过诸如IP数据通信网等数据通信网以及本领域的技术人员可能想到的其他途径完成。通信适配器实现硬件级的数据通信,通过该数据通信,一台计算机直接或通过数据通信网将数据通信发送给另一台计算机。根据本发明的实施例,可用于在web页框架中启用语法的通信适配器的实例包括用于有线拨号通信的调制解调器、用于有线数据通信网通信的Ethernet(IEEE802.3)适配器和用于无线数据通信网通信的802.11b适配器。
根据本发明的实施例,某些实施例中在web页框架中启用语法可以通过提供语音识别的一个或者多个话音服务器、计算机(即自动计算机器)来实现。因此,为了进一步解释本发明,图3示出了根据本发明的实施例在web页框架中启用语法的包括用作话音服务器的计算机实例的自动计算机器的框图。图3的话音服务器(151)包括至少一个计算机处理器(156)或者CPU以及通过高速存储器总线(166)和总线适配器(158)连接于处理器(156)和话音服务器的其他部件的随机存取存储器(168)(RAM)。
存储在RAM(168)中的有多模式服务器应用(188),能够操作系统中话音服务器的计算机程序指令的模块,该系统被配置为完成从多模式客户机设备接收语法和用于识别的数字化语音、将语法和数字化语音传递给自动话音标记语言解释装置进行处理、并且将响应从自动话音标记语言解释装置返回至多模式设备所需的数据通信。这种响应可以包括表示被识别语音的文本、用作对话中变量值的文本以及事件(即作为来自语义解释的脚本的串表示的事件文本)。多模式服务器应用(188)还包括为多模式应用(例如,诸如X+V应用或者Java语音应用)中的用户输入提供用于话音提示和话音响应的文本到语音(TTS)转换的计算机程序指令。
多模式服务器应用(188)可以用Java、C++或者其他语言实现为通过向来自X+V客户机的HTTP请求提供响应支持X+V的web服务器。对于另一个实例,多模式服务器应用(188)可以实现为运行于Java虚拟机(102)并通过向运行于多模式设备的来自Java客户机应用的HTTP请求提供响应支持Java话音框架的Java服务器。支持在web页框架中启用语法的多模式服务器应用还可以以本领域的技术人员可能想到的其他途径实现,而且所有的这些途径都在本发明的范围之内。
图3的实例中设置于RAM的还有ASR引擎(150)。ASR引擎(150)是利用能够由ASR引擎识别的词的ASR词典(106)完成语音识别的计算机程序指令的模块。词典(106)是文本形式的词和表示每个词发音的音素的关联。在完成自动语音识别的过程中,ASR引擎以至少一个数字化词的形式从自动话音标记语言解释装置接收用于识别的语音,利用该数字化词的频率分量派生语音特征矢量(Speech Feature Vector,SFV),再利用该SFV从语言特定的声学模型(未示出)推断该词的音素。举例来说,语言特定的声学模型是将SFV与表示具体语言中所有词的所有发音的音素关联到该做法是实际可行的程度上的数据结构、表或者数据库。然后ASR引擎利用该音素查找词典中的词。如果找到该词,则将该词的文本作为被识别的语音返回给自动话音标记语言解释装置。然后,自动话音标记语言解释装置可以确定该被识别的语音是否与启用的语法中的词相匹配。
存储在RAM中的还有例如此处表示为VoiceXML解释装置(192)的自动话音标记语言解释装置,处理VoiceXML语法的计算机程序指令的模块。到VoiceXML解释装置(192)的VoiceXML输入可以来源于远程运行于多模式设备的VoiceXML客户机,来源于远程运行于多模式设备的X+V多模式客户机应用,或者来源于远程运行于多模式设备的Java客户机应用。在本实例中,VoiceXML解释装置(192)解释并执行通过多模式服务器应用(188)从远程多媒体客户机软件接收并提供给VoiceXML解释装置(192)的VoiceXML段。VoiceXML解释装置(192)包括语法(104),该语法如上所述依次包括定义当前针对识别启用了哪些词和词的顺序的规则。存储在RAM(168)中的还有文本到语音(TTS)引擎(194),将文本作为输入接受并以数字编码语音的形式返回相同文本的计算机程序指令的模块,可用于向多模式系统的用户提供作为提示和响应的语音。
存储在RAM(168)中的还有操作系统(154)。根据本发明的实施例,可用于话音服务器的操作系统包括UnixTM、LinuxTM、Microsoft NTTM、AIXTM、IBM’s i5/OSTM以及本领域的技术人员可能想到的其他操作系统。图3的实例中,操作系统(154)、多模式服务器应用(188)、VoiceXML解释装置(192)、ASR引擎(150)、JVM(102)和TTS引擎(194)都显示为在RAM(168)中,但是典型地,这种软件的许多组件也存储在非易失存储器中,例如,在磁盘驱动器(170)上。
图3的话音服务器(151)包括总线适配器(158),包含针对高速总线、前端总线(162)、视频总线(164)和存储器总线(166)的驱动电子技术以及针对较慢扩展总线(160)的驱动电子技术的计算机硬件部件。根据本发明的实施例,可用于话音服务器的总线适配器的实例包括Intel北桥、Intel存储器控制器集线器、Intel南桥和IntelI/O控制器集线器。根据本发明的实施例,可用于话音服务器的扩展总线的实例包括工业标准体系结构(ISA)总线和外设部件互联(PCI)总线。
图3的话音服务器(151)包括通过扩展总线(160)和总线适配器(158)耦接于处理器(156)和话音服务器(151)的其他部件的磁盘驱动适配器(172)。磁盘驱动适配器(172)以磁盘驱动器(170)的形式将非易失数据存储器连接于话音服务器(151)。可用于话音服务器的磁盘驱动适配器包括集成驱动电子技术(IDE)适配器、小型计算机系统接口(SCSI)适配器和本领域的技术人员可能想到的其他适配器。另外,非易失计算机存储器可以针对话音服务器实现为光盘驱动器、电可擦除可编程只读存储空间(所谓的“EEPROM”或者“Flash”存储器)、RAM驱动器以及本领域的技术人员可能想到的其他存储器等等。
图3的实例话音服务器包括一个或者多个输入/输出(I/O)适配器(178)。话音服务器中的I/O适配器通过例如,用于控制到诸如计算机显示屏等显示设备以及来自诸如键盘和鼠标等用户输入设备(181)的用户输入的软件驱动程序和计算机硬件实现面向用户的输入/输出。图3的话音服务器包括视频适配器(209),它是为了向诸如显示屏和计算机监视器等显示设备(180)进行图形输入而专门设计的I/O适配器的实例。视频适配器(209)通过高速视频总线(164)、总线适配器(158)和同样为高速总线的前端总线(162)连接于处理器(156)。
图3的示范性话音服务器(151)包括用于与其他计算机(182)进行数据通信以及与数据通信网(100)进行数据通信的通信适配器(167)。这种数据通信可以通过串行地通过RS-232连接、通过诸如通用串行总线(USB)等外部总线、通过诸如IP数据通信网等数据通信网以及本领域的技术人员可能想到的其他途径完成。通信适配器实现硬件级的数据通信,通过该数据通信,一台计算机直接或通过数据通信网将数据通信发送给另一台计算机。根据本发明的实施例,可用于在web页框架中启用语法的通信适配器的实例包括用于有线拨号通信的调制解调器、用于有线数据通信网通信的Ethernet(IEEE802.3)适配器和用于无线数据通信网通信的802.11b适配器。
为了进一步解释本发明,图4示出了根据本发明的实施例在web页框架中启用语法的示范性装置的功能框图。在图4的实例中,只有多模式设备(152)和用户(128),没有网络,没有VOIP连接,也没有包含远程ASR引擎的话音服务器。根据本发明的实施例,所有在web页框架中启用语法所需的部件都要安装或者嵌入于多模式设备本身,膝上型计算机、PDA、蜂窝电话等等。
图4的装置与图2的系统以相似的方式工作。根据本发明的实施例,多模式应用(195)是能够将多模式设备作为在web页框架中启用语法的装置操作的计算机程序指令的模块。在本实例中,根据本发明的实施例,本实例中的多模式应用(195)也配置为通过:在多模式设备上接收框架集文档,其中该框架集文档包括定义web页框架的标记;由多模式应用获取显示在每个web页框架中的内容文档,其中该内容文档包括可导航标记元素;由多模式应用针对每个内容文档中的每个可导航标记元素产生定义语音识别语法的标记段,包括在每个这种语法中插入识别当语法中的词匹配时待显示的内容的标记和识别将显示该内容的框架的标记;以及由多模式应用启用所有产生的用于语音识别的语法在web页框架中启用语法。本实例中的多模式应用(195)编程为向自动话音标记语言解释装置提供来自用户的用于识别的语音。在本实例中,自动话音标记语言解释装置表示为VoiceXML解释装置(192)。多模式应用(195)接受来自用户的用于识别的语音,并通过API(175)将该用于识别的语音发送给VoiceXML解释装置(192)。当借助启用的语法通过自动话音标记语言解释装置匹配用户语音中的一个或多个词时,多模式应用从解释装置接受并处理指示代表该匹配语音的指令的事件。VoiceXML解释装置(192)包括语法(104),该语法如上所述依次包括定义当前针对识别启用了哪些词和词的顺序的规则。
多模式应用(195)是提供语音接口的用户级、多模式、客户端的计算机程序,通过该语音接口,用户可以通过麦克风(176)提供用于识别的口述话音,通过音频放大器和编解码器将语音数字化,并且将用于识别的数字化语音提供给嵌入式ASR引擎(150)。多模式设备应用可以是其本身处理语法并直接通过API(179)为嵌入式ASR引擎(150)提供语法和用于识别的数字化语音的Java话音应用。或者多模式应用可以是运行于浏览器或者微浏览器内将VoiceXML语法通过API(175)直接传递给嵌入式VoiceXML解释装置(192)处理的X+V应用。嵌入式VoiceXML解释装置(192)可以转而通过API(179)向嵌入式ASR引擎(150)发出语音识别请求。多模式设备应用(195)还通过到嵌入式TTS引擎(194)API调用,向例如诸如X+V应用或者Java话音应用等多模式应用中的用户输入提供用于话音提示和话音响应的TTS转换。本实例中的多模式设备应用(195)不通过网络将用于识别的话音发送给话音服务器识别,本实例中的多模式设备应用(195)不通过网络从话音服务器接收TTS提示和响应。所有的语法处理、话音识别和文本到语音转换都在多模式设备本身中以嵌入式方式完成。
为了进一步解释本发明,图5示出了根据本发明的实施例在web页框架中启用语法的另一个示范性装置的功能框图。图5的实例包括为了数据通信由VOIP连接(216)通过数据通信网(100)连接的多模式设备(152)和话音服务器(151)。多模式应用(195)在多模式设备(152)上运行,而多模式服务器应用(188)在话音服务器(151)上运行。话音服务器(151)上还安装有带有ASR词典(106)的ASR引擎(150)、JVM(102)以及带有启用语法的VoiceXML解释装置(192) 。
代表“Voice Over Internet Protocol”的VOIP是用于在基于IP的数据通信网上对语音进行路由的一般术语。语音数据流过通用分组交换数据通信网,而不是传统的专用电路交换话音传输线。用于在IP数据通信网上携带话音信号的协议通常称为“Voice over IP”或者“VOIP”协议。可以在任何IP数据通信网,包括缺少到因特网其余部分的连接的数据通信网,例如在专用建筑物范围的局域数据通信网或者“LAN”上部署VOIP业务。
许多协议用于实现VOIP。两类最为普遍的VOIP是通过IETF的会话初始协议(SIP)和被称为“H.323”的ITU协议实现的。SIP客户机采用TCP和UDP端口5060连接于SIP服务器。SIP本身用于建立和拆除用于语音传输的呼叫。然后,带有SIP的VOIP采用RTP来传送实际的编码语音。类似地,H.323是来自国际电信联盟标准部门的保护性建议,以便在任何分组交换数据通信网上提供视听通信会话。
图5的装置和上述图3的系统以相似的方式工作。多模式应用(195)将语音接口呈现给用户(128),将启用的语法发送给话音服务器,提供音频提示和响应(314)并且接受来自用户(128)的用于识别的语音(315)。多模式应用(195)根据某种编解码器对用于识别的语音数字化,根据VOIP协议将该语音打包在识别请求消息中,并且通过网络(100)上的VOIP连接(216)将该语音发送给话音服务器(151)。多模式服务器应用(188)通过接受用于语音识别的请求(包括启用的语法和数字化语音)并返回语音识别结果(包括识别语音的文本、用作对话中的变量值的文本和作为来自语义解释的脚本的串表示的文本)为多模式设备提供话音识别服务。多模式服务器应用(188)包括向例如诸如X+V应用或Java语音应用等多模式应用中的用户输入提供用于话音提示和话音响应的文本到语音(TTS)转换的计算机程序指令。
多模式服务器应用(188)接收语法和来自用户的用于识别的语音,并且将该语法和语音传递给VoiceXML解释装置(192)。VoiceXML解释装置利用ASR引擎(150)识别单独的词并且确定词或者词的顺序是否被语法所匹配。ASR引擎从VoiceXML解释装置接收用于识别的数字化语音,利用数字化语音的频率分量派生SFV,利用该SFV从语言特定的声学模型(未示出)推断该词的音素,并且利用所述音素在词典(106)中查找该语音。
为了进一步解释本发明,图6示出了根据本发明的实施例在web页框架中启用语法的示范性方法的流程图。图6的方法包括在多模式设备的多模式应用中接收(302)框架集文档。典型地,通过响应于数据通信协议请求消息(例如诸如返回框架集文档的HTTP请求)接收web页来完成对框架集文档的接收。该框架集文档包括定义web页框架的标记。以下是根据两个框架集将三个框架组织在分层结构中的框架集文档的实例:
<!DOCTYPE HTML PUBLIC“//W3C//DTD HTML 4.01
Frameset//EN”
“http://www.w3.org/TR/html4/frameset.dtd”>
<HTML>
<HEAD>
<TITLE>A simple frameset document</TITLE>
</HEAD>
<FRAMESET id=“frameset1”cols=“20%,80%”>
<FRAMESET id=“frameset2”rows=“100,200”>
<FRAME id = “frame1” src =
“contents_of_frame1.html”>
<FRAME id = “frame2” src =
“contents_of_frame2.gif”>
</FRAMESET>
<FRAME id=“frame3”src=“contents_of_frame3.html”>
</FRAMESET>
</HTML>
图6的方法还包括由多模式应用获取(304)显示在每个web页框架中的内容文档。典型地,所述内容文档是包括诸如XHTML链接元素和锚元素等可导航标记元素的web页。本实例中的内容文档是框架集文档内框架定义中的“scr”URL值所规定的内容文档。在本实例中,内容文档被URL识别为contents_of_frame1.html、contents_of_frame2.gif和contents_of_frame3.html。
在本实例中,根据两个框架集将web页框架组织在分层结构中,而且该分层结构以最顶层的框架frame3以及两个子框架frame1和frame2为特征。因此,在本实例中,可以通过为最顶层的框架和每个子框架反复获取显示在每个框架中的独立的内容文档来完成对至少两个内容文档的获取。
图6的方法还包括由多模式应用为每个内容文档中的每个可导航标记元素产生(306)定义话音识别语法的标记段,包括在每个这种语法中插入识别当语法中的词匹配时待显示的内容的标记和识别将显示该内容的框架的标记。识别当语法中的词匹配时待显示的内容的标记可以从内容文档内可导航标记元素中的“href”属性获得。识别该内容将显示于何处的框架的标记可以从框架集文档中针对内容的目标文档的“id”属性获得。
图6的方法还包括由多模式应用启用(308)所有产生的用于语音识别的语法。启用产生的语法可进一步地通过动态产生规定语法的标记语言片段并向自动话音标记语言解释装置提供该标记语言片段来完成。在图6的方法中,多模式设备可以包括自动话音标记语言解释装置,启用产生的语法可以通过借助从多模式应用到自动话音标记语言解释装置的一个或多个应用编程接口(API)调用向自动话音标记语言解释装置提供语法来完成。在图6的方法中,可选择地,多模式设备可以为了数据通信耦接于话音服务器;该话音服务器可以包括自动话音标记语言解释装置;启用所有产生的语法可以通过借助从多模式设备到话音服务器上的自动话音标记语言解释装置的一个或多个数据通信协议消息向自动话音标记语言解释装置提供语法来完成。
图6的方法还包括由多模式设备向自动话音标记语言解释装置提供(310)来自用户的用于识别的话音。即多模式设备从麦克风获得作为模拟音频信号的用户语音并根据编解码器将该语音数字化。然后,通过API调用(如果该解释装置在多模式设备上),或通过数据通信协议消息(如果该解释装置在网络话音服务器上),多模式应用将数字化的语音提供给自动话音标记语言解释装置。
图6的方法还包括由带有启用语法的自动话音标记语言解释装置匹配(312)用于识别的至少部分语音。解释装置接收数字化的语音,将其传递给ASR引擎并接收响应中的文本词。然后解释装置确定该文本词的任何一个是否在值和顺序上与启用的语法中的词相匹配。
图6的方法还包括将指示代表匹配语音的指令的事件从自动话音标记语言解释装置返回(314)至多模式应用。如果解释装置将词或者词的顺序与启用的语法匹配,则解释装置将事件返回至多模式应用中的事件监听器。如果解释装置在带有多模式应用的多模式设备上,则将该事件从API调用返回至与该事件所定向到的元素相对应的DOM目标。如果解释装置在网络话音服务器上,则该事件在送往相应的DOM目标之前首先传递回数据通信协议消息中的多模式设备。
鉴于本文档中前面所提出的解释,读者将认识到根据本发明的实施例在web页框架中启用语法提供了如下的好处:
●启用了将对显示中所有框架话音启用(voice-enable)内容导航的语法,以及
●当话音用于激活超链接时,对特定目标框架进行定位。
此处用于在web页框架中启用语法的全功能计算机系统的上下文中大量描述了本发明的示范性实施例。然而,熟悉本技术的读者将认识到为了用于任何合适的数据处理系统,本发明也可以在设置于信号承载介质上的计算机程序产品内具体化。这种信号承载介质可以是传输介质或者是针对机器可读信息的可记录介质,包括磁介质、光介质或者其他合适的介质。可记录介质的实例包括硬件驱动器中的磁盘或磁碟、用于光驱动器的紧致磁盘、磁带以及本领域的技术人员可能想到的其他介质。传输介质的实例包括用于话音通信的电话数据通信网和数据通信网,例如诸如EthernetsTM和通过因特网协议通信的数据通信网以及万维网。对本技术熟悉的人们将立刻认识到任何具有合适的编程手段的计算机系统都能够如同程序产品中所体现的那样执行本发明方法的步骤。对本技术熟悉的人们将立刻认识到尽管本说明书中所描述的某些示范性实施例是面向安装的软件并在计算机硬件上执行的,然而,作为固件或者硬件实现的可选择的实施例也在本发明的范围之内。
从前面的描述可以理解,可以对本发明的不同实施例进行修改和改变而不背离本发明真正的精神。本说明书中的描述的目的仅仅在于解释本发明而不是对其加以限制。本发明的范围仅仅通过以下权利要求书的语言来限制。