基于RIA模型的网上语音翻译系统的研究

/ 2

基于RIA模型的网上语音翻译系统的研究

陈再兴王大震

摘要:通过对语音识别技术和识别方法进行分析比较,建立了以隐马尔可夫模型为基础的语音识别算法,结合RIA(RichInternetApplication)模型的优势,实现客户端和WebServices之间数据的实时交互和异步传输。

关键词:在线翻译;语音识别;RIA;Flex;TTS

中图法分类号:TP39文献标志码:A文章编号:1000-8772(2009)06-0140-02

收稿日期:2009-02-27

资金项目:武汉市青年科技晨光计划资助(200750731278)

作者简介:陈再兴(1981-),男,河北石家庄人,硕士研究生,从事人工智能研究。

传统的翻译系统大多使用的是文本输入,这在对信息要求快速的今天显然是不适用的,特别是在一些场合,当手脚已被占用或光线不足无法进行操作时,就需要用语音发出命令。基于RIA模型的网上语音翻译系统的研究的通过语音识别技术的研究事人们可以利用在电话与通信网络,通过语音命令方便地从远端的数据库系统中查询与提取有关的信息。系统的主要设计为语音识别模块的设计和RIA客户端的设计,这也是构建RIA系统的核心部件。

一、技术概述

1.网络现状分析。目前在网络中浏览器/服务器(Browse/Server,简称B/S)应用程序架构仍然是主流,但是B/S应用程序架构受制于浏览器和HTML,相对与传统的客户端/服务器(Client/Server,简称C/S)应用程序架构缺少丰富的效果来展示数据,用户体验比较糟糕;而且基于页面的网站设计使用户频繁的通过页面来导航信息,任何一次数据的提交都要刷新一次页面,这样不仅浪费网络资源,同时也迫使用户长期处于页面的等待中,用户体验十分糟糕。

2.RIA模型。RIA的概念最初由Macromedia(现今的Adobe)提出,RIA是RichInternetApplication的简称,它将传统桌面应用程序用户界面功能性与Web应用程序的普遍采纳、低成本部署以及互动多媒体通信的长处集于一体,形成一种可以提供更直观、更好用户体验的应用程序。

RIA模型综合了C/S和B/S的优点,使用户在提高体验的同时做到了客户端的零部署。RIA的主要优势在于客户机在RIA内的作用不仅是展示页面,它可以在幕后与用户请求异步地进行计算、递送和检索数据,这一切都可以在不依靠客户机连接的服务器或后端的情况下进行。

3.语音识别技术。语音识别是近半个世纪发展起来的新兴学科,语音识别技术被认为是未来十年信息技术领域十大重要的科技发展技术之一。虽然目前来说,通过通信网络传输来实现语音识别技术近年来有很快的发展,而且在一些特定的领域,已经有一些语音识别的实用系统出现在北美和欧洲以及东南亚地区。但总的来说,通过通信网络的语音系统主要依靠数据量来改进性能,还没有出现真正的核心技术以进一步推动这一领域的应用发展。因此,对通过通信网络传输的语音识别技术的专门研究是十分必要的。

二、在线语音翻译系统的构建

分析国内外发展现状,我们可以看到结合RIA模型的语音识别系统伴随着电话网络、手机、PDA和Internet的普及性和语音识别技术、语义网技术、TTS(TextToSpeech)技术的发展的开发条件已经基本成熟。本课题要研究的就是以电话网络、手机、PDA和Internet为背景的语音识别问题。

系统的整个设计流程是:用户通过在远程的PDA和电脑等一些设备终端采集语音信息,然后传送到Internet的接入口,调用Internet的WebService来实现对语音的翻译。对于传输的数据,可能是语音信息,也可能是文字信息,因此在WebService的业务逻辑层要处理一个逻辑上的判断。对于语音信息,我们要调用业务层的语音识别模块识别出相应的文字信息。而对于文字信息,我们可以直接调用持久层对数据进行处理,翻译模块实现了有文本信息进行翻译的过程,数据库的设计主要是采用语义网的技术来实现;对于翻译后的数据信息采用TTS技术实现由文本向语音的高速,高效的转换。

语音识别模块即用户发出的声音通过语音识别程序进行模式匹配后,转化为机器可以识别的命令即文本文件,此模块借助语音识别引擎和捷通华声语音合成技术实现。语音识别程序主要用来接收语音识别的结果,并作出相应的翻译转换,由Web服务器通过网络发送到远程客户端。

三、客户端的实现

软件设计方面采用基于RIA模型的FLEX技术来开发Web页面。客户端通过Web浏览器以HTTP协议调用Web页面。界面能够显示服务器的状态,采集麦克风输入的信息,并把相关反馈信息和翻译信息在客户端中输出。WEB页面与WebService组件通信,把用户的参数传递给WebService,让WebService调用语音识别模块进行语音的识别和处理,转换成标准的文本信息。然后通过实时翻译模块和语义网技术实现对信息的翻译,最终通过TTS将翻译后的语音返回客户端。

1.捕获麦克风输入和输出。Flex应用程序可通过Microphone类连接到用户系统上的麦克风或其他声音输入设备,并将输入音频广播到该系统的扬声器,或者使用FlashMediaServer将音频数据发送到远程服务器。Flex集成了声音组件,可以快速地获得用户输入的语音信号,并通过异步传输的方式来调用后台的服务,达到实时翻译的目的。

2.图形化显示声音。对于目前声音处理软件来说,如何实现声音的可视化是软件开发领域急切解答的关键问题,借助语音的可视化,用户可以看到语音信号的强弱和高低,同时对于软件开发人员来说,可以轻松的进行系统的测试和维护。Flex提供了一系列的组建可以很轻松地实现音频信号的图形显示,其主要原理为通过获取声音的同时侦听将触发的音频帧的信号,并将声音波形数据存储在bytesByteArray对象中。声音波形是使用矢量绘图API绘制的。For循环将循环访问第一批256个数据值(表示左立体声声道),然后使用Graphics.lineTo方法绘制一条从每个点到下一个点的直线。第二个for循环将循环访问下一批256个值,此时按相反的顺序(从右到左)对它们进行绘制,生成的波形图可能会产生有趣的镜像图像效果。

3.处理声音流文件。流媒体的播放模式一直是新一代多媒体网络首选的主流技术,通过流媒体技术我们可以在下载的同时欣赏到页面的部分内容,因此,流媒体技术对于构建富足的因特网应用程序来说具有十分重要的意义。Flex则完全继承了流媒体技术,使用Flex技术可以快速的实现数据的流式传输。在本课题中我们将对从远程服务器加载的外部声音文件进行流式传输,以使用户不必等待加载完所有音数据再收听声音,以达到数据实时交互的目的。

四、语音识别模块的实现

对于语音识别模块的设计采用隐马尔可夫模型(HiddenMarkovModel,HMM)对语音信号的时间序列结构建立统计模型:一个是用具有有限状态数的Markov链来模拟语音信号统计特性变化的隐含的随机过程,另一个是与Markov链的每一个状态相关联的观测序列的随机过程。前者通过后者表现出来,但前者的具体参数是不可测的。可见HMM合理地模仿了这一过程,很好地描述了语音信号的整体非平稳性和局部平稳性,是较为理想的一种语音模型。若对这些语音信号建立隐马尔可夫模型,则可以辨识具有不同参数的短时平稳的信号段,从而解决了对语音的发音速率及声学变化建立模型的问题。

语音反馈模块我们采用了捷通华声语音合成技术(jTTS)来完成,jTTS是基于大规模真实录音的语音库,在合成过程中,根据一系列的匹配规则从大规模语音库中寻找最合适的不定长匹配单元进行拼接,以达到使合成语音自然、流畅的目的。用户事先建立好交互文件,然后进行语音指令的输入,语音输入引擎根据JTTS从交互文件中进行匹配,匹配后输出翻译结果。

本文利用Flex技术构建RIA系统,结合Nuance最新中文语音识别技术进行二次开发,编写语音识别程序,并结合WebService技术实现了语音在网络中的传输和识别的过程,下一步的工作将结合语义网技术,实现翻译模块的程序设计。通过RIA模型的建立和语音识别的开发。实验证明,在RIA客户端方面我们实现了数据在互联网上的快速传输和异步交互;在语音控制方面,语音识别的准确率可达98%以上。因此,构建基于WebService的分布式系统结合互联网的优势将大大提高系统的延伸性和维护性。

参考文献:

[1]刘幺和,宋庭新.语音识别与控制技术[M].北京:科学出版

社,2008,(2).

[2]AdobeSystem.Flex2technicaloverviewwhitepaper[M].

2006,(6).

[3]AdobeFlex2Developer'sGuide[M].2007.

[4]李奇宇.基于构建的RIAWEB开发平台的研究[D].北京:电

子科技大学,2006,(6).(责任编辑:袁凌云)