seq2seq主要实现步骤和源码

注意点:

1 数据预处理阶段(添加特殊字符)

主要用来进行字符补全,都是用在Decoder端的序列中,告诉解码器句子的起始与结束

则用来替代一些未出现过的词或者低频词

2 encoder

直接lstm或者其他模型

3 decoder

  • 对target数据进行处理
  • 构造Decoder

     在训练过程中,我们需要将我们的target序列作为输入传给Decoder端RNN的每个阶段,而不是使用前一阶段预测输出,这样会使得模型更加准确。TrainingHelper用于训练阶段,GreedyEmbeddingHelper用于测试阶段

    • Embedding
    • 构造Decoder层
    • 构造输出层,输出层会告诉我们每个时间序列的RNN输出结果
    • Training Decoder
    • Predicting Decoder

4 构建好了Encoder层与Decoder以后,我们需要将它们连接起来build我们的Seq2Seq模型

参考https://zhuanlan.zhihu.com/p/27608348

源码 https://github.com/lbda1/base_seq2seq

你可能感兴趣的:(tensorflow)