如何在对话系统上应用基于RNN的seq2seq模型?
1 1013
2
该提问暂无详细描述
收藏
2021-01-21 17:28 更新 天明 •  1284
共 1 个回答
高赞 时间
1

一段时间前,我尝试着构建了一个返回单词反转结果的系统,即当输入是“ the quick brown fox”时,相应的输出是“ eht kciuq nworb xof”。这个想法类似于标准的seq2seq模型,唯一的区别是我拥有无限的训练数据。 因此,我在Keras中构建了它:

model = Sequential() 
model.add(LSTM(512, input_shape=(maxlen, nb_chars),  
    return_sequences=False)) 
model.add(RepeatVector(maxlen)) 
model.add(LSTM(512, return_sequences=True)) 
model.add(TimeDistributed(Dense(nb_chars))) 
model.add(Activation("softmax")) 

简单说一下我的想法,第一个LSTM(编码器)写出整个输入“句子”的表示形式(在我的情况下为最大nb_chars个字符的字符串)。 然后,将这种表示形式输入到第二个LSTM(解码器)的每个输入,将其每个输出输入到密集(完全连接)层,从而找到最可能的字符。

收藏
2021-01-21 17:31 更新 Lisa •  1762