当前位置:网站首页>【Attention演变史】翻译模型seq2seq (第二弹)
【Attention演变史】翻译模型seq2seq (第二弹)
2022-08-04 19:13:00 【Petersburg】
在上一篇文章中我们简要地说了一下RNN是个什么东西,具体数据在模型上时怎么跑出结果的,简单而言我们把RNN的内部看成一个箱子,把输入的词汇一个一个往里放,并根据每一步的输出同步作为下一步的输入,从而达到综合前面的句意和当前的词义的效果。这篇文章我们主要介绍翻译任务的经典模型之一seq2eq。
翻译到底是个啥
千百年来翻译从来都是个苦逼的活,你不但要精通本国的语言,还要精通国外的语言,争取满足各位水平参差不齐但是要求统一很高的看官,达到“信达雅”的标准。我们抽象地来看翻译这件事情,一个人要翻译中文的一本书,比如《论语》
- 他看到了“学而时习之,不亦说乎”
- 在他的脑子里,看到的这句话形成了一个容易理解的、直观的东西:我学习,然后有规律的每天复习以前的知识,这种事儿还是挺爽的。
- 同样在脑子里,他开始尝试用英文的每个字词来对应直观理解的意思,比如“study everyday and review regularly, isn’t it something delightful?”
- 最终他决定落在笔头上,把上述简单的初中词汇、高中语法,逐个替换为GRE/GMAT词汇,以让人看不懂为目的的语法,输出出来。
用流程图来理解这个过程很简单,我得到这句话 -> 我理解这句话 -> 我对应这句话 -> 我输出这句话。
Encoder - Decoder
有了前面的铺垫,这里理解这个模型设计就直白很多了。我们的输入以及输出都是自然语言,比如中文、英文、阿拉伯文这种我们读得懂的文字,同时计算机处理的是数字、向量。我们这里略过单词的向量话不谈,假设我们已经得到了输入的待翻译句子的逐单词的向量表示。
我们需要两个RNN,就如本部分的标题,一个取名叫Encoder,他的兄弟叫Decoder。翻译成人话,就很像二战时候的信息传送,传送方把信息加密后传递出去,接收方用一定的方法还原出来。
Encoder这里的任务就是跑一遍我们之前说过的RNN,拿到一个语义向量,作为Decoder的输入之一。对应上面提到的前两步,得到这句话和理解这句话。
Decoder的任务就是我们要把语义向量分析出来,输出为目标语言的文字。这块对应后面两步,对应每个理解和输出成目标语句。
图中左边是英语的encoder,右边是法语的decoder。至于这块的RNN,我们通常都会选用LSTM或者GRU。
边栏推荐
猜你喜欢
随机推荐
Usage of collect_list in Scala105-Spark.sql
八一建军节 | 致敬中国人民解放军
【填空题】130道面试填空题
七夕福利!中奖名单:书籍免费送!
03 ts类型缩小,函数
入选爱分析·银行数字化厂商全景报告,网易数帆助力金融数字化场景落地
lc marathon 8.3
MySQL安装教程(详细)
JS 问号?妙用
运力升级助力算力流转,中国数字经济的加速时刻
How can test engineers break through career bottlenecks?
在线生成接口文档
Those things about the curl command
PHP代码审计8—SSRF 漏洞
如何封装 svg
VPC2187/8 电流模式 PWM 控制器 4-100VIN 超宽压启动、高度集成电源控制芯片推荐
存储资源盘活系统助力新基建
Industrial CCD and CMOS camera
数据库治理的探索与实践
2022年7月国产数据库大事记