Спринт 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.7/10.Задача 1

Спринт 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.9/10.Задача 1

Спринт 18/24 → Тема 3/5: Языковые представления → Урок 10/10

Кратко:
  • Эмбеддинги текстов строятся с использованием модели BERT.
  • Языковые представления помогают решить задачу классификации.
  • Шпаргалка и конспект темы содержат ключевые моменты и идеи для изучения.
  • В следующей теме предстоит выполнить самостоятельный проект по классификации текстов.
Заключение

В этой теме вы:

  • Узнали, как строятся эмбеддинги текстов;
  • Научились создавать признаки моделью BERT;
  • Разобрались, как языковые представления помогают решить задачу классификации.

Заберите с собой

Чтобы ничего не забыть, скачайте шпаргалку и конспект темы.

В следующей теме вас ждёт самостоятельный проект по классификации текстов.