Читать книгу Использование 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 позволяют учитывать контекстную близость слов и являются мощным инструментом для решения задач анализа текста.

Использование embeddings: векторное представление текста

Подняться наверх