[Документация Yandex Cloud](../index.md) > [Облачная терминология](index.md) > Искусственный интеллект > Обработка естественного языка (NLP)

# Обработка естественного языка (NLP)

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

Например, если задать вопрос в старых версиях популярных поисковых систем «почему по утрам у меня лицо как у хомяка?», то в выдаче будет что-нибудь про хомяков. Однако современные версии легко поймут, что пользователь ищет причину отеков лица по утрам, а грызуны тут ни при чем.

## Как компьютеры учились понимать людей {#history}

Впервые задачу обучить машину обрабатывать естественный язык поставили в 1954 году в Джорджтаунском университете. Эксперимент представлял собой попытку перевода 60 предложений с русского языка на английский. Авторы утверждали, что сделают это возможным за 3–5 лет, однако задача оказалась слишком амбициозной: даже через 10 лет они не получили впечатляющих результатов.

В 1966 году была создана ELIZA — программа, которая имитировала психотерапевта. Она реагировала на ключевые слова (грустно, ненавижу, люблю, мать, отец и т. д.) и выдавала фразы, поддерживающие диалог, например, спрашивала о причине грусти. ELIZA действовала по простому алгоритму и по-настоящему ничего не понимала, однако сильно полюбилась участникам эксперимента.

В 1970-е и начале 1980-х исследователи пытались перейти от поверхностных шаблонов к более глубокому пониманию: семантике, референции, разрешению неоднозначности и т. д. Появились первые чат-боты, однако они опирались на ручные правила — масштабировать это было почти невозможно. К концу 1980-х начался переход к статистическим методам и первым алгоритмам [машинного обучения](ml-models.md), что резко ускорило прогресс.

Тем не менее даже в 2000-х машины все еще делали едва читаемый перевод, а поисковые системы требовали точные, почти машинные формулировки. Настоящий перелом случился в 2010-х с появлением глубокого машинного обучения и нейронных сетей. Модели начали обучаться на гигантских массивах информации и сегодня ведут диалог почти неотличимо от человека, поддерживают выбранный тон общения и даже пытаются шутить.

## Основные задачи NLP {#tasks}

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

* **Токенизация и сегментация** — текст разбивается на базовые элементы (токены), с которыми моделям удобнее работать. Сначала — на абзацы и предложения, потом — на слова и знаки препинания. Если слова длинные и сложные, они также могут быть разбиты на подслова или морфемы.
* **Автоматическая морфологическая разметка** (POS-tagging) — определение частей речи и грамматических характеристик слов с приписыванием им соответствующих тегов. Это помогает понять структуру предложения и является шагом на пути к пониманию его смысла.
* **Синтаксический анализ** — разбор связи слов друг с другом, определение субъектов, предикатов, объектов и их взаимосвязей в предложении.
* **Семантический анализ** — выявление смысла. Модель подбирает нужные значения для многозначных слов, считывает контекст.
* **Извлечение именованных сущностей** (Named Entity Recognition, NER) — распознавание имен собственных, дат, названий городов, валют и т. д.
* **Анализ тональности** — выявление настроения, с которым описываются те или иные вещи или явления. Продвинутые модели могут улавливать даже степень тональности, например, очень негативная или слегка негативная.
* **Машинный перевод** — перевод предложений с одного языка на другой. Раньше модели ориентировались только на правила языков, но теперь обучаются на миллиардах примеров, чтобы их перевод был неотличим от человеческого. Однако сложности с культурными отсылками, юмором и многозначными словами по-прежнему возникают.
* **Генерация текста** — модель отвечает пользователю в произвольной форме или в нужном стиле и с заданным объемом текста. В современных моделях ответ строится уже не на поиске по ключевым словам, а на обработке смысла задачи.
* **Суммаризация** — генерация краткого содержания заданного текста. Бывает экстрактивная (берутся самые важные предложения без изменений) и абстрактная (пересказ своими словами). Например, анализ всех отзывов, чтобы сделать по ним выводы о товаре.

## Методы и технологии NLP {#methods}

Подходы к обучению моделей обрабатывать человеческий язык эволюционировали с 1960-х годов. Рассмотрим основные из них в хронологическом порядке:

* **На основе правил** — человек вручную пишет правила грамматики, словари и другие лингвистические ресурсы и контролирует результат. Очень трудоемкие и плохо масштабируемые методы, поэтому сейчас почти неактуальны.

* **Статистические** — используют статистику для определения вероятности появления слов или словосочетаний, распознавания слов, семантических связей, определения грамматических правил. В настоящее время используются в основном в гибридных системах обучения.

* **Рекуррентные нейронные сети** — модель читает слова по очереди и сохраняет информацию о предыдущих токенах, чтобы предсказать следующее слово, обучаясь на ошибках. Цикл может повторяться миллионы раз, пока модель не достигнет приемлемого уровня ошибки. Сегодня такие методы почти не используются из-за долгого обучения и неэффективной работы с длинными текстами.

* **Transformer-based** (глубокое обучение на архитектуре Transformer) — модель обрабатывает весь текст одновременно и для каждого слова выявляет связь с другими словами. Обучение сначала проходит на гигантских наборах данных, а затем модель доучивается на конкретной задаче. Метод принес огромный скачок в качестве NLP, однако требует очень много [GPU](gpu.md) и времени на первое обучение. Остается основным подходом и лежит в основе почти всех [LLM](llm.md).
  
  Обычно дополнительно расширяется правилами для проверки результата и внешними источниками знаний — базами данных и корпоративными документами (RAG, генерация с дополнительным поиском).

Обширных данных зачастую все равно недостаточно для того, чтобы ответы модели перестали выглядеть слишком машинными и содержать фактические ошибки. Поэтому модели улучшают с помощью оценок и системы наград. Бывают следующие способы улучшения:

* Обучение с подкреплением на основе отзывов людей (RLHF) — модель дает несколько ответов на вопрос, а человек выбирает лучший. Это дорого и долго, поэтому сегодня применяется в основном для моделей узкой направленности, например юридической или медицинской тематики.

* Обучение с подкреплением на основе отзывов модели (RLAIF) — вместо людей используется другая, зачастую более продвинутая модель. В последние годы этот способ получил широкое распространение.

* Самоулучшение — модель сама оценивает свои ответы по четким критериям. Улучшение проходит в несколько итераций: выявляются сильные и слабые стороны лучшего ответа, генерируется новая пара и снова происходит оценка. Это самый дешевый и быстрый способ, однако он не будет работать с моделями с низким качеством ответов и систематическими ошибками — такие модели неспособны себя проверить.

## Данные для NLP {#data}

Успехи передовых моделей достигаются не только за счет умных методов обучения, но и за счет качественных текстовых данных. В зависимости от этапа обучения используются два типа данных:

* Неразмеченные данные — это большие массивы необработанной информации. Например, статьи из Википедии, книги, новости, научные работы. Используются для предобучения, на котором модель учится понимать язык в целом.
* Размеченные датасеты — подготовленные для конкретных задач вопросы и ответы. К ним относятся поделенные на позитивные и негативные комментарии, примеры суммаризации текстов и другое.

При выборе данных для обучения важно запомнить простое правило: качество данных важнее архитектуры модели и объема вычислений. Миллиард чистых, разнообразных и хорошо написанных предложений лучше, чем 10 миллиардов предложений с повторами, опечатками и лишними словесными конструкциями. Модель легко запоминает проблемные данные и будет использовать их в ответах.

С какими проблемами можно столкнуться при выборе данных:

* Авторские права — нельзя законно скачать миллион случайных книг.
* Персональные данные — многие данные попадают под законы о защите персональных данных и могут привести к юридическим последствиям.
* Дубликаты и ошибки — чем больше массив данных, тем больше в нем дубликатов и ошибок.
* Сложность обучения на других языках — обучить модель на английском языке проще, чем на любом другом.
* Стоимость разметки — создание размеченных датасетов может быть дорогостоящим.
* Предвзятость — полностью исключить предвзятость во всех вопросах невозможно.

## Общие тенденции и направления развития NLP {#future}

Сфера искусственного интеллекта и обработки естественного языка развивается с огромной скоростью, и наверняка предсказать что-то крайне сложно. Однако некоторые тенденции видны уже сейчас, и главная из них — смещение фокуса от размера и количества параметров моделей к длинным цепочкам рассуждений. Разберем по пунктам основные направления развития:

* **Метод Inference-time scaling** (масштабирование по времени вывода)

  Вместо того чтобы делать модель больше и дороже, разработчики заставляют ее строить длинные пошаговые цепочки рассуждений. Это может увеличить время ответов, однако такой подход требует меньше энергии и делает модели дешевле, но не ухудшает их качество.

* **Маленькие, но умные модели для мобильных устройств**

  Небольшие модели (1–9 миллиардов параметров) уже почти не уступают крупным моделям с сотнями миллиардов или триллионами параметров, однако легко помещаются на смартфоне и не требуют доступа к интернету. Ожидается, что в новых линейках мобильных устройств их наличие станет нормой.

* **Мультимодальность — не фича, а стандарт**

  Модели, которые умеют работать одновременно с текстом, аудио и видео, перестают быть уникальными. Получить содержание видео или инструкцию по починке по фото поломки — уже норма для ведущих моделей.

* **Длинный контекст и поиск по документам**

  Контекст размером от 200 тысяч до миллиона токенов становится нормой. Это позволяет дополнять модели огромным количеством своих данных, чтобы они лучше работали с вашей спецификой, выявляли связи между данными и проверяли фактическую точность.

* **Развитие AI-агентов**

  Модели перестают быть обычными чат-ботами и становятся полноценными помощниками. Например, они могут:
  
  * делать заметки в календаре;
  * проверять почту и отвечать на нее;
  * [работать с системами непрерывной интеграции](https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/work-with-mcp);
  * [писать и отлаживать код](https://aistudio.yandex.ru/docs/ru/ai-studio/concepts/agents/tools/code-interpreter).

  Также быстро развиваются мультиагентные системы, когда модели распределяют между собой разные функции. Теперь это уже не эксперименты, а реальные бизнес-решения.

* **Специализированные модели**

  Широкое распространение получают модели, ориентированные на конкретные профессии. Например:

  * Медицина: анализ и обобщение историй болезней, диагностика патологий.
  * Разработка: написание и отладка кода, генерация тестов, рефакторинг.
  * Юриспруденция: анализ договоров на риски, поиск прецедентов, составление документов.
  * Финансы: анализ отчетности, прогноз движения акций, аудит расходов.

## Инструменты и библиотеки для NLP {#tools}

Обработку естественного языка сегодня невозможно представить без дополнительных инструментов для ускорения и автоматизации. Рассмотрим несколько популярных инструментов:

* [Hugging Face Transformers](https://huggingface.co/docs/transformers/index) — унифицированный интерфейс доступа к передовым LLM для задач обработки естественного языка.
* [spaCy](https://spacy.io/) — быстрая и удобная библиотека для токенизации, синтаксического и морфологического анализа, распознавания именованных сущностей и ключевых слов.
* [Natural Language Toolkit](https://www.nltk.org/) (NLTK) — инструмент для обучения и экспериментов с NLP. Популярен в университетах.
* [PyTorch](https://pytorch.org/), [TensorFlow](https://www.tensorflow.org/), [Keras](https://keras.io/) — фреймворки для глубокого обучения, применяемые в различных задачах NLP. Часто используются для работы с мобильными устройствами.
* [Stanford CoreNLP](https://github.com/stanfordnlp/CoreNLP) — инструмент для детальной обработки естественного языка от Стэнфордского университета. Стандарт для научных исследований.

## Инструменты для работы с NLP от Yandex Cloud {#nlp-yc}

Yandex Cloud предоставляет множество бизнес-решений для самых разных задач, связанных с искусственным интеллектом и обработкой естественного языка:

* [Yandex AI Studio](https://aistudio.yandex.ru/docs/ru/) — платформа для создания и внедрения ИИ-решений. Предлагает следующие компоненты:
  * Agent Atelier — среда для создания ИИ-агентов. Подробнее в [документации](https://aistudio.yandex.ru/docs/ru/ai-studio/concepts/agents/).
  * Model Gallery — коллекция готовых моделей для любых задач. Подробнее в [документации](https://aistudio.yandex.ru/docs/ru/ai-studio/concepts/generation/).
  * AI Search — инструмент для поиска и генеративных ответов по вашей базе знаний и управляемого поиска по интернету — без самостоятельной сборки пайплайна. Подробнее в [документации](https://aistudio.yandex.ru/docs/ru/ai-studio/concepts/search/).
  * AI Speech — объединяет технологии распознавания и синтеза речи, инструменты для создания голосовых агентов и постобработки результатов распознавания на базе SpeechKit. Подробнее в [документации](https://aistudio.yandex.ru/docs/ru/speechkit/overview).

* [Yandex Translate](https://yandex.cloud/ru-kz/services/translate/) — сервис для интеграции алгоритмов Яндекс Переводчика в пользовательские приложения или веб-проекты. Подробнее в [документации](https://aistudio.yandex.ru/docs/ru/translate/concepts/).
* [Yandex DataSphere](https://yandex.cloud/ru-kz/services/datasphere/) — полноценный инструмент для разработки и эксплуатации собственных моделей, а также дообучения фундаментальных моделей. Подробнее в [документации](../datasphere/index.md).

#### Полезные материалы {#see-also}

* [Основы машинного обучения: задачи, методы, этапы и инструменты](https://yandex.cloud/ru-kz/blog/machine-learning-guide/)
* [GPT в банках: как ИИ трансформирует финансовую сферу](https://yandex.cloud/ru-kz/blog/posts/2025/01/gpt-and-banks/)
* [Как LLM, NLP и другие технологии трансформируют строительную сферу](https://yandex.cloud/ru-kz/blog/posts/2025/04/technologies-in-construction/)