НачатьНачать бесплатно

Подготовка входного текста

В видео вы видели, как подготавливать входные и выходные тексты. Цель этого упражнения — показать распространённую практику: использовать максимальную длину предложений для дополнения (паддинга) всех остальных. Это позволяет не терять никакую информацию.

Поскольку модели RNN требуют, чтобы все входные данные имели одинаковый размер, паддинг — удобный способ выровнять все предложения: более короткие дополняются нулями, а более длинные остаются без изменений.

Кроме того, вместо отдельных символов вы будете использовать слова в качестве токенов — это стандартный подход для моделей NMT.

Португальские тексты загружены в переменную pt_sentences, а обученный токенизатор — в переменную input_tokenizer.

Это упражнение является частью курса

Рекуррентные нейронные сети (RNN) для языкового моделирования с Keras

Посмотреть курс

Инструкции к упражнению

  • Примените метод .split() к каждому предложению, чтобы разбить его по пробелам и определить количество слов.
  • Используйте метод .texts_to_sequences(), чтобы преобразовать текст в последовательность индексов.
  • Примените полученную максимальную длину предложений для их дополнения (паддинга).
  • Выведите первое преобразованное предложение.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Get maximum length of the sentences
pt_length = max([len(sentence.____) for sentence in pt_sentences])

# Transform text to sequence of numerical indexes
X = input_tokenizer.____(pt_sentences)

# Pad the sequences
X = pad_sequences(X, maxlen=____, padding='post')

# Print first sentence
print(pt_sentences[0])

# Print transformed sentence
print(____)
Редактировать и запускать код