机器翻译

[文献阅读] Automating Knowledge Acquisition for Machine Translation

馋奶兔 提交于 2019-11-28 00:49:54
Automating Knowledge Acquisition for Machine Translation 作者:Kevin Knight 时间:1997年 本篇文章的主要内容: 1、解决机器翻译问题不同的策略,word-for-word, syntax-based,semantic-based等等 2、利用西班牙语-英语形象化描述,如何从平行句对中得到 短语表 3、从双语语料中进行句子对齐任务 4、利用EM算法获得alignment 5、语言模型 6、翻译模型,为何P(E|F)不如P(F|E)好? 7、翻译评测的几种方法,人工策略,自动策略? 8、Syntax-based 机器翻译方法 9、Semantic-based 机器翻译方法,包含分析和生成,同时需要大量的外部资源 这篇文章比较早,当时短语系统等很多未提出,Kevin根据自己的经验写下这篇tutorial,并且分享了自己对于机器翻译的很多观点,这些观点今天看来的确都是很有意思的,并且预测到了很多年之后的机器翻译发展的路线。 文章下载地址: 下载地址 来源: CSDN 作者: 战辉 链接: https://blog.csdn.net/u013011270/article/details/23429933

深度学习中的attention机制

南楼画角 提交于 2019-11-28 00:25:16
最近两年,注意力模型(Attention Model)被广泛使用在自然语言处理、图像识别及语音识别等各种不同类型的深度学习任务中,是深度学习技术中最值得关注与深入了解的核心技术之一。本文以机器翻译为例,深入浅出地介绍了深度学习中注意力机制的原理及关键计算机制,同时也抽象出其本质思想,并介绍了注意力模型在图像及语音等领域的典型应用场景。 注意力模型最近几年在深度学习各个领域被广泛使用,无论是图像处理、语音识别还是自然语言处理的各种不同类型的任务中,都很容易遇到注意力模型的身影。所以,了解注意力机制的工作原理对于关注深度学习技术发展的技术人员来说有很大的必要。 人类的视觉注意力 从注意力模型的命名方式看,很明显其借鉴了人类的注意力机制,因此,我们首先简单介绍人类视觉的选择性注意力机制。 图1 人类的视觉注意力 视觉注意力机制是人类视觉所特有的大脑信号处理机制。人类视觉通过快速扫描全局图像,获得需要重点关注的目标区域,也就是一般所说的注意力焦点,而后对这一区域投入更多注意力资源,以获取更多所需要关注目标的细节信息,而抑制其他无用信息。这是人类利用有限的注意力资源从大量信息中快速筛选出高价值信息的手段,是人类在长期进化中形成的一种生存机制,人类视觉注意力机制极大地提高了视觉信息处理的效率与准确性。 图1形象化展示了人类在看到一副图像时是如何高效分配有限的注意力资源的

机器翻译中的深度学习技术:CNN,Seq2Seq,SGAN,Dual Learning

允我心安 提交于 2019-11-28 00:23:47
机器翻译是深度学习 技术 与 NLP 结合使用最活跃的 , 最 充满希望 的一个方向。从最初完全 基于 靠人编纂的规则 的机器 翻译方法,到后来 基于 统计 的 SMT 方法,再到现在 神经 机器翻译 NMT ,机器翻译 技术 在 过去 60 多年 的时间里一直不断的更新 , 特别是 在 2012 深度学习技术进入 人们 视野之后,机器翻译的准确率不断刷新,今天就主要盘点一下 各类 深度学习 机器翻译 里面的应用现状,给出一些比较有代表性的论文学习一下。 基于深度学习 技术的 神经 翻译技术( NMT ) 最大的 有点久在于 : 1 、采用 一种端到端 ( end -to-end )的 结构, 不在 需要人为 的 去抽取特征; 2 、网络 结构设计简单, 不需要进行 词语切分 、 词语 对齐 、句法树设计等复杂的设计工作。 同时 ,这一方法的缺点也很明显 : 1 、 可解释性 差, 以 seq2seq 为例,很难解释和理解隐层输出,即 encoder 输出 具体的物理意义 ; 2 、训练 复杂度高 , 耗时耗力 。 深度学习训练样本 量 往往多大亿 计, 训练一个模型需要专门得 GPU 集群 ,花费几天甚至 一周 时间才能得出一个结果 , 模型的迭代更新非常慢。 虽然 NMT 有它的不足,但总的来说还是 利远远 大于弊 , 下面就主要讲讲深度学习在机器翻译得一些具体应用: A

CS224N笔记——神经机器翻译与Attention机制

ぐ巨炮叔叔 提交于 2019-11-27 22:01:53
目录 神经机器翻译NMT 神经机器翻译的架构 神经机器翻译的青铜时代 现代神经机器翻译的序列模型 RNN Encoder Decoder:循环语言模型 机器翻译的发展 神经机器翻译的四大优势 统计/神经机器翻译 神经机器翻译主要由工业界促进 Attention:朴素RNN&长序列 Attention机制 词语对齐 同时学习翻译和对齐 Scoring 神经机器翻译NMT 神经机器翻译是用一个大型神经网络建模整个翻译过程的系统。 神经机器翻译的架构 神经机器翻译的青铜时代 80年代神经网络是个很边缘的领域,另外计算力也很有限。当时的NMT系统很简陋:词表四五十,固定的50个输入(二进制编码),固定的66个输出,一到三层隐藏层,150个单元。 90年代出现了一种类似RNN的更复杂的框架: 现代神经机器翻译的序列模型 一个RNN做encoder,另一个RNN做decoder。 实际系统中使用深层RNN: 这里的RNN可视作条件循环语言模型: RNN Encoder 最后一个隐藏层的状态Y是整个原文的总结。 常见的encoder实际上加了一些扩展,比如GRU或LSTM。 Decoder:循环语言模型 常见的做法是把encoder的最后一层(最后一个时刻)作为decoder的第一层,这样就必须用LSTM保持中期记忆。 另一种做法是将encoder最后一层喂给decoder的每一层

洛谷 P1540 机器翻译 (模拟+hash+queue)

只愿长相守 提交于 2019-11-27 04:58:12
题目链接: 点击这里 队列模拟题,但是STL的queue没有查找函数,便用hash数组标记,AC感谢数据量小: # include <iostream> # include <algorithm> # include <string> # include <cstdio> # include <cstring> # include <cmath> # include <stack> # include <queue> using namespace std ; typedef long long ll ; const int MOD = 10000007 ; const int INF = 0x3f3f3f3f ; const double PI = acos ( - 1.0 ) ; const int maxn = 1010 ; int hash [ maxn ] ; int main ( ) { queue < int > Q ; int m , n , temp ; scanf ( "%d%d" , & m , & n ) ; int cnt = 0 ; for ( int i = 0 ; i < n ; i ++ ) { scanf ( "%d" , & temp ) ; if ( hash [ temp ] ) //如果temp在内存中,什么也不操作 continue ;