英语没学好,怎么与老外交流?有钱人可以请翻译官,那屌丝怎么办?
在不久前结束的乌镇互联网大会上,搜狗CEO王小川曾演示了搜狗最新的语音实时翻译技术,当时王小川的中文讲话内容被实时识别为文字并翻译成英文显示在了屏幕上,成功将王小川关于人工智能专业领域的报告进行机器同传。例如,当王小川说到“搜索的未来就是人工智能时代的皇冠”时,屏幕上实时显示出了“In the future,search will be the Crown of the AI Era”,翻译效果相当惊人。
这会成为屌丝学渣的专属翻译官吗?这样的机器翻译功能又是如何实现的?今天,动点科技就与大家一起来揭秘这个神秘的搜狗语音实时翻译技术。
记者了解到,搜狗翻译功能,主要涉及语音断句、语音识别、文本断句、机器翻译四大技术。
语音断句:即在一个很长的语音信号中,筛选出什么时候是静音,什么时候是有效的语言。
一般来说,区分判断的方法有两种,第一是基于能量检测的方式,比如现在这个能量非常小,那就可以认为它是静音,能量非常大的时候认为是一个语音。第二就是基于深度学习模型的判断,通过大量的数据进行建模,建模之后可以通过模型自动检测,一些地方属于非语音的概率更高,我们认为它是非语音,当语音概率高的时候就判定为语音。这样我们就会得到一些全是语音的语音序列。
语音断句有几个好处,类似于静音的位置不用做语音识别,提升效率。语音片断可以区分成很多句送到框架下面的识别区,这一定程度上提高了语音识别的次数。
语音识别:让机器通过识别和理解把语音信号转变为相应的文本。
语音和文本之间的影射通过概率模型来描述,这个概率模型希望给定当前的语音信号,最大化概率地输出对应的最优语音识别结果。而在语音识别框架下面,涉及两个非常重要的模型:声学模型和语言模型,分别对应于语音到音节概率的计算和音节到字概率的计算。
- 声学模型,在语言断句,将语音信号从时域转化到频域之后,即可为声学模型提取合适的特征。声学模型将声学和发音学的知识进行整合,以特征提取模块提取的特征为输入,生成声学模型得分——就是比较人的发音与声音信号之间的相似度。
- 语言模型描述的就是识别结果中词和词之间的相互概率,来估计假设词序列的可能性,从而更好地规范整个输出结果,更加通顺、流畅。
语音信号经过断句处理,并经过声学模型与语言模型的解码,并在发音词典的帮助下,即可共同输出一个最为匹配的词序列作为识别结果输出。
据了解,传统上主要使用混合高斯模型-隐马尔科夫模型(GMM-HMM)作为声学模型。但在近些年,基于深度神经网络的声学模型在语音识别领域已经大幅度超越了过去的GMM-HMM模型。搜狗的语言识别系统采用的就是目前市面上比较稳定的深度学习方法CLDNN(CNN+LSTM+DNN)结构。主要由3部分构成:
- 卷积神经网络CNN,CNN可以对变换起到不变性的作用,因此它能够比较稳定地提取出一些恒定的特征,使得模型更加鲁棒(抗噪性)。比如说它能够在嘈杂以及带有口音的环境中有效地提取语音特征。我们可以从 ImageNet 竞赛中看出深层卷积神经网络的趋势与好处,从最初的 8 层网络,到 19 层,22 层,乃至 152 层的网络结构,CNN的结构正变得越来越深,而ImageNet竞赛的错误率也从 12 年的 16.4% 逐步降到了 3.57% (强于人眼)。
- 长短式记忆模型LSTM,能够把非常长的上下文以及历史或者是将来信息融入到当前的识别中来,从而增强识别的准确率。
- 深度神经网络DNN,DNN的好处就是简单而且可以提出非常深层的抽象的特征。
而在语言建模方面,搜狗采用了RNNLM模型,该模型的最大优势在于,可以真正充分地利用所有上文信息来预测下一个词,而不像其它模型(HLBL、SENNA、N-Gram)那样,只能开一个 n 个词的窗口,只用前 n 个词来预测下一个词。而这也大大提高了语音识别准确率,据了解,搜狗语音识别错误率已经相对下降30%以上,准确率高达97%,支持最快400字每秒的高速听写,语音识别速度提升3倍。
另外,搜狗也使用了目前比较热门的连接时序分类CTC结构,可以直接对齐从语音信号到词、音节、特定单独的音素之间的关系,有了这样的结构以后,我们可以省去之前非常烦琐的模型训练过程(传统的语音识别系统,是由语音模型、词典、语言模型构成的,而其中的语音模型和语言模型是分别训练的。这就造成每一部分的训练目标都与整个系统的训练目标不一致),并形成了一个“端到端”的 神经网络模型。
文本断句:即如何将较长的句子切分成较短的单句,以方便机器理解。
- 首先要做的就是内容平滑,即在口语对话中往往会有很多语气词以及重复的词,对后面的翻译和用户理解没有太多的作用,需要把这种词去掉。内容平滑以后,就会变成比较通顺的话。
- 之后再将长句切分为比较短比较独立的单句。据了解,可以采用两个方法实现这一目标,一个方式是基于规则的方式,用户在说话的时候,确实在某一个地方出现了停顿,一旦出现停顿的时候,他前面比较完整的语音句子已经说完了。另一个则是基于模型的方式,人和人说话、演讲的时候,停顿的时间点不一样,他可能在句中停顿,不一定在句尾停顿。因此,搜狗采用的基于模型的方法,通过该方法,搜狗甚至可以判断语句的语气,并未断句加问号、逗号等标点。
- 最后就是输出判断,用户一直在说话,我怎么知道用户这句话说没说完?比如针对“不知道你有没有空、来找我吃饭?”这句话,下一个语音过来的时候,可能是接着这个“空”来说的,所以需要判定,在什么时候需要把这句话送给翻译去翻译,所以输出判定决定输出结果哪部分送给翻译,哪一部分留下来再做决策之后送到翻译模块里。
据搜狗介绍,文本断句是连接语音识别与机器翻译之间最重要的一环,需要着重优化和改善。
机器翻译:翻译解决的问题是对齐的问题。
据了解,中文与英文的单词、短语之间存在着一些影射关系,而传统机器学习就是将这种对应关系建立起来,使用语言模型把中文翻译成英文以后的各种小短语,这是一种N状语言模型(N-Gram),或者叫统计机器翻译。具体更多是要把整个建模流程分成了很多的模型,每个模型完成一个特定的很小的功能,最后串起来形成非常复杂的机器翻译系统,然而两个小模型之间的关联,包括每个小模型之间的参数,因为会涉及到非常多的领域和专业知识,只有特定的人或少量的人经过了非常长时间的培训才能搞得定。
而搜狗所采用的技术则是基于神经网络的端到端技术,随着神经网络的引入,因为模型比较简单,模型建立也更加容易和清爽,说白了端到端只要把内在的模型构建好了,你就交给机器,机器利用大数据自己去跑,自己学习并调整相关参数就可以了,所以更优雅、准确率更好。
之后是对齐,深度学习模型可以自我学习并告诉你哪些词和哪些词可以对应在一起。比如可以把后面的词对应到第一个中文等,这是以前的机器翻译做不到的。
据了解,搜狗的机器翻译主要采用最多5层的双向GRU(Gated Rucurrent Unit)结构,结构会更轻便,而且运算的速度更快。通过机器学习,搜狗会分析句子中每个单词不同含义的权重,这些权重会使得端到端的机器翻译技术更加准确。
另据介绍,目前搜狗实时翻译的延迟仅有2秒左右,翻译准确率为90%。近期人工评测中,搜狗机器翻译在演讲、旅游、闲聊、日常口语等领域,采用五分制人工评分能达到4.4分,接近实用化。
与谷歌机器翻译相比,搜狗在即时性上略胜一筹
其实,在机器翻译上面,目前各大互联网巨头都在尝试,其中最著名的便是谷歌。9月底,谷歌甚至也发布了一个基于深度学习的谷歌翻译新版本,翻译错误可减少 60%及以上。
据了解,谷歌在深度学习的深度上要比搜狗深,Google做到8层,但搜狗最多只做到5层。搜狗表示,之所以不接着往深里做,主要是为了兼顾实时性的要求,“一方面我们是识别加翻译连在一起的,同时,这毕竟是实时的翻译,不是我输入一个文本,等一秒输出文本任务就结束了,而是演讲者一直在说,他的中文实时出来,英文也需要快速地反映,不然演讲者说了间隔一分钟、两分钟以后再出来效果,没有意义,我们要尽量把延迟降低。”搜狗语音交互中心技术负责人陈伟如此表示。
据了解,搜狗与谷歌目前使用的模型相差不大,但谷歌没有接语音识别,也没有中间断句、语音实时的部分。
机器翻译,数据才是关键
其实,目前深度学习领域技术并不是秘密,各家企业间也没有多少隐私,其中最关键的不在技术而是数据。只有有了大的数据才能学习出复杂有效的模型。
而搜狗作为搜索公司,而且具有市场占有率最高的第三方输入法。根据比达咨询(BigData-Research)发布的《2016年第3季度中国第三方手机输入法市场研究报告》,2016年第3季度中国手机输入法市场矩阵中,搜狗输入法市场份额以71.2%位居第一,远高于第二位百度输入法的11.2%。
据悉,从7月份搜狗知音引擎上线以来,仅三个月,搜狗的语音识别请求规模增加到了1.84亿次左右,每天搜集用户的语音语料从以前接近12万小时增加到了16万小时,从数据规模来看,搜狗在国内单个语音单品APP上的数据优势、规模优势还是很大的。