Обработка естественного языка

Word2Vec

Word2Vec

классикаВытеснен контекстными эмбеддингами, но остаётся отличным объяснением идеи.

Обучает плотные векторы слов по контексту: близкие по смыслу слова оказываются рядом в пространстве.

Ключевые тезисы

  • Две схемы: CBOW предсказывает слово по контексту, Skip-gram — наоборот.
  • Negative sampling делает обучение вычислительно реальным.
  • Знаменитая арифметика векторов: король − мужчина + женщина ≈ королева.

Подробный разбор

2 подтем — раскройте любую, чтобы увидеть объяснение, формулы, примеры и интерактивные графики.

1

Skip-gram и CBOW

Две задачи, из которых рождаются векторы слов.

Гипотеза дистрибутивной семантики: слова, встречающиеся в похожих контекстах, имеют похожий смысл. Skip-gram предсказывает контекст по слову, CBOW — слово по контексту.

Обозначения
  • веса модели — то, что подбирается при обучении
  • вероятность (или плотность распределения)
  • суммирование по всем перечисленным элементам
  • транспонирование: строка вместо столбца
  • логарифм: превращает произведения в суммы и сжимает масштаб
  • экспонента

Знаменатель требует суммы по всему словарю — это неподъёмно. Negative sampling заменяет задачу: отличить настоящую пару «слово — контекст» от нескольких случайных.

Пример

Знаменитая векторная арифметика: . Направление в пространстве кодирует отношение.

2

Детали обучения

Negative sampling, subsampling и размер окна.

Обозначения
  • математическое ожидание — среднее по распределению
  • сигмоида: сжимает число в интервал от 0 до 1
  • веса модели — то, что подбирается при обучении
  • число объектов в выборке
  • номер или количество: индекс шага, число соседей, кластеров или позиций
  • функция потерь — то, что минимизируется при обучении
  • суммирование по всем перечисленным элементам
Вместо softmax по всему словарю — бинарная классификация против K случайных слов
  • отрицательных примеров для малых корпусов, 2–5 для больших.
  • Отрицательные слова берут из распределения — компромисс между частыми и редкими.
  • Subsampling выбрасывает сверхчастые слова с вероятностью, зависящей от частоты: это ускоряет обучение и улучшает векторы редких слов.
  • Маленькое окно (2–5) даёт синтаксическую близость, большое (10+) — тематическую.

Связанные темы

От слов к векторам

Tokenization75%

Токенизация · Обработка естественного языка

Разбиение текста на единицы, с которыми работает модель: слова, подслова или байты.

Bag of Words75%

Мешок слов · Обработка естественного языка

Текст представляется вектором частот слов, порядок полностью игнорируется.

TF-IDF75%

TF-IDF · Обработка естественного языка

Взвешивает частоту слова в документе на его редкость в корпусе, подавляя общеупотребительные слова.

GloVe75%

GloVe · Обработка естественного языка

Строит эмбеддинги из глобальной матрицы совстречаемости слов, а не только из локальных окон.

FastText75%

FastText · Обработка естественного языка

Представляет слово суммой векторов его символьных n-грамм, что даёт эмбеддинги даже для незнакомых слов.

Embeddings75%

Эмбеддинги · Обработка естественного языка

Плотные векторные представления объектов, где геометрическая близость означает смысловое сходство.