美文网首页
文本生成

文本生成

作者: 是小橙子呀 | 来源:发表于2019-11-07 15:35 被阅读0次

    文本生成就是一个source text 到 target text的映射过程。

    文本生成与文本分类的方法类似,只是在拿到输入文本的语义表示后的处理方式不同,还需要将这个语义表示输入到decoder中解码生成目标文本。

    1、将给定的训练数据中的源文本和目标文本进行分词,分别建立词典。

    2、使用Word2Vec训练词向量。

    3、输入源文本的词向量到神经网络中

    4、输出源文本的语义表示,然后将该语义表示作为decoder的初始隐状态输入到decoder中,同时接受y_{0} =<SOS>的向量,即start of sequence,进行解码。

    5、在解码的时间步t,通过softmax输出y_{t} 。这时有三种处理方式,第一种直接将y_{t} 作为下一个时间步的输入,但是这种方法会导致错误累积。如果这一个时间步输出错误,那么将其作为后续的输入,将会导致以后的时间步的输出都是错误的。因此有了第二种方法,就是每一步的输入都使用上一步标准的正确的输出结果,即训练集中的数据。这样子就确保每一个时间步的输入都是绝对正确的。但是这种方法训练出的模型会产生过拟合的问题,如果遇到不在训练集中的数据,模型效果极差。因此,综合前面两种方法,提出了第三种方法,使用teacher forcing。即每一步输入时,使用采样sample的方法,若采样的数据>0.5,那么就采用训练集中的期望数据作为输入数据;若采样结果<0.5,那么就采用上一步的实际输出结果作为输入。

    6、直到decoder输出<EOS>,即end of sequence,或者达到了最长的字数限制,一次训练结束,然后将预测结果与期望结果比较,计算LOSS,设置优化策略,更新权重参数。设置epoch值,当训练次数到达epoch时,模型训练结束。

    7、进行测试。

    相关文章

      网友评论

          本文标题:文本生成

          本文链接:https://www.haomeiwen.com/subject/aphvbctx.html