生成式文本摘要1 - Seq2Seq + attention

该博客介绍了Seq2Seq模型在文本摘要任务中的使用,通过Encoder-Decoder架构结合GRU和attention机制,抽取文本特征并生成摘要。Encoder采用双层GRU处理输入,Decoder通过attention操作整合信息并生成输出。整个流程包括Embedding、attention计算、GRU更新和全连接层的输出映射。
摘要由CSDN通过智能技术生成

文本摘要(四):seq2seq 介绍及实现 - 知乎

(注意本文的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送入一个全连接层,将张量映射到词表上。得到当前时间步的最终输出。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值