权朝臣, 邓长明,袁凌云
(云南师范大学 信息学院,云南 昆明 650500)
随着移动智能终端设备的普及,智能手机和Ipad等正潜移默化地改变着我们的学习生活方式,移动学习已成为学术研究的热点[1].虽然基于WAP、C/S、3G、J2ME和Android等技术开发的移动学习平台占据了绝大部分,但基本都存在安装烦琐且占内存的缺点[2],而平台交互的简捷性是衡量平台优劣的首要标准[3].基于此,本文结合目前微信推出的轻量化应用——微信小程序[4]进行软件设计,借助智能设备上已安装的微信APP进行运行,无需单独安装,既可免去烦琐的安装过程,还能解决程序内存占用以及不同设备和操作系统的适配等问题,为移动学习提供了新的平台与应用方式[5-6].
无论是出国旅游、学习还是在日常生活中,我们都会用到一些移动翻译软件.研究表明,在翻译实践中运用翻译软件,将使翻译质量提高20%[7].现有翻译软件主要有有道翻译、谷歌翻译及讯飞翻译等,但普遍存在语种少、输入方式单一、翻译等待时间长及准确率较低等问题,如网易有道词典只支持10种语言的互译,讯飞翻译只支持语音和文字输入,不能满足用户的实际应用需求.随着人工智能技术的发展,在与机器的信息交流中,催生了一种更加方便和自然的交互方式——多模态交互.多模态指多种感官的融合,是机器人与人之间通过文字、语音、动作等进行的一种交互方式[8],其中图像和语音是最重要和最精细的两种信息源.通过多模态交互方式,计算机能处理部分物理信息,从而帮助我们更高效地进行信息处理[9-10].
本文设计并开发了一种基于微信小程序的支持多模态输入及多语种实时翻译的移动学习软件,为用户提供文本、图片和语音在内的不同格式文件的输入,实现28种中外语言的实时翻译;同时提供百度地图、天气及周边等服务,是一款集多种输入方式、多语种互译为一体的移动翻译软件.
本实时翻译软件基于微信小程序,借助微信web开发者工具进行开发,支持文本输入、图片输入和语音输入等多种输入方式,以及28种语言的实时翻译等功能.前台语言采用微信小程序语言,服务器采用阿里云轻量服务器,后台语言使用PHP,数据库使用Mysql数据库.软件架构如图1所示.
图1 基于多模态输入的多语种实时翻译软件架构图
不同于以往的翻译词典,所有的输入都需要手动输入,本微信小程序支持多种输入方式,包括文本输入、图片输入以及语音输入.结合百度AI人工智能平台的图片以及语音识别PHP版本SDK和小程序的POST方法进行编程,实现文件的上传以及识别.图2为多模态输入及其处理流程.
图2 多模态输入方式的实现
3.1.1 图片输入
图片输入使用微信小程序的wx.chooseImage()方法上传手机中的本地图片,将文件上传至阿里云后台服务器,用户也可以通过拍照的方式上传图片,获得图片中的文本内容,将文本内容存入微信小程序的全局变量globalData中,传递到语言翻译功能页面.
3.1.2 语音输入
语音输入使用微信小程序的wx.getRecord-erManager()方法,支持60 s语音录制,录制完成后将语音保存为WAV格式的音频文件,再将此文件上传到后台服务器的PHP程序,获取WAV音频文件中的文本内容.
3.1.3 文本输入
文本输入较为简便,直接使用微信小程序的textview标签输入文本,在js中通过方法获取文本内容.
多模态的输入方式在微信小程序中虽采用不同的方法,但都能准确获取用户所输入的内容,为后续的翻译操作提供支持.
微信小程序获取用户输入的需要翻译的文本字段,之后选择要转换的语言类型.将翻译语言布置于下拉框供用户选择,一种语言对应一个数字,便于数据的传递以及后续的处理.微信小程序将此文本字段以及要转换的语言类型发送至阿里云轻量服务器,由布置在阿里云服务器上的PHP程序接收从微信小程序发送来的数据,将此数据封装,在PHP程序中编写相应代码发送到百度AI人工智能平台的通用翻译API接口,再返回到微信小程序输出.
通过微信小程序、阿里云服务器以及百度通用翻译API对用户信息的传递,实现28种语言的实时翻译,且百度AI人工智能平台机器翻译非常成熟、处理速度较快,确保了本翻译软件的准确性及时效性,优化了软件的性能.28种语言实时翻译的实现如图3所示.
图3 28种语言实时翻译的实现
翻译软件最重要的是翻译速度与准确性,因此,为对基于多模态输入的多语种实时翻译软件进行有效评价,以下将从准确性与时效性两方面测评本软件的性能.
4.1.1 多模态输入准确率
首先测评多模态输入的准确性.采用50张图片和50条语音进行测试;将图片文本内容与语音录制内容存入Excel文档中,再将图片以及语音识别后的内容存入Excel文档中.采用Excel中的基于Visual Basic的脚本语言VBS编写判断两个字符串的相似度算法,计算识别前后的文本内容相似度,以语音识别为例,结果如表1所示.得到每一张图片和每一条语音的识别相似度后计算平均值,得到图片和语音的输入准确率分别为84.12%和97.35%.
表1 语音识别相似度
本文以清晰的、模糊的以及包含繁体字的图片和中文文本为测试数据,图片识别准确率为84.12%,语音识别准确率为97.35%.因本文使用的相似度算法考虑了断句与标点符号等因素,相似度有所降低,如采用清晰的图片与标准普通话进行输入,识别率会更高.
4.1.2 多语种翻译准确率
基于多语种翻译的准确性,将中文文本及中文文本对应翻译的目标语种标准翻译存入Excel文件中,再将中文文本翻译为目标语种的文本存入Excel,同样采用Excel中的基于Visual Basic的脚本语言VBS编写判断两个字符串的相似度算法,计算翻译前后的文本内容相似度,以俄语为例,结果如表2所示.计算出每种语种翻译前后的相似度计算平均值,绘制柱状图分析多语种翻译准确率,如图4所示.
表2 俄语语种翻译相似度
图4 多语种翻译准确率
通过分析柱状图可知,多语种翻译各语种的准确率平均值为96.92%,各语种翻译的准确率最低为91.37%.相较于杨飞扬[11]采用基于平行语料和翻译概率的多语种词对齐方法翻译94%的准确率,本文采用流式端到端语音语言一体化建模方法,融合百度自然语言处理技术,将多语种翻译准确率提升到96.92%,准确性更高.同时,针对部分语种翻译准确性偏低问题,将在后期工作中继续完善.
此翻译软件的图片输入以及语音输入,首先是将图片以及语音里的内容转化为文字,而后进行文字的多语种翻译.不同输入方式的所用时间如图5、图6、图7所示.其中图片输入和语音输入的总时间为识别时间加文本翻译的总时间,即图片输入用时1 s 40 ms,语音输入用时2 s,文本输入与翻译总用时60 ms.即使用户采用不同的输入方式,等待时间也较短,能提供较为实时的翻译效果,为便捷的移动学习奠定了基础.
图5 图片识别 图6 语音识别 图7 文本翻译
介绍了基于多模态输入的多语种实时翻译软件的设计与开发,对其中的关键技术进行了详述.该小程序多模态的输入方式以及28种语言的实时互译,较好地弥补了常见的翻译软件只支持英汉互译、输入方式单一、需单独安装等缺点,能有效提升用户的使用体验.通过分析此软件的准确性与时效性,发现多模态输入的识别率较高,用户等待时间较短.下一步将在识别与翻译准确性方面继续展开研究,并进一步扩展翻译软件的相关功能.