CN101305590B - 使用插件框架扩展基于语音的标记 - Google Patents
使用插件框架扩展基于语音的标记 Download PDFInfo
- Publication number
- CN101305590B CN101305590B CN2006800419470A CN200680041947A CN101305590B CN 101305590 B CN101305590 B CN 101305590B CN 2006800419470 A CN2006800419470 A CN 2006800419470A CN 200680041947 A CN200680041947 A CN 200680041947A CN 101305590 B CN101305590 B CN 101305590B
- Authority
- CN
- China
- Prior art keywords
- voice
- plug
- expansion
- browser
- sgml
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/487—Arrangements for providing information services, e.g. recorded voice services or time announcements
- H04M3/493—Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals
- H04M3/4936—Speech interaction details
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一种用来扩展受支持的语音标记的方法。该方法可包括辨别用于软件组件的参考实现(RI)的步骤,该软件组件解释基于语音的标记。RI可定义软件组件解释基于语音的标记的方式。可辨别包含RI扩展的至少一个插件。在运行时间,按照至少一个插件可动态地修改RI。软件组件可以基于修改的参考实现解释基于语音的标记文档。
Description
技术领域
本发明涉及浏览器设计领域,并且更具体地说,涉及一种使用插件框架来扩展受支持的标记语言的语音浏览器。
背景技术
语音可扩展标记语言(VoiceXML)是由万维网联盟(W3C)标准化的标记语言,用来规定人与计算机之间的交互式语音对话,如由交互式语音应答(IVR)系统使用的对话。VoiceXML已经定义了标签,这些标签指示VoiceXML解释器提供语音合成、自动语音识别、对话管理、声音播放、双音多频(DTMF)按键识别,以及电话呼叫控制功能。其中使用VoiceXML解释器的常见体系架构包括连接到公共交换电话网(PSTN)上的一系列部署的VoiceXML解释器。
尽管VoiceXML基于标准通用标记语言(SGML),具体而言基于可扩展标记语言(XML),但是VoiceXML不应该与基于SGML的、很多网页以其编写的超文本标记语言(HTML)相混淆。
HTML为可视网页而设计,其缺乏对用户-应用程序交互的进行控制的能力,而用户-应用程序交互对基于语音的接口而言是必需的。HTML接口被设计成一次处理多个元素并且同时显示这些经过处理的元素的结果。
基于语音的标记解释器,如VoiceXML解释器,具有与基于语音的接口相关的诸多约束和功能,而这些约束和功能使基于语音的解释器的操作方式不同于可视标记解释器或可视浏览器的操作方式。例如,利用呈现VoiceXML输出的基于语音的接口,一次只能处理和/或呈现一个元素,因为用户一次只能听到一个项目。
通常的作法是,VoiceXML解释器包括标准之外的特征。这些特 征允许VoiceXML应用程序作者敲入计算机电话集成(CTI)代码,从而将新的VoiceXML代码与旧有代码集成并提供平台专用功能。CTI是一种允许对电话和计算机上的交互进行集成或协调的技术。CTI服务包括但不限于自动呼叫分配(ACD)服务、智能拨号服务(power dialing service)、IVR服务,以及其他面向客户或面向代理的服务。
通常通过获取源代码、并按需要修改该源代码,来将扩展添加到VoiceXML参考实现。这里所使用的RI是标记解释器的基准实现,该基准实现规定了受支持的基于语音的标记。应该理解,通过修改源代码将专有扩展集成到RI上会导致单一的、成一整体的代码流,该代码流包含基础代码、专有扩展,以及相关代码修改。
这种传统方法具有诸多缺陷。一种缺陷是,因为扩展被穿插到RI中,所以难以将RI更新集成。因此,需要维护的代码包括RI和扩展。因为RI专门技术和扩展专门技术驻留在不同的组中,每个组对属于其他组的细节有些不熟悉,所以维护成本扩大。将代码维护外发给一个或多个外部团体的成本可能很高。
另一种缺陷是,通过修改源代码来包括RI和专有扩展而实现的解决方案导致一个专有解决方案。该专有解决方案不能以划分的形式打包,从而不允许以多个增值中间商能够轻易添加附加特征的方式再销售。而是,添加新特征需要每个特征提供者修改RI和/或修改包括扩展的RI。在不同特征提供者中对定制方案进行协调的工作可能耗时、昂贵,并且可能导致由添加特征中的非兼容性所引起的代码冲突。
所需要的是一种用来将扩展添加到VoiceXML解释器的机制,而该机制并不要求修改VoiceXML解释器的源代码。
发明内容
这里公开了一种根据本发明装置实施例的、通过插件框架对语音标记解释器所支持的基于语音的标记进行扩展的系统和方法。更明 确地说,支持定义的基于语音的标记语言的语音标记解释器可加载包含语言扩展的一个或多个包。扩展可代表现有解释器功能的修改或新功能。加载的语言扩展可链接到解释器上,从而浏览器可解释利用语言扩展的标记。扩展能以标准化的、独立于解释器的方式实施,该方式允许第三方零售商构建包括标记语言扩展的包。用户在他们选择的解释器内可利用这些扩展包。
本发明可按照与这里呈现的实质相一致的多个方面来实施。例如,本发明的一个方面可包括一种用于扩展受支持的语音标记的方法。该方法可包括辨别用于软件组件的参考实现(RI)的步骤,该软件组件解释基于语音的标记。RI可定义软件组件解释基于语音的标记的方式。可辨别包含RI扩展的至少一个插件。在运行时间,可按照至少一个插件动态地修改RI。上述软件组件可以基于修改后的参考实现来解释基于语音的标记文档。
本发明的另一个方面可包括另一种用于扩展由语音浏览器支持的标记的方法。该方法可辨别语音浏览器,该语音浏览器解释以基于语音的标记语言编写的信息。该方法也可辨别包括基于语音的标记语言的至少一个扩展的扩展器,其中语音浏览器通常不支持所述扩展。扩展器可在运行时间加载。由语音浏览器支持的基于语音的标记语言可包括所述扩展。
本发明的又一个方面可包括语音浏览器,该语音浏览器包括用于对以基于语音的标记语言编写的信息进行解释的装置。语音浏览器可包括插件框架的实现。语音浏览器还可包括依照插件框架使用插件包的装置。每个插件包可扩展由语音浏览器支持的基于语音的标记语言,而不用改变语音浏览器的源代码。
应该注意,本发明的各个方面可实施成用于控制计算设备实施所描述功能的程序,或实施成用于使计算设备能够进行与上述公开的步骤相对应的过程的程序。这种程序可以通过把程序存储在磁盘、光盘、半导体存储器、或任何其他记录介质中而提供。程序也可作为经载波传送的数字编码信号而提供。所述的程序可以是单个程序, 或者实施为多个子程序,每个子程序在单个计算装置内交互,或者跨过网络空间以分布方式交互。
这里详细描述的方法也能是一种响应服务请求而至少部分由服务代理和/或由服务代理操纵的机器执行的方法。
附图说明
在附图中示出了当前优选的实施例,然而要理解,本发明不限于示出的确切配置和设施。
图1是示意图,示出了一种按照这里公开的发明配置实施例的、包括软件组件的系统,该软件组件配置有对其受支持的标记语言进行扩展的能力。
图2是一种按照这里公开的发明配置实施例的、用于对语音浏览器的标记语言进行扩展的方法流程图。
具体实施方式
图1是示意图,示出了一种按照这里公开的发明配置实施例的、包括软件组件的系统100,该软件组件配置有对其受支持的标记语言进行扩展的能力。系统100可包括网络装置110、呈现装置140,以及软件组件120。
网络装置110可以是经由网络114将基于语音的标记文档112或插件包130传送到软件组件120的任何装置。网络装置110可以是物理网络装置、分布在不同地方但功能上相关的装置集合、虚拟计算装置等等。在一个实施例中,网络装置110可代表响应基于超文本传输协议(HTTP)请求而提供基于语音的标记文档112的Web服务器。网络装置110也可包括将一个或多个插件包130传送到软件组件120的文件传输协议(FTP)服务器。本发明不能理解成限于任何具体的数据传送协议,并且这里可以想到可以使用任何基于传输控制协议/因特网协议(TCP/IP)的协议或可选择的传输协议。
基于语音的标记文档112和插件包130可从同一网络装置110 传送,并且/或者可从不同的网络装置110传送。在一个实施例中,基于语音的标记文档112可以与相关插件包130近乎同时传送。在另一个实施例中,标记文档112可在相关插件包130传送之前或之后传送。
例如,当软件组件120被加载或实例化时,与基于语音的标记文档112相关并且软件组件120解释基于语音的标记文档112所需的插件包130可传送到并加载在软件组件120内。在另一个例子中,基于语音的标记文档112可传送到软件组件120,软件组件120可在解释基于语音的标记文档112之前确定是否需要相关插件包130,并且,响应于确定需要相关插件包130,则可以自动地或以交互方式获得插件包130。
基于语音的标记文档112是指按照基于语音的标记语言写成的电子文档,该基于语音的标记语言描述文档的结构和外观。基于语音的标记文档112可以是包括标记标签的文档,该标记标签描述规定基于语音的标记文档112内容如何进行渲染的独立于平台的样式。基于语音的标记文档112可包括任何基于标准通用标记语言(SGML)的文档,该文档包括语音处理和/或呼叫控制功能。
如这里使用的那样,基于SGML的文档包括基于SGML的变形、子集,以及超集的文档。基于SGML的文档的语音处理和/或呼叫控制功能可按照各种可用标准及其变形的任一种实施。
例如,基于语音的标记文档可包括但不限于,语音可扩展标记语言(VoiceXML)文档、语音合成标记语言(SSML)文档、语音识别语法(SRGS)文档、语义解释语言文档、呼叫控制可扩展标记语言(CCXML)文档、基于欧洲计算机制造协会脚本(ECMAScript)的文档、X+V文档、语音应用语言标签(SALT)文档、基于JAVA语音标记语言(JSML)的文档、基于JAVA语音语法格式(JSGF)的文档、同步多媒体整合语言(SMIL)文档等等(其中在美国或其他国家,或者在美国和其他国家,Java和基于Java的商标是Sun微系统公司的商标)。
插件包130是指定义标记语言扩展的电子消息。插件包130可定义通常软件组件120不支持的标记语言扩展。软件组件120可加载插件包130,提取关于具体描述的扩展的必要信息,并且此后可按照包130的规范来处理基于语音的标记文档112。可在运行时间动态地加载包130。包130可符合为对标记进行扩展而定义的标准化框架。因此,包130能以独立方式实施,从而可以假定将要使用的软件组件120符合为标准化的框架所规定的标准。
插件包130可包括一个或多个扩展器132。扩展器1 32是与标记语言相关的机器可读指令集合。扩展器132可定义先前不属于软件组件120所支持标记语言一部分的新的语言标签、属性、性质,或对象。扩展器132也可定义软件组件120现有功能的替换功能或功能实施。
扩展器132可包括扩展模块134、链接指令集合136、和/或属性138。扩展模块134可包括用来处理已定义的标记功能的代码。链接指令136用来规定软件组件120链接到扩展模块134上的方式。链接指令136可以规定扩展模块134链接到软件组件120上的一种或多种方式。链接可包括例如文档类型定义(DTD)链接、模式(schema)链接,和/或其他链接。
软件组件120可包括驻留在计算装置中的软件应用程序,其中该软件应用程序能够根据基于语音的标记文档112产生输出142。该软件应用程序可包括任何基于语音的或支持语音的应用程序。该软件应用程序除包括语音组件之外,还可选择性地包括图形用户接口(GUI)和/或GUI支持组件。例如,该软件应用程序可包括语音浏览器和/或多模态浏览器。输出142可呈现在呈现装置140上。
软件组件120可包括基于语音的标记解释器121和参考实现(RI)122。RI 122可定义软件组件120对基于语音的标记进行解释的方式。就是说,RI 122可定义解释器121在渲染基于语音的标记文档112时所利用的标签、功能、属性、执行指令等等。
RI 122可在运行时被动态地修改,以便包括由插件包130所定义 的扩展模块134内包含的扩展。在这种修改发生之后,对于扩展模块134的软件钩子(hook)可被包括在解释器121的适当位置内。
在一个实施例中,平台专用对象可添加为RI 122的扩展点。定义者可把平台专用对象分类为标准对象的扩展点。可创建映射以允许与标准对象相关的对象标签访问平台专用对象。因而,流向该对象以及从该对象流出的数据可由解释器121进行协调。通过使用平台专用对象,旧有代码可以作为扩展点库引入到编程模型中。
软件组件120也可包括扩展器加载器124、句法处理器125,以及上下文模块126。扩展器加载器124可加载插件包130。扩展器加载器124可按照链接指令136和属性138将扩展模块134链接或连接到软件组件120上。
在一个实施例中,扩展器加载器124可将扩展模块134放置在数据存储器129中。数据存储器129可位于软件组件120本地的存储空间中,或者可位于远离软件组件120的存储空间中。在远离软件组件时,数据存储器129可经网络116访问。
扩展器加载器124可在运行时间加载扩展器132。属性138可规定扩展器加载器124加载扩展器132的各种时间。例如,可在下列时间加载扩展器132:在软件组件120加载时、在标记文档112被分析时、在标记文档112被处理时、在事件发生时、在软件组件120从数据源接收输入之前的指定时间、在软件组件120从数据源接收输入之后的指定时间、在输出142被处理或产生之前的指定时间、在输出142被处理之后的指定时间等等。
句法处理器125可包括在标记文档112中包含的元素、属性、评述、注释,以及实体的清单;以及它们彼此的关系。在一个实施例中,句法处理器125可以是文档类型定义(DTD)处理器,其中用于标记文档112的结构和规则由该DTD定义。句法处理器125也可以是XML模式处理器,其中该XML模式处理器使用标记文档112内包含的XML代码来定义结构和规则。
句法处理器125可具有动态产生DTD或模式的能力。例如,链 接指令136可包括在功能上与扩展器132隔离的DTD代码片断。该代码片断在运行时间可自动地和动态地添加至预先存在的静态DTD指令。就是说,句法处理器125可基于链接指令136产生在分析标记文档112时使用的可操作DTD。
上下文模块126向软件组件120提供针对插件包130所定义的语言扩展的分析上下文127和执行上下文128。上下文模块126可利用标准化应用程序接口(API)来控制基于语音的解释器121和进行与语音、电话以及媒体有关的操作。API也可允许状态查询,如对于与当前执行上下文128有关信息的查询。
与分析上下文有关的项可包括但不限于文档对象模型(DOM)、经过分析的文本等等。与执行上下文128有关的项可包括但不限于提示队列、语法堆栈、平台服务、ecmaScript执行环境等等。
呈现装置140可以是能够呈现输出142的任何装置。在一个实施例中,呈现装置140可以是软件组件120在其上执行的客户端装置,如包含多模态浏览器的客户端装置。在这样的实施例中,呈现装置140可包括计算机、个人数据助理(PDA)、平板电脑,以及智能电话。呈现装置140也可以是呈现可听输出的电话装置,如用户可用来与交互式语音应答(IVR)系统交互的电话,其中IVR系统可利用软件组件120解释基于语音的标记。
网络116和网络114可配置成允许在载波中传送经过编码的数据。网络116和网络114可包括一个或多个局域网、广域网、城域网等等。网络116和网络114也可包括基于分组的组件和基于电路的组件。网络116和网络114可包括基于无线和基于有线的通信通路。
而且,网络116和网络114可包括把包括单一机器的装置彼此可通信链接的计算组件。网络116和网络114还可包括把起到虚拟机作用或起到分布式计算装置作用的装置彼此可通信链接的组件。网络116和网络114还可包括通过基于网络的通信协议,如传输控制协议/因特网协议(TCP/IP)的网络协议,把两个或多个远程布置的计 算装置彼此链接的组件和计算装置。
通过随后的例子可明白在系统100的组件中的交互。应该认识到,如下例子仅为了说明目的,并且本发明不应该理解成限于这里使用的特定配置。在该例子中,软件组件120可访问Web服务器(网络装置110)以获取Voice XML标记文档(基于语音的标记文档112)。该基于语音的标记文档112可包括叫做<pause(暂停)>的新的标记语言标签,如下面所示。
<?xml version=“1.0”encoding=“UTF-8”?>
<vxml version=“2.0”xmlns=“http://www.w3.org/2001/vxml”
xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=“http://www.w3.org/2001/vxml
http://www.w3.org/TR/Voicexml20/vxml.xsd”>
<form>
<block>
<var name=“age”expr=“45”/>
<if cond=“age==15”>
<pause duration=“1000”/>
<elseif cond=“age==45”/>
<pause duration=“2000”/>
<else/>
<pause duration=“3000”>
</if>
</block>
</form>
</vxml>
代码说明1:具有PAUSE标签的样本VoiceXML文档
以上样本可依据用户的年龄改变暂停时间,由此给可能与年轻用户相比不熟悉计算机接口和/或更耐心的年长用户相对较年轻用户更长的响应时间。暂停标签可提供在任何控制项的执行期间暂停VoiceXML对话的能力。<pause>标签可包括持续时间属性。
插件包130可包括用来实施<pause>标签的扩展器132。插件包可包括下面所示的描述符。所示的描述符利用JAVA档案(JAR)来 对DTD描述、扩展点、分析模块、及处理模块进行打包。
<?xml version=“1.0”encoding=“UTF-8”?>
<vb_plugins version=“1.0”>
<plugin name=“pause”>
<dtd definition=“jar:
http://www.widgets.com/widges/vxml/pause.jar!/
parseModule.class/pause.dtd”
extension_point=“jar:
http://www.widgets.com/widges/vxml/pause.jar!/
parseModule.class/insertpause.dtd”>
<parse_module uri=“jar:
http://www.widgets.com/widges/vxml/pause.jar!/
parseModule.class”/>
<process_module uri=“jar:
http://www.widgets.com/widges/vxml/pause.jar!/
processModule.class”/>
</plugin>
</vb_plugins>
代码说明2:用于插件包的样本描述符
插件包130和基于语音的标记文档112都可经由网络114传送到软件组件120。扩展器加载器124可把插件包130加载到软件组件120中。加载插件包130可包括建立用来触发扩展模块134的链接。扩展模块134可加载到数据存储器129中。当参考扩展模块134的指针由标记渲染处理器124触发时,可执行扩展模块134。
当软件组件120加载插件包130时,可加载与插件包130相关的模块(例如parseModule.class)。在这时,可建立用于这些模块的扩展表。例如,该扩展表可把“暂停”键映射到“暂停”事件处理程序。应该注意,启动多个扩展点的多个插件可同时启动。下面的代码样本表明RI 122如何作为与插件包130有关的支持扩展点。
void mainVXMLprocess(){
//遇到下一个元素
//在扩展表中查找元素,在此示例中“暂停”是关键字
//对象“PausePluginProcessing”是找到的值。
//注意,这样使多个扩展点能够同时变得活跃。
if(extensionTable.containsKey(element)){
PluginProcessing plugin=PluginProcessing)extTbl.get(element);
//调用PausePluginProcessing对象的“process”方法
plugin.process(dom,me,context vxmlIC);
}
}
代码说明3:扩展参考实现的样本
软件组件120的插件框架可要求提供用来分析和处理VoiceXML的模块。下面示出了样本分析接口和样本处理接口。
interface PlugInParse throws ParseException{
void parse(Node parent,Node you,Attributes_attrs);
}
代码说明4:样本分析接口
interface PluginProcessing throws ProcessingException{
void process(Document dom,Node me,
EcmaScriptExecutionContext context,
VoicexmlIntpreterContext vxmlIC);
}
代码说明5:样本执行接口
从以上应该认识到,分析和执行接口的实施允许设计者确定父辈和兄弟关系。因而,“you(你)”可使你自己作为节点,并且得到用来构造“you(你)”的属性/值。这样提供了修改/限制节点内容的机会。
在一个实施例中,用于软件组件1 20的插件框架可以要求对代表新标记的DTD进行定义。下面示出了用于<pause>特征的DTD代码 片断。
<!ELEMENT html(pause)*>
代码说明6:PAUSE扩展的DTD代码片断
用于<pause>扩展的DTD代码片断可在运行时间自动地添加到静态符合标记DTD。句法处理器125可在运行时间把<pause>扩展添加到标记DTD。就是说,句法处理器125可取得插件包130,并且可动态地产生在分析基于语音的标记文档112时使用的可操作DTD。
在一个实施例中,用于浏览器120的插件框架可要求pause扩展钩到标记文档112的上下文模块126的API中。这可要求为pause扩展定义分析上下文127和执行上下文128。下面的代码示出了样本代码。
class PausePluginProcessing implements PluginProcessing throws
ProcessingException{
void process(Document dom,Node me,
EcmaScriptExecutionContext context,
VoicexmlIntpreterContext vxmlIC){
long duration=Long.parseLong
(me.getAttribute(″duration″));
if(duration>-1)
Thread.currentThread.sleep(duration);
else
throw ProcessinException(″Illegal duration value″);
}
}
代码说明7:样本插件处理类
图2是一种按照这里公开的发明性配置的实施例、用来扩展语音浏览器的标记语言的方法200的流程图。在一个实施例中,方法200可在系统100的范围中进行。然而,方法200在这方面不受限制,并且可在具有用来在运行时间扩展支持的标记语言的可扩展框架的 任何语音浏览器或基于语音的标记解释软件组件的范围中进行。
方法200在步骤205中开始,其中语音浏览器可接收包括扩展器的包。扩展器可规定用于语音浏览器的标记语言扩展。语音浏览器可支持任何基于语音的标记语言。基于语音的标记语言可遵守诸如XML之类的基于SGML的标记语言的所有句法规则,并且还包括支持交互式语音应用程序创建的语义。例如,基于语音的标记语言可包括基于VoiceXML的标记语言,如VoiceXML、呼叫控制可扩展标记语言(CCXML)、X+V、语音应用语言标签(SALT)等等。
在步骤210中,扩展器可加载到浏览器中。在步骤215中,由浏览器支持的标记可被更新,以便包括在扩展器内规定的标记语言扩展。就是说,语音浏览器可包括对语音浏览器解释基于语音的标记的方式进行定义的RI。RI可由扩展器扩展。扩展器可包括用于先前不是RI一部分的新标记的定义,并且/或者扩展器可用功能的不同实施来替换RI的现有功能。
在步骤220中,可进行关于额外扩展包是否存在的确定。每个扩展包可包括一个或多个扩展器。如果扩展包存在,则方法可从步骤220到回到步骤210,其中每个包和包括的扩展器可依次加载。否则,方法可从步骤220转到步骤225。
在步骤225中,包含标记语言扩展的标记文档可由语音浏览器处理。在步骤230中,可对扩展器提供用来处置语言扩展的代码进行触发。在步骤235中,可执行被触发的代码。在扩展器提供的代码被执行之后,基于语音的标记文档可继续以通常方式被处理。如果扩展器提供的代码在语音浏览器之外的位置处被执行,则在步骤230中控制权可传到外部代码段,扩展器提供的代码可在步骤235中被执行,以及然后控制权可返回语音浏览器。
在步骤240中,一旦已经处理标记文档,生成的输出就可呈现在呈现装置上。例如,当浏览器是多模态Web浏览器并且呈现装置是计算机时,基于语音的标记文档可由计算机可视和/或可听地进行渲染。在另一个例子中,浏览器可以是由IVR系统使用的语音浏览器, 并且呈现装置可以是音频装置,如电话或其他电话装置。基于语音的标记的音频渲染可通过音频装置的音频收发机播放。
本发明可以以硬件、软件、或硬件和软件的组合实现。本发明可以以集中方式在一个计算机系统中实现,或者以其中不同元件分散在几个互连计算机系统的分布方式实现。适于完成这里描述方法的任何种类的计算机系统或其他设备都是适当的。硬件和软件的典型组合可以是具有计算机程序的通用计算机系统,当该计算机程序被加载和执行时,控制计算机系统,从而使其完成这里描述的方法。
本发明也可以具体化为计算机程序产品,该产品包括能够实现这里描述方法的实施的所有特征,并且当加载在计算机系统中时能够完成这些方法。在本上下文中的计算机程序是指一组指令以任何语言、代码或注释的任何表达,这组指令旨在使具有信息处理能力的系统直接或在如下的任一个或两个之后执行具体功能:a)到另一种语言、代码或注释的转换;b)以不同实体形式的复制。
Claims (18)
1.一种用于扩展受支持的语音标记的方法,包括:
辨别用于软件组件的参考实现,该软件组件可以解释基于语音的标记,其中所述参考实现定义软件组件解释基于语音的标记的方式;
辨别至少一个插件,每个辨别的插件包含对于参考实现的扩展;
在运行时间,按照该至少一个插件的对于参考实现的扩展修改参考实现;
所述软件组件基于修改的参考实现解释基于语音的标记文档。
2.根据权利要求1所述的方法,其中,基于语音的标记符合基于VoiceXML的标记语言。
3.根据权利要求1所述的方法,其中,软件组件包括多模态Web浏览器。
4.根据权利要求1所述的方法,其中,软件组件包括由IVR系统利用的语音标记解释器。
5.根据权利要求4所述的方法,其中至少一个插件中的一个插件是IVR系统专用插件,并且其中参考实现是标准化的、IVR系统不可知参考实现。
6.根据权利要求1-5的任何之一所述的方法,其中扩展包括对先前不是参考实现的部分的新标记进行定义。
7.根据权利要求1-5的任何之一所述的方法,其中扩展用功能的不同实现替换参考实现的现有功能。
8.根据权利要求1-5的任何之一所述的方法,所述修改步骤还包括:
使用上下文模块定义用于插件的分析上下文和执行上下文。
9.根据权利要求8所述的方法,其中所述上下文模块利用标准化应用程序接口来控制与语音、电话,以及媒体有关的由软件组件执行的操作。
10.根据权利要求8所述的方法,其中所述解析上下文与文档对象模型DOM相关。
11.根据权利要求8所述的方法,其中所述执行上下文与提示队列、语法堆栈、平台服务、及ecmaScript执行环境中的至少一个相关。
12.一种用于扩展由语音浏览器支持的标记的方法,包括:
辨别语音浏览器,该语音浏览器可以解释按照参考实现以基于语音的标记语言编写的信息;
辨别包括至少一个对基于语音的标记语言的扩展的扩展器;
在运行时间加载扩展器;及
扩展由语音浏览器支持的基于语音的标记语言,以便包括对参考实现增添扩展器的功能的扩展。
13.根据权利要求12所述的方法,其中该方法加载多个扩展器,并且此后扩展由语音浏览器支持的标记语言以便包括多个扩展,其中多个扩展的加载近似同时地发生,以及其中所述多个扩展包括至少一个扩展。
14.根据权利要求12或13所述的方法,还包括:
定义用于语音浏览器的插件框架,其中扩展器是与插件框架相符的插件包的部分,其中插件包包括用于至少一个扩展的机器可读代码的代码模块,以及其中插件包包括用于把代码模块链接到语音浏览器的编程指令。
15.根据权利要求14所述的方法,其中插件框架提供插件包开发者规定语音浏览器执行所述代码模块的多个时间之一的能力。
16.根据权利要求15所述的方法,其中所述多个时间包括从一组时间选择的至少两个不同时间,这组时间包括基于语音的标记被分析时的时间、基于语音的标记被处理时的时间、在语音浏览器从数据源接收输入之前的时间、在语音浏览器从数据源接收输入之后的时间、在输出被处理之前的时间,以及在输出被处理之后的时间。
17.一种语音浏览器,包括:
用于解释按照参考实现以基于语音的标记语言编写的信息的装置;
插件框架的实现;
用于利用符合所述插件框架的插件包的装置,其中所述插件包的每一个可以扩展由语音浏览器支持的基于语音的标记语言;其中插件包在运行时间动态地扩展语音浏览器的参考实现,其中所述参考实现定义语音浏览器解释基于语音的标记的方式。
18.根据权利要求17所述的语音浏览器,其中插件框架允许新标记的定义、和新标记的属性的定义和实现。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/271,594 | 2005-11-10 | ||
US11/271,594 US8639515B2 (en) | 2005-11-10 | 2005-11-10 | Extending voice-based markup using a plug-in framework |
PCT/EP2006/067823 WO2007054440A1 (en) | 2005-11-10 | 2006-10-26 | Extending voice-based markup using a plug-in framework |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101305590A CN101305590A (zh) | 2008-11-12 |
CN101305590B true CN101305590B (zh) | 2011-07-20 |
Family
ID=37709759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006800419470A Active CN101305590B (zh) | 2005-11-10 | 2006-10-26 | 使用插件框架扩展基于语音的标记 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8639515B2 (zh) |
CN (1) | CN101305590B (zh) |
WO (1) | WO2007054440A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060198363A1 (en) * | 2005-03-07 | 2006-09-07 | Spanlink Communications | Apparatus and method for computer telephony integration |
US8731925B2 (en) * | 2006-12-22 | 2014-05-20 | Nuance Communications, Inc. | Solution that integrates voice enrollment with other types of recognition operations performed by a speech recognition engine using a layered grammar stack |
US9082409B2 (en) * | 2008-08-28 | 2015-07-14 | Avaya Inc. | Binary-caching for XML documents with embedded executable code |
US8984165B2 (en) * | 2008-10-08 | 2015-03-17 | Red Hat, Inc. | Data transformation |
KR101581311B1 (ko) * | 2009-03-11 | 2015-12-31 | 삼성전자주식회사 | 플래시 메모리 장치 및 그 제어 방법 |
US8422641B2 (en) * | 2009-06-15 | 2013-04-16 | Calabrio, Inc. | Distributed record server architecture for recording call sessions over a VoIP network |
US9875671B2 (en) * | 2009-12-17 | 2018-01-23 | Google Llc | Cloud-based user interface augmentation |
JP5710464B2 (ja) * | 2011-12-27 | 2015-04-30 | 株式会社東芝 | 電子機器、表示方法、およびプログラム |
US10762890B1 (en) | 2019-08-19 | 2020-09-01 | Voicify, LLC | Development of voice and other interaction applications |
US11508365B2 (en) | 2019-08-19 | 2022-11-22 | Voicify, LLC | Development of voice and other interaction applications |
US10614800B1 (en) | 2019-08-19 | 2020-04-07 | Voicify, LLC | Development of voice and other interaction applications |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1457180A (zh) * | 2002-05-10 | 2003-11-19 | 北京艾尼通科技有限公司 | 实现ip网络中交互式语音应答的方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6732330B1 (en) * | 1999-09-30 | 2004-05-04 | International Business Machines Corporation | Scripting language blocks to support multiple scripting languages in a single web page |
EP1152330A1 (en) * | 2000-05-04 | 2001-11-07 | Carels Innovative Software, BVBA/SPRL | Process for automatically creating and controlling a set of graphical objects in a client server environment |
US6604209B1 (en) * | 2000-09-29 | 2003-08-05 | Sun Microsystems, Inc. | Distributed component testing in an enterprise computer system |
GB0025331D0 (en) | 2000-10-16 | 2000-11-29 | Canon Kk | Control apparatus |
US7487440B2 (en) * | 2000-12-04 | 2009-02-03 | International Business Machines Corporation | Reusable voiceXML dialog components, subdialogs and beans |
US7028306B2 (en) * | 2000-12-04 | 2006-04-11 | International Business Machines Corporation | Systems and methods for implementing modular DOM (Document Object Model)-based multi-modal browsers |
JP4225703B2 (ja) | 2001-04-27 | 2009-02-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 情報アクセス方法、情報アクセスシステムおよびプログラム |
US7610547B2 (en) * | 2001-05-04 | 2009-10-27 | Microsoft Corporation | Markup language extensions for web enabled recognition |
JP2004530982A (ja) | 2001-05-04 | 2004-10-07 | ユニシス コーポレーション | Webサーバからの音声アプリケーション情報の動的な生成 |
US7174006B2 (en) | 2001-06-18 | 2007-02-06 | Nms Communications Corporation | Method and system of VoiceXML interpreting |
US20030055651A1 (en) * | 2001-08-24 | 2003-03-20 | Pfeiffer Ralf I. | System, method and computer program product for extended element types to enhance operational characteristics in a voice portal |
GB2381409B (en) | 2001-10-27 | 2004-04-28 | Hewlett Packard Ltd | Asynchronous access to synchronous voice services |
US7143343B2 (en) * | 2002-04-11 | 2006-11-28 | International Business Machines Corporation | Dynamic creation of an application's XML document type definition (DTD) |
US7519976B2 (en) * | 2002-05-01 | 2009-04-14 | Bea Systems, Inc. | Collaborative business plug-in framework |
US7406658B2 (en) * | 2002-05-13 | 2008-07-29 | International Business Machines Corporation | Deriving menu-based voice markup from visual markup |
US7546382B2 (en) * | 2002-05-28 | 2009-06-09 | International Business Machines Corporation | Methods and systems for authoring of mixed-initiative multi-modal interactions and related browsing mechanisms |
GB0229892D0 (en) | 2002-12-21 | 2003-01-29 | Ibm | Method and apparatus for caching documents |
KR100426248B1 (ko) * | 2003-05-30 | 2004-04-08 | (주)미디어포드 | 음성 통지 중계 서비스 방법 및 이 방법을 실행하는컴퓨터 시스템 |
US20050043952A1 (en) | 2003-08-22 | 2005-02-24 | Ranjan Sharma | System and method for enhancing performance of VoiceXML gateways |
-
2005
- 2005-11-10 US US11/271,594 patent/US8639515B2/en active Active
-
2006
- 2006-10-26 WO PCT/EP2006/067823 patent/WO2007054440A1/en active Application Filing
- 2006-10-26 CN CN2006800419470A patent/CN101305590B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1457180A (zh) * | 2002-05-10 | 2003-11-19 | 北京艾尼通科技有限公司 | 实现ip网络中交互式语音应答的方法 |
Non-Patent Citations (1)
Title |
---|
Chun-Feng Liao,Tsai-Yen Li.Incorporating Voice Dialogs in a Multi-user Virtual Environment.《INTERNATIONAL COMPUTERS SYMPOSIUM》.2004,摘要,正文第1栏第27行-第11栏第40行,图1-11. * |
Also Published As
Publication number | Publication date |
---|---|
US20070106934A1 (en) | 2007-05-10 |
CN101305590A (zh) | 2008-11-12 |
WO2007054440A1 (en) | 2007-05-18 |
US8639515B2 (en) | 2014-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101305590B (zh) | 使用插件框架扩展基于语音的标记 | |
US7487440B2 (en) | Reusable voiceXML dialog components, subdialogs and beans | |
US8768711B2 (en) | Method and apparatus for voice-enabling an application | |
US9083798B2 (en) | Enabling voice selection of user preferences | |
US7739117B2 (en) | Method and system for voice-enabled autofill | |
US6636831B1 (en) | System and process for voice-controlled information retrieval | |
KR100561228B1 (ko) | 보이스엑스엠엘 문서를 엑스에이치티엠엘플러스보이스문서로 변환하기 위한 방법 및 이를 이용한 멀티모달서비스 시스템 | |
US7739589B2 (en) | Extending markup of a browser using a plug-in framework | |
US8355918B2 (en) | Method and arrangement for managing grammar options in a graphical callflow builder | |
US7216351B1 (en) | Systems and methods for synchronizing multi-modal interactions | |
CN100454242C (zh) | 动态生成用于合成数据的语音可导航菜单的方法和系统 | |
CN100472500C (zh) | 会话浏览器和会话系统 | |
US7548858B2 (en) | System and method for selective audible rendering of data to a user based on user input | |
US7487085B2 (en) | Method and system of building a grammar rule with baseforms generated dynamically from user utterances | |
CN101197868B (zh) | 在web页框架中启用语法的方法和系统 | |
US7505978B2 (en) | Aggregating content of disparate data types from disparate data sources for single point access | |
US20010043234A1 (en) | Incorporating non-native user interface mechanisms into a user interface | |
US20050261908A1 (en) | Method, system, and apparatus for a voice markup language interpreter and voice browser | |
US20020173964A1 (en) | Speech driven data selection in a voice-enabled program | |
CN101021860A (zh) | 用于调用嵌入在标记文档中的音频超链接的方法和系统 | |
US7171361B2 (en) | Idiom handling in voice service systems | |
JP2009059378A (ja) | ダイアログを目的とするアプリケーション抽象化のための記録媒体及び方法 | |
US20050273487A1 (en) | Automatic multimodal enabling of existing web content | |
KR100948472B1 (ko) | 데이터 언어에서 변수들의 자동 업데이팅 | |
US20050055668A1 (en) | Cpl editor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |