身为一名在互联网领域从业多年的技术工作者,我目睹数目众多的工具应用开始出现并不断更新。有道翻译的开发进程,特别展现出程序员在遭遇繁杂技术难题状况下的聪慧与执着。这并非单纯是代码的堆积,更是针对语言阻碍这一全球范围问题的技术方面呼应诉求,其背后的开发思考方式、技术运用选取以及难题解决克服,全都值得进行深入探究讨论。
有道翻译如何选择核心技术架构
项目刚开始启动的时候,技术选型成了首要面临的难题,我们摒弃了那时流行的规则翻译这种陈旧方式,觉得它的上限太低,没办法应对语言的多样变化,经过全面深入的调研,我们决定把宝押在基于统计的机器翻译,也就是SMT模型上,这在当时是个更具前沿性但实现起来难度也更高的方向,它有的优势是能够从数量巨大的双语语料里自行学习翻译规律,而不是依靠语言学家人工编写规则,这为翻译质量的不断提高打下了基础。
方向确定为SMT之后,我们开始去着手构建起那种具备分布式特性的数据爬取和处理系统。该系统要求做到7×24小时不间断地从全球范围的互联网当中抓取诸如新闻、论文、书籍一类的那种高质量平行语料,并且要进行严格意义上的清洗、对齐以及去噪。此过程十分耗费计算资源,我们自行搭建了Hadoop集群用以处理这些海量的数据,以此来确保模型训练能够拥有充足且干净的“食粮”。要是没有高质量的数据,哪怕再先进的模型也仅仅只是空中楼阁罢了。
开发团队如何解决语料库难题
构建语料库是整个项目的关键基础所在,是项目得以开展的重要支撑,同时它也是最为损耗人力的一个环节。我们所面临的状况不单单是关于数据总量的问题,更是涉及到数据品质方面的极具难度的挑战。在互联网这个范围之中,双语文本的质量呈现出高低不一的态势,存在着数量众多的噪音、错误的翻译以及句式不相匹配的内容。我们研发出了多套用于过滤的算法,如同筛子一般进行一层又一层的筛选过滤,仅仅留存下最为精准无误的句对,以此来保证输送给模型的是优质的内容而非质量欠佳的内容。
我们建立了一个小型团队,这个团队由语言专家以及母语者构成,除机器过滤外,会针对核心语料开展人工校对以及标注,特别是在医学、法律、金融等专业领域,机器难以判定译文的准确性,必须依靠人工智慧,这个“人机结合”的流程尽管缓慢,然而极大地提高了专业领域翻译的可靠性,这是纯自动化流程无法达成的精度 。
神经网络翻译替代传统模型的时机
我们敏锐地察觉到,当统计机器翻译技术趋于成熟,性能提升进入平台期的时候,具有潜力的是以循环神经网络亦即RNN和长短时记忆网络也就是LSTM为代表的神经网络翻译也就是NMT技术。NMT能够把整个句子当作一个整体来进行编码以及解码,进而更好地去把握上下文以及全局语义,解决SMT在长句翻译上常见的“碎片化”问题。
艰难的是技术转型所做出在做决策,这表明着那种我们要暂且放下已然耕耘多年的SMT技术栈,且从中开始搭建起一整套新式的NMT训练与推理框架,团队内部曾有过犹豫以及争论,不过最终对于技术发展趋势的判定使我们下定了决心,我们投入核心力量去展开攻关工作,经历了初期的那种模型效果欠佳比对SMT的阵痛情况,凭借持续不断地调整网络结构、优化训练策略,最终取得了翻译质量的历史性跨越 。
如何优化翻译响应速度和准确率
至于在线翻译服务,响应速度可是用户体验的关键所在。在模型变得愈发大、越发复杂的形势下,怎样于毫秒层级达成模型推理构成极大考验。我们深入到模型底层,开展了诸多工程优化,涵盖模型剪枝、量化,还有设计专门的缓存策略,尽可能在确保效果的状况下,削减计算量以及模型体积 。
正确率的提高乃是一个不间断的进程,我们建构了线上A级与B级测试的平台以及自动性的品质评估系统,而且每一回模型的迭代,每一轮算法策略的变动,皆需历经严谨的数据验证,同时,我们极为看重用户的反馈交流,一旦用户摁下“译得有误差”时,这条数据会被着重记录下来并回流到训练集合里,用以模型的针对性优化,从而形成一个持续不断改进的封闭循环。
如何处理专业领域翻译需求
通用翻译模型碰见专业术语与文本之际常常显得难以 cope,鉴于此,我们搞出了领域自适应技术,借由辨认用户输入文本的领域这样子,诸如医学、计算机、财经这些,系统会自发性切换到针对该领域特别搞的翻译模型之上,这些垂直领域模型靠适用各行业专属语料做训练,保障对术语翻译精确性以及表达的专业性标点符号。
我们构建了大规模的知识图谱,把专业术语、实体名称以及它们的多语言对照信息融入进去,当翻译引擎碰到一个存在歧义的词汇时,它会依据上下文语境去查询知识图谱,进而选择最符合当前场景的译法,比如说,碰到“apple”,系统会按照上下文去判断到底是译成“苹果”公司还是水果“苹果” 。
程序员面临的最大开发挑战是什么
整个开发进程里,最大挑战属怎样平衡模型复杂性及线上服务实时性。有个在实验室指标展现上极为出色的庞大模型,会因推理速度太过迟缓致使没法上线。时常得于99分模型与95分但速度快达十倍的模型二者之间进行颇具痛苦之感的权衡,这对工程师而言不但要懂算法,更得懂产品以及用户体验。
对我们而言,另一个具有持续性特征的挑战所在之处是语境歧义消解 ,因语言本身是充满歧义状况的 ,其中同一个词语于不一样的语境里其所具备的含义有着极大差异 ,而怎样才能够促使机器如同人那样去理解“真意” ,这是我们长时间进行攻坚的方向 ,起初是针对词语搭配作统计 ,接着是引入上下文向量 另外还尝试融入常识以及世界知识 ,我们始终都在开展探索工作 ,然而关于这个问题达到完美程度的解答 ,好像永远处于下一个路口 。
在您运用各类翻译工具的进程里,有没有哪一个时刻,它的精准度使您感到诧异或者烦扰?欢迎在评论区去分享您的经历,要是觉得这篇文章展现了技术背后的某些付出,也请毫不吝啬地点赞并分享。
原创文章,作者:有道翻译,如若转载,请注明出处:https://fanyi-youdao.net/archives/502