Підготовка вхідного тексту
У відео ви бачили, як готувати вхідні та вихідні тексти. У цій вправі ви попрактикуєте поширений підхід: використовувати максимальну довжину речень, щоб доповнити (pad) усі інші — так жодна інформація не губиться.
Оскільки моделям RNN потрібні вхідні дані однакового розміру, це спосіб доповнити всі речення: просто додати нулі до коротших, не обрізаючи довші.
Крім того, ви використовуватимете слова замість символів для подання токенів — це типовий підхід для моделей NMT.
Португальські тексти збережено у змінній pt_sentences, а налаштований tokenizer — у змінній input_tokenizer.
Ця вправа є частиною курсу
Recurrent Neural Networks (RNNs) для моделювання мови з Keras
Інструкції до вправи
- Застосуйте метод
.split()до кожного речення, щоб розбити його за пробілами й отримати кількість слів у реченні. - Використайте метод
.texts_to_sequences(), щоб перетворити текст на послідовність індексів. - Використайте отриману максимальну довжину речень для їх доповнення (padding).
- Виведіть перше перетворене речення.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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(____)