О чём урок
При обучении классификаторов на основе BoW (Bag-of-Words, «мешок слов») или TF/IDF (Term Frequency-Inverse Document Frequency, «частота термина, обратная частота документа») мы работали с высокоразмерными векторами «мешка слов» длиной vocab_size. Мы явно преобразовывали низкоразмерные векторы позиционного представления в разреженное one-hot представление. Однако такое one-hot представление неэффективно с точки зрения памяти. Кроме того, каждое слово рассматривается независимо от других, то есть one-hot векторы не выражают никакого семантического сходства между словами. Идея эмбеддинга (векторного представления) заключается в том, чтобы представлять слова с помощью плотных векторов меньшей размерности, которые каким-то образом отражают семантическое значение слова. Позже мы обсудим, как создавать осмысленные эмбеддинги слов, но пока давайте просто считать эмбеддинги способом уменьшения размерности вектора слова. Таким образом, слой эмбеддинга будет принимать слово в качестве входных данных и выдавать выходной вектор указанного embedding_size. В некотором смысле, это очень похоже на слой Linear, но вместо one-hot вектора он сможет принимать номер слова в качестве входных данных, что позволяет избежать создания больших one-hot векторов. Используя слой эмбеддинга в качестве первого слоя в нашей сети классификатора, мы можем перейти от модели «мешка слов» к модели «мешка эмбеддингов». В ней мы сначала преобразуем каждое слово в тексте в соответствующий эмбеддинг, а затем вычисляем некоторую агрегирующую функцию для всех этих эмбеддингов, такую как sum, average или max. Изображение автора Продолжите обучение в следующих ноутбуках: Эмбеддинги с PyTorch Эмбеддинги с TensorFlow Хотя слой эмбеддинга научился сопоставлять слова с векторным представлением, это представление не обязательно имело глубокий семантический смысл. Было бы хорошо научиться создавать векторное представление, в котором похожие слова или синонимы соответствуют векторам, близким друг к другу с точки зрения некоторого векторного расстояния (например, евклидова расстояния). Для этого нам нужно предварительно обучить нашу модель эмбеддинга на большом наборе текстов определённым образом. Один из способов обучения семантических эмбеддингов называется Word2Vec.
План урока
- Тест перед лекцией
- ✍️ Упражнения: Эмбеддинги
- Семантические эмбеддинги: Word2Vec
- Контекстуальные эмбеддинги
- Заключение
- 🚀 Задание
- Тест после лекции
- Обзор и самостоятельное изучение
Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.