Спринт 18/24 → Тема 3/5: Языковые представления → Урок 1/10
Введение
Научимся строить языковые представления.
Чему вы научитесь
- Узнаете, что такое эмбеддинги.
- Научитесь создавать признаки текстов моделью BERT.
- Построите модель для классификации текстов.
Сколько времени это займёт
10 уроков по 10–15 минут.
Постановка задачи
Построим новую модель, которая с бо́льшей точностью классифицирует твиты положительной и отрицательной тональности.
Спринт 18/24 → Тема 3/5: Языковые представления → Урок 2/10
Кратко:
- Векторные представления слов учитывают смысл, контекст и свойства слов.
- Векторы-эмбеддинги содержат данные о соотношении слов и их свойствах.
- Свойства слов - это скрытые смыслы, а смысл - это лексическое значение слова.
- Контекст определяет смысл слов.
- Близкие векторы отображают похожие слова.
- Сходство векторов определяется евклидовым расстоянием.
- Векторы размерностью 2 могут отображать способность летать и принадлежность к отряду неполнозубых.
- Векторы не всегда корректно интерпретируются как признаки.
Спринт 18/24 → Тема 3/5: Языковые представления → Урок 3/10
Кратко:
- Word2vec - популярный метод построения языковых представлений.
- Сходство слов определяется соседством с другими словами в контексте.
- Задача word2vec - предсказать, являются ли заданные слова соседями.
- Слова-соседи - признаки, а являются ли они соседями - целевой признак.
- Пример датасета: предложение о тупике.
- Пример работы: лемматизация текста, составление пятиграммы, разделение на пары слов-соседей.
- Следующая задача - отличать истинные пары соседей от случайных, бинарная классификация.
- Набор данных для обучения: метка «1» - истинные слова-соседи, «0» - ложные.
Спринт 18/24 → Тема 3/5: Языковые представления → Урок 4/10
Кратко:
- Векторное представление помогает решать задачи классификации и регрессии.
- Векторное представление применяется для анализа текстов.
- Модель состоит из двух блоков: модели перевода слов в векторное представление и модели классификации.
- Векторное представление слов получается после предобработки текста: токенизации, лемматизации, очистки от стоп-слов и ненужных символов, добавления маркеров начала и конца предложения.
- Токены передаются модели, которая переводит их в векторные представления с использованием словаря токенов.
- На финальном этапе модели прогнозируют эмоциональную окраску текста (0 или 1).
Спринт 18/24 → Тема 3/5: Языковые представления → Урок 5/10
Кратко:
- BERT - это нейронная сеть для создания модели языка, разработанная в Google.
- Она помогает строить векторные представления и понимать контекст запросов.
- Предобученные версии BERT годятся для работы с текстами на 104 языках мира, включая русский.
- BERT - это результат эволюции модели word2vec, которая была придумана в ходе её развития.
- На входе модель получает, например, фразу: «Красный клюв тупика на голубом», где MASK - это неизвестные слова.
- Модель обучается определять, связаны ли в предложении слова между собой.
Спринт 18/24 → Тема 3/5: Языковые представления → Урок 6/10
Кратко:
- RuBERT - предобученная модель для векторных представлений на базе BERT для русских текстов.
- Задача: классификация твитов на позитивную и негативную тональность.
- Использование PyTorch и библиотеки transformers для работы с моделями типа BERT.
- Подготовка текстов: токенизация и добавление специальных токенов.
- Применение метода padding для равного размера векторов.
- Получение векторов с отступами и маскировка нулей.
- Использование внимания для модели BERT.
Спринт 18/24 → Тема 3/5: Языковые представления → Урок 7/10
Спринт 18/24 → Тема 3/5: Языковые представления → Урок 8/10
Кратко:
- Инициализация конфигурации BertConfig и модели BertModel с использованием JSON-файла.
- Преобразование текстов в эмбеддинги с использованием библиотеки tqdm и функции notebook.
- Преобразование данных в формат тензоров с использованием библиотеки torch.
- Получение эмбеддингов для батча с передачей данных и маски модели.
- Ускорение вычисления с использованием функции no_grad() в библиотеке torch.
- Извлечение нужных элементов тензора и добавление их в список всех эмбеддингов.
- Сборка всех эмбеддингов в матрицу признаков с использованием функции concatenate().
- Подготовка признаков для обучения модели
Спринт 18/24 → Тема 3/5: Языковые представления → Урок 9/10
Спринт 18/24 → Тема 3/5: Языковые представления → Урок 10/10
Кратко:
- Эмбеддинги текстов строятся с использованием модели BERT.
- Языковые представления помогают решить задачу классификации.
- Шпаргалка и конспект темы содержат ключевые моменты и идеи для изучения.
- В следующей теме предстоит выполнить самостоятельный проект по классификации текстов.
Заключение
В этой теме вы:
- Узнали, как строятся эмбеддинги текстов;
- Научились создавать признаки моделью BERT;
- Разобрались, как языковые представления помогают решить задачу классификации.
Заберите с собой
Чтобы ничего не забыть, скачайте шпаргалку и конспект темы.
В следующей теме вас ждёт самостоятельный проект по классификации текстов.