NLP - seq2seq


seq2seq:Sequence to sequence
也称为序列网络模型


应用

  • 机器翻译
    谷歌翻译做的比较好。还会做目标语言检测。
  • 文本摘要
  • 情感对话生成
  • 代码补全

结构

包含两个循环神经网络,它们共同工作从而将一个序列转化为另一个序列:

  • 编码器网络:将输入压缩成矢量;
  • 解码器网络:将该矢量展开成新的序列。

在这里插入图片描述

如同截获一封电报,敌方编码,我方解码。


统计模型的问题:没有上下文信息。


RNN 要求输入大小一致。
文本数据长度不同,可以补全。


特殊符
起始符:GO
终止符:EOS (end of sentence)


存在的问题

  • 压缩损失了信息
  • 输入长度有限制,在10–20之间,如果过长,如40–50,表达效果会直线下降。
    在这里插入图片描述

以上两个问题,引出 attention 机制来解决


Attention

在图片的某个特定领域 以 高分辨率 展示,周边区域使用 低分辨率。即注意区域。
将 attention 机制应用在 NLP 领域,取得的效果显著。在 seq2seq 中加上 attention机制。

本质:对 Encoder 层状态进行加权,从而掌握输入语句中的所有细节信息。
加权有不同的算法,不同算法指定的加权方式不同

加权效果:
如果用热度图来说
对于机器翻译,对角线位置最重要。
在这里插入图片描述


每一个词有他们对应的特定的概率分布。可以根据概率来计算,结果的每个词应该聚焦哪几个输入的词。

在这里插入图片描述


Bucket 机制

正常情况要对所有句子进行补全。
Bucker 可以先分组,再计算。


假如有很多组对话,输入输出都可能有 0–100个字符。
可以从 0–100 中取一个区间,对每个区间进行训练。


tf 的 seq2seq 会自动加入 bucket 机制。


https://www.cnblogs.com/HolyShine/p/9850822.html


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值