Где разместить теги <start>и <end>в переводах seq2seq? - PullRequest
0 голосов
/ 12 марта 2019

Я прошел несколько уроков, где ответ на мой вопрос был другим.

Итак, для модели seq2seq (перевод с английского на французский) у меня есть encoder_input_data, в котором есть английские фразы без тегов <start> и <stop>. Я запутался с decoder_input_data и decoder_target_data.

В настоящее время мои данные организованы таким образом, что ничего не дают.

  • decoder_input_data: содержит французские фразы с тегами <start> и <stop>.
  • decoder_target_data: Содержит французские фразы, которые имеют только тег <stop>.

В уроке от Google говорится, что и английские, и французские фразы должны иметь оба тега в начале и в конце. Кроме того, я не получаю никаких результатов.

Должен ли я поставить теги <start> и <stop> на вход декодера? Или я должен включить только <start> на входе декодера и только тег <stop> в цели декодера? Как правильно разместить эти теги для NMT?

1 Ответ

2 голосов
/ 13 марта 2019

Вы должны поместить тег <start> на вход декодера и поместить тег <end> в цель декодера.

Пожалуйста, посмотрите на следующую картинку:

enter image description here

Тег <start> на входе декодера используется для прогнозирования первого токена в декодере, а тег <end> в цели декодера используется для обозначения окончания в декодере.

Нет необходимости брать тег <start> в цель, потому что у нас есть четкий начальный запуск в декодере.Кроме того, нет необходимости принимать тег <end> на входе, потому что окончание помечено выводом, а не входом.

Более того, есть некоторые работы, которые используют <start> и <end> в качествета же отметка.На самом деле они находятся в другом месте, поэтому они не конфликтуют.

Например:

enter image description here

...