Чем Word2Vec отличается от GloVe?

Word2Vec и GloVe — это два популярных метода обучения плотных векторных представлений слов (word embeddings). Они оба стремятся представить каждое слово как точку в многомерном пространстве таким образом, чтобы расстояния и направления между точками отражали семантические и синтаксические отношения между словами. Однако, между ними есть существенные различия в подходах к обучению, структуре и интерпретации.

Основное различие: предсказание vs. подсчёт

Свойство Word2Vec GloVe
Подход Прогнозирующий (predictive) Статистический (count-based)
--- --- ---
Основа Нейросеть (CBOW / Skip-gram) Матричное факторизованное разложение
--- --- ---
Использует глобальную статистику ❌ (локальный контекст) ✅ (глобальная co-occurrence матрица)
--- --- ---
Скорость обучения Быстрая Быстрая, но требует матрицу
--- --- ---
Качество на аналогиях Высокое Высокое
--- --- ---

Word2Vec

Word2Vec — модель, разработанная командой Google (Tomas Mikolov, 2013), которая учится предсказывать слова на основе контекста.

Архитектуры:

  1. **CBOW (Continuous Bag of Words):
    **

    • Цель: предсказать текущее слово по его контексту.

    • Пример: дано ["кошка", "на", "ковре"], нужно предсказать "спит".

  2. **Skip-gram:
    **

    • Цель: по текущему слову предсказать контекстные слова.

    • Пример: дано "спит", нужно предсказать ["кошка", "на", "ковре"].

Принцип работы:

  • Используется скользящее окно (например, ±2 слова).

  • Каждое слово сначала кодируется как one-hot вектор, затем преобразуется в плотный вектор.

  • Модель обучается так, чтобы максимизировать вероятность появления контекстных слов.

Обучение:

  • Используется negative sampling или hierarchical softmax для ускорения обучения.

  • Обучаемые веса из скрытого слоя — это и есть embeddings.

Особенности:

  • Обучается только на наблюдаемых контекстных парах.

  • Эффективен на больших корпусах (например, Google News).

  • Не требует сохранения матрицы co-occurrence.

  • Не работает с неизвестными словами, если не использован FastText.

GloVe

GloVe (Global Vectors for Word Representation) был предложен в 2014 году исследователями из Стэнфорда. В отличие от Word2Vec, GloVe основан на глобальной статистике слов в корпусе, а не на предсказании.

Принцип работы:

  • Строится матрица частот совместного появления слов XijX_{ij}, где ii и jj — слова, а XijX_{ij} — сколько раз они встречаются в одном контексте.

  • Модель обучается приближать логарифм частоты log⁡(Xij)\log(X_{ij}) через скалярное произведение векторов слов:

wiT⋅w~j+bi+b~j≈log⁡(Xij)w_i^T \cdot \tilde{w}_j + b_i + \tilde{b}_j \approx \log(X_{ij})

где:

  • wiw_i — вектор для слова ii,

  • w~j\tilde{w}_j — вектор контекстного слова jj,

  • bib_i, b~j\tilde{b}_j — смещения.

Особенности:

  • Использует всю глобальную статистику текста.

  • Модель оптимизирует аппроксимацию логарифма совместной частоты.

  • При обучении вес частоты регулируется специальной функцией f(x)f(x), чтобы не давать слишком большой вес часто встречающимся словам.

Сходства

  • Оба метода генерируют плотные вектора фиксированной размерности.

  • Могут использоваться в downstream-задачах: классификация, кластеризация, поиск синонимов.

  • Оба допускают дообучение на собственных корпусах.

  • Не учитывают полисемию (многозначность слов): одно слово — один вектор.

  • Могут быть загружены и использованы в библиотеках вроде gensim.

Отличия в обучении

Критерий Word2Vec GloVe
Что минимизирует Ошибку предсказания контекста Разницу между скалярным произведением и log частоты
--- --- ---
Природа данных Пары слово-контекст Полная матрица co-occurrence
--- --- ---
Локальность контекста Только ближайшие слова Статистика по всему корпусу
--- --- ---
Контекст Ограниченное окно Потенциально весь документ
--- --- ---
Представление контекста Вектора обучаются отдельно Симметрично обучаются и слова, и контексты
--- --- ---

Примеры различий в эмбеддингах

Семантические расстояния между словами в Word2Vec и GloVe могут быть разными. Например:

  • Word2Vec лучше запоминает локальные связи, например: "врач" ↔ "больница".

  • GloVe эффективнее в восстановлении глобальных аналогий, например: "Париж - Франция = Берлин - Германия".

Практическое использование

  • Word2Vec часто используется при динамическом обучении модели или когда важны локальные зависимости.

  • GloVe удобен для задач, где можно заранее построить матрицу co-occurrence (и она влезает в память), и нужны глобальные статистики.

  • Оба могут быть предобучены и использоваться «из коробки» для эмбеддинга слов в других NLP-моделях.

Когда что использовать

Сценарий Рекомендация
Огромный корпус, нужно быстрое обучение Word2Vec + Skip-gram
--- ---
Семантические отношения важнее локальных GloVe
--- ---
Важна устойчивость к редким словам и опечаткам FastText
--- ---
Нужен контекст (полисемия, фразы) BERT / ELMo / GPT
--- ---

Word2Vec и GloVe — фундаментальные инструменты в построении word embeddings. Они открыли эру распределённых представлений в NLP, сделав возможными более глубокие архитектуры, такие как трансформеры. Различие между предсказательным подходом и факторизацией матрицы по-прежнему остаётся ключевым при выборе модели для конкретной задачи.