用CTI实现与Web交谈
世界上现在有十亿的电话终端,另外,有超过2亿的移动电话已经销售到世界上。而就人的自身习惯来看,通过言谈的交流,利用听和说是人们更愿意接受的交流和获取信息的方式。
移动通信技术与数据通信的结合,提供给人们随处接入网络的可能,但是只有WAP才是我们构建移动商务的唯一平台吗?CTI技术的发展给我们提供了一条新的途径。
CTI技术的进步
经过努力文本语音转换器(TTS,Text to Speech)已经取得了很大的进步,实现了自动的语言分析理解,并允许TTS的使用者增加更多的韵律、音调在讲话中,使TTS系统的发声更接近人声。
在自动语音识别系统(ASR)领域里,自动语音识别系统在从整个词的模仿匹配,向音素层次的识别系统方向发展。整个词的模仿匹配系统,或多或少要依赖讲话者,而且只有很少的词汇量。现在的做法是,自动语音识别系统的词汇表,由一个基于声音片断的字母表构成。要指出的是,这种词汇表是受不同语言限制的。基于这种方式,在一个宽广的声音行列里,讲话能被识别系统发现和挑拣出来,并加以识别。在识别一个词的时候,每一个音素将从系统的输入中挑拣出来,拼接组合后与已经有的音素和词语模板进行比较。而这样的模板能够非常快的被TTS产生出来,也就是说通过文字的输入,来产生需要的模板,并且非常经济的被存储起来。现在许多系统甚至能够支持识别模板的“热插拔",比如说将一个雇员的名字加入雇员识别系统的数据库,不用将整个系统停下来。
通过这些努力,音素的识别大大的减轻了ASR对讲话者的依赖性,并且使得它非常容易去建立大型的和容易修改的语音识别字典,从而满足不同应用市场的需求。在这一方面取得成功以后,今天的开发者正在加入更多的精密复杂的、智能的、高水平的语言学方面的处理到ASR系统中,同时在ASR中增加了对语言上下文环境的考虑。而通过鉴别输入的文法结构和前后关系,以及确定某些词(词窗)出现在谈话中特定位置的概率并制定相应的适用规则,将更加加强系统的精确性。
VoiceXML所取得的成就
5月23日,万维网协会(World Wide Web Consortium,W3C)接受了语音可扩展标记语言(Voice Extensible Markup Language)规范1.0版(VoiceXML 1.0)作为实例。
VoiceXML源自于AT&T、IBM、Lucent和Motorola多年的研究和开发。自从3月份VoiceXML 1.0 的发布,论坛成员已经扩展到150多家公司。
VoiceXML 1.0规范基于W3C的工业标准XML,为语音和电话应用的开发者、服务提供商和设备制造商提供了一个智能化的API。VoiceXML的标准化将简化Web上具有语音响应服务的个性化界面的创建,使人们能够通过语音和电话访问网站上的信息和服务,像今天通过CGI脚本一样检索中心数据库,访问企业内部网,制造新的语音访问设备。
最终将语音浏览器与微型浏览器融合在一起,可以实现多种形式的交互性。比如一个旅行的应用,使用者讲出他的起始点和终点及其首选的航班时间,这些对于PDA来说是非常不容易输入的。融合的微型浏览器对输入做出反应,给他一个航班选择的菜单。他选择预约的航班只需说“第三个”……实现语音输入,图形界面输出。
什么是VoiceXML
首先我们来看一看VoiceXML的模型。(见图1)
一个文件服务器比如说一个Web服务器,处理一个来自终端应用的请求,这一请求经过了VoiceXML解释程序和VoiceXML解释程序语境处理。作为响应,服务器产生出VoiceXML文件,在回复当中,要经过VoiceXML解释程序的处理。
执行平台是被VoiceXML解释程序语境和VoiceXML解释程序控制的。例如,在一个交互式语音应答应用中,VoiceXML解释程序语境能可靠的监测到呼叫,获得初始的VoiceXML文件,并且回答这一呼叫,在回答之后VoiceXML解释程序引导这一对话。执行平台产生事件响应用户的动作(说话或者字符输入)和系统事件(例如计时器溢出)。这些事件中的一部分依照相应的VoiceXML文件按照VoiceXML解释程序的解释加以执行,其他的被VoiceXML解释程序语境控制。
VoiceXML解释程序是一个计算机程序,它解释一个VoiceXML文件,引导和控制用户与执行平台之间的交互作用。VoiceXML解释程序语境也是一个计算机程序,用一个VoiceXML解释程序解释一个VoiceXML文件,并且可以与执行平台相互作用而与VoiceXML解释程序无关。
执行平台,是指一个能支持VoiceXML定义的交互作用的计算机,它上面要加载相应的软件和硬件,比如,ASR、TTS。
VoiceXML的主要目标是要将Web上已经有的大量应用、丰富的内容,让交互式语音界面也能够全部享受。而在这一过程中,VoiceXML希望能够将应用开发人员们从最低级的编程和资源处理工作中解放出来。VoiceXML能够利用人们已经非常熟悉的客户机/服务器方式,将语音服务和数据服务融合起来。
在这里一个语音服务被看作是用户和执行平台之间所进行的一系列交互式语音对话。对话由一个文件服务器来提供,文件服务器可能会是执行平台之外的一个设备。文件服务器提供了全部的服务逻辑、数据库的访问、系统的运行并且产生对话。在VoiceXML中,对话指的是一次交互式的作用,而用户的操作已经在VoiceXML文件中指定了。
一个VoiceXML文件指定每一个交互式的对话要被VoiceXML解释程序所引导。用户的输入将影响对话的解释,而用户的输入同时将被收集成为请求,提交给文件服务器。文件服务器可能通过回答另一个VoiceXML文件让用户通过其他的对话继续其会议。这里,会议指的是用户和执行平台之间的联系,像一个用户和语音应答系统的电话通信,一个会议会关联到不下一个的VoiceXML文件。
作为一种标记语言,VoiceXML要能够做到:
1.通过每一文件里指定的多重的交互作用,最小化客户机/服务器之间的交互工作。
2.实现应用开发者与低层的软件和系统平台上的软、硬件细节无关。
3.将用户交互作用的代码(在VoiceXML中)从服务逻辑(CGI 脚本)中分离出来。
4.要使提供的服务能随处可得,要求这些服务能够跨越不同的执行平台。对于内容服务商、工具提供商和平台提供商来说,VoiceXML是一个公共语言。
5.使简单的交互作用非常易于使用,要求所提供的语音界面能支持复杂的对话。
虽然VoiceXML在努力的适应多数的语音应答服务的需求,但是作为那些要求非常严格的服务,可能最好还是通过专门的应用软件来实现,从而达到一个出色的控制水平。
VoiceXML语言描述的通过语音应答系统实现人机交互通信,其范围包括:合成语音的输出(TTS)、音频文件的输出、话音输入的识别、DTMF输入的识别、语音输入的录音、电话功能像呼叫转移等。
VoiceXML提供字符和语音输入收集,将输入分配给文件定义的请求变量,并且在用户回答后做出决定的方法。VoiceXML确定文件可能被连接到其他的文件通过通用资源标示符(URI)。
VoiceXML的语言使系统不必担心有非常严重的计算、数据库运行压力。这些被设定在文件解释程序外执行,比如专门的文件服务器。常规的服务逻辑、管理形态、会话产生和会话序列被设定在文件解释程序之外。VoiceXML提供URI完成文件之间的连接,并且也用URI提交数据给服务器脚本。VoiceXML不需要文件作者明确分配和解除分配会话资源或者并行处理的情况。资源的分配和解除重新分配,以及并发线路处理的控制,由执行平台来完成。
执行平台应该达到什么样的要求才能支持VoiceXML解释程序。
文件获得:解释程序语境被期待得到文件使VoiceXML解释程序工作。在一些案例中,文件请求是产生自对VoiceXML文件的解释的,其他请求是产生于VoiceXML范围外的事件,比如说一个打入的电话。
音频的输出:执行平台能用音频文件或者TTS的方式提供音频输出。当支持两种方式时,平台必须能够自由的编排TTS和音频输出。音频文件是通过URI被调动的,语言并没有详细的指定音频文件的固定格式。
音频的输入:执行平台需要能同时发现并报告字符和会话的输入,并且依靠一个计时器去控制输入探测的间隔时间,这一定时器的长度由VoiceXML文件所定义。音频输入必须能报告用户通过字符(例如DTMF)的输入情况。它必须能够动态接受语音识别语法的数据。一些是VoiceXML所必须包含的语法数据;另一些涉及的讲话语法数据通过一个URI获得。讲话的识别必须能够达到根据语音输入实现动态的升级。语音输入必须能够从用户那里录下用户讲话的音频信号。执行平台必须能够使录音成为一个系统的需求变量。
产品篇
以下介绍几个国外厂商的产品,但现在的ASR和TTS系统大多还不能支持中文。
IBM
IBM和Nokia公司建立联盟的关系,共同研发以追赶移动Internet所带来的新需求。首先是,Nokia公司采用IBM的ViaVoice语音拨号簿。IBM分销Nokia的WAP网关,并且将它融入其普遍计算中间件中。
VoiceTIMES(Voice Technology Initiative for Mobile Enterprise Solutions)详细定义了掌上数字录音和语音识别应用。这一想法是提升语音作为移动设备的通用界面,无论是从数字录音设备到移动电话和PDA。IBM正在开发VoiceXML的Web浏览器,提供一个语音的入口,用户能够接入一个Websphere Web应用服务器,实现浏览一个书店,寻找书籍,获得价格,浏览银行,查询银行的帐务,买书等应用。
朗讯
朗讯的解决方案包括自己的ASR、TTS引擎和自己的板卡引擎。
Lucent LTTS 3.0可以根据输入的文字,转换成英语、法语等多种语言,尚不支持中文。可以教系统讲一些非常难的词。LASR 3.0用做语音输入和识别。LTTS 3.0是朗讯自己的无线数据服务器的一部分,基于此,移动通信运营商可以提供统一消息、新闻、天气预报的服务。可以使这些信息在HTTP、传真、语音、电子邮件之间转换,用传真打印出图形,用语音来读出文件内容。
朗讯的语音处理卡,可支持ISA/EISA、PCI和Compact PCI。其中支持ISA/EISA的语音处理卡,48M内存,有T1接口,可升级支持5个T1,支持ASR、TTS。
朗讯最新发布的Lucent Speech Server已经可以支持VoiceXML的应用。该服务器使用朗讯公司自己的Compact PCI语音卡,可支持最多192个信道的语音识别,支持TTS等应用,为运营商和OEM厂商服务。该服务器的首项应用将用来运行VoiceXML解释程序。另外包括自动服务员,呼叫屏幕服务(录下来话者姓名,并播放给被叫用户,询问是否接通,形成一个数据库,确定用户希望接听的电话),个人智能助理服务等等。
摩托罗拉
作为最早支持VoiceXML的厂商之一,摩托罗拉最终希望的是通过三种途径来访问Web:一种是通过普通PC机上的浏览器,第二种是通过手持设备(手机)上的微型浏览器通过WAP来访问,第三种是利用语音。
摩托罗拉的硬件设备是Vox网关,既是一个ASR、TTS并且也是一个电话界面用来呈现VoxML(摩托罗拉的VoiceXML版本)。它充当了电话和Internet文字之间进行语音指令与服务翻译的中介。语音网关服务器中内置了语音浏览器,网关使用标准的Internet协议访问Internet。
同时摩托罗拉还提供一种移动应用开发工具MADK。该工具使移动应用开发能够在单一开发环境下创建多个终端用户界面,VoxML的语音界面,WML的数据界面。在VoxML方面,包含有HTTP链接,便于仿真网络接入VoxML的应用;应用仿真器负责管理基于代理的自动语音识别ASR及TTS的合成引擎。通过MADK开发出的应用将运行在摩托罗拉公司新的移动互联网交换平台上(MIX,Mobile Internet Exchange)。
Nuance
Nuance有自己的一套语音识别系统,包括语音识别引擎和开发工具,可以帮助第三方开发者开发应用。
Nuance浏览器和可语音激活的服务器,叫做Voyager。现在,它比较类似一个个人信息助手,用户可以在一个电话中从一个站点浏览到另一个站点,查时间表、预约晚饭餐桌、阅读地图接受驾驶向导服务。虽然其功能并不比一般的个人信息助手强很多,但是用户对系统的输入是通过ASR,系统的输出是通过TTS,而一切都在VoiceXML的控制下。Voyager的ASR/TTS服务器将被销往ISP和运营商。
V-Builder,是Nuance开发的一种工具,用来将HTML开发者转变成为VoiceXML。V-Builder将作为语法转换和提示纪录的工具出现。