Чем Word2Vec отличается от GloVe?
Word2Vec и GloVe — это два популярных метода обучения плотных векторных представлений слов (word embeddings). Они оба стремятся представить каждое слово как точку в многомерном пространстве таким образом, чтобы расстояния и направления между точками отражали семантические и синтаксические отношения между словами. Однако, между ними есть существенные различия в подходах к обучению, структуре и интерпретации.
Основное различие: предсказание vs. подсчёт
Свойство | Word2Vec | GloVe |
---|---|---|
Подход | Прогнозирующий (predictive) | Статистический (count-based) |
--- | --- | --- |
Основа | Нейросеть (CBOW / Skip-gram) | Матричное факторизованное разложение |
--- | --- | --- |
Использует глобальную статистику | ❌ (локальный контекст) | ✅ (глобальная co-occurrence матрица) |
--- | --- | --- |
Скорость обучения | Быстрая | Быстрая, но требует матрицу |
--- | --- | --- |
Качество на аналогиях | Высокое | Высокое |
--- | --- | --- |
Word2Vec
Word2Vec — модель, разработанная командой Google (Tomas Mikolov, 2013), которая учится предсказывать слова на основе контекста.
Архитектуры:
-
**CBOW (Continuous Bag of Words):
**-
Цель: предсказать текущее слово по его контексту.
-
Пример: дано ["кошка", "на", "ковре"], нужно предсказать "спит".
-
-
**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, сделав возможными более глубокие архитектуры, такие как трансформеры. Различие между предсказательным подходом и факторизацией матрицы по-прежнему остаётся ключевым при выборе модели для конкретной задачи.