(注意本文的attention和decoder模块与参考文献略有不同)
Seq2Seq模型架构:利用Encoder-Decoder架构,结合attention,对文本摘要生成任务进行建模和训练。Encoder和Decoder中,分别使用GRU结构来抽取文本特征。
Encoder采用传统GRU结构,输入的文本id数据经过embedding处理后,进入双层GRU网络中。GRU输出的数据有2两个,一个是编码结果output,维度为[batch_size, seq_len, hidden_size],表示为每个输入数据的hidden_state; 第二个输出hidden的维度为[num_layers, batch_size, hidden_size],表示为最终时间步的每层GRU网络的hidden_state,这里取最后一层输出。
Decoder的作用,是将每个时间步的decoder输入,经过与encoder output和previous hidden state相互作用后,生成当前时间步的decoder输出。它的流程大致分为4个步骤:
1. 每个时间步的dec_input,经过Embedding处理,得到维度为[batch_size,1,embedd_size]的输入向量embedded。
2. 上一个时间步的hidden_state与enc_output进行attention操作,得到有注意力的语义张量context_vect ,此时context_vect 综合了上一个时间步的信息以及Encoder的上下文信息。
3. 将context_vect与embedded拼接后,作为输入送入GRU网络中,得到输出张量output
4. 将这个output送入一个全连接层,将张量映射到词表上。得到当前时间步的最终输出。
该博客介绍了Seq2Seq模型在文本摘要任务中的使用,通过Encoder-Decoder架构结合GRU和attention机制,抽取文本特征并生成摘要。Encoder采用双层GRU处理输入,Decoder通过attention操作整合信息并生成输出。整个流程包括Embedding、attention计算、GRU更新和全连接层的输出映射。

427

被折叠的 条评论
为什么被折叠?



