Отнесение документа к одной или нескольким категориям: от спам-фильтра до маршрутизации тикетов.
Ключевые тезисы
- + ставится за минуты.
- обычно даёт заметный прирост качества.
- требует взвешивания и метрик за пределами .
Какую задачу решает
Классификация текста — самая частая прикладная задача NLP: тональность отзыва, тема обращения, спам или нет, приоритет тикета. Постановка проста, и именно поэтому здесь важнее всего выбрать соразмерный инструмент, а не самый мощный.
Спектр решений широк: от с логистической регрессией (минуты на обучение, миллисекунды на предсказание) до дообученного и большой модели. Разрыв в качестве между крайними точками на типичной задаче — единицы процентов, а разрыв в стоимости — три порядка. Правильный выбор определяется объёмом разметки, требованиями к и ценой ошибки.
1) Постройте плюс за полчаса и запишите метрику — это ваша точка отсчёта. 2) Проверьте согласованность разметки: дайте 100 примеров двум людям и посчитайте согласие. Если оно 80%, потолок модели примерно там же, и переход на ничего не даст. 3) Только если недостаточна, а разметка согласована, дообучайте энкодер. 4) Большую модель берите, если разметки нет вовсе или категорий десятки и они меняются. Пропуск первых двух шагов — самая частая причина потраченных впустую недель.
Подробный разбор
- : (слова + символьные n-граммы) и .
- Быстрое улучшение: линейная модель на предобученных .
- Максимум качества: BERT-подобной модели с головой-классификатором.
- Всегда: стратифицированная и метрики по каждому классу.
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.linear_model import LogisticRegression
from sklearn.pipeline import make_pipeline
pipe = make_pipeline(
TfidfVectorizer(ngram_range=(1, 2), min_df=3, sublinear_tf=True),
LogisticRegression(max_iter=1000, class_weight="balanced"),
)- Смотрите отчёт по классам (
classification_report), а не общий . - Взвешивание классов в — первый и самый дешёвый шаг.
- Редкие классы: объединяйте в «прочее» или решайте отдельной моделью.
- Иерархическая классификация (сначала группа, затем класс внутри) часто работает лучше плоской.
Где применяется
- Маршрутизация обращенийАвтоматическое направление тикета в нужную команду.
- Модерация контентаФильтрация нежелательных сообщений с настраиваемым порогом.
- Анализ отзывовТональность и темы в масштабе, недоступном ручному разбору.
- Разметка документовКатегоризация входящей почты, договоров, заявок.
Плюсы, минусы и альтернативы
Плюсы
- Хорошо изученная задача с проверенными рецептами на каждом уровне бюджета.
- Простая часто даёт 90% результата за 1% усилий.
- Метрики понятны, а оценка качества прямолинейна.
- Легко встраивается в существующие процессы.
Минусы
- Требует разметки, а её качество определяет потолок.
- Категории со временем меняются, и модель устаревает.
- Дисбаланс почти всегда присутствует и требует отдельной работы.
- Границы между близкими категориями размыты и для людей тоже.
Брать, если
- Категории заданы и стабильны.
- Есть или можно собрать размеченные примеры.
- Объём достаточен, чтобы автоматизация имела смысл.
Не брать, если
- Категории плохо определены — сначала разберитесь с ними, иначе разметка будет противоречивой.
- Нужен свободный ответ, а не метка.
Чем заменяют
Связанные темы
Работа с корпусами текстов · Прикладные задачи NLP
Topic Modeling75%
Тематическое моделирование · Обработка естественного языкаАвтоматическое выделение тем в коллекции документов: от классического LDA до кластеризации эмбеддингов.
Summarization75%
Суммаризация · Обработка естественного языкаСжатие текста с сохранением смысла: извлекающая (выбор предложений) и абстрактивная (генерация).
LLM Evaluation75%
Оценка языковых моделей · Генеративный ИИКак измерять качество генерации: бенчмарки, оценка моделью-судьёй и человеческие сравнения.
Perplexity75%
Перплексия · МетрикиЭкспонента кросс-энтропии языковой модели: между сколькими равновероятными вариантами она в среднем выбирает.
Clustering75%
Кластеризация · Обучение без учителяРазбиение объектов на группы похожих без заранее известных меток.
NER75%
Извлечение именованных сущностей · Обработка естественного языкаРазметка последовательности: находим в тексте имена, организации, даты, суммы.
Sentiment Analysis75%
Анализ тональности · Обработка естественного языкаОпределение эмоциональной окраски текста — от бинарной оценки до аспектной тональности.
BERT75%
BERT · Обработка естественного языкаДвунаправленный энкодер, предобученный на восстановлении замаскированных токенов.
Embeddings75%
Эмбеддинги · Обработка естественного языкаПлотные векторные представления объектов, где геометрическая близость означает смысловое сходство.
F175%
F1-мера · МетрикиГармоническое среднее точности и полноты — компромисс между ними одним числом.
Precision75%
Точность · МетрикиКакая доля объектов, предсказанных положительными, действительно положительна.
Recall75%
Полнота · МетрикиКакая доля реально положительных объектов найдена моделью.
Всё, что названо в описании, разобрано здесь же или в соседней теме — переходы под каждым определением.
Базовая линия
плюс линейная модель. Её обязательно надо построить: часто этого и достаточно.
Разбор ниже: Практический пайплайнДообученный энкодер
BERT-подобная модель с классификационной головой: стандарт при наличии сотен размеченных примеров.
Разбор ниже: Практический пайплайнПромптинг
Классификация большой моделью без обучения. Хорош при отсутствии разметки и малых объёмах.
Разбор ниже: Практический пайплайнДисбаланс классов
Редкие категории требуют весов классов, правильных метрик и подобранного порога.
Разбор ниже: Дисбаланс и многоклассовостьМногометочность
Объект может относиться к нескольким классам сразу — тогда нужны , а не softmax.
Разбор ниже: Дисбаланс и многоклассовостьПрофильная компетенция для роли: NLP-инженер.
Усиливает профиль: Инженер речи.
Спрашивают на собеседовании: Яндекс — NLP, Сбер — NLP и LLM, Авито — Модерация контента, Ozon — Поиск и рекомендации, Wildberries — Каталог, поиск и атрибуты, МТС — Речь и разговорный ИИ, Газпромбанк — Документы и языковые модели, Точка — Ассистенты и поддержка, HeadHunter — Тексты вакансий и резюме, Циан — Поиск, ранжирование и достоверность, 1С — Помощники в приложениях, СКБ Контур — Документы и распознавание, Росатом — Документооборот и NLP.
Тема встречается в тесте по направлениям — ошибки приведут обратно на эту страницу.
Глава «Обработка естественного языка» последний раз правилась . Нашли ошибку — напишите.