在 seq2seq 翻译中在哪里放置 <start> 和 <end> 标签?

Where to place <start> and <end> tags in seq2seq translations?

我浏览了很多教程,但我的问题得到了不同的答案。

所以,对于 seq2seq 模型(英语到法语的翻译),我有 encoder_input_data,其中有没有 <start><stop> 标签的英语短语。 我对 decoder_input_datadecoder_target_data.

感到困惑

目前,我的数据组织方式没有结果。

lesson from Google 表示英语和法语短语必须在开头和结尾都有标签。另外,我没有得到任何结果。

Should I put <start> and <stop> tags in the decoder's input? Or, should I include only the <start> in the decoder's input and only the <stop> tag in the decoder's target? What is the correct way to place these tags for NMT?

你应该将 <start> 标签放在解码器的输入中,并将 <end> 标签放在解码器的目标中。

请看下图:

解码器输入中的<start>标签用于预测解码器中的第一个token,解码器目标中的<end>标签用于标记解码器中的结尾。

target中不需要带<start>标签,因为我们在decoder中已经有了明确的initial starting。此外,不需要在输入中使用 <end> 标记,因为结尾是由输出而不是输入标记的。

此外,还有一些作品使用<start><end>作为相同的标记。其实他们在不同的地方,所以他们并不冲突。

如: