解码谷歌即时语音翻译:做产品如调校高级跑车
发布时间:2012-02-29 09:17:27 来源:ACME 转载 字体: 大 中 小
我们想知道,一个念头是如何破茧而出,最终发展成为优秀的产品。在这背后又有着怎样的技术与思考?我们想知道,成长道路上的合作、碰撞与收获。为此新浪科技推出《科技开讲》系列访谈,希望能远离喧闹纷繁的商战,寻找IT企业的灵魂。
访谈主题:
语言不互通,是否还能交流?谷歌即时语音翻译,就打开了这样的一扇门。借助谷歌的翻译技术,语言将不再是聆听演讲、查看文档的主要障碍。究竟冰冷的机器翻译,怎样向信达雅的目标前进?本期《科技开讲》将对这一产品进行解码。
做客嘉宾:
谷歌研发经理陈雍昇
互动交流:
更多关于谷歌翻译的问题可与@大牛的Baba陈雍昇直接互动。
跟踪Google动态请关注官方微博@Google黑板报。
本期精彩看点:
- 手机即时语音翻译功能主要有三个模块。一是语音识别,把音频内容转换成文字代码;二是进行机器翻译;三是把翻译好的文字转换成语音。
- 网页翻译流程:解构网页——机器翻译——还原重组。这一拆分再重新拼接的过程,实际耗时在一秒之内,期间同样是海量计算支撑。有一部分计算机在拆网页结构,另一部分则把获取的文字分散发布给上百台计算机进行翻译。
- 谷歌三大产品开发理念:方便、速度和质量。就像调校高级跑车一样,复杂的内容都放到引擎盖之下,同时跑车能够调高1%的时速已属不易,挑战性很大。
- 翻译质量背后其实是海量的数据,需要非常多的平行语料(即对同一内容的不同语言版本)。而平行语料的常用来源是联合国官方文件,但仍需找到更多口语化、普通的平行语料,机器翻译才能不断的接近信达雅的标准。
- 产品开发出现异议,崇尚“动手不动口”。即先把产品雏形做出来,甚至再通过部分用户测试后,以实际结果代替理论之争。
以下是本期《科技开讲》的文字实录:
新浪科技孟鸿:大家好,今天我们来主要讲讲有关翻译的故事。坐在我旁边的这位,他是Google的研发经理陈雍昇,但是我们现在假装不认识他,同时他也不会讲中文,我们应该怎么跟他交流呢,这时候我们可以用一部手机试试,我们这里装了Google翻译,看看是怎么用这个交流的,我就直接用这个和他讲话。
新浪科技(对手机):欢迎您来新浪。
手机语音翻译:Welcome to Sina。
陈雍昇(对手机):Thank you very much。
手机语音翻译:非常感谢您。
新浪科技:我们看到这就是我们刚才用手机做的交流,可以听到我们不同的声音,然后换上我们各自懂的语言,方便我们之间做一些沟通,这也是一个非常有意思的功能。大家都叫您Peter,刚才通过手机端完成的Google翻译功能是怎么实现的,给我们讲一下?
三个模块组成手机翻译功能
陈雍昇:手机即时语音翻译(即手机翻译对话模式)、对话模式主要有三个模块。第一个需要把人说的语音翻译成电脑可以识别的文字代码,这方面是叫做语音识别。第二个当有了文字代码以后,机器翻译需要把这个语言从原语言翻译成目标语言,这是叫做机器翻译。第三个翻译好了,还是以电脑的文字来呈现,我们要把这个文字转换成语音。这三个模块搭建在一起,就可以实现刚刚看起来非常炫的功能了。
新浪科技:这样一个功能对我们来说容易实现吗?
陈雍昇:从机器的角度,我们毕竟也是实现出来了,它的背后代表着一大堆海量的运算还有统计模型。从语音识别来讲,也需要庞大的数据模型,才能非常精确的识别出你说的字,同时机器翻译也是,需要输入很多平行语料,构建成海量的语言模型,最后文字转换成语音也是一样的。这三个模型都非常适合我们说的云计算,他们背后都是庞大的计算机、运算、储存构成的。
新浪科技:除了对话之外,我们在手机端上Google翻译还有哪些功能?
陈雍昇:既然是手机它是一个移动的平台,既然已经拿在用户的手上地我们要让它跟日常生活有非常密切的连接。所以我们现在手机方面的功能,都是在想怎么样让用户更方便。如果我在国外,有一些话我要跟计程车司机或者是服务员说,我不可能说完以后把手机给他看,如果给他看的话,如果我转成横的就变成大字体,手机就不用交给其他人。
新浪科技:就是我说一句它翻译好之后,会有一个很明显的展示功能。
陈雍昇:是的,这只是其中一个例子。我想主要的宗旨是如何在日常生活中让用户更方便的用。
新浪科技:这是一个中英文的翻译,Google翻译现在到底可以支持多少种语言之间的翻译?
陈雍昇:如果是单纯文字的翻译我们现在支持58种语言,如果是语音翻译的话,语音识别方面的数量我们还正在加强过程中,差不多是20多种语言可以进行语音到语音的翻译。
新浪科技:现在文字输入的话还可以实现判断输入的到底是什么样的文字是吗?
陈雍昇:这也是Google翻译让用户方便的一个理念。我们几年前的Google翻译,您输入您的原文字再去选原文字是什么样的语言,如果计算机能够自动判断既然是在输入中文字肯定是中文,如果是输入英文的话我们还要判断是西班牙文还是法文,如果计算机可以判断的话,我们就可以少做工作。当翻译走进日常生活,一个外国人跑过来跟你讲外语,你不知道他是讲英文还是法文,如果计算机可以自己识别的话,也是很炫的功能。
拆分计算请求降低延迟
新浪科技:在手机端做翻译的话,在整个过程中会遇到什么样的挑战和困难?
陈雍昇:手机方面的挑战之前有碰过几个。第一Google的理念不只是Google翻译的理念,就是要让用户方便,除了使用方面的方便还有就是速度,我们不用输入搜索的字眼等半天才能回来,同样的我们输入翻译的字也不希望等半天机器才把结果给我,在降低中间延迟方面做了非常大的努力。在手机方面有几个特别的挑战,一个是手机无线比平常的速度慢一些,第二个方面手机方面语音的应用非常多,大部分人在桌上电脑习惯做网页翻译、文字翻译,手机基本上都是语音到语音的翻译。语音到语音的翻译,就表现我得向云计算的云端发三个请求,如果三个请求叠在一起时间会相当长,能不能把三个请求慢慢的重叠,把文字、语音都可以同时处理,这样对于用户来说是等于省了三倍的时间。所以当时我们碰到的这样的问题,也都尽量克服了。
新浪科技:对于Google来讲更多是看技术的未来,大家都说手机、移动互联网是未来,在Google翻译上面未来还会给大家带来一些什么样的东西,或者说我们关注的方向是哪里?
陈雍昇:移动的翻译主要宗旨是让它走进日常生活,像这样横放屏幕就要放大。同时在输入方面我们也想要做更多的改进,语音的收入我觉得也是让用户非常方便的一点。另外一点手写,我们刚刚发布的在Google翻译里面的手写输入功能,应该也会让用户更方便。
新浪科技:您说手写输入是什么意思?
陈雍昇:如果我今天去日本,看到日本的一些路标、指示牌上面有很多日文,既然我不懂日文的话,你让我去发音、语音输入这些日文其实对我来讲很难,可是你让我照着写还可以做到,所以我可以在手机上面用手写的方法把日文输进去,这样再翻译比我们在日本对日文一窍不通容易的多。
新浪科技:会不会有一天我们带着手机就可以到世界各地,不需要再学日文、英文。
陈雍昇:这是我们一直致力的目标。
新浪科技:那翻译就要失业了。
陈雍昇:机器翻译是解决日常的应用,一些高端应用还是要靠一些专业人士。
网页翻译背后的拆解重组
新浪科技:刚才我们讲了手机端,其实我们更熟悉的是Google网页端的翻译功能,比如说我个人曾经看视频直播,Google当时就把演讲人的语言抓下来翻译成中文,我当时虽然听不懂但是也能看明白是什么意思,这跟我们团队是不是也有关系?
陈雍昇:跟我们移动功能是很相似的,我们是提供API的接口,让别的团队按照我们的API进行翻译,同时我们视频团队也提供相应的接口。
新浪科技:这个接口是对外开放的,还是Google内部的?
陈雍昇:这个接口有一部分是开放的,Google翻译的接口其实是对外开放的。
新浪科技:就是我们如果想开发东西都可以用这个技术。
陈雍昇:是的。
新浪科技:另外一个问题,网页上面的翻译也是挺长时间的东西,比如说我们个人看一些文件的时候,我们会想到Google翻译,翻译持续的效果非常好,因为里面有文字、图表、表格,翻译回来以后跟原样一样,对应的非常恰当,丝毫看不出来原来是英文的网页。这是怎么做到的,怎么把一个网页很完整,很原汁原味的从一种语言翻译成另外一种语言的?
陈雍昇:这是我们上海团队开发出来的一种功能,我们也是相当引以为傲的。翻译的本身主要是文字到文字,你刚才说要把网页的格式保存下来,当我们请求翻译某个网页的时候,我们得先去解析它的网页结构,每个网页HTML背后都是基于DOM(新浪科技注:文档对象模型)的文件架构,我们解析出来之后,知道这一段文字里面有多少个句子,然后再拿每一个句子去翻译。翻译出来的结果,要按照当初的网页结构重组回去。所以我们的网页翻译,不是说拿来一个网页翻译成一个静态的或者是死的再传给您,我们翻译完的网页是活的,因为我们把当初网页的结构都保存下来,所以你点下一个路径的时候,不仅能进去,还可以给你翻译成想要的语言。
新浪科技:那这样会不会很复杂,把原来的网页拆开然后翻译,然后再拼起来,这是一个很复杂的过程,但是我在用的时候觉得还是很快的,我想问一下这里面有什么样的关键技术?
陈雍昇:有点像我们在中间给您两位用户的服务器进行翻译,我们是中间的翻译员,这些拆解、翻译加上组合,说起来复杂,听起来好像很烦琐,但是每次拿回来都是是小于一秒的时间,是有海量的运行速度在后面支撑着。我们把这些结构拿下来,解析了不同的句子,可能有上百甚至上千句。我们一部分计算机在那里拆结构,另一部分计算机拿着得到的句子开是分散发布翻译的请求。所以你可能看到翻译一张网页丢过去,一秒钟不到的时间回来,其实背后可能有上百台的计算机帮你服务,在短短不到一秒的时间里面。
提速十几毫秒都是大突破
新浪科技:我们已经满足了还是在不断的提速度?
陈雍昇:我们还是不断在提高速度,包括算法也会尽量提高,还有就是我们计算机的数量也在云端不断的扩展。
新浪科技:一秒之内的提升大概有多大幅度呢?
陈雍昇:目前很难量化了。比如说我们的反映时间,我们都是以几百毫秒的时间来做单位,所以能下降十来个毫秒就是3%、5%,对我们来讲都是非常大的技术突破。
新浪科技:都是以毫秒来算我们的成果,我个人问您一个问题,我们有一些个人的文件,或者是保存很长网页的时候,如果我不知道该怎么翻译怎么办?
陈雍昇:有一些朋友跟我提过,比如说打开一些网站,一些公司财报是非常长的,可是Google翻译在网上只帮你翻译前面一部分,就是100K左右的大小,后面就是原文了。要解决这个问题其实也很容易,先把这个财务报表存成文件,在Google翻译里面有一个文件翻译的功能,可以把这个文件上传给我们云端服务器进行翻译,这个限制就比100K大很多了。我们当时做这个限制主要是考虑到速度,还有云端的翻译服务同时在全球要服务成千上万的人。在文字的输入框底下,有一段话说如果想翻译文件请点这里。
研发产品如同调校高级跑车
新浪科技:刚才说到的翻译网页和移动端,是我们见到的Google搜索里面最主要的应用,再往后我们翻译功能再往前推进的话,能够推进到什么程度?
陈雍昇:我现在不仅要讲Google翻译的理念了,应该是整个Google对产品开发的理念,我觉得这个对我们来讲是很根深蒂固的。主要有三点。第一点所有的开发应该是让产品对用户来说越来越容易使用,不管你的功能多复杂,应该要把这个复杂的东西藏在车盖底下,复杂的东西都放到用户看不到的地方,不要天天打开盖子看发动机多么复杂,只要转一下就可以开车,隐藏复杂性是非常高的工程挑战,这是第一个。第二个Google本身对产品开发、反映速度要求非常高,因为不管是什么样的产品我坐在这边等,用户经年累月下来一定会失去信心,所以不仅要维持速度,而且要不停的想怎么让中间的间隔时间缩到最短,这个对我们来讲也是非常大的挑战。因为就像调高级跑车一样,保时捷、法拉利你可能要把这个时速调高1%、2%,对这种顶级跑车来讲都非常难,当成功了以后引擎盖下面可能要做非常大的变动,用户看不出来,就发现原来可以跑到200公里,现在可以跑205公里了,用户非常高兴,其实只是提速了一点点。
新浪科技:Peter和Google的工程师都是非常重技术的一些人,可是谈到翻译的话我们在国内经常会讲信达雅来讲翻译的准确性,对于一个机器而言怎么让它翻译的更好呢?因为它毕竟不是人。
陈雍昇:我们翻译质量背后其实是海量的数据,没有云端支持很难做到。第一个我们要搜索非常多的平行语料,翻译过的文件有一份,把世界上所有的平行语料都搜集进来然后放进云端进行分析。分析完了我们应该有一大堆统计数据,当中文是这样子的时候英文最有可能的翻译结果是哪几个,这样把世界上所有有可能的语句全部都有资料的时候,当一篇文章里面包含的语句、句子、单字,我们通过各种各样拼凑的可能,为您判断出怎么样的拼凑结果是最符合翻译统计学上的可能性,再给您结果。
新浪科技:因为我们大家用的都是比较口语的或者不是正式的方式,您说的平行比较都是比较正式的文件,跟我们平时口语表达上会不会有出入?
陈雍昇:这个取决于平行语料的来源,我们最常用的是平行语料来源是联合国的官方文件,这样翻译的话翻译出来都是文绉绉的,可是我们也要找口语化的、普通人的平行语料。比如说小说的翻译可能就比官方翻译还要口语化,所以只要有云端的计算,海量运行速度和储存,原始的材料更多的话,我想你说的问题是可以解决的。
谷歌产品开发原则:方便、速度及质量
新浪科技:就是不断提升的过程。在这里请Peter总结一下对于Google翻译这样一个产品,它能够在开发中或者是在研究中,或者立项的时候怎么体现Google研发的思路?因为Google毕竟它的技术在世界上是比较领先的公司。同时我还想问一下,在这个过程中有没有一些绕弯或者是挫折的时候,我们是怎么克服的?
陈雍昇:这方面的技术不挫折肯定是有的,刚才说的Google产品开发的三大理念,方便、速度还有质量,除此之外应该说我们的工程是文化,文化里面我们非常崇尚很多主意都要从下而上。我也不能说这是Google既定的文化,每个团队可能都不一样,我们自己的团队就很崇尚,第一点是动手不动口,那个手不一定是打架,是动手写程序。所以开会的时候你觉得先开发大字体好,我觉得先开发输入法好,你先做你的我先做我的,把雏形做出来让大家看。与其我们在那边讨论理论用户会喜欢什么,你做出雏形,下一步说不定可以让一些用户测试使用,这样比讨论理论还实际。
新浪科技:我们先做出来然后在不断的叠代更新。
陈雍昇:这应该算是Google的一个文化,就是不能只做一个版本,想把一个版本做到完美尽善是不可能的,我们只是尽量把第一个版本做好,然后通过用户的反馈把版本二做的比版本一更好。如果看5年前Google翻译跟现在比就差很多,5年前输入原文还要选语言还要选翻译成哪种文字,现在就不需要了,你现在输入以后我们后台就会判断你输入的是什么语言,然后再判断输入这种语言的时候最常用翻译成什么样的语音,然后这样翻译出来的语言就源源不断出来了,这是我们不停改善的结果。
中国团队不会只针对中国市场
新浪科技:刚才您说道我们有一个爱动手的团队,给我们介绍一下是怎么组建这个团队的。
陈雍昇:我们团队的组建也是从下到上的,Google组织这种团队的时候,当时也没有非常僵硬化从上到下的命令。三年前Google翻译在上海只有两个人,,可是我们有一大堆的愿景,想要把这些功能都做出来,我们也想要涉足翻译。我作为团队的领导人,我的工作是希望上面派人,让团队越来越大,可是最重要的是我要让Google翻译的项目吸引人,我们项目里面要做出一些划时代的,别的公司没有做的或者是没有想到的东西,以这样的背景来吸引上海的工程师。
新浪科技:都吸引到什么样的工程师了
陈雍昇:我们当初开发移动手机版翻译的时候,iPhone也好,安卓也好,当初我是忽悠人来干活的,当时Google翻译有六七个人,我们招人比较慢,因为我们要求比较严格,导致我们这边虽然有需求但是要不到人。我看旁边有一些不是我们团队的人,就跟他们讲Google翻译多么好,手机是未来,他们一听还真的有兴趣了,这两个年轻人周末自己回家研究怎么在手机上面开发软件,一个周末就把雏形拿给我看,我吓了一跳真有激情的工程师。我下一步就去跟他们的经理游说,我跟他们经理也是很好的朋友,也很给我面子,中间iPhone开发七八个月的时间,这两个工程师都没有干他们老板给他们的活,几乎百分之百时间都在替Google移动翻译研发产品。这是一个有趣的例子,Google20%的项目应该是比较有名的。我的解释是这两个工程师在公司几年了,以前没有做20%,现在累计起来半年里面用掉,然后团队跟团队之间也不觉得踩了他的地盘,他也感觉这个东西是对整个公司有益,可能对整个用户也有益的,就允许我们这样做。我后来有帮他介绍女朋友,有没有成功我就不知道了,我至少帮他介绍,还请他喝酒。
新浪科技:最后问Peter一个问题,我们中国团队跟全球翻译团队在合作、协作上面,大概给我们介绍一下机制,以及我们怎么进行交流?
陈雍昇:Google这方面的文化我也很喜欢,基本上所有的工程师都是一视同仁的,我们没有把中国的团队看成是中国的团队,也没有只研发中国的产品,我们中国的团队也是研发全球性的产品,同时全球性的Google翻译产品也在影响着全球的用户。同时我们后台的一些团队,像数据模型团队、语音输入法的团队、视频团队,都把自己看作是为用户打工的。我觉得像这样Google的理念,如果单是我们团队又要开发语音识别,又要开发输入法是很难的,可是我们在这么大一家以技术挂帅的公司,让我们站在技术巨人的肩膀上,再往下一个层次攀爬,让我们觉得做起事情来是事半功倍。
新浪科技:您的意思是Google有这么多好产品,是集体智慧,团结就是力量出来的。
陈雍昇:是的,我总是以站在巨人肩膀上面来形容我在Google的研发经历。
新浪科技:由于时间我们不能继续聊了,希望Google翻译这个产品将来可以带给我们更多的惊喜,也希望成为我们日常生活中不可缺少的一部分。我们今天的节目就到这里,谢谢大家!