Преобразование нового текста
В этом упражнении вы преобразуете новый текст в последовательности числовых индексов с помощью словарей, созданных ранее.
Это необходимо в ситуации, когда модель уже обучена и её нужно применить к новым данным. Шаги предобработки, выполненные на обучающих данных, должны быть применены и к новому тексту, чтобы модель могла делать предсказания и классификацию.
В этом упражнении вы также будете использовать специальный токен '<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]]))