通过标记共享话音应用处理的制作方法

文档序号:2836993阅读:306来源:国知局
专利名称:通过标记共享话音应用处理的制作方法
技术领域
本发明涉及在客户端-服务器环境中处理话音应用。 背景纟支术
近些年来,如因特网的广泛使用所表明的,电子信息和服务得到了极 大发展。通常,用户例如通过使用键盘或触摸屏#^信息来与系统进行交 互并在视频显示器上查看结果。然而,提供了越来越多的允许用户口头输 入信息的M系统。系统输出被以可听的方式提供给用户。这种^S舌系统 允许用户轻松地在移动中获取信息和服务,解放了用户的双手以用于其他 任务。
会话系统需要语音识别来理解用户以及需要语音合成来以类似人的话 音朗读信息。通常,这种系统在电话基础设施中执行,其中客户端设备是 例如手机的电话设备。最初,这种^^系统与哑客户端设备一起工作,因 此所有的语音处理(识别与合成)都在与哑客户端通信的服务器中完成。 然而,手持客户端的处理能力的提高使得在客户端侧的语音处理(识别与 合成两者)成为可能。
在一些会话系统中,语音识别的一部分在客户端设备上处理。术语"分 布式语音识别"用于指允许应用将在客户端设备上的本地语音处理与到基 于网络的语音服务的远程访问相结合的系统。例如,诸如降噪之类的信号 处理可在客户端设备上执行,然后客户端设备将处理后的数据发送到基于 网络的语音服务。反过来,该语音服务处理所接收的信号以确定用户的请 求并4吏用话音输出来响应用户。
另 一种使用客户端的处理能力的已知技术是嵌入式连接文本语音转换
(eCTTS),其中语音合成的一部分在客户端完成。将语音段保持为可被
重建回语音的压缩特征向量。
在另一种已知方法中,^"系统可完全驻留在客户端,并且整个语音 识别过程都在本地完成。由于客户端通常具有有限的处理能力,因此只有 很小的M系统才在这种设备上执行。
尽管存在现有的技术,但是仍需要用于处理话音应用的更有效和通用 的系统。

发明内容
在此描述了 一种灵活的机制,其中根据客户端的计算能力在客户端与 服务器之间共享与对话有关的计算。这种分布优选地在标记级别执行并且 这种方法使得客户端设备能够执行脚本。
根据本发明的第一方面,提供了 一种在客户端-服务器计算系统中的服 务器上处理话音应用的方法。接收指示所述客户端的计算能力的数据。根
据所述接收的数据选择一组指令,所述一组指令指定了要由所i^户端在 用户与所述计算系统之间的基于话音的对话中执^f亍的任务。将所述一组指 令提供给所述客户端以便执行。
根据本发明的另一方面,提供了一种在客户端-服务器计算系统中的客 户端i殳备上处理话音应用的方法。接收来自所iii良务器的脚本,4艮据指示 所ii^户端设备的计算能力的数据来选择所述脚本。分析所逸卿本以确定 一组将由所述客户端设备在用户与所述客户端-服务器计算系统之间的基 于话音的对话中执行的指令。在所述客户端设备上执行所述指令。
根据本发明的另 一方面,提供了 一种用于在客户端-服务器计算系统中 处理话音应用的服务器。所述服务器首先包括用于接收指示所述客户端的 计算能力的数据的装置。所述服务器还具有用于根据所述接收的数据选择 一组指令的装置,所述一组指令指定了要由所述客户端在用户与所述计算 系统之间的基于话音的对话中执行的任务。所述服务器还具有用于将所述 一组指令提供给所述客户端以便执行的装置。
根据本发明的另 一方面,提供了 一种用于在客户端-服务器计算系统中
处理话音应用的客户端设备。所i^户端设备包括用于接收来自所述Ji良务 器的脚本的装置,根据指示所^户端设备的计算能力的数据来选择所述
脚本。还具有用于分析所述脚本以确定一組将由所id^户端设备在用户与 所述客户端-服务器计算系统之间的基于话音的对话中执行的指令的装置, 以及用于在所述客户端设备上执行所述指令的装置。
根据本发明的另一方面,提供了一种计算机程序产品,包括记录在机 器可读记录介质上的用于控制服务器的操作的机器可读程序代码,所述程 序代码在所述服务器上执行以便执行在客户端-服务器计算系统中处理话 音应用的方法。所述方法包括上面描述的步骤。
根据本发明的另一方面,提供了一种计算枳4呈序产品,包括记录在机 器可读记录介质上的用于控制客户端设备的操作的机器可读程序代码,所 述程序代码在所述客户端设备上执行以便执行在客户端-服务器计算系统 中处理话音应用的方法。所述方法包括上面描述的步骤。
才艮据本发明的另一方面,提供了一种用于处理话音应用的系统,所述 系统包括客户端设备,其具有指示所ii^户端设备的计算能力的相关数 据。所述系统还包括数据存储装置,其存储了多个脚本,所述脚本指定 了要在用户与所述系统之间的基于话音的对话中执行的任务。所述系统还 包括服务器,其根据所^目关数据选择用于所^户端设备的适当脚本。
的第一组指令和将在所述服务器上执行的笫二组指令。同步层同步所述第 一和第二组指令的执行。


以下参考

了本发明的一个或多个实施例,其中 图1是根据优选实施例的适于执行这里描述的技术的客户端-服务器配 置的示意图2是根据本发明的一个优选实施例的用于在客户端和服务器之间灵 活地分布计算的方法的流程图;图3是根据本发明的一个优选实施例的适于在图1的配置中使用的计 算设备的示意图;以及
图4是根据本发明的一个优选实施例的在客户端与服务器之间提供同 步的通信层的示意图。
具体实施例方式
这里描述的技术提供了一种在客户端和服务器之间共享对话处理的灵 活机制。允许在客户端处执行脚本。在描述的配置中,服务器可访问脚本 的各个版本,每一个版本都针对相应的设备简档进行定制。
图1显示了具有客户端设备10和服务器20的系统1。如图所示,客 户端设备10是移动电话。然而客户端10可以是任何具有计算资源的可发 声设备。例如,客户端设备IO可以是个人数字助理(PDA)或通用计算机, 该计算机具有麦克风和一个或多个扬声器以使其能够检测口语输入并提供 可听的输出。该客户端设备具有足够的处理能力来运行嵌入式语音识别引 擎。
客户端设备10例如经由蜂窝电话网络发射信息12到服务器20,并从 服务器20接收信息14。将在下面参考图3描述服务器20和客户端设备10 的硬件结构。
服务器20包括语音服务器24和话音浏览器22。语音服务器24执行 自动语音识别(ASR)以将从客户端设备10的用户接收的请求转换成更适 于进一步处理的格式。从客户端设备10接收的数据可包括语音,也可包括 音频输入,比如双音多频(DTMF)键控输入。
语音服务器24还利用文本到语音转换(TTS )能力将信息转换成音频。 该音频与数据14 一同发送回客户端设备10。
话音浏览器22接收输入数据12和输出数据14。在使用类似于图1中 所见的架构的现有技术系统中,话音浏览器22仅仅是客户端设备10和语 音服务器24之间的通道。然而,在当前描述的配置中,话音浏览器22指 定了要在客户端设备10上执行的对话和/或语音处理。通过根据客户端设
备10的能力来自适应地共享处理,系统1通过减少服务器的往返操作而提
高了效率
服务器20可使用超文本传输协议(HTTP)工具26来访问信息和服 务。如图所示,该信息和服务源自数据存储装置30。然而,实际上使用系 统1可访问的信息和服务的来源很多。HTTP工具26和数据存储装置30 之间的通信链路28例如可以是因特网或局域网。链路28可以只是点到点 连接。
M户端设备10发送到话音浏览器22的数据12包括语音、文本和定 义客户端设备10的简档的参数。话音浏览器22选择指定了要在客户端设 备10上完成何种处理的脚本(称为"话音脚本")。因此,客户端设备 10的能力和话音脚本确定了服务器20和客户端设备10之间的处理的划 分。在确定哪些对话在客户端10上本地处理以及语音处理的哪个部分在客 户端IO (而不"艮务器20)上发生方面,使用话音脚本可以提供灵活性。
从话音浏览器22发送到客户端设备10的数据14包括话音脚本和语 音。客户端设备10执行该话音脚本。语音服务器24并不受服务器20和客 户端设备10之间的处理任务的分配的影响。
在一种配置中,^使用话音可扩展标记语言(VoiceXML)编写话音脚 本。VoiceXML是基于XML的脚本编写语言,并且VoiceXML正作为用 于激活语音的交互应用的标准而获得认同。VoiceXML为编写基于音频对 话的话音应用提供了与平台无关的语言。存在两种主要类型的对话。窗体 呈现信息和收集输入,而菜单呈现一组选择。
图2是在客户端10和服务器20之间灵活共享处理的方法的流程图。 在步骤202,客户端10与服务器20进行通信以提供定义客户端设备10的 能力的参数。可在呼叫建立时通知服务器20客户端的能力,或者,服务器 20已经被通知了客户端的能力。例如,可以将信息与电话号码关联,以通 知服务器20该电话号码由具有特定能力的客户端设备所使用。
描M户端能力的参数包括可用存储器量、处理能力和电池电力。也 可使用其他参数,包括确定特定硬件或软件资源(如程序或协议)在客户
端上可用的数据。
在步骤204,服务器使用所述参数来确定客户端设备10的简档。在步 骤206,服务器20选择合适的话音脚本并将所选择的脚本发送给客户端设 备IO。服务器可访问多个话音脚本,每一个脚本都针对特定的设备简档进 行定制。所述话音脚本指定了要在客户端10处完成的对话和/或语音处 理,并且还指定了哪些部分可在服务器20处执行。语音识别引擎已安装在 客户端设备10上,并且所述脚本定义了处理步骤,为了执行所述处理步骤, 将使用语音识别引擎。
客户端设备10分析所述话音脚本(步骤208 ),并且在步骤210,客
户端设备10全部或部分地执行该话音脚本。客户端设备10解释该脚本以
确定需要完成何种任务以及以怎样的顺序完成任务。然后客户端设备10 执行如脚本要求的指定的语音识别与合成任务。例如,话音脚本可指定客
户端设备需要合成一段提示并对用户播放该提示。客户端设备调用语音合 成引擎以合成提示。然后,客户端设备接收用户的口头响应并使用语音识 别系统处理该响应。在脚本中提供了来自用户的期望响应的语法。语音识 别系统的输出被用来确定将执行的下一个步骤,如在话音脚本中指定的那样。
由于运行时的约束,客户端设备10可能无法支持话音脚本所指定的计 算。客户端设备10然后可以选择表现为哑客户端。在这种情况下,客户端
-服务器交换将支持所需的多种交互。
在一种配置中,话音脚本包括用于对话和语音的JavascriptTM。发送 到客户端设备10的话音脚本将告知可以在客户端设备上完成何种操作。该 话音脚本包括设^t感的结构,因此通过分析脚本,客户端可以确定可在 客户端上完成何种处理。话音脚本包括对话处理所需的语法结构以及语音 处理所需的语音结构。话音脚本的结构还包括"可选形态",用于在分类 为"必须具有"或"可以具有"的文本之间进行区别,以及用于标识分类 为"必须具有"的语音。(Java和所有基于Java的商标和标志都是Sun Microsystems, Inc.在美国和/或其他国家/地区的商标。)
话音服务器的语言是VXML的扩展,其支持在服务器20和客户端设 备10之间分配处理的特性。该语言包含未在VXML中定义的标记标签, 所述标签被分析器用来从扩展后的VXML生成VXML服务器和VXML 客户端。下面描述了一些附加标签。
如果要处理一个较大的数据块,则使用此标签。扩展后的语言提供了
这样的特性其将数据块分割为两个部分,然后分别在客户端和服务器上 处理这两个部分,而不是在服务器20或客户端10上处理较大的数据块。 这里,splitblock-,,25,,表示该数据块的前25个字符将在客户端设备10上 处理,而剩下的字符将在服务器20上处理。
如果存在必需由客户端设备io提示的问题,则可根据客户端的简档合
并这些问题。客户端设备10的简档包括与可用存储器量和客户端10上的
用户是否处于匆忙之中有关的信息。如果用户处于匆忙之中,则这些问题 可被合并以及可由客户端或服务器按照规定询问。也可存在其他合并准则。
3,《split soui:c:e;"Clierit or Server" d^stinaition;"clientw>
如果存在任何服务器20或客户端10在n次尝试中未识别的问题,则 可以将该问题分割为不同的提示。客户端设备10或服务器20可以如目的 地指定的那样询问这些问题。也可存在其他分割准则。问题的基础语法(嵌 套的或顺序的)将在确定分割的过程中起作用。
在嵌套语法的情况下,通常需要将最后一个答案(而不是所有答案) 返回服务器以便分割提示。
嵌套语法的例子
a. 哪个国家?
b. 哪个城市?
c. 哪个机场?
如果必须进一步提交答案,则只有最后一个答案是所关心的,因为目 的是确定哪个机场。由于存储器的限制,将整个问题分成三个较小的语法。在顺序语法的情况中,用户不仅仅是关心最后一个问题的答案,而且 关心对整个问题的每个部分的答案。在某种分割之后,必须连接与每个子 部分相关的答案并且将其存储在末尾,以产生与服务器本身识别整个语法 等同的效果。
顺序语法的例子
a. 名字是什么?
b. 姓氏是什么?
c. 位置在何处?
在此情况中我们关心完整的答案,因为合并后的问题是"您想要谁的 电话号码以及位置在何处?",其答案可能是(Nitendra Rajput在办公室)。
与分割和合并相关的不同可能性
1) 在服务器20处识别整个问题并且无需分割与该问题相关的整体大 型语法(Big Grammar)。
2) 将问题划分成若干较小的部分并且在客户端一侧完成语音识别。 每次都将与提示相关的语法传送给客户端设备10。在嵌套语法的情况中, 语法依赖于用户给出的答案,但是在顺序语法的情况中,传送的语法可独 立于答案或可依赖于用户之前给出的答案(例如,布尔答案)。
3 )另 一种可能是在若干较小的部分之中,在服务器20处标识一些部 分并且在客户端设备10处标识其他部分。在这种配置中,与将在客户端 10处标识的问题相关的语法被传送给客户端。
4)在传送语法中存在一个潜在问题。即使客户端10不需要返回任何 内容给服务器20,客户端也还是要回到服务器以使得服务器能够根据之前 的答案传送合适的语法。这将增大客户端10的响应时间。所以,如果客户 端具有足够的存储器来处理所有语法,则应将所有语法传送给客户端,以 防止客户端还需要回到服务器以使得传送合适的语法。
例子
a.哪个国家?b.哪个城市?
在这种情况中,第二个问题依赖于第一个问题。所以我们在客户端IO 处保留所有国家的所有城市的语法(如果该客户端的能力允许的话),而 不是基于前一个问题的答案传送用于第二个问题的合适语法。
5) 在理想条件下,服务器20的存储器M够大的,所以可在服务器 20上合并任何数目的问题。然而,在客户端设备10处,将考虑客户端IO 的存储器限制来完成语法合并。可以存在多种提示合并组合。这意味着如 果将多个问题发送到客户端10以便合并,则可能并不是所有问题都在客户 端处合并。
例子
a. 您的名字?
b. 您的地址?
c. 您父亲的名字?
将发送这三个问题以在客户端10处进行合并。然而,考虑到客户端 10的存储器限制,也许只有第一个和最后一个问题^皮合并。
6) 无需在客户端10的存储器限制的基础上完成分割/合并。其他可 能的考虑包括"无匹配,,数的计数,或"无输入"数的计数。如果用户处 于匆忙之中,则可以执行合并,而如果用户不能处理大型问题而仅愿意回 M小的问题,则可以执行分割。可在用户提供的信息的基础上执行分割。 例如,如果用户通过相应提示提供了比所需信息更多的信息,则可以执行 分割。
例子
a. 您的名字?
b. 您的姓氏和出生日期?
如果用户对第一个问题的回答是"Neeraj Chaudhary",则第二个问 题可被分割成两个部分,并且仅询问问题"您的出生日期?"。
附录A包括一个以扩展XVML语言编写的样例程序。如示出的,可 以分析该样例程序并将其划分成两个部分,这两个部分可以分别在力良务器20和客户端设备10上运行。
图4示出了用于同步在客户端10和服务器20上执行的处理的通信层。 话音脚本(即VXMLext文件)401在VXMLext解释器层被处理,该层包 括分解器403和解释器的一组功能特定的模块405。解释器层是客户端10 和服务器20所执行的分析的一部分。在一种配置中,解释器层是话音浏览 器的一部分,该话音浏览器同时驻留在客户端和服务器上,即客户端话音 浏览器和服务器话音浏览器22。
将功能特定的模块405的输出提供给运行在服务器20上的服务器引擎 407和运行在客户端10上的客户端引擎409。引擎407、 409又与同步客户 端-服务器交互的同步器411进行通信。同步器411与运行在服务器20上 的浏览器代码413和运行在客户端410上的浏览器代码415进行交互。同 步器411和浏览器代码413、 415共同构成了通信层。
当'目的地,中指定了多个值(以'/,分隔)时,第一个值是首选 目的地。如果标签无法在第一目的地中执行,则在下一个指定位置完成执 行。作为这些基本值的组合的值在执行顺序中具有以下含义
*客户端/服务器在客户端上执行。如果执行未成功,则在服务器 上执行。
*客户端/部分的/服务器在客户端上执行。如果执行未成功,则 在客户端上完成部分执行并在服务器上完成其余执行。如果此操作也不成 功,则在服务器上执行。
*客户端/分割在客户端上执行。如果未成功,则将对话分割成多 个子对话,然后在客户端上执行。
*客户端/分割/服务器在客户端上执行。如果未成功,则将对话 分割成多个子对话并在客户端上执行。如果此操作也不成功,则在服务器 上执4于该对话。
*客户端/服务器/分割在客户端上执行。如果未成功,则在服务
器上执行。如果此操作也不成功,则将对话分割成多个子对话并在客户端 上执行。如果同样失败,则在服务器上执行多个子对话。
*月l务器/客户端该值是有效的,但是只对〈merge〉和〈blocl^标签 有意义。当与〈merge〉一起使用时,合并后的对话将在服务器上执行,并 且如果未成功,则该对话被分割,然后在客户端上执行。
现在将针对目的地值为'客户端/分割/服务器,的情况对同步层进 行描述。
当处理在客户端IO上发生时,服务器20处于等待模式。如果处理成 功,则客户端10编写'成功,消息并将已识别的字符串写入要发送给月良务 器20的文件。然后客户端10移动到下一个对话,该对话如在VXMLext (话音脚本)401中指定的那样将在客户端10或服务器20上发生。
如果在客户端10的处理未成功,则该客户端通过使用运行在其上的适 当模块405再次分割呼叫流而继续。服务器20仍处在等待状态。如果在客 户端的所有步骤均未成功,则最后将'未成功,消息发送给服务器20并且 将所识别的字符串设置为空字符串。然后,处理在服务器20上继续进行, 与客户端10相比,服务器20具有更好的识别准确性和更好的处理能力。
如果第一次尝试失败,则服务器20将分割问题。在这种情况下,即使 服务器20处的识别尝试失败,客户端10也必须知道服务器的当前状态。 这是因为即使识别发生在服务器20上,客户端IO也具有录制语音、发送 该语音到服务器20、然后接收并播放合成语音的任务。
当所有处理都在客户端10上发生时,服务器20没有任何任务并可保 持休眠,直到已在客户端IO上尝试了标签"目的地"所允许的所有情况。
由于通信层传送已识别的字符串,所以对于连接的、顺序的和嵌套的 呼叫流,策略是变化的。
a)应记住的是,在连接问题的情况下,应在连接之后提交所有答案。
例子-您的名字?
需要连接下面三个部分
1.您的名?2. 您的中间名?
3. 您的姓?
b) 在嵌套呼叫流的情况下,仅需提交最后一个问题的答案。 例子-我们只关心机场,但是将询问下面的嵌套问题-哪个国家?
哪个城市? 哪个机场?
c) 在连续呼叫流的情况下,需要提交最后一个问题的答案 例子-我们只关心座位号
1. 告诉我在1到20、 21到40、 41到60、 61到80之间的座位号;
2. 告诉我您的座位号。
随后的用来同步客户端10和服务器20的方法对于其他目的地值(服 务器/客户端,服务器/客户端/分割,客户端/服务器等)是类似的, 但是其中事件发生的顺序将随目的地值而变化。
图3是一类适于执行用于在客户端和服务器之间共享话音应用处理的 计算机软件的计算机系统300的示意图。计算机软件在安装在计算机系统 300上的合适的操作系统下执行,并且可被视为包括用于完成特定步骤的 各种软件代码装置。计算机系统300可被用作服务器20。通过下面描述的 修改,计算机系统300的结构也可用在客户端设备10中。
计算机系统300的组件包括计算机320、键盘310和鼠标315以及显 示器3卯。计算机320包括处理器340、存储器350、输入/输出(1/0)接 口 360、 365、 ^L频接口 345和存^i殳备355。
处理器340是执行操作系统和在操作系统下执行的计算机软件的中央 处理单元(CPU)。存储器350可包括随M取存储器(RAM)和只读存
储器(ROM),并在处理器340的控制下使用。
视频接口 345连接到显示器3卯并提供在显示器390上显示的信号。 从例如键盘310和鼠标315提供用于操作计算机320的用户输入。也可以 使用例如麦克风的其他类型的输入。也可以使用一个或多个扬声器(未示 出)以可听的方式输出信号。存^i殳备355可包括盘驱动器或任何其他合 适的存储介质。
计算机320的每个组件都连接到包括数据、地址和控制总线的内部总 线330以允许计算机320的组件经由总线330互相通信。
计算机系统300可使用到网络(在图3中表示为因特网380)的通信 信道385经由输^/输出(I/O)接口 365连接到一个或多个类似的计算才几。
可以将计算机软件记录在便携存储介质上,在这种情况下,计算机系
统300从存储设备355访问计算机软件程序。备选地,计算机320可直接 从因特网380访问计算机软件。在这两种情况中,用户都可以例如使用键 盘310和鼠标315操作在计算机320上执行的编程的计算机软件来与计算 才几系统300交互。
可同样适当地使用其他配置或类型的计算机系统来执行协助实施在此 描述的技术的计算机软件。此外,在实施所描述的技术中,可以使用诸如 数字信号处理器之类的定制器件和专用硬件。
手持客户端设备IO可具有与图3中显示的相类似的计算结构。显示器 3卯和小键盘被集成在通常不具有鼠标315的客户端设备10中。客户端设 备IO中的I/0接口 365是用于经由蜂窝网络发送和接收信号的^机,并 且客户端设备10还包括麦克风和扬声器以处理可听的输入和输出。
潜论
可对在此描述的技术和配置做出各种改变和修改,这对相关领域的技 术人员来说是显而易见的。
附录A
VXML扩展样例程序
<formula>formula see original document page 20</formula>
此文件是提供给分析器的,将生成以下的‘VXML服务器’和‘VXML客户端’,文件并使得它们分别在服务器和客户端上运行。
生成的VXML服务器<formula>formula see original document page 21</formula>
——""幕ww,w抓,w^"总efj5r^
spj it:ti考,'—*^---------------------------------------1—1
<field J7細& "一
<gr,3i TOr grammar desti"5t:ip72 Sefpne spJifctii^r*/>
-----^----^-------一——一—
,。羊>","".禍刚,,,</_p2,j>t> 《9'r3j if ^r src欲,."V》
<grn^iar #/》
《prcy^psx"^,,,柳閱,,,<r/proip&> 《7r3,sr ■src23"-......
标签库
1. 合并
属性 源
目的地
2. 分割
属性 源
目的地3. 块
新属性
处理
分割块
4. 字段 新属性 执行
5. 转到合并
7. 转到分割
8. Vxmlext
插入此标签以将所述语言与正常的Vxml语言进行区分,因为它具有 各种其他特性。
还添加了用于合并和分割多个提示的特定标签(语法 <p(promptmimberafter p)>)
权利要求
1.一种在客户端-服务器计算系统中灵活地处理话音应用的方法,所述方法包括以下在所述服务器上的步骤接收指示所述客户端的计算能力的数据;根据所述接收的数据选择一组指令,所述一组指令指定了要由所述客户端在用户与所述计算系统之间的基于话音的对话中执行的任务;以及将所述一组指令提供给所述客户端以便执行。
2. 如权利要求l所述的方法,还包括以下步骤如果一个或多个所述任务未成功地在所述客户端上执行,则在所述服 务器上执行所述一个或多个任务。
3. 如权利要求1或2所述的方法,其中所述接收步骤包括以下子步骤 标识所i^户端;以及检索所述标识的客户端的所述计算能力的预定简档。
4. 如权利要求1或2所述的方法,其中所述接收步骤在所述基于话音 的对话的运行时间接收所述数据。
5. 如任一上述权利要求所述的方法,其中所述数据包括以下项中的至 少一项所^Jl户端上可用的存储器的度量;所^户端的电池电力;所^户端的处理能力;以及标识所g户端上可用的一个或多个资源的信息。
6. —种在客户端-服务器计算系统中灵活地处理话音应用的方法,所 述方法包括以下在客户端设备上的步骤接收来自所述服务器的脚本,根据指示所i^户端设备的计算能力的 数据来选择所^本;分析所述脚本以确定一组将由所述客户端设备在用户与所述客户端-服务器计算系统之间的基于话音的对话中执行的指令;以及 在所ii^户端设备上执行所述指令。
7. 如权利要求6所述的方法,还包括以下步骤 将指示计算能力的所述数据从所M户端设备发送到所述服务器。
8. 如权利要求6或7所述的方法,还包括以下步骤 通知所述服务器至少一个所述指令未成功地在所述客户端设备上执行'
9. 如权利要求6、 7或8所述的方法,其中所述对话包括要播放给所 述用户的提示以及对所述提示的期望响应的相应语法,所述方法进一步包 括以下步骤根据所id^户端设备的计算能力,将至少一个所述提示和相应语法分 割成多个提示和相应语法。
10. 如权利要求9所述的方法,其中所述脚本包括一个或多个目的地 参数,所述参数指定了是在所述服务器上还是在所述客户端设备上执行所 述多个提示和语法。
11. 如权利要求6至8中的任一权利要求所述的方法,其中所述对话 包括将插_;故给所述用户的提示和期望响应的相应语法,并且其中根据所述 客户端设备的计算能力,将多个所述提示和相应语法合并成一个提示和相 应语法。
12. —种用于在客户端-服务器计算系统中处理话音应用的服务器,所 述服务器包括用于接收指示所^户端的计算能力的数据的装置;用于根据所述接收的数据选择一组指令的装置,所述一组指令指定了务;以及用于将所述一组指令提供给所述客户端以便执行的装置。
13. 如权利要求12所述的服务器,包括用于在一个或多个所述任务未成功地在所^J1户端上执行的情况下, 在所述^^务器上执行所述一个或多个任务的装置。
14. 如权利要求12或13所述的服务器,其中所述接收装置包括 用于标识所述客户端的装置;以及用于检索所述标识的客户端的所述计算能力的预定简档的装置。
15. 如权利要求12或13所述的服务器,其中所述接收装置可操作以 在所述基于话音的对话的运行时间接收所述数据。
16. 如权利要求12至15中的任一权利要求所述的服务器,其中所述 数据包括以下项中的至少一项所述客户端上可用的存储器的度量;所ii^户端的电池电力;所^Ji户端的处理能力;以及标识所ii^户端上可用的一个或多个资源的信息。
17. —种用于在客户端-服务器计算系统中处理话音应用的客户端设 备,所述客户端设备包括用于接收来自所述服务器的脚本的装置,根据指示所述客户端设备的 计算能力的数据来选择所述脚本;用于分析所i^本以确定一组将由所ii^户端设备在用户与所ii^户 端-服务器计算系统之间的基于话音的对话中执行的指令的装置;以及用于在所^Jl户端设备上执行所述指令的装置。
18. 如权利要求17所述的客户端设备,还包括用于将指示计算能力的所述数据从所ii^户端设备发送到所述服务器 的装置。
19. 如权利要求17或18所述的客户端设备,还包括用于通知所述服务器至少一个所述指令未成功地在所述客户端i殳备上 执行的装置。
20. 如权利要求17、 18或19所述的客户端设备,其中所述对话包括 要播放给所述用户的提示以及对所述提示的期望响应的相应语法,所述设 备还包括用于根据所^户端设备的计算能力,将至少一个所述提示和相应语法分割成多个提示和相应语法的装置。
21. 如权利要求20所述的客户端设备,其中所述脚本包括一个或多个 目的地参数,所述参数指定了是在所述服务器上还是在所述客户端设备上 执行所述多个提示和语法。
22. 如权利要求17至19中的任一权利要求所述的客户端设备,其中 所述对话包括将播放给所述用户的提示和期望响应的相应语法,并且其中 根据所^户端设备的计算能力,将多个所述提示和相应语法合并成一个 提示和相应语法。
23. —种计算积一呈序产品,包括记录在机器可读记录介质上的用于控 制服务器的操作的机器可读程序代码,所述程序代码在所述服务器上执行 以便执行在客户端-服务器计算系统中处理话音应用的方法,所述方法包括 以下步骤接收指示所iU:户端的计算能力的数据;根据所述接收的数据选择一组指令,所述一组指令指定了要由所ii^户端在用户与所述计算系统之间的基于话音的对话中执行的任务;以及将所述一组指令提供给所i^:户端以1更执行。
24, 一种计算机程序产品,包括记录在机器可读记录介质上的用于控 制客户端设备的操作的机器可读程序代码,所述程序代码在所^户端设 备上执行以便执行在客户端-服务器计算系统中处理话音应用的方法,所述 方法包括以下步骤接收来自所述服务器的脚本,根据指示所ii^户端设备的计算能力的 数据来选择所一本;分析所述脚本以确定一组将由所述客户端设备在用户与所述客户端-服务器计算系统之间的基于话音的对话中执行的指令;以及在所ii^户端设备上执行所述指令。
25. —种用于处理话音应用的系统,包括客户端设备,其具有指示所^户端设备的计算能力的相关数据; 数据存储装置,其存储了多个脚本,所述脚本指定了要在用户与所述系统之间的基于话音的对话中执行的任务;服务器,其根据所勤目关数据选择用于所述客户端设备的适当脚本;解释层,其处理所选择的脚本以针对所述对话确定将在所述客户端设 备上执行的第一组指令和将在所述服务器上执行的第二组指令;以及同步层,其同步所述第一和第二组指令的执行。
26. —种包括计算机程序代码装置的计算机程序,当所述程序在计算 机上执行时,所述装置适于执行如权利要求1至11中的任一权利要求所述 的方法。
全文摘要
一种用于处理话音应用的系统,包括客户端设备(10),所述客户端设备(10)具有指示其计算能力的相关数据。所述系统可访问多个脚本,所述脚本指定了将在用户与所述系统之间的基于话音的对话中执行的任务。可在浏览器级别解释所述脚本。服务器(20)根据所述相关数据选择用于客户端设备(10)的适当脚本。解释层处理所选择的脚本以针对所述对话确定将在客户端设备(10)上执行的第一组指令和将在服务器(20)上执行的第二组指令。从而根据客户端的计算能力在所述客户端设备与所述服务器之间共享计算。
文档编号G10L15/28GK101341532SQ200680048024
公开日2009年1月7日 申请日期2006年12月13日 优先权日2005年12月20日
发明者A·A·纳纳瓦蒂, N·拉伊布 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1