Назад в библиотеку

УДК 004.85

СРАВНИТЕЛЬНЫЙ АНАЛИЗ АЛГОРИТМОВ КЛАССИФИКАЦИИ ТЕКСТОВ: ОТ КЛАССИЧЕСКИХ МОДЕЛЕЙ К ТРАНСФОРМЕРАМ

Автор: К.А. Орловский

Источник: Орловский К. А. СРАВНИТЕЛЬНЫЙ АНАЛИЗ АЛГОРИТМОВ КЛАССИФИКАЦИИ ТЕКСТОВ: ОТ КЛАССИЧЕСКИХ МОДЕЛЕЙ К ТРАНСФОРМЕРАМ // Вестник науки. 2025. №5 (86) [Электронный ресурс] – Режим доступа: https://cyberleninka.ru/article/n/sravnitelnyy-analiz-algoritmov-klassifikatsii-tekstov-ot-klassicheskih-modeley-k-transformeram – Загл. с экрана.

Аннотация: в работе представлен обзор методов машинного обучения для автоматической классификации текстовых документов – от традиционных алгоритмов до современных глубинных нейросетевых моделей. Обсуждаются наивный Байес, метод опорных векторов, случайный лес и модель BERT, отражающая последние достижения в обработке естественного языка. Для каждого метода кратко рассмотрены математические основы, особенности применения к текстовым данным, преимущества и ограничения. Приводятся сведения о представлении текстов (модель “мешок слов”, TF-IDF, эмбеддинги слов) и о влиянии дисбаланса классов. Сравнительный анализ демонстрирует эволюцию качества классификации – от базовых подходов, эффективных на небольших наборах данных, к трансформерам, задающим новый стандарт точности.

Ключевые слова: классификация текста, машинное обучение, наивный Байес, метод опорных векторов, случайный лес, трансформеры.

Введение

Классификация текстовых документов – ключевая задача обработки естественного языка (NLP) и машинного обучения, имеющая множество приложений: фильтрация спама, тематическая сортировка новостей, анализ тональности отзывов, категоризация научных статей и др. Цель такой задачи – обучить модель, способную автоматически присваивать документу правильную категорию на основании его содержимого. Существуют различные подходы к этой задаче, что отражено в большом количестве исследований [1, 2]. Методы классификации текстов условно делятся на классические алгоритмы машинного обучения и современные методы глубинного обучения [1]. К первым относятся, например, наивный Байес, метод опорных векторов, случайный лес и другие модели, применявшиеся с 1990-х – 2000-х годов. Эти алгоритмы относительно просты в реализации и интерпретации, требовательны лишь к базовым вычислительным ресурсам и могут показывать конкурентоспособную точность на небольших датасетах или коротких текстах. С другой стороны, современные глубокие нейросетевые модели (например, BERT от Google) достигли рекордной точности на ряде сложных NLP-задач. Такие модели учитывают контекст и порядок слов, но требуют больших объемов данных для обучения и существенных вычислительных ресурсов (GPU, распределенные системы и т.д.). Несмотря на успехи нейросетей, классические алгоритмы не теряют актуальности: они часто служат базовыми линиями (baseline) для сравнения, входят в состав гибридных решений и применяются там, где критичны быстрота и простота модели.

В данной статье представлен сравнительный обзор методов машинного обучения для классификации документов. Кратко описаны математические основы ключевых алгоритмов – наивного Байеса, SVM, случайного леса, трансформеров (BERT) – а также упомянуты другие подходы. Описываются способы представления текстовых данных для моделей и обсуждаются преимущества и недостатки методов применительно к задачам текстовой классификации. Наконец, приводятся сравнительные результаты и выводы, позволяющие оценить эволюцию качества от классических моделей к современным.

Представление текстовых данных и дисбаланс классов

Прежде чем перейти к алгоритмам, рассмотрим, как текстовые данные подготавливаются для классификации. Сырые тексты необходимо преобразовать в числовые признаки, поскольку большинство алгоритмов работают с векторами фиксированной размерности. Классический подход – модель «мешок слов» (Bag-of-Words) и ее улучшенная версия TF-IDF. В этой модели каждому уникальному слову из словаря соответствует признак, значение которого равно частоте этого слова в документе либо взвешено по TF-IDF. Такой способ векторизации приводит к очень высокой размерности признакового пространства (количество признаков равно размеру словаря корпуса) и разреженности векторов (большинство слов отсутствует в данном документе). Тем не менее, представление текста в виде мешка слов успешно применялось с классическими алгоритмами. В частности, еще в 1998 г. Йоахимс продемонстрировал эффективность SVM на задачах текстовой классификации, используя именно мешок слов в качестве признаков [2].

Помимо высокой размерности, текстовые датасеты часто характеризуются неравномерным распределением классов. В реальных сборниках документов одни категории могут содержать значительно больше примеров, чем другие. Этот дисбаланс классов может приводить к тому, что модель “выучивает” преимущественно частые классы и игнорирует редкие, что снижает качество классификации. При разработке решений важно анализировать распределение данных и при необходимости применять методы борьбы с дисбалансом (взвешивание классов, oversampling/undersampling и др.). Отметим, что некоторые алгоритмы более устойчивы к малому числу примеров: например, вероятностные модели (наивный Байес) способны выдавать приемлемые результаты даже при очень небольшом обучающем наборе, тогда как для сложных моделей (SVM, нейросети) обычно требуется не менее нескольких десятков примеров на класс.

Со временем появились способы представления текстов, выходящие за рамки мешка слов. Эмбеддинги слов – плотные векторные представления, отображающие семантику – стали важным шагом вперед. Например, модели word2vec [3] и GloVe [4] позволили получать для каждого слова непрерывный вектор фиксированной размерности, который обучается на большой текстовой коллекции и отражает смысловые связи: близкие по значению слова имеют близкие векторы. Существенным развитием идеи стали контекстуальные эмбеддинги, получаемые из моделей типа BERT. В отличие от статических эмбеддингов (где у слова одно и то же представление вне зависимости от контекста), контекстные эмбеддинги генерируются с учетом окружающего текста, поэтому одно и то же слово в разных предложениях будет иметь разные векторные представления, отражающие нюансы смысла. Такие технологии глубоко связаны с нейросетевыми моделями и подробнее рассматриваются далее на примере BERT. Тем не менее, классические этапы предобработки текста – удаление стоп-слов, лемматизация/стемминг, нормализация частот – остаются важными: они могут улучшить качество любого алгоритма, уменьшая шум и размерность данных.

Классические методы машинного обучения для классификации текстов

Наивный Байес (Naive Bayes).

Наивный байесовский классификатор – один из самых простых и эффективных базовых алгоритмов для классификации текстов. Он основан на теореме Байеса и предположении о условной независимости признаков: считается, что слова в документе независимы друг от друга при условии класса. Несмотря на очевидную нереалистичность этого предположения для языка, NB часто показывает неожиданно высокую точность. Классический пример – задача фильтрации спама: наивный Байес десятилетиями остается основой многих антиспам-фильтров и позволяет достичь очень высокой точности разделения спама и обычной почты. NB популярен благодаря простоте реализации и скорости работы: оценка параметров сводится к подсчету частот слов в текстах каждого класса. Математически алгоритм вычисляет апостериорные вероятности классов P(Ck | x) для входного документа с признаковым вектором 𝑥𝑥 по формуле Байеса, моделируя вероятность признаков 𝑥𝑥 при каждом классе P(x | Ck) как произведение независимых вероятностей по компонентам. Класс с максимальным апостериорным P(Ck | x) выбирается моделью.

Несмотря на упрощения, NB работает надежно во многих случаях. Добавление информативных признаков, например биграмм слов, позволяет этой модели конкурировать с более сложными методами на ряде наборов данных [5]. В частности, эксперименты по анализу тональности показали, что простой байесовский классификатор, учитывающий частоту отдельных слов и фраз, может обеспечить качество, сопоставимое с SVM на тех же данных [5]. Таким образом, при небольшом объеме обучения или коротких текстах (твит, заголовок новостей) наивный Байес способен быть эффективным. Его достоинства – скорость (линейная зависимость времени обучения от числа документов и признаков) и интерпретируемость (можно получить вероятности классов, важность слов-признаков). К недостаткам NB относят неточность предположения независимости, из-за чего модель игнорирует взаимосвязи слов. Обычно по мере роста объемов данных и сложности языка байесовский классификатор начинает уступать по точности более продвинутым методам [6].

Метод опорных векторов (Support Vector Machine, SVM).

SVM – мощный метод классификации, который ищет оптимальную разделяющую гиперплоскость между классами с максимальным зазором (margin) между ближайшими точками разных классов. Интуитивно SVM не просто разделяет обучающие примеры по классам, но делает это с максимальной “уверенностью” – пытаясь отодвинуть границу подальше от самых близких точек каждого класса. Такой подход является видом структурной регуляризации и, как правило, улучшает способность модели к обобщению на новых данных. В классическом варианте (линейный SVM) алгоритм решает задачу квадратичной оптимизации с ограничениями, требующими, чтобы все обучающие точки были классифицированы правильно и находились по крайней мере на расстоянии 1 от разделяющей гиперплоскости. В решении участвуют лишь несколько опорных векторов – точки, определяющие положение границы между классами. Решение зависит только от скалярных произведений между векторами признаков, что позволяет применять ядерный трюк для нелинейного разделения: заменяя скалярное произведение на ядро K(xi, xj), можно фактически работать в другом признаковом пространстве (например, полиномиальном или гауссовом), не выполняя явного преобразования.

Для задач классификации текстов на практике чаще всего используется линейный SVM с ядром K(x, x') = x * x'. Высокая размерность признаков (тысячи и десятки тысяч слов) не только не мешает, но и помогает – благодаря максимизации зазора SVM не склонен переобучаться даже в пространствах очень большой размерности. Считается, что классы текстовых документов зачастую линейно разделимы в пространстве TF-IDF признаков или эмбеддингов. Хотя это приближенное предположение, на практике линейный классификатор часто показывает достойные результаты. SVM обычно превосходит наивный Байес по точности, если объем обучающих данных достаточен [6]. Кроме того, SVM устойчив к разреженности признаков: даже если вектора содержат много нулей (что характерно для текстов), алгоритм находит разделяющую плоскость, игнорируя нерелевантные признаки. Однако у SVM есть недостатки: модель чувствительна к выбору параметров (коэффициент регуляризации C, тип ядра) и, будучи по природе бинарной, требует применения стратегий «один против всех» или «один против одного» для многоклассовых задач. По времени обучения SVM существенно медленнее NB: на очень больших корпусах обучение может стать узким местом, хотя для линейного SVM существуют оптимизированные методы (SGD, последовательный минимальный оптимизирующий алгоритм и др.).

Случайный лес (Random Forest).

Случайный лес – ансамблевый алгоритм, объединяющий множество решающих деревьев для повышения точности и устойчивости модели [7]. Каждый отдельный решающий дерево представляет собой простую модель, рекурсивно делящую пространство признаков на области, соответствующие классам. Деревья склонны к переобучению на данных: углубляясь, дерево может подстроиться под шум и выдать неправильные прогнозы на новых примерах. Random Forest решает эту проблему путем усреднения ошибок множества разнообразных деревьев. В классическом варианте алгоритма для построения каждого дерева используется случайная подвыборка обучающих данных и случайный поднабор признаков (отсюда и термин “случайный”). В результате деревья получаются различными, и их индивидуальные ошибки (шум) взаимно компенсируются при голосовании. Предсказание случайного леса получается путем агрегирования ответов всех деревьев (например, большинством голосов или усреднением предсказанных вероятностей классов). Такой подход значительно снижает дисперсию модели по сравнению с одиночным деревом, обеспечивая более стабильный и точный результат.

В задаче классификации текстов случайный лес применяется реже, чем NB или SVM, но все же находит применение – особенно когда требуется интерпретируемость отдельных признаков или если данные имеют сложные нелинейные зависимости. RF естественным образом умеет выявлять важность признаков: анализируя, насколько часто и с каким выигрышем по чистоте узлов (information gain) определенный признак используется в деревьях, можно оценить его вклад в классификацию. Это может быть полезно для понимания, какие слова наиболее сильно влияют на решение. Преимущества случайного леса – устойчивость к выбросам и шуму (единичные странные слова не повлияют на все деревья сразу) и способность моделировать нелинейные зависимости (глубокие деревья могут уловить сложные правила принятия решений). К недостаткам RF относят относительную медлительность: требуется обучить сотни деревьев, что может быть ресурсозатратно на больших текстовых корпусах. Также итоговая модель представляет собой “черный ящик” из множества деревьев, что затрудняет полную интерпретацию решений. По точности на текстовых данных случайный лес обычно сопоставим с другими классическими методами: он часто превосходит NB, но может немного уступать хорошо настроенному SVM. Тем не менее, в отдельных экспериментах RF демонстрировал высокие результаты (например, ~99% точности на задаче детекции фейковых новостей, почти на уровне SVM) – при достаточно большом количестве деревьев и признаков модель способна приблизиться к качеству более сложных алгоритмов.

Глубинное обучение и трансформеры: модель BERT

Современный этап в классификации текстов связан с применением глубинных нейросетей, в частности архитектуры трансформеров. Ключевая модель этого направления – BERT (Bidirectional Encoder Representations from Transformers) [8]. Появившись в 2018 году, BERT совершил революцию в NLP, показав значительный прирост качества на множестве задач (вопрос-ответ, анализ тональности, распознавание именованных сущностей и др.), включая классификацию [8]. Отличительной особенностью BERT является получение контекстуальных эмбеддингов слов за счет механизма самовнимания (self- attention) в архитектуре трансформера [9]. Модель состоит из нескольких слоев энкодера трансформера, каждый из которых включает многоголовое самовнимание и позиционно-независимый полностью связанный слой. Самовнимание позволяет каждому слову (токену) “взглянуть” на все другие слова в тексте и вычислить взвешенное представление, учитывающее контекст. Благодаря двунаправленному вниманию, BERT формирует эмбеддинг для каждого слова, который отражает как левый, так и правый контекст этого слова в предложении.

BERT обучается в два этапа. Сначала проводится предварительное обучение (pre-training) на больших неразмеченных корпусах текстов по вспомогательным задачам – языковому моделированию (маскирование части слов и предсказание их по контексту) и предсказанию следующего предложения. За счет этого модель усваивает общие свойства языка. Затем выполняется тонкая настройка (fine-tuning): модель дообучается на конкретной целевой задаче (например, на датасете новостных статей с классами). Для классификации текстов обычно используются специальные выходные представления: в начале текста вводится токен [CLS], эмбеддинг которого после энкодера рассматривается как интегральное представление всего документа и подается в полносвязный классификатор для предсказания класса. В ходе fine-tuning веса трансформера можно слегка подстроить под новую задачу (или даже обучать полностью сквозным образом, если данных достаточно), однако даже без значительных изменений предобученная модель дает превосходные результаты.

Схематическое устройство модели BERT
Рисунок 1 – Схематическое устройство модели BERT

На вход подается последовательность токенов (слова и специальные символы [CLS] в начале и [SEP] в конце). Трансформер-энкодер преобразует каждый токен во вложение (эмбеддинг) с учетом других слов. На выходе получается контекстуальное представление каждого токена (справа показаны итоговые эмбеддинги слов “and”, “so”, “far”, …, “right”). Начальный токен [CLS] используется как сводное представление всего текста для задачи классификации.

По количественным показателям, BERT установил новые рекорды качества практически во всех стандартных бенчмарках NLP конца 2018 г. Для задачи классификации предложений и документов модели на основе BERT достигли точности, ранее недостижимой: например, для корпуса новостных категорий AG News (4 класса) точность составила ~95%, для тональности отзывов IMDb – тоже порядка 95%, что близко к человеческому уровню для этих датасетов. При этом BERT – очень крупная модель (в базовой версии ~110 млн параметров), требующая мощного оборудования. Предобучение занимало дни на массиве GPU/TPU, но его выполняют один раз, затем многие пользователи могут дообучать модель под свои задачи. Преимущества BERT – способность учитывать контекст слов, универсальность (одна предобученная модель может быть быстро адаптирована к разным приложениям) и наивысшая точность на большинстве наборов данных. Недостатки – сложность и ресурсоемкость: для эффективного использования требуются GPU, достаточная память, применение на длинных текстах ограничено (обычно BERT обрабатывает последовательности до 512 токенов, длинные документы приходится разбивать). Тем не менее, появление BERT открыло новую эру в классификации текстов, где качество моделей существенно повысилось ценой усложнения архитектуры.

Сравнительный анализ и обсуждение результатов

Рассмотренные методы демонстрируют разный баланс между простотой, требуемыми ресурсами и качеством. Классические алгоритмы остаются важными базовыми инструментами. Наивный Байес является самым быстрым и простым – его можно обучить за считанные секунды даже на тысячах документов, он хорошо работает на коротких текстах и устойчив при скромном количестве данных. Однако по точности на больших разноплановых коллекциях NB обычно уступает более продвинутым подходам. SVM при достаточном количестве данных достигает более высокой точности классификации, особенно на средних и крупных корпусах. Линейный SVM стал одним из стандартных методов для задач текстовой классификации в 2000-х годах благодаря своей надежности и способности эффективно работать в пространствах огромной размерности. Random Forest занимает промежуточное положение: благодаря ансамблю деревьев он менее подвержен переобучению, может улавливать нелинейные паттерны, и зачастую показывает качество лучше, чем NB. Однако на полностью текстовых признаках (мешок слов, TF-IDF) случайный лес нередко чуть-чуть не дотягивает до SVM по точности, особенно если у SVM хорошо подобраны параметры. При этом RF выигрывает в интерпретируемости отдельных признаков (важности слов), что бывает полезно.

Современные нейросетевые модели (например, BERT) задали новый стандарт качества. В большинстве бенчмарков трансформеры существенно превосходят классические алгоритмы по метрикам точности. Наглядно это проявилось в таких датасетах, как 20 Newsgroups (20 категорий новостей) – где BERT после fine-tuning достигает ~90% точности, тогда как SVM – порядка 86– 88%, NB – около 82% правильной классификации. Подобная картина наблюдается и на других наборах: на AG News (новости) BERT ~95%, SVM ~89%, NB ~80–84%, на тональность IMDb-рецензий BERT ~95%, SVM ~89%, NB ~82% (оценки по разным источникам). Таким образом, выигрыш глубоких моделей составляет несколько процентных пунктов абсолютной точности, что очень существенно в прикладных сценариях. Цена этого – увеличение времени обучения на несколько порядков (BERT обучается дольше) и потребность в специализированном оборудовании.

Интересно, что классические методы не исчезают с приходом глубокого обучения. Напротив, в некоторых работах предлагаются гибридные схемы, где комбинируются преимущества трансформера и простого классификатора. Например, предобученная модель BERT может использоваться как механизм извлечения признаков: каждый документ пропускается через BERT, и полученный “вектор документа” (эмбеддинг [CLS]) подается в классический алгоритм – наивный Байес или SVM – для финального решения. Такой подход иногда дает выигрыш в скорости или устойчивости, почти не снижая качество. Это показывает, что лучшие решения нередко сочетают идеи разных методов.

Заключение

В данной работе проведен обзор эволюции методов машинного обучения для классификации текстовых документов – от простых вероятностных моделей до современных трансформеров. Наивный Байес обеспечивает быстрое и простое решение, пригодное для базовых задач и небольших данных, хотя игнорирует связи между признаками. SVM реализует идею максимизации зазора в высокомерном пространстве и обычно превосходит NB по точности на крупных датасетах, требуя больше вычислений. Случайный лес иллюстрирует силу ансамблей: объединение множества слабых моделей (деревьев) дает мощный классификатор, способный моделировать сложные зависимости, в задачах на тексты RF несколько уступает по эффективности более специализированным методам (например, SVM или нейросетям). BERT и аналогичные трансформерные модели представляют современный этап: за счет предобучения и архитектуры внимания они достигли ранее недостижимой точности, фактически научившись учитывать смысловой контекст и многозначность слов. Это привело к тому, что многие сложные задачи, считавшиеся трудными, теперь решаются с качеством, близким к человеческому.

При выборе метода классификации для практической задачи специалист должен учитывать ряд факторов. Во-первых, размер и характер данных: если обучающей выборки мало, имеет смысл начать с простых моделей (NB, логистическая регрессия), тогда как на больших данных и для максимальной точности предпочтительнее глубокие модели (CNN, трансформеры). Во-вторых, вычислительные ресурсы и время: обучение BERT или даже SVM займет значительно больше времени, чем NB или дерево, если требуется быстрый прототип или моделирование на устройстве с ограниченными ресурсами, лучше выбирать более легковесные методы. В-третьих, требования к интерпретируемости: в чувствительных областях (юриспруденция, медицина), где важно объяснить, почему документ отнесен к категории, могут быть предпочтительнее модели, позволяющие интерпретацию – либо же придется применять специальные методы объяснения для нейросетей (LIME, SHAP и др.). Наконец, следует учитывать доступность предобученных моделей для нужного языка и домена: если готовых трансформеров нет, использование глубоких методов сопряжено с дополнительными усилиями, тогда как классические алгоритмы язык-независимы (требуется лишь разметка и токенизация).

Классификация текстов продолжает активно развиваться. Новые модели и подходы появляются ежегодно. Тем не менее, базовые идеи, рассмотренные в статье, составляют фундамент, на котором строятся современные решения. Понимание математических основ каждого алгоритма позволяет осознанно выбирать инструменты и комбинировать их. Практика показывает, что комбинированные подходы (например, эмбеддинги из BERT + простой классификатор) могут давать отличный баланс качества и эффективности. Таким образом, знание как классических, так и новейших методов дает исследователю максимальные возможности для успешного решения задач автоматической классификации документов.

Список литературы

  1. О Joachims T. Text Categorization with Support Vector Machines: Learning with Many Relevant Features / T. Joachims // Machine Learning: ECML-98, 10th European Conference on Machine Learning. – 1998. – P. 137–142;
  2. Mikolov T. Efficient Estimation of Word Representations in Vector Space / T. Mikolov, K. Chen, G. Corrado, J. Dean // arXiv preprint arXiv:1301.3781. – 2013. – URL: https://arxiv.org/abs/1301.3781;
  3. Pennington J. GloVe: Global Vectors for Word Representation / J. Pennington, R. Socher, C. D. Manning // Proc. of the 2014 Conf. on Empirical Methods in Natural Language Processing (EMNLP). – Doha, 2014. – P. 1532–1543;
  4. Wang S. Baselines and Bigrams: Simple, Good Sentiment and Topic Classification / S. Wang, C. D. Manning // Proc. of the 50th Annual Meeting of the Association for Computational Linguistics. – Jeju Island, 2012. – P. 90–94;
  5. Sebastiani F. Machine Learning in Automated Text Categorization / F. Sebastiani // ACM Computing Surveys. – 2002. – Vol. 34, № 1. – P. 1–47;
  6. Breiman L. Random Forests / L. Breiman // Machine Learning. – 2001. – Vol. 45, № 1. – P. 5–32;
  7. Devlin J. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding / J. Devlin, M.-W. Chang, K. Lee, K. Toutanova // arXiv preprint arXiv:1810.04805. – 2018. – URL: https://arxiv.org/abs/1810.04805;
  8. Vaswani A. Attention is All You Need / A. Vaswani, N. Shazeer, N. Parmar [и др.] // Advances in Neural Information Processing Systems. – 2017. – Vol. 30. – P. 5998–6008

COMPARATIVE ANALYSIS OF TEXT CLASSIFICATION ALGORITHMS: FROM CLASSICAL MODELS TO TRANSFORMERS

Abstract: paper provides an overview of machine learning methods for automatic classification of text documents, from traditional algorithms to modern deep neural network models. Naive Bayes, the support vector method, the random forest, and the BERT model, reflecting the latest advances in natural language processing, are discussed. For each method, the mathematical foundations, application features to text data, advantages and limitations are briefly considered. Information is provided on the representation of texts (the bag of words model, TF-IDF, word embeddings) and the impact of class imbalance. The comparative analysis demonstrates the evolution of classification quality, from basic approaches that are effective on small datasets to transformers that set a new standard for accuracy.

Keywords: text classification, machine learning, naive Bayes, support vector machine, random forest, transformers.