Современные технологии помогают людям разбираться в вопросах здоровья, делают медицинскую информацию более доступной и понятной.
Один из примеров таких проектов — сервис SharkLab. Его разработали студенты магистратуры Skillfactory и МФТИ «Прикладной анализ данных в медицинской сфере» на хакатоне с компанией «Наносемантика». Продукт помогает расшифровывать результаты общего анализа крови, дает пользователям простые и понятные рекомендации: когда стоит обратиться к врачу, какие шаги предпринять и на что обратить внимание.
Рассказываем, как студенты создали сервис, как он работает и при чем здесь акула.
Как появился SharkLab
Компания «Наносемантика» поставила перед студентами сложную, но важную задачу: разработать сервис, который мог бы анализировать результаты общего анализа крови, интерпретировать показатели и давать рекомендации, что делать дальше.
При этом важно было сделать так, чтобы пользователь понимал степень срочности, но не сталкивался с пугающими медицинскими диагнозами. Все должно было быть доступным, понятным, а также — что не менее важно — приятным и увлекательным.
Акула-гематолог Блуди

Чтобы сделать взаимодействие с сервисом более комфортным и интересным, команда добавила персонажа — милую и обаятельную акулу-гематолога по имени Блуди (от англ. bloody — «кровавый»).
Акула Блуди — это не просто забавный персонаж, а важный элемент сервиса. Она выступает в роли виртуального помощника, который объясняет пользователям их результаты анализов простым языком. Блуди не только делает процесс взаимодействия с сервисом более приятным, но и помогает снизить уровень тревожности, который часто возникает при работе с медицинскими данными.
Кто придумал SharkLab
Над проектом работали четверо студенток магистратуры Skillfactory и МФТИ «Прикладной анализ данных в медицинской сфере», каждая из которых внесла уникальный вклад в разработку:
Алина Бондарева — гений моделирования и интерпретации медицинских данных. Алина отвечала за создание алгоритмов, которые анализируют показатели крови и преобразуют их в понятные рекомендации.
Екатерина Казаченко — тимлид команды, практикующий врач, всегда в курсе новых технологий. Екатерина обеспечивала медицинскую экспертизу, проверяя корректность интерпретации данных и рекомендаций.
Ок Хи Хван — архитектор цифровых платформ, отвечала за разработку веб-приложения и интеграцию интерфейса с помощью Streamlit. Ок Хи сделала сервис удобным и функциональным для пользователей.
Евгения Борковская — исследователь, собирала, обрабатывала и валидировала медицинские данные, затем интегрировала их в систему. Евгения обеспечила точность и надежность информации, на которой строится работа сервиса.

Как работает SharkLab

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

Обучение моделей машинного обучения
Когда данные были готовы, команда начала обучать модели машинного обучения. Для этого использовали различные алгоритмы: Logistic Regression, Random Forest, XGBoost. Каждый из них помог выделить ключевые параметры, важные для диагностики.
Главное достижение — команда смогла точно определить, какие показатели анализа крови оказывают наибольшее влияние на диагностику. Эти данные легли в основу рекомендаций, к какому врачу обратиться и насколько срочно.
Интеграция в реальный продукт
После обучения моделей наступил этап интеграции в реальный продукт. Веб-сервис создали с помощью библиотеки Streamlit — простой и мощной платформы для разработки интерактивных приложений.

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

Персонализированные рекомендации
Одна из ключевых особенностей SharkLab — персонализация рекомендаций. Система учитывает не только общие нормы показателей крови, но и индивидуальные особенности пользователя: возраст, пол, вес и рост. Это позволяет давать более точные и релевантные советы.
Например, если у человека низкий уровень гемоглобина, но при этом другие показатели также выходят за пределы нормы, система не ограничивается поверхностным выводом. Она учитывает комплекс изменений, помогая выявить возможные сопутствующие заболевания.
Как сервис избегает диагнозов, но дает рекомендации
Одной из главных задач было сделать так, чтобы сервис не пугал пользователя диагнозами, но при этом предоставлял понятные и четкие рекомендации. Вместо медицинских терминов система выдавала простые советы.
Например, вместо фразы «подозрение на лейкопению» пользователь видел: «Рекомендуем обратиться к терапевту, так как уровень лейкоцитов ниже нормы. Возможно, потребуется консультация у гематолога».

Механизм оценки срочности
Важным элементом стал механизм оценки срочности. Если результаты анализов были критичными, система сразу выдавала предупреждение о необходимости срочного визита к врачу. Для умеренных отклонений предлагалось плановое обращение, а если все было в норме — советы по питанию, физической активности или приему витаминов. Это помогало пользователям не только узнать о возможных проблемах, но и получить полезную информацию по профилактике и здоровому образу жизни.
Удобство использования
Чтобы сервисом было легко пользоваться, команда сделала SharkLab доступным через браузер. При желании его можно запустить и локально, на компьютере. Интерфейс сервиса разработали с учетом удобства пользователя: все интуитивно понятно, а рекомендации представлены в виде простых и четких инструкций.