到服务应用程序上的用户接口的声音控制的制作方法

文档序号:2822010阅读:163来源:国知局
专利名称:到服务应用程序上的用户接口的声音控制的制作方法
背景技术
一般地,本发明与服务应用程序的控制相关。尤其是关于服务应用程序的声音控制以及来自远程终端上的服务应用程序的声音控制。
用于因特网上存取的最一般的终端类型是传统的个人计算机(PC)终端,具有大屏幕、高分辨率的显示器和相对高的数据传送带宽。当用户希望用因特网连接去控制放在远程位置上的服务应用程序时,典型地,他/她将使用连接在PC终端上的键盘键入命令。数据通过因特网被传送到服务应用程序上,服务应用程序按其进行响应。用户的PC终端显示器允许响应信息以用户便于观看的文本和/或图像的形式被显示出来。
使用无线标识语言(WML)的无线应用程序协议(WAP)的近期标准化使得具有小显示器、有限处理能力以及低数据传送带宽(即数字蜂窝电话和终端)的终端能够存取和控制服务网络上如因特网上的服务和内容。WAP是分层通讯协议,它包括网络层(例如传送层和会话层)和包括微型浏览器、脚本、电话增值服务以及内容格式在内的应用程序环境。WML中简单的句法和有限的词汇使得WAP适于控制服务并与带有低处理和显示能力的用户终端上的内容进行交互作用。
虽然使用这种较小终端的优点在于为用户提供了较多方便(在各种旅行中用户能更方便地携带它们),但是从小显示器上读取选择菜单和其它大量文本(例如电子邮件和帮助文本)并在具有多功能键的小键盘上为键入响应信息时就会具有某些不利之处。通过用到服务应用程序上的声音控制接口作为替换,这些不利之处大部分可被克服。声音控制接口也可用于提供服务应用程序的“非动手”操作,例如在用户正在驾驶汽车时会需要这种操作。
自动语音识别系统(ASR)已为熟知。用于支持声音控制应用程序的ASR可以是中央服务器上用户共享的资源或用户终端上的资源。较简单的ASR可识别字间有停顿的单字,而高级的ASR能够识别连续字。随着与应用程序在任何特定的对话场合下应被识别的词汇量的增加,ASR的复杂度也增加。
如果ASR被应用在中央服务器上,它必需能够识别具有不同语言、方言及口音的多个用户。传统的依赖说话者的语音识别系统通常使用具有有限的词汇(例如“是”“否”“一”“二”等)的单字ASR以便降低被要求的处理总量并保持低错误率。另一个用于改进识别精度的选择是通过用各用户各自的声音去训练识别器并要求用户反复读或拼写误解的字,使得语音识别能适应该用户。在多用户环境中,各用户的个人属性必需被存储。
语音识别器在终端上的实现仅必需识别一个用户(或很少数量的用户),因此适应训练可以被应用。复合字ASR的要求的处理过程仍是大量的因而不能被应用在终端上。例如,现在的移动终端的处理能力(例如用在蜂窝电话系统中的终端、个人数字助手和特定目的的无线终端)用于实现具有少量词汇的单字ASR(例如用于拨号和存取存储在终端上的个人电话簿)是足够的。训练可能被要求用于在词表中增加新的字。
在现今的中央式服务器ASR中存在的一个问题是声音信道(声音呼叫)必需被建立在终端和网关或执行声音识别的服务器之间。然而,声音信道可能引入失真、回声和噪声,这将降低识别性能。
中央式ASR也是贵且有限的网络资源,它要求高处理能力、大数据库和对个人声音及方言的适应训练能力,以便降低识别过程中的错误率。因为它是有限的资源,所以中央处理器或网关可能需要执行拨号声音信道存取功能。
新一代WAP支持式移动终端能控制大量不同的服务和内容,并与它们进行交互作用。然而,终端显示器和键盘典型地具有有限的输入/输出(I/O)能力,因而使得声言控制接口是合乎需要的。正如上面解释的,现在的低成本终端能支持一些ASR功能,但是不能充分地支持要求大量词汇或要求对各应用程序的识别器进行耗时训练的多用户应用程序服务器上的声音存取。
前述的目的以及其它目的在用于控制提供由远程服务器给终端的服务应用程序的方法和装置中得以实现。按本发明的一个方面,通过接收代表声音信息的声音输入信号并使用放在终端上的第一自动语音识别系统去确定是否声音输入信号中包括一个或多个由第一词汇表定义的字,这一目的得以实现。其中不能对应第一词汇表定义的一个或多个字的声音输入信号部分组成了声音输入信号中未被识别的部分。如果声音输入信号包括一个或多个由第一词汇表定义的字,应用程序协议服务逻辑的终端应用程序部分被用于确定用由第一词汇表定义的一个或多个字做些什么。声音输入信号未被识别的部分被格式化以便使其包含在数据单元中该数据单元结构被第一预定义的标识语言定义。通过按第一应用程序协议操作的第一数字数据链,数据单元被传送到远程应用程序部分。在远程应用程序部分,声音输入信号的被格式化后的未被识别部分从数据单元中被提取出来。远程应用程序部分服务逻辑被用于确定用声音输入信号的格式化后的未被识别部分做些什么。
在本发明的另一个方面中,声音输入信号是处于压缩数字编码语音的形式。
在本发明的再一个方面中,如果声音输入信号包括一个或多个被第一词汇表定义的字,应用程序协议服务逻辑的终端应用程序部分将引导一个或多个字被用于选择一个或多个应被执行的终端功能。
仍在本发明的再一个方面中,一个或多个终端功能包括选择现行菜单项作为被提供给远程服务器的响应。
还是在本发明的另一个方面中,现行菜单项与第一选择相关;一个或多个终端功能包括将现行菜单项与区别于第一选择的第二选择相关联。
仍在本发明的另一个方面中,如果声音输入信号包括一个或多个被第一词汇表定义的字,应用程序协议服务逻辑的终端应用程序部分将引导相应消息被生成并通过第一数字式数据链被传送到远程应用程序部分上。在一些实施例中,相应消息可能包括状态信息、文本或二进制数据。
还是在本发明的另一个方面中,远程应用程序部分将相应消息转送给远程服务器。
仍在本发明的另一个方面中,远程应用程序部分通过按第二应用程序协议操作的第二数字式数据链将相应消息转送给远程服务器。第一应用程序协议可以但不必要与第二应用程序协议一致。
仍在本发明的另一个方面中,位于远程应用程序部分上的第二自动语音识别系统被用于确定是否声音输入信号的未被识别的部分包括一个或多个由第二词汇表定义的字。如果声音输入信号的未被识别的部分包括一个或多个由第二词汇表定义的字,则远程应用程序部分的服务逻辑被用于确定应用由第二词汇表定义的一个或多个字做些什么。
仍在本发明的另一个方面中,第一词汇表专门包括由第一预定义标识语言的句法所定义的字;第二词汇表专门包括与远程服务器相关的字。
仍在本发明的另一个方面中,如果声音输入信号的未被识别部分包括一个或多个由第二词汇表定义的字,则远程应用程序部分的服务逻辑会引起相应的键盘仿真响应被生成并发送给远程服务器。
仍在本发明的另一个方面中,如果声音输入信号的未被识别部分包括一个或多个由第二词汇表定义的字,则远程应用程序部分的服务逻辑会引起远程应用程序部分的服务逻辑状态被改变。
仍在本发明的另一个方面中,远程应用程序部分从远程服务器上接收文本,并生成代表声音信息的相应声音输出信号。声音输出信号被格式化以使其包含在其结构由第一预定义标识语言定义的第二数据单元中。第二数据单元通过第一数字式数据链被传送给终端。在终端上,声音输出信号从第二数据单元中被提取,并从那里生成扩音器的信号。


图1a和1b是按本发明一个方面的分布式VCSA的可选择实施例的方块图;图2是按本发明的声音控制远程服务器的典型实施例的方块图;图3是按本发明的声音控制远程服务器的典型实施例的方块图4是按本发明典型实施例由终端应用程序部分所执行的操作的流程图;图5是按本发明的典型实施例描述RAP的总体操作的典型实施例的流程图。
发明详述发明的各种特点现将借助于附图被说明,在图中相同的部分将用相同的参考符号表示。下面的说明利用WAP和WML标准作为基础将相对低性能的终端链接到远程应用程序上。然而应当认识到这些标准仅以范例的方式被使用,而这里使用的发明概念可等价适用在不按这些特定的标准运行的其它环境中。
在本发明的一个方面中,声音控制服务应用程序(VCSA)的组件被分布在终端中使用的部分和远程设备中使用的其余部分之间。图1a和1b是按本发明的一个方面的分布式VSCA的可选择实施例的方块图。在图1a中,用户部分101通过第一数字链105被连接到服务器部分103上。用户部分101被应用在终端上,而服务器部分103被实施在很可能处于远程位置上的独立的处理器上。运行服务器部分103的处理器在大多实施例中比运行用户部分101的终端更强大(例如更快、存储空间更大等)。用于连接用户101和服务器部分103的第一数字链105可以是无线式或有线式。通过第一数字链105传送的数据的优选格式是用标准标识语言例如WML创建的卡片以及脚本/库。在另一种可选择的实施例中,可以使用不同的标识语言。然而,在各种情况下,标识语言应该是能被终端相对低处理性能和有限的输入/输出资源所支持的语言。WML被优选地使用在无线可移动终端上,因为其在WAP URL服务下载的卡片以及脚本/库能被用于创建应用程序,这些应用程序能增强和扩展现今先进的移动网络上的可获取的服务。
用户部分101包括简单ASR,如能够识别少量(例如大约50)单字的ASR。更强大的ASR,如能够识别在连续语言中提供的大量字的ASR,可被实施在服务器部分103。在操作中,用户部分101从用户接收语音。用户部分101的ASR尝试分离并识别字。按那些能够被正确识别的字动作。典型地,多数被识别的字能被用于控制终端上的当地功能,例如菜单滚动,选择菜单项以及存取各种终端资源如当地存储的电话薄。另一些字可能被识别为操作数(例如数据),它们将被提供给服务器。由于这些字,要从终端的存储器中检索相应的文本。该文本通过第一数字链105被发送给服务器部分103。文本以这样的方式被格式化即服务器部分103将其识别为数据输入,并按此进行处理。
用户部分101不能识别的那些字将被格式化(例如格式化为多用途网间邮件扩充协议(MIMS)类型),并发送给服务器部分103。服务器部分103查明这是未被识别的语音后,将用其自身更强大的ASR去分析所接收到的语音。在分析后,服务器部分103按其动作。例如,被识别的语音可能包括用于控制服务器应用程序的命令,在这种情况下按该命令行动。被识别的语音也可能表示服务器应用程序的数据输入,在这种情况下就按输入数据处理。万一ASR不能识别所提供的语音,它将执行诸如将编码的语音发送回用户部分101之类的操作,101立刻将被编码的语音放给用户。在这种情况下被编码的语音可能是一个对用户重复读或拼写出未被识别的语音的声音请求。
在图1b中说明的另一可选择实施例中,服务器部分103被一个通过第二数字链111连接到服务器109上的网关/代理部分107所替代。用于连接服务器109和网关/代理部分107的第二数字链111可能是无线的或有线的。通过第二数字链111传送的数据的优选格式是由标准标识语言所创建的卡片以及脚本/库,但不必要与用在第一数据链105上的数据格式相同。当数据格式不同时,网关/代理107的一个功能是将数据从一种格式转换成另一种格式。这种情况下的转换可能不仅包括替换一种格式到另一种格式上的关键字(例如从超文本标识语言(HTML)到WML),而且还包括多个层次上的过滤以清除不能被终端接收的数据。例如,如果服务器109是通过因特网可存取的应用程序,它可以发送包括不能在相对低功效的终端上显示的图像信息的HTML网页。在这种情况下,网关/代理107需要清除这些数据,并仅将适用的数据传送到用户101上。
在许多实施例中,期望用在第一和第二数据链105、111上的数据格式是相同的,例如都是WML格式。在这种情况下,网关/代理107执行的转换可能包括将声音数据替换成文本,或反过来进行。就是说,服务器109可提供的数据可能是以要被显示在PC屏幕上的大文本菜单的形式。然而,正如上面解释过的,相对低功效的终端可能不能显示大菜单,和/或这种大菜单难于让用户在小终端屏幕上读取。因此,本发明的一个方面中,网关/代理部分107将所接收到的文本转换成可被提供给用户部分101(如MIME格式化的数据)并能被播放给用户的声音。这样,用户能听见可能的选项,而不必在屏幕上查看它们。用户可以通过说出它们进行选择,而不是打字。正如上面解释过的,被说出的文本或者是已被识别并被用户101上的ASR转换成文本,或是被网关/代理部分107上的ASR转换。在各种情况下,文本都被网关/代理部分107传送给服务器109。这样,服务器109不必特意地被配置用于处理声音接口。实际上,在这种配置中声音接口的存在对于仅注意所接收和发送的文本的服务器109而言完全是显而易见的。
参考图2和图3中描述的典型实施例,本发明将更详尽地被说明。这种典型实施例的结构与图1a和1b中所描述的基本相同。然而,在这一实施例中整个系统被逻辑地分解成四个部分终端部分(TP)203、终端应用程序部分(TAP)201、远程应用程序部分(RAP)205、和外部服务和内容(ECS)部分207。TP203和TAP201具体表示了用户101的VCSA,RAP205则具体表示了服务器部分103或VCSA的网关/代理部分107。ESC207对应于服务器109。这些组件现在将被更详尽地说明。应明确的是下面要说明的各种组件分别地或本身已被熟知(例如,各种存储单元、话筒、扩音器),或是基于提供的高级说明能轻易地实现,因此这里不需要高层次地详细说明。各种实施例可以利用一个或多个可编程单元执行被存储的程序实现多个功能(例如,声音特点匹配、协议堆栈保持等)。在可替换的实施例中,这些可被替换成电路逻辑门。特定的实现方法是否优于另一种依赖于正在考虑的特定的应用程序,因而其在本发明的范围之外。
TP203被实现在终端内,支持WAP标准(或可替换的其它应用程序协议)。TAP接口209被提供用以允许与TAP201进行交互作用,TAP201支持声音交互作用和WAP应用程序的控制。TP203此外还包括WAP用户协议堆栈213以按WAP标准协议通过第一数据链211进行通讯,数据链211也可选择为无线或有线数字信道。
话筒205被提供在TP203中,用于接收来自终端的用户的语音。话筒215的输出被提供给能将声音输入信号编码成压缩数据格式的TP声音编码器(例如GSM声音编码器)。被编码的声音数据被提供给TAP接口209。当声音被送至用户时,通过TAP接口209它以压缩数据格式(例如GSM声音编码格式)被提供给TP声音译码器219,译码器的声音输出被提供给扩音器221。
TAP201也实现在终端中用于支持与终端功能的基本声音交互作用。终端功能如调用处理、地址薄管理等。TAP201也支持声音交互作用和WAP应用程序的控制。TAP201包括使其与TP203通讯的TP接口223。
TAP201在终端上用作声音导向浏览器。这种浏览器的功能将参考图4中的流程被说明。声音输入从话筒215被接收并被提供给TP声音编码器217(步骤401)。TP声音编码器217的输出通过TAP接口209和TP接口223被提供给TAP201中完成的开始/停止检测器和记录单元225(步骤403)。TAP201使用开始/停止检测器和记录单元225去检测被提供的声音输入信号的开始和停止,并用此限制声音输入对在这里被称作“单字”的声音时间间隔上的扩展。开始/停止检测器和记录单元225包括高速缓冲存储器(未表示出来),它用于为这种单字存储(记录)TP声音编码数据。
单字从开始/停止检测器和记录单元225被提供给用于单字识别分析的ASR单元227(步骤405)。典型实施例中的ASR227包括特征向量抽取单元229,它接收单字并将其绘制成适于被特点匹配和判定单元231使用的向量空间。参考词汇表包括WML句法下的有限的标准WAP词汇和依赖终端的预定义词汇,参考词汇表被存储在TAP参考数据库233中。依赖于终端的预定义词汇被用于扩展WML标准词汇,以使其包括的字能让应用程序与用户更友好地对话或控制不在VCSA之内的终端功能。单字优选地以三种格式被存储文本格式,相应的TP声音编码数据和代表单字的相关特征向量。来自TAP参考数据库233的特征向量被提供给特点匹配和判定单元231的第二输入。特点匹配和判定单元231将在特征向量提取单元229的输出处提供的特征向量与TAP参考数据库233提供的特征向量相比较,确定是否匹配已成立。来自特点匹配和判定单元231的输出237、239被提供给TAP控制逻辑235并指明是否匹配已成立(判定块407)。
单字可能有多种与终端控制功能相关的单字(例如菜单上下滚动);确定应被发送给RAP205(可能最终送到服务器上)的响应的单字,例如“选择”命令用于从菜单中选择一项(等同于用PC鼠标在菜单上点按);以及那些完全由特定服务器应用程序定义的单字。因此,如果单字在终端中被识别(从判定块407上输出“是”),就要用确定即决定单字是何种类型的(判定块409)。当终端控制字被识别时,TAP控制逻辑235引导终端功能被执行(步骤411)。在某些情况下,这包括生成声音输出向用户指出现行终端状态的改变,例如现在菜单中那个选项被选取。
如果被识别的字是与服务相关的,适当的响应被生成为一条消息并通过WAP用户协议堆栈213被传递给RAP(步骤413)。消息可能包括状态信息、文本、二进制数据以及其它必要信息的任意组合,以便允许RAP205生成要被发送给ECS207的适当的响应。RAP205产生的响应优选地模拟由标准的基于文本的WAP终端产生的键盘输入选项。尽管键盘响应可能由TAP201产生且仅仅经过RAP205传递给ESC207,鉴于效率原因推荐仅将必要的状态(和/或其它)信息发送给RAP205并允许它产生以必要的键盘模拟响应形式的至ESC207的响应,这些响应包括文本、二进制数据、状态信息或菜单选项代码,但不限于此。
现在返回到判定块407,如果单字不能被ASR227识别,TAP控制逻辑235与TAP WAP服务逻辑245一起判定是否要通知用户(判定块415)。例如,这种判定可能是基于现行终端状态和正被TAP控制逻辑235使用的机器状态。例如,如果TAP控制逻辑235希望终端控制或菜单选择功能被接收,则用户被通知(步骤417)单字未被识别并要求重复该单字或通过拼写或键盘选择的方式输入。或者,如果TAP控制逻辑235与TAP WAP服务逻辑245一起希望未被识别的声音输入被提供,例如使用为正在制作的电子邮件的内容,那么未被识别的单字可能简单地被发送给RAP205(步骤419)。因为RAP的ASR307比TAP的ASR227更强大,所以TAP203如果要与识别未被识别的单字的任务相联系,未被识别的单字也可被传送给RAP205。发明的这一方面将在下面更详细的说明。
为了将未被识别的单字传送给RAP205,来自开始/停止检测器和记录单元225的声音编码数据被MIME格式化单元247格式化成MIME类型。通过TP接口223、TAP接口209和WAP用户协议堆栈,MIME格式化的声音编码数据的通讯被实现至被连接在第一数据链211上的通讯RAP接口243。TAP201是到放在RAP205中的RAP服务逻辑321上的用户,可以被实现在具有低处理能力(包括可移动和静止装置)的小WAP终端装置上。RAP服务逻辑321也可能是到ESC207中的服务和内容上的用户。
如上述,到用户的声音输出是由输出被连接到说话者221上的TP声音译码器219生成的。TP声音译码器219从TAP参考数据库233或RAP205上接收TP声音编码格式下的数据。由RAP205提供的TP声音编码格式数据被接收并嵌入为WAP协议中的MIME类型。这种技术具有排除在终端中需要任何文本-语音转换模块的优点。为了使对话对用户更友好,在TAP参考数据库233中存储为TP声音编码数据的其它字可被用于补充对话。
现在回到RAP服务器205(以及图3,它详细地描述了RAP205),它可以被用作多用户、中央WAP应用程序服务器,或是WAP网关/代理、或单用户当地服务器,专用于TAP用户(例如,用户PC、掌上设备等)。希望RAP205一般具有用于自动语音识别的更强大的处理能力和用于扩展特定服务应用程序需要的词汇的RAP参考数据库。
如图2和3所示,RAP205也可被实现为WAP网关/代理,被连接到不同位置的ESC207上。例如,ESC207可以是一个或多个在因特网上提供信息和内容的应用程序服务器。
如早先指出的,RAP205被连接到第一数据链211上,因此具有用于这一目的被连接到第一数据链211上的第一通讯接口301。第一通讯接口301也被连接到WAP服务器协议堆栈303上,堆栈303确保了通讯按WAP(或者其它选择)通讯协议进行。RAP205也包括用于控制其它RAP资源操作的RAP控制逻辑305。其中的ASR307将识别在TAP201中不能被识别的TP声音编码字,即以WAP协议中MIME类型被传送给RAP205的字。为了执行语音识别,RAP的典型ASR307包括特征向量提取单元309、特点匹配和判定单元311以及RAP参考数据库313。在操作中,TP声音编码数据被提供给特征向量提取单元。然后相应的特征向量被提供给特点匹配和判定单元311。RAP参考数据库存储特征向量,相应文本和所有要被识别的字的相应TP声音编码数据。来自RAP参考数据库313的特征向量被提供给特点匹配和判定单元311的另一输入。特点匹配和判定单元311将由特征向量提取单元309提供的特征向量和由RAP参考数据库313提供的特征向量相比较,并在输出线315、317上指明是否输入字被识别。ASR307可能在TAP的ASR227识别失败的语音识别处识别成功,因为RAP的ASR307更强大,且包括更大的参考字数据库。
除了能够识别单字外,RAP的ASR307也具有识别连续语音的能力。这种能力在大多情况下是有用的,包括在终端用户应说单字命令而说了短语命令的情况下。例如,希望用户说“CALL[停顿]JOHN[停顿]”,而用户却说了“CALL JOHN”——两字中间无停顿。在这种情况下,短语“CALL JOHN”可能被开始/停止检测和记录单元225误解为一个单字,并按此记录。如果TAP的ASR227不能识别这种声音输入,TAP201将把它转换为MIME格式化的声音编码数据,并将其与指示TAP201处于正期望输入命令的状态信息一并发送给RAP205。这种情况下的RAP205能通过将未被识别的单字(此例中短语“CALLJOHN”)应用到更为强大的ASR307中作出响应。RAP的ASR307不需要能识别用户说的所有可能的字。相反,它可能被提供一个可识别的TP命令单,执行所谓的“通配符”识别操作,其中仅TP命令字被查询。因而,如果ASR307从中查询到短语“*CALL*”(其中“*”代表在CALL前后“无关”字),ASR307将检测到未被识别的单字含有字“CALL”以及其它附随于它的未能识别的部分。这一信息能被传送回给TAP203。TAP203响应时调用终端CALL命令,并要求用户重复他所要呼叫的人的名字。因此,在本发明的这一方面中,ASR功能实际上被分布在终端中被执行的部分和RAP205上被远程执行的部分之间。
图5是描述RAP205总体操作的典型实施例的流程图。如果输入从TP203上被接收(“是”路径在判定块501之外),要检查以确定它代表什么(判定块503)。如果是与TP响应相关的状态信息,RAP205用它来更新其自身的状态(例如RAP服务逻辑321的状态)并按其动作。这可能包括产生将被转送给ESC207的键盘模拟响应(步骤505)。如前所述,键盘模拟响应可能包括文本、二进制数据、状态信息或菜单选项代码,但并不限于此。
如果从TP203接收的输入不是状态信息,那么它是MIME格式化的未被识别的单字,将按特定的应用程序处理(步骤507)。例如,未被识别的单字可能被应用在RAP的ASR307中,例如ASR207可产生被发送给ESC207的相应的文本。在这种情况下,相应的文本将由RAP参考数据库313提供。
未被识别文本或者可能代表例如被附加在发送给ESC207上的WAP应用程序的电子邮件上的声音内容。或者,未被识别的文本在不必与ESC207进行通讯的情况下可能构成被RAP本身执行的控制字。例如,未被识别的文本可以是对不能充分显示给/提供给用户的菜单的其它部分的请求。如果RAP205存储完整的菜单,它能在不与ESC207通讯的情况下为TP205作出响应。
使被接收的TP声音编码数据受控于自动语音识别的另一选择是将其转换成不同的能被附加在例如电子邮件响应上的声音格式,例如声波格式的文件。这种转换被声音格式转换器323执行。声音格式转换器323优选地双向进行,以便能够将声音邮件格式(从ESC207接收的)转换成TP声音编码数据,该数据被发送给用于向用户播放的TP203。
如果输入不是从TP上接收的(“否”路径在判定块501外),必需要确定是否文本从ESC207上被接收(判定块509)。如果是(判定块509外的“是”路径),它被优选地提供给文本—TP声音编码器319,编码器由此产生相应的TP声音编码数据(步骤511)。该数据可被格式化成MIME类型并被发送给WAP协议中的TP203(步骤513)。如先前所述,被接收的TP声音编码数据通过扩音器221被播放给用户。例如,当应用程序正从ESC207上向用户读取文本时,或当RAP205正向用户读取被存储的帮助文本时,这种从文本到声音的转换被请求。当WAP205是使用各种不同编码器的用户的共享资源时,文本—TP声音编码器319被设计成能支持任何和所有的用户终端之一使用的必要的声音编码格式。
在一些实施例中,可能去掉声音格式转换器323,并替换成在RAP参考数据库313上查询文本,再输出相应的TP声音编码数据。之所以优选使用单独的声音格式转换器323是因为它通常能支持使用大量词汇的服务-如“读取我的邮件”或其它向用户提供文本文件如帮助文件的服务。在这些情况下,将整个词典存储到RAP205中的编码数据中是不可取的。
RAP205还包括下一级服务和内容单元325的代理用户用于支持到其它外部服务和内容供应者上的存取。
现在考虑ESC207,它可能是具有或不具有对WAP应用程序任何支持的应用程序,但是在任何一种情况下,都可被用作对RAP205上的服务应用程序的信息或内容供应者。
本发明采用标准化的WML词汇和WAP内的句法的优点,以使WAP终端(即终端中有用户执行WAP)具有到为WAP终端设计的所有服务上的声音控制接口。VCSA的服务逻辑在应用程序中的TAP201和RAP205之间被分割。TAP201和TP203之间的所有当地交互作用被TAPWAP服务逻辑245处理,以减少TAP201和RAP205之间的传递。TAP WAP服务逻辑245发布命令,这些命令被TAP控制逻辑235执行用于控制TAP201中的数据和信息流。在本发明的另一可选择的方面中,TAP控制逻辑235也可能有插入支持文本和字的能力,与WML句法中有限的词汇相比以增强和提高与用户之间的对话。例如,这种附加的文本可以是声音形式,它能详细地向用户解释为了进行特定的菜单选择应执行什么步骤。附加的词汇可能被存储在TAP参考数据库233中作为TP声音编码数据串。或者,附加的词汇从RAP参考数据库313上被请求,并通过第一数据链211(WAP信道)按TP编码声音数据被传送给TP203,TP203通过扩音器221将声音播放给用户。
按本发明的其它方面,用通过RAP205提供的完整的文本、编码TP声音数据和特征向量集可以更新、增强和替换TAP参考数据库233中的词汇。新下载的信息可能代表WML的改变或新的语言。
TAP WAP服务逻辑245可能是到放在RAP205中的RAP服务逻辑321上的用户。TAP WAP服务逻辑245仅控制TP和TAP功能,并执行基本的WML句法。它并不支持VCSA中依赖应用程序的部分。TAP WAP服务逻辑245和RAP服务逻辑321在服务应用程序当中是同步的。RAP服务逻辑321和用于支持新VCSA的词汇可能从外部服务供应者那里被下载到RAP205上。
在典型实施例中,为了激活VCSA,用户可以说预定的声音命令,例如字“服务”。TP203在响应时,例如,可将语音转换成TP声音编码数据,并将其提供给TAP201用于识别。假设用户的命令被TAPASR227所识别,由TAP参考数据库233提供的TP编码声音被TP声音译码器219转换成声音信号并提供给扩音器221。TAP WAP服务逻辑245负责将字汇集成文本串,TP控制逻辑235执行适当的声音输出指令。声音促使用户从存储在TAP201上的服务菜单中的几个选择之中进行选择。当特定的WAP服务应用程序被选择时,到RAP205上的WAP连接被建立。然后,TAP201和RAP205中服务逻辑开始执行服务。
为说明一个典型的服务被简短地描述。为了促进对例子中WML部分更好地了解,首先提供WML1.0的快速参考指南。在这个简要的概述当中,仅举例说明WML句法。值、域以及属性的缺省并未给出。然而,这些信息应已被熟知而无需提供在此。
下面的序必需出现再每一个WML卡片组(即WML文件)的头上。
<pre listing-type="program-listing"><![CDATA[<?xml version=“1.0”?><!DOCTYPE WML PUBLIC“_//WAPFORUM//DTD WML 1.0//EN”“http//www.wapforum.org/DTD/wml.xml”>]]></pre>〈!-这是一种注解--〉各个卡片组恰好具有一个&lt;WML&gt;元素。
<pre listing-type="program-listing"><![CDATA[<WML xmllanguage=”“><HEAD>…</HEAD><TEMPLATE>…</TEMPLATE><CARD>…</CARD></WML>]]></pre>各个卡片组选择具有恰好一个&lt;HEAD&gt;元素。
<pre listing-type="program-listing"><![CDATA[<HEAD><ACCESS DOMAIN=”“PATH=”“PUBLIC=”“/><META NAME=”“HTTP-EQUIV=”“USER-AGENT=”“CONTENT=”“SCHEME=”“/></HEAD>]]></pre>各个卡片组可选择恰好具有一个&lt;TMPLATE&gt;元素。
<pre listing-type="program-listing"><![CDATA[<TEMPLATE ONENTERFORWARD=”“ONENTERBACKWARD=”“<ONTIMER=”“><DO>…</DO><ONEVENT>…</ONEVENT></TEMPLATE>]]></pre>各个卡片组具有至少一个&lt;CARD&gt;元素。
<pre listing-type="program-listing"><![CDATA[<CARD NAME=”“TITLE=”“NEWCONTEXT=”“STYLE=”“ ONENTERFORWARD=”“ONENTERBACKWARD=” “ONTIMER=”“><DO>…</DO><ONEVENT>…</ONEVENT><TIMER…/><INPUT…/><SELECT>…</SELECT><FIELDSET>…</FIELDSET>]]></pre>卡片可包含具有标识(例如&lt;B&gt;黑体&lt;/B&gt;)的文本流包括图像&lt;IMG&gt;和锚&lt;A&gt;。
&lt;/CARD&gt;
导航由&lt;DO&gt;元素标识。
<pre listing-type="program-listing"><![CDATA[ <DO TYPE=”“LABEL=”“NAME=”“OPTIONAL=”“><GO>…<GO><PREV>…</PREV><REFRESH>…</REFRESH> <NOOP…/></DO>]]></pre>事件由&lt;ONEVENT&gt;或&lt;TIMER&gt;元素处理。
<pre listing-type="program-listing"><![CDATA[ <ONEVENT TYPE=”“><GO>…<GO><PREV>…</PREV><REFRESH>…</REFRESH><NOOP…/></ONEVENT><TIMER KEY=”“DEFAULT=”“/>]]></pre>特定的动作是&lt;GO&gt;、&lt;PREV&gt;、&lt;REFRESH&gt;或&lt;NOOP&gt;元素中之一。
<pre listing-type="program-listing"><![CDATA[<GO URL=”“SENDREFERER=””“METHOD=”“ACCEPT-CHARSET=”POSTDATA=””><VAR NAME=”“VALUE=”“/></GO><PREV><VAR NAME=”“VALUE=”“/></PREV><REFRESH><VAR NAME=”“VALUE=”“/></REFRESH><NOOP/>]]></pre>关于如何对输入字段进行分组的提示将在&lt;FIELDSET&gt;元素中提供。
<pre listing-type="program-listing"><![CDATA[<FIELDSET TITLE=”“><INPUT…/><SELECT>…</SELECT><FIELDSET>…</FIELDSET></FIELDSET>]]></pre>输入被&lt;INPUT&gt;或&lt;SELECT&gt;元素之一获取。
<pre listing-type="program-listing"><![CDATA[<INPUT KEY=”“TYPE=”“VALUE=”“DEFAULT=”“FORMAT=”“EMPTYOK=”“SI ZE=”“MAXLENGTH=”“TABINDEX=”“TITLE=”“/><SELECT TITLE=”“KEY=”“DEFAULT=”“IKEY=”“IDEFAULT=”“MULTIPLE=”“TABINDEX+”“/><OPTGROUP>…</OPTGROUP><OPTION>…</OPTION></SELECT>]]></pre>选项表元素可以利用&lt;OPTGROUP&gt;元素被分组。
<pre listing-type="program-listing"><![CDATA[<OPTGROUP TITLE=”“><OPTION>…</OPTION><OPTGROUP>…</OPTGROUP></OPTGROUP>]]></pre>选项表元素利用&lt;OPTION&gt;元素被具体指定。
<pre listing-type="program-listing"><![CDATA[<OPTION VALUE=”“TITLE=”“ONCLICK=”“>]]></pre>选择具有标识的文本流不含图像或锚。
<pre listing-type="program-listing"><![CDATA[<ONEVENT>…</ONEVENT></OPTION>]]></pre>标识的文本流包括下列元素&lt;B&gt;…&lt;/B&gt;粗体&lt;I&gt;…&lt;/I&gt;斜体&lt;U&gt;…&lt;/U&gt;下划线&lt;BIG&gt;…&lt;/BIG&gt;放大字体尺寸&lt;SMALL&gt;…&lt;/SMALL&gt;缩小字体尺寸&lt;EM&gt;…&lt;/EM&gt;强调&lt;STRONG&gt;…&lt;/STRONG&gt;着重加重&lt;BR ALIGN=”“MODE=”“/&gt;强制断线&lt;TAB ALIGN=”“/&gt;按列排列后来的文本&lt;A TITLE=”“&gt;嵌在文本流内的锚标签<pre listing-type="program-listing"><![CDATA[<GO>…</GO><PREV>…</PREV><REFRESH>…</REFRESH>]]></pre>锚具有标识的文本流,但没有图像或锚。
&lt;/A&gt;
图像用&lt;IMG&gt;元素来标识。
<pre listing-type="program-listing"><![CDATA[<IMG ALT=””“SRC=”“LOCALSRC=”“VSPACE=”“ HSPACE=”“ALIGN=”“HEIGHT=”“WIDTH=”“/>]]></pre>现在来说明典型的WAP服务。假设气象服务信息对于具有显示器/键盘交互作用的WAP式可实现的终端是可得到的。服务首先在屏幕上向用户提供选项表,形如<pre listing-type="program-listing"><![CDATA[Show weather for>StockholmHelsinkiZurichOther]]></pre>通过按压UP(向上)或DOWN(向下)键,用户可以移动鼠标(即“&gt;”符号)至表上方或表下方。通过按压ACCEPT(接受)键(在某些移动电话上-例如爱立信制造并销售的产品,是YES键),用户将使被选定城市的较短编码发送给气象服务供应者。
如果“Other”被选中,输入字段将被提供给用户输入城市名称接下来用户激活适当的设备键输入城市名,然后按回车键。
这项服务的WML如下所示<pre listing-type="program-listing"><![CDATA[<WML> <TEMPLATE> <!--This will be executed for each card in thisdeck--> <DO TYPE=”ACCEPT”> <GO URL=http//weather.com/by-city?$(city)/> </DO> </TEMPLATE><CARD NAME=”cities”>]]></pre>为××显示天气<pre listing-type="program-listing"><![CDATA[<SELECT TITLE=”CITY”IKEY=”N”IDEVAULT=”1”KEY=”city”><OPTION VALUE=”STHM”>Stockholm</OPTION><OPTION VALUE=”HSKI”>Helsinki</OPTION><OPTION VALUE=”ZURH”>Zurich</OPTION><OPTION ONCLICK=”#other”>Other</OPTION> </SELECT> </CARD><CARD NAME=”other”>]]></pre>输入城市名称<pre listing-type="program-listing"><![CDATA[ <INPUT VALUE=”city”TYPE=”TEXT”/> </CARD></WML>]]></pre>在语音识别式的终端中使用上述发明的技术,用户将听到“为这些城市选项显示天气”。
注意到它将“Show weather for(为××显示天气)”、SELECT标签的TITLE属性、“city(城市)”和TAP参考数据库233的某些粘贴文本结合到一起,“these(这些)”和“options(任选项)”结合到一起。这可能是依赖于装置实现的,或被预先定义为与句法有关的WML词汇表的补充字。
用户听到设备叙述一串名字,它们之间有较短的停顿。
“Stockholm”[停顿]“Helsinki”[停顿]停顿的目的是为用户提供充足时间以某些时间作出响应,例如“ACCEPT”,意思是选择此项,或“NO”,意思是下一个,或“BACKOUT”,意思是返回前一屏,等等。
如果用户响应是接受(“ACCEPT”)其它(“Other”)选项,设备将说“输入城市名,以O.K.结束,或停顿2秒钟。”注意设备如何将给定的文本和指令结合起来以结束输入。
接下来,用户说出城市名,以O.k.结束。设备将把谈话输入发送给用于语音识别和再处理的远程应用程序。
本发明的各个方面使具有相对低处理能力和麻烦的(例如很小)或相对不可用的(例如正在驱动中)I/O设备的终端设备能使用交互作用声音接口存取服务应用程序,这些服务应用程序是为不具有这些限制条件的终端的普通应用而开发的。通过将VCSA的语音识别系统分解成较小的用于标准标识语言(例如WML)句法的终端语音识别器和用于具有更高处理功能的远程设备上的VCSA的应用程序可靠部分的更强大的语音识别器,终端上ASR要求的复杂度将得以降低。这种调整的结果是不需要修改服务内容。
发明的另一优点源于这样的事实不需要在终端和远程应用程序服务器之间建立声音信道。这是因为对应用程序的声音响应被编码成预定的数字类型,例如MIME类型,它通过数字式数据信道被传递。
发明的其它优点是通过使用标准化结构语言如WML,提供了一种通用的途径进行标准化并同时限制用于任何声音控制服务的声音对话词汇。这样简化了声音识别的任务,减少了源于多用户应用程序的字中不同读音的存在按另一种方式而产生的错误。
发明也能提供一种方式通过在问题或可选择的选项中插入指令,确定用户对提示的由应用程序定义的问题或选项的语音响应的结束。这些指令告诉用户如何结束回答,例如,可以通过说出特定的预定义字或通过允许可被终端设备识别的出现预定义的沉默时间间隔而实现。当用户说出预定义的字或停顿预定义的间隔时间时,它们被终端ASR227所识别,使得终端能识别出先前所说的是被要求的响应。
发明使得交互声音控制的服务在不同的实施例中实现。这些实例包括但不限于以下内容—WAP允许电话上的声音浏览器;—被数字地连接到处理单元中控制功能上的声音允许控制单元;—声音允许的特定设备,例如电子记录本;—计算机应用程序的声音允许控制,例如在基于windows的操作系统和用户/服务器环境中的应用程序接口(API);和—标准化应用程序协议的声音控制,此标准应用程序协议建立在交互应用程序协议中具有较少定义词汇的各种标识或脚本语言的基础上。
发明参考特定的实施例被说明。然而,对于本领域中的技术人员而言,很显然可以用除了上述说明的优选实施例中使用的形式外的特定形式体现本发明。这可以在不背离发明精神的情况下实现。优选实施例只是作为说明而不应认为是对任何方式的限制。发明的范围要在附加的权利要求中而不是在前述的说明中给出,各种权利要求范围内的更改和等价变换都要被包括在内。
权利要求
1.控制从远程服务器上被提供给终端的服务应用程序的方法包括下列步骤接收代表声音信息的声音输入信号;使用放在终端上的第一自动语音识别系统去确定是否声音输入信号包括一个或多个由第一词汇表定义的字,其中不能对应第一词汇表定义的一个或多个字的声音输入信号部分组成了声音输入信号中未被识别的部分;如果声音输入信号包括一个或多个由第一词汇表定义的字,则利用应用程序协议服务逻辑的终端应用程序部分去确定用由第一词汇表定义的一个或多个字做些什么;格式化声音输入信号中未被识别的部分,以便使其包含在结构被第一预定义的标识语言定义的数据单元中;通过按第一应用程序协议操作的第一数字数据链将数据单元传送到远程应用程序部分;在远程应用程序部分,从数据单元中提取声音输入信号的被格式化后的未被识别部分,利用远程应用程序部分服务逻辑去确定用声音输入信号的格式化后的未被识别部分做些什么。
2.权利要求1的方法其中声音输入信号是处于压缩数字化编码语音的形式。
3.权利要求1的方法其中如果声音输入信号包括一个或多个由第一词汇表定义的字,应用程序协议服务逻辑的终端应用程序部分将引导一个或多个字被用于选择一个或多个应被执行的终端功能。
4.权利要求3的方法其中一个或多个终端功能包括选择现行菜单选项作为应被提供给远程服务器的响应。
5.权利要求3的方法其中现行菜单选项与第一选择相关;而一个或多个终端功能包括将现行菜单选项与区别于第一选择的第二选择相联系。
6.权利要求1的方法其中如果声音输入信号包括一个或多个由第一词汇表定义的字,应用程序协议服务逻辑的终端应用程序部分将引导产生相应消息,并通过第一数字式数据链传送给远程应用程序部分。
7.权利要求6的方法其中相应消息包括状态信息。
8.权利要求6的方法其中相应消息包括文本。
9.权利要求6的方法其中相应的消息包括二进制数据。
10.权利要求6的方法其中远程应用程序部分将相应消息转发给远程服务器。
11.权利要求10的方法其中远程应用程序部分通过按第二应用程序协议操作的第二数字式数据链将相应消息转发给远程服务器。
12.权利要求11的方法其中第一应用程序协议与第二应用程序协议相同。
13.权利要求1的方法还包括下列步骤利用位于远程应用程序部分的第二自动语音识别系统去确定是否声音输入信号中未被识别的部分包括一个或多个由第二词汇表定义的字;和如果声音输入信号未被识别的部分包括一个或多个由第二词汇表定义的字,则利用远程应用程序部分的服务逻辑去确定用由第二词汇表定义的一个或多个字应做些什么。
14.权利要求13的方法,其中第一词汇表专门包括由第一预定义标识语言的句法定义的字;和第二词汇表专门包括与远程服务器相关的字。
15.权利要求13的方法,其中如果声音输入信号中未被识别的部分包括一个或多个由第二词汇表定义的字,远程应用程序部分的服务逻辑引导生成相应的键盘模拟响应,并发送给远程服务器。
16.权利要求13的方法,其中如果声音输入信号中未被识别的部分包括一个或多个由第二词汇定义的字,远程应用部分的服务逻辑引导改变远程应用程序部分的服务逻辑的状态。
17.权利要求1的方法还包括下列步骤在远程应用程序部分中,从远程服务器接收文本;在远程应用程序部分中,生成代表声音信息的相应声音输出信号;格式化声音输出信号以使其包含在其结构由第一预定义标识语言定义的第二数据单元中;通过第一数字式数据链将第二数据单元传送给终端;在终端,从第二数据单元中提取声音输出信号,并从那里生成扩音器的信号。
18.用于控制从远程服务器上被提供给终端的服务应用程序的装置包括用于接收代表声音信息的声音输入信号的装置;第一自动语音识别系统位于终端内用于确定是否声音输入信号包括一个或多个由第一词汇表定义的字,其中不能对应第一词汇表定义的一个或多个字的声音输入信号部分组成了声音输入信号中未被识别的部分;应用程序协议服务逻辑的终端应用程序部分,如果声音输入信号包括一个或多个由第一词汇表定义的字,要利用该部分去确定用由第一词汇表定义的一个或多个字做些什么;用于格式化声音输入信号未被识别的部分以便将其包含在其结构被第一预定义的标识语言定义的数据单元中的装置;用于通过按第一应用程序协议操作的第一数字式数据链将数据单元传送到远程应用程序部分的装置;和远程应用程序部分包括用于从数据单元中提取声音输入信号被格式化后的未被识别部分的装置;和远程应用程序部分服务逻辑,用于确定用声音输入信号格式化后的未被识别部分做些什么。
19.权利要求18的装置,其中声音输入信号是处于压缩数字式编码语音的形式。
20.权利要求18的装置,其中应用程序协议服务逻辑的终端应用程序部分包括如果声音输入信号包括一个或多个由第一词汇表定义的字,将引导一个或多个字被用于选择一个或多个应被执行的终端功能的装置。
21.权利要求20的装置,其中一个或多个终端功能包括选择现行菜单选项作为提供给远程服务器的响应。
22.权利要求20的装置,其中现行菜单选项与第一选择相关联;和一个或多个终端功能包括将现行菜单选项与区别于第一选择的第二选择相联系。
23.权利要求18的装置,其中应用程序协议服务逻辑的终端应用程序部分包括用于如果声音输入信号包括一个或多个由第一词汇表定义的字,它将引导产生相应消息并通过第一数字式数据链传送给远程应用程序部分的装置。
24.权利要求23的装置,其中相应消息包括状态信息。
25.权利要求23的装置,其中相应消息包括文本。
26.权利要求23的装置,其中相应的消息包括二进制数据
27.权利要求23的装置,其中远程应用程序部分包括用于将相应的消息转发给远程服务器的装置。
28.权利要求27的装置,其中远程应用程序部分包括用于通过按第二应用程序协议操作的第二数字式数据链将相应消息转发给远程服务器的装置。
29.权利要求28的装置,其中第一应用程序协议与第二应用程序协议是相同的。
30.权利要求18的装置还包括位于远程应用程序部分上的第二自动语音识别系统,用于确定是否声音输入信号中未被识别的部分包括一个或多个由第二词汇表定义的字;和其中远程应用程序部分的服务逻辑包括装置用于确定如果声音输入信号未被识别的部分包括一个或多个由第二词汇表定义的字,用由第二词汇表定义的一个或多个字做些什么。
31.权利要求30的装置,其中第一词汇表专门包括由第一预定义标识语言的句法定义的字;第二词汇表专门包括与远程服务器相关的字。
32.权利要求30的装置,其中远程应用程序部分的服务逻辑包括用于如果声音输入信号中未被识别的部分包括一个或多个由第二词汇表定义的字,将引导生成相应的键盘模拟响应并发送给远程服务器的装置。
33.权利要求30的装置,其中远程应用程序部分的服务逻辑包括用于如果声音输入信号中未被识别的部分包括一个或多个由第二词汇定义的字,将引导改变远程应用程序部分的服务逻辑的状态的装置。
34.权利要求18的装置还包括在远程应用程序部分中用于从远程服务器接收文本的装置;在远程应用程序部分中用于生成代表声音信息的相应声音输出信号的装置;用于格式化声音输出信号以使其包含在其结构由第一预定义标识语言定义的第二数据单元中的装置;用于通过第一数字式数据链将第二数据单元传送给终端的装置;和在终端上,用于从第二数据单元中提取声音输出信号并从那里生成扩音器信号的装置。
全文摘要
从远程服务器提供给终端的服务应用程序的声音控制被分布在终端和远程应用程序部分之间。相对低性能的自动语言识别系统(ASR)被提供在终端内以识别用户提供的声音输入部分,这些输入与终端功能或由预先定义的标识语言所定义的功能相关联。被识别的字可以被用于控制终端功能,或者也可被转换成文本并发送给远程服务器。声音输入中未被识别的部分可被编码并发送给包含有更强大的ASR的远程应用程序部分。远程应用程序部分可以使用其ASR去识别由应用程序定义的字。被识别的字可被转换成文本并提供为远程服务器的输入。在相反的方向上,从远程服务器上被远程应用程序部分接收的文本可以被转换成被编码的声音输出信号,并被发送给能够生成信号提供给扩音器的终端。这样,声音控制机制可被用于代替远程服务器的可视显示输出和键盘输入。
文档编号G10L15/28GK1329739SQ9981421
公开日2002年1月2日 申请日期1999年10月5日 优先权日1998年10月16日
发明者J·S·赫丁, B·C·梅尔 申请人:艾利森电话股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1