0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在机器学习中如何进行基本翻译

zhKF_jqr_AI 来源:未知 作者:易水寒 2017-12-22 11:38 次阅读

Statsbot数据科学家Daniil Korbut简明扼要地介绍了用于机器学习翻译的基本原理:RNN、LSTM、BRNN、Seq2Seq、Zero-Shot、BLEU。

我们都在使用的很多技术,我们其实并不知道它们到底是如何工作的。实际上,理解机器学习驱动的引擎并非易事。Statsbot团队博客希望能讲清楚机器学习是怎么一回事。这次我们决定探索机器翻译,并解释Google翻译算法的原理。

许多年前,翻译来自未知语言的文本是非常耗时的。使用简单的词汇表逐字翻译之所以很困难,是因为读者必须知道语法规则,在翻译整句时需要记住所有的语言版本。

现在,我们不需要为此付出太多的努力——只需将它们粘贴到Google翻译中,就可以翻译短语、句子甚至大段文本。然而,大多数人实际上并不关心机器翻译的引擎是如何工作的。本文为那些关心这个的人而写。

深度学习翻译问题

如果Google翻译引擎试图储存所有的翻译,甚至仅仅储存短句的翻译,都是行不通的,因为可能的变体数量巨大。最好的想法可能是教会计算机一组语法规则,并根据语法规则来翻译句子,如果这一切真像听起来那样简单的话。

如果你曾经试过学习外语,那么你该知道规则总是有很多例外的。当我们试图在程序中刻画所有这些规则,所有这些例外,乃至例外的例外时,翻译质量就崩塌了。

现代机器翻译系统使用不同的方法:通过分析大量文档将文本与规则联系起来。

创建你自己的简单机器翻译工具,对任何数据科学简历来说都是一个很棒的项目。

我们试着调查一下我们称之为机器翻译的“黑盒子”里隐藏着什么。深度神经网络可以在非常复杂的任务(语音/视觉对象识别)中取得优异的结果,但是,尽管它们很灵活,却只能应用于具有固定维度的输入和目标的任务。

循环神经网络

因此,我们需要长短期记忆网络(LSTM),它能应对事先未知长度的序列。

LSTM是一种能够学习长期依赖的循环神经网络(RNN)。循环神经网络看起来就像一串重复的模块。

在机器学习中如何进行基本翻译

via colah.github.io

因此LSTM在模块之间传递数据,比如,为了生成Ht,我们不仅使用Xt,同时使用所有X之前的输入。关于LSTM的更多信息,可参考Understanding LSTM Networks(英文)和循环神经网络入门(中文)。

双向循环神经网络

我们的下一步是双向循环神经网络(BRNN)。 BRNN将常规RNN的神经元分成两个方向。一个方向是正向的时间,或前馈状态。另一个方向是负向的时间,或反馈状态。这两个状态的输出与反方向的状态的输入互不相连。

在机器学习中如何进行基本翻译

要理解为何BRNN效果更好,可以想像一下我们有一个包含9个单词的句子,然后想要预测第5个单词。我们可以让网络仅仅知道前面4个单词,或者让网络知道前面4个单词和后面4个单词。显然第二种情况下预测的质量会更好。

序列到序列

然后是序列到序列模型(也称为seq2seq)。基本的seq2seq模型包含两个RNN:一个处理输入的编码网络和一个生成输出的解码网络。

最后,我们将创建我们的第一个机器翻译工具!

不过,让我们先考虑一个绝招。Google翻译目前支持103种语言,所以我们应该有103x102个不同的模型。当然,取决于语言的流行程度和训练网络需要的文档数量,这些模型的质量会有所不同。最好我们能创建一个神经网络,然后这个网络能接受任何语言作为输入,然后将其翻译成任何语言。

Google翻译

这个想法正是Google工程师们在2016年末实现的想法。Google工程师使用的正是我们上文提及的seq2seq模型。

唯一的例外是在编码和解码网络之间有8层LSTM-RNN网络,层间有残差连接,还有一些出于精度和速度考虑的调整。如果你想深入了解相关信息,可以看Google’s Neural Machine Translation System这篇论文。

最重要的一点是Google的翻译算法使用单个系统,而不是包含每对语言组合的庞大集合。

在输入句子的开始,系统需要一个指明目标语言的token。

这一方法改善了翻译的质量,同时允许翻译那些系统没有见过对应译文语料的语言组合,这一方法称为“零样本翻译”(Zero-Shot Translation)。

更好的翻译?

当我们谈论Google翻译算法的改进和更好的结果时,我们如何才能正确地评估第一个翻译候选比第二个候选更好呢?

这不是一个微不足道的问题,因为对于一些常用的句子,我们有来自专业译员的参考译文集合,这些译文间当然有一些差异。

能部分解决这个问题的方法有很多,但最流行和最有效的衡量标准是BLEU(bilingual evaluation understudy)。 想象一下,我们有来自机器翻译的两个候选:

候选一: Statsbot makes it easy for companies to closely monitor data from various analytical platforms via natural language.

候选二:Statsbot uses natural language to accurately analyze businesses’ metrics from different analytical platforms.

在机器学习中如何进行基本翻译

尽管它们的意思相同,但在质量和结构上都有差异。

让我们看下两个来自人类的翻译:

Reference 1: Statsbot helps companies closely monitor their data from different analytical platforms via natural language.

Reference 2: Statsbot allows companies to carefully monitor data from various analytics platforms by using natural language.

显然,候选一更好,与候选二相比,候选一和人工翻译共享更多的单词和短语。这是简单BLEU方法的核心想法。我们可以比较候选翻译和参考翻译的n元语法,并计算匹配的数量(与它们的位置无关)。我们只评估n元语法的准确率,因为计算多个参考的召回很困难,评估结果是n元语法的几何平均值。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

原文标题:机器学习翻译基本原理

文章出处:【微信号:jqr_AI,微信公众号:论智】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    什么是机器学习?通过机器学习方法能解决哪些问题?

    计算机系统自身的性能”。事实上,由于“经验”计算机系统主要以数据的形式存在,因此机器学习需要设法对数据进行分析
    的头像 发表于 11-16 01:07 188次阅读
    什么是<b class='flag-5'>机器</b><b class='flag-5'>学习</b>?通过<b class='flag-5'>机器</b><b class='flag-5'>学习</b>方法能解决哪些问题?

    eda机器学习的应用

    机器学习项目中,数据预处理和理解是成功构建模型的关键。探索性数据分析(EDA)是这一过程不可或缺的一部分。 1. 数据清洗 数据清洗 是机器
    的头像 发表于 11-13 10:42 141次阅读

    鲁棒性机器学习的重要性

    金融风险评估。这些应用场景对模型的鲁棒性提出了极高的要求。 鲁棒性的定义 鲁棒性通常被定义为系统面对不确定性和变化时仍能保持其功能的能力。机器学习
    的头像 发表于 11-11 10:19 188次阅读

    TINA何进行频谱分析?

    想问一下TINA何进行频谱分析,找了好久没怎么找到,可能设置不对,望指点,谢谢
    发表于 09-14 07:56

    何进行电源供应设计

    电子发烧友网站提供《如何进行电源供应设计.pdf》资料免费下载
    发表于 09-09 10:33 0次下载
    如<b class='flag-5'>何进行</b>电源供应设计

    何进行IP检测

    排查网络连接问题,并及时的防范潜在的网络攻击。 那么,如何进行 IP 地址检测呢?接下来我将进行图示哦~ 使用操作系统自带的工具 ① Windows 系统,按win+R,输入“ipconfig”命令。 ② Mac 系统
    的头像 发表于 07-26 14:09 464次阅读
    如<b class='flag-5'>何进行</b>IP检测

    求助,IR615可以选用哪种vpn协议?如何进行配置?

    现有多台IR615路由器,希望将其配置为vpn客户端,连接云服务器的vpn服务端 工程师远程连接云服务器对IR615进行管理 IR615可以选用哪种vpn协议?如何进行配置? 服务
    发表于 07-25 07:53

    机器学习的数据分割方法

    机器学习,数据分割是一项至关重要的任务,它直接影响到模型的训练效果、泛化能力以及最终的性能评估。本文将从多个方面详细探讨机器
    的头像 发表于 07-10 16:10 1281次阅读

    机器学习的数据预处理与特征工程

    机器学习的整个流程,数据预处理与特征工程是两个至关重要的步骤。它们直接决定了模型的输入质量,进而影响模型的训练效果和泛化能力。本文将从数据预处理和特征工程的基本概念出发,详细探讨这
    的头像 发表于 07-09 15:57 291次阅读

    深度学习工业机器视觉检测的应用

    随着深度学习技术的快速发展,其工业机器视觉检测的应用日益广泛,并展现出巨大的潜力。工业机器视觉检测是工业自动化领域的重要组成部分,通过图
    的头像 发表于 07-08 10:40 957次阅读

    深度学习与传统机器学习的对比

    人工智能的浪潮机器学习和深度学习无疑是两大核心驱动力。它们各自以其独特的方式推动着技术的进步,为众多领域带来了革命性的变化。然而,尽管
    的头像 发表于 07-01 11:40 1172次阅读

    开源项目!设计一款智能手语翻译眼镜

    手语翻译的依赖。 这款眼镜的设计既实用又低调,方便日常佩戴,能够无缝融入用户的日常生活,让使用者能够轻松地与不懂手语的人士沟通。它的亮点在于利用人工智能技术检测手势并进行实时翻译,不
    发表于 05-20 15:59

    机器学习怎么进入人工智能

    ,人工智能已成为一个热门领域,涉及到多个行业和领域,例如语音识别、机器翻译、图像识别等。 在编程中进行人工智能的关键是使用机器学习算法,这是一类基于样本数据和模型训练来
    的头像 发表于 04-04 08:41 252次阅读

    交流接触器是如何进行工作的?各接线端子的作用是什么?

    交流接触器是如何进行工作的?各接线端子的作用是什么?常见接触器故障如何排除?以下内容将为你做详细解答,希望继电控制学习为你提供参考与帮助。
    的头像 发表于 12-18 10:10 2427次阅读
    交流接触器是如<b class='flag-5'>何进行</b>工作的?各接线端子的作用是什么?

    Android APP如何进行访问硬件驱动

    本文我们要讲的是在用 i.MX8 平台开发时,Android APP 如何进行访问硬件驱动。
    的头像 发表于 12-04 13:50 1453次阅读
    Android APP如<b class='flag-5'>何进行</b>访问硬件驱动