语言翻译模型构建:从输出序列到完整模型
1. 创建输出序列
和处理输入文本类似,我们需要将分词后的输出转换为序列。以下是具体的代码实现:
# 将分词后的文本转换为序列
tokenized_output = tokenizer_out.texts_to_sequences(target_texts)
我们可以使用以下代码来查看输出词汇表的大小:
output_vocab_size = len(tokenizer_out.word_index) + 1
output_vocab_size
这里输出的大小是 4964,这意味着我们的词汇表中有 4964 个西班牙语单词。
为了让训练更快收敛,我们在输出上使用教师强制(teacher forcing)。教师强制的原理是给解码器提示下一个单词,减少其猜测工作,从而加快学习速度。需要注意的是,教师强制仅在模型训练时使用,在测试或推理模式下不使用。
# 教师强制
for i in range(len(tokenized_output)):
tokenized_output[i] = tokenized_output[i][1:]
接着,我们要确定输出的最大长度,并将所有输出标记用零填充。
maxlen_output = m
超级会员免费看
订阅专栏 解锁全文
4万+

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



