Neural Machine Translation

目的:

  • 将输入的语句,换一种形式输出,不改变原有的意思

过程:

  • 数据预处理:

    • 分为两个字典

      • 待翻译字典
      • 翻译后的字典
        • 下标-to-字符
        • 字符-to-下标
    • 两个长度

      • Tx:待翻译句子的最大长度,小于则用做填充,大于则截取,一般选取词典的大小
      • Ty:f翻译后语句的长度,通过需求设定
    • 编码过程

      • 将字符转为下标--->将下标转为one-hot
    • 解码过程

      • 将one-hot转为下标---->将下标转为对应字符
    • 数据格式

      X Y X_oh Y_oh
      (m,T) (m,Ty) (m,Tx,len(human_vocab)) (m,Ty,len(machine_vocab))
  • 网络结构

    • 整体结构

    • 单步结构

  • 与文本生成的异同

    • 相同处

      • 可以根据需求,将网络单元设置成基本的RNN、LSTM、GRU.eg.
    • 不同处:

      输入 关联程度
      文本生成 上一时间步的输出 依赖上一时间步的输出
      机器翻译 隐藏层状态、记忆单元状态 依赖关系需要attention计算
  • 心得

    • XXX层 <==> XXX函数
    • 将YY通过XX层输出ZZ <==> 将YY作为参数传入XX函数并返回ZZ
  • 参考

posted @ 2021-08-11 16:31  Simbanana  阅读(66)  评论(0)    收藏  举报