机器翻译-基础与模型

一、机器翻译发展历程

基于规则的-->基于实例的-->基于统计方法的-->基于神经网络的

传统统计机器翻译把词序列看作离散空间里的由多个特征函数描述的点,类似
于 n-gram 语言模型,这类模型对数据稀疏问题非常敏感。神经机器翻译把文字序列表示为实数向量,一方面避免了特征工程繁重的工作,另一方面使得系统可以对文字序列的“表示”进行学习。

神经网络模型在机器翻译上的实践发展:

CNN/RNN:存在梯度消失问题

LSTM:seq2seq学习的方法,缓解了梯度消失/爆炸问题,通过遗忘门的设计让网络选择性的记忆信息,缓解了序列中长距离依赖的问题。但句子越长损失的信息越多,模型无法对输入和输出序列的对齐进行建模,不能有效保证翻译质量。

注意力机制:可以有效地处理长句子的翻译,而且注意力的中间结果具有一定的可解释性。但模型计算量很大。

GNMT系统:google发布的基于多层RNN的方法。

Transformer:完全摒弃了RNN和CNN,仅通过多头注意力机制和前馈神经网络的框架。解决了长距离依赖的问题,训练速度快,翻译效果更好。

二、基于RNN的模型

2.1 编码器-解码器

2.1.1 框架结构

编码器将输入的文字序列通过某种转换变为一种新的“表示”形式。解码器把这种“表示”重新转换为输出的文字序列。其中的核心问题是表示学习。

当今主流的神经机器翻译系统中,编码器由词嵌入层和中间网络层组成。当输入一串单词序列时,词嵌入层会将每个单词映射到多维实数表示空间,这个过程也被称为词嵌入。

之后中间层会对词嵌入向量进行更深层的抽象,得到输入单词序列的中间表示。中间层的实现方式有很多,比如:RNN、CNN、自注意力机制等都是模型常用的结构。解码器的结构基本上和编码器是一致的,只比编码器多了输出层,或者多一个编码-解码注意力子层。

编码器-解码器框架已经成为了神经机器翻译系统的标准架构。

2.2 基于RNN的翻译建模

序列表示问题:如何描述文字序列。

对序列中某个位置的答案进行预测时需要记忆当前时刻之前的序列信息,这就是RNN网络诞生的背景。RNN处理序列问题的实例: 循环单元的输入由上一时刻的输出和当前时刻的输入组成。

在RNN神经机器翻译里,把源语言句子、目标语言句子分别看作两个序列,使用两个RNN分别对其进行建模。一个就是编码器,另一个就是解码器。

三个关键问题:
(1)词嵌入,即词的分布式表示问题。RNN网络的输入。
(2)句子的表示学习,即在词嵌入的基础上获取整个序列的表示。RNN网络的最后一层输出。
(3)译文单词生成,即每个目标语言单词的概率。 softmax输出层来获得所有单词的分布。

2.3 LSTM模型 (长短时记忆模型)

LSTM 模型是 RNN 模型的一种改进。相比 RNN 仅传递前一时刻的状态,LSTM 会同时传递两部分信息:状态信息和记忆信息 。

LSTM的结构主要分为三部分: 遗忘、集已更新、输出。

见之前博文:理解LSTM模型-CSDN博客

2.4 双向RNN模型

双向循环网络,同时考虑前文和后文的信息。编码器可以看作由两个RNN构成,第一个RNN从句子的右边进行处理,第二个RNN从句子左边开始处理,最终将正反向得到的结果融合后传递解码器。

2.5 翻译中注意力机制

附:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/474621.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

thinkphp6模板调用URL方法生成的链接异常

var uul params.url ;console.log(params.url);console.log("{:Url(UserLog/index)}");console.log("{:Url("uul")}"); 生成的链接地址 UserLog/index /jjg/index.php/Home/UserLog/index.html /jjg/index.php/Home/Index/UserLog/index.html…

基于Java Springboot网上花卉购物系统

一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js、Vue、Element-ui 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA/eclipse 数据…

WQ9101 WIFI6模组移植实操

物奇WQ9101是集成 Wi-Fi和蓝牙子系统的双模芯片。支持 802.11a/b/g/n/ac/ax协议、2.4G5G双频并发的 Wi-Fi子系统,以及支持Bluetooth 5.3协议的蓝牙子系统。主要应用于 电视、 平板电视、 平板PC、手机智能音箱等 、手机智能音箱等 、手机智能音箱等领域 。 一、平台…

领海基点的重要性-以黄岩岛(民主礁)的领海及专属经济区时空构建为例

目录 前言 一、Turf.js缓冲区绘制 1、缓冲区分析介绍 2、缓冲区参数 3、Mask多边形空洞 4、Mask参数 二、领海基点、领海的WebGIS展示 1、领海基点的绘制 2、领海面的绘制 三、毗邻区和专属经济区绘制 1、毗邻区的绘制 2、专属经济区的绘制 四、总结 前言 在上一篇的…

【Pythonr入门第二讲】你好,世界

"Hello, World!" 是一种传统的编程入门示例,通常是程序员学习一门新编程语言时编写的第一个程序。这个程序的目标非常简单:在屏幕上输出 "Hello, World!" 这个字符串。尽管它非常简单,但具有重要的象征意义和实际价值。 …

25.UE5时间膨胀,慢动作,切换地图,刷BOSS

2-27 时间膨胀、慢动作、切换地图、刷BOSS_哔哩哔哩_bilibili 目录 1.刷新BOSS逻辑 2.时间膨胀实现慢动作 3.胜利画面,下一关 3.1胜利画面UI 3.2第一关、第二关游戏模式 3.3下一关按钮事件的绑定 1.刷新BOSS逻辑 实现当场上的怪物都死亡后,进行刷…

探索Python PDF处理的奥秘:pdfrw库揭秘

文章目录 探索Python PDF处理的奥秘:pdfrw库揭秘1. 背景:为何选择pdfrw?2. pdfrw是什么?3. 如何安装pdfrw?4. 五个简单的库函数使用方法4.1 读取PDF信息4.2 修改PDF元数据4.3 旋转PDF页面4.4 提取PDF中的图片4.5 合并P…

游戏引擎学习第19天

介绍 这段内容描述了开发者在进行游戏开发时,对于音频同步和平台层的理解和调整的过程。以下是更详细的复述: 开发者表达了他希望今天继续进行的工作内容。他提到,昨天他讲解了一些关于音频的内容,今天他想稍微深入讲解一下他正…

【初阶数据结构与算法】线性表之栈和队列的定义与实现(含源码和有效的括号练习)

文章目录 一、栈的概念与结构1.栈的概念与操作2.栈的底层结构选型 二、栈的实现1.栈结构的定义2. 栈的初始化和销毁栈的初始化栈的销毁 3.栈的扩容与入栈栈的扩容入栈 4.判断栈是否为空和出栈判断栈是否为空出栈 5.取栈顶元素和获取栈中有效元素个数取栈顶元素获取栈中有效元素…

详细分析ipvsadm负载均衡的命令

目录 前言1. 基本知识2. 命令参数3. 拓展 前言 LVS四层负载均衡架构详解Lvs推荐阅读:添加链接描述 1. 基本知识 ipvsadm 是用于管理和配置 Linux 服务器上 IP Virtual Server (IPVS) 的工具,是 Linux 提供的一个负载均衡模块,支持多种负载…

小程序-基于java+SpringBoot+Vue的小区服务管理系统设计与实现

项目运行 1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境&#xff1a…

苹果ASA归因对接以及API接入

一、归因概要 广告归因,目的是用于衡量广告带来的激活用户的成本以及后续进一步的用户质量表现。 Apple Ads 广告平台是基于 App Store(站内广告),同时属于自归因平台(通常称为 SAN)。这两个因素&#xff…

内容占位符:Kinetic Loader HTML+CSS 使用CSS制作三角形原理

内容占位符 前言 随着我们对HTML和CSS3的学习逐渐深入,相信大家都已经掌握了网页制作的基础知识,包括如何使用HTML标记构建网页结构,以及如何运用CSS样式美化页面。为了进一步巩固和熟练这些技能,今天我们一起来完成一个有趣且实…

【金融风控项目-08】:特征构造

文章目录 1.数据准备1.1 风控建模特征数据1.2 人行征信数据1.3 据之间的内在逻辑 2 样本设计和特征框架2.1 定义观察期样本2.2 数据EDA(Explore Data Analysis)2.3 梳理特征框架 3 特征构造3.1 静态信息和时间截面特征3.2 未来信息问题3.2.1 未来信息案例3.2.2 时间序列特征的未…

Linux网络:HTTPS协议

Linux网络:HTTPS协议 加密方式对称加密非对称加密混合加密中间人攻击 证书数据签名CA认证 HTTPSSSL/TSLHTTPS 在HTTP协议中,所有的数据都采用明文的形式传输,这就会导致数据非常容易泄露,只要拿到HTTP报文,就可以窃取各…

Redis配置主从架构、集群架构模式 redis主从架构配置 redis主从配置 redis主从架构 redis集群配置

Redis配置主从架构、集群架构模式 redis主从架构配置 redis主从配置 redis主从架构 redis集群配置 1、主从模式1.1、主节点配置1.2、从节点配置1.3、测试 2、集群模式 1、主从模式 1.1、主节点配置 # 监听所有网络接口 bind 0.0.0.0# cluster-enabled表示为集群模式&#xff…

柔性仿人手指全覆盖磁皮肤,具备接触觉和运动觉的双模态感知能力

人体精细触觉和本体运动觉依赖于相同类型的感受器,这些感受器位于肌肉、肌腱、关节和皮肤中,负责感知轻触、挠痒、细微压力、形状变化、肌肉张力、肌腱拉伸和关节位置变化等信息。因此方斌教授团队着手于具有高精度、小尺寸、可定制等优势的磁触觉传感器…

【蓝桥杯C/C++】I/O优化技巧:cin.tie(nullptr)的详解与应用

文章目录 💯前言💯I/O流的基本概念💯cin.tie(nullptr)使用场景底层机制与ios::sync_with_stdio(false) 的搭配使用手动刷新输出流 💯使用示例和性能对比示例代码 💯常见误区和注意事项进一步优化:快速输入输…

字节青训-判断数组是否单调、判断回旋镖的存在、字符串解码问题、小F的矩阵值调整、数字字符串中圆圈的数量计算 、小Q的非素数和排列问题

目录 一、判断数组是否单调 问题描述 测试样例 解题思路: 解题思路 数据结构选择 算法步骤 最终代码: 运行结果: ​编辑 二、判断回旋镖的存在 问题描述 测试样例 解题思路: 解题思路 算法步骤 最终代码&#xff…

ArkTS组件结构和状态管理

1. 认识基本的组件结构 ArkTS通过装饰器Component 和Entry 装饰 struct 关键字声明的数据结构,构成一个自定义组件 自定义组件中提供了一个build函数,开发者需要在函数内以链式调用的方式进行基本的UI描述,UI描述的方法请参考UI描述规范srtuc…