再看机器翻译

前面有文章具体介绍了机器翻译用到的模型:seq2seq和加入attention机制。这里再说点别的。

1 机器翻译评价标准BLUE

参考文章介绍的很详细。论文地址:url

2 模型背后的理论:密码学

例如从中文翻译成英文,可以将中文看做是加密了的英文。

3 工程上

1 Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation

2 NEURAL MACHINE TRANSLATION
BY JOINTLY LEARNING TO ALIGN AND TRANSLATE

https://arxiv.org/pdf/1508.04025.pdf

google的翻译模型

Zero-shot NMT:解决没有翻译原材料的问题

Transformer模型:现在流行的模型

Model Inference:怎样做到统一训练和预测。在各类⽂本⽣成任务中,其实⽂本的⽣成与训练是两种不同的情形。在训练的过程中,我们假设模型在
⽣成下⼀个单词的时候知道所有之前的单词(groud truth)。然⽽在真正使⽤模型⽣成⽂本的时候,每⼀步⽣成的⽂本都来⾃于模型本身。这其中训练和预测的不同导致了模型的效果可能会很差。为了解决这⼀问题,⼈们发明了各种提升模型预测⽔平的⽅法,例如Beam Search。

beam search是一种固定宽度的装置。在每一步都选择概率最大的k个词。
第一步选择k个词:y11,y12,y13
第二步为每个词再生成k个下一个词,这里有k2k^2k2个词,然后选择概率最高的k个词。
k太大,或者太小,都可能会造成标准答案丢失。所以不能完整解决问题。
例如:美国总统和中国主席打电话。
翻译的时候:k=1,那假如最高的词是U.S. 那American就会丢了。
如果k=3,假如排序是American U.S Unite State
在第二步的时候可能因为各种原因把American丢了。

开源项目:
FairSeq https://github.com/pytorch/fairseq Facebook的开源项目
Tensor2Tensor https://github.com/tensorflow/tensor2tensor google开源项目,是Attention is all your need的标准实现
Trax https://github.com/google/trax google现在维护的开源项目

做翻译可以使用的开源工具
Pointer network 文本摘要
Copy Mechanism 文本摘要
Converage Loss
ConvSeq2Seq
Transformer
Tensor2Tensor

PyTorch代码

  • seq2seq-tutorial
  • Tutorial from Ben Trevett
  • IBM seq2seq
  • OpenNMT-py

4 做翻译可以做的事情

1 使用transformer模型
2 可以使用的库 Facebook、OpenNMT-py、huggingface、allenXXX
3 beamsearch
4 Copy Mechanism:直接复制一个词。
5 加入中文分词或者使用word-piece

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

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

相关文章

为有朝一日自己弄个玩具玩而准备

减号,星号,问号和感叹号尽量可以用来做变量名或函数名 namespace : ns0/ns1/... : 使用 / 作分割符 module : module-name : 和文件名相同,包含函数和变量之类的 类型 int int : fn(param0type, param1type) funcName fn(arg0Name, arg1Name…

VML编程之------VML语言入门《VML极道教程》原著:沐缘华

《VML极道教程》原著:沐缘华1章4节:VML语言入门 1:VML语言入门 - 极道学法 在我正式开始讲解、你正式开始学习VML语言以前,请务必遵循以下规则,可以达到最佳效果、极道学习方法。 1:如果你学过HTML、CSS或精通HTML、CSS,那么建议你把学VML的…

第一百三十期:14种常见编程语言的优缺点及应用范围

C语言是一门通用计算机编程语言,应用广泛。面向过程的,数据与算法分开。它的重点在于算法和数据结构。1972年由美国贝尔实验室在B语言的基础上设计出。 作者:编程小新 C 概述:C语言是一门通用计算机编程语言,应用广泛。面向过程…

文本生成模型

文本生成目前(2019年)还没有确定的可工程化的用途。 主要模型有:Variational Auto Encoder (VAE)和Generative Adversarial Networks (GAN) 这个对我来说是新的内容,需要再次消化。

设计模式学习笔记一——开篇

毕业的前段时间从定王台买了两本书《设计模式:可复用面向对象软件的基础》和《.NET框架程序设计》,两本很经典的书。工作后两本书都曾看过一部分,第一本不愧堪称设计模式经典之作,书写得很好,但是对于没有面向对象设计…

第一百三十一期:2019年容器使用报告:Docker 和 Kubernetes 王者地位不倒!

近日,容器创业公司 Sysdig 发布了 2019 年容器使用报告。这是 Sysdig 第三年发布容器年度使用报告,与之前不同的是,今年的调查结合了更多的数据源,并深入挖掘了 Kubernetes 的使用模式。 作者:高效开发运维 近日&…

Flask 路由映射对于双斜线的处理 //a//b

例子 from flask import Flask import time from tornado.wsgi import WSGIContainer from tornado.httpserver import HTTPServer from tornado.ioloop import IOLoopapp Flask(__name__)app.route(//abc//a) def index():# time.sleep(5)return OKapp.route(/abc//a) def in…

⼤规模⽆监督预训练语⾔模型与应⽤(上)

文章目录1 单词作为语言模型的基本单位的缺点2 character level modeling3预训练句子向量3.1 skip-thought3.2 InferSent3.3 句子向量评价数据集4 预训练文档向量5 ELMO1 单词作为语言模型的基本单位的缺点 单词量有限,遇到没有见过的单词只能以UNK表示。 模型参数…

第一百三十二期:MySQL系列:一句SQL,MySQL是怎么工作的?

当我们在mysql窗口或者数据库连接工具中输入一句sql后,我们就可以获取到想要的数据,这中间MySQL到底是怎么工作的呢? 作者:Java架构学习交流 对于MySQL而言,其实分为客户端与服务端。 服务端,就是MySQL应…

转一个无聊的爱情故事:如果有个女生为你哭

这是很早以前看到的一篇文章,偶尔看到,突然很多往事一下子全涌了出来,原来我曾以为忘却了的,却深藏在心中,永远无法抹去。假如你的生命里有这样一个女孩,她既不漂亮,也不温柔,但她很…

Visual Studio 2005 Tip:编辑项目文件

原文参考自:http://blogs.msdn.com/shawnfa/archive/2006/04/26/582326.aspx很多时候我们需要手动修改VS的项目文件(.csproj/.vbproj),这时大多数人会简单的使用记事本(notepad)打开并编辑。虽然这没什么不…

transformer bert GPT(未完)

原文标题:⼤规模⽆监督预训练语⾔模型与应⽤(中) 文章目录1 transformer1.1 encoder部分1.1.1 Attention定义1.1.2 Multi-head Attention1.1.3 position-wise feed-forward networks1.1.4 positional encoding1.1.5 残差链接1.1.6 layer norm…

spring mvc学习(42):restful的编辑功能实现

上图是目录结构&#xff0c;本节是有问同学的&#xff0c;当好好总结 pom.xml <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation"http://maven.apache.org/POM/4.0.…

韩国首尔公交车站将被指定为禁烟场所

中新网东京7月3日电 韩国首尔市所有公交车站将从今年9月份起被指定为禁烟场所。 据韩联社报道&#xff0c;首尔市方面2日表示&#xff0c;9月份起将把禁烟车站从5月30日开始运营的钟路2街中央车路车站等市内6处公交车站扩大到市内全部公交车站。 首尔市负责人对扩大禁烟车站的…

那些年用过的Redis集群架构(含面试解析)

引言 今天&#xff0c;我接到了高中同学刘有码面试失利的消息。 他面试的时候&#xff0c;身份是某知名公司的小码农一枚&#xff0c;却因为不懂自己生产上Redis是如何部署的&#xff0c;导致面试失败&#xff01; 人间惨剧&#xff0c;莫过于此。 接到他面试失利的消息&#x…

再谈BERT

三次讲到了BERT。第一次是nlp中的经典深度学习模型(二)&#xff0c;第二次是transformer & bert &GPT&#xff0c;这是第三次。 文章目录1 关于预训练模型1.1预训练概念1.2 再谈语言模型1.3 ELMo1.4 GPT2 BERT2.1 BERT特点2.2架构2.3 预训练任务2.3.1 masked language …

第一百三十三期:MySQL锁会不会,你就差看一看咯

本文章向大家介绍MySQL锁详细讲解&#xff0c;包括数据库锁基本知识、表锁、表读锁、表写锁、行锁、MVCC、事务的隔离级别、悲观锁、乐观锁、间隙锁GAP、死锁等等&#xff0c;需要的朋友可以参考一下。 作者&#xff1a;php自学中心 本文章向大家介绍MySQL锁详细讲解&#xff…

[导入][你必须知道的.NET]第十回:品味类型---值类型与引用类型(下)-应用征途...

摘要: 本文将值类型和引用类型的讨论从应用示例角度来进一步做以延伸&#xff0c;可以看作是对前两回的补充性探讨。我们从类型定义、实例创建、参数传递、类型判等、垃圾回收等几个方面来简要的对上两回的内容做以剖析&#xff0c;并以一定的IL语言和内存机制来说明&#xff0…

云开发新能力,支持 HTTP 调用 API

今天来上班打开电脑&#xff0c;总感觉微信开发文档哪里有点不太一样&#xff0c;研究了半天原来是云开发又多了神级功能——HTTP API&#xff01; HTTP API是什么&#xff1f;简单来说就是通过云开发HTTP API&#xff0c;可以不需要通过微信小程序或云开发控制台&#xff0c;就…

mac下pip install 安装只能选择python2.7的问题

mac自带python2.7。 我用brew install安装过python3:brew install python3 我安装了anaconda3。因为它自带了很多包。所以我无论是用pycharm编程还是jupyter notebook一直都用的是anaconda3带的python。 后来发现用pip install 安装的包&#xff0c;在pycharm工程中用不了。更有…