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

Преобразование нового текста

В этом упражнении вы преобразуете новый текст в последовательности числовых индексов с помощью словарей, созданных ранее.

Это необходимо в ситуации, когда модель уже обучена и её нужно применить к новым данным. Шаги предобработки, выполненные на обучающих данных, должны быть применены и к новому тексту, чтобы модель могла делать предсказания и классификацию.

В этом упражнении вы также будете использовать специальный токен '<UKN/>' для обозначения слов, отсутствующих в словарном запасе. Как правило, такие специальные токены занимают первые индексы словарей — позицию 0.

Переменные word_to_index, index_to_word и vocabulary уже загружены в окружение. Переменная с новым текстом загружена как new_text. Новый текст выведен на экран, чтобы вы могли с ним ознакомиться.

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

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

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

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

  • Переберите в цикле список new_text, содержащий предложения.
  • Установите значение 0 в качестве индекса, если слово не найдено в словаре.
  • Добавьте предложение с индексами в переменную new_text_split.
  • Преобразуйте индексы обратно в текст с помощью словаря index_to_word.

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

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

# Loop through the sentences and get indexes
new_text_split = []
for sentence in ____:
    sent_split = []
    for wd in sentence.split(' '):
        index = word_to_index.get(wd, ____)
        sent_split.append(index)
    new_text_split.append(____)

# Print the first sentence's indexes
print(new_text_split[0])

# Print the sentence converted using the dictionary
print(' '.join([index_to_word[____] for index in new_text_split[0]]))
Редактировать и запускать код