ИИ-врач и NLP: как нейросеть понимает жалобы пациента

Когда вы пишете ИИ-сервису «болит голова слева, к вечеру температура 39, четвёртый день», за иллюзией «понимания» стоит конкретная технология — обработка естественного языка, или NLP. Именно на ней строится любой нейросеть-доктор, от простого чат-бота до систем поддержки врачебных решений. Важная рамка сразу: NLP помогает структурировать жалобу, но не ставит диагноз — это разбор текста, а не медицинское заключение.

Врач и экран: свободный текст жалобы превращается в структурированные симптомы
NLP превращает сбивчивый рассказ пациента в структуру симптомов — это помощь врачу, а не постановка диагноза

Разбираться в механике стоит хотя бы потому, что до 80% медицинских данных хранится не в аккуратных таблицах, а в свободном тексте — записях приёма, жалобах, выписках. Дальше — без иллюзий о «всезнающем ИИ»: как именно машина превращает бессвязный рассказ пациента в структуру, где у неё получается хорошо, а где — нет.

Что такое NLP простыми словами

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

NLP — это не «понимание», а разбор

Под капотом NLP-технологий — набор конкретных задач: извлечение фактов, распознавание речи, классификация текста по темам, выделение именованных сущностей (NER), анализ тональности высказывания. Каждая задача решается отдельным алгоритмом или моделью, а вместе они дают эффект, похожий на «понимание».

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

Немного истории

Клиническая NLP — не изобретение последних лет. Одна из первых систем медицинского анализа текста, SPRUS, появилась в Университете Юты и клинике Солт-Лейк-Сити ещё в начале 1990-х — она разбирала записи врача через семантический парсинг по заранее заданному тезаурусу терминов. От этих ранних правило-ориентированных систем технология прошла путь через скрытые марковские модели к рекуррентным нейросетям, затем к LSTM-архитектурам, а сегодня — к большим языковым моделям, которые лежат в основе современных ИИ-ассистентов.

Как нейросеть читает жалобу: от текста к симптомам

Ключевая проблема медицинских данных в том, что до 80% информации в электронной медицинской карте (ЭМК) существует в виде неструктурированного текста: свободных заметок врача, диктовки, жалоб пациента своими словами. Задача NLP — выделить из этого текста не отдельное слово, а факт целиком: локализацию боли, тип ощущения, динамику во времени, конкретные значения показателей.

Возьмём фразу «18 февраля заболела голова слева, к вечеру температура поднялась до 39». Хорошая клиническая NLP-система превращает это не в набор ключевых слов, а в три структурированных симптома: головная боль с локализацией «слева» и датой начала, температура с конкретным значением и суточной динамикой «к вечеру», плюс временной маркер длительности. Разница между поиском по словам и таким разбором и есть разница между игрушечным чат-ботом и рабочим инструментом.

Схема: свободный текст жалобы, NER-поиск сущностей, структурированные симптомы
Путь жалобы внутри системы: из свободного текста через поиск сущностей (NER) — к таблице структурированных симптомов

Разобраться, что стоит за фразой «нейросеть всё понимает», проще всего на практике — например, открыв чат с ИИ-врачом и увидев, как система задаёт уточняющие вопросы именно там, где текст жалобы неполон.

Извлечение именованных сущностей (NER)

NER, или распознавание именованных сущностей, — это конкретная технологическая задача внутри NLP: найти в тексте медицинские объекты определённых типов — симптом, диагноз, название лекарства, лабораторный показатель — и связать с каждым найденным объектом его параметры. В примере с головной болью и температурой NER-модуль выделяет не просто слова «голова» и «температура», а три полноценных структурированных симптома с атрибутами: локализация «слева», дата начала «18 февраля», значение температуры «39».

Типовые классы сущностей, которые ищет медицинский NER, обычно сводятся к небольшому набору:

  • симптом (боль, температура, кашель, тошнота);
  • диагноз или предварительная гипотеза;
  • лекарство и дозировка;
  • лабораторный или инструментальный показатель;
  • анатомическая локализация.

Понимание динамики, а не просто слов

Для врача принципиально важна не констатация «была температура», а точная картина: поднимается по вечерам до 39, держится четвёртый день, реагирует или нет на жаропонижающее. Простой поиск ключевых слов такую картину не восстановит — нужны алгоритмы, которые связывают между собой несколько упоминаний в тексте и выстраивают из них единый комплексный факт с временной осью. Именно это отличает медицинскую NLP от бытовых текстовых фильтров и делает её отдельной инженерной дисциплиной.

Определение отрицания: чего у пациента НЕТ

Отдельная и не самая очевидная задача клинической NLP — определение отрицания, то есть распознавание того, чего у пациента нет, а не только того, что есть.

Сравнение: есть симптом (температура 39) и нет симптома (головокружения не было)
Отсутствие симптома клинически важно не меньше его наличия — поэтому NLP отдельно распознаёт отрицание

Определять отрицание так же важно, как извлекать сам симптом. Фраза «головокружения не было» клинически значима ровно в той же мере, что и утверждение о наличии симптома: отсутствие определённых проявлений сужает круг вероятных состояний и напрямую влияет на дальнейшие вопросы алгоритма или врача. Для решения задачи негации применяются два основных подхода: rule-based-метод, где система ищет заранее заданные слова-индикаторы отрицания, и обучение с учителем, где модель тренируется на размеченных клинических текстах распознавать отрицание в разных формулировках, включая скрытые и косвенные.

Типичные слова-индикаторы, по которым rule-based-модуль ищет отрицание в русскоязычном тексте жалобы:

  • «не» и «нет» перед названием симптома;
  • «отсутствует», «отсутствие»;
  • «маловероятно», «исключено»;
  • «отрицает» (стандартная формулировка в записи врача).

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

Подход к определению отрицанияПлюсыМинусы
Rule-based (по словам-индикаторам)Прост, предсказуем, не требует обучающих данныхПлохо справляется со сложными и двойными отрицаниями
Обучение с учителем на клинических текстахГибче, ловит косвенные и скрытые формулировкиНужен большой размеченный медицинский корпус, риск ошибок на редких формулировках

Что ещё NLP делает в медицине

Извлечение симптомов из жалобы — не единственная практическая задача клинической NLP. Технология закрывает целый набор рутинных сценариев, которые обычно остаются за кадром обсуждений про «ИИ-диагностику»:

  • перевод устной речи врача в текст ЭМК (распознавание речи);
  • сокращение бумажной нагрузки на приёме;
  • сбор жалоб пациента до визита через анамнез-бота;
  • структурирование выписок и заключений для аналитики.

Разгрузка от бумажной работы и распознавание речи

Заполнение медицинской документации отнимает у практикующего врача, по данным Минтруда РФ, до половины рабочего времени — эта цифра регулярно всплывает в обсуждениях цифровизации здравоохранения. У медсестёр в США на работу с документацией уходит порядка 19% рабочего времени вне зависимости от того, ведётся ли она в бумажном виде или через ЭМК — таковы данные исследования RAND Corporation 2012 года. Именно здесь NLP-технологии распознавания речи, такие как Voice2Med от Центра речевых технологий (первые внедрения — с 2015–2016 годов), позволяют врачу диктовать заметки вместо ручного набора — система сама распознаёт медицинскую терминологию и переводит речь в текст. Показательна и цифра из опроса Nuance Communications: 94% опрошенных врачей считают важным сохранять в карте пациента произвольные заметки-нарратив, а не сводить всё к галочкам в структурированных полях, — это довод в пользу того, что NLP должен работать поверх свободного текста, а не заменять его жёсткими формами.

Что ещё делает NLP в медицине: распознавание речи, меньше бумаги, анамнез-бот, структурирование выписок
Кроме разбора жалоб, NLP распознаёт речь врача, снижает бумажную нагрузку и структурирует выписки

Анамнез-бот: сбор жалоб до приёма

Отдельный сценарий применения — анамнез-бот, когда пациент ещё до визита к врачу описывает свои жалобы в свободной форме в чате, а система через NER и разбор динамики вычленяет из текста структурированные симптомы и передаёт их врачу. Такой подход реализован, например, в продукте DOC+. Врач начинает консультацию, уже имея перед собой предварительно структурированную картину жалоб, что экономит время приёма. Важно понимать: это ассистирование при сборе информации, а не диагностика — финальную интерпретацию и решение всегда принимает врач.

Хорошая иллюстрация того, как медицинские технологии в принципе меняют коммуникацию между человеком и системой, — подход одного из пионеров медицинской информатики, Гомера Уорнера, создателя одной из первых компьютерных систем поддержки врачебных решений HELP (Health Evaluation through Logical Processing): компьютер не подменяет врача, а берёт на себя рутинную обработку данных, оставляя ему клиническое суждение.

Ниже — краткий алгоритм того, как именно текст жалобы проходит путь до структурированных данных внутри типичной клинической NLP-системы:

  1. Пациент вводит жалобу свободным текстом в чат или голосом.
  2. Система через NER выделяет медицинские сущности — симптомы, показатели, лекарства.
  3. Для каждой сущности определяются атрибуты: локализация, динамика, значение, дата.
  4. Модуль определения отрицания проверяет, какие состояния явно отсутствуют.
  5. Извлечённые факты собираются в единую структурированную карточку жалобы.
  6. Карточка передаётся врачу или используется как основа для уточняющих вопросов.
  7. Врач подтверждает, дополняет или корректирует структуру на основе осмотра.

Насколько это точно: границы технологии

Оценивать точность медицинских NLP-моделей стоит не по отдельным впечатляющим ответам, а по стандартизированным бенчмаркам — наборам задач с заранее известным правильным ответом, размеченным экспертами.

Бенчмарк MedBench и разрыв с человеком

Для русскоязычных медицинских NLP-задач такой стандарт — MedBench, открытая платформа, разработанная Sber AI Lab. В него входит набор задач, включая RuMedDaNet, RuMedNLI и RuMedTest, а эталонные ответы для сравнения готовят профессиональные асессоры совместно с Сибирским государственным медицинским университетом. Результат по одной из ключевых задач, RuMedDaNet, показателен: в базовом сравнении бенчмарка RuMedBench человек показал точность 93,4%, лучшая модель того замера — 71,5%, то есть разрыв составил почти 22 процентных пункта, больше 20%.

Задача MedBenchЧто проверяет
RuMedDaNetПонимание медицинского текста и ответ на уточняющий вопрос «да/нет»
RuMedNLIЛогическую связь между контекстом и гипотезой (следствие, противоречие, нейтральность)
RuMedTestЗнания по общей врачебной практике в формате теста с вариантами ответа

Вывод из этой цифры простой и важный для YMYL-темы: технология NLP реально полезна для структурирования и ускорения рутинных задач, но по качеству понимания сложных клинических вопросно-ответных сценариев она пока заметно уступает человеку-врачу. Разрыв больше 20 процентных пунктов — это не «почти как врач», это существенная дистанция, которую нельзя игнорировать при оценке того, чему можно доверять в ответах ИИ-сервиса. Отдельные новые модели на некоторых замерах сокращают этот разрыв, но общая картина по бенчмарку не меняется: устойчивого паритета с врачом NLP-модели пока не показывают.

График точности в задаче RuMedDaNet: человек 93%, лучшая модель 71%
В задаче RuMedDaNet человек точнее лучшей модели почти на 22 процентных пункта — заметная дистанция до уровня врача

Почему ИИ по жалобам — помощник, а не диагност

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

Что NLP-технология делает и чего не делает, если сформулировать коротко:

  • структурирует свободный текст жалобы в симптомы с параметрами — делает;
  • находит упоминания отрицания и лекарств — делает;
  • ускоряет заполнение документации через распознавание речи — делает;
  • ставит диагноз без врача — не делает;
  • заменяет очный осмотр и обследования — не делает.

Дисклеймер, который важно держать в голове при любом использовании подобных сервисов: ИИ и NLP-технологии не ставят диагноз и не заменяют врача. Материалы этой статьи носят информационный характер и не являются медицинской рекомендацией. Не занимайтесь самодиагностикой и не откладывайте визит к специалисту при тревожных симптомах. При состоянии, угрожающем жизни, звоните в скорую помощь по номеру 103 или на единый номер экстренных служб 112.

FAQ