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

Часть 1: Модель обращения текста — энкодер

Реализация простой модели обращения текста — отличный способ разобраться в механике архитектуры энкодер-декодер и понять, как её части взаимодействуют между собой. Сейчас вы реализуете часть энкодера такой модели.

Реализация энкодера разбита на два упражнения. В этом упражнении вы определите вспомогательную функцию words2onehot(). Функция words2onehot() должна принимать список слов и словарь word2index, а затем преобразовывать список слов в массив векторов унитарного кода (one-hot). Словарь word2index доступен в рабочей области.

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

Машинный перевод с Keras

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

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

  • Преобразуйте слова в идентификаторы с помощью словаря word2index внутри функции words2onehot().
  • Преобразуйте идентификаторы слов в векторы унитарного кода (one-hot) длиной 3 (используя аргумент num_classes) и верните полученный массив.
  • Вызовите функцию words2onehot(), передав слова I, like и cats, и присвойте результат переменной onehot.
  • Выведите слова и соответствующие им векторы унитарного кода с помощью функций print() и zip(). Функция zip() позволяет перебирать несколько списков одновременно.

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

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

import numpy as np

def words2onehot(word_list, word2index):
  # Convert words to word IDs
  word_ids = [____[w] for w in ____]
  # Convert word IDs to onehot vectors and return the onehot array
  onehot = ____(____, num_classes=3)
  return ____

words = ["I", "like", "cats"]
# Convert words to onehot vectors using words2onehot
onehot = ____(____, ____)
# Print the result as (, ) tuples
print([(w,ohe.tolist()) for ____,____ in zip(words, ____)])
Редактировать и запускать код