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,微信公众号:论智】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    传音斩获WMT 2025国际机器翻译大赛四项冠军

    近日,由国际计算语言学协会(ACL)主办的WMT 2025国际机器翻译大赛,传音低资源印度语言翻译任务(Low-Resource In
    的头像 发表于 08-06 18:21 1056次阅读

    FPGA机器学习的具体应用

    ,越来越多地被应用于机器学习任务。本文将探讨 FPGA 机器学习
    的头像 发表于 07-16 15:34 2639次阅读

    使用MATLAB进行无监督学习

    无监督学习是一种根据未标注数据进行推断的机器学习方法。无监督学习旨在识别数据隐藏的模式和关系,
    的头像 发表于 05-16 14:48 1184次阅读
    使用MATLAB<b class='flag-5'>进行</b>无监督<b class='flag-5'>学习</b>

    请问STM32WBA65如何进行matter的学习

    STM32WBA65如何进行matter的学习?相关的支持都有哪些?有一个X-CUBE-MATTER,可是这个没有集成STM32CubeMX
    发表于 04-24 07:22

    何进行电磁干扰处理

    智慧华盛恒辉如何进行电磁干扰 一、引言 电磁干扰已成为一种重要的作战手段,用于削弱、瘫痪或混乱敌方的通信、控制和侦察系统。如何对敌方的装备进行电磁干扰,包括干扰原理、干扰方式、干扰策略以及干扰效果
    的头像 发表于 02-20 10:28 1187次阅读

    DLP4710EVM-LC如何进行烧录?

    DLP4710EVM-LC: 如何进行烧录
    发表于 02-20 08:07

    请问TIDA-00554的光谱模组安装和调试阶段光机是如何进行校验的呢?

    你好,请问TIDA-00554的光谱模组安装和调试阶段光机是如何进行校验的呢?比如光电探测器的调试、DMD微镜的调试以及光谱曲线的校正?如何保证多个光机之间的一致性呢?
    发表于 02-20 07:19

    嵌入式机器学习的应用特性与软件开发环境

    作者:DigiKey Editor 许多嵌入式系统,必须采用嵌入式机器学习(Embedded Machine Learning)技术,这是指将
    的头像 发表于 01-25 17:05 1220次阅读
    嵌入式<b class='flag-5'>机器</b><b class='flag-5'>学习</b>的应用特性与软件开发环境

    AI助力实时翻译耳机

    你是否曾经因为语言障碍而无法与外国人顺畅交流?或者旅行因为语言不通而错过了一些精彩的经历?现在,随着AI技术的发展,实时翻译耳机可以帮你轻松解决这些问题。 1 什么是实时翻译耳机
    的头像 发表于 01-24 11:14 3301次阅读
    AI助力实时<b class='flag-5'>翻译</b>耳机

    人工智能之机器学习推荐系统的应用

    机器学习推荐系统中发挥着关键作用,提升用户体验和业务价值。 协同过滤算法是常用方法。基于用户行为数据,如购买记录、浏览历史,计算用户或物品间相似度。比如,用户 A 和用户 B 购买过很多相同商品
    的头像 发表于 01-21 16:19 797次阅读

    传统机器学习方法和应用指导

    在上一篇文章,我们介绍了机器学习的关键概念术语。本文中,我们会介绍传统机器学习的基础知识和多
    的头像 发表于 12-30 09:16 1983次阅读
    传统<b class='flag-5'>机器</b><b class='flag-5'>学习</b>方法和应用指导

    请问ADS8689 AGND和DGND如何进行处理?

    请问ADS8689 AGND和DGND如何进行处理?是把AGND和DGND处理为同一个地,还是AGND和DGND通过0欧电阻进行连接?为什么?
    发表于 12-26 06:42

    【「具身智能机器人系统」阅读体验】+数据具身人工智能的价值

    嵌入式人工智能(EAI)将人工智能集成到机器人等物理实体,使它们能够感知、学习环境并与之动态交互。这种能力使此类机器人能够人类社会中有效
    发表于 12-24 00:33

    zeta机器学习的应用 zeta的优缺点分析

    探讨ZETA机器学习的应用以及ZETA的优缺点时,需要明确的是,ZETA一词不同领域可能
    的头像 发表于 12-20 09:11 1629次阅读

    cmp机器学习的作用 如何使用cmp进行数据对比

    机器学习领域,"cmp"这个术语可能并不是一个常见的术语,它可能是指"比较"(comparison)的缩写。 比较机器
    的头像 发表于 12-17 09:35 1328次阅读