Читать книгу Использование embeddings: векторное представление текста - Группа авторов - Страница 2
Глава 2. Обзор классических методов векторизации текста
ОглавлениеПри работе с текстом машинное обучение сталкивается с необходимостью представления строковых данных (текста) в числовом формате, пригодном для обработки алгоритмами машинного обучения. Это называется **векторизацией текста**. Цель данной главы – познакомить читателя с основными подходами и классическими методами преобразования естественного языка в вектора, применяемыми в современных системах анализа текста.
Основные методы векторизации текста
1. One-Hot Encoding (ОЭ)
One-hot encoding является одним из простейших способов векторизации текста. Этот метод представляет каждую уникальную лексему документа в виде бинарной строки длиной N, где N – количество уникальных слов в корпусе документов. Каждая позиция соответствует одному слову корпуса. Если слово встречается в документе, соответствующий бит устанавливается в единицу, иначе – ноль.
**Пример:**
Документ: *«Машина едет быстро»*
Слова корпуса: {машина, едет, быстро}.
Результат ОЭ для слова «машина»: `[1, 0, 0]`.
Для слова «быстро»: `[0, 0, 1]`.
**Преимущества:**
– Простота реализации.
– Легко интерпретируемый результат.
**Недостатки:**
– Нечувствительность к порядку слов.
– Слишком большое пространство признаков (с ростом размера словаря число признаков растет экспоненциально).
2. Bag-of-Words (BOW)
Bag-of-Words (мешок слов) базируется на принципе учета частоты встречаемости каждого уникального слова в тексте. Каждый документ представляется в виде взвешенного списка всех уникальных слов. Здесь используется техника одного из видов взвешивания, например, TF-IDF (Term Frequency-Inverse Document Frequency), учитывающая частоту термина в документе и редкость термина во всей коллекции.
**Формула расчета TF-IDF:**
$$TF-IDF(w, d) = TF(w, d) \times IDF(w)$$
где
– $TF(w, d)$ – частота появления слова $w$ в документе $d$,
– $IDF(w)$ – обратная частота документа: $\log\frac{N}{n_w}$, где $N$ – общее количество документов, $n_w$ – количество документов, содержащих слово $w$.
**Пример:**
Корпус:
– Документ 1: «Автобус идет по дороге».
– Документ 2: «Поезд едет по рельсам».
Используя BOW + TF-IDF, можно получить следующий вектор:
| Слово | Частота | IDF | TF-IDF |
|–|–|–|–|
| автобус | 1 | 0.69 | 0.69 |
| поезд | 1 | 0.69 | 0.69 |
| идет | 1 | 0.69 | 0.69 |
| дорога | 1 | 0.69 | 0.69 |
| ехать | 1 | 0.69 | 0.69 |
| рельсы | 1 | 0.69 | 0.69 |
Таким образом, каждый документ представлен фиксированным размером вектора, который удобно использовать в дальнейшем анализе.
**Преимущества:**
– Высокая скорость вычислений.
– Простота интерпретации.
**Недостатки:**
– Не учитываются контекстуальные связи между словами.
– Игнорирует порядок слов.
3. Word Embeddings
Метод word embedding представляет собой гораздо более гибкий способ отображения слов в пространстве низкой размерности. Вместо статичных булевых векторов, представляющих каждое слово через наличие/отсутствие конкретного признака, здесь каждая лексема кодируется динамическим вектором, отражающим её контекст в конкретной модели. Эти векторы имеют следующие важные свойства:
– Семантическое сходство: близкие по смыслу слова находятся рядом друг от друга в многомерном пространстве.
– Контекстуальная близость: слова, часто употребляемые вместе, также оказываются близкими в пространстве.
Наиболее популярными моделями являются:
– Word2Vec (Skip-Gram, CBOW),
– GloVe,
– FastText.
**Word2Vec:**
Модель Word2Vec предлагает два основных подхода:
– Skip-Gram: предсказание контекста по слову.
– Continuous Bag of Words (CBOW): предсказание слова по окружению.
В обеих моделях используются нейронные сети для построения непрерывных представлений слов в n-мерном пространстве.
**FastText:**
Разработка компании Facebook, основанная на подходе к обработке словарных элементов, позволяя моделировать фонемы и символы. FastText значительно улучшает результаты при малом объеме данных и больших коллекциях слов.
**Преимущества:**
– Учет семантической близости слов.
– Эффективность при большом количестве слов.
**Недостатки:**
– Ограниченные возможности по использованию новых терминов, отсутствующих в обучающей выборке.
4. Документы как мешок слов (Document as a bag of words)
Представление документов как совокупности слов, составляющих набор характеристик. Преимуществом данного метода является возможность быстрого вычисления и высокой точности классификации на небольших корпусах.
**Алгоритм работы:**
1. Рассчитывается частотный список всех слов в каждом документе.
2. Извлекаются наиболее информативные признаки, исходя из частотного распределения и статистики TF-IDF.
3. Формируется матрица признаков, используемая далее в алгоритмах машинного обучения.
**Пример:**
Даны два документа:
– Документ 1: «Зима прекрасна, снег блестит ярко»
– Документ 2: «Лето жаркое, солнце светит сильно»
Мешок слов для первого документа: [зима, прекрасна, снег, блестит, ярко].
Мешок слов для второго документа: [лето, жаркое, солнце, светит, сильно].
После формирования векторов размерностью 5×2 получается следующая матрица признаков:
```
| зима прекрасна снег блестит ярко |
| лето жаркое солнце светит сильно |
```
**Преимущества:**
– Упрощенная структура данных.
– Быстрое построение классификаторов.
**Недостатки:**
– Игнорирование порядка слов.
– Сложность масштабирования на большие объемы данных.
Выбор подходящего метода векторизации текста зависит от целей проекта, объема данных и специфики решаемой задачи. Например, one-hot encoding подходит для простых проектов с небольшим количеством слов, тогда как word embeddings позволяют учитывать контекстную близость слов и являются мощным инструментом для решения задач анализа текста.