Привет, Хабр! Мы команда магистрантов программы по искусственному интеллекту AI Talent Hub ИТМО. В течение двух лет нас погружают в работу реальных компаний через решение актуальных бизнес-задач. Один из таких проектов — совместный с компанией Genotek — ИИ-ассистент для врачей. Уже полгода мы разрабатываем сервис, который распознаёт медицинские диагнозы и автоматически заполняет карту пациента, чтобы освободить медработников от рутинных задач. Под катом ― о деталях решения.
Зачем автоматизировать распознавание диагноза и как это сделать
Врачи тратят до половины времени приёма на заполнение медицинских карт. То есть, при стандартном приеме в 15 минут, на оформление документации приходится примерно 5-8 минут. Это снижает эффективность работы и оставляет меньше времени на общение с пациентом. Мы стремимся сократить время на заполнение карты до 5-10%, оставив врачу только функцию проверки и финального утверждения.
Наш проект — это попытка решить проблему врачей с помощью ИИ-ассистента, который автоматизирует рутинные задачи и помогает сосредоточиться на главном — здоровье пациента.
Только представьте: врач ведет приём, а ИИ-ассистент берёт на себя автоматизацию рутинных операций. В режиме реального времени распознает речь пациента, структурирует жалобы и симптомы, заполняя все поля электронной медицинской карты.
Что изменится?
Экономия времени: автоматическое заполнение медицинских карт позволит врачам сосредоточиться на диагностике и лечении, а не на рутинных операциях.
Повышение точности диагностики: ИИ-ассистент предлагает рекомендации по диагнозу, лечению и лабораторным исследованиям.
Интеграция с медицинскими системами: автоматизация кодировки данных для обмена данными с органами здравоохранения.
Для упрощения и ускорения работы врачей мы разрабатываем сервис на основе искусственного интеллекта, который автоматизирует заполнение медицинской карты. Он анализирует разговор во время приёма и осмотра пациента, а также рекомендует возможный диагноз, лечение и направление на анализы.
Такой сервис должен поддерживать возможность ручной корректировки, если врач не согласен с диагнозом, а также дообучаться на новых данных для повышения точности диагностики и быть адаптивным к изменениями в медицинских протоколах и справочниках.
Разработка позволит врачам сосредоточиться на лечении пациентов, а не на рутинной бумажной работе, что в итоге положительно скажется на качестве медицинской помощи.
Как работает сервис: архитектура и ключевые компоненты
В магистратуре, где мы учимся, обучение строится на основе проектно-продуктового подхода. Поэтому сначала мы изучили требования бизнеса — за постановку задачи отвечал Александр Ракитько, директор по науке компании Genotek. Далее исследовали боли целевой аудитории — врачей. И начали прорабатывать решение. Кстати, мы — это Максим Иоган, Артур Мусаев, Денис Кустов и Алина Миллер, разработчики решения и магистранты AI Talent Hub.
Сейчас сервис построен на микросервисной архитектуре. Каждый компонент отвечает за свою функцию.
Модуль распознавания и разделения речи по спикерам
Речь врача и пациента распознается и автоматически разделяется по спикерам. Это может происходить как в потоковом режиме — во время приема врача, так и после него — для анализа приемов на основе записанных аудио.
Мы используем открытые модели. Так, для обработки и транскрибации речи в онлайн-формате использовали Сберовскую open-source модель GigaAM и библиотеку Diart для диаризации и разделения речи по спикерам. А для оффлайн — фреймворки Pyannote и NeMo.
Модуль NLP с заполнением медицинской формы данными и рекомендацией диагноза, лечения и лабораторных исследований
Мы разработали шаблон медицинской карты в диджитал-формате, чтобы аудиозапись при переводе в текст сразу структурировалась по заданным параметрам в электронную карту пациента, формировалось заключение врача, а сами симптомы и диагнозы переводились сразу в коды в соответствии с медицинскими справочниками.
Основная модель — Mistral. Она отвечает за извлечение сущностей (симптомы, жалобы, результаты осмотра пациента, ответы на вопросы врача), структуризацию текста по шаблону медицинской карты и генерацию подсказок врачу.
В рамках NLP-модуля реализована функция поддержки принятия врачебных решений. При заполнении карты пациента система формирует список возможных диагнозов, рекомендует назначение дальнейших исследований и варианты лечения. В интерфейсе врач может видеть дополнительные вопросы, которые помогут уточнить диагноз.
Все рекомендации генерируются непосредственно на основе анализа введённых данных с помощью NLP-модуля.
Вызовы, с которыми мы столкнулись
В процессе разработки мы столкнулись с рядом вызовов:
Отсутствие открытых данных — аудиозаписи врачебных консультаций недоступны из-за конфиденциальности.
Диаризация — разделение речи по спикерам: сложность корректного определения границ речи врача и пациента в режиме реального времени.
Структуризация вывода LLM: необходимо обеспечить точное заполнение полей медицинской карты без ошибок или «додумывания» модели.
Решать эти проблемы мы начали с дообучения моделей.
Основной сложностью стал дефицит открытых датасетов. Поэтому самостоятельно генерировали данные для дообучения моделей на медицинские термины — собрали информацию о лекарственных препаратах и нагенерили аудиозаписи с их правильным произношением.
Для тестирования распознавания речи и диаризации использовали учебные материалы для врачей с YouTube и создавали собственные симуляции приёмов.

Развитие сервиса и планы
ИИ-ассистент для врачей Co-Pilot — один из первых проектов Центра искусственного интеллекта Genotek, который открывается в ИТМО. Менторская поддержка преподавателей и экспертов из AI Talent Hub, Университета ИТМО, Genotek и Napoleon IT помогает нам совершенствовать сервис.
Сейчас решение находится в стадии MVP и прошло первое тестирование на анонимизированных аудиозаписях. В ближайших планах — сделать сервис адаптивным под разные медицинские системы, а также провести альфа- и бета-тестирование врачами Genotek.
Одной из важнейших задач также является улучшение скорости распознавания речи и генерации советов, чтобы ИИ-ассистент работал в режиме реального времени.
Мы верим, что наш проект станет шагом к цифровизации медицины, облегчая работу врачей и повышая качество обслуживания пациентов.
О проектах других талантливых специалистов читайте в нашем блоге → AI Talent Hub
О команде:
Максим Иоган, ML engineer @maksiamiogan
Мусаев Артур, ML engineer @cormeumxd
Кустов Денис, Promt & ML engineer @06deku
Миллер Алина, Project manager, Data analyst @alinamiller-da
pavelsha
Привет, команда ИТМО!
Видели ли вы прошлогодние исследования, где показали, насколько важна чистота данных для обучения медицинских моделей ИИ? Насколько я помню, даже незначительное количество мусора (менее 1%) существенно влияло на модель.
Вы взялись за важные и актуальные задачи. Но зачем вам диарезация? Это дорогой по ресурсам, но при этом вспомогательный по назначению процесс. Может, стоит поискать источники, которые не требуют разделения на спикеров или уже содержат метаинформацию о них?