ML Fundamentals

NLP

Natural Language Processing — обработка естественного языка: методы, которые учат машину извлекать смысл из текста и порождать его.

Что такое NLP

NLP (Natural Language Processing, обработка естественного языка) — направление на стыке лингвистики и машинного обучения, которое учит компьютер работать с человеческим языком: разбирать текст, извлекать из него смысл, классифицировать, переводить и генерировать новый. Всё, что человек формулирует словами и хочет обработать автоматически, попадает в NLP.

Сложность языка в неоднозначности. «Ключ» — от двери, гаечный или в скрипте? Правильный ответ виден только из контекста, поэтому NLP-модели работают не с отдельными словами, а с последовательностями — и чем длиннее контекст они удерживают, тем лучше справляются.

Не путать. В русскоязычном интернете аббревиатурой НЛП называют ещё и «нейролингвистическое программирование» — методику из поп-психологии, не имеющую научного статуса и никак не связанную с IT. Здесь речь только о компьютерной обработке языка.

Задачи NLP

Задача Что делает Где встречается
Классификация текста Относит текст к категории Спам-фильтр, тональность отзывов
NER Находит имена, даты, компании, суммы Разбор договоров, резюме
Machine translation Переводит между языками Переводчики
Question answering Отвечает на вопрос по документу Поддержка, базы знаний
Суммаризация Сжимает текст до главного Пересказ созвонов, новостей
Генерация Пишет новый текст Чат-боты, ассистенты
Поиск по смыслу Ищет по значению, а не по словам AI-поиск

Речевые задачи (ASR, TTS) обычно выделяют в отдельную область, но их выход и вход — текст, поэтому на практике они стыкуются с NLP в одном пайплайне.

Как NLP пришёл к нынешнему виду

  • Правила (до 1990-х): словари и написанные вручную грамматики. Точно, но не масштабируется — каждое исключение приходится дописывать руками.
  • Статистика (1990-е): n-граммы, скрытые марковские модели. Модель считает вероятности по корпусу, а не следует правилам.
  • Эмбеддинги (2013, word2vec): слова стали векторами, у которых есть геометрия смысла. Появилось понятие «похожие по значению» — см. эмбеддинг.
  • Трансформер (2017): механизм attention позволил учитывать весь контекст сразу и обучаться параллельно на GPU.
  • LLM (с 2018): одна большая модель вместо отдельной модели под каждую задачу. Сегодня классификацию, перевод и суммаризацию чаще решают промптом, а не обучением с нуля.

Предобработка текста

Классический NLP-пайплайн начинался с тяжёлой лингвистической обработки. Современный — заметно короче:

Классический                     Современный (LLM)
─────────────                    ─────────────────
Очистка, нижний регистр               Текст как есть
    ↓                                     ↓
Токенизация по словам             Токенизация (BPE)
    ↓                                     ↓
Удаление стоп-слов                        │
    ↓                                     │
Лемматизация / стемминг                   │
    ↓                                     ↓
Векторизация (TF-IDF)             Эмбеддинги + модель

Лемматизация и стоп-слова всё ещё нужны для полнотекстового поиска и классических моделей, но нейросетевым моделям они скорее вредят: токенизатор уже разбивает слово на части, а падеж и род несут смысл, который не стоит выбрасывать.

Инструменты и русский язык

  • Hugging Face Transformers — доступ к готовым моделям и Hub
  • spaCy, NLTK, Stanza — классический пайплайн: токенизация, разбор, NER
  • Natasha, pymorphy — морфология русского языка, лемматизация с учётом падежей
  • sentence-transformers — эмбеддинги предложений для поиска и кластеризации

Русский сложнее английского для NLP: богатая морфология, свободный порядок слов и в 2–3 раза больше токенов на тот же текст — из-за чего быстрее расходуется контекстное окно и растёт стоимость запроса.

GPU для NLP

Инференс небольшой encoder-модели (классификация, NER, эмбеддинги) укладывается в несколько ГБ VRAM и работает даже на CPU. Генеративные задачи упираются в размер LLM: 7–8B в 4-битной квантизации запускаются на одной RTX 4090, модели на 70B требуют уже нескольких карт.

Связанные термины

  • LLM — универсальный инструмент современного NLP
  • трансформер — архитектура, изменившая область
  • эмбеддинг — представление смысла вектором
  • токенизация — первый шаг обработки текста
  • AI-поиск — поиск по смыслу как прикладная задача NLP
  • ASR — распознавание речи, вход для текстовых задач

Готовы запустить GPU-задачу?

Запустить GPU-сервер