NLP Academy · Урок

Создание векторных представлений предложений с помощью BERT

Извлекайте контекстные векторы в коде

Урок 3 из 413 шагов

«Создание векторных представлений предложений с помощью BERT» — бесплатный урок NLP Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения NLP Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс NLP Academy содержит 4 уроков всего.

От слов к предложениям

BERT создаёт собственный вектор для каждого токена. Но часто нужен один вектор для всего предложения, а не для каждого слова.

Токен CLS

BERT добавляет специальный токен с именем CLS в самое начало каждого входа. Его выход часто используют как краткое представление предложения.

Усреднение

Другой распространённый приём — усреднить все векторы токенов в один. Этот этап усреднения часто даёт результат лучше исходного вектора CLS.

Загрузка модели

Hugging Face упрощает загрузку: получите токенизатор и модель, выполнив по одной строке для каждого. Вместе они образуют ваш конвейер для векторных представлений.

from transformers import AutoTokenizer, AutoModel
tok = AutoTokenizer.from_pretrained("bert-base-uncased")
model = AutoModel.from_pretrained("bert-base-uncased")

Токенизация текста

Токенизатор превращает предложение в номера идентификаторов и маску внимания, понятные BERT. Это этап кодирования.

inputs = tok("I love NLP", return_tensors="pt")

Запуск модели

Передайте закодированные входные данные в BERT, чтобы получить скрытые состояния каждого токена. Эти векторы — необработанный выход, который вы будете усреднять.

out = model(**inputs)
states = out.last_hidden_state

Сведение к одному вектору

Усредните состояния токенов по последовательности, чтобы свести их к одному векторному представлению предложения, которое можно сохранить.

vec = states.mean(dim=1)

Более простой путь

Библиотека Sentence-Transformers выполняет всё это за вас. Один вызов возвращает готовый к использованию вектор предложения. ✨

from sentence_transformers import SentenceTransformer
m = SentenceTransformer("all-MiniLM-L6-v2")
vec = m.encode("I love NLP")

Сравнение предложений

Имея два вектора предложений, можно измерить близость с помощью косинусного сходства. Более высокие оценки означают, что предложения имеют похожий смысл.

Что можно создать

Векторные представления предложений поддерживают семантический поиск, кластеризацию и обнаружение дубликатов. Они превращают смысл в нечто, что можно искать.

Примечание о качестве

Модели, настроенные для предложений, например MiniLM, обычно превосходят обычный BERT в этой задаче. Выбирайте модель, обученную для конкретной задачи, которая вам нужна.

Быстрая проверка

Как превратить множество векторов токенов в один вектор предложения?

Итоги

Токенизируйте текст, пропустите его через BERT, а затем выполните объединение или используйте CLS, чтобы получить одно вложенное представление предложения. Sentence-Transformers выполняет это одним вызовом. ✅

Можно начать бесплатно

Изучай Python с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
30
Уроки
120

Часто задаваемые вопросы

Урок «Создание векторных представлений предложений с помощью BERT» бесплатный?

Да — полный текст урока «Создание векторных представлений предложений с помощью BERT» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс NLP Academy, подпишись на CoddyKit PRO. Курс NLP Academy содержит 4 уроков всего.

Чему я научусь в уроке «Создание векторных представлений предложений с помощью BERT»?

Извлекайте контекстные векторы в коде Ты практикуешь NLP Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать NLP Academy?

Предыдущий опыт не требуется. NLP Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Создание векторных представлений предложений с помощью BERT»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке NLP Academy?

Да. Каждый урок NLP Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Почему контекст меняет значение слова
  2. Маскированное языковое моделирование
  3. Создание векторных представлений предложений с помощью BERT
  4. Выбор подходящей предварительно обученной модели
← Назад к NLP Academy