python基于Keras实现翻译系统/聊天机器人系列2——Seq2Seq模型+attention(代码篇1-LSTM模型实现)

导读部分
对话系统最核心的部分是什么,seq2seq,现在tensorflow已经提供seq2seq封装的调用方法,相对方便,但是理解seq2seq内部原理,自己动手写的话是对模型设计思路的梳理,加深对原设计的理解。长期来说,有益。
那么seq2seq里面最核心的部分呢,编码和解码过程都是用LSTM网络结构来完成的。所以上篇咱们剖析了对话系统seq2seq+attention的内部原理(聊天机器人专辑《一》),从本篇开始,《智能客服聊天机器人专辑二代码篇》正式开始了。打算分为三个核心部分,循序渐进:
1.理解seq2seq编码过程,核心用到的网络结构LSTM,手把手搭建LSTM模型,代码实战。
2.完成咱们第一部分LSTM的网络搭建后,下面我们可以更递进进入两个LSTM的搭建,也就是完整的seq2seq模型了。为什么会用到两个LSTM呢,复习下《聊天机器人专辑一》聊天机器人Seq2Seq模型+attention(理论篇-图文详解)的原理部分就知道,seq2seq是编码和解码两个过程组合的,编码用到一个LSTM,解码用到一个LSTM网络。所以跟着完成第一部分,第二部分完整的seq2seq也可以打牢基础,更理解深刻地写出来seq2seq完整的网络了。
3.Transformer代码部分的实现。主要是实现咱们专辑一的注意力机制,把翻译的语句捋顺,润滑,避免颠倒次序,譬如‘我在编程‘翻译成’’‘编程在我’。当然这一块已经业内用BERT+LSTM+Transformer了。所以考虑要不要衍生4出来。(BERT完美解决文本词向量特征这块)

好,咱们《聊天机器人专辑二》之2.1篇 ——核心网络LSTM实战搭建开始。

《聊天机器人专辑二——seq2seq核心网络模型LSTM搭建》
LSTM的搭建包含三个核心点:

1.文本数据预处理,另外为了灌入网络模型LSTM,将原有的文本数据按照LSTM输入数据规格来组合,注意LSTM要求输入三维的数据。必须将之前的预处理的文本按照LSTM input_shape的要求,进行reshape或者Embe

猜你喜欢

转载自blog.csdn.net/weixin_37479258/article/details/100027728
今日推荐